| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
All listeners should get invoked, even if they remove themselves
while iterating the listeners. An index-based loop would skip the
next listener in the list. This change replaces the QPODVector with
a QVector, so we can make a cheap copy before iterating the listeners.
Change-Id: I2430b3763184a40ad1c5c3a68d36fecafcadb3ee
Task-number: QTBUG-53453
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |
|
|
|
|
|
|
| |
All other changes are just to be able to include qv8engine_p.h in
qv4engine_p.h
Change-Id: I71ba2ec42cdc20d5c7d97a74b99b4d1ada1a5ed8
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
|
|
|
|
|
|
|
| |
Works now similarly as with very small text lengths (smaller than
elide characted length).
Change-Id: I0c4aafbcc50343bb0ec8b5f335045e1048a499fd
Task-number: QTBUG-34990
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
|
| |
|
|
|
|
|
|
|
|
| |
Fixed a whole bunch of the following warnings:
warning: 'interface_cast' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
Change-Id: I6cd6c16a6465d23e5e7c61d04ba87652df727bc1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
|
| |\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4engine_p.h
Change-Id: I89ffccd699bee675732758d039e22224b275d60d
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a regression from commit 94e337fa95425d259e81b4d21f4d0853108553bd where
we accidentally ended up not having a calling QML context set anymore when
initializing the properties on newly incubated objects as provided by the
caller. The QML context is necessary as for example when we set a URL property,
the URL can be relative and it will be resolved to the base url of the context
when written, such as in in QQmlPropertyPrivate::write.
Change-Id: I1d896381fc92f653a7d76f4d82174bca48828f5e
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Examples in binary packages now directly match the install path.
Change-Id: I8cbef85c8bef840d6ff87ac308e2e82a835adcc7
Task-number: QTBUG-52953
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Amends 1929fee8e17e9ca66e7fe08faa9ed9fa7fdbb127 to prevent extra bounce
at the ends.
Task-number: QTBUG-47697
Task-number: QTBUG-53177
Change-Id: I23e63d8e0555e1503ff028ad2f0767b05ef39432
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The window is required to be able to determine the correct
scale factor for the screen when High DPI scaling is active.
Task-number: QTBUG-52943
Change-Id: If74914659bd64395db23ccfc752ee35e8d43592f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If you want to disable all movement when the user tries to flick or
drag, you previously had to set interactive: false. Maybe you need to
bind that to some calculation to determine whether the content fits
completely inside the Flickable or not. This way is easier.
BTW the AutoFlickIfNeeded can be ORed with HorizontalFlick or
VerticalFlick, but we don't document it because AutoFlickDirection=0,
so it's not useful to OR that with anything.
Task-number: QTBUG-31121
Change-Id: Ib03b0f223cb40f0338510c318aa37e70ce71514d
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Apparently only very recent versions of gcc can correctly deduce that
the Anchor enum can be stored in a 7-bit bitfield. So to be sure we
don't run into compiler errors, do not specify the base type for any GCC
version.
Task-number: QTBUG-53317
Change-Id: I825946862dea1eabfb68a3fbe8cbd31bc71bdd10
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When using an enum type for a bitfield (i.e. Anchors foo : 7), MSVC will
somehow store (or interpret) it as signed, while clang/gcc will do it
unsigned. This behavior can be made less exciting by specifying the
storage type of the enum.
However, as the exception that confirms the rule: gcc 4.8 on OpenSUSE 13
will complain that it can't store all Anchor values in a 7 bit bitfield,
but ONLY when a base type for an enum is specified.
Change-Id: I7514dd613017d321de55560affb9b355fa75fa2e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't store QQuickAnchorLine, but store both fields separately in
QQuickAnchorPrivate. This prevents padding of QQuickAnchorLine, saving
48 bytes on x86_64 (or any platform where structs are 8-byte aligned).
On x86_64, this also removes ~180 instructions for each QQuickAnchor
creation/removal, and speeds up the constructor by 25%.
While in the neighborhood, do a drive-by change and merge
QQuickAnchorLine::AnchorLine and QQuickAnchors::Anchor by removing the
former.
Change-Id: I50ab6252b1903f5f1a075174e6185c3048a8f8ec
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| |\|
| |
| |
| | |
Change-Id: I6648a0ce49e0fd2b0881444bd38b9a10c093dc18
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure ancestor items don't end up with dangling subFocusItem
pointers.
Change-Id: I79015abe8215b807b02577c25de58c44bfc70f9e
Task-number: QTBUG-51080
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |\ \ |
|
| | |\|
| | |
| | |
| | | |
Change-Id: I3c6a93917cb46868cdb9dd50566b90c70f67102e
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Cache the source size of the internal QMovie object during the
change of the 'source' property to ensure that always a valid source
size is returned without emitting more sourceSizeChanged() signals
than necessary.
Change-Id: I637b80efb133197b7345b09fcf8a7bb80c5643c9
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's an attached property, not an ordinary property.
Change-Id: I08123670953288b21daca8bd56129c1e14e36365
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I6914919675e8787312824ac958e3ea3fb6dc5264
Task-number: QTBUG-53045
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is no need for other classes to directly access the shader cache,
and if we ever want a way to invalidate pieces of it, we better prevent
such access.
Change-Id: I79949b375854445c46b9d8bf6072bb53030b8dac
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 26a230ee0ed68d39d4d13bfeaafd9839ee2a2a00.
This optimization breaks when we have a single material change
in the scene within a batch as the geometry node does not get
visited on the next render.
Task-number: QTBUG-52983
Change-Id: Ib385407a9fc35ca03ab18727d1e7b550431416f1
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Jocelyn Turcotte (Woboq GmbH) <jturcotte@woboq.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The d->active member variable should be changed regardless of the value
of Drag.dragType.
Task-number: QTBUG-52540
Change-Id: I7fa39ccf11b1200e9c2f6fe57cba58657b6cff74
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As it stood, whenever QtQuick did a polish we would update
IM transform. The result would be that we signaled changes
to e.g cursor rectangle and input rectangle each time the
cursor was redrawn. This of course caused code elsewhere, e.g
in the platform plugins, to recalculate overlays such as
cursor handles when nothing with regards to input item
transform had actually changed.
This patch will add some extra checks that the effective transform
of the focus object has really changed before telling IM
to update.
Change-Id: If7057e4dd8f41e251a27d68fcaebdb10da953ee7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Let QtQuick items respond to ImInputItemClipRectangle inputMethodQuery and
notify about potential changes with QInputMethod::update()
Change-Id: I3025583d751bcc7f54bab87792bb7a2f38b60591
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
It is needed by the behavior of TabBar in universal style in QtQC2.
[ChangeLog][QtQuick][PathView] Added movementDirection property
Change-Id: Iedc214a12e7336e52125ec82b9ded45502905978
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| | |
The latter can be inlined.
Change-Id: I57747b84889390839a17faa1df6d359210ef4adf
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/qquickimagebase.cpp
src/imports/layouts/plugin.cpp
Change-Id: I5f48474df4034a1347ec74795c85d369a55b6b21
|
| | |
| |
| |
| |
| |
| |
| | |
This saves ~5% in QQuickAnchorsPrivate::itemGeometryChanged on x86_64.
Change-Id: Iccf782521e9c8523c41c6f2e6d87fad401762a9e
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This flag was only used to return 0.0 when false, and baselineOffset
when true. So initializing the baselineOffset to 0.0 does the same thing.
Change-Id: Ia92b05761ea3a03175ae0078bf950a1b4da2d356
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit e1400b5b4d8311769ad3b9f631479ee2b0271197,
which breaks qtlocation unit tests for drag support.
It is no longer possible to drag markers in mapviewer.
Task-number: QTBUG-52534
Change-Id: If713a8e45f64ea898f38fe3e39561ebc266403b2
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Shader effects with equal program source code can use the same compiled
shaders. There is no need to duplicate the data for each QML component.
Task-number: QTBUG-42055
Change-Id: Iae86890ebf0ad6ef34a63565b8a01d0fcd903fbc
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QSG_ATLAS_TRANSIENT_IMAGE_THRESHOLD can be used to define a threshold
for retaining the QImage associated with an atlas texture. This gives
more control to the developer on platforms where removing a texture
from the atlas (e.g. for use in a ShaderEffect) can be prohibitively
expensive.
Change-Id: I13fd01ebbe94dd960fdcb3ee20b4ff40dcc5694f
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When preventStealing is true both keepMouseGrab() and
d->stealMouse are true. This in turn enable the dragging immediately
since the condition "keepMouseGrab() && d->stealMouse && !d->drag->active()"
is true.
Conversely when preventStealing is false the dragging is enabled in the
next move event since keepMouseGrab() and d->stealMouse are set true
inside the last "if" "!keepMouseGrab() && ...check threshold..".
This patch adds a new boolean flag for storing if we detected a drag motion
(so we exceeded the threshold) and enable the dragging iff this flag is true.
With this change:
- if preventStealing is true (and so keepMouseGrab() and d->stealMouse) the
additional d->overThresHold prevent the start of dragging. At the same time
the last if (!keepMouseGrab()) cannot be executed since keepMouseGrab is true
and we still check for the threshold being exceeded.
- if preventStealing is false, we still check for exceeding the threshold and
if this happen we enter in the last "if" since !keepMousegrab() && d->overThreshold
is true taking the mouseGrab as without this patch
Task-number: QTBUG-52534
Change-Id: I2b14d3048b6f8223c90ce5e2fd26e7ca706cb56a
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| | |
| |
| |
| |
| | |
Change-Id: I2704b417085a7956e73daed191011af594703aa9
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| | |
Task-number: QTBUG-51878
Change-Id: If2d28bf641ed4bbd74b2d4f51f0821e93b0aa238
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We have to overwrite the cache of QQmlInterceptorMetaObject, but
we messed up the reference counting.
The same applies for QQmlData.
When overwriting the old cache we have to call release on the old cache
and increase the reference count on the new cache, because it is released
in the destructors of QmlData and QQmlInterceptorMetaObject.
Change-Id: Iecdbe8d474092906344d4e5a74278f5d8120b5ef
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| | |
| |
| |
| |
| | |
Change-Id: I953370e353eb0c67f086b3a539985701723798e9
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These cause warnings, and incorrect rendering. We already guard width and height
against NaN, so doing the same with x & y seems like a sensible idea.
Change-Id: Ib33e51fe0beb9a2fa30fbf70743c8d6384a99441
Task-number: QTBUG-34489
Task-number: QTBUG-50604
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit 834f9c76 accidentally inverted a validity
test by going from !isEmpty() to !isValid().
Change to isValid() which preserves the previous logic:
a set sourceSize is automatically scaled by the target
devicePixelRatio.
Verified with:
tests/manual/highdpi/imageprovider.qml
tests/manual/highdpi/svg.qml
Change-Id: Ie979d566418c365d4d7fc5e5c3e6a795a891db51
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Similar to change 85b64e701b2eaecdd30a7e0e079e2c80dd846fec.
Fixes test warnings:
QWARN : tst_qquicktextinput::mouseSelectionMode_accessors() QSignalSpy: Unable to handle parameter 'mode' of type 'SelectionMode' of method 'mouseSelectionModeChanged', use qRegisterMetaType to register it.
QWARN : tst_qquicktext::textFormat() QSignalSpy: Unable to handle parameter 'textFormat' of type 'TextFormat' of method 'textFormatChanged', use qRegisterMetaType to register it.
Change-Id: I9105eb31ce3d6203602649e24835f4fb0ddb25fd
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since the rendering of the item depends on the device pixel ratio then it
needs to be updated whenever this changes.
[ChangeLog][QQuickPaintedItem] When the device pixel ratio
is changed for the screen the item is rendered on then the item will be
updated.
Change-Id: Idf3c73faf0c13573c570fe22b5fb9e97fe1e66e2
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replace substring functions that return QString with
corresponding functions that return QStringRef where
it's possible.
Create QString from QStringRef only where necessary.
While touching the code, also port loops to C++11 style.
Change-Id: I04c99b24ea6afd3715e3edf9ea00bfab838fd53c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
cursorFlashTime will now change dynamically from QPA while platform
controlled text selection (on mobile) is ongoing. This patch
will therefore update QWidgetLineControl so that it listens to the
cursorFlashTimeChanged signal and changes the blinking rate when
triggered.
The previous code had a function setCursorBlinkPeriod, which is now
changed to setBlinkingCursorEnabled (like in QQuickTextControlPrivate).
This is because all callers of the function did either pass
"QApplication::cursorFlashTime" or "0", which basically means enable
or disable blinking. This moves the control of the blinking rate
fully to updateCursorFlashTime, which simplifies the code a
bit, especially when cursorFlashTime can change.
Note that when setting a blink period to 0, it means "show the
cursor without blinking". AFAICS, the current implementation did
not guarantee that. This is now made more explicit in the code. If
hiding the cursor is needed, a separate function "setCursorVisible"
is already available for controlling that.
Change-Id: Ie3222525474e03b485ff8585fd8d7da6fd5b26e5
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
cursorFlashTime will now change dynamically from QPA while platform
controlled text selection (on mobile) is ongoing. This patch
will therefore update QQuickTextControlPrivate so that it listens to the
cursorFlashTimeChanged signal and changes the blinking rate when
triggered.
Change-Id: Ifea202bc9f57af8c5959594eb50f2aacff284d68
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
QGlyphs does not exist anywhere. It is the old name of QGlyphRun,
so this forward declaration is not needed.
Change-Id: I1394f3d7abf0a8bc58ff2295f41dd3779ed01901
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| |
| |
| |
| |
| |
| | |
Fix rounding of width and height parameters.
Change-Id: Ib7655dafe382684340c32e2d2dc8adb445af65b0
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Creating a transient QML Window with visible set to false and then trying to
show() it in Component.onCompleted led to a race condition where the window
would be shown for a brief moment and then hidden again to enforce the delayed
initialization of the visible property. Fixed by tracking the value of the
visible property regardless of the 'completed' state.
The same problem was fixed for the visibility property.
Task-number: QTBUG-52573
Change-Id: I2a2ed7f359b951cb9189a7a6628d1d0cc1445d73
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickTextInput needs to report back Qt::ImhAnchorRectangle, and
make it possible to query the cursor position of any given point
with inputMethodQuery(Qt::ImCursorPosition, point)
Change-Id: Iabe1946e7a8642b51c4601b51e2a13763bdbbd0c
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
|
| |\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change also fixes the build of two benchmarks, tst_affectors
and tst_emission.
Conflicts:
src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro
src/qml/qml/ftw/qhashfield_p.h
tests/benchmarks/particles/affectors/tst_affectors.cpp
tests/benchmarks/particles/emission/tst_emission.cpp
tests/benchmarks/qml/pointers/pointers.pro
tests/benchmarks/qml/pointers/tst_pointers.cpp
tests/benchmarks/qml/qmltime/qmltime.pro
tests/benchmarks/qml/qquickwindow/qquickwindow.pro
Change-Id: I595309d1e183c18371cb9b07af6e4681059de3b2
|