summaryrefslogtreecommitdiffstats
path: root/logic/OneSixInstance.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2014-06-02 00:49:53 +0200
committerPetr Mrázek <peterix@gmail.com>2014-06-09 01:38:31 +0200
commitf485885757e287546bb27bda5906bfa4adc5494a (patch)
tree02766b67b4760e0b36c19bd3a5f0c34ed0693f7e /logic/OneSixInstance.cpp
parent48d3052ac1bf55dfc0d149d5e2590bcd6545dc67 (diff)
downloadMultiMC-f485885757e287546bb27bda5906bfa4adc5494a.tar
MultiMC-f485885757e287546bb27bda5906bfa4adc5494a.tar.gz
MultiMC-f485885757e287546bb27bda5906bfa4adc5494a.tar.lz
MultiMC-f485885757e287546bb27bda5906bfa4adc5494a.tar.xz
MultiMC-f485885757e287546bb27bda5906bfa4adc5494a.zip
Add and implement pages and page dialog.
Diffstat (limited to 'logic/OneSixInstance.cpp')
-rw-r--r--logic/OneSixInstance.cpp35
1 files changed, 33 insertions, 2 deletions
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 <gui/pages/ModFolderPage.h>
OneSixInstance::OneSixInstance(const QString &rootDir, SettingsObject *settings,
QObject *parent)
@@ -52,6 +55,22 @@ void OneSixInstance::init()
}
}
+QList<BasePage *> OneSixInstance::getPages()
+{
+ QList<BasePage *> 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<Task> OneSixInstance::doUpdate()
{
return std::shared_ptr<Task>(new OneSixUpdate(this));
@@ -310,9 +329,15 @@ std::shared_ptr<ModList> OneSixInstance::resourcePackList()
return d->resource_pack_list;
}
-QDialog *OneSixInstance::createModEditDialog(QWidget *parent)
+std::shared_ptr<ModList> 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");