SCRATCH no more gui includes in logic
This commit is contained in:
parent
141e0a02a0
commit
4e94de413b
@ -284,6 +284,9 @@ SET(MULTIMC_SOURCES
|
|||||||
gui/ConsoleWindow.h
|
gui/ConsoleWindow.h
|
||||||
gui/ConsoleWindow.cpp
|
gui/ConsoleWindow.cpp
|
||||||
|
|
||||||
|
gui/InstancePageProvider.h
|
||||||
|
gui/InstancePageProvider.cpp
|
||||||
|
|
||||||
# GUI - page dialog pages
|
# GUI - page dialog pages
|
||||||
gui/pages/BasePage.h
|
gui/pages/BasePage.h
|
||||||
gui/pages/VersionPage.cpp
|
gui/pages/VersionPage.cpp
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include <gui/dialogs/ProgressDialog.h>
|
#include <gui/dialogs/ProgressDialog.h>
|
||||||
#include "widgets/PageContainer.h"
|
#include "widgets/PageContainer.h"
|
||||||
#include "pages/LogPage.h"
|
#include "pages/LogPage.h"
|
||||||
|
#include "InstancePageProvider.h"
|
||||||
|
|
||||||
#include "logic/icons/IconList.h"
|
#include "logic/icons/IconList.h"
|
||||||
|
|
||||||
@ -71,8 +72,9 @@ ConsoleWindow::ConsoleWindow(BaseProcess *process, QWidget *parent)
|
|||||||
// Add page container
|
// Add page container
|
||||||
{
|
{
|
||||||
auto mainLayout = new QVBoxLayout;
|
auto mainLayout = new QVBoxLayout;
|
||||||
auto provider = std::dynamic_pointer_cast<BasePageProvider>(m_proc->instance());
|
auto provider = std::make_shared<InstancePageProvider>(m_proc->instance());
|
||||||
auto proxy_provider = std::make_shared<LogPageProvider>(provider, new LogPage(m_proc));
|
auto baseprovider = std::dynamic_pointer_cast<BasePageProvider>(provider);
|
||||||
|
auto proxy_provider = std::make_shared<LogPageProvider>(baseprovider, new LogPage(m_proc));
|
||||||
m_container = new PageContainer(proxy_provider, "console", this);
|
m_container = new PageContainer(proxy_provider, "console", this);
|
||||||
mainLayout->addWidget(m_container);
|
mainLayout->addWidget(m_container);
|
||||||
mainLayout->setSpacing(0);
|
mainLayout->setSpacing(0);
|
||||||
|
0
gui/InstancePageProvider.cpp
Normal file
0
gui/InstancePageProvider.cpp
Normal file
52
gui/InstancePageProvider.h
Normal file
52
gui/InstancePageProvider.h
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "logic/minecraft/OneSixInstance.h"
|
||||||
|
#include "pages/BasePage.h"
|
||||||
|
#include "pages/VersionPage.h"
|
||||||
|
#include "pages/ModFolderPage.h"
|
||||||
|
#include "pages/ResourcePackPage.h"
|
||||||
|
#include "pages/TexturePackPage.h"
|
||||||
|
#include "pages/NotesPage.h"
|
||||||
|
#include "pages/ScreenshotsPage.h"
|
||||||
|
#include "pages/InstanceSettingsPage.h"
|
||||||
|
#include "pages/OtherLogsPage.h"
|
||||||
|
#include "pages/BasePageProvider.h"
|
||||||
|
#include <pathutils.h>
|
||||||
|
|
||||||
|
class InstancePageProvider : public QObject, public BasePageProvider
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit InstancePageProvider(InstancePtr parent)
|
||||||
|
{
|
||||||
|
inst = parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual ~InstancePageProvider() {};
|
||||||
|
virtual QList<BasePage *> getPages() override
|
||||||
|
{
|
||||||
|
QList<BasePage *> values;
|
||||||
|
std::shared_ptr<OneSixInstance> onesix = std::dynamic_pointer_cast<OneSixInstance>(inst);
|
||||||
|
if(onesix)
|
||||||
|
{
|
||||||
|
values.append(new VersionPage(onesix.get()));
|
||||||
|
values.append(new ModFolderPage(onesix.get(), onesix->loaderModList(), "mods", "loadermods",
|
||||||
|
tr("Loader mods"), "Loader-mods"));
|
||||||
|
values.append(new CoreModFolderPage(onesix.get(), onesix->coreModList(), "coremods", "coremods",
|
||||||
|
tr("Core mods"), "Core-mods"));
|
||||||
|
values.append(new ResourcePackPage(onesix.get()));
|
||||||
|
values.append(new TexturePackPage(onesix.get()));
|
||||||
|
values.append(new NotesPage(onesix.get()));
|
||||||
|
values.append(new ScreenshotsPage(PathCombine(onesix->minecraftRoot(), "screenshots")));
|
||||||
|
values.append(new InstanceSettingsPage(onesix.get()));
|
||||||
|
values.append(new OtherLogsPage(onesix->minecraftRoot()));
|
||||||
|
}
|
||||||
|
return values;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual QString dialogTitle() override
|
||||||
|
{
|
||||||
|
return tr("Edit Instance (%1)").arg(inst->name());
|
||||||
|
}
|
||||||
|
protected:
|
||||||
|
InstancePtr inst;
|
||||||
|
};
|
@ -381,6 +381,7 @@ namespace Ui {
|
|||||||
#include "logic/BaseProcess.h"
|
#include "logic/BaseProcess.h"
|
||||||
#include "logic/java/JavaUtils.h"
|
#include "logic/java/JavaUtils.h"
|
||||||
#include "gui/NagUtils.h"
|
#include "gui/NagUtils.h"
|
||||||
|
#include "InstancePageProvider.h"
|
||||||
#include "logic/minecraft/SkinUtils.h"
|
#include "logic/minecraft/SkinUtils.h"
|
||||||
|
|
||||||
//#include "logic/minecraft/LegacyInstance.h"
|
//#include "logic/minecraft/LegacyInstance.h"
|
||||||
@ -1366,6 +1367,12 @@ void ShowPageDialog(T raw_provider, QWidget * parent, QString open_page = QStrin
|
|||||||
dlg.exec();
|
dlg.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ShowInstancePageDialog(InstancePtr instance, QWidget * parent, QString open_page = QString())
|
||||||
|
{
|
||||||
|
auto provider = std::make_shared<InstancePageProvider>(instance);
|
||||||
|
ShowPageDialog(provider, parent, open_page);
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionSettings_triggered()
|
void MainWindow::on_actionSettings_triggered()
|
||||||
{
|
{
|
||||||
ShowPageDialog(m_globalSettingsProvider, this, "global-settings");
|
ShowPageDialog(m_globalSettingsProvider, this, "global-settings");
|
||||||
@ -1378,22 +1385,22 @@ void MainWindow::on_actionSettings_triggered()
|
|||||||
|
|
||||||
void MainWindow::on_actionInstanceSettings_triggered()
|
void MainWindow::on_actionInstanceSettings_triggered()
|
||||||
{
|
{
|
||||||
ShowPageDialog(m_selectedInstance, this, "settings");
|
ShowInstancePageDialog(m_selectedInstance, this, "settings");
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionEditInstNotes_triggered()
|
void MainWindow::on_actionEditInstNotes_triggered()
|
||||||
{
|
{
|
||||||
ShowPageDialog(m_selectedInstance, this, "notes");
|
ShowInstancePageDialog(m_selectedInstance, this, "notes");
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionEditInstance_triggered()
|
void MainWindow::on_actionEditInstance_triggered()
|
||||||
{
|
{
|
||||||
ShowPageDialog(m_selectedInstance, this);
|
ShowInstancePageDialog(m_selectedInstance, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionScreenshots_triggered()
|
void MainWindow::on_actionScreenshots_triggered()
|
||||||
{
|
{
|
||||||
ShowPageDialog(m_selectedInstance, this, "screenshots");
|
ShowInstancePageDialog(m_selectedInstance, this, "screenshots");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -28,15 +28,7 @@
|
|||||||
|
|
||||||
#include "logic/minecraft/AssetsUtils.h"
|
#include "logic/minecraft/AssetsUtils.h"
|
||||||
#include "logic/icons/IconList.h"
|
#include "logic/icons/IconList.h"
|
||||||
#include "gui/pagedialog/PageDialog.h"
|
|
||||||
#include "gui/pages/VersionPage.h"
|
|
||||||
#include "gui/pages/ModFolderPage.h"
|
|
||||||
#include "gui/pages/ResourcePackPage.h"
|
|
||||||
#include "gui/pages/TexturePackPage.h"
|
|
||||||
#include "gui/pages/InstanceSettingsPage.h"
|
|
||||||
#include "gui/pages/NotesPage.h"
|
|
||||||
#include "gui/pages/ScreenshotsPage.h"
|
|
||||||
#include "gui/pages/OtherLogsPage.h"
|
|
||||||
OneSixInstance::OneSixInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr settings, const QString &rootDir)
|
OneSixInstance::OneSixInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr settings, const QString &rootDir)
|
||||||
: MinecraftInstance(globalSettings, settings, rootDir)
|
: MinecraftInstance(globalSettings, settings, rootDir)
|
||||||
{
|
{
|
||||||
@ -53,29 +45,6 @@ void OneSixInstance::createProfile()
|
|||||||
m_version.reset(new MinecraftProfile(new OneSixProfileStrategy(this)));
|
m_version.reset(new MinecraftProfile(new OneSixProfileStrategy(this)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QList<BasePage *> OneSixInstance::getPages()
|
|
||||||
{
|
|
||||||
QList<BasePage *> values;
|
|
||||||
values.append(new VersionPage(this));
|
|
||||||
values.append(new ModFolderPage(this, loaderModList(), "mods", "loadermods",
|
|
||||||
tr("Loader mods"), "Loader-mods"));
|
|
||||||
values.append(new CoreModFolderPage(this, coreModList(), "coremods", "coremods",
|
|
||||||
tr("Core mods"), "Core-mods"));
|
|
||||||
values.append(new ResourcePackPage(this));
|
|
||||||
values.append(new TexturePackPage(this));
|
|
||||||
values.append(new NotesPage(this));
|
|
||||||
values.append(new ScreenshotsPage(PathCombine(minecraftRoot(), "screenshots")));
|
|
||||||
values.append(new InstanceSettingsPage(this));
|
|
||||||
values.append(new OtherLogsPage(minecraftRoot()));
|
|
||||||
return values;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString OneSixInstance::dialogTitle()
|
|
||||||
{
|
|
||||||
return tr("Edit Instance (%1)").arg(name());
|
|
||||||
}
|
|
||||||
|
|
||||||
QSet<QString> OneSixInstance::traits()
|
QSet<QString> OneSixInstance::traits()
|
||||||
{
|
{
|
||||||
auto version = getMinecraftProfile();
|
auto version = getMinecraftProfile();
|
||||||
|
@ -19,9 +19,8 @@
|
|||||||
|
|
||||||
#include "logic/minecraft/MinecraftProfile.h"
|
#include "logic/minecraft/MinecraftProfile.h"
|
||||||
#include "logic/minecraft/ModList.h"
|
#include "logic/minecraft/ModList.h"
|
||||||
#include "gui/pages/BasePageProvider.h"
|
|
||||||
|
|
||||||
class OneSixInstance : public MinecraftInstance, public BasePageProvider
|
class OneSixInstance : public MinecraftInstance
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
@ -30,10 +29,6 @@ public:
|
|||||||
|
|
||||||
virtual void init();
|
virtual void init();
|
||||||
|
|
||||||
////// Edit Instance Dialog stuff //////
|
|
||||||
virtual QList<BasePage *> getPages();
|
|
||||||
virtual QString dialogTitle();
|
|
||||||
|
|
||||||
////// Mod Lists //////
|
////// Mod Lists //////
|
||||||
std::shared_ptr<ModList> loaderModList() const;
|
std::shared_ptr<ModList> loaderModList() const;
|
||||||
std::shared_ptr<ModList> coreModList() const;
|
std::shared_ptr<ModList> coreModList() const;
|
||||||
|
Loading…
Reference in New Issue
Block a user