| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old QPalette move constructor and assignment operators only exchanged
the d-pointer, but left the resolveMask of the moved-to palette instance
untouched.
This was clearly wrong. With the move of the resolveMask to the private in
556511f9f39ddc887481e0cd5a877134ceb0da6b, the resolveMask is moved, as one
would expect.
However, this broke the inheritance of palettes in QtQuickControls2, as
QQuickPaletteColorProvider::inheritPalette did not restore the mask of the
resulting palette to the mask of the palette that inherited from.
Change-Id: I7436d3e493e06b8619102212ac7b707daa973b2a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Vitaly Fanaskov <vt4a2hqt@gmail.com>
|
|
|
|
|
|
|
| |
This is needed after qtbase b77a3f47c9d6f4fd68a687e3bdb38e550d2810ad.
Change-Id: I41cf66d51dad7209c21d9e4049497a1f911e132a
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
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>
|