summaryrefslogtreecommitdiff
path: root/src/settingsdialoguserinterface.cpp
diff options
context:
space:
mode:
authorMikaƫl Capelle <capelle.mikael@gmail.com>2021-01-11 12:49:42 +0100
committerGitHub <noreply@github.com>2021-01-11 12:49:42 +0100
commit1dc2b225485a073d82e08a9820493086b2dda8b8 (patch)
tree5a4e5478d577f065c7282cb62992c2b6c735e13f /src/settingsdialoguserinterface.cpp
parenta680dfa3e94b34bf6b0ebd65d29d7a9799e3183f (diff)
parent05efc74e402ca3770d9fdaa2557f4030c31ee198 (diff)
Merge pull request #1350 from Holt59/collapsible-separators
Collapsible separators - Fix & Improvements.
Diffstat (limited to 'src/settingsdialoguserinterface.cpp')
-rw-r--r--src/settingsdialoguserinterface.cpp56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/settingsdialoguserinterface.cpp b/src/settingsdialoguserinterface.cpp
new file mode 100644
index 00000000..5d856395
--- /dev/null
+++ b/src/settingsdialoguserinterface.cpp
@@ -0,0 +1,56 @@
+#include "settingsdialoguserinterface.h"
+#include "ui_settingsdialog.h"
+#include "shared/appconfig.h"
+#include "categoriesdialog.h"
+#include "colortable.h"
+#include <utility.h>
+#include <questionboxmemory.h>
+
+using namespace MOBase;
+
+UserInterfaceSettingsTab::UserInterfaceSettingsTab(Settings& s, SettingsDialog& d)
+ : SettingsTab(s, d)
+{
+
+ // connect before setting to trigger
+ QObject::connect(ui->collapsibleSeparatorsBox, &QGroupBox::toggled, [=](auto&& on) {
+ ui->collapsibleSeparatorsConflictsBox->setEnabled(on);
+ ui->collapsibleSeparatorsPerProfileBox->setEnabled(on);
+ });
+
+ // mod list
+ ui->displayForeignBox->setChecked(settings().interface().displayForeign());
+ ui->colorSeparatorsBox->setChecked(settings().colors().colorSeparatorScrollbar());
+ ui->collapsibleSeparatorsConflictsBox->setChecked(settings().interface().collapsibleSeparatorsConflicts());
+ ui->collapsibleSeparatorsBox->setChecked(settings().interface().collapsibleSeparators());
+ ui->collapsibleSeparatorsPerProfileBox->setChecked(settings().interface().collapsibleSeparatorsPerProfile());
+ ui->saveFiltersBox->setChecked(settings().interface().saveFilters());
+
+ // download list
+ ui->compactBox->setChecked(settings().interface().compactDownloads());
+ ui->showMetaBox->setChecked(settings().interface().metaDownloads());
+
+ // colors
+ ui->colorTable->load(s);
+
+ QObject::connect(ui->resetColorsBtn, &QPushButton::clicked, [&] { ui->colorTable->resetColors(); });
+
+}
+
+void UserInterfaceSettingsTab::update()
+{
+ // mod list
+ settings().colors().setColorSeparatorScrollbar(ui->colorSeparatorsBox->isChecked());
+ settings().interface().setDisplayForeign(ui->displayForeignBox->isChecked());
+ settings().interface().setCollapsibleSeparators(ui->collapsibleSeparatorsBox->isChecked());
+ settings().interface().setCollapsibleSeparatorsConflicts(ui->collapsibleSeparatorsConflictsBox->isChecked());
+ settings().interface().setCollapsibleSeparatorsPerProfile(ui->collapsibleSeparatorsPerProfileBox->isChecked());
+ settings().interface().setSaveFilters(ui->saveFiltersBox->isChecked());
+
+ // download list
+ settings().interface().setCompactDownloads(ui->compactBox->isChecked());
+ settings().interface().setMetaDownloads(ui->showMetaBox->isChecked());
+
+ // colors
+ ui->colorTable->commitColors();
+}