From 3a0367a79c53c59e670ee50927247885fe4807cb Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 28 Jan 2013 18:01:20 -0600 Subject: Resized main window and added version info. --- gui/mainwindow.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gui/mainwindow.cpp') diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 87a1dcc0..eedaddb8 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -19,13 +19,17 @@ #include #include -#include "../gui/settingsdialog.h" +#include "gui/settingsdialog.h" +#include "data/version.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); + + setWindowTitle(QString("MultiMC %1").arg(Version::current.toString())); + instList.initialLoad("instances"); ui->instanceView->setModel(&instList); } -- cgit v1.2.3 From 7ac25bf2dae0c4435732265d26924140893914ff Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 29 Jan 2013 00:26:24 -0600 Subject: Implemented the view folder buttons on the main window. --- gui/mainwindow.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gui/mainwindow.cpp') diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index eedaddb8..e2a3abfb 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -19,7 +19,9 @@ #include #include +#include "util/osutils.h" #include "gui/settingsdialog.h" +#include "data/appsettings.h" #include "data/version.h" MainWindow::MainWindow(QWidget *parent) : @@ -46,7 +48,7 @@ void MainWindow::on_actionAddInstance_triggered() void MainWindow::on_actionViewInstanceFolder_triggered() { - + openInDefaultProgram(settings->getInstanceDir()); } void MainWindow::on_actionRefresh_triggered() @@ -56,7 +58,7 @@ void MainWindow::on_actionRefresh_triggered() void MainWindow::on_actionViewCentralModsFolder_triggered() { - + openInDefaultProgram(settings->getCentralModsDir()); } void MainWindow::on_actionCheckUpdate_triggered() -- cgit v1.2.3 From 90764f97d94a52517d735ed96d26bb52a2d75de1 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 29 Jan 2013 23:52:37 -0600 Subject: Add instance toolbar. --- gui/mainwindow.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gui/mainwindow.cpp') diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index e2a3abfb..e257f5ae 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -32,6 +32,9 @@ MainWindow::MainWindow(QWidget *parent) : setWindowTitle(QString("MultiMC %1").arg(Version::current.toString())); + restoreGeometry(settings->getConfig().value("MainWindowGeometry", saveGeometry()).toByteArray()); + restoreState(settings->getConfig().value("MainWindowState", saveState()).toByteArray()); + instList.initialLoad("instances"); ui->instanceView->setModel(&instList); } @@ -86,3 +89,18 @@ void MainWindow::on_actionAbout_triggered() { } + +void MainWindow::on_mainToolBar_visibilityChanged(bool) +{ + // Don't allow hiding the main toolbar. + // This is the only way I could find to prevent it... :/ + ui->mainToolBar->setVisible(true); +} + +void MainWindow::closeEvent(QCloseEvent *event) +{ + // Save the window state and geometry. + settings->getConfig().setValue("MainWindowGeometry", saveGeometry()); + settings->getConfig().setValue("MainWindowState", saveState()); + QMainWindow::closeEvent(event); +} -- cgit v1.2.3 From de2632af0dcd7e6a1c3c763c9f7cf38c67ead441 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 31 Jan 2013 14:31:16 -0600 Subject: Added instance context menu and status tips. --- gui/mainwindow.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gui/mainwindow.cpp') diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index e257f5ae..dc8f77fe 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -16,6 +16,8 @@ #include "mainwindow.h" #include "ui_mainwindow.h" +#include + #include #include @@ -104,3 +106,13 @@ void MainWindow::closeEvent(QCloseEvent *event) settings->getConfig().setValue("MainWindowState", saveState()); QMainWindow::closeEvent(event); } + +void MainWindow::on_instanceView_customContextMenuRequested(const QPoint &pos) +{ + QMenu *instContextMenu = new QMenu("Instance", this); + + // Add the actions from the toolbar to the context menu. + instContextMenu->addActions(ui->instanceToolBar->actions()); + + instContextMenu->exec(ui->instanceView->mapToGlobal(pos)); +} -- cgit v1.2.3 From a96e1853de4c2769a6c3092212bec4276630b719 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 1 Feb 2013 12:22:22 -0600 Subject: Implement news and report bug buttons. --- gui/mainwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gui/mainwindow.cpp') diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index dc8f77fe..3a5e3d86 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -79,12 +79,12 @@ void MainWindow::on_actionSettings_triggered() void MainWindow::on_actionReportBug_triggered() { - + QDesktopServices::openUrl(QUrl("http://bugs.forkk.net/")); } void MainWindow::on_actionNews_triggered() { - + QDesktopServices::openUrl(QUrl("http://news.forkk.net/")); } void MainWindow::on_actionAbout_triggered() -- cgit v1.2.3 From 3c8a12aded03e6e3f4a0c50cbb7a7ef4e57fab07 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 1 Feb 2013 13:07:36 -0600 Subject: Added new instance dialog. --- gui/mainwindow.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gui/mainwindow.cpp') diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 3a5e3d86..1ff633b2 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -17,12 +17,16 @@ #include "ui_mainwindow.h" #include +#include #include #include #include "util/osutils.h" + #include "gui/settingsdialog.h" +#include "gui/newinstancedialog.h" + #include "data/appsettings.h" #include "data/version.h" @@ -48,7 +52,8 @@ MainWindow::~MainWindow() void MainWindow::on_actionAddInstance_triggered() { - + NewInstanceDialog *newInstDlg = new NewInstanceDialog(this); + newInstDlg->exec(); } void MainWindow::on_actionViewInstanceFolder_triggered() -- cgit v1.2.3 From a416c58a93dd9d108f4c4fa968b9431e30834c5c Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 5 Feb 2013 16:34:20 -0600 Subject: Started working on task system and login system. --- gui/mainwindow.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gui/mainwindow.cpp') diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 1ff633b2..c2f0c390 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -26,10 +26,14 @@ #include "gui/settingsdialog.h" #include "gui/newinstancedialog.h" +#include "gui/logindialog.h" +#include "gui/taskdialog.h" #include "data/appsettings.h" #include "data/version.h" +#include "tasks/logintask.h" + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) @@ -121,3 +125,31 @@ void MainWindow::on_instanceView_customContextMenuRequested(const QPoint &pos) instContextMenu->exec(ui->instanceView->mapToGlobal(pos)); } + + +void MainWindow::on_actionLaunchInstance_triggered() +{ + doLogin(); +} + +void MainWindow::doLogin(const QString &errorMsg) +{ + LoginDialog* loginDlg = new LoginDialog(this, errorMsg); + if (loginDlg->exec()) + { + UserInfo uInfo(loginDlg->getUsername(), loginDlg->getPassword()); + + TaskDialog* tDialog = new TaskDialog(this); + LoginTask* loginTask = new LoginTask(uInfo, tDialog); + connect(loginTask, SIGNAL(loginComplete(LoginResponse)), + SLOT(onLoginComplete(LoginResponse))); + connect(loginTask, SIGNAL(loginFailed(QString)), + SLOT(doLogin(QString))); + tDialog->exec(loginTask); + } +} + +void MainWindow::onLoginComplete(LoginResponse response) +{ + +} -- cgit v1.2.3 From e475f5d51251ae57da0480bbadc9cb32a8bc72b2 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 5 Feb 2013 19:22:19 -0600 Subject: Implemented login system. --- gui/mainwindow.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gui/mainwindow.cpp') diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index c2f0c390..bc0840a0 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -142,14 +142,16 @@ void MainWindow::doLogin(const QString &errorMsg) TaskDialog* tDialog = new TaskDialog(this); LoginTask* loginTask = new LoginTask(uInfo, tDialog); connect(loginTask, SIGNAL(loginComplete(LoginResponse)), - SLOT(onLoginComplete(LoginResponse))); + SLOT(onLoginComplete(LoginResponse)), Qt::QueuedConnection); connect(loginTask, SIGNAL(loginFailed(QString)), - SLOT(doLogin(QString))); + SLOT(doLogin(QString)), Qt::QueuedConnection); tDialog->exec(loginTask); } } void MainWindow::onLoginComplete(LoginResponse response) { - + QMessageBox::information(this, "Login Successful", + QString("Logged in as %1 with session ID %2."). + arg(response.getUsername(), response.getSessionID())); } -- cgit v1.2.3