diff options
author | Thomas Groman <tgroman@nuegia.net> | 2019-09-19 00:41:48 -0700 |
---|---|---|
committer | Thomas Groman <tgroman@nuegia.net> | 2019-09-19 00:41:48 -0700 |
commit | 32b3ed0a1362a4b0798ad71fac3450fb77cb7e41 (patch) | |
tree | 7be7a2f602e6a5af7bc2db86bef9cf2a659c3d3d /application/MultiMC.h | |
parent | 5fb2c6334e7d5237db11695b4c0ec0f2d1e47c88 (diff) | |
download | MultiMC-32b3ed0a1362a4b0798ad71fac3450fb77cb7e41.tar MultiMC-32b3ed0a1362a4b0798ad71fac3450fb77cb7e41.tar.gz MultiMC-32b3ed0a1362a4b0798ad71fac3450fb77cb7e41.tar.lz MultiMC-32b3ed0a1362a4b0798ad71fac3450fb77cb7e41.tar.xz MultiMC-32b3ed0a1362a4b0798ad71fac3450fb77cb7e41.zip |
merged from 0.6.7 codebase
Diffstat (limited to 'application/MultiMC.h')
-rw-r--r-- | application/MultiMC.h | 253 |
1 files changed, 130 insertions, 123 deletions
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<SettingsObject> settings() const - { - return m_settings; - } + std::shared_ptr<SettingsObject> settings() const + { + return m_settings; + } - std::shared_ptr<GenericPageProvider> 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<ITheme *> getValidApplicationThemes(); - std::vector<ITheme *> getValidApplicationThemes(); + void setApplicationTheme(const QString& name, bool initial); - void setApplicationTheme(const QString& name, bool initial); + // DownloadUpdateTask + std::shared_ptr<UpdateChecker> updateChecker() + { + return m_updateChecker; + } - // DownloadUpdateTask - std::shared_ptr<UpdateChecker> updateChecker() - { - return m_updateChecker; - } + std::shared_ptr<TranslationsModel> translations(); - std::shared_ptr<TranslationsModel> translations(); + std::shared_ptr<JavaInstallList> javalist(); - std::shared_ptr<JavaInstallList> javalist(); + std::shared_ptr<InstanceList> instances() const + { + return m_instances; + } - std::shared_ptr<InstanceList> instances() const - { - return m_instances; - } + FolderInstanceProvider * folderProvider() const + { + return m_instanceFolder; + } - FolderInstanceProvider * folderProvider() const - { - return m_instanceFolder; - } + std::shared_ptr<IconList> icons() const + { + return m_icons; + } - std::shared_ptr<IconList> icons() const - { - return m_icons; - } + MCEditTool *mcedit() const + { + return m_mcedit.get(); + } - MCEditTool *mcedit() const - { - return m_mcedit.get(); - } + std::shared_ptr<MojangAccountList> accounts() const + { + return m_accounts; + } - std::shared_ptr<MojangAccountList> accounts() const - { - return m_accounts; - } + Status status() const + { + return m_status; + } - Status status() const - { - return m_status; - } + const QMap<QString, std::shared_ptr<BaseProfilerFactory>> &profilers() const + { + return m_profilers; + } - const QMap<QString, std::shared_ptr<BaseProfilerFactory>> &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<SettingsObject> m_settings; - std::shared_ptr<InstanceList> m_instances; - FolderInstanceProvider * m_instanceFolder = nullptr; - std::shared_ptr<IconList> m_icons; - std::shared_ptr<UpdateChecker> m_updateChecker; - std::shared_ptr<MojangAccountList> m_accounts; - std::shared_ptr<JavaInstallList> m_javalist; - std::shared_ptr<TranslationsModel> m_translations; - std::shared_ptr<GenericPageProvider> m_globalSettingsProvider; - std::map<QString, std::unique_ptr<ITheme>> m_themes; - std::unique_ptr<MCEditTool> m_mcedit; + std::shared_ptr<SettingsObject> m_settings; + std::shared_ptr<InstanceList> m_instances; + FolderInstanceProvider * m_instanceFolder = nullptr; + std::shared_ptr<IconList> m_icons; + std::shared_ptr<UpdateChecker> m_updateChecker; + std::shared_ptr<MojangAccountList> m_accounts; + std::shared_ptr<JavaInstallList> m_javalist; + std::shared_ptr<TranslationsModel> m_translations; + std::shared_ptr<GenericPageProvider> m_globalSettingsProvider; + std::map<QString, std::unique_ptr<ITheme>> m_themes; + std::unique_ptr<MCEditTool> m_mcedit; - QMap<QString, std::shared_ptr<BaseProfilerFactory>> m_profilers; + QMap<QString, std::shared_ptr<BaseProfilerFactory>> 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<LaunchController> controller; - }; - std::map<QString, InstanceXtras> m_instanceExtras; + // FIXME: attach to instances instead. + struct InstanceXtras + { + InstanceWindow * window = nullptr; + shared_qobject_ptr<LaunchController> controller; + }; + std::map<QString, InstanceXtras> 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<QFile> logFile; + QString m_instanceIdToLaunch; + bool m_liveCheck = false; + std::unique_ptr<QFile> logFile; }; |