| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tst_QQuickHeaderView::listModel test fails on Ubuntu. From inspecting
the build log, VerticalHeaderView has an empty size. Since HeaderView
will only load items that end up visible in the view, it will load just one
item in this case, even if the model contains five. Hence the test will fail
when searching for the other missing items.
Why VerticalTableView has an empty size is not well understood (and cannot
be reproduced on my mac). The size is bound to the size of the window, which
indicates that the window is not shown or ready by the time the test runs.
So this patch will change how we create the window for the test, and
wait for it to be active, which is standard procedure for many other
tests. Hopefully this will also fix the test failure on Ubuntu.
Task-number: QTBUG-83172
Change-Id: I7d3a188dbeb161f11eee7b95c103928404161f11
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
| |
Change-Id: I411136bd2b9a277d84a7c68c55bb1c317b6cc9d2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| | |
Change-Id: I9ecddc7a68da4f15ee2c2904e237496eb6a2aa26
|
| |
| |
| |
| |
| |
| | |
Fixes: QTBUG-73687
Change-Id: Id2d6a6b5c6651337ab7ae26d07011160b79654bf
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If there is padding around the menu then it will mean the available
height is smaller than the containing item and as such should be
interactive.
Fixes: QTBUG-82473
Change-Id: Ie3e7568ab66aa3da93e5448c1a27c9bd2a5e486a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a handle is dragged, the items on either side of it are resized.
Until this patch, we were assuming that the item after the
one at the handle index was visible, which was wrong. Now we iterate
through each item after the one at the pressed index until we find
one that's visible. Since we need this in a few other places during
a handle drag, we cache it as a member variable.
This patch also fixes an issue where the visibility of handles were
not updated after setting a new handle delegate.
Change-Id: Icd246abae2ed4dc6c3b81217b9a241b7e4debf7d
Fixes: QTBUG-81867
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By setting an implicit size, the user don't need to set a
width or height on a HeaderView himself, but it will
get the default size recommended by the style.
By doing it the way it's done in the patch we achieve the following:
1. A HeaderView will by default be resized to be the same size
as the delegate.
2. If the application sets a size on HeaderView it that is larger
than the implicit size of the delegate, the delegate
will be resized to have the same size (effectively
filling out the free space in the header).
3. If the size of HeaderView is smaller than the implicit
size of the delegate, the delegate will simply be clipped.
(effectivly saying that the implicitSize of the delegate is
also it's minimum size). If this is not acceptable for the
application, it will need to use a custom delegate.
Since a HeaderView delegate is a component and not an item, it
should not be a part of the sanity checks we do to avoid using
internal IDs. Hence we blacklist until we have a better way of
handling such cases.
Task-number: QTPM-1300
Change-Id: I30ca3e13ce5e1371b60f5c4ecf742a7d7e794a36
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The Qt version was added in 5.14 "for use as eventual replacement for
QString::SplitBehavior." Move another step closer to that goal.
Change-Id: I3ed1abd00bf54da654c9ccade427f5756b99b595
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This ensures that if the model is updated due to a retranslate
that it gets the updated string and the ComboBox shows it
correctly.
Change-Id: Iecbc18a1051d6db13035b3efa393d9bf97788dd9
Fixes: QTBUG-82020
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I was unable to reproduce the failure, but this patch should hopefully
make the test more resilient to timing issues by not requiring that the
popup's opened property is true, but rather that it was true at some
point.
Change-Id: Icbb0407683959b9fc01b3c0d66d632922363b5d9
Fixes: QTBUG-82643
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
DiagnosticMessage is getting its loc member back :)
Change-Id: I07fd8b2b506bebb0acdbc20d6294d0f4b0e0214f
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Iff02839c8ace49582750e06fa1ea9c559f6c93fe
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do as MouseArea does, and keep track of double clicks ourselves,
otherwise we think the second click is a regular click.
This is for mouse events only; for touch we have bigger
problems to solve first: QTBUG-82146
Change-Id: I46e816d0cfa1bab98a0a1685915842ebd176e762
Fixes: QTBUG-82032
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a tooltip with an exit transition and a timeout is made visible
during its exit transition, it would end up not timing out. This is
because the change in the tooltip's visibility is what usually
kicks off the timeout timer, but if there is no change in visibility
(because the exit transition hadn't finished, so the tooltip was
still visible), this won't happen.
Fix the issue by calling startTimeout() in
QQuickToolTip::setVisible().
Change-Id: I5f95a698e48f376c7597558572ac91625a276e53
Fixes: QTBUG-81935
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
tests/auto/qquickpopup/tst_qquickpopup.cpp
Change-Id: Id3bca2da290234f3c69845ffe18c6d9193a1bd28
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a control is on a Flickable with a pressDelay then any press events
sent from a touch device will be replayed as mouse events due to the
delay. As a result we cannot depend on the fact that we got the first
press as a touch event when checking if the id matches before accepting
it. So we need to keep the previous pos when it is a synthesized mouse
event so we can ensure the release is also accepted.
Fixes: QTBUG-77202
Change-Id: I6f5d8506bd803daf834093e8fd412504150c4ca6
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a custom button is declared in a DialogButtonBox, qsTr() will take
care of translation, and so we shouldn't touch it.
Amends c18c7bd7f9596e5ad3d13876a91203e1ceba2544.
Change-Id: I06221002cf850882f5318cf0a3ed86da35274d0c
Fixes: QTBUG-81796
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
It relies on moving the cursor.
Task-number: QTBUG-76312
Change-Id: I317083b974d3e9e8d6d616dc3248ee64e0f36021
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since all items using ToolTip attached property share the same ToolTip
item, a dynamically created invisible Tooltip may unexpectedly close
the current visible ToolTip.
Fix this issue by checking the parent of ToolTip when trying to close
it
Fixes: QTBUG-78202
Change-Id: I0f6558040c6b8bf22240b0c94af912a43d525ed9
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls] Add HorizontalHeaderView and VerticalHeaderView.
They are controls associated with TableView. Support flicking synchronization
Support default, fusion, imagine, material and universal delegate styles.
Fixes: QTPM-1300
Change-Id: Ie3f913dd616cda0d4e5a22a3d95baf71692370fe
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
tests/auto/controls/data/tst_combobox.qml
Change-Id: I8471cdac4397f77a8e58140d58c6b50d3c437928
|
| |
| |
| |
| |
| |
| |
| | |
BC file built against 5.14.0 added.
Change-Id: I3468f8166c812974500ad8209be184f44313776a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a StackView has an item A as the current item, calling
replace(B) and then replace(A) would result in A being hidden
when all transitions were finished.
When an item is finishing its transition, we can check to see
if that item exists in the stack (i.e. was pushed while it was
transitioning), and if so, don't hide it.
The patch is based on the one from Anthony Groyer.
Fixes: QTBUG-57267
Change-Id: I441559c54a35c577261074bc7f0c923aeb3ca330
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the user enters text into an editable ComboBox that matches
the text of an entry in the model, and then tabs out to another
item, the currentIndex should be changed to that entry.
This brings the behavior of ComboBox in line with QComboBox.
Change-Id: Ibb1e201a503704681ebcbc7135d1964cc1f6bbca
Fixes: QTBUG-78885
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This can happen when e.g. calling clear() in Component.onDestruction
in response to a pop() call.
The patch fixes the crash by warning and returning early.
If users really need to do this, the clear() call can be delayed:
Component.onDestruction: {
Qt.callLater(function() { stackView.clear(StackView.Immediate) })
}
Change-Id: If3cf07495bb34b96089522f44c36976bd6c62492
Fixes: QTBUG-80353
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Detect HoverEnter events by filtering the mouse events of child items,
and respond by clearing any hovered handle.
Change-Id: Ice7e7fe3cc4c9224064c2384cd832e4a7d91c4da
Fixes: QTBUG-79846
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Check if the user has set Accessible.name before setting it to the
control's text/title/etc.
Fixes: QTBUG-66583
Change-Id: I8b2c8ab3f8a8ae8e76c8e6a241260b7f90eca254
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allows configuring the selectByMouse property of the underlying
TextField for editable combo boxes.
Named selectTextByMouse instead of selectByMouse to avoid confusion
with selection of the items themselves.
[ChangeLog][Controls][ComboBox] Added selectTextByMouse property.
Change-Id: I852e4cd44ebe6b2a1ed2535513ea2fc35cbe0a32
Fixes: QTBUG-71406
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Icb923b10d2b6c524ebaa8b38c7979b780e3582d4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Up until this patch, we've always deleted "old" items when a new one is
assigned. For example, the style's implementation of contentItem will
be destroyed here as it is not accessible by the user and is no longer
used:
Button {
contentItem: Item { /* ... */ }
}
This was especially important before the introduction of deferred
execution, as the "default" items would always be created, regardless
of whether the user had overridden it with one of their own items.
By deleting the old items, we free unused resources that would
otherwise persist until application shutdown (calling gc() does not
result in the items being garbage-collected, from my testing).
Although this has largely worked without issues, deleting objects
that weren't created by us in C++ is not supported. User-assigned items
can be created in QML (with JavaScriptOwnership) or C++ (with
CppOwnership), and it is up to the user and/or the QML engine to
manage the lifetime of these items.
After the introduction of deferred execution, it became possible to
skip creation of the default items altogether, meaning that there was
nothing to delete when assigning a new, user-specified item. This
requires that no ids are used in these items, as doing so prevents
deferred execution. Assuming that users avoid using ids in their items,
there should be no unused items that live unnecessarily until
application shutdown. The remaining cases where items do not get
destroyed when they should result from the following:
- Imperative assignments (e.g. assigning an item to a Button's
contentItem in Component.onCompleted). We already encourage
declarative bindings rather than imperative assignments.
- Using ids in items.
Given that these are use cases that we will advise against in the
documentation, it's an acceptable compromise.
[ChangeLog][Important Behavior Changes] Old delegate items (background,
contentItem, etc.) are no longer destroyed, as they are technically
owned by user code. Instead, they are hidden, unparented from the
control (QQuickItem parent, not QObject), and Accessible.ignored is
set to true. This prevents them from being unintentionally visible and
interfering with the accessibility tree when a new delegate item is
set.
Change-Id: I56c39a73dfee989dbe8f8b8bb33aaa187750fdb7
Task-number: QTBUG-72085
Fixes: QTBUG-70144
Fixes: QTBUG-75605
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
It is being deprecated.
Change-Id: I69effb678ee29d9c98bdd51dc898845869211bcf
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I36a4d6043e00d97dc98cc9c77aa294a058574f47
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| | |
Change-Id: I932a1b1606975265e6affd50e161e58737404a0d
|
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise the text will go outside the window.
Change-Id: I3d50a195b1ee6c9b5d49952ef6c49d17c61372fa
Fixes: QTBUG-62350
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: Ib14b8c77cefe7aaf5b11483d9a30b2ef05314598
|
| |\
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a popup is not modal, all the application's main content can still
be interacted with, therefore should still be possible to navigate it
with tab. This issue is particularly evident with Drawer, also commonly
used as a sidebar, in which tab navigation should always work.
Fixes: QTBUG-79501
Change-Id: I0e8ad2e1abe57b9617c6316efbfe2f296c91b592
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 3358362e61ef96b3922a438d0806561285c49230)
|
|\|
| |
| |
| | |
Change-Id: I5da24592eb292ef4f430d734fec234166ce6e1e3
|
| |
| |
| |
| |
| |
| |
| | |
These make debugging SplitView issues very confusing.
Change-Id: Iea09bd5339044ac330188233286acc695e335283
Reviewed-by: Jan Arve Sæther <jan-arve.saether@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>
|