Page dialog for legacy instances.

This commit is contained in:
Petr Mrázek
2014-06-08 18:02:20 +02:00
parent 694067c603
commit 84ae67fff5
18 changed files with 658 additions and 1953 deletions

View File

@ -28,7 +28,9 @@
#include "logic/MinecraftProcess.h"
#include "logic/LegacyUpdate.h"
#include "logic/icons/IconList.h"
#include <gui/dialogs/LegacyModEditDialog.h>
#include "gui/pages/LegacyUpgradePage.h"
#include "gui/pages/ModFolderPage.h"
#include "gui/pages/LegacyJarModPage.h"
LegacyInstance::LegacyInstance(const QString &rootDir, SettingsObject *settings,
QObject *parent)
@ -41,6 +43,22 @@ LegacyInstance::LegacyInstance(const QString &rootDir, SettingsObject *settings,
settings->registerSetting("IntendedJarVersion", "");
}
QList<BasePage *> LegacyInstance::getPages()
{
QList<BasePage *> values;
values.append(new LegacyUpgradePage(this));
values.append(new LegacyJarModPage(this));
values.append(new ModFolderPage(loaderModList(), "mods", "centralmods", tr("Loader Mods")));
values.append(new ModFolderPage(coreModList(), "coremods", "viewfolder", tr("Core Mods")));
values.append(new ModFolderPage(texturePackList(), "texturepacks", "viewfolder", tr("Texture Packs")));
return values;
}
QString LegacyInstance::dialogTitle()
{
return tr("Edit Instance (%1)").arg(name());
}
std::shared_ptr<Task> LegacyInstance::doUpdate()
{
// make sure the jar mods list is initialized by asking for it.

View File

@ -16,11 +16,12 @@
#pragma once
#include "BaseInstance.h"
#include "gui/pages/BasePageProvider.h"
class ModList;
class Task;
class LegacyInstance : public BaseInstance
class LegacyInstance : public BaseInstance, public BasePageProvider
{
Q_OBJECT
public:
@ -34,6 +35,10 @@ public:
//! Path to the instance's modlist file.
QString modListFile() const;
////// Edit Instance Dialog stuff //////
virtual QList<BasePage *> getPages();
virtual QString dialogTitle();
////// Mod Lists //////
std::shared_ptr<ModList> jarModList();
std::shared_ptr<ModList> coreModList();

View File

@ -29,7 +29,6 @@
#include "logic/assets/AssetsUtils.h"
#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>
@ -59,7 +58,7 @@ 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(loaderModList(), "mods", "centralmods", tr("Loader 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")));

View File

@ -30,7 +30,7 @@ public:
virtual ~OneSixInstance(){};
virtual void init() override;
////// Edit Instance Dialog stuff //////
virtual QList<BasePage *> getPages();
virtual QString dialogTitle();