aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/imagine
Commit message (Collapse)AuthorAgeFilesLines
* Update to latest qml CMake APICraig Scott2021-06-051359-7065/+0
| | | | | | | | | | | | | | 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>
* Remove no longer used dependencies.json filesCraig Scott2021-05-311-7/+0
| | | | | Change-Id: I82a18e7a0e768fe57c9cb08666b5486ecfa00ba8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Imagine: fix GroupBox's bottom edge being clippedMitch Curtis2021-05-061-2/+1
| | | | | | | | | | Use the actual padding from the nine patch image rather than the hard-coded 12. Fixes: QTBUG-91924 Pick-to: 6.1 5.15 Change-Id: I4707ae173c088625657a135680619cf646e3a9e2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* CMake: Fix qml module version to use the repo project versionAlexandru Croitor2021-04-152-2/+2
| | | | | | | | | | | 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>
* Ninepatch: keep resetNode status to not lose track of ↵Laszlo Agocs2021-03-311-1/+6
| | | | | | | | | | | | ImageNode->NinePatchNode changes Basically does what 788865b805bc91151ac8fe18bf7b92b1212ee07d did, but on the other branch. Pick-to: 6.1 6.0 5.15 Fixes: QTBUG-87236 Change-Id: Ie8371de8a9d49054c888e4bffb7e89392a6d7c07 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Generate and install qmltypes for all pluginsMaximilian Goldstein2021-03-181-0/+1
| | | | | | | Pick-to: 6.1 Change-Id: Ib6f0aa7d2fe663f8d1ba090d2c62d57e0073a526 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Remove redundant qmldir filesAlexey Edelev2021-02-232-119/+0
| | | | | | | | | | qmldir files to be generated by the cmake build procedure and don't need to be stored in the source tree. Task-number: QTBUG-88263 Change-Id: Idff2800b5b2b6cb74d79a2f42fff717522c10ade Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove QMake project filesJoerg Bornemann2021-02-113-338/+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 the ninepatch image is detachedLaszlo Agocs2021-01-131-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some more contrived usages of nine patch images can uncover an issue with the nine patch node implementation when used together with the threaded render loop of Qt Quick: pixmapChanged generates a QImage that references external data, which then gets passed to the scenegraph in updatePaintNode during the scenegraph's sychronization phase. This pattern (QSGTexture from non-data-owning QImage) should be avoided in general, because when the gui thread gets unblocked and continues after the sync phase, it could invalidate the data the QImage points to. If now the independently running render thread happens to try accessing the data (still the QImage that got passed in in the sync phase), bad things may happen. While it can be difficult to reproduce an actual crash (without ASAN and such), logging with the specially crafted example code shows that the logic is problematic if non-owning QImages are involved: (the pointers are the QImage's constBits) - pixmapChange 0x1f1053a5954 [gui thread] - updatePaintNode 0x1f1053a5954 [render thread, gui blocked] - beforeRendering [render thread] - pixmapChange 0x1f1053e7424 [gui thread] - QSGPlainTexture bind/update 0x1f1053a5954 [render thread] // but 0x1f1053a5954 may be invalid at this point if not owned by the QImage passed to createTextureFromImage - frameSwapped [render thread] Pick-to: 6.0 5.15 Fixes: QTBUG-88162 Change-Id: Id83d04fce668a3e05d150c086abdecc9d59e51e8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Use CMAKE_PROJECT_VERSION for VERSION of QML modulesMitch Curtis2021-01-131-1/+1
| | | | | | | | | | This ensures that the modules provide versions matching the current Qt version. Change-Id: I164b54af60de3b2b6ca6f54c417eb58b1eafd1e5 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@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>
* Regenerate CMake project filesMitch Curtis2020-10-281-0/+1
| | | | | Change-Id: I7f1fe2b07a6c22f02802b0fdc31917b398cbd770 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix static buildEskil Abrahamsen Blomfeldt2020-10-092-0/+8
| | | | | | | | 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-073-6/+14
| | | | | | | | 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>
* Implement ScrollView.qml in all stylesRichard Moe Gustavsen2020-09-292-0/+3
| | | | | | | | | | | | | | | | ScrollView.qml makes use of ScrollBar. While most of the styles override ScrollBar.qml, almost none override ScrollView.qml. This means that the ScrollView in Basic style will be used, and that ScrollView will always use it's own scrollbars, regardless if the overridden style provides another ScrollBar.qml. This patch will override ScrollView.qml for all the internal styles so that the correct scrollbars will be used. Change-Id: I1d9ba17f225a82b2dfaae6caba6ac4519f79a705 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Remove QtQuick.Controls imports from styles' QML filesMitch Curtis2020-09-2421-21/+0
| | | | | | | | | | This is necessary to support compile-time style selection. If we don't do this, QtQuickControls2Plugin (which is now only used for run-time style selection) will be loaded unnecessarily. Task-number: QTBUG-86284 Change-Id: Id5338f147e3e97f25574ec98377d26b111f8341a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Rename "Default" style to "Basic"Mitch Curtis2020-09-243-3/+3
| | | | | | | | | | | | [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-242-10/+4
| | | | | | | | | | | | | | | | | | | | | 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 TODO comments for revisionsMitch Curtis2020-09-032-3/+2
| | | | | | | | | These could not be revisioned as 6.0 at the time, but now they can. Fixes: QTBUG-84190 Change-Id: I14dbd7609b0662a3ca13ac413204d953c37af7cf Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@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>
* Remove all plugins.qmltypes filesMitch Curtis2020-08-261-347/+0
| | | | | | | | | These files should now be automatically generated by both qmake and cmake. Task-number: QTBUG-82922 Change-Id: I3ba754bb343123442c7d56c9caf770a979489c7d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix CMake buildMitch Curtis2020-08-263-128/+177
| | | | | | Task-number: QTBUG-82922 Change-Id: I75f4a553a6bb260f77bfa791f12fa42e80131e09 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Bump import version to 6.0Mitch Curtis2020-08-263-2/+52
| | | | | | Task-number: QTBUG-82922 Change-Id: I2eb924eaaaddbe75d342f59f5fb3cd30c4a84fef Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Use qmlRegisterModuleImport() to register stylesMitch Curtis2020-08-262-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Convert remaining imperative type registration to declarativeMitch Curtis2020-08-261-3/+3
| | | | | | Task-number: QTBUG-82922 Change-Id: I34e9f32d5f695aaac7acf6b4aac30e8a2311e0cf Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* List publicly registered QML files in the qmldir for each styleMitch Curtis2020-08-261-0/+58
| | | | | | | | | | | | | | | | | | | This is required in order to move away from imperative registration. Some styles do not have implementations for all types, in which case they fall back to the Default style. The list of those types are: AbstractButton 2.0 AbstractButton.qml Action 2.3 Action.qml ActionGroup 2.3 ActionGroup.qml ButtonGroup 2.0 ButtonGroup.qml Container 2.0 Container.qml Control 2.0 Control.qml ScrollView 2.2 ScrollView.qml (except Imagine) Task-number: QTBUG-82922 Change-Id: If51c8232d7a8b12f6d1f988cc7ce2d8edca1e467 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Remove all version numbers from QML importsMitch Curtis2020-08-2650-230/+230
| | | | | | | | | 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-262-2/+2
| | | | | | | | | | | | 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-2620-55/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Use QList instead of QVectorJarek Kobus2020-06-091-18/+18
| | | | | | Task-number: QTBUG-84469 Change-Id: Ic36741d2bcaec8d5e5dc96638b7122f8ce51bdb2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* ApplicationWindow: remove deprecated overlay APIMitch Curtis2020-06-082-21/+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>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-05-141-1/+13
|\ | | | | | | Change-Id: I24ff9bec33e0bd8785e3d571212a7506b6501854
| * Update plugins.qmltypes for 5.15Jani Heikkinen2020-04-151-1/+13
| | | | | | | | | | | | Task-number: QTBUG-82253 Change-Id: I93ae7b51b902050020cf7a79510b8325060181c5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Dial: remove unnecessary id qualificationsMitch Curtis2020-05-131-2/+2
| | | | | | | | | | | | | | | | | | This amends 467aa59a8. Pick-to: 5.15 Change-Id: If162e6fe6f3087e905457d23248e95ae31726e4d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Switch to a built-in OpacityMask effect for Imagine styleLaszlo Agocs2020-05-1214-8/+315
| | | | | | | | | | | | | | | | | | | | No point in pulling in Graphical Effects just for this. Instead, follow what we did for RectangularGlow in the Material style. Task-number: QTBUG-78631 Change-Id: Ibe5f9c18ea4dbdca78ac24facbd5786deebb716f Reviewed-by: Mitch Curtis <mitch.curtis@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>
* | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-313-3/+9
|\| | | | | | | Change-Id: Ie09cfdd17b00e56f3ba8677d25b24417dd4e42f6
| * HeaderView: Add support for list based modelsAndy Shaw2020-03-242-2/+6
| | | | | | | | | | Change-Id: I411136bd2b9a277d84a7c68c55bb1c317b6cc9d2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Account for the padding around a menu when checking if it is interactiveAndy Shaw2020-03-181-1/+3
| | | | | | | | | | | | | | | | | | | | If there is padding around the menu then it will mean the available height is smaller than the containing item and as such should be interactive. Fixes: QTBUG-82473 Change-Id: Ie3e7568ab66aa3da93e5448c1a27c9bd2a5e486a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Fix Qt 6 to-do comments in QML filesMitch Curtis2020-03-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove what appears to be code for backwards compatibility in the sizing of certain controls. Removing the code shows no discernible difference in the appearance of those controls. [ChangeLog][Controls][Tumbler] implicitWidth and implicitHeight must now be provided for Tumbler's contentItem, as with all other controls. Change-Id: Id858b6d13bfd81d8f30be57290fb260404652a4c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | CMake: Regenerate projectswip/cmakeAlexandru Croitor2020-03-171-0/+146
| | | | | | | | | | | | 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-176-9/+145
|\ \ | | | | | | | | | Change-Id: Ieb9bcfba9651d646509afd065ce2389ef74448cc
| * | Merge remote-tracking branch 'origin/5.15' into devSimon Hausmann2020-03-104-2/+137
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/qtquickcontrols2plugin.cpp Change-Id: Ifc09ea9f71fdba119fe8eed99f0bdcb402444f27
| | * HeaderView: set implicitSize on the style itemsv5.15.0-beta2Richard Moe Gustavsen2020-03-102-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By setting an implicit size, the user don't need to set a width or height on a HeaderView himself, but it will get the default size recommended by the style. By doing it the way it's done in the patch we achieve the following: 1. A HeaderView will by default be resized to be the same size as the delegate. 2. If the application sets a size on HeaderView it that is larger than the implicit size of the delegate, the delegate will be resized to have the same size (effectively filling out the free space in the header). 3. If the size of HeaderView is smaller than the implicit size of the delegate, the delegate will simply be clipped. (effectivly saying that the implicitSize of the delegate is also it's minimum size). If this is not acceptable for the application, it will need to use a custom delegate. Since a HeaderView delegate is a component and not an item, it should not be a part of the sanity checks we do to avoid using internal IDs. Hence we blacklist until we have a better way of handling such cases. Task-number: QTPM-1300 Change-Id: I30ca3e13ce5e1371b60f5c4ecf742a7d7e794a36 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | * Imagine: fix Dial being squishedMitch Curtis2020-03-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Since we probably don't want to wrap the background in an Item, use "fillMode: Image.PreserveAspectFit" on it to ensure that the background isn't squished. - Use the same binding for the Translate's y property as we do in all of the other styles. Fixes: QTBUG-82463 Change-Id: I43129959e03ad489a8c231a7a42c192264b380ac Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * Add HorizontalHeaderView and VerticalHeaderViewv5.15.0-alpha1Yulong Bai2020-02-113-1/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Controls] Add HorizontalHeaderView and VerticalHeaderView. They are controls associated with TableView. Support flicking synchronization Support default, fusion, imagine, material and universal delegate styles. Fixes: QTPM-1300 Change-Id: Ie3f913dd616cda0d4e5a22a3d95baf71692370fe Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| * | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-02-081-1/+1
| |\| | | | | | | | | | Change-Id: I4b20284eb05b6277c758a1ab5579b803db9a84ca
| | * Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2019-12-301-1/+1
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf tests/auto/controls/data/tst_combobox.qml Change-Id: I8471cdac4397f77a8e58140d58c6b50d3c437928
| | | * clang-tidy: fix readability-const-return-typeMitch Curtis2019-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The warning was: qquickimaginestyle.cpp:46:1: warning: return type 'const QString' is 'const'-qualified at the top level, which may reduce code readability without improving const correctness [readability-const-return-type] Change-Id: Idcabe034f0e38a1b15b406d7bddc4662b6ea2261 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-12-141-6/+7
| |\| | | | | | | | | | | | | | Change-Id: I53a6326a91c2de5a6016df7322df4a6159f2330e