aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickpopup_p_p.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-05-071-44/+45
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quicktemplates2/qquickabstractbutton_p_p.h src/quicktemplates2/qquickcombobox.cpp src/quicktemplates2/qquickcontainer.cpp src/quicktemplates2/qquickcontrol.cpp src/quicktemplates2/qquickcontrol_p_p.h src/quicktemplates2/qquickdialog_p_p.h src/quicktemplates2/qquickdialogbuttonbox.cpp src/quicktemplates2/qquickdialogbuttonbox_p_p.h src/quicktemplates2/qquickdrawer.cpp src/quicktemplates2/qquickmenubar.cpp src/quicktemplates2/qquickmenubar_p_p.h src/quicktemplates2/qquickpage.cpp src/quicktemplates2/qquickpage_p_p.h src/quicktemplates2/qquickpane.cpp src/quicktemplates2/qquickpane_p_p.h src/quicktemplates2/qquickpopup.cpp src/quicktemplates2/qquickpopup_p_p.h src/quicktemplates2/qquickrangeslider.cpp src/quicktemplates2/qquickscrollview.cpp src/quicktemplates2/qquickslider.cpp src/quicktemplates2/qquickspinbox.cpp src/quicktemplates2/qquickswipeview.cpp src/quicktemplates2/qquicktabbar.cpp src/quicktemplates2/qquicktextarea_p_p.h src/quicktemplates2/qquicktextfield_p_p.h src/quicktemplates2/qquicktheme_p.h Change-Id: I6e2b8fe99e51e3e26c87546aa66af045bc429ec4
| * Templates: use C++11 default member initializationJ-P Nurmi2018-05-041-45/+46
| | | | | | | | | | | | | | | | | | | | | | The code is more readable and less error-prone (this patch caught a few uninitialized members) when the members are initialized in the same place where they are declared. In many cases, empty default destructors can be entirely removed, and we get faster implicitly declared inline default constructors defined by the compiler. Change-Id: I14c5448afc901f9b2ac5965f28c1c26c0b646c08 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Make QQuickPopupPrivate::reposition() non-virtualJ-P Nurmi2018-05-031-1/+1
| | | | | | | | | | Change-Id: I3b028dd28cc7ca15a2d1319afdb529d4b8cacca9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickPopup: prepare for overriding the positionerJ-P Nurmi2018-05-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Create the positioner lazily to make it possible for QQuickPopup sub-classes to override the positioner, and give the upcoming QQuickPopupPositioner sub-classes access to the popup instance. - QQuickDrawer has custom positioning along the window edges - QQuickMenu has custom positioning for cascading sub-menus - in the future, native menus, native tooltips, and top-level popups/dialogs will also need different positioners. Change-Id: I7c3ac2c38b00ef92410b2cdf4e51fa974efb534f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickPopupItem: inherit QQuickPaneJ-P Nurmi2018-04-061-2/+0
| | | | | | | | | | Change-Id: Ia32f3004cf540f995344286683d754558369f279 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Use Q_PRIVATE_PROPERTY for QQmlListPropertyJ-P Nurmi2018-04-041-0/+3
| | | | | | | | | | | | | | | | Hide QQmlListProperty, which is close to unusable in C++, from the templates C++ API. Change-Id: I9720fc3297fc625076a8a7553245852b641bc65a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add anchors property to Popup to allow centering in parent/windowMitch Curtis2018-03-221-0/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* QQuickPopup: add reset-method for closePolicyJ-P Nurmi2017-07-111-0/+1
| | | | | Change-Id: I05357bf0605eb152531ded3788437b1d52022528 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Move visual overlay background management to QQuickPopupJ-P Nurmi2017-06-231-0/+6
| | | | | | | | | | | | | | During the early days, there was only one visual overlay background dimmer, so QQuickOverlay was the natural choice to manage it. It was soon realized that multiple modal popups and drawers needed each their own background dimming. Now the implementation becomes simpler when each popup manages its own background dimming. This paves the road for the upcoming changes making it possible to provide background dimming without ApplicationWindow. Task-number: QTBUG-61336 Change-Id: I621db4efe4aa74c147f81f7aee8affebddb00d49 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-06-081-0/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/doc/src/qtquickcontrols2-index.qdoc src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc src/quicktemplates2/qquickapplicationwindow.cpp src/quicktemplates2/qquickmenu.cpp src/quicktemplates2/qquickmenu_p.h src/quicktemplates2/qquickpopup.cpp tests/auto/auto.pro Change-Id: I856a022d38abd84763127539f46ef032ddc53c3d
| * Let users disable the multi-touch supportJ-P Nurmi2017-06-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The newly added multi-touch support can create issues, especially together with Flickable that is unfortunately still not properly touch-compatible. The implementation is still based on synthesized mouse events, so things like Flickable::pressDelay that intercepts mouse presses and re-sends sends them after a delay, does not play well with touch-enabled controls. The easiest way we can disable the whole thing is to make multi- touch support a configurable feature, the same way hover support is. ./configure -no-feature-quicktemplates2-multitouch [...] Qt Quick Templates 2: Hover support .......................... yes Multi-touch support .................... no [ChangeLog][Templates] Added a configure feature for disabling multi- touch support (configure -no-feature-quicktemplates2-multitouch). Task-number: QTBUG-61144 Change-Id: I0003ae925c2a499ecb3e2a5b720088bd963d9ad3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-04-291-0/+3
|\| | | | | | | Change-Id: I77d6c2fdf916d909cde0e9a830414571f59781a7
| * Promote pressPoint to QQuickPopupJ-P Nurmi2017-04-281-0/+1
| | | | | | | | | | Change-Id: I5aac904b7fb9397f799817ccaf5e0eb04b0129a9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Add QQuickPopupPrivate::contains() for convenienceJ-P Nurmi2017-04-281-0/+2
| | | | | | | | | | | | | | This logic seemed to be repeated in several places... Change-Id: I3b74140c7d7e44fa6ada12cf7844d96086d99e47 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-04-271-4/+9
|\| | | | | | | Change-Id: I47fbec425594386f529623f2dcbddd7ec7a09ee7
| * Revise the press/move/release handlersJ-P Nurmi2017-04-261-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise the handlers are not able to control whether presses, moves and releases should be blocked or not. a) outside a non-modal popup, b) to popup children/content, or b) outside a modal popups's background dimming Change-Id: I637295fc3122cdcddb7727ec3939ec6a68a3cf98 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Pass timestamp to QQuickPopupPrivate::handlePress/Move/Release()J-P Nurmi2017-04-251-3/+3
| | | | | | | | | | | | | | QQuickDrawer needs the timestamp to calculate velocity. Change-Id: I1ab5fc2e492948a424a8c56e4b9788fc3d489333 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * QQuickPopup: tryClose() via handlePress() & handleRelease()J-P Nurmi2017-04-251-1/+4
| | | | | | | | | | | | | | | | | | This is a preparation step to make Drawer compatible with touch events. It will eventually override handlePress/Move/Release() to deal with both touch and mouse input. Change-Id: I8ae21f6909ca51f86f19dbe68a3e820e9af676ab Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-04-211-1/+9
|\| | | | | | | Change-Id: I67d0991de16ad1039848df5099db59ea6aa728f8
| * QQuickPopup: implement tryClose() for touch eventsJ-P Nurmi2017-04-211-1/+1
| | | | | | | | | | | | Task-number: QTBUG-58389 Change-Id: I40aef785cabda228f19c74a064187df509aa9916 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Prepare QQuickPopup for touch event handlingJ-P Nurmi2017-04-211-0/+8
| | | | | | | | | | | | | | | | | | Add acceptTouch() and handlePress/Move/Release/Ungrab() to QQuickPopupPrivate, similarly to the recent changes to QQuickControl. Task-number: QTBUG-58389 Change-Id: I45bc0c51f7db79d0d3291f4beee6dab45b158e8a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Unify the include convention for private headersJ-P Nurmi2017-02-241-2/+2
|/ | | | | Change-Id: Ic4d48f68dfedaa93dd69740cb22dff1113d7dc37 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>
* | Add Drawer::interactiveJ-P Nurmi2016-11-251-0/+1
| | | | | | | | | | | | | | | | | | | | [ChangeLog][Controls][Drawer] Added interactive property that specifies whether the drawer reacts to swipes. This can be used to make drawer a non-closable persistent side-bar. Task-number: QTBUG-53169 Change-Id: I00a794b5ce47b86fcb28e0db784ca0488cd13a7d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-11-151-0/+1
|\| | | | | | | | | | | | | Conflicts: src/quicktemplates2/qquickpopup.cpp Change-Id: I227b071476e569d13eebd7d11ed041fe30daa389
| * Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-021-0/+5
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/Drawer.qml src/imports/controls/Frame.qml src/imports/controls/GroupBox.qml src/imports/controls/Page.qml src/imports/controls/Pane.qml src/imports/controls/ToolBar.qml src/imports/controls/Tumbler.qml src/quicktemplates2/qquickapplicationwindow.cpp src/quicktemplates2/qquickpopup.cpp tests/auto/accessibility/data/busyindicator.qml tests/auto/accessibility/data/button.qml tests/auto/accessibility/data/checkbox.qml tests/auto/accessibility/data/control.qml tests/auto/accessibility/data/dial.qml tests/auto/accessibility/data/label.qml tests/auto/accessibility/data/menu.qml tests/auto/accessibility/data/pageindicator.qml tests/auto/accessibility/data/popup.qml tests/auto/accessibility/data/progressbar.qml tests/auto/accessibility/data/radiobutton.qml tests/auto/accessibility/data/rangeslider.qml tests/auto/accessibility/data/scrollbar.qml tests/auto/accessibility/data/scrollindicator.qml tests/auto/accessibility/data/slider.qml tests/auto/accessibility/data/spinbox.qml tests/auto/accessibility/data/switch.qml tests/auto/accessibility/data/tabbar.qml tests/auto/accessibility/data/tabbutton.qml tests/auto/accessibility/data/textarea.qml tests/auto/accessibility/data/textfield.qml tests/auto/accessibility/data/toolbar.qml tests/auto/accessibility/data/toolbutton.qml tests/auto/accessibility/tst_accessibility.cpp Change-Id: Ibc3f592162e97bef9147b35da8c9a79e73a907e6
| | * QQuickPopup: let subclasses control accessibility attributesJ-P Nurmi2016-11-021-0/+1
| | | | | | | | | | | | | | | | | | | | | Required for QQuickToolTip (text) and QQuickDialog (title). Change-Id: Ia4a4c948548b05e69bd6319228d73c3baed44abe Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | * QQuickPopup: use QShortcutMap to grab Back & Escape keysJ-P Nurmi2016-11-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes CloseOnEscape play well together with QML Shortcut, as illustrated by the Gallery example. For example, navigate to any control page, open the options menu, and hit escape twice. First, the options menu closes, and then the stackview navigates back. Another nice example is to open the style combobox in the settings dialog, while being navigated to one of the control pages, and hit escape three times. First, the combobox closes, then the settings dialog closes, and finally, the stackview navigates back. NOTE: tst_combobox had to be updated, because it was assuming that the popup is closed when escape is released. Now that the system is based on shortcut overrides, it gets closed on press instead. Task-number: QTBUG-56562 Change-Id: I8b8901bcba7deebd82b181af42f335d95a7cb469 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-10-311-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quicktemplates2/qquickpopup.cpp src/quicktemplates2/qquickpopup_p_p.h Change-Id: I33241dfd15a320e6ae2f0c056252b0ec6be7c6f6
| * | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-10-311-0/+3
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Popup: add spacing support for Dialogv5.8.0-beta1J-P Nurmi2016-10-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This helps to get the dialog layout right (a separate follow-up commit), because we don't need to mess with the paddings of the header, content, and footer, based on their existence and visibility, but we can also adjust the spacing which gets automatically added between the building blocks when they exist and are visible. Change-Id: Ie8b587eeb9d0fb4a8f42baf957879d40bbd3385c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | QQuickPopup: move the implementation of reposition() to the positionerJ-P Nurmi2016-10-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | In the future, the exact type of positioner might vary depending on whether the popup is an item or a window. Change-Id: Id17d1976c7bca72cecb3e9567355264526527286 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Move QQuickPopupItem out of qquickpopup.*J-P Nurmi2016-10-261-40/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll start slowly refactoring all QQuickPopupItem-specific things out of QQuickPopup. In the future the presentation/backend of a popup could be, under certain circumstances, a native menu popup window, for example. Change-Id: I8508da14ab52c65221afc3a9b7f07c371f0416d2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Move QQuickPopupPositioner out of qquickpopup.*J-P Nurmi2016-10-261-24/+1
|/ / | | | | | | | | | | | | qquickpopup.cpp has grown massive. Change-Id: Ibbc83331b642d854d4f7dc2aebe8b3fc46ec7bee Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-10-031-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/quickcontrols2/gallery/gallery.qrc src/imports/calendar/doc/snippets/qtlabscalendar-calendarmodel.qml src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow-layout.qml src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow.qml src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid-layout.qml src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid.qml src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn-layout.qml src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn.qml src/imports/controls/doc/qtquickcontrols2.qdocconf src/imports/controls/doc/snippets/qtlabscalendar-calendarmodel.qml src/imports/controls/doc/snippets/qtlabscalendar-dayofweekrow-layout.qml src/imports/controls/doc/snippets/qtlabscalendar-dayofweekrow.qml src/imports/controls/doc/snippets/qtlabscalendar-monthgrid-layout.qml src/imports/controls/doc/snippets/qtlabscalendar-monthgrid.qml src/imports/controls/doc/snippets/qtlabscalendar-weeknumbercolumn-layout.qml src/imports/controls/doc/snippets/qtlabscalendar-weeknumbercolumn.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-calendarmodel.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-dayofweekrow-layout.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-dayofweekrow.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-monthgrid-layout.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-monthgrid.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-weeknumbercolumn-layout.qml src/imports/controls/doc/snippets/screenshots/qtlabscalendar-weeknumbercolumn.qml src/imports/controls/qtquickcontrols2plugin.cpp src/quicktemplates2/qquicktooltip.cpp src/quicktemplates2/qquicktooltip_p.h src/quicktemplates2/qquicktumbler.cpp tests/auto/controls/data/tst_spinbox.qml tests/auto/controls/data/tst_tumbler.qml tests/auto/qquickmaterialstyle/data/tst_material.qml Change-Id: I25b7473b47739043b6f768603bece30b18021318
| * QQuickPopupPrivate: unbreak ubsan buildMarc Mutz2016-10-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The tst_drawer test uses members of the class, but it was not (autotest-) exported. That's no problem as long as the function called is inline, or a data member is accessed, but in a UBSan build, the typeid of a poly- morphic class is checked on each access, so the typeinfo object must be exported. Fix by autotest-exporting the class and defining the dtor out-of-line to pin the typeinfo and vtabe to a single TU. Change-Id: I1524e63a330dbdb0ae1ceb60263b589734bfd3aa Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-221-0/+7
|\| | | | | | | Change-Id: I37aab846346692fd4bff08b0dbab66db3a8e2716
| * QQuickDrawer: allow resizing and positioningJ-P Nurmi2016-09-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make QQuickDrawer re-use QQuickPopup's reposition() implementation. This way QQuickDrawer gains support for proper positioning and margins "for free". Now it is possible to place Drawer below the window header, for instance: import QtQuick 2.0 import QtQuick.Controls 2.0 ApplicationWindow { id: window visible: true header: ToolBar { } Drawer { y: header.height width: window.width * 0.6 height: window.height - header.height } } [ChangeLog][Controls][Drawer] Made it possible to control the vertical position of a horizontal drawer, and vice versa. This allows placing a drawer below a header/toolbar, for instance. Task-number: QTBUG-55360 Change-Id: I63621195efeefa2ea88935d676771b392e0a4030 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Move resizeOverlay() to QQuickPopupPrivateJ-P Nurmi2016-09-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a preparation step for making drawers movable. Drawer must be later able to resize the overlay to fit the area of the window that is covered by the drawer. For example, if the Drawer is below the header, it can resize the overlay so that it won't be on top of the header. Change-Id: I2cfd025a31f3a517575f3dbf9b972dcd6957715c Task-number: QTBUG-53168 Task-number: QTBUG-55360 Task-number: QTBUG-53609 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Fix Popup to respect explicit sizeJ-P Nurmi2016-09-191-0/+2
| | | | | | | | | | | | | | | | | | [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-8/+8
|\| | | | | | | Change-Id: Ief98cd56abd13cfa4e30578e150207462a8243b8
| * QQuickDrawer: fix the internal transition stateJ-P Nurmi2016-09-061-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When QQuickDrawer was visible all the time, it did not emit the visibility related signals at all. Now the signals are emitted, but aboutToShow() and visibleChanged() were emitted twice when a drawer was manually dragged open. First time when the dragging begins (the drawer becomes effectively visible), and second time when the open transition begins after mouse/touch release. This change ensures that the signals won't be emitted again when the transition begins, in case they were already emitted. Change-Id: I2a175c9e86a480d5cd23e306f41f0d85e2416f75 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-08-231-5/+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
| * QQuickPopup: don't keep a reference to a destroyed parentJ-P Nurmi2016-08-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | Move the itemDestroyed() listener from QQuickPopupPositioner, which is only active while the popup is visible, to QQuickPopupPrivate instead. This way the popup gets a notification when the parent gets destroyed while the popup is hidden. Task-number: QTBUG-55347 Change-Id: Ic72206cc05996c23062e814799a030c369fc6288 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * qquickpopup_p.h: add missing override keywordsJ-P Nurmi2016-08-181-4/+4
| | | | | | | | | | Change-Id: I3ee830e88fd9621ffa4f81b2106c33c06ca7d1e9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Fix build after QQuickItemChangeListener changesJ-P Nurmi2016-07-131-1/+1
|/ | | | | | | | qtdeclarative commit e2c296c changed the itemGeometryChanged() signature. Change-Id: Ibe163e1d6fe8535a4ec01de047d72a0d4863979d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Make Overlay.modal and modeless ComponentsJ-P Nurmi2016-05-231-0/+1
| | | | | | | | | | | | | | | | 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>
* Don't restore focus to contentItem when a focusless popup was closedMitch Curtis2016-05-191-0/+1
| | | | | | | | | For example, a ToolTip shouldn't affect focus when it closes. Task-number: QTBUG-53420 Task-number: QTBUG-53451 Change-Id: Ic945e98a2ffd86e9f9f06724b16e5f240c3f94de Reviewed-by: Liang Qi <liang.qi@qt.io>