summaryrefslogtreecommitdiffstats
path: root/application/MultiMC.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2016-11-01 01:25:04 +0100
committerPetr Mrázek <peterix@gmail.com>2016-11-01 01:25:04 +0100
commitfe68d5946073d92bc585b2b5372c420218807c91 (patch)
treed85c710d4f3844e8ab04e94575f6244c151f4bd5 /application/MultiMC.h
parent4b03dfcbd77f50d1f8fa3eb9d661ebcba764b9ba (diff)
downloadMultiMC-fe68d5946073d92bc585b2b5372c420218807c91.tar
MultiMC-fe68d5946073d92bc585b2b5372c420218807c91.tar.gz
MultiMC-fe68d5946073d92bc585b2b5372c420218807c91.tar.lz
MultiMC-fe68d5946073d92bc585b2b5372c420218807c91.tar.xz
MultiMC-fe68d5946073d92bc585b2b5372c420218807c91.zip
GH-1645 reimplement open/close instance window based on settings
Diffstat (limited to 'application/MultiMC.h')
-rw-r--r--application/MultiMC.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/application/MultiMC.h b/application/MultiMC.h
index bb4b544a..e7f41f18 100644
--- a/application/MultiMC.h
+++ b/application/MultiMC.h
@@ -154,6 +154,9 @@ private slots:
void messageReceived(const QString & message);
+ void controllerSucceeded();
+ void controllerFailed(const QString & error);
+
private:
void initLogger();
void initIcons();
@@ -167,7 +170,6 @@ private:
private:
QDateTime startTime;
- unique_qobject_ptr<LaunchController> m_launchController;
std::shared_ptr<QTranslator> m_qt_translator;
std::shared_ptr<QTranslator> m_mmc_translator;
std::shared_ptr<SettingsObject> m_settings;
@@ -189,16 +191,24 @@ private:
QMap<QString, std::shared_ptr<BaseDetachedToolFactory>> m_tools;
QString m_rootPath;
-
Status m_status = MultiMC::Failed;
// used on Windows to attach the standard IO streams
bool consoleAttached = false;
- // map from instance ID to its window
- QMap<QString, InstanceWindow *> m_instanceWindows;
+ // FIXME: attach to instances instead.
+ struct InstanceXtras
+ {
+ InstanceWindow * window = nullptr;
+ unique_qobject_ptr<LaunchController> controller;
+ };
+ std::map<QString, InstanceXtras> m_instanceExtras;
+ size_t m_openWindows = 0;
+
// main window, if any
MainWindow * m_mainWindow = nullptr;
+
+ // peer MultiMC instance connector - used to implement single instance MultiMC and signalling
LocalPeer * m_peerInstance = nullptr;
public:
QString m_instanceIdToLaunch;