aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Dialog: emit accepted()/rejected() before closed()Mitch Curtis2020-09-022-8/+36
| | | | | | | | | | | | | | | | | | | | | | Before this patch, the documentation stated the following for e.g. accept(): "Closes the dialog and emits the accepted() signal." In practice, styles that have enter and/or exit transitions for Dialog result in closed() being emitted after accepted() (and rejected()). As there is no way to guarantee this particular order, we should be consistent and swap it around so that accepted()/rejected() are emitted first. [ChangeLog][Important Behavior Changes] Dialog's accepted() and rejected() signals are now emitted before closed() when calling done(), accept() and reject(). Fixes: QTBUG-85748 Change-Id: I706dda8de28c350d65e3188787af8f66a2c5f07d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* ToolTip: only begin timeout when openedMitch Curtis2020-09-024-11/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old sequence of events was: 1. setVisible(true) (enter transition begins) 2. startTimeout() 3. opened() (enter transition ends) 4. time out elapses (exit transition begins) 5. closed() (exit transition ends) In most cases, a timeout would be longer than an enter transition, so the only (barely) noticeable issue would be a slightly quicker timeout than what was set. However, if the timeout was shorter than the enter transition, then the sequence would be: 1. setVisible(true) (enter transition begins) 2. startTimeout() 3. time out elapses (exit transition begins) 4. closed() (exit transition ends) This can result in the enter transition being interrupted and the tooltip never being properly visible. Avoid this by only starting the timeout when opened() has been emitted. This also brings the behavior in line with what would be expected when reading the documentation. [ChangeLog][Important Behavior Changes] ToolTip's timeout now begins only after opened() has been emitted. This bug fix results in tooltips with enter transitions being visible for the entire duration of the timeout property. This means that they are visible slightly longer than they were before, so it may be worthwhile to visually check tooltips in your application and adjust timeouts if necessary. Fixes: QTBUG-82257 Change-Id: Iebad64a8cca1f328f9ce85aa78ea0f12918dadf1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Menu: Do not unblock parent shortcuts while menu popup is openYuya Nishihara2020-09-023-6/+37
| | | | | | | | | | Otherwise &mnemonic shortcut in the active menu would be stolen by one of the ambiguous items shadowed by the active menu. Fixes: QTBUG-86276 Pick-to: 5.15 Change-Id: I5a1caea60da937fef409720f1ca11b99045ed4b8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Menu: Update mnemonic tests to wait until menu is fully closedYuya Nishihara2020-09-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise tst_qquickmenubar of Material style would fail as follows: 1. Type Alt+E to open Edit menu 2. Type Alt+H to switch to Help menu Since the key events of (2) are generated really quick, (2) wouldn't open the Help menu. The Edit menu still exists in the popup stack and blocks the MenuBar shortcuts. I originally thought the closing popup shouldn't block the parent shortcuts. for (QQuickPopup *popup : popups) { if (qobject_cast<QQuickToolTip *>(popup)) continue; // ignore tooltips (QTBUG-60492) + if (!popup->isOpened()) + continue; // closing, or not yet fully open However, the shortcuts in the closing popup are enabled until the popup gets invisible. So changing the resolution of ambiguous shortcuts would introduce another inconsistency. For example, unambiguous shortcut in the closing popup could be triggered, whereas ambiguous one wouldn't win because of the registration order. Task-number: QTBUG-86276 Pick-to: 5.15 Change-Id: I3510cc7a06294e1d1d3512297fc9389bddc4da3b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Menu: Close menu by Alt key on platforms supporting mnemonic shortcutsYuya Nishihara2020-09-025-20/+88
| | | | | | | | | | | | | | | | | | | | | | | This is close to what the widget QMenu (and Windows native menu) do. Before, the active menu was left open and Alt+<key> shortcut would be delivered to one of the matching items, which might be an item shadowed by the active menu popup. With this patch, the active menu is closed on Alt key pressed so the subsequent shortcut event will (likely) be delivered to the matching MenuBar item. Since I'm going to fix the issue of &mnemonic key conflict resolution, I need to first change the way of delivering a shortcut event to the parent MenuBar. The test cases use the undocumented function to simulate low-level behavior of Alt itself and Alt+<key> events. Apparently, there's no public QTest function to send multiple key events without releasing Alt modifier. Task-number: QTBUG-86276 Pick-to: 5.15 Change-Id: I0ed6ea94f0fee7983a5cb6352d388036d3a1f8df Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add changes file for Qt 5.15.1Antti Kokko2020-08-311-0/+49
| | | | | | | Change-Id: I25293c4357635590278bb018ffb71422b75192a1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit c0daab494a58ff881afc0252872359e5291a1478) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix crash when importing a style without first importing ControlsMitch Curtis2020-08-2713-0/+342
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following code import QtQuick import QtQuick.Controls.Material ApplicationWindow { width: 200 height: 200 visible: true } produced an error in Qt 5: QQmlApplicationEngine failed to load component qrc:/main.qml:4 ApplicationWindow is not a type In Qt 6, the types are provided by the qmldir, so the import will work, but as QtQuickControls2Plugin has not been loaded, there is no QQuickTheme object yet, and so the style will not work as expected (any colors, fonts, etc. from the theme will not be used by the style). Produce a warning for this scenario, and test each style to make sure that we don't crash. Fixes: QTBUG-86280 Change-Id: I99f940255f56da0522ad192ae5da4c9110ea308e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Material: fix binding loops when binding between attached propertiesMitch Curtis2020-08-276-63/+230
| | | | | | | | | | | | | | | | | | | | | | | | | The paletteChanged signal was used as the change signal for a lot of properties. The problem with this was this binding, for example: Material.foreground: Material.toolTextColor results in foreground being set, which emits paletteChanged. toolTextColor has paletteChanged as its change signal, so that is triggered and then the foreground binding is re-evaluated in the middle of already being evaluated. I haven't found a way to fix this for toolTextColor yet, so we temporarily skip emission of toolTextColorChanged when foreground changes. This means that some text will be the wrong color when foreground is changed after startup. For other properties, using more specific change handlers is enough to solve any binding loops. Task-number: QTBUG-85699 Pick-to: 5.15 Change-Id: Ied52d4c38914765ed5c75e234954f4baabaaa9af Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Remove unnecessary depends from qmldirsMitch Curtis2020-08-275-6/+0
| | | | | | | These are no longer needed. Change-Id: I1e6d6d2917fb8504e864620a8214cf6b6f060b60 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Remove all plugins.qmltypes filesMitch Curtis2020-08-267-6069/+0
| | | | | | | | | These files should now be automatically generated by both qmake and cmake. Task-number: QTBUG-82922 Change-Id: I3ba754bb343123442c7d56c9caf770a979489c7d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix CMake buildMitch Curtis2020-08-2648-892/+2018
| | | | | | Task-number: QTBUG-82922 Change-Id: I75f4a553a6bb260f77bfa791f12fa42e80131e09 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Register QQuickDummyType as anonymous typeUlf Hermann2020-08-262-0/+68
| | | | | | | | | This way we get to declare a QML_ADDED_IN_VERSION. This is necessary for version 2.x of the module to be found when version 6.x is registered. Task-number: QTBUG-85151 Change-Id: Ia156763ffa2ecc6a35f0421c68df85fba646cec7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Bump import version to 6.0Mitch Curtis2020-08-2621-16/+278
| | | | | | Task-number: QTBUG-82922 Change-Id: I2eb924eaaaddbe75d342f59f5fb3cd30c4a84fef Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Use qmlRegisterModuleImport() to register stylesMitch Curtis2020-08-2668-712/+1378
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch completes the cumulative work done in previous patches. - Uses qmlRegisterModuleImport() to register styles. This has some added requirements: - Each style must now be a QML module -- that is, it must have a qmldir file. - As a result of the above, the module must be available within the QML import path in order to be found. - The various forms of accepted style names have been reduced down to one ("Material", "MyStyle", etc). See below for an explanation of why. - The following API in QQuickStyle is removed: addStylePath(), availableStyles(), path(), stylePathList(). These no longer make sense now that we reuse the existing QML import system. - Adds the tst_qquickstyleselector auto test back as "styleimports". qmlRegisterModuleImport() vs resolvedUrl() Previously we would use QQuickStyleSelector to select individual QML files based on which style was set. We'd do this once when QtQuick.Controls was first imported. With Qt 6, and the requirement that each style be a proper QML module, qmlRegisterModuleImport() was introduced. This allows us to "link" one import with another. For an example of what this looks like in practice, suppose the style was set to "MyStyle", and the fallback to "Material". The "QtQuick.Controls" import will be linked to "MyStyle", "MyStyle" to "QtQuick.Controls.Material", and as a final fallback (for controls like Action which only the Default style implements), "QtQuick.Controls.Material" to "QtQuick.Controls.Default". This is the same behavior as in Qt 5 (see qquickstyleselector.cpp): // 1) requested style (e.g. "MyStyle", included in d->selectors) // 2) fallback style (e.g. "Material", included in d->selectors) // 3) default style (empty selector, not in d->selectors) This is a necessary step to enable compilation of QML to C++. Reducing the set of accepted style names The problem In QtQuickControls2Plugin() we need to call QQuickStylePrivate::init(baseUrl()) in order to detect if the style is a custom style in QQuickStyleSpec::resolve() (by checking if the style path starts with the base URL). In Qt 5, init() is called in QtQuickControls2Plugin::registerTypes(), but in Qt 6 that's too late, because we need to call qmlRegisterModuleImport() in the constructor. qmlRegisterModuleImport() itself requires the style to have already been set in order to create the correct import URI ("QtQuick.Controls.X" for built-in styles, "MyCustomStyle" for custom styles). The solution By reducing the valid forms for style names down to one: ./myapp -style MyStyle we solve the problem of needing baseUrl() to determine if the style is a custom style or not, but needing to call it too early (since we now call qmlRegisterModuleImport() in QtQuickControls2Plugin(), which itself requires the style to have already been set). baseUrl() can't have been set before the constructor is finished. All of the various forms for _setting_ a style are still valid; environment variables, qtquickcontrols2.conf, etc. [ChangeLog][Important Behavior Changes] Custom styles must now have a qmldir that lists the files that the style implements. For example, for a style that only implements Button: --- module MyStyle Button 1.0 Button.qml --- In addition, there is now only one valid, case-sensitive form for style names: "Material", "MyStyle", etc. These changes are done to help enable the compilation of QML code to C++, as well as improve tooling capabilities. [ChangeLog][Important Behavior Changes] The following API was removed: - QQuickStyle::addStylePath() - QQuickStyle::availableStyles() - QQuickStyle::path() - QQuickStyle::stylePathList() - QT_QUICK_CONTROLS_STYLE_PATH This API is no longer necessary and/or able to be provided now that styles are treated as regular QML modules. Task-number: QTBUG-82922 Change-Id: I3b281131903c7c3c1cf0616eb7486a872dccd730 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Convert remaining imperative type registration to declarativeMitch Curtis2020-08-269-111/+16
| | | | | | Task-number: QTBUG-82922 Change-Id: I34e9f32d5f695aaac7acf6b4aac30e8a2311e0cf Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* List "privately" registered QML files in the qmldir for each styleMitch Curtis2020-08-263-0/+20
| | | | | | | | This is required in order to move away from imperative registration. Task-number: QTBUG-82922 Change-Id: I4b2a727d69e66c29629920a3711548e02f72ce49 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* List publicly registered QML files in the qmldir for each styleMitch Curtis2020-08-265-0/+310
| | | | | | | | | | | | | | | | | | | This is required in order to move away from imperative registration. Some styles do not have implementations for all types, in which case they fall back to the Default style. The list of those types are: AbstractButton 2.0 AbstractButton.qml Action 2.3 Action.qml ActionGroup 2.3 ActionGroup.qml ButtonGroup 2.0 ButtonGroup.qml Container 2.0 Container.qml Control 2.0 Control.qml ScrollView 2.2 ScrollView.qml (except Imagine) Task-number: QTBUG-82922 Change-Id: If51c8232d7a8b12f6d1f988cc7ce2d8edca1e467 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Remove all version numbers from QML importsMitch Curtis2020-08-261227-3471/+3471
| | | | | | | | | As of Qt 6, the latest version will be used by default. This saves us a lot of effort in terms of version bumps. Task-number: QTBUG-82922 Change-Id: I74eba8185ec3ccc75bc293d4b2ea87d59e2d9928 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Remove ".2" from TARGETPATH, resource prefixes, etc.Mitch Curtis2020-08-2634-46/+46
| | | | | | | | | | | | Qt Quick Controls 1 will be removed in Qt 6, so now we can have the simplified path for ourselves. Having the .2 in the path causes issues for importing now that the version is being bumped to 6. Task-number: QTBUG-82922 Change-Id: I0b92cdd44c42c19b1c82e7b9a7959b86ac26c6e2 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Register C++ types declarativelyMitch Curtis2020-08-26235-942/+1605
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adapt to the new way of registering C++ types. The types need to be seen at compile time so that code can be generated that invokes them. This patch: - Adds QML_* macros where applicable. - Adapts the build system files to the new way of registering modules. - Splits up the QtQuick.Controls[.*].impl files into their own plugins, as we can only register one QML module per .pro file. - Removes C++ type registration calls in every plugin. - Moves private types from src/quickcontrols2/quickcontrols2.pro to src/quickcontrols2/impl/quickcontrols2-impl.pro. Some of these types need to be exposed to QML, but quickcontrols2.pro is already in use to declare the QtQuick.Controls import (and also provides the public C++ QQuickStyle API), and the new QML_IMPORT_NAME/VERSION syntax only allows one module per project. As some of the types that need to be exposed to QML are also referenced by some C++ code (e.g. tests, etc.), we just move all of the private types to the new library. Follow-up patches will register the QML types declaratively. Task-number: QTBUG-82922 Change-Id: Iaf9ee106237d61701d57a8896f3822304c8151a6 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Move Default style out into its own pluginMitch Curtis2020-08-26118-99/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In upcoming patches, we start registering C++ types declaratively. A condition of doing so requires that each .pro corresponds to one QML module. This conflicts with the QtQuick.Controls import, which currently does quite a lot: - Registers (and selects) QML files for the style that was set - Registers private C++ utility types (such as IconLabel) that are useful for all styles under the QtQuick.Controls.impl import - Registers private C++ types that are only useful for the Default style (such as BusyIndicatorImpl). The reason it does so much can probably be explained by the intended usage of Qt Quick Controls 2; when you do import QtQuick.Controls 2.0 you get access to the QML types (e.g. Button) that the style you're using provides. So if you're using the Material style, you'll get a Material style button. API-wise, the button is identical to any other button, because the types in QtQuick.Templates are what we advertise as the public API. If we didn't have this functionality, users would need to import specific style imports to use controls, and the convenience of being able to simply start the application with a different style by e.g. passing an application argument would be lost. To support declarative registration of types while also supporting the existing use cases, we split out the Default-style-specific stuff into a QtQuick.Controls.Default import. Task-number: QTBUG-82922 Change-Id: Ib4f1620cae78d7acdc13d9ac0752a020bc22f3ea Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Stop using resolvedUrl() to resolve QML filesMitch Curtis2020-08-2624-721/+36
| | | | | | | | | | | | | | | | | | | | This is necessary to move away from imperative type registration of QML files (i.e. qmlRegisterType()). A later patch will use qmlRegisterModuleImport() to register the QtQuick.Controls import with the style set by the user, which will require each style to have a qmldir listing the files that it provides. Note that some plugins still register QML files, but these registrations will have to stay for now until we can split out "impl" plugins in later patches where those files can be registered. tst_qquickstyleselector will be added back in some other form in a follow-up patch. Task-number: QTBUG-82922 Change-Id: I8182533d9912ed493efda6eb91c69fc064af07ee Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Update dependencies on 'dev' in qt/qtquickcontrols2Qt Submodule Update Bot2020-08-241-2/+2
| | | | | Change-Id: Ibc205c36fa285e37898006fd39b2ceef99c96aa8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* tst_qquickpopup: fix setOverlayParentToNull testMitch Curtis2020-08-241-0/+2
| | | | | | | | Use the fix from 1d06eb3f8215b67c5061ee3a076df405724ff7ee. Fixes: QTBUG-86212 Change-Id: I407c56741806340235da81cca943b50cc6e92dd2 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QQuickSpinBox: fix another "function expressions as statements" warningMitch Curtis2020-08-202-1/+13
| | | | | | | | | | This amends d5fbbddd7794265f24d392d33c4874ac756cb9c9 by also fixing valueFromText(). Task-number: QTBUG-64151 Pick-to: 5.15 Change-Id: I02b053bb4d4579e86eaaa2279826f3b103800fdf Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Document that pop() does nothing if depth is less than or equal to 1Mitch Curtis2020-08-201-0/+3
| | | | | | | | | | This note is already in the detailed description, but users looking at pop() can easily miss that. Pick-to: 5.15 5.12 Task-number: QTBUG-85903 Change-Id: I92c71c8d98b2a83aefbc99229e5b16a6fb33b937 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Doc: Drop dependency on qtgraphicaleffectsPaul Wicking2020-08-191-1/+1
| | | | | | | qtgraphicaleffects is not part of 6.0, drop the doc dependency. Change-Id: I6170d19b148a860ef9516de6f4da58067ebb2f06 Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
* SwipeDelegate: don't allow calling close() when pressedMitch Curtis2020-08-192-0/+51
| | | | | | | | | | This conflicts with the behavior of SwipeDelegate. The released() or clicked() signals should be used instead. Fixes: QTBUG-85804 Pick-to: 5.15 Change-Id: I06111b63941f54c06f0e1b828d17264f37d765d5 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* SwipeDelegate: don't emit closed() when already closedMitch Curtis2020-08-192-2/+25
| | | | | | | | | | If the mouse is released while our position is 0, it means we were clicked, and we don't need to begin any transitions to close. Fixes: QTBUG-85806 Pick-to: 5.15 Change-Id: Ic521f48e2977c1a99dbecaa585792a7798b9d749 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Prevent against re-entering prepareExitTransition after a focus changeAndy Shaw2020-08-192-1/+37
| | | | | | | | | | | | | | | | | When a popup is hidden, then it will trigger a prepareExitTransition which can cause the active focus to be lost. If the popup's visibility is tied to that fact then it can retrigger the transition which means the active focus does not go back to where it should. Therefore, we check if hadActiveFocusBeforeExitTransition is false before going through that process as then it will only be called the first time the popup is hidden. Pick-to: 5.15 Fixes: QTBUG-85884 Change-Id: I68054aeb48447617b4235ce6467514a17f1073ba Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Get the scale of the popup item when setting the parent itemAndy Shaw2020-08-174-8/+36
| | | | | | | | | | | As there are some styles that will do an transition which animates the scale then we need to size and position based on the final scale it will have to avoid a jump after it has finished the transition. Pick-to: 5.15 Fixes: QTBUG-84488 Change-Id: I4571eb18c921e81de319838ac0e8d3fe3513d438 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* CMake: Don't find_package(Qt6QmlTools) directly for cross-buildsAlexandru Croitor2020-08-121-1/+1
| | | | | | | | | | | | | It will fail when cross compiling to a platform that has a different size value of CMAKE_SIZEOF_VOID_P than the host one. Instead call find_package() on the base package (Qml in this case) and it will look for QmlTools itself in a special way that that resets the value of CMAKE_SIZEOF_VOID_P, thus ensuring the package is found. Fixes: QTBUG-86012 Change-Id: Ibf7f06b8cfea0ccde10b7ca8429ef8ae598f93f2 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Fix event refactoring warnings and errorsMitch Curtis2020-08-119-44/+44
| | | | | Change-Id: I426b4f75066c9db72759398e4d76fd5323044d57 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix QQmlDirParser build error with static buildsMitch Curtis2020-08-111-1/+1
| | | | | Change-Id: I5efa74355cddd662787613af3ac3cf665a6c146c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Update dependencies on 'dev' in qt/qtquickcontrols2Qt Submodule Update Bot2020-08-111-5/+2
| | | | | Change-Id: Id705ffea8c87a84ee7c39879d6988be18ecff90a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Support Markdown in the TextEditor example, including local pathsShawn Rutledge2020-08-107-13/+199
| | | | | | | | | | | | | The example still loads an HTML file from resources by default, but now it's possible to give either a relative or absolute file path on the command line to load an html, markdown or plain text file. Alternatively you can use the file dialog to load any of these types. We assume that any resources (such as images) with relative paths are to be loaded from the directory where the source text file is. Pick-to: 5.15 Change-Id: I37bc2d6aa2306016453770dc2fd66efa41a16618 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* ComboBox: add implicitContentWidthPolicyMitch Curtis2020-07-163-7/+374
| | | | | | | | | | | [ChangeLog][Controls][ComboBox] Added implicitContentWidthPolicy, which controls how the implicitContentWidth of the ComboBox is calculated. This can be used to automatically ensure that text is not elided. Fixes: QTBUG-78281 Change-Id: If669fa4ef05e5da498992843469000ef39c335ec Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Doc: mention cache property in the relevant placesMitch Curtis2020-07-154-0/+5
| | | | | | | | This was missed in 033564edf5b79e32da63597930e25105a3442f01. Pick-to: 5.15 Change-Id: I7bc465338d5b9960ad7b746a816cd33efcca1bdc Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove another binding to parentMitch Curtis2020-07-151-1/+1
| | | | | | | | | | | | | | Similar to what was done in 456d26e97ec7745fdbd1afaaaa6c1dc217eca060. The warning was: Material/ComboBox.qml:68: TypeError: Cannot read property 'Material' of null Task-number: QTBUG-82989 Pick-to: 5.15 Change-Id: Id82d62d6aca0c0e517d6f8630c51f54739aea95f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix tst_QQuickMenu::subMenuPosition()Mitch Curtis2020-07-141-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | We're still getting failures after QCOMPARE was fixed (in c78a960198d59fb9a9ddd83ad7098b1db396edfd): FAIL! : tst_QQuickMenu::Material::subMenuPosition(cascading,flip) Compared doubles are not the same (fuzzy compare) Actual (subSubMenu1->popupItem()->x()) : 3.88240550819e-11 Expected (subMenu1->popupItem()->x() - subSubMenu1->width() + overlap): 0 tst_qquickmenu.cpp(1532) : failure location Quoting Eddy: "[...] the threshold for double equality is one part in 1e12; the threshold for fuzzy-is-zero is likewise 1e-12; so 3e-11 is non-zero. One work-around, of course, would be to cast float(each operand) so as to get float's wider tolerance (one part in 100,000, null if less than 1e-5)." So that's what we do in this patch. Change-Id: Iecf1b6f4b2cf2c81eb652bb0f565ac682b024dae Pick-to: 5.15 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix crash on exit when centering Popup within Overlay in StackView itemMitch Curtis2020-07-144-1/+128
| | | | | | | | | | | If a Popup is centered within an Overlay, and that Overlay is destroyed before the Popup, we must make sure centerIn is cleared so we don't try to access a dangling pointer. Fixes: QTBUG-84579 Pick-to: 5.15 5.12 Change-Id: Icb2750f847f9d5710725bedc4d1c92bf4c122c03 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Replace QDesktopWidget with QScreen in manual testVolker Hilsheimer2020-07-141-2/+2
| | | | | Change-Id: I09b9b01494575b78af8ab11d33a2ea511efc5526 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* CMake: Enable enforcing CI testsAlexandru Croitor2020-07-131-1/+1
| | | | | | | | | | Any failing tests in CMake configurations will now prevent integrations to go through in this repository. Task-number: QTBUG-84886 Change-Id: I67852aa694eeb8a30cff8da2087db83acb286eb6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Use QList instead of QVectorJarek Kobus2020-07-097-19/+19
| | | | | | Task-number: QTBUG-84469 Change-Id: I4991ab7ce8ba8d2522005b1b0a78f7b474c54419 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Update dependencies on 'dev' in qt/qtquickcontrols2Qt Submodule Update Bot2020-07-071-3/+3
| | | | | Change-Id: I95029591883e94303feaf7afc3a70a5ec1603598 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on 'dev' in qt/qtquickcontrols2Qt Submodule Update Bot2020-07-061-3/+3
| | | | | Change-Id: Ifa8da2e19bc839d12a6f1f2c7870d381ba97c12f Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on 'dev' in qt/qtquickcontrols2Qt Submodule Update Bot2020-07-031-3/+3
| | | | | Change-Id: I657c8860cf5eb8690b04c104498e1ed2dbcbd6f2 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on 'dev' in qt/qtquickcontrols2Qt Submodule Update Bot2020-07-021-3/+3
| | | | | Change-Id: I3c6a5ec5bd1f3dd100064a8bf961aae7ba44a46e Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on 'dev' in qt/qtquickcontrols2Qt Submodule Update Bot2020-07-021-3/+3
| | | | | Change-Id: I1f1fd0dd2265f8dfb5552b571822b60d3255aca8 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on 'dev' in qt/qtquickcontrols2Qt Submodule Update Bot2020-07-011-3/+3
| | | | | Change-Id: Id0f9448c99b99aa125924b7cb1978a7b3702b691 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>