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 @@