aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/controls/data/tst_popup.qml
Commit message (Collapse)AuthorAgeFilesLines
* Tie minor version of all imports to Qt's minor versionMitch Curtis2018-11-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This change makes all Qt Quick Controls 2 imports match the current Qt minor version, which is 12 as of this patch. It also updates all other Qt Quick imports to match. This will also make future version bumps easier as all version numbers in existing code/docs will match. The following commands were used to verify that no old versions remain: for i in `seq 0 11`; do git grep "import QtGraphicalEffects.*1.$i$"; done for i in `seq 0 11`; do git grep "import QtQuick 2.$i$"; done for i in `seq 0 11`; do git grep "import QtQuick.Layouts 1.$i$"; done for i in `seq 0 5`; do git grep "import QtQuick.Controls.*2.$i$"; done for i in `seq 0 11`; do git grep "import QtQuick.Templates 2.$i as T$"; done [ChangeLog] From Qt 5.12 onwards, all import versions in Qt Quick Controls 2 follow the same minor version as Qt's minor version number. For example, the import version for Qt 5.12 is: "import QtQuick.Controls 2.12". Change-Id: I6d87573f20912e041d9c3b7c773cc7bf7b152ec3 Fixes: QTBUG-71095 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-09-181-0/+3
|\ | | | | | | Change-Id: Ic5311418d3f25398380c4a32b35753329efb6f3f
| * Attempt to stabilise Popup::test_shortcut auto testMitch Curtis2018-09-121-0/+3
| | | | | | | | | | | | | | | | | | Ensure that the window is active before trying to activate keyboard shortcuts. Task-number: QTBUG-70413 Change-Id: Ibac1526efd9c53f1f2aa3401da3855ce26d35d6a Reviewed-by: Liang Qi <liang.qi@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-281-3/+3
|\| | | | | | | Change-Id: I6d731149b21d02164220f6cdc485d9e4ae31bd13
| * Popup::test_shortcut(): use "A" instead of "Tab" for shortcutMitch Curtis2018-04-181-3/+3
| | | | | | | | | | | | | | | | | | | | The recently merged stabilization patch showed that the shortcut isn't delivered, and the logs show some focus stuff going on before it fails. If the flakiness is related to focus handling as a result of the tab press, we can try a different key. Change-Id: I6094f11de9d938fd18ad5af8b39b0a1489443638 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-141-0/+8
|\| | | | | | | Change-Id: Ia5d3c9705e5832df76bb55753dcf38e340afc5b2
| * Stabilize Popup::test_shortcut()Mitch Curtis2018-04-091-0/+8
| | | | | | | | | | | | | | | | Try to pinpoint the cause of recent flakiness by ensuring that the shortcut is activated. Change-Id: I8bf81dedfd28b0fe66403147228a8452cc3bea2a Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devJ-P Nurmi2018-03-231-0/+35
|\| | | | | | | | | | | | | | | Conflicts: src/quickcontrols2/qquickstyle.cpp tests/auto/controls/data/tst_popup.qml Change-Id: I7b7bb5f9c63b32eef65c9b2e68f56baa3da69cff
| * Fix Shortcuts in Popups with window context not being activatedMitch Curtis2018-03-221-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, this code wouldn't work: Popup { id: popup Shortcut { sequence: "Tab" onActivated: popup.visible = !popup.visible } } Even though Popup is aware of its Window, the Shortcut object is parented to Popup::contentItem, which does not have a Window associated with it while the Popup is hidden. The fix is to check if the item has a window in QQuickShortcutContext::matcher(), so that that check fails and the QQuickPopup itself is used to access the window. Change-Id: Ia1c5d75ad6b82fb4c8b7664b6d418d84428b1ddf Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Add anchors property to Popup to allow centering in parent/windowMitch Curtis2018-03-221-3/+75
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, users must manually position their Popup using x and y bindings: Popup { x: (parent.width - width) / 2 y: (parent.height - height) / 2 } This patch adds an anchors property so that you can do this instead: Popup { anchors.centerIn: parent } It's also possible to conveniently center within the window from anywhere within the scene (106e7b63 also documents an alternative way of doing this using Overlay): Window { id: window Pane { Popup { anchors.centerIn: window } } } QQuickAnchors were never used with Popup, because we cannot use the QQuickAnchors implementation as-is, as the visual QQuickItem parent is not the actual parent item of QQuickPopupItem. Currently just centerIn is supported, as that's the most common use case. [ChangeLog][Controls][Popup] Added anchors.centerIn to Popup to allow a covenient way of centering a popup. Task-number: QTBUG-60354 Change-Id: Ia030f812df9da646fea8f373ef6199a21205ffbd Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10J-P Nurmi2018-01-311-0/+8
|\ | | | | | | Change-Id: I697f98d5214f487c915032d744ec593da05368a8
| * Control: fix background size regression caused by deferred executionJ-P Nurmi2018-01-221-0/+8
| | | | | | | | | | | | Task-number: QTBUG-65880 Change-Id: Ic4f9fb087f4a78bd4c6257828011240186b6b22e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | tst_popup::test_margins(): use T.PopupJ-P Nurmi2017-07-211-1/+1
| | | | | | | | | | | | | | | | The test assumes that the background doesn't have implicit size => doesn't pass with the Imagine style that uses an image element. Change-Id: Id40eb9b7093fdd6ef80c474c97a18d8cea27a493 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Fix tst_popup::test_size()J-P Nurmi2017-07-211-0/+4
| | | | | | | | | | | | | | The same fix we applied to tst_tabbar::test_layout() earlier. Change-Id: Id6d67aef66f01c14275c86dbd9ed0a7fa4244640 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add Overlay attached properties and signalsJ-P Nurmi2017-06-261-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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>
* | Add Popup::openedJ-P Nurmi2017-06-061-12/+15
|/ | | | | | | | | [ChangeLog][Controls][Popup] Added an "opened" boolean property that holds whether a popup is fully open. That is, the popup is visible and neither the enter nor exit transitions are running. Change-Id: I18a1403be381c113fdbcc4211e267f68632984b7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* tst_controls: use TestCase::createTemporaryObject()J-P Nurmi2017-05-091-4/+2
| | | | | Change-Id: Iec2e4fdba18402762c6d6580abf8e677d5ae583c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* tst_popup: get rid of waitForRendering()J-P Nurmi2017-04-271-1/+6
| | | | | Change-Id: I4db519712ad3d2aa53d8fa7cd387c8a893fc6472 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Update license headers to silence qtqa/tst_license warningsJ-P Nurmi2017-02-241-2/+12
| | | | | | | | | | Sync with the qtbase/header.XXX. The license headers were matching qtbase/header.XXX-OLD, which makes qtqa/tst_license flood warnings: Old license being used for foo.qdoc Change-Id: I199bf303a2d648e0d5f7bc01cb0814a5f945eeff Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-251-0/+10
|\ | | | | | | Change-Id: I83cbec9264a8bc620badf210eee53b57f2b93ff0
| * QQuickPopup: allow QQuickWindow as a parentJ-P Nurmi2017-01-241-0/+10
| | | | | | | | | | | | | | | | Previously it would unintuitively complain that "cannot find any window to open popup in" if a window was passed as a parent. Change-Id: I984d4c941afae12733a9c1c2f0441da867298aa1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | tst_controls: update import versions for controls and templatesJ-P Nurmi2017-01-121-2/+2
| | | | | | | | | | Change-Id: I104bc44c361351719449cab94dcb14c96e91e32f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2017-01-111-1/+1
|\| | | | | | | Change-Id: If797ac58344b20e8de4379343131c097247ba2f2
| * Welcome to 2017J-P Nurmi2017-01-091-1/+1
| | | | | | | | | | Change-Id: If68cff4efacc7dc5719c8b8e61937e85e9076870 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | tst_popup: use TestCase's new createTemporaryObject functionsMitch Curtis2016-12-191-55/+25
|/ | | | | | | | This ensures that the appropriate objects are destroyed at the end of each test function, even if the test fails. Change-Id: Ie0123b8dead53967a080cceef144bba15ece19e1 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-10-311-0/+31
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/CheckIndicator.qml src/imports/controls/RadioIndicator.qml src/imports/controls/RangeSlider.qml src/imports/controls/Slider.qml src/imports/controls/SwitchIndicator.qml Change-Id: I32612d2f905ffa02dbaedbb1f84c8237fbd66db3
| * QQuickPopup: fix binding loops with size-dependent positioningJ-P Nurmi2016-10-271-0/+31
| | | | | | | | | | | | | | | | | | | | Dependencies between popup's size and position easily lead to recursion into reposition(). Blocking recursive reposition() calls messes up the positioning, so schedule polish events instead. Task-number: QTBUG-56755 Change-Id: I72afd14573e5cd57f8162df04e193d4c42fd7236 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-10-071-55/+18
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-progressbar-disabled.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-progressbar-normal.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-checked.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-disabled.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-focused.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-normal.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-disabled.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-first-handle-focused.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-normal.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-second-handle-focused.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-second-handle.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-slider-disabled.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-slider-focused.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-slider-normal.qml src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-tabbar-explicit.qml src/quicktemplates2/qquickmenu.cpp tests/auto/controls/data/tst_buttongroup.qml tests/auto/controls/data/tst_swipedelegate.qml Change-Id: Ib6042a0ad716f557927e7412d17ea8957d06c015
| * auto tests: prefer creating signal spies locally where neededJ-P Nurmi2016-10-071-55/+18
| | | | | | | | | | | | | | | | | | | | | | It is tedious to always add new static SignalSpy instances for each tested signal. Just create signal spies locally in the same place where they are used. This makes it much more convenient to create more signal spies to achieve better coverage. This practice has been already used in newly written tests. Change-Id: I7f56c4b3cea0c55c34b85254f69a88ec73b8607f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Revert "Popup: expose flip API"J-P Nurmi2016-09-221-35/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 09706e8f9fc481d848a3616cace58baf5bc8b67c. It was a bit rushed to expose the allow*Flip properties. We have now added several other similar internal allowFooBar flags, so clearly a more sustainable solution is to craft some kind of horizontal and vertical sizing/positioning policies out of them. So, remove this unreleased API while we still can, so we don't have to deprecate it right away. Conflicts: src/imports/templates/qtquicktemplates2plugin.cpp Change-Id: Iea33c11805071499b472b18426bbdc8d871a4a58 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-221-5/+85
|\| | | | | | | Change-Id: I37aab846346692fd4bff08b0dbab66db3a8e2716
| * Fix QQuickPopup::resetWidth/Height()J-P Nurmi2016-09-211-0/+18
| | | | | | | | | | | | | | | | | | | | When reseting the explicit size of a popup, the popup items geometry does not necessarily change. However, it affects the positioning of the popup whether it has explicit size or not. For that reason we must ensure that the popup gets repositioned as appropriate. Change-Id: I2dcd895eb7a1adc9c6a804bed4731edac1d550ec Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * QQuickPopup: fix negative marginsJ-P Nurmi2016-09-211-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | The documentation states: A popup with negative margins is not pushed within the bounds of the enclosing window. Therefore QQuickPopupPrivate::reposition() must not subtract negative margins to calculate the available bounds. Change-Id: I626772970bf3d5d9eefbb13811ea1003a85bcf0b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Fix Popup to respect explicit sizeJ-P Nurmi2016-09-191-5/+43
| | | | | | | | | | | | | | | | | | [ChangeLog][Controls][Popup] Fixed to respect explicitly set width and height. Task-number: QTBUG-56025 Change-Id: I7c8b0dcf59459a313c4c52eda44de45f1ab648ea Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-09-061-44/+28
|\| | | | | | | Change-Id: Ief98cd56abd13cfa4e30578e150207462a8243b8
| * Fix drawer visibility and overlay event handlingJ-P Nurmi2016-09-061-44/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drawers were visible all the time, lurking at the window edges to be able to catch presses and drag themselves visible when appropriate. This change moves the handling of window edge presses from QQuickDrawer to QQuickOverlay, making it possible to show and hide drawers like any other popups. Instead of having all drawers visible all the time, we just keep QQuickOverlay visible when there are any registered drawers, even hidden ones. Furthermore, this change makes modal popup/drawer background dimming items accept mouse press events just like they accept hover events to ensure that a modal overlay does not leak input events through. When the background dimming of a modal drawer has been dragged over the drag-threshold, the drawer simply steals/grabs mouse to start dragging of the drawer. Task-number: QTBUG-54794 Task-number: QTBUG-54800 Task-number: QTBUG-55022 Task-number: QTBUG-55703 Task-number: QTBUG-55713 Change-Id: I65fb38fcf1466d4e41192c4321d80fb90b49da9a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-09-021-2/+8
|\| | | | | | | Change-Id: I82da1e547c4ead1181ade19f77c62651c00998a3
| * Popup: respect dynamic dim & modal changesJ-P Nurmi2016-09-021-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | What comes to the visual background dimming, popups did not respect dynamic 'dim' or 'modal' property changes. This was half-intentional, because it was thought an unrealistic use-case to toggle these while the popup is visible. As a result, the background dimming was missing if a popup was made visible in a declarative way, and either 'dim' or 'modal' was evaluated after the popup was already visible. Task-number: QTBUG-54797 Change-Id: Icfb171e619540fef2d91908867b702790cde6c32 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-08-231-1/+5
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/material/qquickmaterialstyle.cpp src/imports/controls/universal/qquickuniversalstyle.cpp src/quicktemplates2/qquickpopup_p_p.h src/quicktemplates2/qquicktooltip.cpp tests/auto/auto.pro Change-Id: I88b347dd85278e14f7b2ca468e30648c6432b6f2
| * Close parentless popupsJ-P Nurmi2016-08-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A parentless popup is not visible anywhere, and is not even associated to a QML engine. Attempting to execute transitions would crash. Make sure to remove any event filters (when using a plain QML Window, like with QML TestCase) when a popup is made parentless. This ensures that if the global shared tooltip was shown on an item that was destroyed, the tooltip won't keep interfering with the window where it was last shown. Change-Id: I87bf9f8dda2fbcc5d1b83d1b83a66a6b9e718eb6 Task-number: QTBUG-55347 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into devJ-P Nurmi2016-07-221-4/+7
|\| | | | | | | Change-Id: I82c2b8d97d639e24147118a2ca6276ae70195b45
| * Popups: fix overlay visibilityJ-P Nurmi2016-07-221-4/+7
| | | | | | | | | | | | | | | | | | | | Make sure popup overlay dimmers gets destroyed when popups are closed, and thus, re-parented out of the window overlay. The window overlay item is hidden when there are no child items, so this fixes the issue that the window overlay item was left visible after closing popups. Change-Id: Id2ffe43b706ffcc5cda83abd75354ef04f893745 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Popup: expose flip APIJ-P Nurmi2016-07-091-2/+37
| | | | | | | | | | | | | | | | | | [ChangeLog][Popup] Added allowVerticalFlip and allowHorizontalFlip properties to control whether flipping is allowed to fit a popup inside the window. Change-Id: Id14a8846a1e2d07e98207da7c2b2765c202dbaf9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Bump up all controls and templates imports to version 2.1J-P Nurmi2016-07-081-2/+2
|/ | | | | | | | | | | | Controls must import templates version 2.1 in order to "inherit" 1-revisioned properties, methods, and signals. So far, this has been done case by case, but it's less error prone and more clear to change them all. For example, if you ever see a source file pasted/linked somewhere, it's easy to identify the version it belongs to. Change-Id: I41609ec1a22bc05ac3e79f953a147ca42d9e0786 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Make Overlay.modal and modeless ComponentsJ-P Nurmi2016-05-231-42/+72
| | | | | | | | | | | | | | | | This way we can simply instantiate a visual overlay for each modal or dimming popup without having tricky problems with overlay's stacking order. It makes also sense to not instantiate the overlays for hidden popups. Coincidentally, this change also fixes a problem that the overlay turned out to be _always_ visible since a hidden overlay background was always instantiated no matter if there were open popups, or popups at all. Change-Id: Ieb64a72c827d0a005418027428378ebe04f41117 Task-number: QTBUG-53519 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Popup: respect "dim: false" for modal popupsJ-P Nurmi2016-05-121-0/+18
| | | | | | Task-number: QTBUG-53309 Change-Id: I024dfa32342a7c936f5ea53586c11e50d65845e9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickPopup: emit xChanged() and yChanged() when _local_ coords changeJ-P Nurmi2016-05-111-0/+18
| | | | | | | | | | | Emitting xChanged() and yChanged() when the (scene) geometry of the internal popup item changes is not sufficient, because QQuickPopup operates in the parent item's coordinate space. When a popup is pushed inside the window margins, the local coordinates change, but the global coordinates don't. Change-Id: I296f1ecd1d1e882c2ff730a2bf68641bd57cbb4f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Popup: use margins to determine whether to push inside window boundsJ-P Nurmi2016-05-101-0/+28
| | | | | | | | | | | | | | Previously, we were planning to introduce complex policy flags to make it possible to specify whether a Popup is allowed to go outside the screen or not. Using margins for that purpose avoids the need of introducing such dedicated API just for that. From now on, margins are used to determine whether a popup is pushed to fit inside the window bounds (margins removed), and implicit size is used to determined whether a popup is resized to fit inside the window. In other words, a popup with negative margins and no implicit size is allowed to move outside the window bounds. Change-Id: Ife1665755e4dae434751977ae3289eb1aa4f3c6d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Popup: make x() and y() return the effective coordinatesJ-P Nurmi2016-05-091-0/+50
| | | | | | | | | And trigger change signals appropriately. This makes it possible for the iOS style to know where the ComboBox popup is actually positioned so it can visualize the popup curve appropriately. Change-Id: I6cec6cbf220736c658357aee10f6d31e08531ba2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix overlay stacking order for multiple modal popupsNikita Krupenko2016-05-091-5/+43
| | | | | | | | This needed when using multiple drawers in application. Task-number: QTBUG-53066 Change-Id: I81dbaeb2b974dc18a66bac2cee6b07516eb97a23 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>