summaryrefslogtreecommitdiffstats
path: root/application/LaunchController.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2016-08-11 00:44:01 +0200
committerPetr Mrázek <peterix@gmail.com>2016-08-11 00:44:01 +0200
commit2f0441b3c1cd9fc3bcb176d2852da8f92a6e6777 (patch)
tree649dcecfc5576ae4599303ca6b92fc2aab710848 /application/LaunchController.h
parent55544893a3c2a8f3d5cad13d11b3b2af6d69adcf (diff)
downloadMultiMC-2f0441b3c1cd9fc3bcb176d2852da8f92a6e6777.tar
MultiMC-2f0441b3c1cd9fc3bcb176d2852da8f92a6e6777.tar.gz
MultiMC-2f0441b3c1cd9fc3bcb176d2852da8f92a6e6777.tar.lz
MultiMC-2f0441b3c1cd9fc3bcb176d2852da8f92a6e6777.tar.xz
MultiMC-2f0441b3c1cd9fc3bcb176d2852da8f92a6e6777.zip
GH-1433 with no default account, show profiles instead of accounts in selection dialog
Diffstat (limited to 'application/LaunchController.h')
-rw-r--r--application/LaunchController.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/application/LaunchController.h b/application/LaunchController.h
new file mode 100644
index 00000000..55cb1e58
--- /dev/null
+++ b/application/LaunchController.h
@@ -0,0 +1,48 @@
+#pragma once
+#include <QObject>
+#include <BaseInstance.h>
+#include <tools/BaseProfiler.h>
+
+class InstanceWindow;
+class LaunchController: public Task
+{
+ Q_OBJECT
+public:
+ virtual void executeTask();
+
+ LaunchController(QObject * parent = nullptr);
+ virtual ~LaunchController(){};
+
+ void setInstance(InstancePtr instance)
+ {
+ m_instance = instance;
+ }
+ void setOnline(bool online)
+ {
+ m_online = online;
+ }
+ void setProfiler(BaseProfilerFactory *profiler)
+ {
+ m_profiler = profiler;
+ }
+ void setParentWidget(QWidget * widget)
+ {
+ m_parentWidget = widget;
+ }
+
+private:
+ void login();
+ void launchInstance();
+
+private slots:
+ void readyForLaunch();
+
+private:
+ BaseProfilerFactory *m_profiler = nullptr;
+ bool m_online = true;
+ InstancePtr m_instance;
+ QWidget * m_parentWidget = nullptr;
+ InstanceWindow *m_console = nullptr;
+ AuthSessionPtr m_session;
+ std::shared_ptr <LaunchTask> m_launcher;
+};