summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2016-11-04 00:19:32 +0100
committerPetr Mrázek <peterix@gmail.com>2016-11-04 00:19:32 +0100
commit3780a25d27ae5c803ce9ed075928fff365104987 (patch)
treef59f3c2bbb77b7a1bdfecb408bafa2f793030673 /application
parent6ebf6e7785da79f7f3eb28176951d0e9d22a20e8 (diff)
downloadMultiMC-3780a25d27ae5c803ce9ed075928fff365104987.tar
MultiMC-3780a25d27ae5c803ce9ed075928fff365104987.tar.gz
MultiMC-3780a25d27ae5c803ce9ed075928fff365104987.tar.lz
MultiMC-3780a25d27ae5c803ce9ed075928fff365104987.tar.xz
MultiMC-3780a25d27ae5c803ce9ed075928fff365104987.zip
NOISSUE add an option to show console on error and default other options to false
Diffstat (limited to 'application')
-rw-r--r--application/LaunchController.cpp7
-rw-r--r--application/LaunchController.h5
-rw-r--r--application/MultiMC.cpp6
-rw-r--r--application/pages/InstanceSettingsPage.cpp3
-rw-r--r--application/pages/InstanceSettingsPage.ui10
-rw-r--r--application/pages/global/MultiMCPage.cpp2
-rw-r--r--application/pages/global/MultiMCPage.ui10
7 files changed, 32 insertions, 11 deletions
diff --git a/application/LaunchController.cpp b/application/LaunchController.cpp
index 13f453ef..eaeb9b28 100644
--- a/application/LaunchController.cpp
+++ b/application/LaunchController.cpp
@@ -206,7 +206,8 @@ void LaunchController::launchInstance()
}
auto console = qobject_cast<InstanceWindow *>(m_parentWidget);
- if(!console && m_showConsole)
+ auto showConsole = m_instance->settings()->get("ShowConsole").toBool();
+ if(!console && showConsole)
{
MMC->showInstanceWindow(m_instance);
}
@@ -273,6 +274,10 @@ void LaunchController::onSucceeded()
void LaunchController::onFailed(QString reason)
{
+ if(m_instance->settings()->get("ShowConsoleOnError").toBool())
+ {
+ MMC->showInstanceWindow(m_instance, "console");
+ }
emitFailed(reason);
}
diff --git a/application/LaunchController.h b/application/LaunchController.h
index 4cc240e8..81f3a0ab 100644
--- a/application/LaunchController.h
+++ b/application/LaunchController.h
@@ -33,10 +33,6 @@ public:
{
m_parentWidget = widget;
}
- void setShowConsole(bool showConsole)
- {
- m_showConsole = showConsole;
- }
QString id()
{
return m_instance->id();
@@ -56,7 +52,6 @@ private slots:
private:
BaseProfilerFactory *m_profiler = nullptr;
bool m_online = true;
- bool m_showConsole = false;
InstancePtr m_instance;
QWidget * m_parentWidget = nullptr;
InstanceWindow *m_console = nullptr;
diff --git a/application/MultiMC.cpp b/application/MultiMC.cpp
index b3615580..969e54e5 100644
--- a/application/MultiMC.cpp
+++ b/application/MultiMC.cpp
@@ -542,8 +542,9 @@ void MultiMC::initGlobalSettings()
m_settings->registerSetting("Language", QLocale(QLocale::system().language()).bcp47Name());
// Console
- m_settings->registerSetting("ShowConsole", true);
- m_settings->registerSetting("AutoCloseConsole", true);
+ m_settings->registerSetting("ShowConsole", false);
+ m_settings->registerSetting("AutoCloseConsole", false);
+ m_settings->registerSetting("ShowConsoleOnError", true);
m_settings->registerSetting("LogPrePostOutput", true);
// Console Colors
@@ -1087,7 +1088,6 @@ void MultiMC::launch(InstancePtr instance, bool online, BaseProfilerFactory *pro
controller->setInstance(instance);
controller->setOnline(online);
controller->setProfiler(profiler);
- controller->setShowConsole(instance->settings()->get("ShowConsole").toBool());
if(window)
{
controller->setParentWidget(window);
diff --git a/application/pages/InstanceSettingsPage.cpp b/application/pages/InstanceSettingsPage.cpp
index 2922e469..82438583 100644
--- a/application/pages/InstanceSettingsPage.cpp
+++ b/application/pages/InstanceSettingsPage.cpp
@@ -47,11 +47,13 @@ void InstanceSettingsPage::applySettings()
{
m_settings->set("ShowConsole", ui->showConsoleCheck->isChecked());
m_settings->set("AutoCloseConsole", ui->autoCloseConsoleCheck->isChecked());
+ m_settings->set("ShowConsoleOnError", ui->showConsoleErrorCheck->isChecked());
}
else
{
m_settings->reset("ShowConsole");
m_settings->reset("AutoCloseConsole");
+ m_settings->reset("ShowConsoleOnError");
}
// Window Size
@@ -137,6 +139,7 @@ void InstanceSettingsPage::loadSettings()
ui->consoleSettingsBox->setChecked(m_settings->get("OverrideConsole").toBool());
ui->showConsoleCheck->setChecked(m_settings->get("ShowConsole").toBool());
ui->autoCloseConsoleCheck->setChecked(m_settings->get("AutoCloseConsole").toBool());
+ ui->showConsoleErrorCheck->setChecked(m_settings->get("ShowConsoleOnError").toBool());
// Window Size
ui->windowSizeGroupBox->setChecked(m_settings->get("OverrideWindow").toBool());
diff --git a/application/pages/InstanceSettingsPage.ui b/application/pages/InstanceSettingsPage.ui
index bcc5f9a8..d1ad0c60 100644
--- a/application/pages/InstanceSettingsPage.ui
+++ b/application/pages/InstanceSettingsPage.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>458</width>
- <height>426</height>
+ <height>508</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
@@ -332,6 +332,13 @@
</property>
</widget>
</item>
+ <item>
+ <widget class="QCheckBox" name="showConsoleErrorCheck">
+ <property name="text">
+ <string>Show console when the game crashes?</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
@@ -458,6 +465,7 @@
<tabstop>consoleSettingsBox</tabstop>
<tabstop>showConsoleCheck</tabstop>
<tabstop>autoCloseConsoleCheck</tabstop>
+ <tabstop>showConsoleErrorCheck</tabstop>
<tabstop>customCommandsGroupBox</tabstop>
<tabstop>preLaunchCmdTextBox</tabstop>
<tabstop>wrapperCmdTextBox</tabstop>
diff --git a/application/pages/global/MultiMCPage.cpp b/application/pages/global/MultiMCPage.cpp
index 9694fab5..e9b19ac6 100644
--- a/application/pages/global/MultiMCPage.cpp
+++ b/application/pages/global/MultiMCPage.cpp
@@ -317,6 +317,7 @@ void MultiMCPage::applySettings()
// Console settings
s->set("ShowConsole", ui->showConsoleCheck->isChecked());
s->set("AutoCloseConsole", ui->autoCloseConsoleCheck->isChecked());
+ s->set("ShowConsoleOnError", ui->showConsoleErrorCheck->isChecked());
QString consoleFontFamily = ui->consoleFont->currentFont().family();
s->set("ConsoleFont", consoleFontFamily);
s->set("ConsoleFontSize", ui->fontSizeBox->value());
@@ -413,6 +414,7 @@ void MultiMCPage::loadSettings()
// Console settings
ui->showConsoleCheck->setChecked(s->get("ShowConsole").toBool());
ui->autoCloseConsoleCheck->setChecked(s->get("AutoCloseConsole").toBool());
+ ui->showConsoleErrorCheck->setChecked(s->get("ShowConsoleOnError").toBool());
QString fontFamily = MMC->settings()->get("ConsoleFont").toString();
QFont consoleFont(fontFamily);
ui->consoleFont->setCurrentFont(consoleFont);
diff --git a/application/pages/global/MultiMCPage.ui b/application/pages/global/MultiMCPage.ui
index 2d6f45f0..5336afdb 100644
--- a/application/pages/global/MultiMCPage.ui
+++ b/application/pages/global/MultiMCPage.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>487</width>
- <height>557</height>
+ <height>614</height>
</rect>
</property>
<property name="sizePolicy">
@@ -456,6 +456,13 @@
</property>
</widget>
</item>
+ <item>
+ <widget class="QCheckBox" name="showConsoleErrorCheck">
+ <property name="text">
+ <string>Show console when the game crashes?</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
@@ -588,6 +595,7 @@
<tabstop>themeComboBoxColors</tabstop>
<tabstop>showConsoleCheck</tabstop>
<tabstop>autoCloseConsoleCheck</tabstop>
+ <tabstop>showConsoleErrorCheck</tabstop>
<tabstop>lineLimitSpinBox</tabstop>
<tabstop>checkStopLogging</tabstop>
<tabstop>consoleFont</tabstop>