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.cpp
|
||||
|
||||
gui/InstancePageProvider.h
|
||||
gui/InstancePageProvider.cpp
|
||||
|
||||
# GUI - page dialog pages
|
||||
gui/pages/BasePage.h
|
||||
gui/pages/VersionPage.cpp
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include <gui/dialogs/ProgressDialog.h>
|
||||
#include "widgets/PageContainer.h"
|
||||
#include "pages/LogPage.h"
|
||||
#include "InstancePageProvider.h"
|
||||
|
||||
#include "logic/icons/IconList.h"
|
||||
|
||||
@ -71,8 +72,9 @@ ConsoleWindow::ConsoleWindow(BaseProcess *process, QWidget *parent)
|
||||
// Add page container
|
||||
{
|
||||
auto mainLayout = new QVBoxLayout;
|
||||
auto provider = std::dynamic_pointer_cast<BasePageProvider>(m_proc->instance());
|
||||
auto proxy_provider = std::make_shared<LogPageProvider>(provider, new LogPage(m_proc));
|
||||
auto provider = std::make_shared<InstancePageProvider>(m_proc->instance());
|
||||
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);
|
||||
mainLayout->addWidget(m_container);
|
||||
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/java/JavaUtils.h"
|
||||
#include "gui/NagUtils.h"
|
||||
#include "InstancePageProvider.h"
|
||||
#include "logic/minecraft/SkinUtils.h"
|
||||
|
||||
//#include "logic/minecraft/LegacyInstance.h"
|
||||
@ -1366,6 +1367,12 @@ void ShowPageDialog(T raw_provider, QWidget * parent, QString open_page = QStrin
|
||||
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()
|
||||
{
|
||||
ShowPageDialog(m_globalSettingsProvider, this, "global-settings");
|
||||
@ -1378,22 +1385,22 @@ void MainWindow::on_actionSettings_triggered()
|
||||
|
||||
void MainWindow::on_actionInstanceSettings_triggered()
|
||||
{
|
||||
ShowPageDialog(m_selectedInstance, this, "settings");
|
||||
ShowInstancePageDialog(m_selectedInstance, this, "settings");
|
||||
}
|
||||
|
||||
void MainWindow::on_actionEditInstNotes_triggered()
|
||||
{
|
||||
ShowPageDialog(m_selectedInstance, this, "notes");
|
||||
ShowInstancePageDialog(m_selectedInstance, this, "notes");
|
||||
}
|
||||
|
||||
void MainWindow::on_actionEditInstance_triggered()
|
||||
{
|
||||
ShowPageDialog(m_selectedInstance, this);
|
||||
ShowInstancePageDialog(m_selectedInstance, this);
|
||||
}
|
||||
|
||||
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/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)
|
||||
: MinecraftInstance(globalSettings, settings, rootDir)
|
||||
{
|
||||
@ -53,29 +45,6 @@ void OneSixInstance::createProfile()
|
||||
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()
|
||||
{
|
||||
auto version = getMinecraftProfile();
|
||||
|
@ -19,9 +19,8 @@
|
||||
|
||||
#include "logic/minecraft/MinecraftProfile.h"
|
||||
#include "logic/minecraft/ModList.h"
|
||||
#include "gui/pages/BasePageProvider.h"
|
||||
|
||||
class OneSixInstance : public MinecraftInstance, public BasePageProvider
|
||||
class OneSixInstance : public MinecraftInstance
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@ -30,10 +29,6 @@ public:
|
||||
|
||||
virtual void init();
|
||||
|
||||
////// Edit Instance Dialog stuff //////
|
||||
virtual QList<BasePage *> getPages();
|
||||
virtual QString dialogTitle();
|
||||
|
||||
////// Mod Lists //////
|
||||
std::shared_ptr<ModList> loaderModList() const;
|
||||
std::shared_ptr<ModList> coreModList() const;
|
||||
|
Loading…
Reference in New Issue
Block a user