From f897a200e2607fd99116a3ab4bb9ba757a52139b Mon Sep 17 00:00:00 2001 From: Stiepen22 Date: Fri, 6 Sep 2013 22:40:50 +0200 Subject: Made instace killing actually work --- gui/consolewindow.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'gui/consolewindow.cpp') diff --git a/gui/consolewindow.cpp b/gui/consolewindow.cpp index 811900a2..f2bc662a 100644 --- a/gui/consolewindow.cpp +++ b/gui/consolewindow.cpp @@ -2,11 +2,13 @@ #include "ui_consolewindow.h" #include +#include -ConsoleWindow::ConsoleWindow(QWidget *parent) : +ConsoleWindow::ConsoleWindow(MinecraftProcess *mcproc, QWidget *parent) : QDialog(parent), ui(new Ui::ConsoleWindow), - m_mayclose(true) + m_mayclose(true), + proc(mcproc) { ui->setupUi(this); } @@ -40,6 +42,9 @@ void ConsoleWindow::write(QString data, MessageLevel::Enum mode) else if (mode == MessageLevel::Error) while(iter.hasNext()) writeColor(iter.next(), "red"); + else if (mode == MessageLevel::Warning) + while(iter.hasNext()) + writeColor(iter.next(), "orange"); // TODO: implement other MessageLevels else while(iter.hasNext()) @@ -72,3 +77,18 @@ void ConsoleWindow::closeEvent(QCloseEvent * event) else QDialog::closeEvent(event); } + +void ConsoleWindow::on_btnKillMinecraft_clicked() +{ + ui->btnKillMinecraft->setEnabled(false); + QMessageBox r_u_sure; + r_u_sure.setText("Kill Minecraft?"); + r_u_sure.setInformativeText("This can cause the instance to get corrupted and should only be used if Minecraft is frozen for some reason"); + r_u_sure.setStandardButtons(QMessageBox::Yes | QMessageBox::No); + r_u_sure.setDefaultButton(QMessageBox::Yes); + if (r_u_sure.exec() == QMessageBox::Yes) + proc->killMinecraft(); + else + ui->btnKillMinecraft->setEnabled(true); + r_u_sure.close(); +} \ No newline at end of file -- cgit v1.2.3 From 3fd2d025a1aa0bbc72ac69a34828ef5942255143 Mon Sep 17 00:00:00 2001 From: Stiepen22 Date: Fri, 6 Sep 2013 23:52:17 +0200 Subject: Made main window hide on instace exit --- gui/consolewindow.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gui/consolewindow.cpp') diff --git a/gui/consolewindow.cpp b/gui/consolewindow.cpp index f2bc662a..f95d2742 100644 --- a/gui/consolewindow.cpp +++ b/gui/consolewindow.cpp @@ -11,6 +11,7 @@ ConsoleWindow::ConsoleWindow(MinecraftProcess *mcproc, QWidget *parent) : proc(mcproc) { ui->setupUi(this); + connect(mcproc, SIGNAL(ended()), this, SLOT(onEnded())); } ConsoleWindow::~ConsoleWindow() @@ -91,4 +92,9 @@ void ConsoleWindow::on_btnKillMinecraft_clicked() else ui->btnKillMinecraft->setEnabled(true); r_u_sure.close(); -} \ No newline at end of file +} + +void ConsoleWindow::onEnded() +{ + ui->btnKillMinecraft->setEnabled(false); +} -- cgit v1.2.3 From c985f68b729454b9f3c7188e0b2f1af4530411be Mon Sep 17 00:00:00 2001 From: Stiepen22 Date: Fri, 6 Sep 2013 23:58:10 +0200 Subject: Made main window hide on instace exit --- gui/consolewindow.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'gui/consolewindow.cpp') diff --git a/gui/consolewindow.cpp b/gui/consolewindow.cpp index f95d2742..04b77285 100644 --- a/gui/consolewindow.cpp +++ b/gui/consolewindow.cpp @@ -97,4 +97,5 @@ void ConsoleWindow::on_btnKillMinecraft_clicked() void ConsoleWindow::onEnded() { ui->btnKillMinecraft->setEnabled(false); + if (!proc->exitCode()) this->close(); } -- cgit v1.2.3 From 5cac21ca6387a3cbd5492b933c5ad6d7b76b8bc7 Mon Sep 17 00:00:00 2001 From: Stiepen22 Date: Sat, 7 Sep 2013 00:02:05 +0200 Subject: Enough main window hiding magic for now --- gui/consolewindow.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gui/consolewindow.cpp') diff --git a/gui/consolewindow.cpp b/gui/consolewindow.cpp index 04b77285..aba876c8 100644 --- a/gui/consolewindow.cpp +++ b/gui/consolewindow.cpp @@ -97,5 +97,6 @@ void ConsoleWindow::on_btnKillMinecraft_clicked() void ConsoleWindow::onEnded() { ui->btnKillMinecraft->setEnabled(false); - if (!proc->exitCode()) this->close(); + // TODO: Check why this doesn't work + if (!proc->exitCode()) this->close(); } -- cgit v1.2.3 From dab2bbe4e79cfd8b3b72b8d2fd0e5bd66e0281a9 Mon Sep 17 00:00:00 2001 From: Stiepen22 Date: Sun, 8 Sep 2013 15:02:52 +0200 Subject: Added console coloring and made the log not contain any usernames/session ids --- gui/consolewindow.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gui/consolewindow.cpp') diff --git a/gui/consolewindow.cpp b/gui/consolewindow.cpp index aba876c8..8ea90d45 100644 --- a/gui/consolewindow.cpp +++ b/gui/consolewindow.cpp @@ -23,7 +23,7 @@ void ConsoleWindow::writeColor(QString text, const char *color) { // append a paragraph if (color != nullptr) - ui->text->appendHtml(QString("%2").arg(color).arg(text)); + ui->text->appendHtml(QString("%2").arg(color).arg(text)); else ui->text->appendPlainText(text); // scroll down @@ -46,6 +46,12 @@ void ConsoleWindow::write(QString data, MessageLevel::Enum mode) else if (mode == MessageLevel::Warning) while(iter.hasNext()) writeColor(iter.next(), "orange"); + else if (mode == MessageLevel::Fatal) + while(iter.hasNext()) + writeColor(iter.next(), "pink"); + else if (mode == MessageLevel::Debug) + while(iter.hasNext()) + writeColor(iter.next(), "green"); // TODO: implement other MessageLevels else while(iter.hasNext()) -- cgit v1.2.3