Refactoring
This commit is contained in:
@@ -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();
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user