aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/CMakeLists.txt
diff options
context:
space:
mode:
authorVitaly Fanaskov <vitaly.fanaskov@qt.io>2019-08-06 15:47:50 +0200
committerVitaly Fanaskov <vitaly.fanaskov@qt.io>2020-03-16 14:33:24 +0100
commit1875ad7f92cad270cc5857d71096a4b46c27c562 (patch)
treef8bfa68c889ea602e14d017e26030401ae7c1dc9 /src/quick/CMakeLists.txt
parentea592334fdf12ce6625106c3f06bb57333690942 (diff)
Introduce new mechanism to manage palette functionality in QML
Main goals of these changes: 1) Add an ability to work with disabled and inactive palettes from QML 2) Eliminate massive code duplication in qtquickcontrols2 module 3) Provide easily extensible architecture for this piece of functionality Architectural part. Palette It was decided to not change existing QPalette, but add thin wrappers around it to provide all required functionality. These wrappers are highly coupled with QPalette class because of using some enum values from it. There are two new classes QQuickPalette and QQuickColorGroup. QQuickPalette class inherits QQuickColorGroup class and represents Active/All color group. QQuickPalette also provides an access to three color groups: Active, Inactive, and Disabled. In order to access colors the special class QQuickPaletteColorProvider is used. This is a wrapper around QPalette that provides some convenience functions. Interface The private property "palette" should be exposed. Implementation All private parts of classes that implement QQuickAbstractPaletteProvider have to inherit QQuickPaletteProviderPrivateBase class. This template class implement all functionality: create palette, resolve dependencies, connect objects etc. This is important to mention that related data is lazily allocatable on demand only. Hence, there is no memory overhead for regular items. Change-Id: I911424b730451b1ad47f68fd8007953b66eddb28 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/quick/CMakeLists.txt')
-rw-r--r--src/quick/CMakeLists.txt5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/quick/CMakeLists.txt b/src/quick/CMakeLists.txt
index bffe111828..d7ea3d1df5 100644
--- a/src/quick/CMakeLists.txt
+++ b/src/quick/CMakeLists.txt
@@ -80,6 +80,11 @@ qt_add_module(Quick
items/qquickwindow.cpp items/qquickwindow.h items/qquickwindow_p.h
items/qquickwindowattached.cpp items/qquickwindowattached_p.h
items/qquickwindowmodule.cpp items/qquickwindowmodule_p.h
+ items/qquickwindowmodule_p_p.h
+ items/qquickpalette.cpp items/qquickpalette_p.h
+ items/qquickcolorgroup.cpp items/qquickcolorgroup_p.h
+ items/qquickpalettecolorprovider.cpp items/qquickpalettecolorprovider_p.h
+ items/qquickpaletteproviderprivatebase_p.h
qtquick2.cpp qtquick2_p.h
qtquickglobal.h qtquickglobal_p.h
scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h