NOISSE add a shortcut to the loaders mods to main window
This commit is contained in:
parent
431d773eec
commit
7d047f9223
@ -100,6 +100,9 @@ public:
|
|||||||
return instanceRoot();
|
return instanceRoot();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Path to the instance's mods directory.
|
||||||
|
virtual QString modsRoot() const = 0;
|
||||||
|
|
||||||
QString name() const;
|
QString name() const;
|
||||||
void setName(QString val);
|
void setName(QString val);
|
||||||
|
|
||||||
|
@ -73,4 +73,7 @@ public:
|
|||||||
out << "Null instance - placeholder.";
|
out << "Null instance - placeholder.";
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
QString modsRoot() const override {
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
@ -202,7 +202,7 @@ QString MinecraftInstance::jarModsDir() const
|
|||||||
return jarmods_dir.absolutePath();
|
return jarmods_dir.absolutePath();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString MinecraftInstance::loaderModsDir() const
|
QString MinecraftInstance::modsRoot() const
|
||||||
{
|
{
|
||||||
return FS::PathCombine(gameRoot(), "mods");
|
return FS::PathCombine(gameRoot(), "mods");
|
||||||
}
|
}
|
||||||
@ -961,7 +961,7 @@ std::shared_ptr<ModFolderModel> MinecraftInstance::loaderModList() const
|
|||||||
{
|
{
|
||||||
if (!m_loader_mod_list)
|
if (!m_loader_mod_list)
|
||||||
{
|
{
|
||||||
m_loader_mod_list.reset(new ModFolderModel(loaderModsDir()));
|
m_loader_mod_list.reset(new ModFolderModel(modsRoot()));
|
||||||
m_loader_mod_list->disableInteraction(isRunning());
|
m_loader_mod_list->disableInteraction(isRunning());
|
||||||
connect(this, &BaseInstance::runningStatusChanged, m_loader_mod_list.get(), &ModFolderModel::disableInteraction);
|
connect(this, &BaseInstance::runningStatusChanged, m_loader_mod_list.get(), &ModFolderModel::disableInteraction);
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ public:
|
|||||||
QString resourcePacksDir() const;
|
QString resourcePacksDir() const;
|
||||||
QString texturePacksDir() const;
|
QString texturePacksDir() const;
|
||||||
QString shaderPacksDir() const;
|
QString shaderPacksDir() const;
|
||||||
QString loaderModsDir() const;
|
QString modsRoot() const override;
|
||||||
QString coreModsDir() const;
|
QString coreModsDir() const;
|
||||||
QString modsCacheLocation() const;
|
QString modsCacheLocation() const;
|
||||||
QString libDir() const;
|
QString libDir() const;
|
||||||
|
@ -122,6 +122,11 @@ QString LegacyInstance::binRoot() const
|
|||||||
return FS::PathCombine(gameRoot(), "bin");
|
return FS::PathCombine(gameRoot(), "bin");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString LegacyInstance::modsRoot() const {
|
||||||
|
return FS::PathCombine(gameRoot(), "mods");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
QString LegacyInstance::jarModsDir() const
|
QString LegacyInstance::jarModsDir() const
|
||||||
{
|
{
|
||||||
return FS::PathCombine(instanceRoot(), "instMods");
|
return FS::PathCombine(instanceRoot(), "instMods");
|
||||||
@ -137,11 +142,6 @@ QString LegacyInstance::savesDir() const
|
|||||||
return FS::PathCombine(gameRoot(), "saves");
|
return FS::PathCombine(gameRoot(), "saves");
|
||||||
}
|
}
|
||||||
|
|
||||||
QString LegacyInstance::loaderModsDir() const
|
|
||||||
{
|
|
||||||
return FS::PathCombine(gameRoot(), "mods");
|
|
||||||
}
|
|
||||||
|
|
||||||
QString LegacyInstance::coreModsDir() const
|
QString LegacyInstance::coreModsDir() const
|
||||||
{
|
{
|
||||||
return FS::PathCombine(gameRoot(), "coremods");
|
return FS::PathCombine(gameRoot(), "coremods");
|
||||||
|
@ -45,11 +45,13 @@ public:
|
|||||||
QString savesDir() const;
|
QString savesDir() const;
|
||||||
QString texturePacksDir() const;
|
QString texturePacksDir() const;
|
||||||
QString jarModsDir() const;
|
QString jarModsDir() const;
|
||||||
QString loaderModsDir() const;
|
|
||||||
QString coreModsDir() const;
|
QString coreModsDir() const;
|
||||||
QString resourceDir() const;
|
QString resourceDir() const;
|
||||||
virtual QString instanceConfigFolder() const override;
|
|
||||||
|
QString instanceConfigFolder() const override;
|
||||||
|
|
||||||
QString gameRoot() const override; // Path to the instance's minecraft directory.
|
QString gameRoot() const override; // Path to the instance's minecraft directory.
|
||||||
|
QString modsRoot() const override; // Path to the instance's minecraft directory.
|
||||||
QString binRoot() const; // Path to the instance's minecraft bin directory.
|
QString binRoot() const; // Path to the instance's minecraft bin directory.
|
||||||
|
|
||||||
/// Get the curent base jar of this instance. By default, it's the
|
/// Get the curent base jar of this instance. By default, it's the
|
||||||
|
@ -211,8 +211,10 @@ public:
|
|||||||
TranslatedAction actionEditInstNotes;
|
TranslatedAction actionEditInstNotes;
|
||||||
TranslatedAction actionEditInstance;
|
TranslatedAction actionEditInstance;
|
||||||
TranslatedAction actionWorlds;
|
TranslatedAction actionWorlds;
|
||||||
|
TranslatedAction actionMods;
|
||||||
TranslatedAction actionViewSelectedInstFolder;
|
TranslatedAction actionViewSelectedInstFolder;
|
||||||
TranslatedAction actionViewSelectedMCFolder;
|
TranslatedAction actionViewSelectedMCFolder;
|
||||||
|
TranslatedAction actionViewSelectedModsFolder;
|
||||||
TranslatedAction actionDeleteInstance;
|
TranslatedAction actionDeleteInstance;
|
||||||
TranslatedAction actionConfig_Folder;
|
TranslatedAction actionConfig_Folder;
|
||||||
TranslatedAction actionCAT;
|
TranslatedAction actionCAT;
|
||||||
@ -530,6 +532,13 @@ public:
|
|||||||
all_actions.append(&actionEditInstNotes);
|
all_actions.append(&actionEditInstNotes);
|
||||||
instanceToolBar->addAction(actionEditInstNotes);
|
instanceToolBar->addAction(actionEditInstNotes);
|
||||||
|
|
||||||
|
actionMods = TranslatedAction(MainWindow);
|
||||||
|
actionMods->setObjectName(QStringLiteral("actionMods"));
|
||||||
|
actionMods.setTextId(QT_TRANSLATE_NOOP("MainWindow", "View Mods"));
|
||||||
|
actionMods.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "View the mods of this instance."));
|
||||||
|
all_actions.append(&actionMods);
|
||||||
|
instanceToolBar->addAction(actionMods);
|
||||||
|
|
||||||
actionWorlds = TranslatedAction(MainWindow);
|
actionWorlds = TranslatedAction(MainWindow);
|
||||||
actionWorlds->setObjectName(QStringLiteral("actionWorlds"));
|
actionWorlds->setObjectName(QStringLiteral("actionWorlds"));
|
||||||
actionWorlds.setTextId(QT_TRANSLATE_NOOP("MainWindow", "View Worlds"));
|
actionWorlds.setTextId(QT_TRANSLATE_NOOP("MainWindow", "View Worlds"));
|
||||||
@ -560,6 +569,15 @@ public:
|
|||||||
all_actions.append(&actionViewSelectedMCFolder);
|
all_actions.append(&actionViewSelectedMCFolder);
|
||||||
instanceToolBar->addAction(actionViewSelectedMCFolder);
|
instanceToolBar->addAction(actionViewSelectedMCFolder);
|
||||||
|
|
||||||
|
/*
|
||||||
|
actionViewSelectedModsFolder = TranslatedAction(MainWindow);
|
||||||
|
actionViewSelectedModsFolder->setObjectName(QStringLiteral("actionViewSelectedModsFolder"));
|
||||||
|
actionViewSelectedModsFolder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Mods Folder"));
|
||||||
|
actionViewSelectedModsFolder.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Open the selected instance's mods folder in a file browser."));
|
||||||
|
all_actions.append(&actionViewSelectedModsFolder);
|
||||||
|
instanceToolBar->addAction(actionViewSelectedModsFolder);
|
||||||
|
*/
|
||||||
|
|
||||||
actionConfig_Folder = TranslatedAction(MainWindow);
|
actionConfig_Folder = TranslatedAction(MainWindow);
|
||||||
actionConfig_Folder->setObjectName(QStringLiteral("actionConfig_Folder"));
|
actionConfig_Folder->setObjectName(QStringLiteral("actionConfig_Folder"));
|
||||||
actionConfig_Folder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Config Folder"));
|
actionConfig_Folder.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Config Folder"));
|
||||||
@ -1651,6 +1669,11 @@ void MainWindow::on_actionWorlds_triggered()
|
|||||||
APPLICATION->showInstanceWindow(m_selectedInstance, "worlds");
|
APPLICATION->showInstanceWindow(m_selectedInstance, "worlds");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionMods_triggered()
|
||||||
|
{
|
||||||
|
APPLICATION->showInstanceWindow(m_selectedInstance, "mods");
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionEditInstance_triggered()
|
void MainWindow::on_actionEditInstance_triggered()
|
||||||
{
|
{
|
||||||
APPLICATION->showInstanceWindow(m_selectedInstance);
|
APPLICATION->showInstanceWindow(m_selectedInstance);
|
||||||
@ -1761,6 +1784,19 @@ void MainWindow::on_actionViewSelectedMCFolder_triggered()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionViewSelectedModsFolder_triggered()
|
||||||
|
{
|
||||||
|
if (m_selectedInstance)
|
||||||
|
{
|
||||||
|
QString str = m_selectedInstance->modsRoot();
|
||||||
|
if (!FS::ensureFilePathExists(str))
|
||||||
|
{
|
||||||
|
// TODO: report error
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
DesktopServices::openDirectory(QDir(str).absolutePath());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::closeEvent(QCloseEvent *event)
|
void MainWindow::closeEvent(QCloseEvent *event)
|
||||||
{
|
{
|
||||||
|
@ -93,6 +93,8 @@ private slots:
|
|||||||
|
|
||||||
void on_actionViewSelectedMCFolder_triggered();
|
void on_actionViewSelectedMCFolder_triggered();
|
||||||
|
|
||||||
|
void on_actionViewSelectedModsFolder_triggered();
|
||||||
|
|
||||||
void refreshInstances();
|
void refreshInstances();
|
||||||
|
|
||||||
void on_actionViewCentralModsFolder_triggered();
|
void on_actionViewCentralModsFolder_triggered();
|
||||||
@ -133,6 +135,8 @@ private slots:
|
|||||||
|
|
||||||
void on_actionEditInstNotes_triggered();
|
void on_actionEditInstNotes_triggered();
|
||||||
|
|
||||||
|
void on_actionMods_triggered();
|
||||||
|
|
||||||
void on_actionWorlds_triggered();
|
void on_actionWorlds_triggered();
|
||||||
|
|
||||||
void on_actionScreenshots_triggered();
|
void on_actionScreenshots_triggered();
|
||||||
|
Loading…
Reference in New Issue
Block a user