aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-theme-engine
diff options
context:
space:
mode:
authorKen Moore <ken@ixsystems.com>2017-08-03 10:48:19 -0400
committerKen Moore <ken@ixsystems.com>2017-08-03 14:04:05 -0400
commit8687a43803e0d5937ff5213ab987b05866498362 (patch)
tree5db21f221f37bb6f8fde8d2f2ffdb782471944cd /src-qt5/core/lumina-theme-engine
parentMerge branch 'master' of http://github.com/trueos/lumina (diff)
downloadlumina-8687a43803e0d5937ff5213ab987b05866498362.tar.gz
lumina-8687a43803e0d5937ff5213ab987b05866498362.tar.bz2
lumina-8687a43803e0d5937ff5213ab987b05866498362.zip
Cleanup the lumina-theme-engine subproject
1. Use the built-in OS-detect.pri for build settings 2. Remove the "DISABLE_WIDGETS" flag (desktop always needs it) 3. Clean up the multi-path search routines for qss/color files 4. Add some color files to the default install
Diffstat (limited to 'src-qt5/core/lumina-theme-engine')
-rw-r--r--src-qt5/core/lumina-theme-engine/colors/airy.conf4
-rw-r--r--src-qt5/core/lumina-theme-engine/colors/darker.conf4
-rw-r--r--src-qt5/core/lumina-theme-engine/colors/dusk.conf4
-rw-r--r--src-qt5/core/lumina-theme-engine/colors/sand.conf4
-rw-r--r--src-qt5/core/lumina-theme-engine/colors/simple.conf4
-rw-r--r--src-qt5/core/lumina-theme-engine/colors/waves.conf4
-rw-r--r--src-qt5/core/lumina-theme-engine/lthemeengine.pri29
-rw-r--r--src-qt5/core/lumina-theme-engine/lthemeengine.pro52
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengine-qtplugin.pro2
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine-style/lthemeengine-style.pro4
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.cpp18
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.h2
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.cpp6
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.pro7
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/main.cpp2
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.cpp24
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.h2
17 files changed, 77 insertions, 95 deletions
diff --git a/src-qt5/core/lumina-theme-engine/colors/airy.conf b/src-qt5/core/lumina-theme-engine/colors/airy.conf
new file mode 100644
index 00000000..94008b7a
--- /dev/null
+++ b/src-qt5/core/lumina-theme-engine/colors/airy.conf
@@ -0,0 +1,4 @@
+[ColorScheme]
+active_colors=#000000, #dcdcdc, #dcdcdc, #5e5c5b, #646464, #e1e1e1, #000000, #0a0a0a, #0a0a0a, #c8c8c8, #ffffff, #e7e4e0, #0986d3, #0a0a0a, #0986d3, #a70b06, #5c5b5a, #ffffff, #646464, #050505
+disabled_colors=#ffffff, #424245, #dcdcdc, #5e5c5b, #646464, #e1e1e1, #808080, #ffffff, #808080, #969696, #c8c8c8, #e7e4e0, #0986d3, #808080, #0986d3, #a70b06, #5c5b5a, #ffffff, #646464, #ffffff
+inactive_colors=#323232, #b4b4b4, #dcdcdc, #5e5c5b, #646464, #e1e1e1, #323232, #323232, #323232, #969696, #c8c8c8, #e7e4e0, #0986d3, #323232, #0986d3, #a70b06, #5c5b5a, #ffffff, #646464, #323232
diff --git a/src-qt5/core/lumina-theme-engine/colors/darker.conf b/src-qt5/core/lumina-theme-engine/colors/darker.conf
new file mode 100644
index 00000000..5186ecef
--- /dev/null
+++ b/src-qt5/core/lumina-theme-engine/colors/darker.conf
@@ -0,0 +1,4 @@
+[ColorScheme]
+active_colors=#000000, #7f7f7f, #ffffff, #cbc7c4, #7f7f7f, #b8b5b2, #000000, #ffffff, #000000, #7f7f7f, #7f7f7f, #707070, #308cc6, #ffffff, #0000ff, #ff00ff, #7f7f7f, #000000, #7f7f7f, #000000
+disabled_colors=#bebebe, #7f7f7f, #ffffff, #cbc7c4, #7f7f7f, #b8b5b2, #bebebe, #ffffff, #bebebe, #7f7f7f, #7f7f7f, #b1aeab, #7f7f7f, #ffffff, #0000ff, #ff00ff, #7f7f7f, #000000, #7f7f7f, #000000
+inactive_colors=#000000, #7f7f7f, #ffffff, #cbc7c4, #7f7f7f, #b8b5b2, #000000, #ffffff, #000000, #7f7f7f, #7f7f7f, #707070, #308cc6, #ffffff, #0000ff, #ff00ff, #7f7f7f, #000000, #7f7f7f, #000000
diff --git a/src-qt5/core/lumina-theme-engine/colors/dusk.conf b/src-qt5/core/lumina-theme-engine/colors/dusk.conf
new file mode 100644
index 00000000..9c822b60
--- /dev/null
+++ b/src-qt5/core/lumina-theme-engine/colors/dusk.conf
@@ -0,0 +1,4 @@
+[ColorScheme]
+active_colors=#ffffff, #424245, #979797, #5e5c5b, #302f2e, #4a4947, #ffffff, #ffffff, #ffffff, #3d3d3d, #222020, #e7e4e0, #12608a, #f9f9f9, #0986d3, #a70b06, #5c5b5a, #ffffff, #3f3f36, #ffffff
+disabled_colors=#808080, #424245, #979797, #5e5c5b, #302f2e, #4a4947, #808080, #ffffff, #808080, #3d3d3d, #222020, #e7e4e0, #12608a, #808080, #0986d3, #a70b06, #5c5b5a, #ffffff, #3f3f36, #ffffff
+inactive_colors=#ffffff, #424245, #979797, #5e5c5b, #302f2e, #4a4947, #ffffff, #ffffff, #ffffff, #3d3d3d, #222020, #e7e4e0, #12608a, #f9f9f9, #0986d3, #a70b06, #5c5b5a, #ffffff, #3f3f36, #ffffff
diff --git a/src-qt5/core/lumina-theme-engine/colors/sand.conf b/src-qt5/core/lumina-theme-engine/colors/sand.conf
new file mode 100644
index 00000000..92349195
--- /dev/null
+++ b/src-qt5/core/lumina-theme-engine/colors/sand.conf
@@ -0,0 +1,4 @@
+[ColorScheme]
+active_colors=#000000, #ffffdc, #979797, #5e5c5b, #302f2e, #4a4947, #000000, #000000, #000000, #ffffdc, #ffffdc, #e7e4e0, #5f5b5d, #f9f9f9, #0986d3, #a70b06, #ffffdc, #000000, #3f3f36, #000000
+disabled_colors=#4a4947, #ffffdc, #979797, #5e5c5b, #302f2e, #4a4947, #4a4947, #4a4947, #4a4947, #ffffdc, #ffffdc, #e7e4e0, #5f5b5d, #f9f9f9, #0986d3, #a70b06, #ffffdc, #000000, #3f3f36, #000000
+inactive_colors=#000000, #ffffdc, #979797, #5e5c5b, #302f2e, #4a4947, #000000, #000000, #000000, #ffffdc, #ffffdc, #e7e4e0, #5f5b5d, #f9f9f9, #0986d3, #a70b06, #ffffdc, #000000, #3f3f36, #000000
diff --git a/src-qt5/core/lumina-theme-engine/colors/simple.conf b/src-qt5/core/lumina-theme-engine/colors/simple.conf
new file mode 100644
index 00000000..8db9d75b
--- /dev/null
+++ b/src-qt5/core/lumina-theme-engine/colors/simple.conf
@@ -0,0 +1,4 @@
+[ColorScheme]
+active_colors=#000000, #efebe7, #ffffff, #cbc7c4, #9f9d9a, #b8b5b2, #000000, #ffffff, #000000, #ffffff, #efebe7, #b1aeab, #308cc6, #ffffff, #0000ff, #ff0000, #f7f5f3, #000000, #ffffdc, #000000
+disabled_colors=#bebebe, #efebe7, #ffffff, #cbc7c4, #9f9d9a, #b8b5b2, #bebebe, #ffffff, #bebebe, #efebe7, #efebe7, #b1aeab, #9f9d9a, #ffffff, #0000ff, #ff0000, #f7f5f3, #000000, #ffffdc, #000000
+inactive_colors=#000000, #efebe7, #ffffff, #cbc7c4, #9f9d9a, #b8b5b2, #000000, #ffffff, #000000, #ffffff, #efebe7, #b1aeab, #308cc6, #ffffff, #0000ff, #ff0000, #f7f5f3, #000000, #ffffdc, #000000
diff --git a/src-qt5/core/lumina-theme-engine/colors/waves.conf b/src-qt5/core/lumina-theme-engine/colors/waves.conf
new file mode 100644
index 00000000..7c7b4530
--- /dev/null
+++ b/src-qt5/core/lumina-theme-engine/colors/waves.conf
@@ -0,0 +1,4 @@
+[ColorScheme]
+active_colors=#b0b0b0, #010b2c, #979797, #5e5c5b, #302f2e, #4a4947, #b0b0b0, #b0b0b0, #b0b0b0, #010b2c, #010b2c, #b0b0b0, #302f2e, #b0b0b0, #0986d3, #a70b06, #5c5b5a, #ffffff, #0a0a0a, #ffffff
+disabled_colors=#808080, #010b2c, #979797, #5e5c5b, #302f2e, #4a4947, #808080, #808080, #808080, #00071d, #00071d, #b0b0b0, #00071d, #808080, #0986d3, #a70b06, #5c5b5a, #ffffff, #0a0a0a, #ffffff
+inactive_colors=#b0b0b0, #010b2c, #979797, #5e5c5b, #302f2e, #4a4947, #b0b0b0, #b0b0b0, #b0b0b0, #010b2c, #010b2c, #b0b0b0, #302f2e, #b0b0b0, #0986d3, #a70b06, #5c5b5a, #ffffff, #0a0a0a, #ffffff
diff --git a/src-qt5/core/lumina-theme-engine/lthemeengine.pri b/src-qt5/core/lumina-theme-engine/lthemeengine.pri
index aa8a58bb..40202045 100644
--- a/src-qt5/core/lumina-theme-engine/lthemeengine.pri
+++ b/src-qt5/core/lumina-theme-engine/lthemeengine.pri
@@ -1,24 +1,11 @@
-#Some conf to redirect intermediate stuff in separate dirs
-UI_DIR=./.build/ui/
-MOC_DIR=./.build/moc/
-OBJECTS_DIR=./.build/obj
-RCC_DIR=./.build/rcc
-
-QMAKE_DISTCLEAN += -r .build
+QT *= core gui widgets x11extras network
+!isEqual (QT_MAJOR_VERSION, 5) {
+ error("Use Qt 5.4.0 or higher.")
+}
+include(../../OS-detect.pri)
-CONFIG += c++11
+CONFIG *= c++11
#Install paths
-unix {
- isEmpty(PREFIX) {
- PREFIX = /usr/local/
- }
- isEmpty(PLUGINDIR) {
- PLUGINDIR = $$[QT_INSTALL_PLUGINS]
- }
-
- BINDIR = $$PREFIX/bin
- DATADIR = $$PREFIX/share
-
- DEFINES += LTHEMEENGINE_DATADIR=\\\"$$DATADIR\\\"
-}
+ PLUGINDIR = $${DISTDIR}$$[QT_INSTALL_PLUGINS]
+ DEFINES += LTHEMEENGINE_DATADIR=\\\"$$L_SHAREDIR\\\"
diff --git a/src-qt5/core/lumina-theme-engine/lthemeengine.pro b/src-qt5/core/lumina-theme-engine/lthemeengine.pro
index e3cb47b1..8bad53f6 100644
--- a/src-qt5/core/lumina-theme-engine/lthemeengine.pro
+++ b/src-qt5/core/lumina-theme-engine/lthemeengine.pro
@@ -1,59 +1,23 @@
-QT += core gui widgets x11extras network
+QT *= core gui widgets x11extras network
!isEqual (QT_MAJOR_VERSION, 5) {
error("Use Qt 5.4.0 or higher.")
}
+include(../../OS-detect.pri)
-QMAKE_DISTCLEAN += -r .build
-
-CONFIG += c++11
+CONFIG *= c++11
desktop.files=src/lthemeengine/ltheme.desktop
desktop.path=$${L_SHAREDIR}/applications/
#Install paths
-unix {
- isEmpty(PREFIX) {
- PREFIX = /usr/local
- }
- isEmpty(PLUGINDIR) {
- PLUGINDIR = $$[QT_INSTALL_PLUGINS]
- }
-
- BINDIR = $$PREFIX/bin
- DATADIR = $$PREFIX/share
-
- DEFINES += LTHEMEENGINE_DATADIR=\\\"$$DATADIR\\\"
-}
+ PLUGINDIR = $${DISTDIR}$$[QT_INSTALL_PLUGINS]
+ DEFINES += LTHEMEENGINE_DATADIR=\\\"$$L_SHAREDIR\\\"
TEMPLATE = subdirs
SUBDIRS += src/lthemeengine-qtplugin src/lthemeengine-style src/lthemeengine
-unix:exists($$[QT_INSTALL_BINS]/lrelease){
-LRELEASE_EXECUTABLE = $$[QT_INSTALL_BINS]/lrelease
-}
-
-unix:exists($$[QT_INSTALL_BINS]/lrelease-qt5){
-LRELEASE_EXECUTABLE = $$[QT_INSTALL_BINS]/lrelease-qt5
-}
-
-
-isEmpty(LRELEASE_EXECUTABLE){
-error(Could not find lrelease executable)
-}
-else {
-message(Found lrelease executable: $$LRELEASE_EXECUTABLE)
-}
-
-message (PREFIX=$$PREFIX)
-message (BINDIR=$$BINDIR)
-message (DATADIR=$$DATADIR)
-message (PLUGINDIR=$$PLUGINDIR)
-equals (DISABLE_WIDGETS,1):message ("QtWidgets are disabled!")
-
-#Some conf to redirect intermediate stuff in separate dirs
-UI_DIR=./.build/ui/
-MOC_DIR=./.build/moc/
-OBJECTS_DIR=./.build/obj
-RCC_DIR=./.build/rcc
+colors.files = colors/*.conf
+colors.path = $${L_SHAREDIR}/lthemeengine/colors
+INSTALLS += colors
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengine-qtplugin.pro b/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengine-qtplugin.pro
index a186cd49..3dca4fd1 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengine-qtplugin.pro
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengine-qtplugin.pro
@@ -2,7 +2,7 @@ include(../../lthemeengine.pri)
TEMPLATE = lib
TARGET = lthemeengine
-CONFIG += plugin
+CONFIG *= plugin
greaterThan(QT_MINOR_VERSION, 7) {
QT += gui-private theme_support-private
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/lthemeengine-style.pro b/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/lthemeengine-style.pro
index 0b40de64..0f68e7e4 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/lthemeengine-style.pro
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/lthemeengine-style.pro
@@ -2,11 +2,11 @@ include(../../lthemeengine.pri)
TEMPLATE = lib
TARGET = lthemeengine-style
-QT += widgets
+QT *= widgets
# Input
-CONFIG += plugin
+CONFIG *= plugin
target.path = $$PLUGINDIR/styles
INSTALLS += target
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.cpp
index 4d585409..af130ed5 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.cpp
@@ -190,8 +190,7 @@ void AppearancePage::readSettings(){
m_ui->customPaletteButton->setChecked(settings.value("custom_palette", false).toBool());
QString colorSchemePath = settings.value("color_scheme_path").toString();
QDir("/").mkpath(lthemeengine::userColorSchemePath());
- findColorSchemes(lthemeengine::userColorSchemePath());
- findColorSchemes(lthemeengine::sharedColorSchemePath().join(", "));
+ findColorSchemes( QStringList() << lthemeengine::userColorSchemePath() << lthemeengine::sharedColorSchemePath());
if(m_ui->colorSchemeComboBox->count() == 0){
m_customPalette = palette(); //load fallback palette
}
@@ -223,12 +222,15 @@ void AppearancePage::setPalette(QWidget *w, QPalette p){
w->setPalette(p);
}
-void AppearancePage::findColorSchemes(const QString &path){
- QDir dir(path);
- dir.setFilter(QDir::Files);
- dir.setNameFilters(QStringList() << "*.conf");
- foreach (QFileInfo info, dir.entryInfoList()){
- m_ui->colorSchemeComboBox->addItem(info.baseName(), info.filePath());
+void AppearancePage::findColorSchemes(const QStringList &paths){
+ for(int i=0; i<paths.length(); i++){
+ if( !QFile::exists(paths[i])){ continue; }
+ QDir dir(paths[i]);
+ dir.setFilter(QDir::Files);
+ dir.setNameFilters(QStringList() << "*.conf");
+ foreach (QFileInfo info, dir.entryInfoList()){
+ m_ui->colorSchemeComboBox->addItem(info.baseName(), info.filePath());
+ }
}
}
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.h b/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.h
index 23bab52f..21eb5a6d 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.h
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.h
@@ -35,7 +35,7 @@ private:
void readSettings();
void setStyle(QWidget *w, QStyle *s);
void setPalette(QWidget *w, QPalette p);
- void findColorSchemes(const QString &path);
+ void findColorSchemes(const QStringList &paths);
QPalette loadColorScheme(const QString &filePath);
void createColorScheme(const QString &name, const QPalette &palette);
Ui::AppearancePage *m_ui;
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.cpp
index 36b0c2fa..fdeb8966 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.cpp
@@ -6,6 +6,7 @@
#define LTHEMEENGINE_DATADIR "/usr/local/share"
#endif
+#include <QDebug>
QString lthemeengine::configPath(){
return QDir::homePath() + "/.config/lthemeengine/";
@@ -46,7 +47,8 @@ QStringList lthemeengine::sharedStyleSheetPath(){
QStringList dirs;
dirs << QString(getenv("XDG_CONFIG_HOME"));
dirs << QString(getenv("XDG_CONFIG_DIRS")).split(":");
- for(int i=0; i<dirs.length(); i++){ dirs[i].append("/lthemeengine/colors/"); }
+ dirs << QString(getenv("XDG_DATA_DIRS")).split(":");
+ for(int i=0; i<dirs.length(); i++){ dirs[i].append("/lthemeengine/qss/"); }
if(dirs.isEmpty()){ dirs << LTHEMEENGINE_DATADIR"/lthemeengine/qss/"; } //no XDG settings - use the hardcoded path
return dirs;
}
@@ -59,8 +61,10 @@ QStringList lthemeengine::sharedColorSchemePath(){
QStringList dirs;
dirs << QString(getenv("XDG_CONFIG_HOME"));
dirs << QString(getenv("XDG_CONFIG_DIRS")).split(":");
+ dirs << QString(getenv("XDG_DATA_DIRS")).split(":");
for(int i=0; i<dirs.length(); i++){ dirs[i].append("/lthemeengine/colors/"); }
if(dirs.isEmpty()){ dirs << LTHEMEENGINE_DATADIR"/lthemeengine/colors/"; } //no XDG settings - use the hardcoded path
+ qDebug() << "Got Color Dirs:" << dirs;
return dirs;
}
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.pro b/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.pro
index cc36ee5b..28c97ef8 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.pro
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.pro
@@ -43,13 +43,12 @@ HEADERS += \
qsspage.h \
qsseditordialog.h
-!equals (DISABLE_WIDGETS,1) {
DEFINES += USE_WIDGETS
-}
-target.path = $$BINDIR
+TARGET = lthemeengine
+target.path = $${L_BINDIR}
desktop.files = lthemeengine.desktop
-desktop.path = $$DATADIR/applications
+desktop.path = $${L_SHAREDIR}/applications
INSTALLS += target desktop
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/main.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/main.cpp
index 4c1b89fa..b0d5fe08 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/main.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/main.cpp
@@ -23,7 +23,7 @@ int main(int argc, char **argv){
QStringList errorMessages;
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
if(env.contains("QT_STYLE_OVERRIDE")){ errorMessages << app.translate("main", "Please remove the <b>QT_STYLE_OVERRIDE</b> environment variable"); }
- if(env.value("QT_QPA_PLATFORMTHEME") != "lthemeengine"){ errorMessages << app.translate("main", "The <b>QT_QPA_PLATFORMTHEME</b> environment variable is not set correctly"); }
+ //if(env.value("QT_QPA_PLATFORMTHEME") != "lthemeengine"){ errorMessages << app.translate("main", "The <b>QT_QPA_PLATFORMTHEME</b> environment variable is not set correctly"); }
if(!QStyleFactory::keys().contains("lthemeengine-style")){ errorMessages << app.translate("main", "Unable to find <b>liblthemeengine-style.so</b>"); }
if(!errorMessages.isEmpty()){
QMessageBox::critical(0, app.translate("main", "Error"), errorMessages.join("<br><br>"));
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.cpp
index d690ef5d..414273be 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.cpp
@@ -95,8 +95,7 @@ void QSSPage::on_removeButton_clicked(){
void QSSPage::readSettings(){
//load stylesheets
m_ui->qssListWidget->clear();
- findStyleSheets(lthemeengine::userStyleSheetPath());
- findStyleSheets(lthemeengine::sharedStyleSheetPath().join(", "));
+ findStyleSheets(QStringList() << lthemeengine::userStyleSheetPath() << lthemeengine::sharedStyleSheetPath());
QSettings settings(lthemeengine::configFile(), QSettings::IniFormat);
QStringList styleSheets = settings.value("Interface/stylesheets").toStringList();
for(int i = 0; i < m_ui->qssListWidget->count(); ++i){
@@ -106,16 +105,19 @@ void QSSPage::readSettings(){
}
}
-void QSSPage::findStyleSheets(const QString &path){
- QDir dir(path);
- dir.setFilter(QDir::Files);
- dir.setNameFilters(QStringList() << "*.qss");
- foreach (QFileInfo info, dir.entryInfoList()){
- QListWidgetItem *item = new QListWidgetItem(info.fileName(), m_ui->qssListWidget);
- item->setToolTip(info.filePath());
- item->setData(QSS_FULL_PATH_ROLE, info.filePath());
- item->setData(QSS_WRITABLE_ROLE, info.isWritable());
+void QSSPage::findStyleSheets(const QStringList &paths){
+ for(int i=0; i<paths.length(); i++){
+ if(!QFile::exists(paths[i])){ continue; }
+ QDir dir(paths[i]);
+ dir.setFilter(QDir::Files);
+ dir.setNameFilters(QStringList() << "*.qss");
+ foreach (QFileInfo info, dir.entryInfoList()){
+ QListWidgetItem *item = new QListWidgetItem(info.fileName(), m_ui->qssListWidget);
+ item->setToolTip(info.filePath());
+ item->setData(QSS_FULL_PATH_ROLE, info.filePath());
+ item->setData(QSS_WRITABLE_ROLE, info.isWritable());
}
+ }
}
void QSSPage::on_renameButton_clicked(){
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.h b/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.h
index 1fe0ed73..884f9a93 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.h
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.h
@@ -30,7 +30,7 @@ private slots:
private:
void readSettings();
- void findStyleSheets(const QString &path);
+ void findStyleSheets(const QStringList &paths);
Ui::QSSPage *m_ui;
QMenu *m_menu;
};
bgstack15