use complementaryColorScheme from KColorScheme

kill many lines of code
This commit is contained in:
Marco Martin 2016-01-26 11:27:43 +01:00
parent e965b8c647
commit 8e71d6590b
2 changed files with 4 additions and 69 deletions

View File

@ -53,6 +53,7 @@ ThemePrivate::ThemePrivate(QObject *parent)
colorScheme(QPalette::Active, KColorScheme::Window, KSharedConfigPtr(0)),
buttonColorScheme(QPalette::Active, KColorScheme::Button, KSharedConfigPtr(0)),
viewColorScheme(QPalette::Active, KColorScheme::View, KSharedConfigPtr(0)),
complementaryColorScheme(QPalette::Active, KColorScheme::Complementary, KSharedConfigPtr(0)),
defaultWallpaperTheme(DEFAULT_WALLPAPER_THEME),
defaultWallpaperSuffix(DEFAULT_WALLPAPER_SUFFIX),
defaultWallpaperWidth(DEFAULT_WALLPAPER_WIDTH),
@ -563,75 +564,7 @@ QColor ThemePrivate::color(Theme::ColorRole role, Theme::ColorGroup group) const
//this doesn't have a real kcolorscheme
case Theme::ComplementaryColorGroup: {
switch (role) {
case Theme::TextColor: {
if (!colors) {
return colorScheme.foreground(KColorScheme::NormalText).color();
}
KConfigGroup cg(colors, "Colors:Complementary");
if (cg.isValid()) {
return cg.readEntry("ForegroundNormal", colorScheme.foreground(KColorScheme::NormalText).color());
} else {
return colorScheme.foreground(KColorScheme::NormalText).color();
}
}
case Theme::BackgroundColor: {
if (!colors) {
return colorScheme.background(KColorScheme::NormalBackground).color();
}
KConfigGroup cg(colors, "Colors:Complementary");
if (cg.isValid()) {
return cg.readEntry("BackgroundNormal", colorScheme.background(KColorScheme::NormalBackground).color());
} else {
return colorScheme.background(KColorScheme::NormalBackground).color();
}
}
case Theme::HighlightColor:
case Theme::HoverColor: {
if (!colors) {
return colorScheme.decoration(KColorScheme::HoverColor).color();
}
KConfigGroup cg(colors, "Colors:Complementary");
if (cg.isValid()) {
return cg.readEntry("DecorationFocus", colorScheme.decoration(KColorScheme::HoverColor).color());
} else {
return colorScheme.decoration(KColorScheme::HoverColor).color();
}
}
case Theme::FocusColor: {
if (!colors) {
return colorScheme.decoration(KColorScheme::FocusColor).color();
}
KConfigGroup cg(colors, "Colors:Complementary");
if (cg.isValid()) {
return cg.readEntry("DecorationHover", colorScheme.decoration(KColorScheme::FocusColor).color());
} else {
return colorScheme.decoration(KColorScheme::FocusColor).color();
}
}
case Theme::LinkColor: {
if (!colors) {
return viewColorScheme.foreground(KColorScheme::LinkText).color();
}
KConfigGroup cg(colors, "Colors:Complementary");
if (cg.isValid()) {
return cg.readEntry("ForegroundLink", viewColorScheme.foreground(KColorScheme::LinkText).color());
} else {
return viewColorScheme.foreground(KColorScheme::LinkText).color();
}
}
case Theme::VisitedLinkColor: {
if (!colors) {
return viewColorScheme.foreground(KColorScheme::VisitedText).color();
}
KConfigGroup cg(colors, "Colors:Complementary");
if (cg.isValid()) {
return cg.readEntry("ForegroundVisited", viewColorScheme.foreground(KColorScheme::VisitedText).color());
} else {
return viewColorScheme.foreground(KColorScheme::VisitedText).color();
}
}
}
scheme = &complementaryColorScheme;
break;
}
@ -773,6 +706,7 @@ void ThemePrivate::setThemeName(const QString &tempThemeName, bool writeSettings
colorScheme = KColorScheme(QPalette::Active, KColorScheme::Window, colors);
buttonColorScheme = KColorScheme(QPalette::Active, KColorScheme::Button, colors);
viewColorScheme = KColorScheme(QPalette::Active, KColorScheme::View, colors);
complementaryColorScheme = KColorScheme(QPalette::Active, KColorScheme::Complementary, colors);
const QString wallpaperPath = QLatin1Literal(PLASMA_RELATIVE_DATA_INSTALL_DIR "/desktoptheme/") % theme % QLatin1Literal("/wallpapers/");
hasWallpapers = !QStandardPaths::locate(QStandardPaths::GenericDataLocation, wallpaperPath, QStandardPaths::LocateDirectory).isEmpty();

View File

@ -117,6 +117,7 @@ public:
KColorScheme colorScheme;
KColorScheme buttonColorScheme;
KColorScheme viewColorScheme;
KColorScheme complementaryColorScheme;
bool eventFilter(QObject *watched, QEvent *event) Q_DECL_OVERRIDE;
KConfigGroup cfg;
QString defaultWallpaperTheme;