summaryrefslogtreecommitdiff
path: root/src/settingsdialoggeneral.cpp
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2021-01-29 20:03:47 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2021-01-29 20:03:47 +0100
commit7610e3139408a8947795140a14a6bd396d4e0f71 (patch)
treeec329fd049debd8f71e278ebba3280c6fe2270ce /src/settingsdialoggeneral.cpp
parentd0796b4ab23122d5f01378743d93f8c75b19c35c (diff)
Reorganize settingsdialog classes to match UI.
Diffstat (limited to 'src/settingsdialoggeneral.cpp')
-rw-r--r--src/settingsdialoggeneral.cpp74
1 files changed, 19 insertions, 55 deletions
diff --git a/src/settingsdialoggeneral.cpp b/src/settingsdialoggeneral.cpp
index 11294d2a..30039575 100644
--- a/src/settingsdialoggeneral.cpp
+++ b/src/settingsdialoggeneral.cpp
@@ -11,19 +11,23 @@ using namespace MOBase;
GeneralSettingsTab::GeneralSettingsTab(Settings& s, SettingsDialog& d)
: SettingsTab(s, d)
{
+ // language
addLanguages();
selectLanguage();
- addStyles();
- selectStyle();
+ // download list
+ ui->compactBox->setChecked(settings().interface().compactDownloads());
+ ui->showMetaBox->setChecked(settings().interface().metaDownloads());
+ ui->hideDownloadInstallBox->setChecked(settings().interface().hideDownloadsAfterInstallation());
- ui->centerDialogs->setChecked(settings().geometry().centerDialogs());
- ui->changeGameConfirmation->setChecked(settings().interface().showChangeGameConfirmation());
- ui->doubleClickPreviews->setChecked(settings().interface().doubleClicksOpenPreviews());
+ // updates
ui->checkForUpdates->setChecked(settings().checkForUpdates());
ui->usePrereleaseBox->setChecked(settings().usePrereleases());
- QObject::connect(ui->exploreStyles, &QPushButton::clicked, [&]{ onExploreStyles(); });
+ // miscellaneous
+ ui->centerDialogs->setChecked(settings().geometry().centerDialogs());
+ ui->changeGameConfirmation->setChecked(settings().interface().showChangeGameConfirmation());
+ ui->doubleClickPreviews->setChecked(settings().interface().doubleClicksOpenPreviews());
QObject::connect(
ui->categoriesBtn, &QPushButton::clicked, [&]{ onEditCategories(); });
@@ -34,6 +38,7 @@ GeneralSettingsTab::GeneralSettingsTab(Settings& s, SettingsDialog& d)
void GeneralSettingsTab::update()
{
+ // language
const QString oldLanguage = settings().interface().language();
const QString newLanguage = ui->languageBox->itemData(
ui->languageBox->currentIndex()).toString();
@@ -43,20 +48,19 @@ void GeneralSettingsTab::update()
emit settings().languageChanged(newLanguage);
}
- const QString oldStyle = settings().interface().styleName().value_or("");
- const QString newStyle = ui->styleBox->itemData(
- ui->styleBox->currentIndex()).toString();
+ // download list
+ settings().interface().setCompactDownloads(ui->compactBox->isChecked());
+ settings().interface().setMetaDownloads(ui->showMetaBox->isChecked());
+ settings().interface().setHideDownloadsAfterInstallation(ui->hideDownloadInstallBox->isChecked());
- if (oldStyle != newStyle) {
- settings().interface().setStyleName(newStyle);
- emit settings().styleChanged(newStyle);
- }
+ // updates
+ settings().setCheckForUpdates(ui->checkForUpdates->isChecked());
+ settings().setUsePrereleases(ui->usePrereleaseBox->isChecked());
+ // miscellaneous
settings().geometry().setCenterDialogs(ui->centerDialogs->isChecked());
settings().interface().setShowChangeGameConfirmation(ui->changeGameConfirmation->isChecked());
settings().interface().setDoubleClicksOpenPreviews(ui->doubleClickPreviews->isChecked());
- settings().setCheckForUpdates(ui->checkForUpdates->isChecked());
- settings().setUsePrereleases(ui->usePrereleaseBox->isChecked());
}
void GeneralSettingsTab::addLanguages()
@@ -127,52 +131,12 @@ void GeneralSettingsTab::selectLanguage()
}
}
-void GeneralSettingsTab::addStyles()
-{
- ui->styleBox->addItem("None", "");
- for (auto&& key : QStyleFactory::keys()) {
- ui->styleBox->addItem(key, key);
- }
-
- ui->styleBox->insertSeparator(ui->styleBox->count());
-
- QDirIterator iter(
- QCoreApplication::applicationDirPath() + "/" +
- QString::fromStdWString(AppConfig::stylesheetsPath()),
- QStringList("*.qss"),
- QDir::Files);
-
- while (iter.hasNext()) {
- iter.next();
-
- ui->styleBox->addItem(
- iter.fileInfo().completeBaseName(),
- iter.fileName());
- }
-}
-
-void GeneralSettingsTab::selectStyle()
-{
- const int currentID = ui->styleBox->findData(
- settings().interface().styleName().value_or(""));
-
- if (currentID != -1) {
- ui->styleBox->setCurrentIndex(currentID);
- }
-}
-
void GeneralSettingsTab::resetDialogs()
{
settings().widgets().resetQuestionButtons();
GlobalSettings::resetDialogs();
}
-void GeneralSettingsTab::onExploreStyles()
-{
- QString ssPath = QCoreApplication::applicationDirPath() + "/" + ToQString(AppConfig::stylesheetsPath());
- shell::Explore(ssPath);
-}
-
void GeneralSettingsTab::onEditCategories()
{
CategoriesDialog dialog(&dialog());