| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't assume writable implicit size for the background, and check that
the PlaceholderText element has a text property to allow Image elements
as children.
Change-Id: Ia5cadc2a0e289c2aaa0bc8c06b900487decead9e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The implicit size of the background can be read-only (the Imagine style
has a background image), so reset the whole background instead of trying
to reset its implicit size.
Change-Id: I499f7ade13094064709a5a25153ad39ee14205d3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Allow the background to have an implicit size. The Imagine style has
a background image so it has an implicit size.
Change-Id: I39b41d265cb36959b198e6dac6024f6b91f3c5c6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: If29604b8131ded53bd947097b00e5fab4d41dd2e
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][Menu] Added "count" property.
Change-Id: I42971a6bf8fd74b9f2d3df52f191b66cd7022b81
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The parent argument is handy for sharing a single context menu instance
for multiple listview items:
ListView {
delegate: ItemDelegate {
onPressAndHold: contextMenu.popup(this)
}
Menu {
id: contextMenu
}
}
Change-Id: I77ff87ee03d2d1b53485863ab9c99f3226496dfc
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ia7d205bacf4da4cb13e31ab34fb62d13a77f7ddd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
tests/auto/controls/data/tst_scrollindicator.qml
Change-Id: I1f5581ae7814c0d4152e4c9b79a30a8af5a3a17b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a popup is closed, if there are multiple popups open, restore
focus to the next popup in chain instead of transferring focus to the
window content. This allows us to cleanup the custom focus handling
for sub-menus in dev. There is no more need to manually transfer focus
to the parent menu or to a sub-menu, but calling open() or close() is
enough and the focus is automatically transferred as expected.
Change-Id: I54406c7c6b8dd25af261e00ebb1ae00ccbea8b9f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue where an application would crash when opening a
drawer by dragging it after an invalid edge value had been set.
Task-number: QTBUG-61843
Change-Id: Ie9b9ea0276b356b92927b858f2be355bfc042afb
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
2c4b2d48 made Tumbler's wrap property follow its count by default,
but did so using updatePolish() to account for the use case where a
items are appended to the model in a for loop, as is done in
TumblerDatePicker.qml in Tumbler's auto tests. This (appending items
one at a time in a for loop) is not a good idea, but it should work.
The problem with the solution is that the delay means that the use
cases mentioned in the referenced bug report were broken.
This patch removes the delay. The recursion guards are necessary due to
the complex nature of TumblerView (and its non-standard use of the Qt
Quick views), as they prevent a memory leak in
QQuickListView::createHighlight() from being introuduced.
We now call deleteLater() to ensure we do not interfere with the views'
internal operations, and hence we also perform a few extra operations
at the same time as insurance (although it appears that simply
unparenting the internal view from QQuickTumblerView is enough to get
the tests to pass).
Task-number: QTBUG-61374
Change-Id: Ifef9e99522ea183b282ac862f346beaed12d0c09
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-61698
Change-Id: I46db5e9816190ac7afd6b671198dff11089bc4f3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unlike with mouse events there's setAcceptedMouseButtons(), currently
there's no way to control whether a control receives touch events or
not. As a temporary workaround until QQuickItem::setAcceptTouchEvents()
has been added, we'll have to ignore touch events by hand.
Task-number: QTBUG-61785
Change-Id: I9a678570bfdd104ae32b4040ecef7625dcfd1aee
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unlike with mouse events there's setAcceptedMouseButtons(), currently
there's no way to control whether a control receives touch events or
not. As a temporary workaround until QQuickItem::setAcceptTouchEvents()
has been added, we'll have to ignore touch events by hand.
Task-number: QTBUG-61785
Change-Id: I195d5ec3122ca0c7f2fade700b5b0c221472a243
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unlike with mouse events there's setAcceptedMouseButtons(), currently
there's no way to control whether a control receives touch events or
not. As a temporary workaround until QQuickItem::setAcceptTouchEvents()
has been added, we'll have to ignore touch events by hand.
Task-number: QTBUG-61785
Change-Id: I8e3bdc3df1c3b28afaf8f80965569135e6a53120
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I00d4f6ed466e33be3f31b2cd0bcbae6707d84cb9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This complements the add/insert/remove/take API that was added for
actions and menus. Unlike for menu items, there was no convenient
way to access a specific action or menu directly without accessing
the respective item first.
[ChangeLog][Controls][Menu] Added actionAt() and menuAt() accessors.
Change-Id: I5515441626b3a04b05265d5b42afdaea8e256709
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Move more... exotic controls to the end, move relevant controls
together and try to make better use of the space, like a puzzle!
Change-Id: I0ad41caa3cbd0747351b552478b265ccc800d5ca
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I4268a8ea1cd26fe3fe3f88460152ef15b0e28502
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QTestResult::setCurrentTestObject(const char *name) does not make
a copy of the char array. Make sure to keep the QByteArray instance
alive in scope until QTest::qCleanup() has been executed to avoid
printing random garbage in the footer:
********* Finished testing of ??????????? *********
Change-Id: I21e0165485b07070f4eec0f254a962fd3f06031f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By default, repeat the auto tests with all available styles:
$ ./tst_qquickmenubar
********* Start testing of tst_QQuickMenuBar *********
Config: Using QtTest library 5.10.0, Qt 5.10.0 (...)
PASS : tst_QQuickMenuBar::Default::initTestCase()
PASS : tst_QQuickMenuBar::Default::example()
PASS : tst_QQuickMenuBar::Default::cleanupTestCase()
[...]
PASS : tst_QQuickMenuBar::Universal::initTestCase()
PASS : tst_QQuickMenuBar::Universal::example()
PASS : tst_QQuickMenuBar::Universal::cleanupTestCase()
Totals: 12 passed, 0 failed, 0 skipped, 0 blacklisted, 2215ms
********* Finished testing of tst_QQuickMenuBar *********
When explicitly specified, run only with that one style:
$ ./tst_qquickmenubar -style material
********* Start testing of tst_QQuickMenuBar *********
Config: Using QtTest library 5.10.0, Qt 5.10.0 (...)
PASS : tst_QQuickMenuBar::Material::initTestCase()
PASS : tst_QQuickMenuBar::Material::example()
PASS : tst_QQuickMenuBar::Material::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 984ms
********* Finished testing of tst_QQuickMenuBar *********
Change-Id: Iad250eb373e6957fee259dc33f894b87413ded48
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The same old story... QQuickWindowPrivate::flushFrameSynchronousEvents()
keeps sending spurious hover events during auto tests. Send a manual
leave event to the window to clear QQuickWindowPrivate::lastMousePosition
so it won't send those hover events.
Change-Id: I4d5548b2a5beff1a82f273f7e1e290e1cb88aadf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I92bd1f65e0ea2604139163c363458b7e551c4279
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously mnemonics worked only for "normal" menu items, but not for
dynamically created menu items that present actions and sub-menus. This
patch fixes the issue by specifying the menu as a QObject-parent for
such dynamically created items, because QQuickShortcutContext is based
on QObject-hierarchy.
Change-Id: I3637ef06e9cb2a27673e4618c253279a0123b7c8
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure to trigger the associated action if a button is activated via
its shortcut.
Change-Id: I73899a5540285c7c2b11a2481a9621ec6e83c6b8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We've seen a few tst_menu failures in the CI:
FAIL! : tst_menu::menuSeparator() 'newMenuItem->hasActiveFocus()'
returned FALSE. ()
Loc: [tst_menu.cpp(428)]
Add moveMouseAway() calls (e81332e) to all remaining tests that test
the current item or index, which can be affected by unexpected mouse
hover events.
Change-Id: I23b1743fcdcea5a4064fba2748426fd25274481e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I49539d41d78c2670bcbed1829800a5974f91675b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quicktemplates2/qquickmenu.cpp
Change-Id: I595ed1671fcad6c3b87123be2b825bca09552f0f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove the OnReleaseOutside close policy, just use the defaults from
QQuickPopup. This way menus won't get immediately closed on release,
when opened from an onPressAndHold signal handler.
Task-number: QTBUG-61608
Change-Id: Ifedd596aa0e71ac5f4211fa42e2ae499918df1b2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is supposed to test the ApplicationWindow attached properties on
Control, Item, and QtObject, but the Item instances were accidentally
made Control instances.
Change-Id: I6caf24b50fc0ffe97396364cf6b10b0ad653d9ed
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-60492
Change-Id: Ic1f380f44593d4a8681bff874789692d17b9edf7
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the JS Date constructor is passed a string in the ISO 8601 format
(e.g. "1970-01-01"), it is treatead as UTC, not local. Therefore, while
comparing the expected dates from the model, we must base the comparison
on UTC as well. Otherwise, the actual and expected dates may differ due
to the timezone difference. This issue was detected thanks to a new CI
setup that had accidentally UTC+8 timezone set.
Task-number: QTBUG-61535
Change-Id: I93cfce5a81d48dc859f002dcd6b59ddb0701911c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickMonthGrid lost its clicked() signal when multi-touch support was
added to QQuickControl, because QQuickControl now accepts touch events
and therefore QQuickMonthGrid no longer gets synthesized mouse events.
Re-implement QQuickControlPrivate::handlePress/Move/Release/Ungrab()
instead of QQuickControl::mouseXxxEvent() to gain multi-touch support.
Task-number: QTBUG-61585
Change-Id: Ic6fb2ea0b43b2b44beb0d8fdd3335a20f7c028f6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickAbstractButton::itemChange() already grabs and ungrabs the
shortcut when the button's visibility changes, but setShortcut() was
grabbing the shortcut without checking the button's visibility, so a
hidden button ended up grabbing a shortcut. Furthermore, make sure to
ungrab the shortcut on destruction to avoid leaving a dangling pointer
to the application shortcut map.
Change-Id: Ie93c2d073d7072abad271ba59a45428e3300cc28
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][ApplicationWindow] Deprecated the overlay grouped
property in favor of the newly introduced Overlay attached properties.
[ChangeLog][Controls][Overlay] Introduced Overlay attached properties
and signals that supersede the overlay grouped property in Application
Window. The Overlay attached type allows providing background dimming
for popups without requiring an ApplicationWindow instance.
Task-number: QTBUG-61336
Change-Id: I9df11bcb167e7725014d5f058fe24d70da4a10b3
Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][ApplicationWindow] The attached activeFocusControl
property has been made functional with a plain QML Window to make the
functionality available when using QQuickWindow/View/Widget instead of
ApplicationWindow.
Task-number: QTBUG-61336
Change-Id: I46b91bca436d58c349c4f9ba8816245ab4ca33a4
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
9b20157 fixed font inheritence for popups in 5.9. This commit applies
the same logic for palettes, and adds the same inheritance tests.
Change-Id: Ib286ddcb9fc7ac4fb681d440c76d728dd07cb983
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Id1023b9d54560ffe3d5117b6bec109869ff381cc
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quicktemplates2/qquickspinbox.cpp
tests/auto/controls/data/tst_scrollbar.qml
Change-Id: Ief9481cb648076a951db0aeffaeb11aeaf392677
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the emit inside QQuickSpinBoxPrivate::setValue() to avoid having
to store and compare the old value in so many places where the value
changes are interactive (mouse, keys, wheel).
Task-number: QTBUG-61426
Change-Id: I7f42fc09cafc403eb55a9748e3a93c2e9bf6df62
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ensure a suitable starting opacity for the inactive state transition.
When calling increase() and decrease() from key-handlers, as the docs
suggest, we flash the scrollbar by turning the active state on, and
then back off immediately. If there is an opacity animation when the
scrollbar becomes active (Material & Universal), the opacity animation
is stopped right away, because the state changes back to inactive. This
state changing trick worked only with the Default style, because it
changes the opacity without animating when it becomes active.
Change-Id: I4117de79c7145a710c0b6c43873ca2336b64e21e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][Popup] Added "enabled" property.
Change-Id: Icc1b2be2a0e73c392189efcd67167da4177cbe9e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
De-couple current index management from the content item. Instead of
manipulating the content item's current index directly from C++, offer
a currentIndex property that can be visualized by the style, also when
not using a ListView. This is essentially the same technique ComboBox
uses to control the highlighted index in the popup ListView.
[ChangeLog][Controls][Menu] Added currentIndex property for styling
purposes.
Change-Id: Idf7746d9c08fc9ca9a0dfd15225ebae5a29243c9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Allow sub-menus to open on the left side if there's more space than on
the right side. This is the expected behavior on desktop.
Change-Id: I915cb93e98a42bf50758d9e98fd98632e55c2cfa
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/ButtonGroup.qml
tests/auto/controls/data/tst_container.qml
tests/auto/menu/tst_menu.cpp
Change-Id: Ie8ee7e4f83f3fda6a09507b060576ebda929a7cd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When ComboBox::model is bound to a QObjectList property, the effective
type of the model is QVariant(QQmlListReference) and things work as
expected. When a similar QObjectList is constructed by hand in JS, or
returned from an invokable method, the effective type of the model is
QVariantList(QObjectStar) instead. In this scenario, we have to help
QQuickComboBoxDelegateModel::stringValue() to lookup the property that
matches the given textRole.
Change-Id: Ib44c912cf647e1cd98c5608436427d31caf80d97
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Skip non-focusable separators, and use a key focus reason
(Qt::TabFocusReason & Qt::BacktabFocusReason) to give the
items visual focus.
[ChangeLog][Controls][Menu] Fixed key navigation to skip separators.
Change-Id: I99affabc50703c7363ab8146e5ced9b45111de00
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Repeaters are not part of the content model. Exclude them when
calculating the target index when the order of items changes.
Task-number: QTBUG-61310
Change-Id: Iaedd59288ed38e985a34ed8e1f515fdfb50d74e6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds mnemonic shortcut functionality. We don't have a nice
way to visualize mnemonics yet, so we just remove the ampersands from
the UI for now.
Change-Id: I90f54bd18d5d17f11e02c18c8461bfc25ce51cf1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][Menu] Added addAction(), insertAction(),
removeAction(), and takeAction() methods for adding and removing
actions programmatically.
Change-Id: I7d494ef1edc1cf384314fa90d97cfd2290d2e8a3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|