diff options
author | Petr Mrázek <peterix@gmail.com> | 2013-11-04 02:53:05 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2013-11-04 02:53:05 +0100 |
commit | bb7e8985f6d189de0acac6a1c3033cb16378c1fb (patch) | |
tree | 7c2e88c7184a7f5acf5e7a03be5c5f0bf6904113 /gui/consolewindow.cpp | |
parent | d6e4fb29713d6ce55b092c0e22412f6121e7f516 (diff) | |
download | PrismLauncher-bb7e8985f6d189de0acac6a1c3033cb16378c1fb.tar.gz PrismLauncher-bb7e8985f6d189de0acac6a1c3033cb16378c1fb.tar.bz2 PrismLauncher-bb7e8985f6d189de0acac6a1c3033cb16378c1fb.zip |
Reformat and (slightly) decruft all the things.
Diffstat (limited to 'gui/consolewindow.cpp')
-rw-r--r-- | gui/consolewindow.cpp | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/gui/consolewindow.cpp b/gui/consolewindow.cpp deleted file mode 100644 index 49e12339..00000000 --- a/gui/consolewindow.cpp +++ /dev/null @@ -1,120 +0,0 @@ -#include "consolewindow.h" -#include "ui_consolewindow.h" - -#include <QScrollBar> -#include <QMessageBox> - -#include <gui/platform.h> -#include <gui/CustomMessageBox.h> - -ConsoleWindow::ConsoleWindow(MinecraftProcess *mcproc, QWidget *parent) : - QDialog(parent), - ui(new Ui::ConsoleWindow), - m_mayclose(true), - proc(mcproc) -{ - MultiMCPlatform::fixWM_CLASS(this); - ui->setupUi(this); - this->setWindowFlags(Qt::Window); - connect(mcproc, SIGNAL(ended(BaseInstance*)), this, SLOT(onEnded(BaseInstance*))); -} - -ConsoleWindow::~ConsoleWindow() -{ - delete ui; -} - -void ConsoleWindow::writeColor(QString text, const char *color) -{ - // append a paragraph - if (color != nullptr) - ui->text->appendHtml(QString("<font color=\"%1\">%2</font>").arg(color).arg(text)); - else - ui->text->appendPlainText(text); - // scroll down - QScrollBar *bar = ui->text->verticalScrollBar(); - bar->setValue(bar->maximum()); -} - -void ConsoleWindow::write(QString data, MessageLevel::Enum mode) -{ - if (data.endsWith('\n')) - data = data.left(data.length()-1); - QStringList paragraphs = data.split('\n'); - for(QString ¶graph : paragraphs) - { - paragraph = paragraph.trimmed(); - } - - QListIterator<QString> iter(paragraphs); - if (mode == MessageLevel::MultiMC) - while(iter.hasNext()) - writeColor(iter.next(), "blue"); - else if (mode == MessageLevel::Error) - while(iter.hasNext()) - writeColor(iter.next(), "red"); - 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()) - writeColor(iter.next()); -} - -void ConsoleWindow::clear() -{ - ui->text->clear(); -} - -void ConsoleWindow::on_closeButton_clicked() -{ - close(); -} - -void ConsoleWindow::setMayClose(bool mayclose) -{ - m_mayclose = mayclose; - if (mayclose) - ui->closeButton->setEnabled(true); - else - ui->closeButton->setEnabled(false); -} - -void ConsoleWindow::closeEvent(QCloseEvent * event) -{ - if(!m_mayclose) - event->ignore(); - else - QDialog::closeEvent(event); -} - -void ConsoleWindow::on_btnKillMinecraft_clicked() -{ - ui->btnKillMinecraft->setEnabled(false); - auto response = CustomMessageBox::selectable(this, tr("Kill Minecraft?"), - tr("This can cause the instance to get corrupted and should only be used if Minecraft is frozen for some reason"), - QMessageBox::Question, QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)->exec(); - if (response == QMessageBox::Yes) - proc->killMinecraft(); - else - ui->btnKillMinecraft->setEnabled(true); -} - -void ConsoleWindow::onEnded(BaseInstance *instance) -{ - ui->btnKillMinecraft->setEnabled(false); - - // TODO: Might need an option to forcefully close, even on an error - if(instance->settings().get("AutoCloseConsole").toBool()) - { - // TODO: Check why this doesn't work - if (!proc->exitCode()) this->close(); - } -} |