From f07667ef25c8f3c75da3ba0ad77d7f66c5a9a414 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Sun, 10 Jun 2018 12:50:09 +0200 Subject: [PATCH] added mupp actions to musredit. --- src/musredit_qt5/musredit/PTextEdit.cpp | 52 ++++- src/musredit_qt5/musredit/PTextEdit.h | 1 + .../musredit/forms/PMusrEditAbout.ui | 6 +- src/musredit_qt5/musredit/icons/mupp-dark.svg | 199 ++++++++++++++++++ .../musredit/icons/mupp-plain.svg | 199 ++++++++++++++++++ src/musredit_qt5/musredit/musredit.qrc | 2 + 6 files changed, 455 insertions(+), 4 deletions(-) create mode 100644 src/musredit_qt5/musredit/icons/mupp-dark.svg create mode 100644 src/musredit_qt5/musredit/icons/mupp-plain.svg diff --git a/src/musredit_qt5/musredit/PTextEdit.cpp b/src/musredit_qt5/musredit/PTextEdit.cpp index 797ddd23..e425acc9 100644 --- a/src/musredit_qt5/musredit/PTextEdit.cpp +++ b/src/musredit_qt5/musredit/PTextEdit.cpp @@ -718,6 +718,22 @@ void PTextEdit::setupMusrActions() } tb->addAction(a); + if (fDarkTheme) + iconName = QString(":/icons/mupp-dark.svg"); + else + iconName = QString(":/icons/mupp-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "m&upp" ), this ); + a->setShortcut( tr("Alt+U") ); + a->setStatusTip( tr("Start mupp, the muSR parameter plotter") ); + connect( a, SIGNAL( triggered() ), this, SLOT( mupp() ) ); + menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/mupp-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "m&upp" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( mupp() ) ); + } + tb->addAction(a); + menu->addSeparator(); tb->addSeparator(); @@ -2395,7 +2411,7 @@ void PTextEdit::musrView() tr("Quit") ); return; } - } +} //---------------------------------------------------------------------------------------------------- /** @@ -2531,6 +2547,9 @@ void PTextEdit::musrPrefs() } //---------------------------------------------------------------------------------------------------- +/** + * @brief PTextEdit::musrSetSteps + */ void PTextEdit::musrSetSteps() { if ( !currentEditor() ) @@ -2717,6 +2736,37 @@ void PTextEdit::musrDump() dumpOutputHandler.exec(); } +//---------------------------------------------------------------------------------------------------- +/** + * @brief PTextEdit::mupp + *

Calls mupp, the muSR parameter plotter. + */ +void PTextEdit::mupp() +{ + QString cmd(""); + cmd = fAdmin->getExecPath() + "/mupp"; + + QProcess *proc = new QProcess(this); + + QString workDir = QFileInfo(*fFilenames.find( currentEditor() )).absolutePath(); + + // make sure that the system environment variables are properly set + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH")); + proc->setProcessEnvironment(env); + proc->setWorkingDirectory(workDir); + proc->start(cmd); + if (!proc->waitForStarted()) { + // error handling + QString msg(tr("Could not execute the output command: ")+cmd); + QMessageBox::critical( 0, + tr("Fatal error"), + msg, + tr("Quit") ); + return; + } +} + //---------------------------------------------------------------------------------------------------- /** *

Starts the help content browser. diff --git a/src/musredit_qt5/musredit/PTextEdit.h b/src/musredit_qt5/musredit/PTextEdit.h index ac774db8..6f0c9615 100644 --- a/src/musredit_qt5/musredit/PTextEdit.h +++ b/src/musredit_qt5/musredit/PTextEdit.h @@ -137,6 +137,7 @@ private slots: void musrSwapMsrMlog(); void musrSetSteps(); void musrDump(); + void mupp(); void helpContents(); void helpAboutQt(); diff --git a/src/musredit_qt5/musredit/forms/PMusrEditAbout.ui b/src/musredit_qt5/musredit/forms/PMusrEditAbout.ui index 0b5849cb..95858b64 100644 --- a/src/musredit_qt5/musredit/forms/PMusrEditAbout.ui +++ b/src/musredit_qt5/musredit/forms/PMusrEditAbout.ui @@ -7,7 +7,7 @@ 0 0 395 - 202 + 225 @@ -17,13 +17,13 @@ :/images/musrfit.xpm:/images/musrfit.xpm - + 13 13 371 - 181 + 201 diff --git a/src/musredit_qt5/musredit/icons/mupp-dark.svg b/src/musredit_qt5/musredit/icons/mupp-dark.svg new file mode 100644 index 00000000..b6e3033a --- /dev/null +++ b/src/musredit_qt5/musredit/icons/mupp-dark.svg @@ -0,0 +1,199 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + P + + + diff --git a/src/musredit_qt5/musredit/icons/mupp-plain.svg b/src/musredit_qt5/musredit/icons/mupp-plain.svg new file mode 100644 index 00000000..eb0b1186 --- /dev/null +++ b/src/musredit_qt5/musredit/icons/mupp-plain.svg @@ -0,0 +1,199 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + P + + + diff --git a/src/musredit_qt5/musredit/musredit.qrc b/src/musredit_qt5/musredit/musredit.qrc index fb3adb66..fe4de151 100644 --- a/src/musredit_qt5/musredit/musredit.qrc +++ b/src/musredit_qt5/musredit/musredit.qrc @@ -50,6 +50,8 @@ icons/musrFT-dark.svg icons/musrdump-plain.svg icons/musrdump-dark.svg + icons/mupp-plain.svg + icons/mupp-dark.svg latex_images/abragam.png latex_images/asymmetry.png latex_images/bessel.png