From fe68d5946073d92bc585b2b5372c420218807c91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Tue, 1 Nov 2016 01:25:04 +0100 Subject: GH-1645 reimplement open/close instance window based on settings --- application/MultiMC.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'application/MultiMC.h') 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 m_launchController; std::shared_ptr m_qt_translator; std::shared_ptr m_mmc_translator; std::shared_ptr m_settings; @@ -189,16 +191,24 @@ private: QMap> 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 m_instanceWindows; + // FIXME: attach to instances instead. + struct InstanceXtras + { + InstanceWindow * window = nullptr; + unique_qobject_ptr controller; + }; + std::map 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; -- cgit v1.2.3