From 32b3ed0a1362a4b0798ad71fac3450fb77cb7e41 Mon Sep 17 00:00:00 2001 From: Thomas Groman Date: Thu, 19 Sep 2019 00:41:48 -0700 Subject: merged from 0.6.7 codebase --- application/MultiMC.h | 253 ++++++++++++++++++++++++++------------------------ 1 file changed, 130 insertions(+), 123 deletions(-) (limited to 'application/MultiMC.h') diff --git a/application/MultiMC.h b/application/MultiMC.h index 9c91d06d..056fca88 100644 --- a/application/MultiMC.h +++ b/application/MultiMC.h @@ -39,182 +39,189 @@ class MCEditTool; class MultiMC : public QApplication { - // friends for the purpose of limiting access to deprecated stuff - Q_OBJECT + // friends for the purpose of limiting access to deprecated stuff + Q_OBJECT public: - enum Status - { - StartingUp, - Failed, - Succeeded, - Initialized - }; + enum Status + { + StartingUp, + Failed, + Succeeded, + Initialized + }; public: - MultiMC(int &argc, char **argv); - virtual ~MultiMC(); + MultiMC(int &argc, char **argv); + virtual ~MultiMC(); - std::shared_ptr settings() const - { - return m_settings; - } + std::shared_ptr settings() const + { + return m_settings; + } - std::shared_ptr globalSettingsPages() const - { - return m_globalSettingsProvider; - } + qint64 timeSinceStart() const + { + return startTime.msecsTo(QDateTime::currentDateTime()); + } - qint64 timeSinceStart() const - { - return startTime.msecsTo(QDateTime::currentDateTime()); - } + QIcon getThemedIcon(const QString& name); - QIcon getThemedIcon(const QString& name); + void setIconTheme(const QString& name); - void setIconTheme(const QString& name); + std::vector getValidApplicationThemes(); - std::vector getValidApplicationThemes(); + void setApplicationTheme(const QString& name, bool initial); - void setApplicationTheme(const QString& name, bool initial); + // DownloadUpdateTask + std::shared_ptr updateChecker() + { + return m_updateChecker; + } - // DownloadUpdateTask - std::shared_ptr updateChecker() - { - return m_updateChecker; - } + std::shared_ptr translations(); - std::shared_ptr translations(); + std::shared_ptr javalist(); - std::shared_ptr javalist(); + std::shared_ptr instances() const + { + return m_instances; + } - std::shared_ptr instances() const - { - return m_instances; - } + FolderInstanceProvider * folderProvider() const + { + return m_instanceFolder; + } - FolderInstanceProvider * folderProvider() const - { - return m_instanceFolder; - } + std::shared_ptr icons() const + { + return m_icons; + } - std::shared_ptr icons() const - { - return m_icons; - } + MCEditTool *mcedit() const + { + return m_mcedit.get(); + } - MCEditTool *mcedit() const - { - return m_mcedit.get(); - } + std::shared_ptr accounts() const + { + return m_accounts; + } - std::shared_ptr accounts() const - { - return m_accounts; - } + Status status() const + { + return m_status; + } - Status status() const - { - return m_status; - } + const QMap> &profilers() const + { + return m_profilers; + } - const QMap> &profilers() const - { - return m_profilers; - } + /// this is the root of the 'installation'. Used for automatic updates + const QString &root() + { + return m_rootPath; + } - /// this is the root of the 'installation'. Used for automatic updates - const QString &root() - { - return m_rootPath; - } + /*! + * Opens a json file using either a system default editor, or, if not empty, the editor + * specified in the settings + */ + bool openJsonEditor(const QString &filename); - /*! - * Opens a json file using either a system default editor, or, if not empty, the editor - * specified in the settings - */ - bool openJsonEditor(const QString &filename); + InstanceWindow *showInstanceWindow(InstancePtr instance, QString page = QString()); + MainWindow *showMainWindow(bool minimized = false); - InstanceWindow *showInstanceWindow(InstancePtr instance, QString page = QString()); - MainWindow *showMainWindow(bool minimized = false); + void updateIsRunning(bool running); + bool updatesAreAllowed(); - void updateIsRunning(bool running); - bool updatesAreAllowed(); + void ShowGlobalSettings(class QWidget * parent, QString open_page = QString()); signals: - void updateAllowedChanged(bool status); + void updateAllowedChanged(bool status); + void globalSettingsAboutToOpen(); + void globalSettingsClosed(); public slots: - bool launch(InstancePtr instance, bool online = true, BaseProfilerFactory *profiler = nullptr); - bool kill(InstancePtr instance); + bool launch(InstancePtr instance, bool online = true, BaseProfilerFactory *profiler = nullptr); + bool kill(InstancePtr instance); private slots: +<<<<<<< HEAD void on_windowClose(); void messageReceived(const QString & message); void controllerSucceeded(); void controllerFailed(const QString & error); /* void analyticsSettingChanged(const Setting &setting, QVariant value); */ void setupWizardFinished(int status); +======= + void on_windowClose(); + void messageReceived(const QString & message); + void controllerSucceeded(); + void controllerFailed(const QString & error); + void analyticsSettingChanged(const Setting &setting, QVariant value); + void setupWizardFinished(int status); +>>>>>>> origin/stable private: - bool createSetupWizard(); - void performMainStartupAction(); + bool createSetupWizard(); + void performMainStartupAction(); - // sets the fatal error message and m_status to Failed. - void showFatalErrorMessage(const QString & title, const QString & content); + // sets the fatal error message and m_status to Failed. + void showFatalErrorMessage(const QString & title, const QString & content); private: - void addRunningInstance(); - void subRunningInstance(); - bool shouldExitNow() const; + void addRunningInstance(); + void subRunningInstance(); + bool shouldExitNow() const; private: - QDateTime startTime; + QDateTime startTime; - std::shared_ptr m_settings; - std::shared_ptr m_instances; - FolderInstanceProvider * m_instanceFolder = nullptr; - std::shared_ptr m_icons; - std::shared_ptr m_updateChecker; - std::shared_ptr m_accounts; - std::shared_ptr m_javalist; - std::shared_ptr m_translations; - std::shared_ptr m_globalSettingsProvider; - std::map> m_themes; - std::unique_ptr m_mcedit; + std::shared_ptr m_settings; + std::shared_ptr m_instances; + FolderInstanceProvider * m_instanceFolder = nullptr; + std::shared_ptr m_icons; + std::shared_ptr m_updateChecker; + std::shared_ptr m_accounts; + std::shared_ptr m_javalist; + std::shared_ptr m_translations; + std::shared_ptr m_globalSettingsProvider; + std::map> m_themes; + std::unique_ptr m_mcedit; - QMap> m_profilers; + QMap> m_profilers; - QString m_rootPath; - Status m_status = MultiMC::StartingUp; + QString m_rootPath; + Status m_status = MultiMC::StartingUp; #if defined Q_OS_WIN32 - // used on Windows to attach the standard IO streams - bool consoleAttached = false; + // used on Windows to attach the standard IO streams + bool consoleAttached = false; #endif - // FIXME: attach to instances instead. - struct InstanceXtras - { - InstanceWindow * window = nullptr; - shared_qobject_ptr controller; - }; - std::map m_instanceExtras; + // FIXME: attach to instances instead. + struct InstanceXtras + { + InstanceWindow * window = nullptr; + shared_qobject_ptr controller; + }; + std::map m_instanceExtras; - // main state variables - size_t m_openWindows = 0; - size_t m_runningInstances = 0; - bool m_updateRunning = false; + // main state variables + size_t m_openWindows = 0; + size_t m_runningInstances = 0; + bool m_updateRunning = false; - // main window, if any - MainWindow * m_mainWindow = nullptr; + // main window, if any + MainWindow * m_mainWindow = nullptr; - // peer MultiMC instance connector - used to implement single instance MultiMC and signalling - LocalPeer * m_peerInstance = nullptr; + // peer MultiMC instance connector - used to implement single instance MultiMC and signalling + LocalPeer * m_peerInstance = nullptr; -/* GAnalytics * m_analytics = nullptr; */ - SetupWizard * m_setupWizard = nullptr; + SetupWizard * m_setupWizard = nullptr; public: - QString m_instanceIdToLaunch; - bool m_liveCheck = false; - std::unique_ptr logFile; + QString m_instanceIdToLaunch; + bool m_liveCheck = false; + std::unique_ptr logFile; }; -- cgit v1.2.3