| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: Ieaab5ab5723972fe3cdcb2245f53caad1ee63a5e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a focused Popup exited, it will try to transfer focus state to
next Popup in chain or other item. However if there is an unfocused
Popup exiting simultaneously, the focus state will be transferred to
unfocused Popup, and this will cause loss of focus state since an
unfocused Popup won't transfer its focus state to next Popup(or item)
Fixes: QTBUG-79464
Change-Id: Ic06bd5a3616c8afbce449266e6fc24d2d54059d9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
02ffe50af41526f604ae61d41bf2150037d67473 fixed some incorrect behavior
in mouseDrag() that these tests were unknowingly relying on.
Fixes: QTBUG-80153
Change-Id: I486061cc7d7fe44ef7b9ff8924c711572a01e44a
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I579dc498300e06d747bdc4dba12f7ecd617b6608
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's flaky on openSUSE. Whenever it would fail, the activeFocusItem
was always null, so check for that before doing the key press.
Change-Id: Ib31d4869902b40424b3994d1d468a3eace8847f0
Fixes: QTBUG-80164
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
q_ptr isn't used any more
Change-Id: Ib73b8310c13b9b0cca9b0b277b66bef444ceeda2
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise the text will go outside the window.
Change-Id: I3d50a195b1ee6c9b5d49952ef6c49d17c61372fa
Fixes: QTBUG-62350
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Don't unset the hovered flag only to potentially set it again.
- Generally simplify the code.
- Move it into a new updateHoveredHandle() function so that
follow up patches can call it from other places.
- Add more logging to debug hover issues.
Change-Id: Iaf06cfe1f556a3f30bd0e883ef504b3df2dbc8e2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Set the focus property of the contentItem (ListView) to the focus
property of the SwipeView itself.
Change-Id: Ic410f7fb8db9fbb758b956dfe07e1b4265f5f687
Fixes: QTBUG-62401
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I2e33f9f4f508b98c26659574135fba9ff721d53b
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: QTBUG-79929
Change-Id: I153684fa9c4e40d220986391671b0945b66393e1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I03ac317e3f2c9a231ac010c22c2d622e15df65d0
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
androiddeployqt will put all the files originally in the assets into a
rcc file now instead of having them copied over as before. Therefore the
styles need to be searched for in that path to see if they exist.
Fixes: QTBUG-79952
Change-Id: Ief8fc59257d3b329dd8b5b28190433e1b1a7f12d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
|\|
| |
| |
| | |
Change-Id: I551670d92af2bc96d5d8b8724bf5b280e94498c7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the font is resolved, if the font does not have families set then
it will set it to be the family to ensure that it has the right
precedence. Therefore we need to reset the families setting so that it
does not act like a font has changed after being resolved when it really
hasn't.
Fixes: QTBUG-79790
Change-Id: I03c6f1456dbe5f136181b1c3a0e22fdc0fa66679
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-59330
Change-Id: Ie983f27f2eca0bc9c906fb7bcfe9e077616ef88b
Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I4b970036bdb5d312b0dc5cb1bcbd8e161e3d4c7e
|
| |
| |
| |
| |
| |
| |
| |
| | |
find . -name "*.png" -exec optipng -o 7 -strip all {} \;
Change-Id: I2238b2dd38813d33ed48d79817f872f922cfa28d
Fixes: QTBUG-79275
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: Ibf7cf09570e73ad2f314e9ce7acf1c766ac3f332
|
| |\
| | |
| | |
| | | |
Change-Id: I614ee6943ab5cff62cefb2de884af8cb02fe7f55
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ia035cc871e42646a8053d42ec0af2902a9a56acd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | | |
Change-Id: Ie16762649a006dea1420c0df60ed80137491d4a9
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If closePolicy of Popup is set to CloseOnEscape and the Popup is
completed, shortcut will register to QGuiApplication to let Popup
respond to Escape key. However if Popup is set to visible in creation,
even if we set closePolicy to CloseOnEscape, the shortcut won't be
registered.
[ChangeLog][Controls][QQuickPopup] Fixed the issue that Popup doesn't
respond to CloseOnEscape if the initial value of visible is true
Fixes: QTBUG-79326
Change-Id: I90c6805e2b4d567a6e0d33d43a75fedcfc5416b3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Always show the latest Qt Minor version in the import statements for
modules in QtQuick.Templates. For QtQuick.Controls this was fixed
in commit b395f94.
Fixes: QTBUG-76077
Change-Id: I0d63337f572fd23f0122df151f01bef2c8eab1dd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
SplitView's contentItem is lazily created whenever contentItem() is called.
When adding regular, standalone items, they will go through
QQuickContainer::addItem(), which eventually calls contentItem(). This case
works fine.
Repeaters, on the other hand, call setTransparentForPositioner(true), which
QQuickContainerPrivate::contentData_append() checks for, and instead of calling
addItem(), reparents the Repeater to effectiveContentItem() with this line:
item->setParentItem(effectiveContentItem(p->contentItem));
If this happens before the contentItem is created, then the Repeater has no
parentItem and won't generate any items. So, instead of using the contentItem
member directly, call contentItem() to create it if it doesn't exist.
Fixes: QTBUG-79302
Change-Id: I258f7420d2fea843ed045d569f80e92fe1f507d2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I5da24592eb292ef4f430d734fec234166ce6e1e3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
up to date
Fixes: QTBUG-76077
Change-Id: Ica06051a8ca5dc3858110f5eef47fec20bd2d2c1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In most cases, getContentItem() will create a new content item when
called. In addition, its only responsibility is to return the content
item, not set it as the control's new contentItem;
QQuickControl::contentItem() does that.
Instead, QQuickContainer should simply call contentItem().
Change-Id: I1b8cb57f9f7b9e56074e99bed20ce5bcac70e1a6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These make debugging SplitView issues very confusing.
Change-Id: Iea09bd5339044ac330188233286acc695e335283
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't return early before restoring the ArrowCursor shape.
This is not testable in QML due to QWindow's cursor API not being
available there.
Task-number: QTBUG-79302
Change-Id: Idb59d9cfbf04fc12ebe0adfbb7285ae7155e195d
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I7e3bd670039d181fb562967c5e9d3830f63d46a3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When adding new MenuBarItem to MenuBar, MenuBar will first check the
Menu pointer in MenuBarItem and then connect the Menu's signal [aboutToHide]
to MenuBar's slot [onMenuAboutToHide] to unhighlight the MenuBarItem.
In case of adding dynamic Menu, this operation will be performed before
setting new Menu to MenuBarItem. So the Menu pointer in MenuBarItem is
null, and the connection will not be performed.
[ChangeLog][Controls][QQuickMenuBar] Fixed issue with dynamically menu bar
items not losing their highlight when their menu was dismissed.
Fixes: QTBUG-77306
Change-Id: Ibe987462505f65747b4290b3c206e9dfbcbbef57
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I42b6a7050886f795e267893aa5eeaaf7a5841971
Fixes: QTBUG-79370
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Check for -1 when calling handleIndexForSplitIndex().
Change-Id: I81021b64265ace0c47269ea54e538a2725c84b79
Fixes: QTBUG-79270
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-78690
Change-Id: I0e421232f4335a7a351562f23134eccdd0b1c674
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After 2d9cf3ef, ListView now changes the currentIndex for some unknown
reason. The changes clearly didn't cause any failures in Qt Quick's
auto tests, but some Tumbler auto tests fail. Presumably, the failures
are due to TumblerView's intimate usage of Qt Quick's C++ API, where it
creates either a PathView or a ListView on demand internally.
From what I could see, the currentIndex change was caused by this code:
if (FxViewItem *snapItem = d->snapItemAt(d->highlight->position())) {
if (snapItem->index >= 0 && snapItem->index != d->currentIndex)
d->updateCurrent(snapItem->index);
}
So I worked around the issue by delaying the call to
setHighlightRangeMode() until after the delegate has been created. I
also tried moving the call to setSnapMode() (which seems very relevant
given the context), but it caused test failures.
Change-Id: I7017760c21193dc6ce8181669ba7cf047b18dfba
Fixes: QTBUG-79150
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I0b00323007dc02adf98dc581e2694e44b298da29
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It was commented out but should have been #ifdef'd, and the explanation
is wrong.
This amends 83fbf44.
Change-Id: Ibe752d63a42805361b13edc6beafcf1f3738f02f
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The wrapping behavior makes for a poor user experience. Use ListView as
other styles do.
[ChangeLog][Universal][TabBar] Disabled wrapping. The Universal style
TabBar now behaves like TabBar from other styles.
Change-Id: I0a37490cdc2b81ff864ec682256f469a1a930628
Fixes: QTBUG-50027
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| |/
| |
| |
| |
| |
| |
| | |
This amends c18c7bd7f9596e5ad3d13876a91203e1ceba2544.
Change-Id: I29b48d9c8e5889bb67ea3cbc14821b5621868b6f
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Consider the following changes in source:
normal.png => press.9.png => normal.png => focus.png
If the last two events happen quickly, pixmapChange() can be called
twice with no call to updatePaintNode() inbetween. On the first call,
resetNode will be true (because ninePatch is not null since it is still
in the process of going from a 9-patch image to a regular image),
and on the second call, resetNode would be false if we didn't have this
check. This results in the oldNode never being deleted, and QQuickImage
tries to static_cast a QQuickNinePatchImage to a QSGInternalImageNode.
Only change resetNode when it's false; i.e. when no reset is pending.
updatePaintNode() will take care of setting it to false if it's true.
Change-Id: I614c172c3e24fda2506f081f8fcdb6acd1c65fb8
Fixes: QTBUG-78790
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
- a section title in a tutorial shouldn't be the name of a QML type only
Task-number: QTBUG-78799
Change-Id: I661b639eb96926be2b92899fdbe241890d4ed6f4
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Add const & to function parameters
* Add const & to variables assigned from functions that return const &
Change-Id: Ibf35e54ffb78f164493222125411f2ba279cb861
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
f4623123 introduced a performance regression by calling
delegateModel->object() twice:
if (componentComplete) {
updateCurrentText();
updateCurrentValue();
}
We can avoid this by introducing versions of these functions that take
the delegate model object as a parameter in order to cache it between
calls.
Change-Id: I5f9041a8ff00b53e04d759f38677bd87c748f8d1
Fixes: QTBUG-76029
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I53fc18c168daff6dfb504e5a64e20570de7d24ac
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickPopup connects its parent item's (MouseArea, in this case)
windowChanged() signal to QQuickPopupPrivate::setWindow(). It does this so
that:
1) QQuickOverlay can keep track of all of the popups that it manages.
2) Fonts, palettes and locales can be resolved.
3) If the QQuickPopup component has completed loading and the popup is visible
with a valid window, start the enter transition.
The problem arises only when using a very specific item hierarchy:
Window {
width: 640
height: 480
visible: true
Item {
anchors.fill: parent
Item {
anchors.fill: parent
ColorOverlay {
source: parent
anchors.fill: parent
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
ToolTip.visible: containsMouse
ToolTip.text: "ToolTip text"
}
}
}
}
When the window is closed and hence begins to be destroyed, the following events occur:
- QQuickWindow's destructor is called.
- The window's root item (QQuickRootItem) begins destruction.
- QQuickOverlay is destroyed.
- QQuickWindow's destructor is done, so the QWindow and then QObject
destructors are called.
- The QQuickItem destructor for the outer Item is called.
- The child items of the outer Item have setParentItem(nullptr) called on them,
one of which being the inner Item.
- The inner Item's setParentItem() function calls derefWindow(), which in turn
calls derefWindow() on its children. One of those children is MouseArea.
- Since the MouseArea's window is deref'd, it emits the windowChanged() signal.
MouseArea is the parentItem of the popup, so its windowChanged() signal
causes QQuickPopupPrivate::setWindow() to be called.
- setWindow() tries to remove the popup from the old overlay, which has already
been destroyed.
One approach I tried involved using QQuickOverlay::itemChange() to remove all
of the popups (via setWindow(nullptr), to ensure that their window pointer is
nullified), since that was called much earlier than the windowChanged() signal
is emitted. However, this still resulted in a heap-use-after-free in the same
place when running the newly added setOverlayParentToNull() test.
I also tried removing the popups in QQuickOverlay's destructor, but this
resulted in another heap-use-after-free (when accessing a popup in the
destructor) in tst_QQuickPopup::Universal::visible().
The remaining options were: store the window in a QPointer or return early in
overlay() if the wasDeleted member of the window was true. Using QPointer
seems like it would catch more issues than a single check in overlay(), so I
went with that.
Fixes: QTBUG-73243
Change-Id: Ieb5ce26dd76d45771d28297031ec43e27d958b5b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
by applying the passed timeout value prior to re-starting the timer
Change-Id: I27953dbb4781b5cb0c2039d56faa56f3c000206f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use the position of the item and the currentItem in the calculation
in order to get reliable results. This fixes the displacement being
off by a small margin, which increased as the delegate height became
smaller.
Fixes: QTBUG-66799
Change-Id: Ieca5033fb4c0ed62f5965a21fcab7aa558bd40e6
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ia0dea6060be7ffd1c4a16348f166e7cde7ef2df2
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
These were forgotten in f462312365d4955fc82b247b72f84e1c77d8104d.
Change-Id: If0415c9aab9555e14ee222aaa667ca1233ab4405
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|