summaryrefslogtreecommitdiff
path: root/src/settingsdialogdiagnostics.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-08-03 09:31:19 -0400
committerGitHub <noreply@github.com>2019-08-03 09:31:19 -0400
commita7df11a31d684cfc341fc401dc3a9449f2538084 (patch)
tree04005ddcf6b364c0b1132e47c0490314c14726ae /src/settingsdialogdiagnostics.cpp
parent80dd9222f325959a26580ce2fdd1ebc4b7979517 (diff)
parent712c8687c208629e22ef7b4d8015c899c2ea053a (diff)
Merge pull request #808 from isanae/settings-rework
Settings rework
Diffstat (limited to 'src/settingsdialogdiagnostics.cpp')
-rw-r--r--src/settingsdialogdiagnostics.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/settingsdialogdiagnostics.cpp b/src/settingsdialogdiagnostics.cpp
new file mode 100644
index 00000000..daf81d5c
--- /dev/null
+++ b/src/settingsdialogdiagnostics.cpp
@@ -0,0 +1,48 @@
+#include "settingsdialogdiagnostics.h"
+#include "ui_settingsdialog.h"
+#include "appconfig.h"
+#include "organizercore.h"
+#include <log.h>
+
+using namespace MOBase;
+
+DiagnosticsSettingsTab::DiagnosticsSettingsTab(Settings *m_parent, SettingsDialog &m_dialog)
+ : SettingsTab(m_parent, m_dialog)
+{
+ setLevelsBox();
+ ui->dumpsTypeBox->setCurrentIndex(m_parent->crashDumpsType());
+ ui->dumpsMaxEdit->setValue(m_parent->crashDumpsMax());
+ QString logsPath = qApp->property("dataPath").toString()
+ + "/" + QString::fromStdWString(AppConfig::logPath());
+ ui->diagnosticsExplainedLabel->setText(
+ ui->diagnosticsExplainedLabel->text()
+ .replace("LOGS_FULL_PATH", logsPath)
+ .replace("LOGS_DIR", QString::fromStdWString(AppConfig::logPath()))
+ .replace("DUMPS_FULL_PATH", QString::fromStdWString(OrganizerCore::crashDumpsPath()))
+ .replace("DUMPS_DIR", QString::fromStdWString(AppConfig::dumpsDir()))
+ );
+}
+
+void DiagnosticsSettingsTab::setLevelsBox()
+{
+ ui->logLevelBox->clear();
+
+ ui->logLevelBox->addItem(QObject::tr("Debug"), log::Debug);
+ ui->logLevelBox->addItem(QObject::tr("Info (recommended)"), log::Info);
+ ui->logLevelBox->addItem(QObject::tr("Warning"), log::Warning);
+ ui->logLevelBox->addItem(QObject::tr("Error"), log::Error);
+
+ for (int i=0; i<ui->logLevelBox->count(); ++i) {
+ if (ui->logLevelBox->itemData(i) == m_parent->logLevel()) {
+ ui->logLevelBox->setCurrentIndex(i);
+ break;
+ }
+ }
+}
+
+void DiagnosticsSettingsTab::update()
+{
+ m_Settings.setValue("Settings/log_level", ui->logLevelBox->currentData().toInt());
+ m_Settings.setValue("Settings/crash_dumps_type", ui->dumpsTypeBox->currentIndex());
+ m_Settings.setValue("Settings/crash_dumps_max", ui->dumpsMaxEdit->value());
+}