aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols2
Commit message (Collapse)AuthorAgeFilesLines
* Remove old configure-related filesJoerg Bornemann2021-06-171-76/+0
| | | | | | | | | | | | | Remove the configure.json and configure.pri files that were used for the qmake-based configure. Remove the .prev_*.cmake files that were a by-product of configurejson2cmake.py. Pick-to: 6.2 Task-number: QTBUG-89536 Change-Id: Ie6c3d946a7157164c3854ef22812262aa7237c4f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Set inactive color for ButtonText in Fusion themeVolker Hilsheimer2021-06-171-0/+2
| | | | | | | | Fixes: QTBUG-94559 Change-Id: I66c84052801aab56ad759289053e20d32e13c765 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io> (cherry picked from commit f78072d5bc2d65307c86ce6e6fbc8d83fa82bc42) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use the added placeHolderText color available in PaletteAndy Shaw2021-06-177-6/+8
| | | | | | | | | | This allows it to pick up the Palette's placeHolderText color by default while still using the property if it is overridden with that. Pick-to: 6.2 Task-number: QTBUG-93746 Change-Id: Ie6af95d6c60fa80f2789c2acd5964b5a347194ce Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Doc: some ComboBox functions must be used after component completionMitch Curtis2021-06-103-0/+86
| | | | | | | | | | | | | | | | | | | | | | | | The internal QQmlDelegate model may not be ready until after componentComplete() is called. For example, the following code will print -1 for the find call, even though printing the model will show the "Hello" entry: ComboBox { id: comboBug anchors.centerIn: parent model: ["123", "BlaBla", "Hello", "Turtle"] currentIndex: { console.log("Model: " + comboBug.model) console.log("Find: " + comboBug.find("Hello")) return comboBug.find("Hello") } } Fixes: QTBUG-94257 Pick-to: 6.1 6.2 Change-Id: I6e8c2a4eb8ca7ffca0a38d2f2e914cf791d3bd2e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* doc: move the SelectionRectangle snippet to correct the placeRichard Moe Gustavsen2021-06-101-4/+4
| | | | | | | | | | After the cmake changes that restructured the repository, the snippets are now located in a different place. Update the documentation for SelectionRectangle to reflect this, and correct some related documentation issues at the same time. Change-Id: I4860973bf101dc6c2dce5f64822235f0b5b73ce6 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Add new control: SelectionRectangleRichard Moe Gustavsen2021-06-065-0/+161
| | | | | | | | | | | | | | | | | | This patch will add a SelectionRectangle to controls. A SelectionRectangle can be used together with TableView to let the user select cells using either pointer Drag or PressAndHold. It lets the developer set their own handle delegates, or simply use the included ones added to the Basic style. [ChangeLog][Controls][SelectionRectangle] A SelectionRectangle has been added to Controls. A SelectionRectangle can be used to make selections in TableView. Fixes: QTBUG-74750 Change-Id: Ia7af578c1c905b0e92df193d7820ad6ef2c9b697 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Update to latest qml CMake APICraig Scott2021-06-052245-17/+57462
| | | | | | | | | | | | | | The new qml CMake API places a closer relationship between the backing target and the plugin target. Both are typically created together and they share a lot of common details. Instead of creating them in different parts of the source tree, they are now specified together. The src/imports area has effectively been absorbed into the other corresponding subdirectories below src with this change. Task-number: QTBUG-91621 Change-Id: I9bd32e9eb78c198ccc9db04e2829303cac323502 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Remove GENERATE_METATYPES usageMaximilian Goldstein2021-04-271-1/+0
| | | | | | | We now generate metatypes by default and every instance of GENERATE_METATYPES now causes a warning. Change-Id: I691d0a3973c47cab666bd4ca948b2afe047ee13f Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake: Add missing qt_cmdline.cmake filesAlexandru Croitor2021-04-161-0/+6
| | | | | | | | Generated with configurejson2cmake.py Change-Id: Ib07d883b94462f6e132f36c24e763b31309aaeed Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix qml module version to use the repo project versionAlexandru Croitor2021-04-151-1/+1
| | | | | | | | | | | Use PROJECT_VERSION instead of CMAKE_PROJECT_VERSION, so that the repo project version is used in a top-level build, rather than the version of the qt5 project. Pick-to: 6.1 6.0 Task-number: QTBUG-92861 Change-Id: Ifd12d6309f358b9b72372a5c069141ecb7322bc7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove QMake project filesJoerg Bornemann2021-02-111-26/+0
| | | | | | | | | | This includes removal of the corresponding .prev_CMakeLists.txt files. Pick-to: 6.1 Task-number: QTBUG-88742 Change-Id: I4247294258629c92e80914518e9208019090c815 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Ensure that C++ Qt Quick tests are run with all applicable stylesMitch Curtis2021-01-132-0/+17
| | | | | | | | | | | | | Since 8b534487044dfb3b464431ecb91ef4e0864af4ed, the C++ tests were only being run with the default style for the platform that they were run on. Fix this by keeping track of whether a default style is in use and checking it in the tests. Pick-to: 6.0 Change-Id: I4ddd90aba12ede83fff0d3d1002534e79fce8c87 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Allow style to be set to "Default" for compatibilityMitch Curtis2020-12-091-2/+5
| | | | | | | | | | | | | | | This unbreaks Qt 5 applications that weren't specifying a style or were specifying Default. [ChangeLog][Important Behavior Changes] Setting the style to "Default" now behaves the same way as not specifying a style; a relevant style will be chosen based on the platform. To use the style previously known as "Default", use "Basic". Task-number: QTBUG-85984 Pick-to: 6.0 Change-Id: I8e5533f9c6834765610773e46f97fbd56a242039 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Ensure that Fusion style is used by default on LinuxMitch Curtis2020-12-091-1/+1
| | | | | | | | Fix typo in qquickstyle. Pick-to: 6.0 Change-Id: Id567f7359ae7aa346b38f94ae1add29aeb73039a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Make adjustments for using QFont::setFamilies()Andy Shaw2020-11-301-1/+1
| | | | | | | | | | Since we only depend on using setFamilies() now instead of setFamily() then we can rely on the fact that it will be resolved correctly, so we can remove the code that was ensuring that family() would take precedence if families() was empty. Change-Id: Iea1464ec840dc76c04a4acae445cab367e03d3ca Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Native style: Enable windows styleJan Arve Sæther2020-11-041-7/+5
| | | | | | Task-number: QTBUG-86399 Change-Id: I634db1d4514a685743504748251e53703676881a Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Fix static buildEskil Abrahamsen Blomfeldt2020-10-092-0/+6
| | | | | | | | The register_types() function was optimized away by the linker and the imports would not be found. Change-Id: I3d98602daf78996399630b7b1296cc5dc0d3da05 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-10-071-1/+1
| | | | | | | | Modify special case locations to use the new API as well. Task-number: QTBUG-86815 Change-Id: I4a690095fcd4b1141550de86b6820ae2dd579429 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Make tests explicitly use Basic where necessaryMitch Curtis2020-10-073-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | The previous commit changes the how the default style is set, and since the tests all assumed that Basic was the default, we now need to ensure it is explicitly set. If we want to, we can revert this patch (or file-by-file) later and ensure that these tests work with all styles. For now, just keep things working as they used to. Tests that use QTEST_QUICKCONTROLS_MAIN are not changed, as they already run with all built-in styles. Tests that don't use types that will cause issues, like tst_qquickcolor, do not need to be changed. tst_snippets can be run manually to produce screenshots, so we specify its style in a qtquickcontrols2.conf file to allow it to be overridden by e.g. application arguments (QQuickStyle::setStyle() takes precedence over all other approaches of setting a style). Change-Id: Ifae7e959f89a41a757c170272038fad139bba04f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Default to the most appropriate built-in style if none is specifiedMitch Curtis2020-10-071-0/+21
| | | | | | | | | | | | | [ChangeLog][Styles] An appropriate built-in style is now used as the default style if one is available for the target platform. For example, when running a Qt Quick Controls application on macOS, the macOS style will be used. On Android, the Material style will be used. When running on e.g. an embedded device, where no native style is available, use the Basic (formerly "Default") style. Change-Id: Ie61d1a8a1a83fbeba63387c7ca3671084f47bc04 Fixes: QTBUG-86403 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Support compile-time style selectionMitch Curtis2020-09-243-5/+75
| | | | | | | | | | | | | | By allowing importing styles without first importing QtQuick.Controls, which does runtime style selection. [ChangeLog][Styles] It's now possible to select a style at compile-time by importing that style explicitly instead of QtQuick.Controls. This avoids the need to do run-time style selection and hence deploy the QtQuick.Controls plugin with the application. Change-Id: I666d6dc7727fffd2c7b05743855f2086f076465a Fixes: QTBUG-86284 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Rename "Default" style to "Basic"Mitch Curtis2020-09-243-21/+21
| | | | | | | | | | | | [ChangeLog][Styles] The Default style was renamed to Basic to account for the introduction of the platform styles (macOS, Windows), which will be used by default (where possible) when no style is specified. Fixes: QTBUG-85984 Task-number: QTBUG-68814 Task-number: QTBUG-86403 Change-Id: I22b3199c8662e4ee5d55a1be1a51c9856ac62376 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Fix fallback styles overwriting themesMitch Curtis2020-09-243-8/+18
| | | | | | | | | | | | | | | | | | | | | In Qt 5, QtQuickControls2Plugin::registerTypes() was responsible for calling initializeTheme() on each style plugin. Now that we delegate more work to the QML engine, each style plugin calls initializeTheme() via registerTypes(). To avoid fallback styles overwriting font and palette data set by the current style, we need to check if the theme has been intialized before calling initializeTheme(). To do this, we add a static "themeInitialized" bool that QQuickStylePlugin sets to true after calling intializeTheme() for the first time. It checks this value and avoids calling intializeTheme() if it's true. We also need to make QQuickStylePlugin ensure that the theme it's initializing belongs to the current style. Fixes: QTBUG-86303 Change-Id: Ie65e646677c78622829f4949c41cb79204cf5786 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Fix more compiler warnings from deprecated application attributesVolker Hilsheimer2020-09-161-1/+0
| | | | | | | | | Also cleanup documentation, with the exception of the "High-DPI Support in Qt Quick Controls" page, which needs to be either removed or rewritten after some fact checking. Change-Id: I3cdf1f8554f8f26627a9a5f17c2ee0038c933468 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Native style: temporarily disable the Windows style until it's completeRichard Moe Gustavsen2020-09-071-3/+4
| | | | | | | | | | Since the Windows style is not yet complete, it's best to disable it until it is, otherwise causes auto test failures that might already be fixed. Task-number: QTBUG-86399 Change-Id: I1acb130aa872e9effc82cc326e37a037024d49ca Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Native style: only list available built-in stylesRichard Moe Gustavsen2020-09-071-0/+4
| | | | | | | | | | Don't add e.g Windows style to the list of built-in styles when running on other platforms than Windows. The Windows style is only available on Windows. Otherwise e.g the autotests will try to execute all the tests for a style that is not present. Change-Id: Iee8b052fd284840951a77d117071ab1b59ee92bc Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'nativestyle' into devMitch Curtis2020-09-043-5/+40
|\ | | | | | | Change-Id: I18a4fd46cf13c65fe6f4c3981b7c61ab52109b8d
| * Native style: add macOS and Windows to QQuickStylePrivate::builtInStyles()Richard Moe Gustavsen2020-08-281-2/+9
| | | | | | | | | | Change-Id: I9b9aa44fd02a02fcd0ca7671abe120b806acc2cb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Merge branch 'dev' into nativestyleRichard Moe Gustavsen2020-08-2640-4640/+113
| |\ | | | | | | | | | Change-Id: I9999194551f71abec3731355cd746e69e2e0b187
| * | Native style: add configure optionsRichard Moe Gustavsen2020-08-122-3/+31
| | | | | | | | | | | | | | | Change-Id: I54521f85aa821369ba3ff57fb037ae4996845c97 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Fix crash when importing a style without first importing ControlsMitch Curtis2020-08-271-0/+3
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix CMake buildMitch Curtis2020-08-261-23/+15
| | | | | | | | | | | | 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-261-1/+1
| | | | | | | | | | | | Task-number: QTBUG-82922 Change-Id: I2eb924eaaaddbe75d342f59f5fb3cd30c4a84fef Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Use qmlRegisterModuleImport() to register stylesMitch Curtis2020-08-265-310/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Register C++ types declarativelyMitch Curtis2020-08-2635-4003/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-263-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-266-365/+9
|/ | | | | | | | | | | | | | | | | | | | 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>
* Adapt to renaming of QQmlMetaType::isModule()Ulf Hermann2020-06-301-2/+4
| | | | | | Change-Id: I2db7915377caec6c80e04979a5813c605ae33e09 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Add ; to Q_UNUSEDLars Schmertmann2020-06-301-1/+1
| | | | | | | | | 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>
* Use QList instead of QVectorJarek Kobus2020-06-091-1/+1
| | | | | | Task-number: QTBUG-84469 Change-Id: Ic36741d2bcaec8d5e5dc96638b7122f8ce51bdb2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* CMake: Regenerate configure.cmake filesAlexandru Croitor2020-06-041-5/+12
| | | | | | | This will show the usual configure summary reports. Change-Id: I38dcbbed8e20e382be5c4271e2d6f90de100d180 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Adapt to geometryChanged => geometryChange renamingMitch Curtis2020-04-248-14/+14
| | | | | | Task-number: QTBUG-82994 Change-Id: Iaf530d2a6f4dc92641d0c10e16e7b931f90646ac Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2020-03-175-10/+62
|\ | | | | | | Change-Id: Ieb9bcfba9651d646509afd065ce2389ef74448cc
| * Adapt to plugin unloading changesMitch Curtis2020-03-124-4/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of c2081016e in qtdeclarative, plugins are no longer unloaded on macOS, and QQmlExtensionPlugin::unregisterTypes() should be used instead. This patch: - Moves everything that was done in destructors to unregisterTypes(). - Ensures that the style selector is destroyed in QQuickStylePlugin::unregisterTypes() so that previous styles that were set do not stick around after qmlClearTypeRegistrations() is called. This ensures that runtime style-switching continues to work. - Adds more logging output to make it easier to diagnose issues in the future. - Adds more code comments to ease maintenance. Change-Id: Ibbfeba4501d6ba0d5a257dcceace3498904a816e Fixes: QTBUG-82811 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
| * Fix build failures as a result of QMetaType changes in qtbaseAlexandru Croitor2020-03-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | moc now stores the QMetaType of properties as a result of 46f407126ef3e94d59254012cdc34d6a4ad2faf2 in qtbase, which requires full type information about the property type inside the moc generated source file. Many of the property types were forward-declared, and this resulted in build errors like "invalid application of 'sizeof' to an incomplete type 'QQuickTransition'" Make sure to explicitly include the moc files inside the counterpart .cpp files, so that full information is available from included headers. Fixes: QTBUG-82774 Change-Id: I5971713864992398daed72ce9f6ab866668cf8e1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Merge remote-tracking branch 'origin/5.15' into devSimon Hausmann2020-03-101-3/+10
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/qtquickcontrols2plugin.cpp Change-Id: Ifc09ea9f71fdba119fe8eed99f0bdcb402444f27
| | * Use Qt::SplitBehavior in preference to QString::SplitBehaviorEdward Welbourne2020-03-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step closer to that goal. Change-Id: I3ed1abd00bf54da654c9ccade427f5756b99b595 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Follow QML2_IMPORT_PATH in path searchDavid Edmundson2020-01-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When searching for styles we include QLibraryInfo::Qml2ImportsPath so it makes sense to continue that to also include the runtime QML2_IMPORT_PATH when searching for QQC2 themes. It used to be included, but in 5.14 this behavior changed as a result of 7db4df2deca52a30b4c068abd4683a1720cf281e, so this line is restored. Change-Id: I185b29b323d870fc724e655104eaf42034707738 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | * Look for the fallback style in all of the style pathsAndy Shaw2020-01-271-1/+7
| | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-81216 Change-Id: I9d3efeec7f9ec2beda24ff74e39d04104f5eb967 Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>