diff --git a/src/musredit_qt5/mupp/PmuppAdmin.cpp b/src/musredit_qt5/mupp/PmuppAdmin.cpp
index a980c588..74626719 100644
--- a/src/musredit_qt5/mupp/PmuppAdmin.cpp
+++ b/src/musredit_qt5/mupp/PmuppAdmin.cpp
@@ -156,8 +156,12 @@ bool PmuppAdminXMLParser::startElement()
if (qName == "path_file_name") {
fKeyWord = eRecentFile;
- } else if (qName == "dark_theme") {
- fKeyWord = eDarkTheme;
+ } else if (qName == "ignore_theme_auto_detection") {
+ fKeyWord = eIgnoreThemeAutoDetection;
+ } else if (qName == "dark_theme_icons_menu") {
+ fKeyWord = eDarkThemeIconsMenu;
+ } else if (qName == "dark_theme_icons_toolbar") {
+ fKeyWord = eDarkThemeIconsToolbar;
} else if (qName == "marker") {
fKeyWord = eMarker;
} else if (qName == "color") {
@@ -201,11 +205,23 @@ bool PmuppAdminXMLParser::characters()
case eRecentFile:
fAdmin->addRecentFile(QString(str.toLatin1()).trimmed());
break;
- case eDarkTheme:
- if ((str == "yes") || (str == "1") || (str == "true"))
- fAdmin->setTheme(true);
+ case eIgnoreThemeAutoDetection:
+ if ((str == "yes") || (str == "y") || (str == "1") || (str == "true"))
+ fAdmin->setIgnoreThemeAutoDetection(true);
else
- fAdmin->setTheme(false);
+ fAdmin->setIgnoreThemeAutoDetection(false);
+ break;
+ case eDarkThemeIconsMenu:
+ if ((str == "yes") || (str == "y") || (str == "1") || (str == "true"))
+ fAdmin->setThemeIconsMenu(true);
+ else
+ fAdmin->setThemeIconsMenu(false);
+ break;
+ case eDarkThemeIconsToolbar:
+ if ((str == "yes") || (str == "y") || (str == "1") || (str == "true"))
+ fAdmin->setThemeIconsToolbar(true);
+ else
+ fAdmin->setThemeIconsToolbar(false);
break;
case eMarker:
#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
@@ -280,7 +296,7 @@ bool PmuppAdminXMLParser::endDocument()
*
Initializes that PmuppAdmin object, and calls the XML parser which feeds
* the object variables.
*/
-PmuppAdmin::PmuppAdmin() : QObject(), fDarkTheme(false)
+PmuppAdmin::PmuppAdmin() : QObject()
{
// XML Parser part
// 1st: check local directory
diff --git a/src/musredit_qt5/mupp/PmuppAdmin.h b/src/musredit_qt5/mupp/PmuppAdmin.h
index 3683f52d..672c8958 100644
--- a/src/musredit_qt5/mupp/PmuppAdmin.h
+++ b/src/musredit_qt5/mupp/PmuppAdmin.h
@@ -102,7 +102,9 @@ class PmuppAdminXMLParser
virtual bool isValid() { return fValid; }
private:
- enum EAdminKeyWords {eEmpty, eRecentFile, eDarkTheme, eMarker, eColor};
+ enum EAdminKeyWords {eEmpty, eRecentFile,
+ eIgnoreThemeAutoDetection, eDarkThemeIconsMenu, eDarkThemeIconsToolbar,
+ eMarker, eColor};
bool parse(QIODevice *device);
bool startDocument();
@@ -145,18 +147,24 @@ class PmuppAdmin : public QObject
void getColor(QString name, int &r, int &g, int &b);
void getColor(int idx, int &r, int &g, int &b);
- bool isDarkTheme() { return fDarkTheme; }
+ bool getIgnoreThemeAutoDetection() { return fIgnoreThemeAutoDetection; }
+ bool getDarkThemeIconsMenuFlag() { return fDarkThemeIconsMenu; }
+ bool getDarkThemeIconsToolbarFlag() { return fDarkThemeIconsToolbar; }
- void setTheme(bool theme) { fDarkTheme = theme; }
- void setMarker(int marker, double size);
- void setColor(int r, int g, int b, QString name="");
+ void setIgnoreThemeAutoDetection(const bool theme) { fIgnoreThemeAutoDetection = theme; }
+ void setThemeIconsMenu(const bool theme) { fDarkThemeIconsMenu = theme; }
+ void setThemeIconsToolbar(const bool theme) { fDarkThemeIconsToolbar = theme; }
+ void setMarker(const int marker, const double size);
+ void setColor(const int r, const int g, const int b, QString name="");
private:
friend class PmuppAdminXMLParser;
QVector fRecentFile; ///< keep vector of recent path-file names
- bool fDarkTheme;
+ bool fIgnoreThemeAutoDetection{false};
+ bool fDarkThemeIconsMenu{false};
+ bool fDarkThemeIconsToolbar{false};
QVector fMarker;
QVector fColor;
diff --git a/src/musredit_qt5/mupp/PmuppGui.cpp b/src/musredit_qt5/mupp/PmuppGui.cpp
index 00edac69..92e9b2dd 100644
--- a/src/musredit_qt5/mupp/PmuppGui.cpp
+++ b/src/musredit_qt5/mupp/PmuppGui.cpp
@@ -270,7 +270,7 @@ PmuppGui::PmuppGui(QStringList fln)
getTheme();
QString iconName("");
- if (fDarkTheme)
+ if (fDarkThemeIconsMenu)
iconName = QString(":/icons/mupp-dark.svg");
else
iconName = QString(":/icons/mupp-plain.svg");
@@ -514,7 +514,7 @@ void PmuppGui::setupFileActions()
QAction *a;
QString iconName("");
- if (fDarkTheme)
+ if (fDarkThemeIconsMenu)
iconName = QString(":/icons/document-open-dark.svg");
else
iconName = QString(":/icons/document-open-plain.svg");
@@ -523,7 +523,7 @@ void PmuppGui::setupFileActions()
a->setStatusTip( tr("Open a musrfit parameter file.") );
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) );
menu->addAction(a);
- if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu)
+ if (!fDarkThemeIconsToolbar) { // tool bar icon is not dark, even though the theme is (ubuntu)
iconName = QString(":/icons/document-open-plain.svg");
a = new QAction( QIcon( QPixmap(iconName) ), tr( "&New..." ), this );
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) );
@@ -848,26 +848,32 @@ bool PmuppGui::eventFilter(QObject *o, QEvent *e)
*/
void PmuppGui::getTheme()
{
- fDarkTheme = false; // true if theme is dark
- fDarkToolBarIcon = false; // needed for ubuntu dark since there the menu icons
- // are dark, however the toolbar icons are plain!
+ if (fIgnoreThemeAutoDetection)
+ return;
+
+ fDarkThemeIconsMenu = false; // true if theme is dark
+ fDarkThemeIconsToolbar = false; // needed for ubuntu dark since there the menu icons
+ // are dark, however the toolbar icons are plain!
QString str = QIcon::themeName();
if (str.isEmpty()) {
- if (fAdmin->isDarkTheme()) {
- fDarkTheme = true;
- fDarkToolBarIcon = true;
- }
+ if (fAdmin->getDarkThemeIconsMenuFlag()) {
+ fDarkThemeIconsMenu = true;
+ }
+ if (fAdmin->getDarkThemeIconsToolbarFlag()) {
+ fDarkThemeIconsToolbar = true;
+ }
return;
}
if (str.contains("dark", Qt::CaseInsensitive)) {
- fDarkTheme = true;
- if (str.contains("ubuntu", Qt::CaseInsensitive)) {
- fDarkToolBarIcon = false;
+ fDarkThemeIconsMenu = true;
+ if (str.contains("ubuntu", Qt::CaseInsensitive) ||
+ str.contains("xfce", Qt::CaseInsensitive)) {
+ fDarkThemeIconsToolbar = false;
} else {
- fDarkToolBarIcon = true;
+ fDarkThemeIconsToolbar = true;
}
}
}
@@ -1316,7 +1322,7 @@ void PmuppGui::addVar()
// call variable dialog
fVarDlg.reset();
- fVarDlg = std::make_unique(collection_list, fDarkTheme);
+ fVarDlg = std::make_unique(collection_list, fDarkThemeIconsMenu);
connect(fVarDlg.get(), SIGNAL(check_request(QString,QVector)), this, SLOT(check(QString,QVector)));
connect(fVarDlg.get(), SIGNAL(add_request(QString,QVector)), this, SLOT(add(QString,QVector)));
fVarDlg->show();
diff --git a/src/musredit_qt5/mupp/PmuppGui.h b/src/musredit_qt5/mupp/PmuppGui.h
index 7c7cb736..5eb2396d 100644
--- a/src/musredit_qt5/mupp/PmuppGui.h
+++ b/src/musredit_qt5/mupp/PmuppGui.h
@@ -159,11 +159,12 @@ private:
enum EAxis {kXaxis, kYaxis};
PmuppAdmin *fAdmin;
- bool fDarkTheme;
- bool fDarkToolBarIcon;
- bool fNormalize;
+ bool fIgnoreThemeAutoDetection{false};
+ bool fDarkThemeIconsMenu{false};
+ bool fDarkThemeIconsToolbar{false};
+ bool fNormalize{false};
- uint fDatime;
+ qint64 fDatime;
uint fMuppInstance;
PParamDataHandler *fParamDataHandler;
@@ -179,11 +180,11 @@ private:
QAction *fRecentFilesAction[MAX_RECENT_FILES]; ///< array of the recent file actions
std::unique_ptr fNormalizeAction;
- std::unique_ptr fBoxLayout_Main; // top->bottom (0)
- std::unique_ptr fBoxLayout_Top; // left->right (1)
- std::unique_ptr fGridLayout_Left; // 2 columns, 3 rows
- std::unique_ptr fGridLayout_Right; // 2 columns, 6 rows
- std::unique_ptr fBoxLayout_Cmd; // left->right (1)
+ std::unique_ptr fBoxLayout_Main; // top->bottom (0)
+ std::unique_ptr fBoxLayout_Top; // left->right (1)
+ std::unique_ptr fGridLayout_Left; // 2 columns, 3 rows
+ std::unique_ptr fGridLayout_Right; // 2 columns, 6 rows
+ std::unique_ptr fBoxLayout_Cmd; // left->right (1)
std::unique_ptr fColLabel;
std::unique_ptr fColParamSplitter;
diff --git a/src/musredit_qt5/mupp/mupp_startup.xml.in b/src/musredit_qt5/mupp/mupp_startup.xml.in
index f7e218c3..70ca0a4a 100644
--- a/src/musredit_qt5/mupp/mupp_startup.xml.in
+++ b/src/musredit_qt5/mupp/mupp_startup.xml.in
@@ -5,7 +5,9 @@
- no
+ n
+ n
+ n
diff --git a/src/musredit_qt6/mupp/PmuppAdmin.cpp b/src/musredit_qt6/mupp/PmuppAdmin.cpp
index 35c38e03..963afad4 100644
--- a/src/musredit_qt6/mupp/PmuppAdmin.cpp
+++ b/src/musredit_qt6/mupp/PmuppAdmin.cpp
@@ -212,13 +212,13 @@ bool PmuppAdminXMLParser::characters()
fAdmin->setIgnoreThemeAutoDetection(false);
break;
case eDarkThemeIconsMenu:
- if ((str == "yes") || (str == "1") || (str == "true"))
+ if ((str == "yes") || (str == "y") || (str == "1") || (str == "true"))
fAdmin->setThemeIconsMenu(true);
else
fAdmin->setThemeIconsMenu(false);
break;
case eDarkThemeIconsToolbar:
- if ((str == "yes") || (str == "1") || (str == "true"))
+ if ((str == "yes") || (str == "y") || (str == "1") || (str == "true"))
fAdmin->setThemeIconsToolbar(true);
else
fAdmin->setThemeIconsToolbar(false);