Theme 'dark': Use accent color on macOS

Fixes: QTCREATORBUG-28374
Change-Id: Ifb7fa83c8afc1be0a919c775f7d04e229f146438
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Eike Ziller
2022-11-10 09:23:06 +01:00
parent 1a1d4780b8
commit 33a33612c8
3 changed files with 8 additions and 2 deletions

View File

@@ -2,6 +2,7 @@
ThemeName=Dark
PreferredStyles=
DefaultTextEditorColorScheme=dark.xml
EnforceAccentColorOnMacOS=selectedBackground
[Palette]
shadowBackground=ff232323
@@ -10,7 +11,6 @@ textDisabled=7fffffff
textHighlighted=ffe7e7e7
hoverBackground=18ffffff
selectedBackground=aa1f75cc
selectedBackgroundText=aa1f75cc
normalBackground=ff333333
alternateBackground=ff515151
error=ffd84044
@@ -358,7 +358,7 @@ PaletteText=text
PaletteButtonText=text
PaletteButtonTextDisabled=textDisabled
PaletteToolTipBase=66000000
PaletteHighlight=selectedBackgroundText
PaletteHighlight=selectedBackground
PaletteDark=shadowBackground
PaletteHighlightedText=textHighlighted
PaletteToolTipText=text

View File

@@ -120,6 +120,10 @@ bool Theme::flag(Theme::Flag f) const
QColor Theme::color(Theme::Color role) const
{
const auto color = d->colors[role];
if (HostOsInfo::isMacHost() && !d->enforceAccentColorOnMacOS.isEmpty()
&& color.second == d->enforceAccentColorOnMacOS)
return initialPalette().color(QPalette::Highlight);
return d->colors[role].first;
}
@@ -171,6 +175,7 @@ void Theme::readSettings(QSettings &settings)
d->preferredStyles.removeAll(QString());
d->defaultTextEditorColorScheme =
settings.value(QLatin1String("DefaultTextEditorColorScheme")).toString();
d->enforceAccentColorOnMacOS = settings.value("EnforceAccentColorOnMacOS").toString();
}
{
settings.beginGroup(QLatin1String("Palette"));

View File

@@ -22,6 +22,7 @@ public:
QString displayName;
QStringList preferredStyles;
QString defaultTextEditorColorScheme;
QString enforceAccentColorOnMacOS;
QVector<QPair<QColor, QString> > colors;
QVector<QString> imageFiles;
QVector<bool> flags;