Merged muonspin/musrfit:root6 into master

This commit is contained in:
Zaher Salman 2019-05-02 17:05:39 +02:00
commit acc251ffbe
8 changed files with 294 additions and 123 deletions

View File

@ -94,6 +94,10 @@ bool PAdminXMLParser::startElement( const QString&, const QString&,
fKeyWord = eMusrviewShowAvg; fKeyWord = eMusrviewShowAvg;
} else if (qName == "enable_musrt0") { } else if (qName == "enable_musrt0") {
fKeyWord = eEnableMusrT0; fKeyWord = eEnableMusrT0;
} else if (qName == "dark_theme_icons_menu") {
fKeyWord = eDarkThemeIconsMenu;
} else if (qName == "dark_theme_icons_toolbar") {
fKeyWord = eDarkThemeIconsToolbar;
} else if (qName == "keep_minuit2_output") { } else if (qName == "keep_minuit2_output") {
fKeyWord = eKeepMinuit2Output; fKeyWord = eKeepMinuit2Output;
} else if (qName == "dump_ascii") { } else if (qName == "dump_ascii") {
@ -268,6 +272,20 @@ bool PAdminXMLParser::characters(const QString& str)
flag = false; flag = false;
fAdmin->setEnableMusrT0Flag(flag); fAdmin->setEnableMusrT0Flag(flag);
break; break;
case eDarkThemeIconsMenu:
if (str == "y")
flag = true;
else
flag = false;
fAdmin->setDarkThemeIconsMenuFlag(flag);
break;
case eDarkThemeIconsToolbar:
if (str == "y")
flag = true;
else
flag = false;
fAdmin->setDarkThemeIconsToolbarFlag(flag);
break;
case eKeepMinuit2Output: case eKeepMinuit2Output:
if (str == "y") if (str == "y")
flag = true; flag = true;
@ -867,6 +885,18 @@ int PAdmin::savePrefs(QString pref_fln)
else else
data[i] = " <enable_musrt0>n</enable_musrt0>"; data[i] = " <enable_musrt0>n</enable_musrt0>";
} }
if (data[i].contains("<dark_theme_icons_menu>") && data[i].contains("</dark_theme_icons_menu>")) {
if (fDarkThemeIconsMenu)
data[i] = " <dark_theme_icons_menu>y</dark_theme_icons_menu>";
else
data[i] = " <dark_theme_icons_menu>n</dark_theme_icons_menu>";
}
if (data[i].contains("<dark_theme_icons_toolbar>") && data[i].contains("</dark_theme_icons_toolbar>")) {
if (fDarkThemeIconsToolbar)
data[i] = " <dark_theme_icons_toolbar>y</dark_theme_icons_toolbar>";
else
data[i] = " <dark_theme_icons_toolbar>n</dark_theme_icons_toolbar>";
}
if (data[i].contains("<font_name>") && data[i].contains("</font_name>")) { if (data[i].contains("<font_name>") && data[i].contains("</font_name>")) {
data[i] = QString(" <font_name>%1</font_name>").arg(fFontName); data[i] = QString(" <font_name>%1</font_name>").arg(fFontName);
} }

View File

@ -71,6 +71,7 @@ class PAdminXMLParser : public QXmlDefaultHandler
enum EAdminKeyWords {eEmpty, eTimeout, eKeepMinuit2Output, eDumpAscii, eDumpRoot, enum EAdminKeyWords {eEmpty, eTimeout, eKeepMinuit2Output, eDumpAscii, eDumpRoot,
eTitleFromDataFile, eChisqPreRunBlock, eEstimateN0, eTitleFromDataFile, eChisqPreRunBlock, eEstimateN0,
eMusrviewShowFourier, eMusrviewShowAvg, eEnableMusrT0, eMusrviewShowFourier, eMusrviewShowAvg, eEnableMusrT0,
eDarkThemeIconsMenu, eDarkThemeIconsToolbar,
eFontName, eFontSize, eExecPath, eDefaultSavePath, eFontName, eFontSize, eExecPath, eDefaultSavePath,
eRecentFile, eBeamline, eInstitute, eFileFormat, eLifetimeCorrection, eRecentFile, eBeamline, eInstitute, eFileFormat, eLifetimeCorrection,
eTheoFuncPixmapPath, eFunc, eFuncName, eFuncComment, eFuncLabel, eTheoFuncPixmapPath, eFunc, eFuncName, eFuncComment, eFuncLabel,
@ -127,7 +128,8 @@ class PAdmin : public QObject
bool getDumpRootFlag() { return fDumpRoot; } bool getDumpRootFlag() { return fDumpRoot; }
bool getEstimateN0Flag() { return fEstimateN0; } bool getEstimateN0Flag() { return fEstimateN0; }
bool getChisqPerRunBlockFlag() { return fChisqPreRunBlock; } bool getChisqPerRunBlockFlag() { return fChisqPreRunBlock; }
bool getDarkThemeIconsFlag() { return fDarkThemeIcons; } bool getDarkThemeIconsMenuFlag() { return fDarkThemeIconsMenu; }
bool getDarkThemeIconsToolbarFlag() { return fDarkThemeIconsToolbar; }
QString getBeamline() { return fBeamline; } QString getBeamline() { return fBeamline; }
QString getInstitute() { return fInstitute; } QString getInstitute() { return fInstitute; }
QString getFileFormat() { return fFileFormat; } QString getFileFormat() { return fFileFormat; }
@ -151,7 +153,8 @@ class PAdmin : public QObject
void setDumpRootFlag(const bool flag) { fDumpRoot = flag; } void setDumpRootFlag(const bool flag) { fDumpRoot = flag; }
void setEstimateN0Flag(const bool flag) { fEstimateN0 = flag; } void setEstimateN0Flag(const bool flag) { fEstimateN0 = flag; }
void setChisqPerRunBlockFlag(const bool flag) { fChisqPreRunBlock = flag; } void setChisqPerRunBlockFlag(const bool flag) { fChisqPreRunBlock = flag; }
void setDarkThemeIconsFlag(const bool flag) { fDarkThemeIcons = flag; } void setDarkThemeIconsMenuFlag(const bool flag) { fDarkThemeIconsMenu = flag; }
void setDarkThemeIconsToolbarFlag(const bool flag) { fDarkThemeIconsToolbar = flag; }
void setFontName(const QString str) { fFontName = str; } void setFontName(const QString str) { fFontName = str; }
void setFontSize(const int ival) { fFontSize = ival; } void setFontSize(const int ival) { fFontSize = ival; }
@ -195,7 +198,8 @@ class PAdmin : public QObject
bool fChisqPreRunBlock; ///< flag indicating if musrfit shall write 'per run block' chisq to the msr-file (default: no). bool fChisqPreRunBlock; ///< flag indicating if musrfit shall write 'per run block' chisq to the msr-file (default: no).
bool fEstimateN0; ///< flag indicating if musrfit shall estimate N0 for single histogram fits (default: yes). bool fEstimateN0; ///< flag indicating if musrfit shall estimate N0 for single histogram fits (default: yes).
bool fEnableMusrT0; ///< flag indicating if musrT0 shall be enabled at startup from within musredit (default: yes). bool fEnableMusrT0; ///< flag indicating if musrT0 shall be enabled at startup from within musredit (default: yes).
bool fDarkThemeIcons; ///< flag indicating if dark theme icons shall be used (default: no) bool fDarkThemeIconsMenu; ///< flag indicating if dark theme icons shall be used in the menu (default: no)
bool fDarkThemeIconsToolbar; ///< flag indicating if dark theme icons shall be used in the toolbar (default: no)
QString fBeamline; ///< name of the beamline. Used to generate default run header lines. QString fBeamline; ///< name of the beamline. Used to generate default run header lines.
QString fInstitute; ///< name of the institute. Used to generate default run header lines. QString fInstitute; ///< name of the institute. Used to generate default run header lines.

View File

@ -45,10 +45,16 @@ PPrefsDialog::PPrefsDialog(PAdmin *admin) : fAdmin(admin)
setModal(true); setModal(true);
if (fAdmin->getDarkThemeIconsFlag()) { if (fAdmin->getDarkThemeIconsMenuFlag()) {
fDarkThemeIcons_checkBox->setCheckState(Qt::Checked); fDarkThemeIconsMenu_checkBox->setCheckState(Qt::Checked);
} else { } else {
fDarkThemeIcons_checkBox->setCheckState(Qt::Unchecked); fDarkThemeIconsMenu_checkBox->setCheckState(Qt::Unchecked);
}
if (fAdmin->getDarkThemeIconsToolbarFlag()) {
fDarkThemeIconsToolbar_checkBox->setCheckState(Qt::Checked);
} else {
fDarkThemeIconsToolbar_checkBox->setCheckState(Qt::Unchecked);
} }
fKeepMn2Output_checkBox->setChecked(fAdmin->getKeepMinuit2OutputFlag()); fKeepMn2Output_checkBox->setChecked(fAdmin->getKeepMinuit2OutputFlag());

View File

@ -53,7 +53,8 @@ class PPrefsDialog : public QDialog, private Ui::PPrefsDialog
bool getEnableMusrT0Flag() { return fEnableMusrT0_checkBox->isChecked(); } bool getEnableMusrT0Flag() { return fEnableMusrT0_checkBox->isChecked(); }
bool getKeepRunPerBlockChisqFlag() { return fPerRunBlockChisq_checkBox->isChecked(); } bool getKeepRunPerBlockChisqFlag() { return fPerRunBlockChisq_checkBox->isChecked(); }
bool getEstimateN0Flag() { return fEstimateN0_checkBox->isChecked(); } bool getEstimateN0Flag() { return fEstimateN0_checkBox->isChecked(); }
bool getDarkThemeIconsFlag() { return fDarkThemeIcons_checkBox->isChecked(); } bool getDarkThemeIconsMenuFlag() { return fDarkThemeIconsMenu_checkBox->isChecked(); }
bool getDarkThemeIconsToolbarFlag() { return fDarkThemeIconsToolbar_checkBox->isChecked(); }
int getDump(); int getDump();
int getTimeout() { return fTimeout_lineEdit->text().toInt(); } int getTimeout() { return fTimeout_lineEdit->text().toInt(); }

View File

@ -85,13 +85,20 @@
PTextEdit::PTextEdit( QWidget *parent, Qt::WindowFlags f ) PTextEdit::PTextEdit( QWidget *parent, Qt::WindowFlags f )
: QMainWindow( parent, f ) : QMainWindow( parent, f )
{ {
getTheme(); bool gotTheme = getTheme();
// reads and manages the conents of the xml-startup (musredit_startup.xml) file // reads and manages the conents of the xml-startup (musredit_startup.xml) file
fAdmin = new PAdmin(); fAdmin = new PAdmin();
// set default setting of the fDarkThemeIcons // set default setting of the fDarkMenuIconIcons only if a theme has been recognized, otherwise take the
fAdmin->setDarkThemeIconsFlag(fDarkToolBarIcon); // one from the xml startup file.
if (gotTheme) {
fAdmin->setDarkThemeIconsMenuFlag(fDarkMenuIcon);
fAdmin->setDarkThemeIconsToolbarFlag(fDarkToolBarIcon);
} else {
fDarkMenuIcon = fAdmin->getDarkThemeIconsMenuFlag();
fDarkToolBarIcon = fAdmin->getDarkThemeIconsToolbarFlag();
}
// enable file system watcher. Needed to get notification if the msr-file is changed outside of musrfit at runtime // enable file system watcher. Needed to get notification if the msr-file is changed outside of musrfit at runtime
fFileSystemWatcherActive = true; fFileSystemWatcherActive = true;
@ -124,7 +131,7 @@ PTextEdit::PTextEdit( QWidget *parent, Qt::WindowFlags f )
fFontChanging = false; fFontChanging = false;
QString iconName(""); QString iconName("");
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/musrfit-dark.svg"); iconName = QString(":/icons/musrfit-dark.svg");
else else
iconName = QString(":/icons/musrfit-plain.svg"); iconName = QString(":/icons/musrfit-plain.svg");
@ -185,7 +192,7 @@ void PTextEdit::setupFileActions()
QString iconName(""); QString iconName("");
// New // New
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/document-new-dark.svg"); iconName = QString(":/icons/document-new-dark.svg");
else else
iconName = QString(":/icons/document-new-plain.svg"); iconName = QString(":/icons/document-new-plain.svg");
@ -202,9 +209,10 @@ void PTextEdit::setupFileActions()
connect( a, SIGNAL( triggered() ), this, SLOT( fileNew() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( fileNew() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["New-tb"] = a;
// Open // Open
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/document-open-dark.svg"); iconName = QString(":/icons/document-open-dark.svg");
else else
iconName = QString(":/icons/document-open-plain.svg"); iconName = QString(":/icons/document-open-plain.svg");
@ -221,6 +229,7 @@ void PTextEdit::setupFileActions()
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Open-tb"] = a;
// Recent Files // Recent Files
fRecentFilesMenu = menu->addMenu( tr("Recent Files") ); fRecentFilesMenu = menu->addMenu( tr("Recent Files") );
@ -233,7 +242,7 @@ void PTextEdit::setupFileActions()
fillRecentFiles(); fillRecentFiles();
// Reload // Reload
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/view-refresh-dark.svg"); iconName = QString(":/icons/view-refresh-dark.svg");
else else
iconName = QString(":/icons/view-refresh-plain.svg"); iconName = QString(":/icons/view-refresh-plain.svg");
@ -250,6 +259,7 @@ void PTextEdit::setupFileActions()
connect( a, SIGNAL( triggered() ), this, SLOT( fileReload() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( fileReload() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Reload-tb"] = a;
a = new QAction( tr( "Open Prefs..." ), this); a = new QAction( tr( "Open Prefs..." ), this);
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpenPrefs() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( fileOpenPrefs() ) );
@ -258,7 +268,7 @@ void PTextEdit::setupFileActions()
menu->addSeparator(); menu->addSeparator();
// Save // Save
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/document-save-dark.svg"); iconName = QString(":/icons/document-save-dark.svg");
else else
iconName = QString(":/icons/document-save-plain.svg"); iconName = QString(":/icons/document-save-plain.svg");
@ -275,6 +285,7 @@ void PTextEdit::setupFileActions()
connect( a, SIGNAL( triggered() ), this, SLOT( fileSave() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( fileSave() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Save-tb"] = a;
// Save As // Save As
a = new QAction( tr( "Save &As..." ), this ); a = new QAction( tr( "Save &As..." ), this );
@ -290,7 +301,7 @@ void PTextEdit::setupFileActions()
menu->addSeparator(); menu->addSeparator();
// Print // Print
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/document-print-dark.svg"); iconName = QString(":/icons/document-print-dark.svg");
else else
iconName = QString(":/icons/document-print-plain.svg"); iconName = QString(":/icons/document-print-plain.svg");
@ -307,6 +318,7 @@ void PTextEdit::setupFileActions()
connect( a, SIGNAL( triggered() ), this, SLOT( filePrint() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( filePrint() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Print-tb"] = a;
menu->addSeparator(); menu->addSeparator();
@ -356,7 +368,7 @@ void PTextEdit::setupEditActions()
QString iconName(""); QString iconName("");
// Undo // Undo
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/edit-undo-dark.svg"); iconName = QString(":/icons/edit-undo-dark.svg");
else else
iconName = QString(":/icons/edit-undo-plain.svg"); iconName = QString(":/icons/edit-undo-plain.svg");
@ -373,9 +385,10 @@ void PTextEdit::setupEditActions()
connect( a, SIGNAL( triggered() ), this, SLOT( editUndo() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( editUndo() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Undo-tb"] = a;
// Redo // Redo
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/edit-redo-dark.svg"); iconName = QString(":/icons/edit-redo-dark.svg");
else else
iconName = QString(":/icons/edit-redo-plain.svg"); iconName = QString(":/icons/edit-redo-plain.svg");
@ -392,6 +405,7 @@ void PTextEdit::setupEditActions()
connect( a, SIGNAL( triggered() ), this, SLOT( editRedo() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( editRedo() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Redo-tb"] = a;
menu->addSeparator(); menu->addSeparator();
@ -406,7 +420,7 @@ void PTextEdit::setupEditActions()
tb->addSeparator(); tb->addSeparator();
// Copy // Copy
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/edit-copy-dark.svg"); iconName = QString(":/icons/edit-copy-dark.svg");
else else
iconName = QString(":/icons/edit-copy-plain.svg"); iconName = QString(":/icons/edit-copy-plain.svg");
@ -423,9 +437,10 @@ void PTextEdit::setupEditActions()
connect( a, SIGNAL( triggered() ), this, SLOT( editCopy() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( editCopy() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Copy-tb"] = a;
// Cut // Cut
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/edit-cut-dark.svg"); iconName = QString(":/icons/edit-cut-dark.svg");
else else
iconName = QString(":/icons/edit-cut-plain.svg"); iconName = QString(":/icons/edit-cut-plain.svg");
@ -442,9 +457,10 @@ void PTextEdit::setupEditActions()
connect( a, SIGNAL( triggered() ), this, SLOT( editCut() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( editCut() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Cut-tb"] = a;
// Paste // Paste
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/edit-paste-dark.svg"); iconName = QString(":/icons/edit-paste-dark.svg");
else else
iconName = QString(":/icons/edit-paste-plain.svg"); iconName = QString(":/icons/edit-paste-plain.svg");
@ -461,12 +477,13 @@ void PTextEdit::setupEditActions()
connect( a, SIGNAL( triggered() ), this, SLOT( editPaste() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( editPaste() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Paste-tb"] = a;
menu->addSeparator(); menu->addSeparator();
tb->addSeparator(); tb->addSeparator();
// Find // Find
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/edit-find-dark.svg"); iconName = QString(":/icons/edit-find-dark.svg");
else else
iconName = QString(":/icons/edit-find-plain.svg"); iconName = QString(":/icons/edit-find-plain.svg");
@ -483,9 +500,10 @@ void PTextEdit::setupEditActions()
connect( a, SIGNAL( triggered() ), this, SLOT( editFind() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( editFind() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Find-tb"] = a;
// Find Next // Find Next
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/go-next-use-dark.svg"); iconName = QString(":/icons/go-next-use-dark.svg");
else else
iconName = QString(":/icons/go-next-use-plain.svg"); iconName = QString(":/icons/go-next-use-plain.svg");
@ -502,9 +520,10 @@ void PTextEdit::setupEditActions()
connect( a, SIGNAL( triggered() ), this, SLOT( editFindNext() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( editFindNext() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Find Next-tb"] = a;
// Find Previous // Find Previous
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/go-previous-use-dark.svg"); iconName = QString(":/icons/go-previous-use-dark.svg");
else else
iconName = QString(":/icons/go-previous-use-plain.svg"); iconName = QString(":/icons/go-previous-use-plain.svg");
@ -521,6 +540,7 @@ void PTextEdit::setupEditActions()
connect( a, SIGNAL( triggered() ), this, SLOT( editFindPrevious() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( editFindPrevious() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Find Previous-tb"] = a;
// Replace // Replace
a = new QAction( tr( "Replace..." ), this ); a = new QAction( tr( "Replace..." ), this );
@ -671,7 +691,7 @@ void PTextEdit::setupMusrActions()
QString iconName(""); QString iconName("");
// musrWiz // musrWiz
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/musrWiz-32x32-dark.svg"); iconName = QString(":/icons/musrWiz-32x32-dark.svg");
else else
iconName = QString(":/icons/musrWiz-32x32.svg"); iconName = QString(":/icons/musrWiz-32x32.svg");
@ -688,12 +708,13 @@ void PTextEdit::setupMusrActions()
connect( a, SIGNAL( triggered() ), this, SLOT( musrWiz() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( musrWiz() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["musrWiz-tb"] = a;
menu->addSeparator(); menu->addSeparator();
tb->addSeparator(); tb->addSeparator();
// Calculate Chisq // Calculate Chisq
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/musrchisq-dark.svg"); iconName = QString(":/icons/musrchisq-dark.svg");
else else
iconName = QString(":/icons/musrchisq-plain.svg"); iconName = QString(":/icons/musrchisq-plain.svg");
@ -710,9 +731,10 @@ void PTextEdit::setupMusrActions()
connect( a, SIGNAL( triggered() ), this, SLOT( musrCalcChisq() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( musrCalcChisq() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["calcChisq-tb"] = a;
// musrfit // musrfit
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/musrfit-dark.svg"); iconName = QString(":/icons/musrfit-dark.svg");
else else
iconName = QString(":/icons/musrfit-plain.svg"); iconName = QString(":/icons/musrfit-plain.svg");
@ -729,9 +751,10 @@ void PTextEdit::setupMusrActions()
connect( a, SIGNAL( triggered() ), this, SLOT( musrFit() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( musrFit() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["musrfit-tb"] = a;
// Swap Msr/Mlog // Swap Msr/Mlog
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/musrswap-dark.svg"); iconName = QString(":/icons/musrswap-dark.svg");
else else
iconName = QString(":/icons/musrswap-plain.svg"); iconName = QString(":/icons/musrswap-plain.svg");
@ -748,9 +771,10 @@ void PTextEdit::setupMusrActions()
connect( a, SIGNAL( triggered() ), this, SLOT( musrSwapMsrMlog() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( musrSwapMsrMlog() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["Swap Msr/Mlog-tb"] = a;
// musrStep // musrStep
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/musrStep-32x32-dark.svg"); iconName = QString(":/icons/musrStep-32x32-dark.svg");
else else
iconName = QString(":/icons/musrStep-32x32.svg"); iconName = QString(":/icons/musrStep-32x32.svg");
@ -767,9 +791,10 @@ void PTextEdit::setupMusrActions()
connect( a, SIGNAL( triggered() ), this, SLOT( musrSetSteps() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( musrSetSteps() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["musrStep-tb"] = a;
// msr2data // msr2data
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/msr2data-dark.svg"); iconName = QString(":/icons/msr2data-dark.svg");
else else
iconName = QString(":/icons/msr2data-plain.svg"); iconName = QString(":/icons/msr2data-plain.svg");
@ -786,9 +811,10 @@ void PTextEdit::setupMusrActions()
connect( a, SIGNAL( triggered() ), this, SLOT( musrMsr2Data() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( musrMsr2Data() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["msr2data-tb"] = a;
// mupp // mupp
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/mupp-dark.svg"); iconName = QString(":/icons/mupp-dark.svg");
else else
iconName = QString(":/icons/mupp-plain.svg"); iconName = QString(":/icons/mupp-plain.svg");
@ -805,12 +831,13 @@ void PTextEdit::setupMusrActions()
connect( a, SIGNAL( triggered() ), this, SLOT( mupp() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( mupp() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["mupp-tb"] = a;
menu->addSeparator(); menu->addSeparator();
tb->addSeparator(); tb->addSeparator();
// musrview // musrview
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/musrview-dark.svg"); iconName = QString(":/icons/musrview-dark.svg");
else else
iconName = QString(":/icons/musrview-plain.svg"); iconName = QString(":/icons/musrview-plain.svg");
@ -827,9 +854,10 @@ void PTextEdit::setupMusrActions()
connect( a, SIGNAL( triggered() ), this, SLOT( musrView() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( musrView() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["musrview-tb"] = a;
// musrt0 // musrt0
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/musrt0-dark.svg"); iconName = QString(":/icons/musrt0-dark.svg");
else else
iconName = QString(":/icons/musrt0-plain.svg"); iconName = QString(":/icons/musrt0-plain.svg");
@ -845,9 +873,10 @@ void PTextEdit::setupMusrActions()
} }
tb->addAction(fMusrT0Action); tb->addAction(fMusrT0Action);
fMusrT0Action->setEnabled(fAdmin->getEnableMusrT0Flag()); fMusrT0Action->setEnabled(fAdmin->getEnableMusrT0Flag());
fActions["musrt0-tb"] = fMusrT0Action;
// musrFT // musrFT
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/musrFT-dark.svg"); iconName = QString(":/icons/musrFT-dark.svg");
else else
iconName = QString(":/icons/musrFT-plain.svg"); iconName = QString(":/icons/musrFT-plain.svg");
@ -863,9 +892,10 @@ void PTextEdit::setupMusrActions()
connect( a, SIGNAL( triggered() ), this, SLOT( musrFT() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( musrFT() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["musrFT-tb"] = a;
// musrprefs // musrprefs
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/musrprefs-dark.svg"); iconName = QString(":/icons/musrprefs-dark.svg");
else else
iconName = QString(":/icons/musrprefs-plain.svg"); iconName = QString(":/icons/musrprefs-plain.svg");
@ -881,12 +911,13 @@ void PTextEdit::setupMusrActions()
connect( a, SIGNAL( triggered() ), this, SLOT( musrPrefs() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( musrPrefs() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["musrprefs-tb"] = a;
menu->addSeparator(); menu->addSeparator();
tb->addSeparator(); tb->addSeparator();
// musrdump // musrdump
if (fDarkTheme) if (fDarkMenuIcon)
iconName = QString(":/icons/musrdump-dark.svg"); iconName = QString(":/icons/musrdump-dark.svg");
else else
iconName = QString(":/icons/musrdump-plain.svg"); iconName = QString(":/icons/musrdump-plain.svg");
@ -901,6 +932,7 @@ void PTextEdit::setupMusrActions()
connect( a, SIGNAL( triggered() ), this, SLOT( musrDump() ) ); connect( a, SIGNAL( triggered() ), this, SLOT( musrDump() ) );
} }
tb->addAction(a); tb->addAction(a);
fActions["musrdump-tb"] = a;
} }
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------
@ -1277,6 +1309,22 @@ void PTextEdit::fileOpenPrefs()
msg = QString("Prefs from '") + fln + QString("' loaded."); msg = QString("Prefs from '") + fln + QString("' loaded.");
QMessageBox::information(nullptr, "Info", msg); QMessageBox::information(nullptr, "Info", msg);
} }
// make sure that dark/plain icon scheme is properly loaded
if (getTheme()) {
switchMenuIcons();
switchToolbarIcons();
}
if (fAdmin->getDarkThemeIconsMenuFlag() != fDarkMenuIcon) {
fDarkMenuIcon = !fDarkMenuIcon;
switchMenuIcons();
}
if (fAdmin->getDarkThemeIconsToolbarFlag() != fDarkToolBarIcon) {
fDarkToolBarIcon = !fDarkToolBarIcon;
switchToolbarIcons();
}
} }
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------
@ -2639,7 +2687,8 @@ void PTextEdit::musrPrefs()
} }
if (dlg->exec() == QDialog::Accepted) { if (dlg->exec() == QDialog::Accepted) {
fAdmin->setDarkThemeIconsFlag(dlg->getDarkThemeIconsFlag()); fAdmin->setDarkThemeIconsMenuFlag(dlg->getDarkThemeIconsMenuFlag());
fAdmin->setDarkThemeIconsToolbarFlag(dlg->getDarkThemeIconsToolbarFlag());
fAdmin->setMusrviewShowFourierFlag(dlg->getMusrviewShowFourierFlag()); fAdmin->setMusrviewShowFourierFlag(dlg->getMusrviewShowFourierFlag());
fAdmin->setMusrviewShowAvgFlag(dlg->getMusrviewShowAvgFlag()); fAdmin->setMusrviewShowAvgFlag(dlg->getMusrviewShowAvgFlag());
fAdmin->setKeepMinuit2OutputFlag(dlg->getKeepMinuit2OutputFlag()); fAdmin->setKeepMinuit2OutputFlag(dlg->getKeepMinuit2OutputFlag());
@ -2664,11 +2713,15 @@ void PTextEdit::musrPrefs()
delete dlg; delete dlg;
dlg = nullptr; dlg = nullptr;
// check if the dark theme icons flag has changed // check if the dark theme menu icons flag has changed
if (fAdmin->getDarkThemeIconsFlag() != fDarkToolBarIcon) { if (fAdmin->getDarkThemeIconsMenuFlag() != fDarkMenuIcon) {
fDarkTheme = !fDarkTheme; fDarkMenuIcon = !fDarkMenuIcon;
switchMenuIcons();
}
// check if the dark theme toolbar icons flag has changed
if (fAdmin->getDarkThemeIconsToolbarFlag() != fDarkToolBarIcon) {
fDarkToolBarIcon = !fDarkToolBarIcon; fDarkToolBarIcon = !fDarkToolBarIcon;
switchIcons(); switchToolbarIcons();
} }
} }
@ -2902,7 +2955,7 @@ void PTextEdit::mupp()
*/ */
void PTextEdit::helpContents() void PTextEdit::helpContents()
{ {
PHelp *help = new PHelp(fAdmin->getHelpUrl("main"), fDarkTheme); PHelp *help = new PHelp(fAdmin->getHelpUrl("main"), fDarkMenuIcon);
help->show(); help->show();
} }
@ -3213,28 +3266,27 @@ void PTextEdit::setFileSystemWatcherActive()
/** /**
* @brief PTextEdit::getTheme * @brief PTextEdit::getTheme
*/ */
void PTextEdit::getTheme() bool PTextEdit::getTheme()
{ {
fDarkTheme = false; // true if theme is dark fDarkMenuIcon = 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! fDarkToolBarIcon = false; // needed for ubuntu dark since there the menu icons are dark, however the toolbar icons are plain!
QString str = QIcon::themeName(); QString str = QIcon::themeName();
qDebug() << "debug> theme name=" << str << endl;
if (str.isEmpty()) { // this is ugly and eventually needs to be fixed in a more coherent way if (str.isEmpty()) { // this is ugly and eventually needs to be fixed in a more coherent way
str = QProcessEnvironment::systemEnvironment().value("HOME", QString("??")); str = QProcessEnvironment::systemEnvironment().value("HOME", QString("??"));
str += "/.kde4/share/config/kdeglobals"; str += "/.kde4/share/config/kdeglobals";
bool done = false;
if (QFile::exists(str)) { if (QFile::exists(str)) {
QFile fln(str); QFile fln(str);
fln.open(QIODevice::ReadOnly | QIODevice::Text); fln.open(QIODevice::ReadOnly | QIODevice::Text);
QTextStream fin(&fln); QTextStream fin(&fln);
QString line(""); QString line("");
bool done = false;
while (!fin.atEnd() && !done) { while (!fin.atEnd() && !done) {
line = fin.readLine(); line = fin.readLine();
if (line.contains("ColorScheme")) { if (line.contains("ColorScheme")) {
if (line.contains("dark", Qt::CaseInsensitive)) { if (line.contains("dark", Qt::CaseInsensitive)) {
fDarkTheme = true; fDarkMenuIcon = true;
fDarkToolBarIcon = true; fDarkToolBarIcon = true;
} }
done = true; done = true;
@ -3242,20 +3294,23 @@ void PTextEdit::getTheme()
} }
fln.close(); fln.close();
} }
return; return done;
} }
if (str.contains("dark", Qt::CaseInsensitive)) { if (str.contains("dark", Qt::CaseInsensitive)) {
fDarkTheme = true; fDarkMenuIcon = true;
if (str.contains("ubuntu", Qt::CaseInsensitive)) { if (str.contains("ubuntu", Qt::CaseInsensitive)) {
fDarkMenuIcon = false;
fDarkToolBarIcon = false; fDarkToolBarIcon = false;
} else if (str.contains("xfce", Qt::CaseInsensitive)) { } else if (str.contains("xfce", Qt::CaseInsensitive)) {
fDarkTheme = false; fDarkMenuIcon = false;
fDarkToolBarIcon = false; fDarkToolBarIcon = false;
} else { } else {
fDarkToolBarIcon = true; fDarkToolBarIcon = true;
} }
} }
return true;
} }
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------
@ -3350,62 +3405,123 @@ bool PTextEdit::fileAlreadyOpen(QFileInfo &finfo, int &idx)
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------
/** /**
* <p>Switch icons according to the fAdmin settings * <p>Switch menu icons according to the fAdmin settings
*/ */
void PTextEdit::switchIcons() void PTextEdit::switchMenuIcons()
{ {
if (fAdmin->getDarkThemeIconsFlag()) { // dark theme icons if (fAdmin->getDarkThemeIconsMenuFlag()) { // dark theme icons
fActions["New"]->setIcon(QIcon(":/icons/document-new-dark.svg")); fActions["New"]->setIcon(QIcon(QPixmap(":/icons/document-new-dark.svg")));
fActions["Open"]->setIcon(QIcon(":/icons/document-open-dark.svg")); fActions["Open"]->setIcon(QIcon(QPixmap(":/icons/document-open-dark.svg")));
fActions["Reload"]->setIcon(QIcon(":/icons/view-refresh-dark.svg")); fActions["Reload"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-dark.svg")));
fActions["Save"]->setIcon(QIcon(":/icons/document-save-dark.svg")); fActions["Save"]->setIcon(QIcon(QPixmap(":/icons/document-save-dark.svg")));
fActions["Print"]->setIcon(QIcon(":/icons/document-print-dark.svg")); fActions["Print"]->setIcon(QIcon(QPixmap(":/icons/document-print-dark.svg")));
fActions["Undo"]->setIcon(QIcon(":/icons/edit-undo-dark.svg")); fActions["Undo"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-dark.svg")));
fActions["Redo"]->setIcon(QIcon(":/icons/edit-redo-dark.svg")); fActions["Redo"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-dark.svg")));
fActions["Copy"]->setIcon(QIcon(":/icons/edit-copy-dark.svg")); fActions["Copy"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-dark.svg")));
fActions["Cut"]->setIcon(QIcon(":/icons/edit-cut-dark.svg")); fActions["Cut"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-dark.svg")));
fActions["Paste"]->setIcon(QIcon(":/icons/edit-paste-dark.svg")); fActions["Paste"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-dark.svg")));
fActions["Find"]->setIcon(QIcon(":/icons/edit-find-dark.svg")); fActions["Find"]->setIcon(QIcon(QPixmap(":/icons/edit-find-dark.svg")));
fActions["Find Next"]->setIcon(QIcon(":/icons/go-next-use-dark.svg")); fActions["Find Next"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-dark.svg")));
fActions["Find Previous"]->setIcon(QIcon(":/icons/go-previous-use-dark.svg")); fActions["Find Previous"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-dark.svg")));
fActions["musrWiz"]->setIcon(QIcon(":/icons/musrWiz-32x32-dark.svg")); fActions["musrWiz"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32-dark.svg")));
fActions["calcChisq"]->setIcon(QIcon(":/icons/musrchisq-dark.svg")); fActions["calcChisq"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-dark.svg")));
fActions["musrfit"]->setIcon(QIcon(":/icons/musrfit-dark.svg")); fActions["musrfit"]->setIcon(QIcon(QPixmap(":/icons/musrfit-dark.svg")));
fActions["Swap Msr/Mlog"]->setIcon(QIcon(":/icons/musrswap-dark.svg")); fActions["Swap Msr/Mlog"]->setIcon(QIcon(QPixmap(":/icons/musrswap-dark.svg")));
fActions["musrStep"]->setIcon(QIcon(":/icons/musrStep-32x32-dark.svg")); fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg")));
fActions["msr2data"]->setIcon(QIcon(":/icons/msr2data-dark.svg")); fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg")));
fActions["mupp"]->setIcon(QIcon(":/icons/mupp-dark.svg")); fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg")));
fActions["musrview"]->setIcon(QIcon(":/icons/musrview-dark.svg")); fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg")));
fActions["musrt0"]->setIcon(QIcon(":/icons/musrt0-dark.svg")); fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg")));
fActions["musrFT"]->setIcon(QIcon(":/icons/musrFT-dark.svg")); fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg")));
fActions["musrprefs"]->setIcon(QIcon(":/icons/musrprefs-dark.svg")); fActions["musrprefs"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-dark.svg")));
fActions["musrdump"]->setIcon(QIcon(":/icons/musrdump-dark.svg")); fActions["musrdump"]->setIcon(QIcon(QPixmap(":/icons/musrdump-dark.svg")));
} else { // plain theme icons } else { // plain theme icons
fActions["New"]->setIcon(QIcon(":/icons/document-new-plain.svg")); fActions["New"]->setIcon(QIcon(QPixmap(":/icons/document-new-plain.svg")));
fActions["Open"]->setIcon(QIcon(":/icons/document-open-plain.svg")); fActions["Open"]->setIcon(QIcon(QPixmap(":/icons/document-open-plain.svg")));
fActions["Reload"]->setIcon(QIcon(":/icons/view-refresh-plain.svg")); fActions["Reload"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-plain.svg")));
fActions["Save"]->setIcon(QIcon(":/icons/document-save-plain.svg")); fActions["Save"]->setIcon(QIcon(QPixmap(":/icons/document-save-plain.svg")));
fActions["Print"]->setIcon(QIcon(":/icons/document-print-plain.svg")); fActions["Print"]->setIcon(QIcon(QPixmap(":/icons/document-print-plain.svg")));
fActions["Undo"]->setIcon(QIcon(":/icons/edit-undo-plain.svg")); fActions["Undo"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-plain.svg")));
fActions["Redo"]->setIcon(QIcon(":/icons/edit-redo-plain.svg")); fActions["Redo"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-plain.svg")));
fActions["Copy"]->setIcon(QIcon(":/icons/edit-copy-plain.svg")); fActions["Copy"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-plain.svg")));
fActions["Cut"]->setIcon(QIcon(":/icons/edit-cut-plain.svg")); fActions["Cut"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-plain.svg")));
fActions["Paste"]->setIcon(QIcon(":/icons/edit-paste-plain.svg")); fActions["Paste"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-plain.svg")));
fActions["Find"]->setIcon(QIcon(":/icons/edit-find-plain.svg")); fActions["Find"]->setIcon(QIcon(QPixmap(":/icons/edit-find-plain.svg")));
fActions["Find Next"]->setIcon(QIcon(":/icons/go-next-use-plain.svg")); fActions["Find Next"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-plain.svg")));
fActions["Find Previous"]->setIcon(QIcon(":/icons/go-previous-use-plain.svg")); fActions["Find Previous"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-plain.svg")));
fActions["musrWiz"]->setIcon(QIcon(":/icons/musrWiz-32x32.svg")); fActions["musrWiz"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32.svg")));
fActions["calcChisq"]->setIcon(QIcon(":/icons/musrchisq-plain.svg")); fActions["calcChisq"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-plain.svg")));
fActions["musrfit"]->setIcon(QIcon(":/icons/musrfit-plain.svg")); fActions["musrfit"]->setIcon(QIcon(QPixmap(":/icons/musrfit-plain.svg")));
fActions["Swap Msr/Mlog"]->setIcon(QIcon(":/icons/musrswap-plain.svg")); fActions["Swap Msr/Mlog"]->setIcon(QIcon(QPixmap(":/icons/musrswap-plain.svg")));
fActions["musrStep"]->setIcon(QIcon(":/icons/musrStep-32x32.svg")); fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg")));
fActions["msr2data"]->setIcon(QIcon(":/icons/msr2data-plain.svg")); fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg")));
fActions["mupp"]->setIcon(QIcon(":/icons/mupp-plain.svg")); fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg")));
fActions["musrview"]->setIcon(QIcon(":/icons/musrview-plain.svg")); fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg")));
fActions["musrt0"]->setIcon(QIcon(":/icons/musrt0-plain.svg")); fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg")));
fActions["musrFT"]->setIcon(QIcon(":/icons/musrFT-plain.svg")); fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg")));
fActions["musrprefs"]->setIcon(QIcon(":/icons/musrprefs-plain.svg")); fActions["musrprefs"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-plain.svg")));
fActions["musrdump"]->setIcon(QIcon(":/icons/musrdump-plain.svg")); fActions["musrdump"]->setIcon(QIcon(QPixmap(":/icons/musrdump-plain.svg")));
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>Switch toolbar icons according to the fAdmin settings
*/
void PTextEdit::switchToolbarIcons()
{
if (fAdmin->getDarkThemeIconsToolbarFlag()) { // dark theme icons
fActions["New-tb"]->setIcon(QIcon(QPixmap(":/icons/document-new-dark.svg")));
fActions["Open-tb"]->setIcon(QIcon(QPixmap(":/icons/document-open-dark.svg")));
fActions["Reload-tb"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-dark.svg")));
fActions["Save-tb"]->setIcon(QIcon(QPixmap(":/icons/document-save-dark.svg")));
fActions["Print-tb"]->setIcon(QIcon(QPixmap(":/icons/document-print-dark.svg")));
fActions["Undo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-dark.svg")));
fActions["Redo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-dark.svg")));
fActions["Copy-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-dark.svg")));
fActions["Cut-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-dark.svg")));
fActions["Paste-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-dark.svg")));
fActions["Find-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-find-dark.svg")));
fActions["Find Next-tb"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-dark.svg")));
fActions["Find Previous-tb"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-dark.svg")));
fActions["musrWiz-tb"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32-dark.svg")));
fActions["calcChisq-tb"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-dark.svg")));
fActions["musrfit-tb"]->setIcon(QIcon(QPixmap(":/icons/musrfit-dark.svg")));
fActions["Swap Msr/Mlog-tb"]->setIcon(QIcon(QPixmap(":/icons/musrswap-dark.svg")));
fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg")));
fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg")));
fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg")));
fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg")));
fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg")));
fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg")));
fActions["musrprefs-tb"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-dark.svg")));
fActions["musrdump-tb"]->setIcon(QIcon(QPixmap(":/icons/musrdump-dark.svg")));
} else { // plain theme icons
fActions["New-tb"]->setIcon(QIcon(QPixmap(":/icons/document-new-plain.svg")));
fActions["Open-tb"]->setIcon(QIcon(QPixmap(":/icons/document-open-plain.svg")));
fActions["Reload-tb"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-plain.svg")));
fActions["Save-tb"]->setIcon(QIcon(QPixmap(":/icons/document-save-plain.svg")));
fActions["Print-tb"]->setIcon(QIcon(QPixmap(":/icons/document-print-plain.svg")));
fActions["Undo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-plain.svg")));
fActions["Redo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-plain.svg")));
fActions["Copy-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-plain.svg")));
fActions["Cut-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-plain.svg")));
fActions["Paste-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-plain.svg")));
fActions["Find-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-find-plain.svg")));
fActions["Find Next-tb"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-plain.svg")));
fActions["Find Previous-tb"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-plain.svg")));
fActions["musrWiz-tb"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32.svg")));
fActions["calcChisq-tb"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-plain.svg")));
fActions["musrfit-tb"]->setIcon(QIcon(QPixmap(":/icons/musrfit-plain.svg")));
fActions["Swap Msr/Mlog-tb"]->setIcon(QIcon(QPixmap(":/icons/musrswap-plain.svg")));
fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg")));
fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg")));
fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg")));
fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg")));
fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg")));
fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg")));
fActions["musrprefs-tb"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-plain.svg")));
fActions["musrdump-tb"]->setIcon(QIcon(QPixmap(":/icons/musrdump-plain.svg")));
} }
} }

View File

@ -162,8 +162,8 @@ private slots:
void setFileSystemWatcherActive(); void setFileSystemWatcherActive();
private: private:
bool fDarkTheme; bool fDarkMenuIcon; ///< flag indicating if a dark or plain icon shall be used in the menu pull-downs
bool fDarkToolBarIcon; bool fDarkToolBarIcon; ///< flag indicating if a dark or plain icon shall be used in the toolbar
PAdmin *fAdmin; ///< pointer to the xml-startup file informations. Needed for different purposes like default working- and executable directories etc. PAdmin *fAdmin; ///< pointer to the xml-startup file informations. Needed for different purposes like default working- and executable directories etc.
QFileSystemWatcher *fFileSystemWatcher; ///< checks if msr-files are changing on the disk while being open in musredit. QFileSystemWatcher *fFileSystemWatcher; ///< checks if msr-files are changing on the disk while being open in musredit.
bool fFileSystemWatcherActive; ///< flag to enable/disable the file system watcher bool fFileSystemWatcherActive; ///< flag to enable/disable the file system watcher
@ -187,12 +187,13 @@ private:
QMenu *fRecentFilesMenu; ///< recent file menu QMenu *fRecentFilesMenu; ///< recent file menu
QAction *fRecentFilesAction[MAX_RECENT_FILES]; ///< array of the recent file actions QAction *fRecentFilesAction[MAX_RECENT_FILES]; ///< array of the recent file actions
void getTheme(); bool getTheme();
void fillRecentFiles(); void fillRecentFiles();
QStringList getRunList(QString runListStr, bool &ok); QStringList getRunList(QString runListStr, bool &ok);
bool fileAlreadyOpen(QFileInfo &finfo, int &idx); bool fileAlreadyOpen(QFileInfo &finfo, int &idx);
void switchIcons(); void switchMenuIcons();
void switchToolbarIcons();
}; };

View File

@ -10,7 +10,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>452</width> <width>452</width>
<height>168</height> <height>180</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -26,7 +26,7 @@
<x>0</x> <x>0</x>
<y>5</y> <y>5</y>
<width>451</width> <width>451</width>
<height>161</height> <height>171</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
@ -43,7 +43,7 @@
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>10</x> <x>10</x>
<y>50</y> <y>70</y>
<width>421</width> <width>421</width>
<height>31</height> <height>31</height>
</rect> </rect>
@ -52,13 +52,13 @@
<string>Change Default Search Paths</string> <string>Change Default Search Paths</string>
</property> </property>
</widget> </widget>
<widget class="QWidget" name="layoutWidget"> <widget class="QWidget" name="">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>11</x> <x>12</x>
<y>11</y> <y>10</y>
<width>421</width> <width>415</width>
<height>33</height> <height>52</height>
</rect> </rect>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
@ -86,12 +86,23 @@
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="fDarkThemeIcons_checkBox"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="fDarkThemeIconsMenu_checkBox">
<property name="text"> <property name="text">
<string>Dark Theme Icons</string> <string>Dark Theme Icons Menu</string>
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="fDarkThemeIconsToolbar_checkBox">
<property name="text">
<string>Dark Theme Icons Toolbar</string>
</property>
</widget>
</item>
</layout>
</item>
</layout> </layout>
</widget> </widget>
</widget> </widget>

View File

@ -17,6 +17,8 @@
<musrview_show_fourier>n</musrview_show_fourier> <musrview_show_fourier>n</musrview_show_fourier>
<musrview_show_avg>n</musrview_show_avg> <musrview_show_avg>n</musrview_show_avg>
<enable_musrt0>y</enable_musrt0> <enable_musrt0>y</enable_musrt0>
<dark_theme_icons_menu>n</dark_theme_icons_menu>
<dark_theme_icons_toolbar>n</dark_theme_icons_toolbar>
</general> </general>
<recent_files> <recent_files>
<path_file_name>@DOCDIR@/examples/test-histo-PSI-BIN.msr</path_file_name> <path_file_name>@DOCDIR@/examples/test-histo-PSI-BIN.msr</path_file_name>