1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-02-04 01:47:31 +03:00

improve schemecolors name handling

This commit is contained in:
Michail Vourlakos 2018-11-09 10:44:51 +02:00
parent 3155a8173a
commit 620c45a5b9
3 changed files with 32 additions and 1 deletions

View File

@ -204,6 +204,12 @@ void PlasmaThemeExtended::updateReversedSchemeValues()
reversedGroup.writeEntry("inactiveBlend", normalGroup.readEntry("activeBlend", QColor()));
reversedGroup.sync();
}
//! update scheme name
QString normalSchemeName = SchemeColors::schemeName(m_normalSchemePath);
KConfigGroup generalGroup(reversedPtr, "General");
generalGroup.writeEntry("Name", normalSchemeName + "_reversed");
generalGroup.sync();
}
}

View File

@ -38,7 +38,7 @@ SchemeColors::SchemeColors(QObject *parent, QString scheme, bool plasmaTheme) :
if (QFileInfo(pSchemeFile).exists()) {
setSchemeFile(pSchemeFile);
m_schemeName = scheme;
m_schemeName = schemeName(pSchemeFile);
//! track scheme file for changes
KDirWatch::self()->addFile(m_schemeFile);
@ -176,6 +176,30 @@ QString SchemeColors::possibleSchemeFile(QString scheme)
return "";
}
QString SchemeColors::schemeName(QString originalFile)
{
if (!(originalFile.startsWith("/") && originalFile.endsWith("colors") && QFileInfo(originalFile).exists())) {
return "";
}
QString fileNameNoExt = originalFile;
int lastSlash = originalFile.lastIndexOf("/");
if (lastSlash >= 0) {
fileNameNoExt.remove(0, lastSlash + 1);
}
if (fileNameNoExt.endsWith(".colors")) {
fileNameNoExt.remove(".colors");
}
KSharedConfigPtr filePtr = KSharedConfig::openConfig(originalFile);
KConfigGroup generalGroup = KConfigGroup(filePtr, "General");
return generalGroup.readEntry("Name", fileNameNoExt);
}
void SchemeColors::updateScheme()
{
if (m_schemeFile.isEmpty() || !QFileInfo(m_schemeFile).exists()) {

View File

@ -72,6 +72,7 @@ public:
QColor buttonFocusColor() const;
static QString possibleSchemeFile(QString scheme);
static QString schemeName(QString originalFile);
signals:
void colorsChanged();