From e8d7930edacdc04a4607ecd59fc402f2f04ea39d Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Sat, 20 Jul 2019 10:59:07 -0400
Subject: split diagnostics tab fixed log and crash dump directory links in
label not working
---
src/CMakeLists.txt | 3 +++
src/settings.cpp | 32 ++------------------------------
src/settings.h | 18 ------------------
src/settingsdialog.ui | 3 +++
src/settingsdialogdiagnostics.cpp | 28 ++++++++++++++++++++++++++++
src/settingsdialogdiagnostics.h | 17 +++++++++++++++++
6 files changed, 53 insertions(+), 48 deletions(-)
create mode 100644 src/settingsdialogdiagnostics.cpp
create mode 100644 src/settingsdialogdiagnostics.h
(limited to 'src')
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 86ef9721..d8316e7e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -37,6 +37,7 @@ SET(organizer_SRCS
spawn.cpp
singleinstance.cpp
settingsdialog.cpp
+ settingsdialogdiagnostics.cpp
settingsdialoggeneral.cpp
settingsdialognexus.cpp
settingsdialogpaths.cpp
@@ -157,6 +158,7 @@ SET(organizer_HDRS
spawn.h
singleinstance.h
settingsdialog.h
+ settingsdialogdiagnostics.h
settingsdialoggeneral.h
settingsdialognexus.h
settingsdialogpaths.h
@@ -443,6 +445,7 @@ set(profiles
set(settings
settings
settingsdialog
+ settingsdialogdiagnostics
settingsdialoggeneral
settingsdialognexus
settingsdialogpaths
diff --git a/src/settings.cpp b/src/settings.cpp
index 515ff907..725b7e06 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -22,6 +22,7 @@ along with Mod Organizer. If not, see .
#include "pluginsetting.h"
#include "serverinfo.h"
#include "settingsdialog.h"
+#include "settingsdialogdiagnostics.h"
#include "settingsdialoggeneral.h"
#include "settingsdialognexus.h"
#include "settingsdialogpaths.h"
@@ -676,7 +677,7 @@ void Settings::query(PluginContainer *pluginContainer, QWidget *parent)
tabs.push_back(std::unique_ptr(new GeneralSettingsTab(this, dialog)));
tabs.push_back(std::unique_ptr(new PathsSettingsTab(this, dialog)));
- tabs.push_back(std::unique_ptr(new DiagnosticsTab(this, dialog)));
+ tabs.push_back(std::unique_ptr(new DiagnosticsSettingsTab(this, dialog)));
tabs.push_back(std::unique_ptr(new NexusSettingsTab(this, dialog)));
tabs.push_back(std::unique_ptr(new SteamSettingsTab(this, dialog)));
tabs.push_back(std::unique_ptr(new PluginsSettingsTab(this, dialog)));
@@ -742,32 +743,3 @@ void Settings::query(PluginContainer *pluginContainer, QWidget *parent)
}
}
-
-
-Settings::DiagnosticsTab::DiagnosticsTab(Settings *m_parent, SettingsDialog &m_dialog)
- : SettingsTab(m_parent, m_dialog)
- , m_logLevelBox(m_dialog.findChild("logLevelBox"))
- , m_dumpsTypeBox(m_dialog.findChild("dumpsTypeBox"))
- , m_dumpsMaxEdit(m_dialog.findChild("dumpsMaxEdit"))
- , m_diagnosticsExplainedLabel(m_dialog.findChild("diagnosticsExplainedLabel"))
-{
- setLevelsBox();
- m_dumpsTypeBox->setCurrentIndex(m_parent->crashDumpsType());
- m_dumpsMaxEdit->setValue(m_parent->crashDumpsMax());
- QString logsPath = qApp->property("dataPath").toString()
- + "/" + QString::fromStdWString(AppConfig::logPath());
- m_diagnosticsExplainedLabel->setText(
- m_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 Settings::DiagnosticsTab::update()
-{
- m_Settings.setValue("Settings/log_level", m_logLevelBox->currentData().toInt());
- m_Settings.setValue("Settings/crash_dumps_type", m_dumpsTypeBox->currentIndex());
- m_Settings.setValue("Settings/crash_dumps_max", m_dumpsMaxEdit->value());
-}
diff --git a/src/settings.h b/src/settings.h
index 64068173..71fbcbc1 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -449,24 +449,6 @@ private:
void readPluginBlacklist();
QString getConfigurablePath(const QString &key, const QString &def, bool resolve) const;
-
-
- class DiagnosticsTab : public SettingsTab
- {
- public:
- DiagnosticsTab(Settings *parent, SettingsDialog &dialog);
-
- void update();
-
- private:
- QComboBox *m_logLevelBox;
- QComboBox *m_dumpsTypeBox;
- QSpinBox *m_dumpsMaxEdit;
- QLabel *m_diagnosticsExplainedLabel;
-
- void setLevelsBox();
- };
-
private slots:
signals:
diff --git a/src/settingsdialog.ui b/src/settingsdialog.ui
index 3ad525e1..1deac400 100644
--- a/src/settingsdialog.ui
+++ b/src/settingsdialog.ui
@@ -1325,6 +1325,9 @@ programs you are intentionally running.
true
+
+ true
+
-
diff --git a/src/settingsdialogdiagnostics.cpp b/src/settingsdialogdiagnostics.cpp
new file mode 100644
index 00000000..2ea4d478
--- /dev/null
+++ b/src/settingsdialogdiagnostics.cpp
@@ -0,0 +1,28 @@
+#include "settingsdialogdiagnostics.h"
+#include "ui_settingsdialog.h"
+#include "appconfig.h"
+#include "organizercore.h"
+
+DiagnosticsSettingsTab::DiagnosticsSettingsTab(Settings *m_parent, SettingsDialog &m_dialog)
+ : SettingsTab(m_parent, m_dialog)
+{
+ ui->logLevelBox->setCurrentIndex(m_parent->logLevel());
+ 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::update()
+{
+ m_Settings.setValue("Settings/log_level", ui->logLevelBox->currentIndex());
+ m_Settings.setValue("Settings/crash_dumps_type", ui->dumpsTypeBox->currentIndex());
+ m_Settings.setValue("Settings/crash_dumps_max", ui->dumpsMaxEdit->value());
+}
diff --git a/src/settingsdialogdiagnostics.h b/src/settingsdialogdiagnostics.h
new file mode 100644
index 00000000..2341c253
--- /dev/null
+++ b/src/settingsdialogdiagnostics.h
@@ -0,0 +1,17 @@
+#ifndef SETTINGSDIALOGDIAGNOSTICS_H
+#define SETTINGSDIALOGDIAGNOSTICS_H
+
+#include "settings.h"
+#include "settingsdialog.h"
+
+class DiagnosticsSettingsTab : public SettingsTab
+{
+public:
+ DiagnosticsSettingsTab(Settings *parent, SettingsDialog &dialog);
+
+ void update();
+
+private:
+};
+
+#endif // SETTINGSDIALOGDIAGNOSTICS_H
--
cgit v1.3.1