summaryrefslogtreecommitdiff
path: root/src/settings.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-07-17 08:56:16 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-07-22 07:33:37 -0400
commitbca6283311cf1dea4c96f8ee5bf192bdb1640cb3 (patch)
tree7a6b0445974a974bf4b03d08d4ac9371de0ea663 /src/settings.cpp
parentd1b4dec8ad1635738ada3dfbde5907e7f0df3448 (diff)
use log::Levels instead of ints
create log level combobox in code, set selected index based on value instead added log level to context menu in log list
Diffstat (limited to 'src/settings.cpp')
-rw-r--r--src/settings.cpp30
1 files changed, 26 insertions, 4 deletions
diff --git a/src/settings.cpp b/src/settings.cpp
index 5cb2524f..e622d632 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -415,9 +415,14 @@ bool Settings::offlineMode() const
return m_Settings.value("Settings/offline_mode", false).toBool();
}
-int Settings::logLevel() const
+log::Levels Settings::logLevel() const
{
- return m_Settings.value("Settings/log_level", static_cast<int>(LogLevel::Info)).toInt();
+ return static_cast<log::Levels>(m_Settings.value("Settings/log_level").toInt());
+}
+
+void Settings::setLogLevel(log::Levels level)
+{
+ m_Settings.setValue("Settings/log_level", static_cast<int>(level));
}
int Settings::crashDumpsType() const
@@ -1000,7 +1005,7 @@ Settings::DiagnosticsTab::DiagnosticsTab(Settings *m_parent, SettingsDialog &m_d
, m_dumpsMaxEdit(m_dialog.findChild<QSpinBox *>("dumpsMaxEdit"))
, m_diagnosticsExplainedLabel(m_dialog.findChild<QLabel *>("diagnosticsExplainedLabel"))
{
- m_logLevelBox->setCurrentIndex(m_parent->logLevel());
+ setLevelsBox();
m_dumpsTypeBox->setCurrentIndex(m_parent->crashDumpsType());
m_dumpsMaxEdit->setValue(m_parent->crashDumpsMax());
QString logsPath = qApp->property("dataPath").toString()
@@ -1016,11 +1021,28 @@ Settings::DiagnosticsTab::DiagnosticsTab(Settings *m_parent, SettingsDialog &m_d
void Settings::DiagnosticsTab::update()
{
- m_Settings.setValue("Settings/log_level", m_logLevelBox->currentIndex());
+ 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());
}
+void Settings::DiagnosticsTab::setLevelsBox()
+{
+ m_logLevelBox->clear();
+
+ m_logLevelBox->addItem(tr("Debug"), log::Debug);
+ m_logLevelBox->addItem(tr("Info (recommended)"), log::Info);
+ m_logLevelBox->addItem(tr("Warning"), log::Warning);
+ m_logLevelBox->addItem(tr("Error"), log::Error);
+
+ for (int i=0; i<m_logLevelBox->count(); ++i) {
+ if (m_logLevelBox->itemData(i) == m_parent->logLevel()) {
+ m_logLevelBox->setCurrentIndex(i);
+ break;
+ }
+ }
+}
+
Settings::NexusTab::NexusTab(Settings *parent, SettingsDialog &dialog)
: Settings::SettingsTab(parent, dialog)
, m_offlineBox(dialog.findChild<QCheckBox *>("offlineBox"))