diff options
author | Petr Mrázek <peterix@gmail.com> | 2018-07-27 23:57:09 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2018-07-27 23:57:09 +0200 |
commit | e4c33458f2f752c0b8f20005b5ab645e758d58cc (patch) | |
tree | 17d1dcbf5643e37c2298977e7f503848127abfc6 /application/MainWindow.cpp | |
parent | 14f85813c82f9202d39e292965b1ab710a479d4e (diff) | |
download | PrismLauncher-e4c33458f2f752c0b8f20005b5ab645e758d58cc.tar.gz PrismLauncher-e4c33458f2f752c0b8f20005b5ab645e758d58cc.tar.bz2 PrismLauncher-e4c33458f2f752c0b8f20005b5ab645e758d58cc.zip |
GH-2352 Add Minecraft folder button for instances, rearrange buttons by importance
Diffstat (limited to 'application/MainWindow.cpp')
-rw-r--r-- | application/MainWindow.cpp | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/application/MainWindow.cpp b/application/MainWindow.cpp index b1d60d04..acb8e92b 100644 --- a/application/MainWindow.cpp +++ b/application/MainWindow.cpp @@ -187,6 +187,7 @@ public: TranslatedAction actionEditInstance; TranslatedAction actionWorlds; TranslatedAction actionViewSelectedInstFolder; + TranslatedAction actionViewSelectedMCFolder; TranslatedAction actionDeleteInstance; TranslatedAction actionConfig_Folder; TranslatedAction actionCAT; @@ -519,12 +520,12 @@ public: instanceToolBar->addSeparator(); - actionViewSelectedInstFolder = TranslatedAction(MainWindow); - actionViewSelectedInstFolder->setObjectName(QStringLiteral("actionViewSelectedInstFolder")); - actionViewSelectedInstFolder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Instance Folder")); - actionViewSelectedInstFolder.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the selected instance's root folder in a file browser.")); - all_actions.append(&actionViewSelectedInstFolder); - instanceToolBar->addAction(actionViewSelectedInstFolder); + actionViewSelectedMCFolder = TranslatedAction(MainWindow); + actionViewSelectedMCFolder->setObjectName(QStringLiteral("actionViewSelectedMCFolder")); + actionViewSelectedMCFolder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Minecraft Folder")); + actionViewSelectedMCFolder.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the selected instance's minecraft folder in a file browser.")); + all_actions.append(&actionViewSelectedMCFolder); + instanceToolBar->addAction(actionViewSelectedMCFolder); actionConfig_Folder = TranslatedAction(MainWindow); actionConfig_Folder->setObjectName(QStringLiteral("actionConfig_Folder")); @@ -533,6 +534,13 @@ public: all_actions.append(&actionConfig_Folder); instanceToolBar->addAction(actionConfig_Folder); + actionViewSelectedInstFolder = TranslatedAction(MainWindow); + actionViewSelectedInstFolder->setObjectName(QStringLiteral("actionViewSelectedInstFolder")); + actionViewSelectedInstFolder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Instance Folder")); + actionViewSelectedInstFolder.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the selected instance's root folder in a file browser.")); + all_actions.append(&actionViewSelectedInstFolder); + instanceToolBar->addAction(actionViewSelectedInstFolder); + instanceToolBar->addSeparator(); actionExportInstance = TranslatedAction(MainWindow); @@ -1651,6 +1659,21 @@ void MainWindow::on_actionViewSelectedInstFolder_triggered() } } +void MainWindow::on_actionViewSelectedMCFolder_triggered() +{ + if (m_selectedInstance) + { + QString str = m_selectedInstance->gameRoot(); + if (!FS::ensureFilePathExists(str)) + { + // TODO: report error + return; + } + DesktopServices::openDirectory(QDir(str).absolutePath()); + } +} + + void MainWindow::closeEvent(QCloseEvent *event) { // Save the window state and geometry. |