summaryrefslogtreecommitdiffstats
path: root/application/MultiMC.h
diff options
context:
space:
mode:
authorThomas Groman <tgroman@nuegia.net>2019-09-19 00:41:48 -0700
committerThomas Groman <tgroman@nuegia.net>2019-09-19 00:41:48 -0700
commit32b3ed0a1362a4b0798ad71fac3450fb77cb7e41 (patch)
tree7be7a2f602e6a5af7bc2db86bef9cf2a659c3d3d /application/MultiMC.h
parent5fb2c6334e7d5237db11695b4c0ec0f2d1e47c88 (diff)
downloadMultiMC-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.h253
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;
};