summaryrefslogtreecommitdiffstats
path: root/logic/InstanceLauncher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'logic/InstanceLauncher.cpp')
-rw-r--r--logic/InstanceLauncher.cpp77
1 files changed, 48 insertions, 29 deletions
diff --git a/logic/InstanceLauncher.cpp b/logic/InstanceLauncher.cpp
index 720052a3..9f78e55b 100644
--- a/logic/InstanceLauncher.cpp
+++ b/logic/InstanceLauncher.cpp
@@ -1,18 +1,34 @@
+/* Copyright 2013 MultiMC Contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <iostream>
+
#include "InstanceLauncher.h"
#include "MultiMC.h"
-#include <iostream>
-#include "gui/logindialog.h"
-#include "gui/ProgressDialog.h"
-#include "gui/consolewindow.h"
+#include "gui/ConsoleWindow.h"
+#include "gui/dialogs/LoginDialog.h"
+#include "gui/dialogs/ProgressDialog.h"
+
#include "logic/net/LoginTask.h"
#include "logic/MinecraftProcess.h"
-#include "lists/InstanceList.h"
-
+#include "logic/lists/InstanceList.h"
-InstanceLauncher::InstanceLauncher ( QString instId )
- :QObject(), instId ( instId )
-{}
+InstanceLauncher::InstanceLauncher(QString instId) : QObject(), instId(instId)
+{
+}
void InstanceLauncher::onTerminated()
{
@@ -22,53 +38,56 @@ void InstanceLauncher::onTerminated()
void InstanceLauncher::onLoginComplete()
{
- LoginTask * task = ( LoginTask * ) QObject::sender();
+ LoginTask *task = (LoginTask *)QObject::sender();
auto result = task->getResult();
auto instance = MMC->instances()->getInstanceById(instId);
- proc = instance->prepareForLaunch ( result );
- if ( !proc )
+ proc = instance->prepareForLaunch(result);
+ if (!proc)
{
- //FIXME: report error
+ // FIXME: report error
return;
}
console = new ConsoleWindow(proc);
console->show();
- connect ( proc, SIGNAL ( ended() ), SLOT ( onTerminated() ) );
- connect ( proc, SIGNAL ( log ( QString,MessageLevel::Enum ) ), console, SLOT ( write ( QString,MessageLevel::Enum ) ) );
+ connect(proc, SIGNAL(ended()), SLOT(onTerminated()));
+ connect(proc, SIGNAL(log(QString, MessageLevel::Enum)), console,
+ SLOT(write(QString, MessageLevel::Enum)));
proc->launch();
}
-void InstanceLauncher::doLogin ( const QString& errorMsg )
+void InstanceLauncher::doLogin(const QString &errorMsg)
{
- LoginDialog* loginDlg = new LoginDialog ( nullptr, errorMsg );
+ LoginDialog *loginDlg = new LoginDialog(nullptr, errorMsg);
loginDlg->exec();
- if ( loginDlg->result() == QDialog::Accepted )
+ if (loginDlg->result() == QDialog::Accepted)
{
- UserInfo uInfo {loginDlg->getUsername(), loginDlg->getPassword() };
+ UserInfo uInfo{loginDlg->getUsername(), loginDlg->getPassword()};
- ProgressDialog* tDialog = new ProgressDialog ( nullptr );
- LoginTask* loginTask = new LoginTask ( uInfo, tDialog );
- connect ( loginTask, SIGNAL ( succeeded() ),SLOT ( onLoginComplete() ), Qt::QueuedConnection );
- connect ( loginTask, SIGNAL ( failed ( QString ) ),SLOT ( doLogin ( QString ) ), Qt::QueuedConnection );
- tDialog->exec ( loginTask );
+ ProgressDialog *tDialog = new ProgressDialog(nullptr);
+ LoginTask *loginTask = new LoginTask(uInfo, tDialog);
+ connect(loginTask, SIGNAL(succeeded()), SLOT(onLoginComplete()), Qt::QueuedConnection);
+ connect(loginTask, SIGNAL(failed(QString)), SLOT(doLogin(QString)),
+ Qt::QueuedConnection);
+ tDialog->exec(loginTask);
}
- //onLoginComplete(LoginResponse("Offline","Offline", 1));
+ // onLoginComplete(LoginResponse("Offline","Offline", 1));
}
int InstanceLauncher::launch()
{
- std::cout << "Launching Instance '" << qPrintable ( instId ) << "'" << std::endl;
+ std::cout << "Launching Instance '" << qPrintable(instId) << "'" << std::endl;
auto instance = MMC->instances()->getInstanceById(instId);
- if ( !instance )
+ if (!instance)
{
- std::cout << "Could not find instance requested. note that you have to specify the ID, not the NAME" << std::endl;
+ std::cout << "Could not find instance requested. note that you have to specify the ID, "
+ "not the NAME" << std::endl;
return 1;
}
std::cout << "Logging in..." << std::endl;
- doLogin ( "" );
+ doLogin("");
return MMC->exec();
}