summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-02-07 13:15:00 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-02-07 16:58:21 +0000
commit472f898069818ac3fab40ec065853d8dded7a450 (patch)
tree75c5607952631b8847b2a68105e7aba0be39dfd0
parentf3d80f87971f6b2a4a582b434e6f1f2e6f2d5509 (diff)
downloadqttools-472f898069818ac3fab40ec065853d8dded7a450.tar.gz
Qt Designer: Replace resolve mask checking by QPalette::isBrushSet()
Whereas the palette resolve mask in Qt 5 had one bit for all 3 colors of a role, the mask is now a 64bit value with one bit for each combination of role/group. Port away from checking for the bits where this is easily possible. Task-number: QTBUG-110963 Change-Id: Ib6d3d44deb549bd3a49937eaef3385414480f8d3 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> (cherry picked from commit 9576575335f367ee54df0a2aaa63f74348f8d8bd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/designer/src/components/propertyeditor/paletteeditor.cpp32
-rw-r--r--src/designer/src/lib/uilib/formbuilderextra.cpp9
2 files changed, 17 insertions, 24 deletions
diff --git a/src/designer/src/components/propertyeditor/paletteeditor.cpp b/src/designer/src/components/propertyeditor/paletteeditor.cpp
index 5590857da..fd8337cc2 100644
--- a/src/designer/src/components/propertyeditor/paletteeditor.cpp
+++ b/src/designer/src/components/propertyeditor/paletteeditor.cpp
@@ -85,18 +85,15 @@ QPalette PaletteEditor::palette() const
void PaletteEditor::setPalette(const QPalette &palette)
{
m_editPalette = palette;
- const uint mask = palette.resolveMask();
- for (int i = 0; i < static_cast<int>(QPalette::NColorRoles); ++i) {
- if (!(mask & (1 << i))) {
- m_editPalette.setBrush(QPalette::Active, static_cast<QPalette::ColorRole>(i),
- m_parentPalette.brush(QPalette::Active, static_cast<QPalette::ColorRole>(i)));
- m_editPalette.setBrush(QPalette::Inactive, static_cast<QPalette::ColorRole>(i),
- m_parentPalette.brush(QPalette::Inactive, static_cast<QPalette::ColorRole>(i)));
- m_editPalette.setBrush(QPalette::Disabled, static_cast<QPalette::ColorRole>(i),
- m_parentPalette.brush(QPalette::Disabled, static_cast<QPalette::ColorRole>(i)));
+ for (int r = 0; r < static_cast<int>(QPalette::NColorRoles); ++r) {
+ for (int g = 0; g < static_cast<int>(QPalette::NColorGroups); ++g) {
+ const auto role = static_cast<QPalette::ColorRole>(r);
+ const auto group = static_cast<QPalette::ColorGroup>(g);
+ if (!palette.isBrushSet(group, role))
+ m_editPalette.setBrush(group, role, m_parentPalette.brush(group, role));
}
}
- m_editPalette.setResolveMask(mask);
+ m_editPalette.setResolveMask(palette.resolveMask());
updatePreviewPalette();
updateStyledButton();
m_paletteUpdated = true;
@@ -204,15 +201,12 @@ QPalette PaletteEditor::getPalette(QDesignerFormEditorInterface *core, QWidget*
{
PaletteEditor dlg(core, parent);
QPalette parentPalette(parentPal);
- uint mask = init.resolveMask();
- for (int i = 0; i < static_cast<int>(QPalette::NColorRoles); ++i) {
- if (!(mask & (1 << i))) {
- parentPalette.setBrush(QPalette::Active, static_cast<QPalette::ColorRole>(i),
- init.brush(QPalette::Active, static_cast<QPalette::ColorRole>(i)));
- parentPalette.setBrush(QPalette::Inactive, static_cast<QPalette::ColorRole>(i),
- init.brush(QPalette::Inactive, static_cast<QPalette::ColorRole>(i)));
- parentPalette.setBrush(QPalette::Disabled, static_cast<QPalette::ColorRole>(i),
- init.brush(QPalette::Disabled, static_cast<QPalette::ColorRole>(i)));
+ for (int r = 0; r < static_cast<int>(QPalette::NColorRoles); ++r) {
+ for (int g = 0; g < static_cast<int>(QPalette::NColorGroups); ++g) {
+ const auto role = static_cast<QPalette::ColorRole>(r);
+ const auto group = static_cast<QPalette::ColorGroup>(g);
+ if (!init.isBrushSet(group, role))
+ parentPalette.setBrush(group, role, init.brush(group, role));
}
}
dlg.setPalette(init, parentPalette);
diff --git a/src/designer/src/lib/uilib/formbuilderextra.cpp b/src/designer/src/lib/uilib/formbuilderextra.cpp
index fc1961aa9..2e504899b 100644
--- a/src/designer/src/lib/uilib/formbuilderextra.cpp
+++ b/src/designer/src/lib/uilib/formbuilderextra.cpp
@@ -512,11 +512,10 @@ DomColorGroup *QFormBuilderExtra::saveColorGroup(const QPalette &palette,
DomColorGroup *group = new DomColorGroup();
QList<DomColorRole *> colorRoles;
- const uint mask = palette.resolveMask();
- for (int role = QPalette::WindowText; role < QPalette::NColorRoles; ++role) {
- if (mask & (1 << role)) {
- const QBrush &br = palette.brush(colorGroup, QPalette::ColorRole(role));
-
+ for (int r = QPalette::WindowText; r < QPalette::NColorRoles; ++r) {
+ const auto role = static_cast<QPalette::ColorRole>(r);
+ if (palette.isBrushSet(colorGroup, role)) {
+ const QBrush &br = palette.brush(colorGroup, role);
DomColorRole *colorRole = new DomColorRole();
colorRole->setElementBrush(saveBrush(br));
colorRole->setAttributeRole(QLatin1String(colorRole_enum.valueToKey(role)));