aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Fix crash when importing a style without first importing ControlsMitch Curtis2020-08-276-0/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-274-4/+116
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Fix CMake buildMitch Curtis2020-08-2620-56/+90
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-82922 Change-Id: I75f4a553a6bb260f77bfa791f12fa42e80131e09 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | Use qmlRegisterModuleImport() to register stylesMitch Curtis2020-08-2649-279/+1118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Remove all version numbers from QML importsMitch Curtis2020-08-26719-1665/+1665
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2613-23/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2612-25/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2614-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2615-270/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | 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-201-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | SwipeDelegate: don't allow calling close() when pressedMitch Curtis2020-08-191-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-191-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-191-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-172-0/+25
| |/ |/| | | | | | | | | | | | | | | | | | | 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>
* | ComboBox: add implicitContentWidthPolicyMitch Curtis2020-07-161-4/+182
| | | | | | | | | | | | | | | | | | | | | | [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>
* | 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-142-0/+97
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Use QList instead of QVectorJarek Kobus2020-07-094-16/+16
| | | | | | | | | | | | Task-number: QTBUG-84469 Change-Id: I4991ab7ce8ba8d2522005b1b0a78f7b474c54419 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | tst_designer: fix QByteArray::append() compile errorMitch Curtis2020-06-301-1/+1
| | | | | | | | | | | | | | | | The overload taking a QString was removed, but is equivalent to passing the result of toUtf8(). Change-Id: I6edbbc78ce20eb1ed23dc77583342fc31ec86408 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* | Add ; to Q_UNUSEDLars Schmertmann2020-06-301-4/+4
| | | | | | | | | | | | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: I92ef02ede041d3965151165a479a1ea0549cc0f9 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Update dependencies on 'dev' in qt/qtquickcontrols2Qt Submodule Update Bot2020-06-254-64/+9
| | | | | | | | | | | | Change-Id: I1f6bf96f30f5dcea4d9838b0638f9412309a069e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Liang Qi <liang.qi@qt.io>
* | QQuickApplicationHelper: don't use QTest macros outside test functionsMitch Curtis2020-06-177-5/+103
| | | | | | | | | | | | | | | | | | This has no effect. Task-number: QTBUG-66320 Pick-to: 5.15 5.12 Change-Id: Ie6efb26243178c4044ac0bc721c21ad89769c982 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Qt6: Port QtQuickControls2 to QStringViewKarsten Heimrich2020-06-101-2/+2
| | | | | | | | | | | | Task-number: QTBUG-84319 Change-Id: I7aaae36df79b1a935a3c4d31039cb880405f0d63 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Use QList instead of QVectorJarek Kobus2020-06-092-5/+5
| | | | | | | | | | | | Task-number: QTBUG-84469 Change-Id: Ic36741d2bcaec8d5e5dc96638b7122f8ce51bdb2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | ApplicationWindow: remove deprecated overlay APIMitch Curtis2020-06-085-62/+37
| | | | | | | | | | | | | | | | | | | | [ChangeLog][Controls][ApplicationWindow] The deprecated overlay properties and attached API were removed. Use the Overlay attached type instead. Task-number: QTBUG-84715 Change-Id: I0781ea55ea502ffe5277385e82492291724d2090 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Platform: remove deprecated iconName, iconSource APIMitch Curtis2020-06-053-36/+43
|/ | | | | | | | | | | | | [ChangeLog][Platform][Menu] The deprecated iconName and iconSource properties were removed. Use the icon property instead. [ChangeLog][Platform][MenuItem] The deprecated iconName and iconSource properties were removed. Use the icon property instead. [ChangeLog][Platform][SystemTrayIcon] The deprecated iconName and iconSource properties were removed. Use the icon property instead. Task-number: QTBUG-84715 Change-Id: I91a8ceb1a291b78fc342756de24e18b818a49b4b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QQuickTextArea: resize background different when inside FlickableRichard Moe Gustavsen2020-06-021-0/+27
| | | | | | | | | | | | When a TextArea is placed inside a Flickable (using the TextArea.flickable property), the background is reparented to the Flickable. For this to look good, the background should have the same size as the Flicable as well, so it doesn't end up with the size of the TextArea, which can be many pages tall. Pick-to: 5.15 Change-Id: I75ead02c712f337c7e743f17aa8810a040519173 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* StackView: fix heap-use-after-free when pushing after clearMitch Curtis2020-05-291-6/+32
| | | | | | | | | | | | | This patch extends the work done in aaec25a7 to cover all operations. Note also that b94889f4 does a similar thing to this patch and aaec25a7, in that it explicitly ignores operations that are done during the removal of elements. Fixes: QTBUG-84381 Pick-to: 5.15 Change-Id: Id8bbbded39d8e58bcf0e8eedeb2dde794952333f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Remove Qt Labs CalendarMitch Curtis2020-05-2829-837/+70
| | | | | | | | | | This is getting its own repository as part of the move to the marketplace. Task-number: QTBUG-84172 Pick-to: 5.15 Change-Id: I2f963c298d6ef95e0832f95aa1e1ea809f4867a2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Skip tests that use graphical effects on Win 7Mitch Curtis2020-05-262-0/+11
| | | | | | | | | It's not clear why these fail, but we can live without the test on Windows 7. Fixes: QTBUG-84443 Change-Id: Ib18dfc8e12528c5086d07d6018cda93fb6e8d30c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Listen for the LanguageChange event in event() instead of using filtersAndy Shaw2020-05-191-0/+1
| | | | | | | | | | Now that the LanguageChange event is sent to all top level windows to pass on down to items then we can drop the event filter and just listen for it in the event() function. Pick-to: 5.15 Change-Id: I6c9699a798680695ea1d0013266d3a034b74ae7b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Remove ignoreMessage from setOverlayParentToNullLaszlo Agocs2020-05-181-3/+0
| | | | | Change-Id: Ie678693280b374e5977a3870b395936d15023579 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Massage toolTipCrashOnClose testLaszlo Agocs2020-05-181-5/+0
| | | | | | | | | | | | | | | | | | QTest::ignoreMessage() has a feature, namely that: If the test finished and the message was not outputted, a test failure is appended to the test log. So here, if Graphical Effects is available, but not functional, ShaderEffect fails to initialize, which means the warning-to-be-skipped is never outputted. The test would pass (because the visual appearance does not matter), but the ignoreMessage() condition fails it. Adding a QSKIP is not a solution because ignoreMessage() would still do its check and fail the test! Therefore, remove the ignoreMessage() altogether. Change-Id: I3e096752dfc6894c77859e786c8a4cac01d6fc53 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Tests for Qt.labs.platform/MenuItem.iconIvan Tkachenko2020-05-152-4/+10
| | | | | | | | | | Test that nested property icon.* can be used in this Qt.labs.platform version. Just checks that imports work and properties can be created. Task-number: QTBUG-84102 Pick-to: 5.15 Change-Id: I450a7fa2c5f257a7e6e1b07630f05f7662964cd0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Reduce dependencies on QtGraphicalEffectsMitch Curtis2020-05-134-0/+16
| | | | | | | | - Make QtGraphicalEffects optional in tests - Mention that QtGraphicalEffects is required for relevant examples Change-Id: I3ac7d06add931e0a10c3df7edc4e458ba5519c75 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* ComboBox: fix currentValue not being updated on model changesMitch Curtis2020-05-121-0/+49
| | | | | | | | | Make sure we call updateCurrentValue() where necessary. Fixes: QTBUG-83554 Pick-to: 5.15 Change-Id: Iad593c2fc094a26429de1eda91bbdb152ffee2c2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Remove bindings to parent in delegatesMitch Curtis2020-05-111-1/+1
| | | | | | | | | | | | | | | Until we've decided whether to a) document that properties of parent should not be bound to in delegates or b) fix the warning that results from doing so after 8c72e634b3b0eacbfdee883bfc34994d3c19ed77, we can pre-emptively clean up a few places where it happens. Task-number: QTBUG-81976 Task-number: QTBUG-82393 Task-number: QTBUG-82989 Pick-to: 5.15 Change-Id: I1e610613f6016ec1b9cf9ca33cdfb15d384731a8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Menu: remove deprecated removeItem(var) overloadMitch Curtis2020-05-113-12/+2
| | | | | | | | | [ChangeLog][Controls][Menu] The deprecated removeItem(var) function was removed. removeItem(Item) or takeItem(int) can be used instead. Change-Id: I79757c22b4f81e1b380798623bd1f15eb09c1647 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Remove flaky test_openDuringExitTransitionWithTimeout() testMitch Curtis2020-05-111-29/+0
| | | | | | | | | | | | | | This was added in c1420ee5423dfa104d5ff87bc529b4530dc998d6. It has been randomly failing ever since, even after an attempt to stabilise it in 20c35f9a2b5fd970d43efc98c324e1e4c9dd153d. We can live without a test for this if it's going to cause so much trouble. Change-Id: I503bda6703a658feff288905132fce13fd01a74c Fixes: QTBUG-82643 Pick-to: 5.15 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix -no-accessibility buildPeter Varga2020-05-111-0/+1
| | | | | | Change-Id: Icbae79fd0f48fb9351ee8cc12b35ead7e99b09e2 Pick-to: 5.15 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Container: remove deprecated removeItem(var) overloadMitch Curtis2020-05-114-26/+20
| | | | | | | | | [ChangeLog][Controls][Container] The deprecated removeItem(var) function was removed. removeItem(Item) or takeItem(int) can be used instead. Change-Id: Ibc693a9216cd039fc11cb4e5182f74a96f493796 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Revert "tst_qquickmenu: fix flakiness resulting from floating point comparison"Mitch Curtis2020-05-071-11/+10
| | | | | | | | | | | This reverts commit c463f09fcb63927c66bc3307ddcc88d85d38b2bc. After c78a960198d59fb9a9ddd83ad7098b1db396edfd in qtbase, this shouldn't be necessary. Pick-to: 5.15 Change-Id: I1789eae295b1ebc44630b758414087344909ea60 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Expect failure for certain fonts in TextArea testEskil Abrahamsen Blomfeldt2020-04-301-2/+20
| | | | | | | | | | | | | | Change f761ad3cd9ad1252f24b76ae413298dc7bed8af3 in qtbase exposes a pre-existing difference in measuring the height of QTextLayouts versus QTextDocuments when the leading is large enough to impact the font height. See QTBUG-82954 for details on this. Note that this is equivalent to the fix for the same issue in the QLabel test: c4ef0b92d5fb2c621e880347bd48d01b6f31eb24 Task-number: QTBUG-82954 Change-Id: Idee81dcceefe594059a06bd1f090650acd738f79 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* tst_qquickmenu: fix flakiness resulting from floating point comparisonMitch Curtis2020-04-151-10/+11
| | | | | | | | | | | | From the docs of QCOMPARE: "[...] expecting 0 can fail when the actual value may be affected by rounding errors. One solution to this is to offset both actual and expected values by adding some suitable constant (such as 1)." Pick-to: 5.15 Change-Id: Ie7c0db9b4eb6c7d9fdb503421242d309a39bc2ec Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-315-8/+233
|\ | | | | | | Change-Id: Ie09cfdd17b00e56f3ba8677d25b24417dd4e42f6
| * tst_qquickheaderview: wait for window to be activeRichard Moe Gustavsen2020-03-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tst_QQuickHeaderView::listModel test fails on Ubuntu. From inspecting the build log, VerticalHeaderView has an empty size. Since HeaderView will only load items that end up visible in the view, it will load just one item in this case, even if the model contains five. Hence the test will fail when searching for the other missing items. Why VerticalTableView has an empty size is not well understood (and cannot be reproduced on my mac). The size is bound to the size of the window, which indicates that the window is not shown or ready by the time the test runs. So this patch will change how we create the window for the test, and wait for it to be active, which is standard procedure for many other tests. Hopefully this will also fix the test failure on Ubuntu. Task-number: QTBUG-83172 Change-Id: I7d3a188dbeb161f11eee7b95c103928404161f11 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| * HeaderView: Add support for list based modelsAndy Shaw2020-03-242-0/+141
| | | | | | | | | | Change-Id: I411136bd2b9a277d84a7c68c55bb1c317b6cc9d2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-211-8/+9
| |\ | | | | | | | | | Change-Id: I9ecddc7a68da4f15ee2c2904e237496eb6a2aa26