aboutsummaryrefslogtreecommitdiffstats
path: root/examples
Commit message (Collapse)AuthorAgeFilesLines
* Use qmlRegisterModuleImport() to register stylesMitch Curtis2020-08-262-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2682-197/+197
| | | | | | | | | 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>
* 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>
* Port QtQuickControls2 from QTextCodec to QString{Converter|Decoder}Karsten Heimrich2020-06-171-4/+11
| | | | | | Task-number: QTBUG-75665 Change-Id: Ib66a260dc3bfc39e2e50c38db56ca72b8186a4ac Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* ApplicationWindow: remove deprecated overlay APIMitch Curtis2020-06-081-1/+1
| | | | | | | | | | [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>
* CMake: Fix duplicate "gallery" target nameAlexandru Croitor2020-06-042-5/+108
| | | | | | | | This fixes top-level builds that include qtquickcontrols2 to configure successfully. Change-Id: Ia90669ac66c65fc20e16ecbf15507f17a19053d8 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Remove Qt Labs CalendarMitch Curtis2020-05-2815-14/+139
| | | | | | | | | | 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>
* Reduce dependencies on QtGraphicalEffectsMitch Curtis2020-05-131-0/+2
| | | | | | | | - Make QtGraphicalEffects optional in tests - Mention that QtGraphicalEffects is required for relevant examples Change-Id: I3ac7d06add931e0a10c3df7edc4e458ba5519c75 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove bindings to parent in delegatesMitch Curtis2020-05-1111-11/+13
| | | | | | | | | | | | | | | 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>
* Add special case for escaping quotesSamuli Piippo2020-03-311-1/+1
| | | | | | | | | <command-line>: warning: missing terminating " character <command-line>: error: stray ‘\’ in program Change-Id: Iab23419a707a105a9789b8d7af3740e320d54119 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: Regenerate projectswip/cmakeAlexandru Croitor2020-03-171-1/+1
| | | | | | Change-Id: Ifd6b2289de6465a010f5f2a32789221767b4d5be Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2020-03-173-1/+22
|\ | | | | | | Change-Id: Ieb9bcfba9651d646509afd065ce2389ef74448cc
| * 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-1028-59/+7
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/qtquickcontrols2plugin.cpp Change-Id: Ifc09ea9f71fdba119fe8eed99f0bdcb402444f27
| | * Gallery: simplify the code for the help featureMitch Curtis2020-02-1228-59/+7
| | | | | | | | | | | | | | | | | | | | | Use existing data from the model rather than adding new properties. Change-Id: I77f9b079d4ceefd1a0b9936b4250c2470c68836e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-02-0829-1/+72
| |\| | | | | | | | | | Change-Id: I4b20284eb05b6277c758a1ab5579b803db9a84ca
| | * Gallery example: Add "Help" menu and shortcutFriedemann Kleint2020-01-1028-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a property "control" identifying the control to be demo-ed to the page and add a help shortcut and menu item displaying its help. Change-Id: Ic3c7c31f5a44fccd57ee018fd3681dc6bdffee58 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2019-12-301-1/+0
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf tests/auto/controls/data/tst_combobox.qml Change-Id: I8471cdac4397f77a8e58140d58c6b50d3c437928
| | | * clang-tidy: fix cppcoreguidelines-pro-type-member-initMitch Curtis2019-12-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that all members are initialized and remove an unused member. Change-Id: Ibfb3ea86b7791cd6f8683b68e7cd3bc4256b33f7 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Merge remote-tracking branch 'origin/dev' into wip/cmakeLeander Beernaert2019-11-25306-9/+8
|\| | | | | | | | | | | | | | | Change-Id: I61919fabd4a3a07ed374f2c3c1fae2d589d6e124
| * | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-11-16304-0/+0
| |\| | | | | | | | | | | | | | Change-Id: I647fa31fafdaea46c341c515f97b7f793ddf4b31
| | * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-09304-0/+0
| | |\| | | | | | | | | | | | | Change-Id: Ib14b8c77cefe7aaf5b11483d9a30b2ef05314598
| | | * Run optipng on all imagesMitch Curtis2019-11-04304-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | find . -name "*.png" -exec optipng -o 7 -strip all {} \; Change-Id: I2238b2dd38813d33ed48d79817f872f922cfa28d Fixes: QTBUG-79275 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-11-091-8/+7
| |\| | | | | | | | | | | | | | Change-Id: I80f13e604dd492954c742e0ddaa7efa393776a62
| | * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-021-8/+7
| | |\| | | | | | | | | | | | | Change-Id: Ida6e83517802b1e970f755b2e2128b77f08a8d11
| | | * texteditor: update links in html fileMitch Curtis2019-10-241-8/+7
| | | | | | | | | | | | | | | | | | | | Change-Id: I7e3bd670039d181fb562967c5e9d3830f63d46a3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-10-191-1/+1
| |\| | | | | | | | | | | | | | Change-Id: I770f99d20878ddf16ab3f4b1a5422e7192622f64
| | * | Merge remote-tracking branch 'origin/5.14' into 5.15Simon Hausmann2019-10-181-1/+1
| | |\| | | | | | | | | | | | | Change-Id: I0b6bd9acd2262ae87e1086a0450875a8f04a0423
| | | * Doc: Rename section called StackViewNico Vertriest2019-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - a section title in a tutorial shouldn't be the name of a QML type only Task-number: QTBUG-78799 Change-Id: I661b639eb96926be2b92899fdbe241890d4ed6f4 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | | Regenerate projects to be in syncAlexandru Croitor2019-11-1514-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I3a57449c9025e22414b8337fcffdeb0f4d769af2 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2019-10-1513-46/+85
|\| | | | | | | | | | | | | | | | | | | | | | | Removed dependencies.yaml. Change-Id: I1e2b3f486e9ace4bc8dc0419a64848990b3a6b39
| * | | Fix duplicate entry in projcet listLeander Beernaert2019-09-201-1/+0
| |/ / | | | | | | | | | | | | | | | | | | Remove double entry for wearable subdirectory. Change-Id: I0038c9435511766815b9626a4e870b2317b04f0f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-09-079-22/+59
| |\| | | | | | | | | | Change-Id: I23522a8f71cea8d8e3f0155dad98e41c003774fb
| | * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-09-061-17/+24
| | |\ | | | | | | | | | | | | Change-Id: I859406dc779e59ee5d8e2980e04f8be28b1a69aa
| | * \ Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-241-1/+1
| | |\ \ | | | | | | | | | | | | | | | Change-Id: Ib3ebf5d1ec84a9db722e7634d77bf424c37c52ce
| | * | | Doc: Replace the "Qt Quick Controls 2" instancesVenugopal Shivashankar2019-08-226-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that Controls 1 is deprecated, it's ideal to use "Qt Quick Controls" instead of "Qt Quick Controls 2". Task-number: QTBUG-70333 Change-Id: Ie745db4b61071ddb5e06150d4e739cda74c59f41 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * | | TextEditor: Add modified handlingFriedemann Kleint2019-08-213-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a modified property to the document and add handling in onClosing(). Connect the actions to call close() instead of Qt.quit() for it to become active. Change-Id: I0fec75629db64e91508ed8ba45d4fb60be146b1b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | | | Adapt to new Connections syntaxUlf Hermann2019-09-061-5/+1
| | |_|/ | |/| | | | | | | | | | | | | | | | | | Fixes: QTBUG-77734 Change-Id: I22b0c6a46e10780e02c56c250356f1aa87d1050f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | | Modernize Gallery example by using Action where suitableKonstantin Ritt2019-09-051-17/+24
| | |/ | |/| | | | | | | | | | Change-Id: I45c693941e88074eb63f9e6a498c85c1dfa93e9a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | examples: type userto -> userAlbert Astals Cid2019-08-221-1/+1
| |/ | | | | | | | | Change-Id: I99d9ea22fd51aa4e9da469b630b319ba71215558 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Regenerate examplesAlexandru Croitor2019-10-1115-14/+35
| | | | | | | | | | Change-Id: I8a55e330f8f251df1498f1b906d25b3311f5fd70 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Conversion of QtQuickControls2 examplesLeander Beernaert2019-10-0817-0/+1461
|/ | | | | | | | Initial Conversion of QtQuickControls2 examples. Change-Id: I21ddf792d039dc26e4ba58d8592101eb131618d3 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/5.12.0' into 5.12Qt Forward Merge Bot2018-12-0583-168/+168
|\ | | | | | | Change-Id: I7fe9e74beff3cdbfbf02ee0f129a8204ad31046e
| * Tie minor version of all imports to Qt's minor versionMitch Curtis2018-11-0283-168/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change makes all Qt Quick Controls 2 imports match the current Qt minor version, which is 12 as of this patch. It also updates all other Qt Quick imports to match. This will also make future version bumps easier as all version numbers in existing code/docs will match. The following commands were used to verify that no old versions remain: for i in `seq 0 11`; do git grep "import QtGraphicalEffects.*1.$i$"; done for i in `seq 0 11`; do git grep "import QtQuick 2.$i$"; done for i in `seq 0 11`; do git grep "import QtQuick.Layouts 1.$i$"; done for i in `seq 0 5`; do git grep "import QtQuick.Controls.*2.$i$"; done for i in `seq 0 11`; do git grep "import QtQuick.Templates 2.$i as T$"; done [ChangeLog] From Qt 5.12 onwards, all import versions in Qt Quick Controls 2 follow the same minor version as Qt's minor version number. For example, the import version for Qt 5.12 is: "import QtQuick.Controls 2.12". Change-Id: I6d87573f20912e041d9c3b7c773cc7bf7b152ec3 Fixes: QTBUG-71095 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Doc: Update \titles with "Controls 2" in itVenugopal Shivashankar2018-12-0410-10/+20
| | | | | | | | | | | | | | | | Alternatively, the old \title is now a \keyword, to avoid broken links to the page. Change-Id: Ib8b97efe8be13559c45c7ca430b2afc93edaa3e7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Stop using wildcards with "direct" RESOURCES syntax in examplesMitch Curtis2018-10-314-10/+73
|/ | | | | | | | | | | Build tools cannot detect when new files are added with this syntax. As we don't use wildcards with SOURCES, we also shouldn't use them with RESOURCES either. Change-Id: Ic42ee9d892a4f18a1a21bd757d7398a50792a6c7 Fixes: QTBUG-71321 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: Ensure all links to 'Qt Quick Controls' lead to controls 2Venugopal Shivashankar2018-10-2910-1/+11
| | | | | | | | | | The name of the documentation module is also changed from 'qtquickcontrols2' to 'qtquickcontrols', and this is reflected in other modules' dependencies and licensing source files (qt_attribution.json). Task-number: QTBUG-70333 Change-Id: I2ba308b7eddae3af00dfb49a751cac8527c46bba Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* wearable: add demo modev5.12.0-beta1Mitch Curtis2018-09-2720-24/+507
| | | | | | | | | | | This change adds a switch in the settings page that enables demo mode. In this mode, each screen and UI control will be visited and interacted with in a loop until the screen is tapped, at which point it returns to the launcher page. Change-Id: Icb306e23985d8c1f82725a95ed7f2e34b3d6c03f Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* wearable: add a dark theme with a runtime switch on the Settings pageMitch Curtis2018-09-2799-105/+291
| | | | | Change-Id: Iaa205c19aa413de7a5537f17f74d969547d5e558 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* wearable: bump import versions to 5.10Mitch Curtis2018-09-2717-33/+33
| | | | | | | | Some API we need is only available in later versions. Don't go past 5.10 for now, because the support isn't there yet. Change-Id: I6915d34ef37b47b9b07e6e4aa85c90ff2e8b59b2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>