diff options
author | Petr Mrázek <peterix@gmail.com> | 2016-11-01 01:25:04 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2016-11-01 01:25:04 +0100 |
commit | fe68d5946073d92bc585b2b5372c420218807c91 (patch) | |
tree | d85c710d4f3844e8ab04e94575f6244c151f4bd5 /application/MultiMC.h | |
parent | 4b03dfcbd77f50d1f8fa3eb9d661ebcba764b9ba (diff) | |
download | MultiMC-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.h | 18 |
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; |