Refactoring

This commit is contained in:
Jonas Kvinge
2024-10-22 18:12:33 +02:00
parent dfcf715291
commit 8da2b9cd94
623 changed files with 9071 additions and 5126 deletions

View File

@@ -36,30 +36,17 @@
#include <QFontComboBox>
#include <QSettings>
#include "constants/mainwindowsettings.h"
#include "core/iconloader.h"
#include "core/mainwindow.h"
#include "core/settings.h"
#include "constants/contextsettings.h"
#include "settingspage.h"
#include "settingsdialog.h"
#include "contextsettingspage.h"
#include "ui_contextsettingspage.h"
using namespace Qt::Literals::StringLiterals;
const char *ContextSettingsPage::kSettingsGroup = "Context";
const char *ContextSettingsPage::kSettingsTitleFmt = "TitleFmt";
const char *ContextSettingsPage::kSettingsSummaryFmt = "SummaryFmt";
const char *ContextSettingsPage::kSettingsGroupEnable[static_cast<int>(ContextSettingsOrder::NELEMS)] = {
"AlbumEnable",
"TechnicalDataEnable",
"SongLyricsEnable",
"SearchCoverEnable",
"SearchLyricsEnable",
};
const char ContextSettingsPage::kDefaultFontFamily[] = "Noto Sans";
const qreal ContextSettingsPage::kDefaultFontSizeHeadline = 11;
using namespace ContextSettings;
ContextSettingsPage::ContextSettingsPage(SettingsDialog *dialog, QWidget *parent)
: SettingsPage(dialog, parent),
@@ -68,11 +55,11 @@ ContextSettingsPage::ContextSettingsPage(SettingsDialog *dialog, QWidget *parent
ui_->setupUi(this);
setWindowIcon(IconLoader::Load(u"view-choose"_s, true, 0, 32));
checkboxes_[static_cast<int>(ContextSettingsOrder::ALBUM)] = ui_->checkbox_album;
checkboxes_[static_cast<int>(ContextSettingsOrder::TECHNICAL_DATA)] = ui_->checkbox_technical_data;
checkboxes_[static_cast<int>(ContextSettingsOrder::SONG_LYRICS)] = ui_->checkbox_song_lyrics;
checkboxes_[static_cast<int>(ContextSettingsOrder::SEARCH_COVER)] = ui_->checkbox_search_cover;
checkboxes_[static_cast<int>(ContextSettingsOrder::SEARCH_LYRICS)] = ui_->checkbox_search_lyrics;
checkboxes_[QLatin1String(kAlbum)] = ui_->checkbox_album;
checkboxes_[QLatin1String(kTechnicalData)] = ui_->checkbox_technical_data;
checkboxes_[QLatin1String(kSongLyrics)] = ui_->checkbox_song_lyrics;
checkboxes_[QLatin1String(kSearchCover)] = ui_->checkbox_search_cover;
checkboxes_[QLatin1String(kSearchLyrics)] = ui_->checkbox_search_lyrics;
// Create and populate the helper menus
QMenu *menu = new QMenu(this);
@@ -137,8 +124,8 @@ void ContextSettingsPage::Load() {
ui_->context_custom_text1->setText(s.value(kSettingsTitleFmt, u"%title% - %artist%"_s).toString());
ui_->context_custom_text2->setText(s.value(kSettingsSummaryFmt, u"%album%"_s).toString());
for (int i = 0; i < static_cast<int>(ContextSettingsOrder::NELEMS); ++i) {
checkboxes_[i]->setChecked(s.value(kSettingsGroupEnable[i], checkboxes_[i]->isChecked()).toBool());
for (const QString &i : checkboxes_.keys()) {
checkboxes_[i]->setChecked(s.value(i, checkboxes_[i]->isChecked()).toBool());
}
// Fonts
@@ -150,15 +137,15 @@ void ContextSettingsPage::Load() {
else {
default_font = font().family();
}
ui_->font_headline->setCurrentFont(s.value("font_headline", default_font).toString());
ui_->font_normal->setCurrentFont(s.value("font_normal", default_font).toString());
ui_->font_size_headline->setValue(s.value("font_size_headline", kDefaultFontSizeHeadline).toReal());
ui_->font_size_normal->setValue(s.value("font_size_normal", font().pointSizeF()).toReal());
ui_->font_headline->setCurrentFont(s.value(kFontHeadline, default_font).toString());
ui_->font_normal->setCurrentFont(s.value(kFontNormal, default_font).toString());
ui_->font_size_headline->setValue(s.value(kFontSizeHeadline, kDefaultFontSizeHeadline).toReal());
ui_->font_size_normal->setValue(s.value(kFontSizeNormal, font().pointSizeF()).toReal());
s.endGroup();
s.beginGroup(MainWindow::kSettingsGroup);
ui_->checkbox_search_cover->setChecked(s.value("search_for_cover_auto", true).toBool());
s.beginGroup(MainWindowSettings::kSettingsGroup);
ui_->checkbox_search_cover->setChecked(s.value(MainWindowSettings::kSearchForCoverAuto, true).toBool());
s.endGroup();
Init(ui_->layout_contextsettingspage->parentWidget());
@@ -174,17 +161,17 @@ void ContextSettingsPage::Save() {
s.beginGroup(kSettingsGroup);
s.setValue(kSettingsTitleFmt, ui_->context_custom_text1->text());
s.setValue(kSettingsSummaryFmt, ui_->context_custom_text2->text());
for (int i = 0; i < static_cast<int>(ContextSettingsOrder::NELEMS); ++i) {
s.setValue(kSettingsGroupEnable[i], checkboxes_[i]->isChecked());
for (const QString &i : checkboxes_.keys()) {
s.setValue(i, checkboxes_[i]->isChecked());
}
s.setValue("font_headline", ui_->font_headline->currentFont().family());
s.setValue("font_normal", ui_->font_normal->currentFont().family());
s.setValue("font_size_headline", ui_->font_size_headline->value());
s.setValue("font_size_normal", ui_->font_size_normal->value());
s.setValue(kFontHeadline, ui_->font_headline->currentFont().family());
s.setValue(kFontNormal, ui_->font_normal->currentFont().family());
s.setValue(kFontSizeHeadline, ui_->font_size_headline->value());
s.setValue(kFontSizeNormal, ui_->font_size_normal->value());
s.endGroup();
s.beginGroup(MainWindow::kSettingsGroup);
s.setValue("search_for_cover_auto", ui_->checkbox_search_cover->isChecked());
s.beginGroup(MainWindowSettings::kSettingsGroup);
s.setValue(MainWindowSettings::kSearchForCoverAuto, ui_->checkbox_search_cover->isChecked());
s.endGroup();
}