summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2018-07-27 23:57:09 +0200
committerPetr Mrázek <peterix@gmail.com>2018-07-27 23:57:09 +0200
commite4c33458f2f752c0b8f20005b5ab645e758d58cc (patch)
tree17d1dcbf5643e37c2298977e7f503848127abfc6 /application
parent14f85813c82f9202d39e292965b1ab710a479d4e (diff)
downloadMultiMC-e4c33458f2f752c0b8f20005b5ab645e758d58cc.tar
MultiMC-e4c33458f2f752c0b8f20005b5ab645e758d58cc.tar.gz
MultiMC-e4c33458f2f752c0b8f20005b5ab645e758d58cc.tar.lz
MultiMC-e4c33458f2f752c0b8f20005b5ab645e758d58cc.tar.xz
MultiMC-e4c33458f2f752c0b8f20005b5ab645e758d58cc.zip
GH-2352 Add Minecraft folder button for instances, rearrange buttons by importance
Diffstat (limited to 'application')
-rw-r--r--application/InstancePageProvider.h4
-rw-r--r--application/MainWindow.cpp35
-rw-r--r--application/MainWindow.h2
-rw-r--r--application/pages/instance/ServersPage.cpp2
4 files changed, 34 insertions, 9 deletions
diff --git a/application/InstancePageProvider.h b/application/InstancePageProvider.h
index c5dd0919..94013101 100644
--- a/application/InstancePageProvider.h
+++ b/application/InstancePageProvider.h
@@ -51,7 +51,7 @@ public:
values.append(new NotesPage(onesix.get()));
values.append(new WorldListPage(onesix.get(), onesix->worldList(), "worlds", "worlds", tr("Worlds"), "Worlds"));
values.append(new ServersPage(onesix.get()));
- values.append(new ScreenshotsPage(FS::PathCombine(onesix->minecraftRoot(), "screenshots")));
+ values.append(new ScreenshotsPage(FS::PathCombine(onesix->gameRoot(), "screenshots")));
values.append(new InstanceSettingsPage(onesix.get()));
}
std::shared_ptr<LegacyInstance> legacy = std::dynamic_pointer_cast<LegacyInstance>(inst);
@@ -60,7 +60,7 @@ public:
values.append(new LegacyUpgradePage(legacy));
values.append(new NotesPage(legacy.get()));
values.append(new WorldListPage(legacy.get(), legacy->worldList(), "worlds", "worlds", tr("Worlds"), "Worlds"));
- values.append(new ScreenshotsPage(FS::PathCombine(legacy->minecraftRoot(), "screenshots")));
+ values.append(new ScreenshotsPage(FS::PathCombine(legacy->gameRoot(), "screenshots")));
}
auto logMatcher = inst->getLogFileMatcher();
if(logMatcher)
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.
diff --git a/application/MainWindow.h b/application/MainWindow.h
index 3095ba41..3f370fda 100644
--- a/application/MainWindow.h
+++ b/application/MainWindow.h
@@ -87,6 +87,8 @@ private slots:
void on_actionViewSelectedInstFolder_triggered();
+ void on_actionViewSelectedMCFolder_triggered();
+
void refreshInstances();
void on_actionViewCentralModsFolder_triggered();
diff --git a/application/pages/instance/ServersPage.cpp b/application/pages/instance/ServersPage.cpp
index dfe21d5b..35f167aa 100644
--- a/application/pages/instance/ServersPage.cpp
+++ b/application/pages/instance/ServersPage.cpp
@@ -561,7 +561,7 @@ ServersPage::ServersPage(MinecraftInstance * inst, QWidget* parent)
ui->setupUi(this);
ui->tabWidget->tabBar()->hide();
m_inst = inst;
- m_model = new ServersModel(inst->minecraftRoot(), this);
+ m_model = new ServersModel(inst->gameRoot(), this);
ui->serversView->setIconSize(QSize(64,64));
ui->serversView->setModel(m_model);
auto head = ui->serversView->header();