summaryrefslogtreecommitdiff
path: root/src/settingsdialoguserinterface.cpp
diff options
context:
space:
mode:
authorAl <26797547+Al12rs@users.noreply.github.com>2021-01-16 23:02:42 +0100
committerGitHub <noreply@github.com>2021-01-16 23:02:42 +0100
commitc48791a8a105d89cdbb8f4ac39557ed9cfd81800 (patch)
treefb9aeb6aa05474dcad1a5fc9b21eb1af04f23778 /src/settingsdialoguserinterface.cpp
parent8ee1f94b0f695be46abce2f76ee96035e1d79df7 (diff)
parent9f8ba0ea5196bccf73f2f26a3dc8a55907faa02f (diff)
Merge pull request #1361 from Holt59/ui-fixes-and-others
UI fixes and others.
Diffstat (limited to 'src/settingsdialoguserinterface.cpp')
-rw-r--r--src/settingsdialoguserinterface.cpp33
1 files changed, 28 insertions, 5 deletions
diff --git a/src/settingsdialoguserinterface.cpp b/src/settingsdialoguserinterface.cpp
index cdd30f2e..49710771 100644
--- a/src/settingsdialoguserinterface.cpp
+++ b/src/settingsdialoguserinterface.cpp
@@ -3,13 +3,20 @@
#include "shared/appconfig.h"
#include "categoriesdialog.h"
#include "colortable.h"
+#include "modlist.h"
#include <utility.h>
#include <questionboxmemory.h>
using namespace MOBase;
UserInterfaceSettingsTab::UserInterfaceSettingsTab(Settings& s, SettingsDialog& d)
- : SettingsTab(s, d)
+ : SettingsTab(s, d),
+ m_columnToBox{
+ { ModList::COL_CONFLICTFLAGS, ui->collapsibleSeparatorsIconsConflictsBox },
+ { ModList::COL_FLAGS, ui->collapsibleSeparatorsIconsFlagsBox },
+ { ModList::COL_CONTENT, ui->collapsibleSeparatorsIconsContentsBox},
+ { ModList::COL_VERSION, ui->collapsibleSeparatorsIconsVersionBox }
+ }
{
// connect before setting to trigger
@@ -19,15 +26,21 @@ UserInterfaceSettingsTab::UserInterfaceSettingsTab(Settings& s, SettingsDialog&
// mod list
ui->displayForeignBox->setChecked(settings().interface().displayForeign());
ui->colorSeparatorsBox->setChecked(settings().colors().colorSeparatorScrollbar());
- ui->collapsibleSeparatorsConflictsBox->setChecked(settings().interface().collapsibleSeparatorsConflicts());
ui->collapsibleSeparatorsAscBox->setChecked(settings().interface().collapsibleSeparators(Qt::AscendingOrder));
ui->collapsibleSeparatorsDscBox->setChecked(settings().interface().collapsibleSeparators(Qt::DescendingOrder));
+ ui->collapsibleSeparatorsHighlightFromBox->setChecked(settings().interface().collapsibleSeparatorsHighlightFrom());
+ ui->collapsibleSeparatorsHighlightToBox->setChecked(settings().interface().collapsibleSeparatorsHighlightTo());
ui->collapsibleSeparatorsPerProfileBox->setChecked(settings().interface().collapsibleSeparatorsPerProfile());
ui->saveFiltersBox->setChecked(settings().interface().saveFilters());
+ for (auto& p : m_columnToBox) {
+ p.second->setChecked(settings().interface().collapsibleSeparatorsIcons(p.first));
+ }
+
// download list
ui->compactBox->setChecked(settings().interface().compactDownloads());
ui->showMetaBox->setChecked(settings().interface().metaDownloads());
+ ui->hideDownloadInstallBox->setChecked(settings().interface().hideDownloadsAfterInstallation());
// colors
ui->colorTable->load(s);
@@ -43,13 +56,19 @@ void UserInterfaceSettingsTab::update()
settings().interface().setDisplayForeign(ui->displayForeignBox->isChecked());
settings().interface().setCollapsibleSeparators(
ui->collapsibleSeparatorsAscBox->isChecked(), ui->collapsibleSeparatorsDscBox->isChecked());
- settings().interface().setCollapsibleSeparatorsConflicts(ui->collapsibleSeparatorsConflictsBox->isChecked());
+ settings().interface().setCollapsibleSeparatorsHighlightFrom(ui->collapsibleSeparatorsHighlightFromBox->isChecked());
+ settings().interface().setCollapsibleSeparatorsHighlightTo(ui->collapsibleSeparatorsHighlightToBox->isChecked());
settings().interface().setCollapsibleSeparatorsPerProfile(ui->collapsibleSeparatorsPerProfileBox->isChecked());
settings().interface().setSaveFilters(ui->saveFiltersBox->isChecked());
+ for (auto& p : m_columnToBox) {
+ settings().interface().setCollapsibleSeparatorsIcons(p.first, p.second->isChecked());
+ }
+
// download list
settings().interface().setCompactDownloads(ui->compactBox->isChecked());
settings().interface().setMetaDownloads(ui->showMetaBox->isChecked());
+ settings().interface().setHideDownloadsAfterInstallation(ui->hideDownloadInstallBox->isChecked());
// colors
ui->colorTable->commitColors();
@@ -59,6 +78,10 @@ void UserInterfaceSettingsTab::updateCollapsibleSeparatorsGroup()
{
const auto checked = ui->collapsibleSeparatorsAscBox->isChecked() ||
ui->collapsibleSeparatorsDscBox->isChecked();
- ui->collapsibleSeparatorsConflictsBox->setEnabled(checked);
- ui->collapsibleSeparatorsPerProfileBox->setEnabled(checked);
+ for (auto* widget : ui->collapsibleSeparatorsWidget->findChildren<QWidget*>()) {
+ widget->setEnabled(checked);
+ }
+ ui->collapsibleSeparatorsLabel->setEnabled(true);
+ ui->collapsibleSeparatorsAscBox->setEnabled(true);
+ ui->collapsibleSeparatorsDscBox->setEnabled(true);
}