diff options
Diffstat (limited to 'application/pages')
-rw-r--r-- | application/pages/LegacyJarModPage.cpp | 50 | ||||
-rw-r--r-- | application/pages/LegacyJarModPage.h | 1 | ||||
-rw-r--r-- | application/pages/LegacyJarModPage.ui | 7 | ||||
-rw-r--r-- | application/pages/ModFolderPage.cpp | 17 | ||||
-rw-r--r-- | application/pages/VersionPage.cpp | 32 |
5 files changed, 24 insertions, 83 deletions
diff --git a/application/pages/LegacyJarModPage.cpp b/application/pages/LegacyJarModPage.cpp index b403aa8a..60f1057a 100644 --- a/application/pages/LegacyJarModPage.cpp +++ b/application/pages/LegacyJarModPage.cpp @@ -29,6 +29,7 @@ #include "minecraft/LegacyInstance.h" #include "Env.h" #include "MultiMC.h" +#include <GuiUtil.h> LegacyJarModPage::LegacyJarModPage(LegacyInstance *inst, QWidget *parent) : QWidget(parent), ui(new Ui::LegacyJarModPage), m_inst(inst) @@ -98,53 +99,16 @@ bool LegacyJarModPage::eventFilter(QObject *obj, QEvent *ev) return QWidget::eventFilter(obj, ev); } -void LegacyJarModPage::on_addForgeBtn_clicked() -{ - //FIXME: dead. clean up. - /* - VersionSelectDialog vselect(MMC->forgelist().get(), tr("Select Forge version"), this); - vselect.setExactFilter(1, m_inst->intendedVersionId()); - if (vselect.exec() && vselect.selectedVersion()) - { - ForgeVersionPtr forge = - std::dynamic_pointer_cast<ForgeVersion>(vselect.selectedVersion()); - if (!forge) - return; - auto entry = Env::getInstance().metacache()->resolveEntry("minecraftforge", forge->filename()); - if (entry->stale) - { - NetJob *fjob = new NetJob("Forge download"); - auto cacheDl = CacheDownload::make(forge->universal_url, entry); - fjob->addNetAction(cacheDl); - ProgressDialog dlg(this); - dlg.exec(fjob); - if (dlg.result() == QDialog::Accepted) - { - m_jarmods->stopWatching(); - m_jarmods->installMod(QFileInfo(entry->getFullPath())); - m_jarmods->startWatching(); - } - else - { - // failed to download forge :/ - } - } - else - { - m_jarmods->stopWatching(); - m_jarmods->installMod(QFileInfo(entry->getFullPath())); - m_jarmods->startWatching(); - } - }*/ -} void LegacyJarModPage::on_addJarBtn_clicked() { - //: Title of jar mod selection dialog - QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Select Jar Mods")); - for (auto filename : fileNames) + auto list = GuiUtil::BrowseForMods("jarmod", tr("Select jar mods"), tr("Minecraft.jar mods (*.zip *.jar)"), this->parentWidget()); + if(!list.empty()) { m_jarmods->stopWatching(); - m_jarmods->installMod(QFileInfo(filename)); + for (auto filename : list) + { + m_jarmods->installMod(QFileInfo(filename)); + } m_jarmods->startWatching(); } } diff --git a/application/pages/LegacyJarModPage.h b/application/pages/LegacyJarModPage.h index d1e31a0c..9ca862ff 100644 --- a/application/pages/LegacyJarModPage.h +++ b/application/pages/LegacyJarModPage.h @@ -59,7 +59,6 @@ slots: void on_addJarBtn_clicked(); void on_rmJarBtn_clicked(); - void on_addForgeBtn_clicked(); void on_moveJarUpBtn_clicked(); void on_moveJarDownBtn_clicked(); void on_viewJarBtn_clicked(); diff --git a/application/pages/LegacyJarModPage.ui b/application/pages/LegacyJarModPage.ui index e99fac9a..059d08dd 100644 --- a/application/pages/LegacyJarModPage.ui +++ b/application/pages/LegacyJarModPage.ui @@ -102,13 +102,6 @@ </widget> </item> <item> - <widget class="QPushButton" name="addForgeBtn"> - <property name="text"> - <string>Install Forge</string> - </property> - </widget> - </item> - <item> <spacer name="verticalSpacer"> <property name="orientation"> <enum>Qt::Vertical</enum> diff --git a/application/pages/ModFolderPage.cpp b/application/pages/ModFolderPage.cpp index 94575e10..dbedbc25 100644 --- a/application/pages/ModFolderPage.cpp +++ b/application/pages/ModFolderPage.cpp @@ -28,6 +28,7 @@ #include "MultiMC.h" #include "dialogs/CustomMessageBox.h" #include "dialogs/ModEditDialogCommon.h" +#include <GuiUtil.h> #include "minecraft/ModList.h" #include "minecraft/Mod.h" #include "minecraft/VersionFilterData.h" @@ -121,14 +122,22 @@ bool ModFolderPage::eventFilter(QObject *obj, QEvent *ev) void ModFolderPage::on_addModBtn_clicked() { - QStringList fileNames = QFileDialog::getOpenFileNames( - this, QApplication::translate("ModFolderPage", "Select Loader Mods"), MMC->settings()->get("CentralModsDir").toString()); - for (auto filename : fileNames) + auto list = GuiUtil::BrowseForMods( + m_helpName, + tr("Select %1", + "Select whatever type of files the page contains. Example: 'Loader Mods'") + .arg(m_displayName), + tr("%1 (*.zip *.jar)").arg(m_displayName), this->parentWidget()); + if (!list.empty()) { m_mods->stopWatching(); - m_mods->installMod(QFileInfo(filename)); + for (auto filename : list) + { + m_mods->installMod(QFileInfo(filename)); + } m_mods->startWatching(); } + } void ModFolderPage::on_rmModBtn_clicked() { diff --git a/application/pages/VersionPage.cpp b/application/pages/VersionPage.cpp index 7cb99763..2fb50f0b 100644 --- a/application/pages/VersionPage.cpp +++ b/application/pages/VersionPage.cpp @@ -30,6 +30,7 @@ #include "dialogs/ModEditDialogCommon.h" #include "dialogs/ProgressDialog.h" +#include <GuiUtil.h> #include <QAbstractItemModel> #include <QMessageBox> @@ -145,36 +146,11 @@ void VersionPage::on_removeLibraryBtn_clicked() void VersionPage::on_jarmodBtn_clicked() { - QFileDialog w; - QSet<QString> locations; - QString modsFolder = MMC->settings()->get("CentralModsDir").toString(); - auto f = [&](QStandardPaths::StandardLocation l) + auto list = GuiUtil::BrowseForMods("jarmod", tr("Select jar mods"), tr("Minecraft.jar mods (*.zip *.jar)"), this->parentWidget()); + if(!list.empty()) { - QString location = QStandardPaths::writableLocation(l); - QFileInfo finfo(location); - if (!finfo.exists()) - return; - locations.insert(location); - }; - f(QStandardPaths::DesktopLocation); - f(QStandardPaths::DocumentsLocation); - f(QStandardPaths::DownloadLocation); - f(QStandardPaths::HomeLocation); - QList<QUrl> urls; - for (auto location : locations) - { - urls.append(QUrl::fromLocalFile(location)); + m_version->installJarMods(list); } - urls.append(QUrl::fromLocalFile(modsFolder)); - - w.setFileMode(QFileDialog::ExistingFiles); - w.setAcceptMode(QFileDialog::AcceptOpen); - w.setNameFilter(tr("Minecraft jar mods (*.zip *.jar)")); - w.setDirectory(modsFolder); - w.setSidebarUrls(urls); - - if (w.exec()) - m_version->installJarMods(w.selectedFiles()); } void VersionPage::on_resetLibraryOrderBtn_clicked() |