aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quickcontrols2/gallery
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Regenerate examples to set the WIN32_EXECUTABLE propertyAlexandru Croitor2020-10-262-0/+8
| | | | | | | | As well as the MACOSX_BUNDLE properties as necessary. Task-number: QTBUG-87664 Change-Id: I1113701f04a16b05b03fbb1a49f131c84659cdcb Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Regenerate examples to use qt_add_executableAlexandru Croitor2020-10-202-2/+2
| | | | | | Task-number: QTBUG-87661 Change-Id: I0d26db40fdb7bd35c92c8fd970b60ec580acc0e0 Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* Rename "Default" style to "Basic"Mitch Curtis2020-09-242-2/+2
| | | | | | | | | | | | [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 compile warning from deprecated application attributesVolker Hilsheimer2020-09-151-1/+0
| | | | | | | | | | | AA_DisableHighDpiScaling and AA_UseHighDpiPixmaps have been deprecated. As of 90358f6042d1fe2db849e17e1b0c875fb0560b20 and 2dc46c09026362cc267b1183faf09fb29479ef93 in qtbase, respectively, these settings are deprecated and have no effect. Change-Id: I1eb1f77a64893dd077bd08216d26633d43e1e0e3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix examples' usages of stylesMitch Curtis2020-09-107-6/+122
| | | | | | | | | | | | | | | | | | | | | | | | After the type registration changes, importing a style explicitly will cause that style's QML types to be used, so applications should put style-specific code into file-selected directories if they need to support multiple styles. [ChangeLog][Important Behavior Changes] Due to the recent type registration changes, importing a style explicitly (e.g. "import QtQuick.Controls.Material") now registers that style's QML types in addition to making its API (attached, singleton, etc.) available. For this reason, it is now advised to have style-specific code in a separate QML file and use file selectors if your application supports more than one style. If your style only supports one style, importing that style explicitly will work as expected. For example, if you use Material.foreground in your QML code and your application supports more than one style, you should refactor the code that uses the binding into its own file; e.g. +Material/MyComponent.qml. Fixes: QTBUG-86263 Change-Id: I38e40ff4f20f61218550ad73945dafb912193466 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* 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-2628-63/+63
| | | | | | | | | 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>
* 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-281-1/+5
| | | | | | | | | | 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>
* Remove bindings to parent in delegatesMitch Curtis2020-05-112-2/+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>
* Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2020-03-171-0/+20
|\ | | | | | | Change-Id: Ieb9bcfba9651d646509afd065ce2389ef74448cc
| * 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>
| * 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/dev' into wip/cmakeLeander Beernaert2019-11-257-0/+0
|\| | | | | | | Change-Id: I61919fabd4a3a07ed374f2c3c1fae2d589d6e124
| * Run optipng on all imagesMitch Curtis2019-11-047-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>
* | Regenerate projects to be in syncAlexandru Croitor2019-11-151-1/+1
| | | | | | | | | | | | 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-153-19/+26
|\| | | | | | | | | | | Removed dependencies.yaml. Change-Id: I1e2b3f486e9ace4bc8dc0419a64848990b3a6b39
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-09-061-17/+24
| |\ | | | | | | | | | Change-Id: I859406dc779e59ee5d8e2980e04f8be28b1a69aa
| | * Modernize Gallery example by using Action where suitableKonstantin Ritt2019-09-051-17/+24
| | | | | | | | | | | | | | | Change-Id: I45c693941e88074eb63f9e6a498c85c1dfa93e9a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-241-1/+1
| |\| | | | | | | | | | Change-Id: Ib3ebf5d1ec84a9db722e7634d77bf424c37c52ce
| | * examples: type userto -> userAlbert Astals Cid2019-08-221-1/+1
| | | | | | | | | | | | | | | Change-Id: I99d9ea22fd51aa4e9da469b630b319ba71215558 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Doc: Replace the "Qt Quick Controls 2" instancesVenugopal Shivashankar2019-08-221-1/+1
| |/ | | | | | | | | | | | | | | | | 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>
* | Regenerate examplesAlexandru Croitor2019-10-111-1/+1
| | | | | | | | | | Change-Id: I8a55e330f8f251df1498f1b906d25b3311f5fd70 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Conversion of QtQuickControls2 examplesLeander Beernaert2019-10-081-0/+99
|/ | | | | | | | 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-0528-62/+62
|\ | | | | | | Change-Id: I7fe9e74beff3cdbfbf02ee0f129a8204ad31046e
| * Tie minor version of all imports to Qt's minor versionMitch Curtis2018-11-0228-62/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-041-1/+2
| | | | | | | | | | | | | | | | 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-311-3/+51
|/ | | | | | | | | | | 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-291-0/+1
| | | | | | | | | | 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>
* gallery: strip png metadata to avoid warningMitch Curtis2018-07-3012-0/+0
| | | | | | | | | | | | | The warning was: "libpng warning: iCCP: known incorrect sRGB profile" The metadata was removed with this command: optipng -o7 -strip all *.png Change-Id: Icc8f365becb25f8267f93383de9ec78c18f6a03e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Add Overlay attached properties and signalsJ-P Nurmi2017-06-261-4/+4
| | | | | | | | | | | | | | | [ChangeLog][Controls][ApplicationWindow] Deprecated the overlay grouped property in favor of the newly introduced Overlay attached properties. [ChangeLog][Controls][Overlay] Introduced Overlay attached properties and signals that supersede the overlay grouped property in Application Window. The Overlay attached type allows providing background dimming for popups without requiring an ApplicationWindow instance. Task-number: QTBUG-61336 Change-Id: I9df11bcb167e7725014d5f058fe24d70da4a10b3 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Gallery: remove unneeded Material-specific iconsJ-P Nurmi2017-05-2412-0/+0
| | | | | | | | | ToolButton was changed to tint the icon so that it always follows the foreground color. Thus, it's no longer necessary to ship white versions of the icons for the Material style. Change-Id: Ibe5accc1b39559c9dfc2f94fbf3c9c323b91fe63 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Gallery: utilize the new icon-support for the tool buttonsJ-P Nurmi2017-04-2628-14/+32
| | | | | Change-Id: I275856925ebf82c0ed8822d45299fd4d5c9218ba Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Gallery: handle Menu shortcut on mobileJ-P Nurmi2017-04-061-0/+5
| | | | | Change-Id: Ie7ad814b3999791801c60776777c6a736db1c093 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Gallery: handle Back shortcut on mobileJ-P Nurmi2017-04-061-2/+2
| | | | | | | | | Menus, dialogs, and drawers already handle it out of the box, but for page/stack navigation we need an explicit shortcut. Change-Id: Iad3e05f0fc31dbd66e3b1aa9286f8ef076fcff0d Task-number: QTBUG-58105 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Update license headers to silence qtqa/tst_license warningsJ-P Nurmi2017-02-2430-62/+352
| | | | | | | | | | Sync with the qtbase/header.XXX. The license headers were matching qtbase/header.XXX-OLD, which makes qtqa/tst_license flood warnings: Old license being used for foo.qdoc Change-Id: I199bf303a2d648e0d5f7bc01cb0814a5f945eeff Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Doc: be consistent about the dot at the end of example descriptionsJ-P Nurmi2017-01-111-1/+1
| | | | | Change-Id: Ie20ad311623020a439ecb701b0360fd72640fcb7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2017-01-1129-29/+29
|\ | | | | | | Change-Id: If797ac58344b20e8de4379343131c097247ba2f2
| * Welcome to 2017J-P Nurmi2017-01-0929-29/+29
| | | | | | | | | | Change-Id: If68cff4efacc7dc5719c8b8e61937e85e9076870 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add DelayButtonJ-P Nurmi2017-01-022-0/+65
| | | | | | | | | | | | | | [ChangeLog][Controls][DelayButton] Added DelayButton. Change-Id: I94820dfb41ba9b90f0a29cda01ac476b54cf3de8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add Drawer::interactiveJ-P Nurmi2016-11-251-2/+2
| | | | | | | | | | | | | | | | | | | | [ChangeLog][Controls][Drawer] Added interactive property that specifies whether the drawer reacts to swipes. This can be used to make drawer a non-closable persistent side-bar. Task-number: QTBUG-53169 Change-Id: I00a794b5ce47b86fcb28e0db784ca0488cd13a7d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add ComboBox::editableJ-P Nurmi2016-11-241-1/+24
| | | | | | | | | | | | | | | | [ChangeLog][Controls][ComboBox] Added editable property Task-number: QTBUG-53876 Change-Id: I1cb035b3bb4c63f7935f08298814005fad51b5eb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-11-1713-238/+5
|\| | | | | | | | | | | | | | | Conflicts: src/quickcontrols2/qquickstyle.cpp src/quicktemplates2/qquickslider.cpp Change-Id: Ie12132690680706def6f516334a6ef0ba27336b3
| * Gallery: improve designer compatibilityJ-P Nurmi2016-11-179-27/+5
| | | | | | | | | | | | | | | | | | | | Get rid of some unnecessary Math.min/max() calculations, and let the controls just stay at their implicit size. As for the buttons, we can use ColumnLayout + Layout.fillWidth to ensure that they all have the same size. Change-Id: Iaed29b330d7edc1f5d2c05d8815a559d52d52bcc Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Gallery: kill some useless pagesJ-P Nurmi2016-11-174-211/+0
| | | | | | | | | | | | | | | | | | | | | | | | The pages for drawer, menu, and popup were pretty useless, because they did not really illustrate how the respective controls are used. They were just opening the side drawer, options menu, and settings dialog from elsewhere in the app. Coincidentally, these pages also contained some imperative signal handlers, which prevents them from being opened in Qt Quick Designer. Change-Id: Iad606c05a1289d22e2f25c28a16581b979a58da6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.8' into dev" into refs/staging/devJ-P Nurmi2016-11-112-0/+217
|\|
| * Gallery: add a page for dialogsJ-P Nurmi2016-11-022-0/+217
| | | | | | | | | | Change-Id: Ib29a41d9d3fc4940e94ee59be109aefbb35db043 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickStyle::availableStyles()J-P Nurmi2016-11-102-1/+2
|/ | | | | | | | | | | | This allows us to introduce platform-specific styles, such as the iOS style, and make them appear correctly in the Gallery example so that we don't have to hard-code the lists separately for different platforms. [ChangeLog][Controls][QQuickStyle] Added availableStyles() method that returns the list of available built-in styles. Change-Id: Ieea88577f402cbc52a844d6777e64c6bd55c5ab9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-10-311-4/+13
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/CheckIndicator.qml src/imports/controls/RadioIndicator.qml src/imports/controls/RangeSlider.qml src/imports/controls/Slider.qml src/imports/controls/SwitchIndicator.qml Change-Id: I32612d2f905ffa02dbaedbb1f84c8237fbd66db3
| * Gallery: make the drawer usable with keyboardJ-P Nurmi2016-10-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Give it focus, and remove the check for the current index. It's a leftover from the days when Gallery used to replace the current page instead of doing a push. It looked silly to replace a page with the same page. This can no longer happen, because the drawer is not even accessible when navigated to a control page. And when navigating the drawer with keyboard, it is exactly the current item that must be triggered when you hit the spacebar. :) Change-Id: I00b48fbe4dd61b06041cb0c3370dfa9c12505dcf Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>