diff --git a/OMEdit/OMEditLIB/MainWindow.cpp b/OMEdit/OMEditLIB/MainWindow.cpp index 11d184b76dc..7ce16d51307 100644 --- a/OMEdit/OMEditLIB/MainWindow.cpp +++ b/OMEdit/OMEditLIB/MainWindow.cpp @@ -2623,6 +2623,20 @@ void MainWindow::TLMSimulate() } } +/*! + * \brief MainWindow::openTemporaryDirectory + * Opens the temporary directory + */ +void MainWindow::openTemporaryDirectory() +{ + QUrl temporaryDirectory (QString("file:///%1").arg(Utilities::tempDirectory())); + if (!QDesktopServices::openUrl(temporaryDirectory)) { + MessagesWidget::instance()->addGUIMessage(MessageItem(MessageItem::Modelica, + GUIMessages::getMessage(GUIMessages::UNABLE_TO_OPEN_FILE).arg(temporaryDirectory.toString()), + Helper::scriptingKind, Helper::errorLevel)); + } +} + /*! * \brief MainWindow::openWorkingDirectory * Opens the current working directory. @@ -3542,6 +3556,10 @@ void MainWindow::createActions() mpShowOMCDiffWidgetAction->setStatusTip(tr("Shows OpenModelica Compiler Diff")); connect(mpShowOMCDiffWidgetAction, SIGNAL(triggered()), mpOMCProxy, SLOT(openOMCDiffWidget())); } + // open temporary directory action + mpOpenTemporaryDirectoryAction = new QAction(tr("Open Temporary Directory"), this); + mpOpenTemporaryDirectoryAction->setStatusTip(tr("Opens the temporary directory")); + connect(mpOpenTemporaryDirectoryAction, SIGNAL(triggered()), SLOT(openTemporaryDirectory())); // open working directory action mpOpenWorkingDirectoryAction = new QAction(tr("Open Working Directory"), this); mpOpenWorkingDirectoryAction->setStatusTip(tr("Opens the current working directory")); @@ -3975,6 +3993,7 @@ void MainWindow::createMenus() pToolsMenu->addAction(mpShowOMCDiffWidgetAction); } pToolsMenu->addSeparator(); + pToolsMenu->addAction(mpOpenTemporaryDirectoryAction); pToolsMenu->addAction(mpOpenWorkingDirectoryAction); pToolsMenu->addAction(mpOpenTerminalAction); pToolsMenu->addSeparator(); diff --git a/OMEdit/OMEditLIB/MainWindow.h b/OMEdit/OMEditLIB/MainWindow.h index f0610d6d5b0..ba10f8f6e58 100644 --- a/OMEdit/OMEditLIB/MainWindow.h +++ b/OMEdit/OMEditLIB/MainWindow.h @@ -381,6 +381,7 @@ class MainWindow : public QMainWindow QAction *mpShowOMCLoggerWidgetAction; QAction *mpShowOpenModelicaCommandPromptAction; QAction *mpShowOMCDiffWidgetAction; + QAction *mpOpenTemporaryDirectoryAction; QAction *mpOpenWorkingDirectoryAction; QAction *mpOpenTerminalAction; QAction *mpOptionsAction; @@ -520,6 +521,7 @@ public slots: void exportToClipboard(); void fetchInterfaceData(); void TLMSimulate(); + void openTemporaryDirectory(); void openWorkingDirectory(); void openTerminal(); void openConfigurationOptions(); diff --git a/doc/UsersGuide/source/omedit.rst b/doc/UsersGuide/source/omedit.rst index d29dc787f11..5634471e8cc 100644 --- a/doc/UsersGuide/source/omedit.rst +++ b/doc/UsersGuide/source/omedit.rst @@ -1755,7 +1755,7 @@ The users can perform multiple searches and go back to old search results using Search History -Temporary Directory, Working Directory and Log Files +Temporary Directory, Log Files and Working Directory ---------------------------------------------------- On Unix/Linux systems temporary directory is the path in the `TMPDIR` environment variable @@ -1765,7 +1765,8 @@ so the complete path is usually `/tmp/OpenModelica/OMEdit`. On Windows its the path in the `TEMP` or `TMP` environment variable appended with directory paths `OpenModelica/OMEdit` so the complete path is usually `%TEMP%/OpenModelica/OMEdit`. -All the log files are always generated in the temporary directory. +All the log files are always generated in the temporary directory. Choose *Tools > Open Temporary Directory* +to open the temporary directory. By default the working directory has the same path as the temporary directory. You can change the working directory from *Tools > Options > General* see section :ref:`omedit-options-general`.