aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/testbench
Commit message (Collapse)AuthorAgeFilesLines
* testbench: don't override style stored in settings with default styleMitch Curtis2021-02-251-1/+1
| | | | | | | | | | | | | Now that we choose e.g. Fusion by default on Linux, QQuickStyle::name() will return that. If the user had a style previously selected and that was stored in settings, we should respect that. So, only prefer QQuickStyle::name() if we're not using the default style. Pick-to: 6.1 6.0 Change-Id: I986f4b169bb99836714f2f2ed99f17746686f946 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Convert manual tests to CMakeMitch Curtis2021-02-251-0/+109
| | | | | | Pick-to: 6.1 6.0 Change-Id: Ia974de4a852b70a9b9fdc79a819229393758c9d7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Adjust testbench to properly support multiple stylesMitch Curtis2020-09-2414-31/+565
| | | | | | | | | | | | We need to split the uses of the Imagine style API out into file-selected files. We set Imagine.path so that the default assets are used for areas of the UI that are important to the functioning of the example, as using custom assets here could make it impossible to use the API if the assets were not created correctly. Change-Id: I2b6b683ffe65b7d573abf0ae793509a95417aead Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Remove binding to parent in testbenchMitch Curtis2020-09-241-1/+1
| | | | | | Task-number: QTBUG-82989 Change-Id: I5ce70afd395ecf0a0e91a70f19b2f1a04e1c1e6d 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>
* Use qmlRegisterModuleImport() to register stylesMitch Curtis2020-08-262-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2641-99/+99
| | | | | | | | | 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>
* Register C++ types declarativelyMitch Curtis2020-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Remove the remaining usages of QRegExp and QRegExpValidatorLars Knoll2020-03-191-3/+3
| | | | | Change-Id: Iab8e682eeb43b3403eba37f7decb7f7a494ae361 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: fix import versions in SplitView documentationv5.13.0-rc3v5.13.0-rc2v5.13.0Mitch Curtis2019-06-041-2/+2
| | | | | | Change-Id: Ib491000bf2751f24e3dc635958bdf997193c225e Fixes: QTBUG-76077 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-1040-92/+92
|\ | | | | | | | | | | | | | | Conflicts: .qmake.conf src/imports/controls/qtquickcontrols2plugin.cpp Change-Id: I27f1260b539354e084beb28be78385e57fda63e1
| * Tie minor version of all imports to Qt's minor versionMitch Curtis2018-11-0240-92/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Add SplitViewMitch Curtis2018-11-132-0/+80
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SplitView is an important tool for desktop applications that do not want to use a dock widget-style approach for their user interface. It allows users to have some degree of control over the sizing of elements in the UI, as well as the ability to conveniently serialize those sizes so that they're remembered across sessions. The main differences between this and the SplitView in Qt Quick Controls 1 are: - Has its own SplitView attached properties, rather than relying on the Layout attached properties (which required an additional import). - Uses the attached preferredWidth and preferredHeight properties as well as Item's implicitWidth/implicitHeight properties for the preferred size of items, rather than using the width and height properties. - Inherits from Container, so supports most of its API (though some parts of the API, like the currentIndex-related stuff, make no sense for SplitView). - Uses attached SplitHandle properties for the handle delegate to visualize hovered/pressed effects. - Offers convenience API for serializing the user's preferred sizes. [ChangeLog][Controls][SplitView] Introduced SplitView, a control that lays out items horizontally or vertically with a draggable splitter between each item. Task-number: QTBUG-56318 Change-Id: I3da91643ab312eb9ef5b0567da4e758f17747192 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* testbench: remove hovered states as the property is read-onlyv5.11.0-alpha1Mitch Curtis2018-02-142-12/+1
| | | | | Change-Id: Iebc19620b34d9a8a7cc954c9486b739eed1de4a4 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* testbench: set checked on ButtonMitch Curtis2018-02-141-0/+1
| | | | | Change-Id: Ic63b9c17318b357f4f34a5c49ff3d27bb438856c Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devJ-P Nurmi2017-10-125-237/+293
|\ | | | | | | Change-Id: I3eb4463f8d931257b3e5d5438361f38f2f5b21ce
| * testbench: fix modal dialogJ-P Nurmi2017-10-061-1/+1
| | | | | | | | | | | | | | Background dimming was disabled for modal dialogs. Change-Id: I52f544364b59387249b96d4db243ad3a0982c322 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Improve testbenchMitch Curtis2017-10-064-236/+292
| | | | | | | | | | | | | | | | | | - Add a "Fix Custom Assets" action with shortcut - Organize the settings dialog into groups so it's easier to see which options are Imagine-only. Change-Id: I20fe7ba63b3bf7770f6ca553780c47f021217ea2 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-10-0516-19/+156
|\| | | | | | | Change-Id: I59e9e2044184f96f1e66577f6f639d028a825b9e
| * testbench: fix orientation for horizontal ScrollBar & ScrollIndicatorv5.10.0-beta1J-P Nurmi2017-10-042-2/+2
| | | | | | | | | | Change-Id: I1badecf98edb5174aa4cca71553e68bf20692801 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * testbench: add SpinBox states and tidy up existing onesMitch Curtis2017-09-291-3/+5
| | | | | | | | | | Change-Id: I2d0cb1f5ec9073670fa00a86fa1ac85bd50b8373 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * testbench: add TextArea, TextField examples with placeholderTextMitch Curtis2017-09-282-5/+24
| | | | | | | | | | Change-Id: Ib185b7b7592861c3ff5cf22050af7a5dfd5d4af2 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * testbench: add MenuBarJ-P Nurmi2017-09-272-0/+80
| | | | | | | | | | Change-Id: I51adbdce78e535294faac33ba73a99149ef63f19 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * testbench: allow focus in delegatesJ-P Nurmi2017-09-275-0/+10
| | | | | | | | | | | | | | | | QQuickItemDelegate sets Qt.NoFocus by default, but in testbench it's useful to be able see keyboard focus. Change-Id: I7a33cd5087279d111831d489cab1be8d93b60ec7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * testbench: fix Switch labelJ-P Nurmi2017-09-271-1/+1
| | | | | | | | | | Change-Id: I12fac13118cf27d7ed391df33a5a0a551a8764ef Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * testbench: move the scrollbar on the window edgeJ-P Nurmi2017-09-261-1/+6
| | | | | | | | | | Change-Id: I52af7be7cbd838108cd9e18366afea90e26387a3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * testbench: make the search case-insensitiveJ-P Nurmi2017-09-261-1/+2
| | | | | | | | | | Change-Id: Ib14404986acd377ad00f19d8b7ec719dd0deeb16 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * testbench: ensure that assets are reloaded properlyMitch Curtis2017-09-262-6/+22
| | | | | | | | | | | | | | | | Clear the view's model, otherwise it will keep the old items around with the old assets, even after clearing the pixmap cache. Change-Id: If27400c0940448b337d1a4cd3ce0d6c99e2d9ddd Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * testbench: add modal and dim states for DialogMitch Curtis2017-09-261-1/+5
| | | | | | | | | | Change-Id: Ic7ed3b9712bb0e0e3e3eaa74ab10877b9ed86069 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Remove execute permissions from files that should never have had themEdward Welbourne2017-09-282-0/+0
|/ | | | | Change-Id: Id663f0e38c5af4609bd79a634afdd32c2c802f01 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Replace testbench with newer "style testbench"Mitch Curtis2017-09-2553-940/+4970
| | | | | | | | | | | | The style testbench was developed to provide a way for designers to test out their Imagine style assets, but since it is now more feature-rich than the old testbench, it seems like a good idea to replace it. The tool is described in README.md. Change-Id: I9abec1bc294fd176e2255e067af280b378961551 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* testbench: add dialog, flat buttons, make toolbar scalableMitch Curtis2017-07-191-11/+62
| | | | | Change-Id: If29604b8131ded53bd947097b00e5fab4d41dd2e Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* testbench: reorganise layoutMitch Curtis2017-07-101-183/+184
| | | | | | | | Move more... exotic controls to the end, move relevant controls together and try to make better use of the space, like a puzzle! Change-Id: I0ad41caa3cbd0747351b552478b265ccc800d5ca Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Add Drawer to testbenchMitch Curtis2017-07-101-0/+13
| | | | | Change-Id: I4268a8ea1cd26fe3fe3f88460152ef15b0e28502 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Add DelayButton to testbenchMitch Curtis2017-06-301-6/+36
| | | | | Change-Id: I92bd1f65e0ea2604139163c363458b7e551c4279 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* testbench: add more PageIndicatorsMitch Curtis2017-06-221-1/+13
| | | | | Change-Id: Id1023b9d54560ffe3d5117b6bec109869ff381cc Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* testbench: add options for mirroring and disabling the contentsJ-P Nurmi2017-05-161-81/+125
| | | | | Change-Id: Ic1dca59435635bb3056cce8f5fd7e533c13939f9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* testbench: more tweaksJ-P Nurmi2017-05-161-14/+66
| | | | | | | | | | | - add missing tri-state checkboxes - connect slider & progressbar for testing the latter - make scrollbars and indicators larger - give dials a value to see the painted arc - make item delegates focusable Change-Id: Ifd3cc134db70e09f4ba6c2ff2a45090027609e4e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Refactor testbenchJ-P Nurmi2017-05-121-243/+218
| | | | | | | | | | Add missing checked+disabled states, and replace "Normal" with the control's name where feasible to make it clear which control is it. Furthermore, kill some Item-wrappers by utilizing Layout attached properties and Pane's content size. Change-Id: Ida76215ff7a00836b754efde458302fe90c46b02 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Update license headers to silence qtqa/tst_license warningsJ-P Nurmi2017-02-242-4/+24
| | | | | | | | | | 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>
* Welcome to 2017J-P Nurmi2017-01-092-2/+2
| | | | | Change-Id: If68cff4efacc7dc5719c8b8e61937e85e9076870 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-10-313-4/+140
|\ | | | | | | | | | | | | | | | | | | | | 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
| * Improve testbenchMitch Curtis2016-10-261-2/+138
| | | | | | | | | | | | | | | | - Add delegate types - Make Dials smaller Change-Id: If95115b13a1aba61921d9924a0d37e4a263b798b Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * testbench: rename main.qml to testbench.qmlMitch Curtis2016-10-263-2/+2
| | | | | | | | | | | | | | This is one less main.qml to search through. Change-Id: I2d0a8a56a779a6d6acac579d44c641dea318fb3d Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Add RoundButtonMitch Curtis2016-09-021-0/+102
| | | | | | | | | | | | | | | | [ChangeLog][Controls] Added RoundButton. Change-Id: I30a8b9e942a61089e87fb1aa248432e42caf0d20 Task-number: QTBUG-54967 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Add MenuSeparatorMitch Curtis2016-07-251-0/+6
| | | | | | | | | | | | | | | | | | [ChangeLog][Controls] Added MenuSeparator to visually distinguish between groups of items in a menu. Change-Id: I7a52910b19633ed1188c90ca56c92346a28d4d5c Task-number: QTBUG-54862 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into devJ-P Nurmi2016-07-221-2/+5
|\| | | | | | | Change-Id: I82c2b8d97d639e24147118a2ca6276ae70195b45
| * testbench: center the window upon completion instead of using bindingsJ-P Nurmi2016-07-201-2/+5
| | | | | | | | | | | | | | | | | | The x/y bindings to screen center cause troubles when moving the window between screens. At least on OS X, the x/y bindings prevent moving the window to a second screen (it snaps back). Change-Id: I238e278c5338e926633be518143f22b5b18a4422 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add ToolSeparatorMitch Curtis2016-07-211-0/+12
| | | | | | | | | | | | | | | | | | | | ToolSeparator is used to visually distinguish between groups of items in a toolbar by separating them with a line. It can be used in horizontal or vertical toolbars. Task-number: QTBUG-54862 Change-Id: Ie68e680510428ad19e7f80268063af07b61100eb Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Bump up all controls and templates imports to version 2.1J-P Nurmi2016-07-081-3/+3
|/ | | | | | | | | | | | Controls must import templates version 2.1 in order to "inherit" 1-revisioned properties, methods, and signals. So far, this has been done case by case, but it's less error prone and more clear to change them all. For example, if you ever see a source file pasted/linked somewhere, it's easy to identify the version it belongs to. Change-Id: I41609ec1a22bc05ac3e79f953a147ca42d9e0786 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>