Add support for Tooltip color set
Also add some missing color sets to ThemePrivate::colorsChanged()
This commit is contained in:
parent
3167717797
commit
b8fb2ff44e
@ -44,6 +44,7 @@ ThemePrivate::ThemePrivate(QObject *parent)
|
|||||||
viewColorScheme(QPalette::Active, KColorScheme::View, KSharedConfigPtr(nullptr)),
|
viewColorScheme(QPalette::Active, KColorScheme::View, KSharedConfigPtr(nullptr)),
|
||||||
complementaryColorScheme(QPalette::Active, KColorScheme::Complementary, KSharedConfigPtr(nullptr)),
|
complementaryColorScheme(QPalette::Active, KColorScheme::Complementary, KSharedConfigPtr(nullptr)),
|
||||||
headerColorScheme(QPalette::Active, KColorScheme::Header, KSharedConfigPtr(nullptr)),
|
headerColorScheme(QPalette::Active, KColorScheme::Header, KSharedConfigPtr(nullptr)),
|
||||||
|
tooltipColorScheme(QPalette::Active, KColorScheme::Tooltip, KSharedConfigPtr(nullptr)),
|
||||||
defaultWallpaperTheme(QStringLiteral(DEFAULT_WALLPAPER_THEME)),
|
defaultWallpaperTheme(QStringLiteral(DEFAULT_WALLPAPER_THEME)),
|
||||||
defaultWallpaperSuffix(QStringLiteral(DEFAULT_WALLPAPER_SUFFIX)),
|
defaultWallpaperSuffix(QStringLiteral(DEFAULT_WALLPAPER_SUFFIX)),
|
||||||
defaultWallpaperWidth(DEFAULT_WALLPAPER_WIDTH),
|
defaultWallpaperWidth(DEFAULT_WALLPAPER_WIDTH),
|
||||||
@ -388,6 +389,9 @@ void ThemePrivate::colorsChanged()
|
|||||||
buttonColorScheme = KColorScheme(QPalette::Active, KColorScheme::Button, colors);
|
buttonColorScheme = KColorScheme(QPalette::Active, KColorScheme::Button, colors);
|
||||||
viewColorScheme = KColorScheme(QPalette::Active, KColorScheme::View, colors);
|
viewColorScheme = KColorScheme(QPalette::Active, KColorScheme::View, colors);
|
||||||
selectionColorScheme = KColorScheme(QPalette::Active, KColorScheme::Selection, colors);
|
selectionColorScheme = KColorScheme(QPalette::Active, KColorScheme::Selection, colors);
|
||||||
|
complementaryColorScheme = KColorScheme(QPalette::Active, KColorScheme::Complementary, colors);
|
||||||
|
headerColorScheme = KColorScheme(QPalette::Active, KColorScheme::Header, colors);
|
||||||
|
tooltipColorScheme = KColorScheme(QPalette::Active, KColorScheme::Tooltip, colors);
|
||||||
palette = KColorScheme::createApplicationPalette(colors);
|
palette = KColorScheme::createApplicationPalette(colors);
|
||||||
scheduleThemeChangeNotification(PixmapCache | SvgElementsCache);
|
scheduleThemeChangeNotification(PixmapCache | SvgElementsCache);
|
||||||
emit applicationPaletteChange();
|
emit applicationPaletteChange();
|
||||||
@ -465,6 +469,15 @@ const QString ThemePrivate::processStyleSheet(const QString &css, Plasma::Svg::S
|
|||||||
elements[QStringLiteral("%viewneutraltextcolor")] = color(Theme::NeutralTextColor, Theme::ViewColorGroup).name();
|
elements[QStringLiteral("%viewneutraltextcolor")] = color(Theme::NeutralTextColor, Theme::ViewColorGroup).name();
|
||||||
elements[QStringLiteral("%viewnegativetextcolor")] = color(Theme::NegativeTextColor, Theme::ViewColorGroup).name();
|
elements[QStringLiteral("%viewnegativetextcolor")] = color(Theme::NegativeTextColor, Theme::ViewColorGroup).name();
|
||||||
|
|
||||||
|
elements[QStringLiteral("%tooltiptextcolor")] = color(status == Svg::Status::Selected ? Theme::HighlightedTextColor : Theme::TextColor, Theme::ToolTipColorGroup).name();
|
||||||
|
elements[QStringLiteral("%tooltipbackgroundcolor")] = color(status == Svg::Status::Selected ? Theme::HighlightColor : Theme::BackgroundColor, Theme::ToolTipColorGroup).name();
|
||||||
|
elements[QStringLiteral("%tooltiphovercolor")] = color(Theme::HoverColor, Theme::ToolTipColorGroup).name();
|
||||||
|
elements[QStringLiteral("%tooltipfocuscolor")] = color(Theme::FocusColor, Theme::ToolTipColorGroup).name();
|
||||||
|
elements[QStringLiteral("%tooltiphighlightedtextcolor")] = color(Theme::HighlightedTextColor, Theme::ToolTipColorGroup).name();
|
||||||
|
elements[QStringLiteral("%tooltippositivetextcolor")] = color(Theme::PositiveTextColor, Theme::ToolTipColorGroup).name();
|
||||||
|
elements[QStringLiteral("%tooltipneutraltextcolor")] = color(Theme::NeutralTextColor, Theme::ToolTipColorGroup).name();
|
||||||
|
elements[QStringLiteral("%tooltipnegativetextcolor")] = color(Theme::NegativeTextColor, Theme::ToolTipColorGroup).name();
|
||||||
|
|
||||||
elements[QStringLiteral("%complementarytextcolor")] = color(status == Svg::Status::Selected ? Theme::HighlightedTextColor : Theme::TextColor, Theme::ComplementaryColorGroup).name();
|
elements[QStringLiteral("%complementarytextcolor")] = color(status == Svg::Status::Selected ? Theme::HighlightedTextColor : Theme::TextColor, Theme::ComplementaryColorGroup).name();
|
||||||
elements[QStringLiteral("%complementarybackgroundcolor")] = color(status == Svg::Status::Selected ? Theme::HighlightColor : Theme::BackgroundColor, Theme::ComplementaryColorGroup).name();
|
elements[QStringLiteral("%complementarybackgroundcolor")] = color(status == Svg::Status::Selected ? Theme::HighlightColor : Theme::BackgroundColor, Theme::ComplementaryColorGroup).name();
|
||||||
elements[QStringLiteral("%complementaryhovercolor")] = color(Theme::HoverColor, Theme::ComplementaryColorGroup).name();
|
elements[QStringLiteral("%complementaryhovercolor")] = color(Theme::HoverColor, Theme::ComplementaryColorGroup).name();
|
||||||
@ -543,6 +556,16 @@ const QString ThemePrivate::svgStyleSheet(Plasma::Theme::ColorGroup group, Plasm
|
|||||||
stylesheet += skel.arg(QStringLiteral("NeutralText"), QStringLiteral("%headerneutraltextcolor"));
|
stylesheet += skel.arg(QStringLiteral("NeutralText"), QStringLiteral("%headerneutraltextcolor"));
|
||||||
stylesheet += skel.arg(QStringLiteral("NegativeText"), QStringLiteral("%headernegativetextcolor"));
|
stylesheet += skel.arg(QStringLiteral("NegativeText"), QStringLiteral("%headernegativetextcolor"));
|
||||||
break;
|
break;
|
||||||
|
case Theme::ToolTipColorGroup:
|
||||||
|
stylesheet += skel.arg(QStringLiteral("Text"), QStringLiteral("%tooltiptextcolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("Background"), QStringLiteral("%tooltipbackgroundcolor"));
|
||||||
|
|
||||||
|
stylesheet += skel.arg(QStringLiteral("Highlight"), QStringLiteral("%tooltiphovercolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("HighlightedText"), QStringLiteral("%tooltiphighlightedtextcolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("PositiveText"), QStringLiteral("%tooltippositivetextcolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("NeutralText"), QStringLiteral("%tooltipneutraltextcolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("NegativeText"), QStringLiteral("%tooltipnegativetextcolor"));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
stylesheet += skel.arg(QStringLiteral("Text"), QStringLiteral("%textcolor"));
|
stylesheet += skel.arg(QStringLiteral("Text"), QStringLiteral("%textcolor"));
|
||||||
stylesheet += skel.arg(QStringLiteral("Background"), QStringLiteral("%backgroundcolor"));
|
stylesheet += skel.arg(QStringLiteral("Background"), QStringLiteral("%backgroundcolor"));
|
||||||
@ -590,6 +613,15 @@ const QString ThemePrivate::svgStyleSheet(Plasma::Theme::ColorGroup group, Plasm
|
|||||||
stylesheet += skel.arg(QStringLiteral("HeaderNeutralText"), QStringLiteral("%headerneutraltextcolor"));
|
stylesheet += skel.arg(QStringLiteral("HeaderNeutralText"), QStringLiteral("%headerneutraltextcolor"));
|
||||||
stylesheet += skel.arg(QStringLiteral("HeaderNegativeText"), QStringLiteral("%headernegativetextcolor"));
|
stylesheet += skel.arg(QStringLiteral("HeaderNegativeText"), QStringLiteral("%headernegativetextcolor"));
|
||||||
|
|
||||||
|
stylesheet += skel.arg(QStringLiteral("TootipText"), QStringLiteral("%tooltiptextcolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("TootipBackground"), QStringLiteral("%tooltipbackgroundcolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("TootipHover"), QStringLiteral("%tooltiphovercolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("TootipFocus"), QStringLiteral("%tooltipfocuscolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("TootipHighlightedText"), QStringLiteral("%tooltiphighlightedtextcolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("TootipPositiveText"), QStringLiteral("%tooltippositivetextcolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("TootipNeutralText"), QStringLiteral("%tooltipneutraltextcolor"));
|
||||||
|
stylesheet += skel.arg(QStringLiteral("TootipNegativeText"), QStringLiteral("%tooltipnegativetextcolor"));
|
||||||
|
|
||||||
stylesheet = processStyleSheet(stylesheet, status);
|
stylesheet = processStyleSheet(stylesheet, status);
|
||||||
if (status == Svg::Status::Selected) {
|
if (status == Svg::Status::Selected) {
|
||||||
cachedSelectedSvgStyleSheets.insert(group, stylesheet);
|
cachedSelectedSvgStyleSheets.insert(group, stylesheet);
|
||||||
@ -673,6 +705,11 @@ QColor ThemePrivate::color(Theme::ColorRole role, Theme::ColorGroup group) const
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case Theme::ToolTipColorGroup: {
|
||||||
|
scheme = &tooltipColorScheme;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case Theme::NormalColorGroup:
|
case Theme::NormalColorGroup:
|
||||||
default: {
|
default: {
|
||||||
scheme = &colorScheme;
|
scheme = &colorScheme;
|
||||||
@ -825,6 +862,7 @@ void ThemePrivate::setThemeName(const QString &tempThemeName, bool writeSettings
|
|||||||
viewColorScheme = KColorScheme(QPalette::Active, KColorScheme::View, colors);
|
viewColorScheme = KColorScheme(QPalette::Active, KColorScheme::View, colors);
|
||||||
complementaryColorScheme = KColorScheme(QPalette::Active, KColorScheme::Complementary, colors);
|
complementaryColorScheme = KColorScheme(QPalette::Active, KColorScheme::Complementary, colors);
|
||||||
headerColorScheme = KColorScheme(QPalette::Active, KColorScheme::Header, colors);
|
headerColorScheme = KColorScheme(QPalette::Active, KColorScheme::Header, colors);
|
||||||
|
tooltipColorScheme = KColorScheme(QPalette::Active, KColorScheme::Tooltip, colors);
|
||||||
palette = KColorScheme::createApplicationPalette(colors);
|
palette = KColorScheme::createApplicationPalette(colors);
|
||||||
const QString wallpaperPath = QLatin1String(PLASMA_RELATIVE_DATA_INSTALL_DIR "/desktoptheme/") % theme % QLatin1String("/wallpapers/");
|
const QString wallpaperPath = QLatin1String(PLASMA_RELATIVE_DATA_INSTALL_DIR "/desktoptheme/") % theme % QLatin1String("/wallpapers/");
|
||||||
hasWallpapers = !QStandardPaths::locate(QStandardPaths::GenericDataLocation, wallpaperPath, QStandardPaths::LocateDirectory).isEmpty();
|
hasWallpapers = !QStandardPaths::locate(QStandardPaths::GenericDataLocation, wallpaperPath, QStandardPaths::LocateDirectory).isEmpty();
|
||||||
|
@ -107,6 +107,7 @@ public:
|
|||||||
KColorScheme viewColorScheme;
|
KColorScheme viewColorScheme;
|
||||||
KColorScheme complementaryColorScheme;
|
KColorScheme complementaryColorScheme;
|
||||||
KColorScheme headerColorScheme;
|
KColorScheme headerColorScheme;
|
||||||
|
KColorScheme tooltipColorScheme;
|
||||||
QPalette palette;
|
QPalette palette;
|
||||||
bool eventFilter(QObject *watched, QEvent *event) override;
|
bool eventFilter(QObject *watched, QEvent *event) override;
|
||||||
KConfigGroup cfg;
|
KConfigGroup cfg;
|
||||||
|
@ -78,7 +78,8 @@ public:
|
|||||||
ButtonColorGroup = 1,
|
ButtonColorGroup = 1,
|
||||||
ViewColorGroup = 2,
|
ViewColorGroup = 2,
|
||||||
ComplementaryColorGroup = 3,
|
ComplementaryColorGroup = 3,
|
||||||
HeaderColorGroup
|
HeaderColorGroup,
|
||||||
|
ToolTipColorGroup
|
||||||
};
|
};
|
||||||
Q_ENUM(ColorGroup)
|
Q_ENUM(ColorGroup)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user