From a0a979a0ad235e6aac4c4058112ac1e439cb2d5a Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Fri, 27 Aug 2021 00:00:45 +0200 Subject: [PATCH] Utils: Fix placeholder text color for dark themes (Qt6) Qt 6 changed the color for QPalette::PlaceholderText to a hardcoded argb value in qt_fusionPalette(), which does not work well with dark themes. This change restores the rgb values for QPalette::PlaceholderText from Qt 5 for Qt Creator's dark themes. Task-number: QTCREATORBUG-25444 Change-Id: I197d367ac6e35085a093abfee07467291010e3ba Reviewed-by: Eike Ziller Reviewed-by: David Schulz --- share/qtcreator/themes/dark.creatortheme | 1 + share/qtcreator/themes/design.creatortheme | 1 + share/qtcreator/themes/flat-dark.creatortheme | 1 + src/libs/utils/theme/theme.cpp | 6 ++++-- src/libs/utils/theme/theme.h | 3 +++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/share/qtcreator/themes/dark.creatortheme b/share/qtcreator/themes/dark.creatortheme index 7593a2b3875..4f92228aa36 100644 --- a/share/qtcreator/themes/dark.creatortheme +++ b/share/qtcreator/themes/dark.creatortheme @@ -352,6 +352,7 @@ PaletteWindowTextDisabled=textDisabled PaletteBaseDisabled=backgroundColorDisabled PaletteTextDisabled=textDisabled PaletteMid=ffa0a0a0 +PalettePlaceholderText=ff8d8d8d QmlDesigner_BackgroundColor=qmlDesignerButtonColor QmlDesigner_HighlightColor=ff46a2da diff --git a/share/qtcreator/themes/design.creatortheme b/share/qtcreator/themes/design.creatortheme index b48b3720988..daffe924a6a 100644 --- a/share/qtcreator/themes/design.creatortheme +++ b/share/qtcreator/themes/design.creatortheme @@ -478,6 +478,7 @@ PaletteWindowTextDisabled=textDisabled PaletteBaseDisabled=backgroundColorDisabled PaletteTextDisabled=textDisabled PaletteMid=ffafafaf +PalettePlaceholderText=ff808081 [Flags] ComboBoxDrawTextShadow=false diff --git a/share/qtcreator/themes/flat-dark.creatortheme b/share/qtcreator/themes/flat-dark.creatortheme index aa0e8d2fdfb..6265003f1df 100644 --- a/share/qtcreator/themes/flat-dark.creatortheme +++ b/share/qtcreator/themes/flat-dark.creatortheme @@ -370,6 +370,7 @@ PaletteWindowTextDisabled=textDisabled PaletteBaseDisabled=backgroundColorDisabled PaletteTextDisabled=textDisabled PaletteMid=ffa0a0a0 +PalettePlaceholderText=ff7f7f80 [Flags] ComboBoxDrawTextShadow=false diff --git a/src/libs/utils/theme/theme.cpp b/src/libs/utils/theme/theme.cpp index 2b9b12ebc37..e45662012e5 100644 --- a/src/libs/utils/theme/theme.cpp +++ b/src/libs/utils/theme/theme.cpp @@ -193,7 +193,7 @@ void Theme::readSettings(QSettings &settings) for (int i = 0, total = e.keyCount(); i < total; ++i) { const QString key = QLatin1String(e.key(i)); if (!settings.contains(key)) { - if (i < PaletteWindow || i > PaletteShadowDisabled) + if (i < PaletteWindow || i > PalettePlaceholderTextDisabled) qWarning("Theme \"%s\" misses color setting for key \"%s\".", qPrintable(d->fileName), qPrintable(key)); continue; @@ -325,7 +325,9 @@ QPalette Theme::palette() const {PaletteMid, QPalette::Mid, QPalette::All, false}, {PaletteMidDisabled, QPalette::Mid, QPalette::Disabled, false}, {PaletteShadow, QPalette::Shadow, QPalette::All, false}, - {PaletteShadowDisabled, QPalette::Shadow, QPalette::Disabled, false} + {PaletteShadowDisabled, QPalette::Shadow, QPalette::Disabled, false}, + {PalettePlaceholderText, QPalette::PlaceholderText, QPalette::All, false}, + {PalettePlaceholderTextDisabled, QPalette::PlaceholderText, QPalette::Disabled, false}, }; for (auto entry: mapping) { diff --git a/src/libs/utils/theme/theme.h b/src/libs/utils/theme/theme.h index 66d2d291aba..a4fd112786d 100644 --- a/src/libs/utils/theme/theme.h +++ b/src/libs/utils/theme/theme.h @@ -163,6 +163,9 @@ public: PaletteMidDisabled, PaletteShadowDisabled, + PalettePlaceholderText, + PalettePlaceholderTextDisabled, + /* Icons */ IconsBaseColor,