summaryrefslogtreecommitdiffstats
path: root/gui/consolewindow.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-11-04 02:53:05 +0100
committerPetr Mrázek <peterix@gmail.com>2013-11-04 02:53:05 +0100
commitbb7e8985f6d189de0acac6a1c3033cb16378c1fb (patch)
tree7c2e88c7184a7f5acf5e7a03be5c5f0bf6904113 /gui/consolewindow.cpp
parentd6e4fb29713d6ce55b092c0e22412f6121e7f516 (diff)
downloadMultiMC-bb7e8985f6d189de0acac6a1c3033cb16378c1fb.tar
MultiMC-bb7e8985f6d189de0acac6a1c3033cb16378c1fb.tar.gz
MultiMC-bb7e8985f6d189de0acac6a1c3033cb16378c1fb.tar.lz
MultiMC-bb7e8985f6d189de0acac6a1c3033cb16378c1fb.tar.xz
MultiMC-bb7e8985f6d189de0acac6a1c3033cb16378c1fb.zip
Reformat and (slightly) decruft all the things.
Diffstat (limited to 'gui/consolewindow.cpp')
-rw-r--r--gui/consolewindow.cpp120
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 &paragraph : 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();
- }
-}