summaryrefslogtreecommitdiff
path: root/src/settingsdialoggeneral.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-09-09 01:25:01 -0400
committerGitHub <noreply@github.com>2019-09-09 01:25:01 -0400
commit99fdbb2539227cec4fab534efc7420cfc5ca1a92 (patch)
tree4fe70561a85d86b65cc4c6725541767684af09a7 /src/settingsdialoggeneral.cpp
parent73626b297904d50507bb7d5d1342120040e655e8 (diff)
parentd863e62c6e2f3c0daa50e16a0206f59558a7bb7e (diff)
Merge pull request #830 from isanae/settings-interface
Settings interface
Diffstat (limited to 'src/settingsdialoggeneral.cpp')
-rw-r--r--src/settingsdialoggeneral.cpp102
1 files changed, 53 insertions, 49 deletions
diff --git a/src/settingsdialoggeneral.cpp b/src/settingsdialoggeneral.cpp
index 324dc4f4..3f7ece38 100644
--- a/src/settingsdialoggeneral.cpp
+++ b/src/settingsdialoggeneral.cpp
@@ -6,12 +6,12 @@
using MOBase::QuestionBoxMemory;
-GeneralSettingsTab::GeneralSettingsTab(Settings *m_parent, SettingsDialog &m_dialog)
- : SettingsTab(m_parent, m_dialog)
+GeneralSettingsTab::GeneralSettingsTab(Settings& s, SettingsDialog& d)
+ : SettingsTab(s, d)
{
addLanguages();
{
- QString languageCode = m_parent->language();
+ QString languageCode = settings().interface().language();
int currentID = ui->languageBox->findData(languageCode);
// I made a mess. :( Most languages are stored with only the iso country
// code (2 characters like "de") but chinese
@@ -26,33 +26,35 @@ GeneralSettingsTab::GeneralSettingsTab(Settings *m_parent, SettingsDialog &m_dia
}
addStyles();
+
{
- int currentID = ui->styleBox->findData(
- m_Settings.value("Settings/style", "").toString());
+ const int currentID = ui->styleBox->findData(
+ settings().interface().styleName().value_or(""));
+
if (currentID != -1) {
ui->styleBox->setCurrentIndex(currentID);
}
}
//version with stylesheet
- setButtonColor(ui->overwritingBtn, m_parent->modlistOverwritingLooseColor());
- setButtonColor(ui->overwrittenBtn, m_parent->modlistOverwrittenLooseColor());
- setButtonColor(ui->overwritingArchiveBtn, m_parent->modlistOverwritingArchiveColor());
- setButtonColor(ui->overwrittenArchiveBtn, m_parent->modlistOverwrittenArchiveColor());
- setButtonColor(ui->containsBtn, m_parent->modlistContainsPluginColor());
- setButtonColor(ui->containedBtn, m_parent->pluginListContainedColor());
+ setButtonColor(ui->overwritingBtn, settings().colors().modlistOverwritingLoose());
+ setButtonColor(ui->overwrittenBtn, settings().colors().modlistOverwrittenLoose());
+ setButtonColor(ui->overwritingArchiveBtn, settings().colors().modlistOverwritingArchive());
+ setButtonColor(ui->overwrittenArchiveBtn, settings().colors().modlistOverwrittenArchive());
+ setButtonColor(ui->containsBtn, settings().colors().modlistContainsPlugin());
+ setButtonColor(ui->containedBtn, settings().colors().pluginListContained());
- setOverwritingColor(m_parent->modlistOverwritingLooseColor());
- setOverwrittenColor(m_parent->modlistOverwrittenLooseColor());
- setOverwritingArchiveColor(m_parent->modlistOverwritingArchiveColor());
- setOverwrittenArchiveColor(m_parent->modlistOverwrittenArchiveColor());
- setContainsColor(m_parent->modlistContainsPluginColor());
- setContainedColor(m_parent->pluginListContainedColor());
+ setOverwritingColor(settings().colors().modlistOverwritingLoose());
+ setOverwrittenColor(settings().colors().modlistOverwrittenLoose());
+ setOverwritingArchiveColor(settings().colors().modlistOverwritingArchive());
+ setOverwrittenArchiveColor(settings().colors().modlistOverwrittenArchive());
+ setContainsColor(settings().colors().modlistContainsPlugin());
+ setContainedColor(settings().colors().pluginListContained());
- ui->compactBox->setChecked(m_parent->compactDownloads());
- ui->showMetaBox->setChecked(m_parent->metaDownloads());
- ui->usePrereleaseBox->setChecked(m_parent->usePrereleases());
- ui->colorSeparatorsBox->setChecked(m_parent->colorSeparatorScrollbar());
+ ui->compactBox->setChecked(settings().interface().compactDownloads());
+ ui->showMetaBox->setChecked(settings().interface().metaDownloads());
+ ui->usePrereleaseBox->setChecked(settings().usePrereleases());
+ ui->colorSeparatorsBox->setChecked(settings().colors().colorSeparatorScrollbar());
QObject::connect(ui->overwritingArchiveBtn, &QPushButton::clicked, [&]{ on_overwritingArchiveBtn_clicked(); });
QObject::connect(ui->overwritingBtn, &QPushButton::clicked, [&]{ on_overwritingBtn_clicked(); });
@@ -67,30 +69,32 @@ GeneralSettingsTab::GeneralSettingsTab(Settings *m_parent, SettingsDialog &m_dia
void GeneralSettingsTab::update()
{
- QString oldLanguage = m_parent->language();
- QString newLanguage = ui->languageBox->itemData(ui->languageBox->currentIndex()).toString();
+ const QString oldLanguage = settings().interface().language();
+ const QString newLanguage = ui->languageBox->itemData(ui->languageBox->currentIndex()).toString();
+
if (newLanguage != oldLanguage) {
- m_Settings.setValue("Settings/language", newLanguage);
- emit m_parent->languageChanged(newLanguage);
+ settings().interface().setLanguage(newLanguage);
+ emit settings().languageChanged(newLanguage);
}
- QString oldStyle = m_Settings.value("Settings/style", "").toString();
- QString newStyle = ui->styleBox->itemData(ui->styleBox->currentIndex()).toString();
+ const QString oldStyle = settings().interface().styleName().value_or("");
+ const QString newStyle = ui->styleBox->itemData(ui->styleBox->currentIndex()).toString();
if (oldStyle != newStyle) {
- m_Settings.setValue("Settings/style", newStyle);
- emit m_parent->styleChanged(newStyle);
+ settings().interface().setStyleName(newStyle);
+ emit settings().styleChanged(newStyle);
}
- m_Settings.setValue("Settings/overwritingLooseFilesColor", getOverwritingColor());
- m_Settings.setValue("Settings/overwrittenLooseFilesColor", getOverwrittenColor());
- m_Settings.setValue("Settings/overwritingArchiveFilesColor", getOverwritingArchiveColor());
- m_Settings.setValue("Settings/overwrittenArchiveFilesColor", getOverwrittenArchiveColor());
- m_Settings.setValue("Settings/containsPluginColor", getContainsColor());
- m_Settings.setValue("Settings/containedColor", getContainedColor());
- m_Settings.setValue("Settings/compact_downloads", ui->compactBox->isChecked());
- m_Settings.setValue("Settings/meta_downloads", ui->showMetaBox->isChecked());
- m_Settings.setValue("Settings/use_prereleases", ui->usePrereleaseBox->isChecked());
- m_Settings.setValue("Settings/colorSeparatorScrollbars", ui->colorSeparatorsBox->isChecked());
+ settings().colors().setModlistOverwritingLoose(getOverwritingColor());
+ settings().colors().setModlistOverwrittenLoose(getOverwrittenColor());
+ settings().colors().setModlistOverwritingArchive(getOverwritingArchiveColor());
+ settings().colors().setModlistOverwrittenArchive(getOverwrittenArchiveColor());
+ settings().colors().setModlistContainsPlugin(getContainsColor());
+ settings().colors().setPluginListContained(getContainedColor());
+
+ settings().interface().setCompactDownloads(ui->compactBox->isChecked());
+ settings().interface().setMetaDownloads(ui->showMetaBox->isChecked());
+ settings().setUsePrereleases(ui->usePrereleaseBox->isChecked());
+ settings().colors().setColorSeparatorScrollbar(ui->colorSeparatorsBox->isChecked());
}
void GeneralSettingsTab::addLanguages()
@@ -141,7 +145,7 @@ void GeneralSettingsTab::addStyles()
void GeneralSettingsTab::resetDialogs()
{
- QuestionBoxMemory::resetDialogs();
+ settings().widgets().resetQuestionButtons();
}
void GeneralSettingsTab::setButtonColor(QPushButton *button, const QColor &color)
@@ -157,13 +161,13 @@ void GeneralSettingsTab::setButtonColor(QPushButton *button, const QColor &color
.arg(color.green())
.arg(color.blue())
.arg(color.alpha())
- .arg(Settings::getIdealTextColor(color).name())
+ .arg(ColorSettings::idealTextColor(color).name())
);
};
void GeneralSettingsTab::on_containsBtn_clicked()
{
- QColor result = QColorDialog::getColor(m_ContainsColor, parentWidget(), "Color Picker: Mod contains selected plugin", QColorDialog::ShowAlphaChannel);
+ QColor result = QColorDialog::getColor(m_ContainsColor, &dialog(), "Color Picker: Mod contains selected plugin", QColorDialog::ShowAlphaChannel);
if (result.isValid()) {
m_ContainsColor = result;
setButtonColor(ui->containsBtn, result);
@@ -172,7 +176,7 @@ void GeneralSettingsTab::on_containsBtn_clicked()
void GeneralSettingsTab::on_containedBtn_clicked()
{
- QColor result = QColorDialog::getColor(m_ContainedColor, parentWidget(), "ColorPicker: Plugin is Contained in selected Mod", QColorDialog::ShowAlphaChannel);
+ QColor result = QColorDialog::getColor(m_ContainedColor, &dialog(), "ColorPicker: Plugin is Contained in selected Mod", QColorDialog::ShowAlphaChannel);
if (result.isValid()) {
m_ContainedColor = result;
setButtonColor(ui->containedBtn, result);
@@ -181,7 +185,7 @@ void GeneralSettingsTab::on_containedBtn_clicked()
void GeneralSettingsTab::on_overwrittenBtn_clicked()
{
- QColor result = QColorDialog::getColor(m_OverwrittenColor, parentWidget(), "ColorPicker: Is overwritten (loose files)", QColorDialog::ShowAlphaChannel);
+ QColor result = QColorDialog::getColor(m_OverwrittenColor, &dialog(), "ColorPicker: Is overwritten (loose files)", QColorDialog::ShowAlphaChannel);
if (result.isValid()) {
m_OverwrittenColor = result;
setButtonColor(ui->overwrittenBtn, result);
@@ -190,7 +194,7 @@ void GeneralSettingsTab::on_overwrittenBtn_clicked()
void GeneralSettingsTab::on_overwritingBtn_clicked()
{
- QColor result = QColorDialog::getColor(m_OverwritingColor, parentWidget(), "ColorPicker: Is overwriting (loose files)", QColorDialog::ShowAlphaChannel);
+ QColor result = QColorDialog::getColor(m_OverwritingColor, &dialog(), "ColorPicker: Is overwriting (loose files)", QColorDialog::ShowAlphaChannel);
if (result.isValid()) {
m_OverwritingColor = result;
setButtonColor(ui->overwritingBtn, result);
@@ -199,7 +203,7 @@ void GeneralSettingsTab::on_overwritingBtn_clicked()
void GeneralSettingsTab::on_overwrittenArchiveBtn_clicked()
{
- QColor result = QColorDialog::getColor(m_OverwrittenArchiveColor, parentWidget(), "ColorPicker: Is overwritten (archive files)", QColorDialog::ShowAlphaChannel);
+ QColor result = QColorDialog::getColor(m_OverwrittenArchiveColor, &dialog(), "ColorPicker: Is overwritten (archive files)", QColorDialog::ShowAlphaChannel);
if (result.isValid()) {
m_OverwrittenArchiveColor = result;
setButtonColor(ui->overwrittenArchiveBtn, result);
@@ -208,7 +212,7 @@ void GeneralSettingsTab::on_overwrittenArchiveBtn_clicked()
void GeneralSettingsTab::on_overwritingArchiveBtn_clicked()
{
- QColor result = QColorDialog::getColor(m_OverwritingArchiveColor, parentWidget(), "ColorPicker: Is overwriting (archive files)", QColorDialog::ShowAlphaChannel);
+ QColor result = QColorDialog::getColor(m_OverwritingArchiveColor, &dialog(), "ColorPicker: Is overwriting (archive files)", QColorDialog::ShowAlphaChannel);
if (result.isValid()) {
m_OverwritingArchiveColor = result;
setButtonColor(ui->overwritingArchiveBtn, result);
@@ -234,7 +238,7 @@ void GeneralSettingsTab::on_resetColorsBtn_clicked()
void GeneralSettingsTab::on_resetDialogsButton_clicked()
{
- if (QMessageBox::question(parentWidget(), QObject::tr("Confirm?"),
+ if (QMessageBox::question(&dialog(), QObject::tr("Confirm?"),
QObject::tr("This will make all dialogs show up again where you checked the \"Remember selection\"-box. Continue?"),
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) {
resetDialogs();
@@ -243,7 +247,7 @@ void GeneralSettingsTab::on_resetDialogsButton_clicked()
void GeneralSettingsTab::on_categoriesBtn_clicked()
{
- CategoriesDialog dialog(parentWidget());
+ CategoriesDialog dialog(&dialog());
if (dialog.exec() == QDialog::Accepted) {
dialog.commitChanges();
}