From f51f3e2038c2d16df6f9d442a18ec41ce326f088 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Tue, 30 Apr 2019 09:40:36 +0200 Subject: [PATCH 1/7] make toolbar icons switchable plain/dark. --- src/musredit_qt5/musredit/PTextEdit.cpp | 75 +++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/src/musredit_qt5/musredit/PTextEdit.cpp b/src/musredit_qt5/musredit/PTextEdit.cpp index 4a09eda6..7b9fa69b 100644 --- a/src/musredit_qt5/musredit/PTextEdit.cpp +++ b/src/musredit_qt5/musredit/PTextEdit.cpp @@ -202,6 +202,7 @@ void PTextEdit::setupFileActions() connect( a, SIGNAL( triggered() ), this, SLOT( fileNew() ) ); } tb->addAction(a); + fActions["New-tb"] = a; // Open if (fDarkTheme) @@ -221,6 +222,7 @@ void PTextEdit::setupFileActions() connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) ); } tb->addAction(a); + fActions["Open-tb"] = a; // Recent Files fRecentFilesMenu = menu->addMenu( tr("Recent Files") ); @@ -250,6 +252,7 @@ void PTextEdit::setupFileActions() connect( a, SIGNAL( triggered() ), this, SLOT( fileReload() ) ); } tb->addAction(a); + fActions["Reload-tb"] = a; a = new QAction( tr( "Open Prefs..." ), this); connect( a, SIGNAL( triggered() ), this, SLOT( fileOpenPrefs() ) ); @@ -275,6 +278,7 @@ void PTextEdit::setupFileActions() connect( a, SIGNAL( triggered() ), this, SLOT( fileSave() ) ); } tb->addAction(a); + fActions["Save-tb"] = a; // Save As a = new QAction( tr( "Save &As..." ), this ); @@ -307,6 +311,7 @@ void PTextEdit::setupFileActions() connect( a, SIGNAL( triggered() ), this, SLOT( filePrint() ) ); } tb->addAction(a); + fActions["Print-tb"] = a; menu->addSeparator(); @@ -373,6 +378,7 @@ void PTextEdit::setupEditActions() connect( a, SIGNAL( triggered() ), this, SLOT( editUndo() ) ); } tb->addAction(a); + fActions["Undo-tb"] = a; // Redo if (fDarkTheme) @@ -392,6 +398,7 @@ void PTextEdit::setupEditActions() connect( a, SIGNAL( triggered() ), this, SLOT( editRedo() ) ); } tb->addAction(a); + fActions["Redo-tb"] = a; menu->addSeparator(); @@ -423,6 +430,7 @@ void PTextEdit::setupEditActions() connect( a, SIGNAL( triggered() ), this, SLOT( editCopy() ) ); } tb->addAction(a); + fActions["Copy-tb"] = a; // Cut if (fDarkTheme) @@ -442,6 +450,7 @@ void PTextEdit::setupEditActions() connect( a, SIGNAL( triggered() ), this, SLOT( editCut() ) ); } tb->addAction(a); + fActions["Cut-tb"] = a; // Paste if (fDarkTheme) @@ -461,6 +470,7 @@ void PTextEdit::setupEditActions() connect( a, SIGNAL( triggered() ), this, SLOT( editPaste() ) ); } tb->addAction(a); + fActions["Paste-tb"] = a; menu->addSeparator(); tb->addSeparator(); @@ -483,6 +493,7 @@ void PTextEdit::setupEditActions() connect( a, SIGNAL( triggered() ), this, SLOT( editFind() ) ); } tb->addAction(a); + fActions["Find-tb"] = a; // Find Next if (fDarkTheme) @@ -502,6 +513,7 @@ void PTextEdit::setupEditActions() connect( a, SIGNAL( triggered() ), this, SLOT( editFindNext() ) ); } tb->addAction(a); + fActions["Find Next-tb"] = a; // Find Previous if (fDarkTheme) @@ -521,6 +533,7 @@ void PTextEdit::setupEditActions() connect( a, SIGNAL( triggered() ), this, SLOT( editFindPrevious() ) ); } tb->addAction(a); + fActions["Find Previous-tb"] = a; // Replace a = new QAction( tr( "Replace..." ), this ); @@ -688,6 +701,7 @@ void PTextEdit::setupMusrActions() connect( a, SIGNAL( triggered() ), this, SLOT( musrWiz() ) ); } tb->addAction(a); + fActions["musrWiz-tb"] = a; menu->addSeparator(); tb->addSeparator(); @@ -710,6 +724,7 @@ void PTextEdit::setupMusrActions() connect( a, SIGNAL( triggered() ), this, SLOT( musrCalcChisq() ) ); } tb->addAction(a); + fActions["calcChisq-tb"] = a; // musrfit if (fDarkTheme) @@ -729,6 +744,7 @@ void PTextEdit::setupMusrActions() connect( a, SIGNAL( triggered() ), this, SLOT( musrFit() ) ); } tb->addAction(a); + fActions["musrfit-tb"] = a; // Swap Msr/Mlog if (fDarkTheme) @@ -748,6 +764,7 @@ void PTextEdit::setupMusrActions() connect( a, SIGNAL( triggered() ), this, SLOT( musrSwapMsrMlog() ) ); } tb->addAction(a); + fActions["Swap Msr/Mlog-tb"] = a; // musrStep if (fDarkTheme) @@ -767,6 +784,7 @@ void PTextEdit::setupMusrActions() connect( a, SIGNAL( triggered() ), this, SLOT( musrSetSteps() ) ); } tb->addAction(a); + fActions["musrStep-tb"] = a; // msr2data if (fDarkTheme) @@ -786,6 +804,7 @@ void PTextEdit::setupMusrActions() connect( a, SIGNAL( triggered() ), this, SLOT( musrMsr2Data() ) ); } tb->addAction(a); + fActions["msr2data-tb"] = a; // mupp if (fDarkTheme) @@ -805,6 +824,7 @@ void PTextEdit::setupMusrActions() connect( a, SIGNAL( triggered() ), this, SLOT( mupp() ) ); } tb->addAction(a); + fActions["mupp-tb"] = a; menu->addSeparator(); tb->addSeparator(); @@ -827,6 +847,7 @@ void PTextEdit::setupMusrActions() connect( a, SIGNAL( triggered() ), this, SLOT( musrView() ) ); } tb->addAction(a); + fActions["musrview-tb"] = a; // musrt0 if (fDarkTheme) @@ -845,6 +866,7 @@ void PTextEdit::setupMusrActions() } tb->addAction(fMusrT0Action); fMusrT0Action->setEnabled(fAdmin->getEnableMusrT0Flag()); + fActions["musrt0-tb"] = fMusrT0Action; // musrFT if (fDarkTheme) @@ -863,6 +885,7 @@ void PTextEdit::setupMusrActions() connect( a, SIGNAL( triggered() ), this, SLOT( musrFT() ) ); } tb->addAction(a); + fActions["musrFT-tb"] = a; // musrprefs if (fDarkTheme) @@ -881,6 +904,7 @@ void PTextEdit::setupMusrActions() connect( a, SIGNAL( triggered() ), this, SLOT( musrPrefs() ) ); } tb->addAction(a); + fActions["musrprefs-tb"] = a; menu->addSeparator(); tb->addSeparator(); @@ -901,6 +925,7 @@ void PTextEdit::setupMusrActions() connect( a, SIGNAL( triggered() ), this, SLOT( musrDump() ) ); } tb->addAction(a); + fActions["musrdump-tb"] = a; } //---------------------------------------------------------------------------------------------------- @@ -3356,56 +3381,106 @@ void PTextEdit::switchIcons() { if (fAdmin->getDarkThemeIconsFlag()) { // dark theme icons fActions["New"]->setIcon(QIcon(":/icons/document-new-dark.svg")); + fActions["New-tb"]->setIcon(QIcon(":/icons/document-new-dark.svg")); fActions["Open"]->setIcon(QIcon(":/icons/document-open-dark.svg")); + fActions["Open-tb"]->setIcon(QIcon(":/icons/document-open-dark.svg")); fActions["Reload"]->setIcon(QIcon(":/icons/view-refresh-dark.svg")); + fActions["Reload-tb"]->setIcon(QIcon(":/icons/view-refresh-dark.svg")); fActions["Save"]->setIcon(QIcon(":/icons/document-save-dark.svg")); + fActions["Save-tb"]->setIcon(QIcon(":/icons/document-save-dark.svg")); fActions["Print"]->setIcon(QIcon(":/icons/document-print-dark.svg")); + fActions["Print-tb"]->setIcon(QIcon(":/icons/document-print-dark.svg")); fActions["Undo"]->setIcon(QIcon(":/icons/edit-undo-dark.svg")); + fActions["Undo-tb"]->setIcon(QIcon(":/icons/edit-undo-dark.svg")); fActions["Redo"]->setIcon(QIcon(":/icons/edit-redo-dark.svg")); + fActions["Redo-tb"]->setIcon(QIcon(":/icons/edit-redo-dark.svg")); fActions["Copy"]->setIcon(QIcon(":/icons/edit-copy-dark.svg")); + fActions["Copy-tb"]->setIcon(QIcon(":/icons/edit-copy-dark.svg")); fActions["Cut"]->setIcon(QIcon(":/icons/edit-cut-dark.svg")); + fActions["Cut-tb"]->setIcon(QIcon(":/icons/edit-cut-dark.svg")); fActions["Paste"]->setIcon(QIcon(":/icons/edit-paste-dark.svg")); + fActions["Paste-tb"]->setIcon(QIcon(":/icons/edit-paste-dark.svg")); fActions["Find"]->setIcon(QIcon(":/icons/edit-find-dark.svg")); + fActions["Find-tb"]->setIcon(QIcon(":/icons/edit-find-dark.svg")); fActions["Find Next"]->setIcon(QIcon(":/icons/go-next-use-dark.svg")); + fActions["Find Next-tb"]->setIcon(QIcon(":/icons/go-next-use-dark.svg")); fActions["Find Previous"]->setIcon(QIcon(":/icons/go-previous-use-dark.svg")); + fActions["Find Previous-tb"]->setIcon(QIcon(":/icons/go-previous-use-dark.svg")); fActions["musrWiz"]->setIcon(QIcon(":/icons/musrWiz-32x32-dark.svg")); + fActions["musrWiz-tb"]->setIcon(QIcon(":/icons/musrWiz-32x32-dark.svg")); fActions["calcChisq"]->setIcon(QIcon(":/icons/musrchisq-dark.svg")); + fActions["calcChisq-tb"]->setIcon(QIcon(":/icons/musrchisq-dark.svg")); fActions["musrfit"]->setIcon(QIcon(":/icons/musrfit-dark.svg")); + fActions["musrfit-tb"]->setIcon(QIcon(":/icons/musrfit-dark.svg")); fActions["Swap Msr/Mlog"]->setIcon(QIcon(":/icons/musrswap-dark.svg")); + fActions["Swap Msr/Mlog-tb"]->setIcon(QIcon(":/icons/musrswap-dark.svg")); fActions["musrStep"]->setIcon(QIcon(":/icons/musrStep-32x32-dark.svg")); + fActions["musrStep-tb"]->setIcon(QIcon(":/icons/musrStep-32x32-dark.svg")); fActions["msr2data"]->setIcon(QIcon(":/icons/msr2data-dark.svg")); + fActions["msr2data-tb"]->setIcon(QIcon(":/icons/msr2data-dark.svg")); fActions["mupp"]->setIcon(QIcon(":/icons/mupp-dark.svg")); + fActions["mupp-tb"]->setIcon(QIcon(":/icons/mupp-dark.svg")); fActions["musrview"]->setIcon(QIcon(":/icons/musrview-dark.svg")); + fActions["musrview-tb"]->setIcon(QIcon(":/icons/musrview-dark.svg")); fActions["musrt0"]->setIcon(QIcon(":/icons/musrt0-dark.svg")); + fActions["musrt0-tb"]->setIcon(QIcon(":/icons/musrt0-dark.svg")); fActions["musrFT"]->setIcon(QIcon(":/icons/musrFT-dark.svg")); + fActions["musrFT-tb"]->setIcon(QIcon(":/icons/musrFT-dark.svg")); fActions["musrprefs"]->setIcon(QIcon(":/icons/musrprefs-dark.svg")); + fActions["musrprefs-tb"]->setIcon(QIcon(":/icons/musrprefs-dark.svg")); fActions["musrdump"]->setIcon(QIcon(":/icons/musrdump-dark.svg")); + fActions["musrdump-tb"]->setIcon(QIcon(":/icons/musrdump-dark.svg")); } else { // plain theme icons fActions["New"]->setIcon(QIcon(":/icons/document-new-plain.svg")); + fActions["New-tb"]->setIcon(QIcon(":/icons/document-new-plain.svg")); fActions["Open"]->setIcon(QIcon(":/icons/document-open-plain.svg")); + fActions["Open-tb"]->setIcon(QIcon(":/icons/document-open-plain.svg")); fActions["Reload"]->setIcon(QIcon(":/icons/view-refresh-plain.svg")); + fActions["Reload-tb"]->setIcon(QIcon(":/icons/view-refresh-plain.svg")); fActions["Save"]->setIcon(QIcon(":/icons/document-save-plain.svg")); + fActions["Save-tb"]->setIcon(QIcon(":/icons/document-save-plain.svg")); fActions["Print"]->setIcon(QIcon(":/icons/document-print-plain.svg")); + fActions["Print-tb"]->setIcon(QIcon(":/icons/document-print-plain.svg")); fActions["Undo"]->setIcon(QIcon(":/icons/edit-undo-plain.svg")); + fActions["Undo-tb"]->setIcon(QIcon(":/icons/edit-undo-plain.svg")); fActions["Redo"]->setIcon(QIcon(":/icons/edit-redo-plain.svg")); + fActions["Redo-tb"]->setIcon(QIcon(":/icons/edit-redo-plain.svg")); fActions["Copy"]->setIcon(QIcon(":/icons/edit-copy-plain.svg")); + fActions["Copy-tb"]->setIcon(QIcon(":/icons/edit-copy-plain.svg")); fActions["Cut"]->setIcon(QIcon(":/icons/edit-cut-plain.svg")); + fActions["Cut-tb"]->setIcon(QIcon(":/icons/edit-cut-plain.svg")); fActions["Paste"]->setIcon(QIcon(":/icons/edit-paste-plain.svg")); + fActions["Paste-tb"]->setIcon(QIcon(":/icons/edit-paste-plain.svg")); fActions["Find"]->setIcon(QIcon(":/icons/edit-find-plain.svg")); + fActions["Find-tb"]->setIcon(QIcon(":/icons/edit-find-plain.svg")); fActions["Find Next"]->setIcon(QIcon(":/icons/go-next-use-plain.svg")); + fActions["Find Next-tb"]->setIcon(QIcon(":/icons/go-next-use-plain.svg")); fActions["Find Previous"]->setIcon(QIcon(":/icons/go-previous-use-plain.svg")); + fActions["Find Previous-tb"]->setIcon(QIcon(":/icons/go-previous-use-plain.svg")); fActions["musrWiz"]->setIcon(QIcon(":/icons/musrWiz-32x32.svg")); + fActions["musrWiz-tb"]->setIcon(QIcon(":/icons/musrWiz-32x32.svg")); fActions["calcChisq"]->setIcon(QIcon(":/icons/musrchisq-plain.svg")); + fActions["calcChisq-tb"]->setIcon(QIcon(":/icons/musrchisq-plain.svg")); fActions["musrfit"]->setIcon(QIcon(":/icons/musrfit-plain.svg")); + fActions["musrfit-tb"]->setIcon(QIcon(":/icons/musrfit-plain.svg")); fActions["Swap Msr/Mlog"]->setIcon(QIcon(":/icons/musrswap-plain.svg")); + fActions["Swap Msr/Mlog-tb"]->setIcon(QIcon(":/icons/musrswap-plain.svg")); fActions["musrStep"]->setIcon(QIcon(":/icons/musrStep-32x32.svg")); + fActions["musrStep-tb"]->setIcon(QIcon(":/icons/musrStep-32x32.svg")); fActions["msr2data"]->setIcon(QIcon(":/icons/msr2data-plain.svg")); + fActions["msr2data-tb"]->setIcon(QIcon(":/icons/msr2data-plain.svg")); fActions["mupp"]->setIcon(QIcon(":/icons/mupp-plain.svg")); + fActions["mupp-tb"]->setIcon(QIcon(":/icons/mupp-plain.svg")); fActions["musrview"]->setIcon(QIcon(":/icons/musrview-plain.svg")); + fActions["musrview-tb"]->setIcon(QIcon(":/icons/musrview-plain.svg")); fActions["musrt0"]->setIcon(QIcon(":/icons/musrt0-plain.svg")); + fActions["musrt0-tb"]->setIcon(QIcon(":/icons/musrt0-plain.svg")); fActions["musrFT"]->setIcon(QIcon(":/icons/musrFT-plain.svg")); + fActions["musrFT-tb"]->setIcon(QIcon(":/icons/musrFT-plain.svg")); fActions["musrprefs"]->setIcon(QIcon(":/icons/musrprefs-plain.svg")); + fActions["musrprefs-tb"]->setIcon(QIcon(":/icons/musrprefs-plain.svg")); fActions["musrdump"]->setIcon(QIcon(":/icons/musrdump-plain.svg")); + fActions["musrdump-tb"]->setIcon(QIcon(":/icons/musrdump-plain.svg")); } } From bd3ade31364f177071a1308a9aa55cbb9aa0d009 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Tue, 30 Apr 2019 14:20:38 +0200 Subject: [PATCH 2/7] improved icon scaling. --- src/musredit_qt5/musredit/PTextEdit.cpp | 200 ++++++++++++------------ 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/src/musredit_qt5/musredit/PTextEdit.cpp b/src/musredit_qt5/musredit/PTextEdit.cpp index 7b9fa69b..e4db610c 100644 --- a/src/musredit_qt5/musredit/PTextEdit.cpp +++ b/src/musredit_qt5/musredit/PTextEdit.cpp @@ -3380,107 +3380,107 @@ bool PTextEdit::fileAlreadyOpen(QFileInfo &finfo, int &idx) void PTextEdit::switchIcons() { if (fAdmin->getDarkThemeIconsFlag()) { // dark theme icons - fActions["New"]->setIcon(QIcon(":/icons/document-new-dark.svg")); - fActions["New-tb"]->setIcon(QIcon(":/icons/document-new-dark.svg")); - fActions["Open"]->setIcon(QIcon(":/icons/document-open-dark.svg")); - fActions["Open-tb"]->setIcon(QIcon(":/icons/document-open-dark.svg")); - fActions["Reload"]->setIcon(QIcon(":/icons/view-refresh-dark.svg")); - fActions["Reload-tb"]->setIcon(QIcon(":/icons/view-refresh-dark.svg")); - fActions["Save"]->setIcon(QIcon(":/icons/document-save-dark.svg")); - fActions["Save-tb"]->setIcon(QIcon(":/icons/document-save-dark.svg")); - fActions["Print"]->setIcon(QIcon(":/icons/document-print-dark.svg")); - fActions["Print-tb"]->setIcon(QIcon(":/icons/document-print-dark.svg")); - fActions["Undo"]->setIcon(QIcon(":/icons/edit-undo-dark.svg")); - fActions["Undo-tb"]->setIcon(QIcon(":/icons/edit-undo-dark.svg")); - fActions["Redo"]->setIcon(QIcon(":/icons/edit-redo-dark.svg")); - fActions["Redo-tb"]->setIcon(QIcon(":/icons/edit-redo-dark.svg")); - fActions["Copy"]->setIcon(QIcon(":/icons/edit-copy-dark.svg")); - fActions["Copy-tb"]->setIcon(QIcon(":/icons/edit-copy-dark.svg")); - fActions["Cut"]->setIcon(QIcon(":/icons/edit-cut-dark.svg")); - fActions["Cut-tb"]->setIcon(QIcon(":/icons/edit-cut-dark.svg")); - fActions["Paste"]->setIcon(QIcon(":/icons/edit-paste-dark.svg")); - fActions["Paste-tb"]->setIcon(QIcon(":/icons/edit-paste-dark.svg")); - fActions["Find"]->setIcon(QIcon(":/icons/edit-find-dark.svg")); - fActions["Find-tb"]->setIcon(QIcon(":/icons/edit-find-dark.svg")); - fActions["Find Next"]->setIcon(QIcon(":/icons/go-next-use-dark.svg")); - fActions["Find Next-tb"]->setIcon(QIcon(":/icons/go-next-use-dark.svg")); - fActions["Find Previous"]->setIcon(QIcon(":/icons/go-previous-use-dark.svg")); - fActions["Find Previous-tb"]->setIcon(QIcon(":/icons/go-previous-use-dark.svg")); - fActions["musrWiz"]->setIcon(QIcon(":/icons/musrWiz-32x32-dark.svg")); - fActions["musrWiz-tb"]->setIcon(QIcon(":/icons/musrWiz-32x32-dark.svg")); - fActions["calcChisq"]->setIcon(QIcon(":/icons/musrchisq-dark.svg")); - fActions["calcChisq-tb"]->setIcon(QIcon(":/icons/musrchisq-dark.svg")); - fActions["musrfit"]->setIcon(QIcon(":/icons/musrfit-dark.svg")); - fActions["musrfit-tb"]->setIcon(QIcon(":/icons/musrfit-dark.svg")); - fActions["Swap Msr/Mlog"]->setIcon(QIcon(":/icons/musrswap-dark.svg")); - fActions["Swap Msr/Mlog-tb"]->setIcon(QIcon(":/icons/musrswap-dark.svg")); - fActions["musrStep"]->setIcon(QIcon(":/icons/musrStep-32x32-dark.svg")); - fActions["musrStep-tb"]->setIcon(QIcon(":/icons/musrStep-32x32-dark.svg")); - fActions["msr2data"]->setIcon(QIcon(":/icons/msr2data-dark.svg")); - fActions["msr2data-tb"]->setIcon(QIcon(":/icons/msr2data-dark.svg")); - fActions["mupp"]->setIcon(QIcon(":/icons/mupp-dark.svg")); - fActions["mupp-tb"]->setIcon(QIcon(":/icons/mupp-dark.svg")); - fActions["musrview"]->setIcon(QIcon(":/icons/musrview-dark.svg")); - fActions["musrview-tb"]->setIcon(QIcon(":/icons/musrview-dark.svg")); - fActions["musrt0"]->setIcon(QIcon(":/icons/musrt0-dark.svg")); - fActions["musrt0-tb"]->setIcon(QIcon(":/icons/musrt0-dark.svg")); - fActions["musrFT"]->setIcon(QIcon(":/icons/musrFT-dark.svg")); - fActions["musrFT-tb"]->setIcon(QIcon(":/icons/musrFT-dark.svg")); - fActions["musrprefs"]->setIcon(QIcon(":/icons/musrprefs-dark.svg")); - fActions["musrprefs-tb"]->setIcon(QIcon(":/icons/musrprefs-dark.svg")); - fActions["musrdump"]->setIcon(QIcon(":/icons/musrdump-dark.svg")); - fActions["musrdump-tb"]->setIcon(QIcon(":/icons/musrdump-dark.svg")); + fActions["New"]->setIcon(QIcon(QPixmap(":/icons/document-new-dark.svg"))); + fActions["New-tb"]->setIcon(QIcon(QPixmap(":/icons/document-new-dark.svg"))); + fActions["Open"]->setIcon(QIcon(QPixmap(":/icons/document-open-dark.svg"))); + fActions["Open-tb"]->setIcon(QIcon(QPixmap(":/icons/document-open-dark.svg"))); + fActions["Reload"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-dark.svg"))); + fActions["Reload-tb"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-dark.svg"))); + fActions["Save"]->setIcon(QIcon(QPixmap(":/icons/document-save-dark.svg"))); + fActions["Save-tb"]->setIcon(QIcon(QPixmap(":/icons/document-save-dark.svg"))); + fActions["Print"]->setIcon(QIcon(QPixmap(":/icons/document-print-dark.svg"))); + fActions["Print-tb"]->setIcon(QIcon(QPixmap(":/icons/document-print-dark.svg"))); + fActions["Undo"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-dark.svg"))); + fActions["Undo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-dark.svg"))); + fActions["Redo"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-dark.svg"))); + fActions["Redo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-dark.svg"))); + fActions["Copy"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-dark.svg"))); + fActions["Copy-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-dark.svg"))); + fActions["Cut"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-dark.svg"))); + fActions["Cut-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-dark.svg"))); + fActions["Paste"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-dark.svg"))); + fActions["Paste-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-dark.svg"))); + fActions["Find"]->setIcon(QIcon(QPixmap(":/icons/edit-find-dark.svg"))); + fActions["Find-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-find-dark.svg"))); + fActions["Find Next"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-dark.svg"))); + fActions["Find Next-tb"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-dark.svg"))); + fActions["Find Previous"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-dark.svg"))); + fActions["Find Previous-tb"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-dark.svg"))); + fActions["musrWiz"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32-dark.svg"))); + fActions["musrWiz-tb"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32-dark.svg"))); + fActions["calcChisq"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-dark.svg"))); + fActions["calcChisq-tb"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-dark.svg"))); + fActions["musrfit"]->setIcon(QIcon(QPixmap(":/icons/musrfit-dark.svg"))); + fActions["musrfit-tb"]->setIcon(QIcon(QPixmap(":/icons/musrfit-dark.svg"))); + fActions["Swap Msr/Mlog"]->setIcon(QIcon(QPixmap(":/icons/musrswap-dark.svg"))); + fActions["Swap Msr/Mlog-tb"]->setIcon(QIcon(QPixmap(":/icons/musrswap-dark.svg"))); + fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg"))); + fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg"))); + fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg"))); + fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg"))); + fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg"))); + fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg"))); + fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg"))); + fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg"))); + fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg"))); + fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg"))); + fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg"))); + fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg"))); + fActions["musrprefs"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-dark.svg"))); + fActions["musrprefs-tb"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-dark.svg"))); + fActions["musrdump"]->setIcon(QIcon(QPixmap(":/icons/musrdump-dark.svg"))); + fActions["musrdump-tb"]->setIcon(QIcon(QPixmap(":/icons/musrdump-dark.svg"))); } else { // plain theme icons - fActions["New"]->setIcon(QIcon(":/icons/document-new-plain.svg")); - fActions["New-tb"]->setIcon(QIcon(":/icons/document-new-plain.svg")); - fActions["Open"]->setIcon(QIcon(":/icons/document-open-plain.svg")); - fActions["Open-tb"]->setIcon(QIcon(":/icons/document-open-plain.svg")); - fActions["Reload"]->setIcon(QIcon(":/icons/view-refresh-plain.svg")); - fActions["Reload-tb"]->setIcon(QIcon(":/icons/view-refresh-plain.svg")); - fActions["Save"]->setIcon(QIcon(":/icons/document-save-plain.svg")); - fActions["Save-tb"]->setIcon(QIcon(":/icons/document-save-plain.svg")); - fActions["Print"]->setIcon(QIcon(":/icons/document-print-plain.svg")); - fActions["Print-tb"]->setIcon(QIcon(":/icons/document-print-plain.svg")); - fActions["Undo"]->setIcon(QIcon(":/icons/edit-undo-plain.svg")); - fActions["Undo-tb"]->setIcon(QIcon(":/icons/edit-undo-plain.svg")); - fActions["Redo"]->setIcon(QIcon(":/icons/edit-redo-plain.svg")); - fActions["Redo-tb"]->setIcon(QIcon(":/icons/edit-redo-plain.svg")); - fActions["Copy"]->setIcon(QIcon(":/icons/edit-copy-plain.svg")); - fActions["Copy-tb"]->setIcon(QIcon(":/icons/edit-copy-plain.svg")); - fActions["Cut"]->setIcon(QIcon(":/icons/edit-cut-plain.svg")); - fActions["Cut-tb"]->setIcon(QIcon(":/icons/edit-cut-plain.svg")); - fActions["Paste"]->setIcon(QIcon(":/icons/edit-paste-plain.svg")); - fActions["Paste-tb"]->setIcon(QIcon(":/icons/edit-paste-plain.svg")); - fActions["Find"]->setIcon(QIcon(":/icons/edit-find-plain.svg")); - fActions["Find-tb"]->setIcon(QIcon(":/icons/edit-find-plain.svg")); - fActions["Find Next"]->setIcon(QIcon(":/icons/go-next-use-plain.svg")); - fActions["Find Next-tb"]->setIcon(QIcon(":/icons/go-next-use-plain.svg")); - fActions["Find Previous"]->setIcon(QIcon(":/icons/go-previous-use-plain.svg")); - fActions["Find Previous-tb"]->setIcon(QIcon(":/icons/go-previous-use-plain.svg")); - fActions["musrWiz"]->setIcon(QIcon(":/icons/musrWiz-32x32.svg")); - fActions["musrWiz-tb"]->setIcon(QIcon(":/icons/musrWiz-32x32.svg")); - fActions["calcChisq"]->setIcon(QIcon(":/icons/musrchisq-plain.svg")); - fActions["calcChisq-tb"]->setIcon(QIcon(":/icons/musrchisq-plain.svg")); - fActions["musrfit"]->setIcon(QIcon(":/icons/musrfit-plain.svg")); - fActions["musrfit-tb"]->setIcon(QIcon(":/icons/musrfit-plain.svg")); - fActions["Swap Msr/Mlog"]->setIcon(QIcon(":/icons/musrswap-plain.svg")); - fActions["Swap Msr/Mlog-tb"]->setIcon(QIcon(":/icons/musrswap-plain.svg")); - fActions["musrStep"]->setIcon(QIcon(":/icons/musrStep-32x32.svg")); - fActions["musrStep-tb"]->setIcon(QIcon(":/icons/musrStep-32x32.svg")); - fActions["msr2data"]->setIcon(QIcon(":/icons/msr2data-plain.svg")); - fActions["msr2data-tb"]->setIcon(QIcon(":/icons/msr2data-plain.svg")); - fActions["mupp"]->setIcon(QIcon(":/icons/mupp-plain.svg")); - fActions["mupp-tb"]->setIcon(QIcon(":/icons/mupp-plain.svg")); - fActions["musrview"]->setIcon(QIcon(":/icons/musrview-plain.svg")); - fActions["musrview-tb"]->setIcon(QIcon(":/icons/musrview-plain.svg")); - fActions["musrt0"]->setIcon(QIcon(":/icons/musrt0-plain.svg")); - fActions["musrt0-tb"]->setIcon(QIcon(":/icons/musrt0-plain.svg")); - fActions["musrFT"]->setIcon(QIcon(":/icons/musrFT-plain.svg")); - fActions["musrFT-tb"]->setIcon(QIcon(":/icons/musrFT-plain.svg")); - fActions["musrprefs"]->setIcon(QIcon(":/icons/musrprefs-plain.svg")); - fActions["musrprefs-tb"]->setIcon(QIcon(":/icons/musrprefs-plain.svg")); - fActions["musrdump"]->setIcon(QIcon(":/icons/musrdump-plain.svg")); - fActions["musrdump-tb"]->setIcon(QIcon(":/icons/musrdump-plain.svg")); + fActions["New"]->setIcon(QIcon(QPixmap(":/icons/document-new-plain.svg"))); + fActions["New-tb"]->setIcon(QIcon(QPixmap(":/icons/document-new-plain.svg"))); + fActions["Open"]->setIcon(QIcon(QPixmap(":/icons/document-open-plain.svg"))); + fActions["Open-tb"]->setIcon(QIcon(QPixmap(":/icons/document-open-plain.svg"))); + fActions["Reload"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-plain.svg"))); + fActions["Reload-tb"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-plain.svg"))); + fActions["Save"]->setIcon(QIcon(QPixmap(":/icons/document-save-plain.svg"))); + fActions["Save-tb"]->setIcon(QIcon(QPixmap(":/icons/document-save-plain.svg"))); + fActions["Print"]->setIcon(QIcon(QPixmap(":/icons/document-print-plain.svg"))); + fActions["Print-tb"]->setIcon(QIcon(QPixmap(":/icons/document-print-plain.svg"))); + fActions["Undo"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-plain.svg"))); + fActions["Undo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-plain.svg"))); + fActions["Redo"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-plain.svg"))); + fActions["Redo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-plain.svg"))); + fActions["Copy"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-plain.svg"))); + fActions["Copy-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-plain.svg"))); + fActions["Cut"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-plain.svg"))); + fActions["Cut-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-plain.svg"))); + fActions["Paste"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-plain.svg"))); + fActions["Paste-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-plain.svg"))); + fActions["Find"]->setIcon(QIcon(QPixmap(":/icons/edit-find-plain.svg"))); + fActions["Find-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-find-plain.svg"))); + fActions["Find Next"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-plain.svg"))); + fActions["Find Next-tb"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-plain.svg"))); + fActions["Find Previous"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-plain.svg"))); + fActions["Find Previous-tb"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-plain.svg"))); + fActions["musrWiz"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32.svg"))); + fActions["musrWiz-tb"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32.svg"))); + fActions["calcChisq"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-plain.svg"))); + fActions["calcChisq-tb"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-plain.svg"))); + fActions["musrfit"]->setIcon(QIcon(QPixmap(":/icons/musrfit-plain.svg"))); + fActions["musrfit-tb"]->setIcon(QIcon(QPixmap(":/icons/musrfit-plain.svg"))); + fActions["Swap Msr/Mlog"]->setIcon(QIcon(QPixmap(":/icons/musrswap-plain.svg"))); + fActions["Swap Msr/Mlog-tb"]->setIcon(QIcon(QPixmap(":/icons/musrswap-plain.svg"))); + fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg"))); + fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg"))); + fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg"))); + fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg"))); + fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg"))); + fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg"))); + fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg"))); + fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg"))); + fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg"))); + fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg"))); + fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg"))); + fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg"))); + fActions["musrprefs"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-plain.svg"))); + fActions["musrprefs-tb"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-plain.svg"))); + fActions["musrdump"]->setIcon(QIcon(QPixmap(":/icons/musrdump-plain.svg"))); + fActions["musrdump-tb"]->setIcon(QIcon(QPixmap(":/icons/musrdump-plain.svg"))); } } From 20153c6ffcbe1449db5d73f7f3f92f5ea85181b7 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Wed, 1 May 2019 09:01:27 +0200 Subject: [PATCH 3/7] more work for dark theme under macOS. --- src/musredit_qt5/musredit/PAdmin.cpp | 15 +++++++++++++++ src/musredit_qt5/musredit/PAdmin.h | 2 +- src/musredit_qt5/musredit/PTextEdit.cpp | 21 ++++++++++++++------- src/musredit_qt5/musredit/PTextEdit.h | 2 +- 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/musredit_qt5/musredit/PAdmin.cpp b/src/musredit_qt5/musredit/PAdmin.cpp index 1f53aa6b..308fcf74 100644 --- a/src/musredit_qt5/musredit/PAdmin.cpp +++ b/src/musredit_qt5/musredit/PAdmin.cpp @@ -94,6 +94,8 @@ bool PAdminXMLParser::startElement( const QString&, const QString&, fKeyWord = eMusrviewShowAvg; } else if (qName == "enable_musrt0") { fKeyWord = eEnableMusrT0; + } else if (qName == "dark_theme_icons") { + fKeyWord = eDarkThemeIcons; } else if (qName == "keep_minuit2_output") { fKeyWord = eKeepMinuit2Output; } else if (qName == "dump_ascii") { @@ -268,6 +270,13 @@ bool PAdminXMLParser::characters(const QString& str) flag = false; fAdmin->setEnableMusrT0Flag(flag); break; + case eDarkThemeIcons: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->setDarkThemeIconsFlag(flag); + break; case eKeepMinuit2Output: if (str == "y") flag = true; @@ -867,6 +876,12 @@ int PAdmin::savePrefs(QString pref_fln) else data[i] = " n"; } + if (data[i].contains("") && data[i].contains("")) { + if (fDarkThemeIcons) + data[i] = " y"; + else + data[i] = " n"; + } if (data[i].contains("") && data[i].contains("")) { data[i] = QString(" %1").arg(fFontName); } diff --git a/src/musredit_qt5/musredit/PAdmin.h b/src/musredit_qt5/musredit/PAdmin.h index 1de8330b..c0ca954f 100644 --- a/src/musredit_qt5/musredit/PAdmin.h +++ b/src/musredit_qt5/musredit/PAdmin.h @@ -70,7 +70,7 @@ class PAdminXMLParser : public QXmlDefaultHandler private: enum EAdminKeyWords {eEmpty, eTimeout, eKeepMinuit2Output, eDumpAscii, eDumpRoot, eTitleFromDataFile, eChisqPreRunBlock, eEstimateN0, - eMusrviewShowFourier, eMusrviewShowAvg, eEnableMusrT0, + eMusrviewShowFourier, eMusrviewShowAvg, eEnableMusrT0, eDarkThemeIcons, eFontName, eFontSize, eExecPath, eDefaultSavePath, eRecentFile, eBeamline, eInstitute, eFileFormat, eLifetimeCorrection, eTheoFuncPixmapPath, eFunc, eFuncName, eFuncComment, eFuncLabel, diff --git a/src/musredit_qt5/musredit/PTextEdit.cpp b/src/musredit_qt5/musredit/PTextEdit.cpp index e4db610c..52e056e1 100644 --- a/src/musredit_qt5/musredit/PTextEdit.cpp +++ b/src/musredit_qt5/musredit/PTextEdit.cpp @@ -85,13 +85,19 @@ PTextEdit::PTextEdit( QWidget *parent, Qt::WindowFlags f ) : QMainWindow( parent, f ) { - getTheme(); + bool gotTheme = getTheme(); // reads and manages the conents of the xml-startup (musredit_startup.xml) file fAdmin = new PAdmin(); - // set default setting of the fDarkThemeIcons - fAdmin->setDarkThemeIconsFlag(fDarkToolBarIcon); + // set default setting of the fDarkThemeIcons only if a theme has been recognized, otherwise take the + // one from the xml startup file. + if (gotTheme) { + fAdmin->setDarkThemeIconsFlag(fDarkToolBarIcon); + } else { + fDarkTheme = fAdmin->getDarkThemeIconsFlag(); + fDarkToolBarIcon = fAdmin->getDarkThemeIconsFlag(); + } // enable file system watcher. Needed to get notification if the msr-file is changed outside of musrfit at runtime fFileSystemWatcherActive = true; @@ -3238,23 +3244,22 @@ void PTextEdit::setFileSystemWatcherActive() /** * @brief PTextEdit::getTheme */ -void PTextEdit::getTheme() +bool PTextEdit::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! 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 str = QProcessEnvironment::systemEnvironment().value("HOME", QString("??")); str += "/.kde4/share/config/kdeglobals"; + bool done = false; if (QFile::exists(str)) { QFile fln(str); fln.open(QIODevice::ReadOnly | QIODevice::Text); QTextStream fin(&fln); QString line(""); - bool done = false; while (!fin.atEnd() && !done) { line = fin.readLine(); if (line.contains("ColorScheme")) { @@ -3267,7 +3272,7 @@ void PTextEdit::getTheme() } fln.close(); } - return; + return done; } if (str.contains("dark", Qt::CaseInsensitive)) { @@ -3281,6 +3286,8 @@ void PTextEdit::getTheme() fDarkToolBarIcon = true; } } + + return true; } //---------------------------------------------------------------------------------------------------- diff --git a/src/musredit_qt5/musredit/PTextEdit.h b/src/musredit_qt5/musredit/PTextEdit.h index 38ad7385..8121b048 100644 --- a/src/musredit_qt5/musredit/PTextEdit.h +++ b/src/musredit_qt5/musredit/PTextEdit.h @@ -187,7 +187,7 @@ private: QMenu *fRecentFilesMenu; ///< recent file menu QAction *fRecentFilesAction[MAX_RECENT_FILES]; ///< array of the recent file actions - void getTheme(); + bool getTheme(); void fillRecentFiles(); QStringList getRunList(QString runListStr, bool &ok); bool fileAlreadyOpen(QFileInfo &finfo, int &idx); From 1ef1e6f42e20c56bdf926511e2785d8c8523bb9a Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Wed, 1 May 2019 10:57:50 +0200 Subject: [PATCH 4/7] updated default musredit_startup.xml file info. --- src/musredit_qt5/musredit/musredit_startup.xml.in | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/musredit_qt5/musredit/musredit_startup.xml.in b/src/musredit_qt5/musredit/musredit_startup.xml.in index 0742bd53..0e786603 100644 --- a/src/musredit_qt5/musredit/musredit_startup.xml.in +++ b/src/musredit_qt5/musredit/musredit_startup.xml.in @@ -17,6 +17,7 @@ n n y + n @DOCDIR@/examples/test-histo-PSI-BIN.msr @@ -248,13 +249,13 @@ polynom.png 4 - + userFcn 0 - + From 3256dde54e33bbbdf4c36d9b56e448eba87c8d27 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Thu, 2 May 2019 10:44:04 +0200 Subject: [PATCH 5/7] More flexible dark scheme handling It works now as follows: 1) try to get theme information from the system, and if present us it. 2) if no theme information of the system is present, take the one from the musredit_startup.xml. Now it is possible to switch the icon theme for the menu and toolbar separately. --- src/musredit_qt5/musredit/PAdmin.cpp | 31 ++- src/musredit_qt5/musredit/PAdmin.h | 12 +- src/musredit_qt5/musredit/PPrefsDialog.cpp | 12 +- src/musredit_qt5/musredit/PPrefsDialog.h | 5 +- src/musredit_qt5/musredit/PTextEdit.cpp | 203 ++++++++++-------- src/musredit_qt5/musredit/PTextEdit.h | 7 +- .../musredit/forms/PPrefsDialog.ui | 37 ++-- .../musredit/musredit_startup.xml.in | 3 +- 8 files changed, 183 insertions(+), 127 deletions(-) diff --git a/src/musredit_qt5/musredit/PAdmin.cpp b/src/musredit_qt5/musredit/PAdmin.cpp index 308fcf74..5020e8ee 100644 --- a/src/musredit_qt5/musredit/PAdmin.cpp +++ b/src/musredit_qt5/musredit/PAdmin.cpp @@ -94,8 +94,10 @@ bool PAdminXMLParser::startElement( const QString&, const QString&, fKeyWord = eMusrviewShowAvg; } else if (qName == "enable_musrt0") { fKeyWord = eEnableMusrT0; - } else if (qName == "dark_theme_icons") { - fKeyWord = eDarkThemeIcons; + } else if (qName == "dark_theme_icons_menu") { + fKeyWord = eDarkThemeIconsMenu; + } else if (qName == "dark_theme_icons_toolbar") { + fKeyWord = eDarkThemeIconsToolbar; } else if (qName == "keep_minuit2_output") { fKeyWord = eKeepMinuit2Output; } else if (qName == "dump_ascii") { @@ -270,12 +272,19 @@ bool PAdminXMLParser::characters(const QString& str) flag = false; fAdmin->setEnableMusrT0Flag(flag); break; - case eDarkThemeIcons: + case eDarkThemeIconsMenu: if (str == "y") flag = true; else flag = false; - fAdmin->setDarkThemeIconsFlag(flag); + fAdmin->setDarkThemeIconsMenuFlag(flag); + break; + case eDarkThemeIconsToolbar: + if (str == "y") + flag = true; + else + flag = false; + fAdmin->setDarkThemeIconsToolbarFlag(flag); break; case eKeepMinuit2Output: if (str == "y") @@ -876,11 +885,17 @@ int PAdmin::savePrefs(QString pref_fln) else data[i] = " n"; } - if (data[i].contains("") && data[i].contains("")) { - if (fDarkThemeIcons) - data[i] = " y"; + if (data[i].contains("") && data[i].contains("")) { + if (fDarkThemeIconsMenu) + data[i] = " y"; else - data[i] = " n"; + data[i] = " n"; + } + if (data[i].contains("") && data[i].contains("")) { + if (fDarkThemeIconsToolbar) + data[i] = " y"; + else + data[i] = " n"; } if (data[i].contains("") && data[i].contains("")) { data[i] = QString(" %1").arg(fFontName); diff --git a/src/musredit_qt5/musredit/PAdmin.h b/src/musredit_qt5/musredit/PAdmin.h index c0ca954f..46b0d8fe 100644 --- a/src/musredit_qt5/musredit/PAdmin.h +++ b/src/musredit_qt5/musredit/PAdmin.h @@ -70,7 +70,8 @@ class PAdminXMLParser : public QXmlDefaultHandler private: enum EAdminKeyWords {eEmpty, eTimeout, eKeepMinuit2Output, eDumpAscii, eDumpRoot, eTitleFromDataFile, eChisqPreRunBlock, eEstimateN0, - eMusrviewShowFourier, eMusrviewShowAvg, eEnableMusrT0, eDarkThemeIcons, + eMusrviewShowFourier, eMusrviewShowAvg, eEnableMusrT0, + eDarkThemeIconsMenu, eDarkThemeIconsToolbar, eFontName, eFontSize, eExecPath, eDefaultSavePath, eRecentFile, eBeamline, eInstitute, eFileFormat, eLifetimeCorrection, eTheoFuncPixmapPath, eFunc, eFuncName, eFuncComment, eFuncLabel, @@ -127,7 +128,8 @@ class PAdmin : public QObject bool getDumpRootFlag() { return fDumpRoot; } bool getEstimateN0Flag() { return fEstimateN0; } bool getChisqPerRunBlockFlag() { return fChisqPreRunBlock; } - bool getDarkThemeIconsFlag() { return fDarkThemeIcons; } + bool getDarkThemeIconsMenuFlag() { return fDarkThemeIconsMenu; } + bool getDarkThemeIconsToolbarFlag() { return fDarkThemeIconsToolbar; } QString getBeamline() { return fBeamline; } QString getInstitute() { return fInstitute; } QString getFileFormat() { return fFileFormat; } @@ -151,7 +153,8 @@ class PAdmin : public QObject void setDumpRootFlag(const bool flag) { fDumpRoot = flag; } void setEstimateN0Flag(const bool flag) { fEstimateN0 = 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 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 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 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 fInstitute; ///< name of the institute. Used to generate default run header lines. diff --git a/src/musredit_qt5/musredit/PPrefsDialog.cpp b/src/musredit_qt5/musredit/PPrefsDialog.cpp index 31cf765b..4240788e 100644 --- a/src/musredit_qt5/musredit/PPrefsDialog.cpp +++ b/src/musredit_qt5/musredit/PPrefsDialog.cpp @@ -45,10 +45,16 @@ PPrefsDialog::PPrefsDialog(PAdmin *admin) : fAdmin(admin) setModal(true); - if (fAdmin->getDarkThemeIconsFlag()) { - fDarkThemeIcons_checkBox->setCheckState(Qt::Checked); + if (fAdmin->getDarkThemeIconsMenuFlag()) { + fDarkThemeIconsMenu_checkBox->setCheckState(Qt::Checked); } 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()); diff --git a/src/musredit_qt5/musredit/PPrefsDialog.h b/src/musredit_qt5/musredit/PPrefsDialog.h index 6878048f..8e8d51a4 100644 --- a/src/musredit_qt5/musredit/PPrefsDialog.h +++ b/src/musredit_qt5/musredit/PPrefsDialog.h @@ -53,8 +53,9 @@ class PPrefsDialog : public QDialog, private Ui::PPrefsDialog bool getEnableMusrT0Flag() { return fEnableMusrT0_checkBox->isChecked(); } bool getKeepRunPerBlockChisqFlag() { return fPerRunBlockChisq_checkBox->isChecked(); } bool getEstimateN0Flag() { return fEstimateN0_checkBox->isChecked(); } - bool getDarkThemeIconsFlag() { return fDarkThemeIcons_checkBox->isChecked(); } - int getDump(); + bool getDarkThemeIconsMenuFlag() { return fDarkThemeIconsMenu_checkBox->isChecked(); } + bool getDarkThemeIconsToolbarFlag() { return fDarkThemeIconsToolbar_checkBox->isChecked(); } + int getDump(); int getTimeout() { return fTimeout_lineEdit->text().toInt(); } public slots: diff --git a/src/musredit_qt5/musredit/PTextEdit.cpp b/src/musredit_qt5/musredit/PTextEdit.cpp index 52e056e1..074e30e1 100644 --- a/src/musredit_qt5/musredit/PTextEdit.cpp +++ b/src/musredit_qt5/musredit/PTextEdit.cpp @@ -90,13 +90,14 @@ PTextEdit::PTextEdit( QWidget *parent, Qt::WindowFlags f ) // reads and manages the conents of the xml-startup (musredit_startup.xml) file fAdmin = new PAdmin(); - // set default setting of the fDarkThemeIcons only if a theme has been recognized, otherwise take the + // set default setting of the fDarkMenuIconIcons only if a theme has been recognized, otherwise take the // one from the xml startup file. if (gotTheme) { - fAdmin->setDarkThemeIconsFlag(fDarkToolBarIcon); + fAdmin->setDarkThemeIconsMenuFlag(fDarkMenuIcon); + fAdmin->setDarkThemeIconsToolbarFlag(fDarkToolBarIcon); } else { - fDarkTheme = fAdmin->getDarkThemeIconsFlag(); - fDarkToolBarIcon = fAdmin->getDarkThemeIconsFlag(); + 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 @@ -130,7 +131,7 @@ PTextEdit::PTextEdit( QWidget *parent, Qt::WindowFlags f ) fFontChanging = false; QString iconName(""); - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/musrfit-dark.svg"); else iconName = QString(":/icons/musrfit-plain.svg"); @@ -191,7 +192,7 @@ void PTextEdit::setupFileActions() QString iconName(""); // New - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/document-new-dark.svg"); else iconName = QString(":/icons/document-new-plain.svg"); @@ -211,7 +212,7 @@ void PTextEdit::setupFileActions() fActions["New-tb"] = a; // Open - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/document-open-dark.svg"); else iconName = QString(":/icons/document-open-plain.svg"); @@ -241,7 +242,7 @@ void PTextEdit::setupFileActions() fillRecentFiles(); // Reload - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/view-refresh-dark.svg"); else iconName = QString(":/icons/view-refresh-plain.svg"); @@ -267,7 +268,7 @@ void PTextEdit::setupFileActions() menu->addSeparator(); // Save - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/document-save-dark.svg"); else iconName = QString(":/icons/document-save-plain.svg"); @@ -300,7 +301,7 @@ void PTextEdit::setupFileActions() menu->addSeparator(); // Print - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/document-print-dark.svg"); else iconName = QString(":/icons/document-print-plain.svg"); @@ -367,7 +368,7 @@ void PTextEdit::setupEditActions() QString iconName(""); // Undo - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/edit-undo-dark.svg"); else iconName = QString(":/icons/edit-undo-plain.svg"); @@ -387,7 +388,7 @@ void PTextEdit::setupEditActions() fActions["Undo-tb"] = a; // Redo - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/edit-redo-dark.svg"); else iconName = QString(":/icons/edit-redo-plain.svg"); @@ -419,7 +420,7 @@ void PTextEdit::setupEditActions() tb->addSeparator(); // Copy - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/edit-copy-dark.svg"); else iconName = QString(":/icons/edit-copy-plain.svg"); @@ -439,7 +440,7 @@ void PTextEdit::setupEditActions() fActions["Copy-tb"] = a; // Cut - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/edit-cut-dark.svg"); else iconName = QString(":/icons/edit-cut-plain.svg"); @@ -459,7 +460,7 @@ void PTextEdit::setupEditActions() fActions["Cut-tb"] = a; // Paste - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/edit-paste-dark.svg"); else iconName = QString(":/icons/edit-paste-plain.svg"); @@ -482,7 +483,7 @@ void PTextEdit::setupEditActions() tb->addSeparator(); // Find - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/edit-find-dark.svg"); else iconName = QString(":/icons/edit-find-plain.svg"); @@ -502,7 +503,7 @@ void PTextEdit::setupEditActions() fActions["Find-tb"] = a; // Find Next - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/go-next-use-dark.svg"); else iconName = QString(":/icons/go-next-use-plain.svg"); @@ -522,7 +523,7 @@ void PTextEdit::setupEditActions() fActions["Find Next-tb"] = a; // Find Previous - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/go-previous-use-dark.svg"); else iconName = QString(":/icons/go-previous-use-plain.svg"); @@ -690,7 +691,7 @@ void PTextEdit::setupMusrActions() QString iconName(""); // musrWiz - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/musrWiz-32x32-dark.svg"); else iconName = QString(":/icons/musrWiz-32x32.svg"); @@ -713,7 +714,7 @@ void PTextEdit::setupMusrActions() tb->addSeparator(); // Calculate Chisq - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/musrchisq-dark.svg"); else iconName = QString(":/icons/musrchisq-plain.svg"); @@ -733,7 +734,7 @@ void PTextEdit::setupMusrActions() fActions["calcChisq-tb"] = a; // musrfit - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/musrfit-dark.svg"); else iconName = QString(":/icons/musrfit-plain.svg"); @@ -753,7 +754,7 @@ void PTextEdit::setupMusrActions() fActions["musrfit-tb"] = a; // Swap Msr/Mlog - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/musrswap-dark.svg"); else iconName = QString(":/icons/musrswap-plain.svg"); @@ -773,7 +774,7 @@ void PTextEdit::setupMusrActions() fActions["Swap Msr/Mlog-tb"] = a; // musrStep - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/musrStep-32x32-dark.svg"); else iconName = QString(":/icons/musrStep-32x32.svg"); @@ -793,7 +794,7 @@ void PTextEdit::setupMusrActions() fActions["musrStep-tb"] = a; // msr2data - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/msr2data-dark.svg"); else iconName = QString(":/icons/msr2data-plain.svg"); @@ -813,7 +814,7 @@ void PTextEdit::setupMusrActions() fActions["msr2data-tb"] = a; // mupp - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/mupp-dark.svg"); else iconName = QString(":/icons/mupp-plain.svg"); @@ -836,7 +837,7 @@ void PTextEdit::setupMusrActions() tb->addSeparator(); // musrview - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/musrview-dark.svg"); else iconName = QString(":/icons/musrview-plain.svg"); @@ -856,7 +857,7 @@ void PTextEdit::setupMusrActions() fActions["musrview-tb"] = a; // musrt0 - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/musrt0-dark.svg"); else iconName = QString(":/icons/musrt0-plain.svg"); @@ -875,7 +876,7 @@ void PTextEdit::setupMusrActions() fActions["musrt0-tb"] = fMusrT0Action; // musrFT - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/musrFT-dark.svg"); else iconName = QString(":/icons/musrFT-plain.svg"); @@ -894,7 +895,7 @@ void PTextEdit::setupMusrActions() fActions["musrFT-tb"] = a; // musrprefs - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/musrprefs-dark.svg"); else iconName = QString(":/icons/musrprefs-plain.svg"); @@ -916,7 +917,7 @@ void PTextEdit::setupMusrActions() tb->addSeparator(); // musrdump - if (fDarkTheme) + if (fDarkMenuIcon) iconName = QString(":/icons/musrdump-dark.svg"); else iconName = QString(":/icons/musrdump-plain.svg"); @@ -2670,7 +2671,8 @@ void PTextEdit::musrPrefs() } if (dlg->exec() == QDialog::Accepted) { - fAdmin->setDarkThemeIconsFlag(dlg->getDarkThemeIconsFlag()); + fAdmin->setDarkThemeIconsMenuFlag(dlg->getDarkThemeIconsMenuFlag()); + fAdmin->setDarkThemeIconsToolbarFlag(dlg->getDarkThemeIconsToolbarFlag()); fAdmin->setMusrviewShowFourierFlag(dlg->getMusrviewShowFourierFlag()); fAdmin->setMusrviewShowAvgFlag(dlg->getMusrviewShowAvgFlag()); fAdmin->setKeepMinuit2OutputFlag(dlg->getKeepMinuit2OutputFlag()); @@ -2695,11 +2697,15 @@ void PTextEdit::musrPrefs() delete dlg; dlg = nullptr; - // check if the dark theme icons flag has changed - if (fAdmin->getDarkThemeIconsFlag() != fDarkToolBarIcon) { - fDarkTheme = !fDarkTheme; + // check if the dark theme menu icons flag has changed + if (fAdmin->getDarkThemeIconsMenuFlag() != fDarkMenuIcon) { + fDarkMenuIcon = !fDarkMenuIcon; + switchMenuIcons(); + } + // check if the dark theme toolbar icons flag has changed + if (fAdmin->getDarkThemeIconsToolbarFlag() != fDarkToolBarIcon) { fDarkToolBarIcon = !fDarkToolBarIcon; - switchIcons(); + switchToolbarIcons(); } } @@ -2933,7 +2939,7 @@ void PTextEdit::mupp() */ void PTextEdit::helpContents() { - PHelp *help = new PHelp(fAdmin->getHelpUrl("main"), fDarkTheme); + PHelp *help = new PHelp(fAdmin->getHelpUrl("main"), fDarkMenuIcon); help->show(); } @@ -3246,7 +3252,7 @@ void PTextEdit::setFileSystemWatcherActive() */ 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! QString str = QIcon::themeName(); @@ -3264,7 +3270,7 @@ bool PTextEdit::getTheme() line = fin.readLine(); if (line.contains("ColorScheme")) { if (line.contains("dark", Qt::CaseInsensitive)) { - fDarkTheme = true; + fDarkMenuIcon = true; fDarkToolBarIcon = true; } done = true; @@ -3276,11 +3282,11 @@ bool PTextEdit::getTheme() } if (str.contains("dark", Qt::CaseInsensitive)) { - fDarkTheme = true; + fDarkMenuIcon = true; if (str.contains("ubuntu", Qt::CaseInsensitive)) { - fDarkToolBarIcon = false; + fDarkToolBarIcon = true; } else if (str.contains("xfce", Qt::CaseInsensitive)) { - fDarkTheme = false; + fDarkMenuIcon = false; fDarkToolBarIcon = false; } else { fDarkToolBarIcon = true; @@ -3382,111 +3388,122 @@ bool PTextEdit::fileAlreadyOpen(QFileInfo &finfo, int &idx) //---------------------------------------------------------------------------------------------------- /** - *

Switch icons according to the fAdmin settings + *

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(QPixmap(":/icons/document-new-dark.svg"))); - fActions["New-tb"]->setIcon(QIcon(QPixmap(":/icons/document-new-dark.svg"))); fActions["Open"]->setIcon(QIcon(QPixmap(":/icons/document-open-dark.svg"))); - fActions["Open-tb"]->setIcon(QIcon(QPixmap(":/icons/document-open-dark.svg"))); fActions["Reload"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-dark.svg"))); - fActions["Reload-tb"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-dark.svg"))); fActions["Save"]->setIcon(QIcon(QPixmap(":/icons/document-save-dark.svg"))); - fActions["Save-tb"]->setIcon(QIcon(QPixmap(":/icons/document-save-dark.svg"))); fActions["Print"]->setIcon(QIcon(QPixmap(":/icons/document-print-dark.svg"))); - fActions["Print-tb"]->setIcon(QIcon(QPixmap(":/icons/document-print-dark.svg"))); fActions["Undo"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-dark.svg"))); - fActions["Undo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-dark.svg"))); fActions["Redo"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-dark.svg"))); - fActions["Redo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-dark.svg"))); fActions["Copy"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-dark.svg"))); - fActions["Copy-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-dark.svg"))); fActions["Cut"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-dark.svg"))); - fActions["Cut-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-dark.svg"))); fActions["Paste"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-dark.svg"))); - fActions["Paste-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-dark.svg"))); fActions["Find"]->setIcon(QIcon(QPixmap(":/icons/edit-find-dark.svg"))); - fActions["Find-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-find-dark.svg"))); fActions["Find Next"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-dark.svg"))); - fActions["Find Next-tb"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-dark.svg"))); fActions["Find Previous"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-dark.svg"))); - fActions["Find Previous-tb"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-dark.svg"))); fActions["musrWiz"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32-dark.svg"))); - fActions["musrWiz-tb"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32-dark.svg"))); fActions["calcChisq"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-dark.svg"))); - fActions["calcChisq-tb"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-dark.svg"))); fActions["musrfit"]->setIcon(QIcon(QPixmap(":/icons/musrfit-dark.svg"))); - fActions["musrfit-tb"]->setIcon(QIcon(QPixmap(":/icons/musrfit-dark.svg"))); fActions["Swap Msr/Mlog"]->setIcon(QIcon(QPixmap(":/icons/musrswap-dark.svg"))); - fActions["Swap Msr/Mlog-tb"]->setIcon(QIcon(QPixmap(":/icons/musrswap-dark.svg"))); fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg"))); - fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg"))); fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg"))); - fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg"))); fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg"))); - fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg"))); fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg"))); - fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg"))); fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg"))); - fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg"))); fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg"))); - fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg"))); fActions["musrprefs"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-dark.svg"))); - fActions["musrprefs-tb"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-dark.svg"))); fActions["musrdump"]->setIcon(QIcon(QPixmap(":/icons/musrdump-dark.svg"))); - fActions["musrdump-tb"]->setIcon(QIcon(QPixmap(":/icons/musrdump-dark.svg"))); } else { // plain theme icons fActions["New"]->setIcon(QIcon(QPixmap(":/icons/document-new-plain.svg"))); - fActions["New-tb"]->setIcon(QIcon(QPixmap(":/icons/document-new-plain.svg"))); fActions["Open"]->setIcon(QIcon(QPixmap(":/icons/document-open-plain.svg"))); - fActions["Open-tb"]->setIcon(QIcon(QPixmap(":/icons/document-open-plain.svg"))); fActions["Reload"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-plain.svg"))); - fActions["Reload-tb"]->setIcon(QIcon(QPixmap(":/icons/view-refresh-plain.svg"))); fActions["Save"]->setIcon(QIcon(QPixmap(":/icons/document-save-plain.svg"))); - fActions["Save-tb"]->setIcon(QIcon(QPixmap(":/icons/document-save-plain.svg"))); fActions["Print"]->setIcon(QIcon(QPixmap(":/icons/document-print-plain.svg"))); - fActions["Print-tb"]->setIcon(QIcon(QPixmap(":/icons/document-print-plain.svg"))); fActions["Undo"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-plain.svg"))); - fActions["Undo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-undo-plain.svg"))); fActions["Redo"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-plain.svg"))); - fActions["Redo-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-redo-plain.svg"))); fActions["Copy"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-plain.svg"))); - fActions["Copy-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-copy-plain.svg"))); fActions["Cut"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-plain.svg"))); - fActions["Cut-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-cut-plain.svg"))); fActions["Paste"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-plain.svg"))); - fActions["Paste-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-paste-plain.svg"))); fActions["Find"]->setIcon(QIcon(QPixmap(":/icons/edit-find-plain.svg"))); - fActions["Find-tb"]->setIcon(QIcon(QPixmap(":/icons/edit-find-plain.svg"))); fActions["Find Next"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-plain.svg"))); - fActions["Find Next-tb"]->setIcon(QIcon(QPixmap(":/icons/go-next-use-plain.svg"))); fActions["Find Previous"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-plain.svg"))); - fActions["Find Previous-tb"]->setIcon(QIcon(QPixmap(":/icons/go-previous-use-plain.svg"))); fActions["musrWiz"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32.svg"))); - fActions["musrWiz-tb"]->setIcon(QIcon(QPixmap(":/icons/musrWiz-32x32.svg"))); fActions["calcChisq"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-plain.svg"))); - fActions["calcChisq-tb"]->setIcon(QIcon(QPixmap(":/icons/musrchisq-plain.svg"))); fActions["musrfit"]->setIcon(QIcon(QPixmap(":/icons/musrfit-plain.svg"))); - fActions["musrfit-tb"]->setIcon(QIcon(QPixmap(":/icons/musrfit-plain.svg"))); fActions["Swap Msr/Mlog"]->setIcon(QIcon(QPixmap(":/icons/musrswap-plain.svg"))); - fActions["Swap Msr/Mlog-tb"]->setIcon(QIcon(QPixmap(":/icons/musrswap-plain.svg"))); fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg"))); - fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg"))); fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg"))); - fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg"))); fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg"))); - fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg"))); fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg"))); - fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg"))); fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg"))); - fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg"))); fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg"))); - fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg"))); fActions["musrprefs"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-plain.svg"))); - fActions["musrprefs-tb"]->setIcon(QIcon(QPixmap(":/icons/musrprefs-plain.svg"))); fActions["musrdump"]->setIcon(QIcon(QPixmap(":/icons/musrdump-plain.svg"))); + } +} + +//---------------------------------------------------------------------------------------------------- +/** + *

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"))); } } diff --git a/src/musredit_qt5/musredit/PTextEdit.h b/src/musredit_qt5/musredit/PTextEdit.h index 8121b048..3eee7eb0 100644 --- a/src/musredit_qt5/musredit/PTextEdit.h +++ b/src/musredit_qt5/musredit/PTextEdit.h @@ -162,8 +162,8 @@ private slots: void setFileSystemWatcherActive(); private: - bool fDarkTheme; - bool fDarkToolBarIcon; + bool fDarkMenuIcon; ///< flag indicating if a dark or plain icon shall be used in the menu pull-downs + 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. 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 @@ -192,7 +192,8 @@ private: QStringList getRunList(QString runListStr, bool &ok); bool fileAlreadyOpen(QFileInfo &finfo, int &idx); - void switchIcons(); + void switchMenuIcons(); + void switchToolbarIcons(); }; diff --git a/src/musredit_qt5/musredit/forms/PPrefsDialog.ui b/src/musredit_qt5/musredit/forms/PPrefsDialog.ui index b11483d8..1521e75a 100644 --- a/src/musredit_qt5/musredit/forms/PPrefsDialog.ui +++ b/src/musredit_qt5/musredit/forms/PPrefsDialog.ui @@ -10,7 +10,7 @@ 0 0 452 - 168 + 180 @@ -26,7 +26,7 @@ 0 5 451 - 161 + 171 @@ -43,7 +43,7 @@ 10 - 50 + 70 421 31 @@ -52,13 +52,13 @@ Change Default Search Paths - + - 11 - 11 - 421 - 33 + 12 + 10 + 415 + 52 @@ -86,11 +86,22 @@ - - - Dark Theme Icons - - + + + + + Dark Theme Icons Menu + + + + + + + Dark Theme Icons Toolbar + + + + diff --git a/src/musredit_qt5/musredit/musredit_startup.xml.in b/src/musredit_qt5/musredit/musredit_startup.xml.in index 0e786603..5c324d92 100644 --- a/src/musredit_qt5/musredit/musredit_startup.xml.in +++ b/src/musredit_qt5/musredit/musredit_startup.xml.in @@ -17,7 +17,8 @@ n n y - n + n + n @DOCDIR@/examples/test-histo-PSI-BIN.msr From f320230b304779fbef6ba085cae72c8f53f788a6 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Thu, 2 May 2019 11:02:06 +0200 Subject: [PATCH 6/7] make sure that the icon theme is properly loaded when the prefs are reloaded. --- src/musredit_qt5/musredit/PTextEdit.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/musredit_qt5/musredit/PTextEdit.cpp b/src/musredit_qt5/musredit/PTextEdit.cpp index 074e30e1..ee679c6a 100644 --- a/src/musredit_qt5/musredit/PTextEdit.cpp +++ b/src/musredit_qt5/musredit/PTextEdit.cpp @@ -1309,6 +1309,22 @@ void PTextEdit::fileOpenPrefs() msg = QString("Prefs from '") + fln + QString("' loaded."); 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(); + } } //---------------------------------------------------------------------------------------------------- From 2065904bec6a73a57fb7689025e731855e36d2bc Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Thu, 2 May 2019 15:04:55 +0200 Subject: [PATCH 7/7] some minor ubuntu tweak concerning themes. --- src/musredit_qt5/musredit/PTextEdit.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/musredit_qt5/musredit/PTextEdit.cpp b/src/musredit_qt5/musredit/PTextEdit.cpp index ee679c6a..3cc4fe37 100644 --- a/src/musredit_qt5/musredit/PTextEdit.cpp +++ b/src/musredit_qt5/musredit/PTextEdit.cpp @@ -3300,7 +3300,8 @@ bool PTextEdit::getTheme() if (str.contains("dark", Qt::CaseInsensitive)) { fDarkMenuIcon = true; if (str.contains("ubuntu", Qt::CaseInsensitive)) { - fDarkToolBarIcon = true; + fDarkMenuIcon = false; + fDarkToolBarIcon = false; } else if (str.contains("xfce", Qt::CaseInsensitive)) { fDarkMenuIcon = false; fDarkToolBarIcon = false;