From f485885757e287546bb27bda5906bfa4adc5494a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Mon, 2 Jun 2014 00:49:53 +0200 Subject: Add and implement pages and page dialog. --- logic/OneSixInstance.cpp | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) (limited to 'logic/OneSixInstance.cpp') diff --git a/logic/OneSixInstance.cpp b/logic/OneSixInstance.cpp index e2d5ef0a..4fd7999a 100644 --- a/logic/OneSixInstance.cpp +++ b/logic/OneSixInstance.cpp @@ -30,6 +30,9 @@ #include "icons/IconList.h" #include "logic/MinecraftProcess.h" #include "gui/dialogs/InstanceEditDialog.h" +#include "gui/pagedialog/PageDialog.h" +#include "gui/pages/VersionPage.h" +#include OneSixInstance::OneSixInstance(const QString &rootDir, SettingsObject *settings, QObject *parent) @@ -52,6 +55,22 @@ void OneSixInstance::init() } } +QList OneSixInstance::getPages() +{ + QList values; + values.append(new VersionPage(this)); + values.append(new ModFolderPage(loaderModList(), "mods", "centralmods", tr("Mods"))); + values.append(new ModFolderPage(coreModList(), "coremods", "viewfolder", tr("Core Mods"))); + values.append(new ModFolderPage(resourcePackList(), "resourcepacks", "viewfolder", tr("Resource Packs"))); + values.append(new ModFolderPage(texturePackList(), "texturepacks", "viewfolder", tr("Texture Packs"))); + return values; +} + +QString OneSixInstance::dialogTitle() +{ + return tr("Edit Instance (%1)").arg(name()); +} + std::shared_ptr OneSixInstance::doUpdate() { return std::shared_ptr(new OneSixUpdate(this)); @@ -310,9 +329,15 @@ std::shared_ptr OneSixInstance::resourcePackList() return d->resource_pack_list; } -QDialog *OneSixInstance::createModEditDialog(QWidget *parent) +std::shared_ptr OneSixInstance::texturePackList() { - return new InstanceEditDialog(this, parent); + I_D(OneSixInstance); + if (!d->texture_pack_list) + { + d->texture_pack_list.reset(new ModList(texturePacksDir())); + } + d->texture_pack_list->update(); + return d->texture_pack_list; } bool OneSixInstance::setIntendedVersionId(QString version) @@ -503,6 +528,12 @@ QString OneSixInstance::resourcePacksDir() const return PathCombine(minecraftRoot(), "resourcepacks"); } +QString OneSixInstance::texturePacksDir() const +{ + return PathCombine(minecraftRoot(), "texturepacks"); +} + + QString OneSixInstance::instanceConfigFolder() const { return PathCombine(minecraftRoot(), "config"); -- cgit v1.2.3