Use C++11 enum class

This commit is contained in:
Jonas Kvinge
2023-02-18 14:09:27 +01:00
parent e6c5f76872
commit dd72fb4ca5
237 changed files with 2915 additions and 2840 deletions

View File

@@ -76,11 +76,22 @@ CollectionSettingsPage::CollectionSettingsPage(SettingsDialog *dialog, QWidget *
setWindowIcon(IconLoader::Load("library-music", true, 0, 32));
ui_->add->setIcon(IconLoader::Load("document-open-folder"));
ui_->combobox_cache_size->addItems({ "KB", "MB" });
ui_->combobox_disk_cache_size->addItems({ "KB", "MB", "GB" });
ui_->combobox_cache_size->addItem("KB", static_cast<int>(CacheSizeUnit::KB));
ui_->combobox_cache_size->addItem("MB", static_cast<int>(CacheSizeUnit::MB));
ui_->combobox_iopriority->addItems({ "Auto", "Realtime", "Best effort", "Idle" });
ui_->combobox_threadpriority->addItems({ "Idle", "Lowest", "Low", "Normal" });
ui_->combobox_disk_cache_size->addItem("KB", static_cast<int>(CacheSizeUnit::KB));
ui_->combobox_disk_cache_size->addItem("MB", static_cast<int>(CacheSizeUnit::MB));
ui_->combobox_disk_cache_size->addItem("GB", static_cast<int>(CacheSizeUnit::GB));
ui_->combobox_iopriority->addItem("Auto", static_cast<int>(Utilities::IoPriority::IOPRIO_CLASS_NONE));
ui_->combobox_iopriority->addItem("Realtime", static_cast<int>(Utilities::IoPriority::IOPRIO_CLASS_RT));
ui_->combobox_iopriority->addItem("Best effort", static_cast<int>(Utilities::IoPriority::IOPRIO_CLASS_BE));
ui_->combobox_iopriority->addItem("Idle", static_cast<int>(Utilities::IoPriority::IOPRIO_CLASS_IDLE));
ui_->combobox_threadpriority->addItem("Idle", QThread::Priority::IdlePriority);
ui_->combobox_threadpriority->addItem("Lowest", QThread::Priority::LowestPriority);
ui_->combobox_threadpriority->addItem("Low", QThread::Priority::LowPriority);
ui_->combobox_threadpriority->addItem("Normal", QThread::Priority::NormalPriority);
QObject::connect(ui_->add, &QPushButton::clicked, this, &CollectionSettingsPage::Add);
QObject::connect(ui_->remove, &QPushButton::clicked, this, &CollectionSettingsPage::Remove);
@@ -193,17 +204,27 @@ void CollectionSettingsPage::Load() {
QStringList filters = s.value("cover_art_patterns", QStringList() << "front" << "cover").toStringList();
ui_->cover_art_patterns->setText(filters.join(","));
SaveCoverType save_cover_type = SaveCoverType(s.value("save_cover_type", SaveCoverType_Cache).toInt());
const SaveCoverType save_cover_type = static_cast<SaveCoverType>(s.value("save_cover_type", static_cast<int>(SaveCoverType::Cache)).toInt());
switch (save_cover_type) {
case SaveCoverType_Cache: ui_->radiobutton_save_albumcover_cache->setChecked(true); break;
case SaveCoverType_Album: ui_->radiobutton_save_albumcover_albumdir->setChecked(true); break;
case SaveCoverType_Embedded: ui_->radiobutton_save_albumcover_embedded->setChecked(true); break;
case SaveCoverType::Cache:
ui_->radiobutton_save_albumcover_cache->setChecked(true);
break;
case SaveCoverType::Album:
ui_->radiobutton_save_albumcover_albumdir->setChecked(true);
break;
case SaveCoverType::Embedded:
ui_->radiobutton_save_albumcover_embedded->setChecked(true);
break;
}
SaveCoverFilename save_cover_filename = SaveCoverFilename(s.value("save_cover_filename", SaveCoverFilename_Pattern).toInt());
const SaveCoverFilename save_cover_filename = static_cast<SaveCoverFilename>(s.value("save_cover_filename", static_cast<int>(SaveCoverFilename::Pattern)).toInt());
switch (save_cover_filename) {
case SaveCoverFilename_Hash: ui_->radiobutton_cover_hash->setChecked(true); break;
case SaveCoverFilename_Pattern: ui_->radiobutton_cover_pattern->setChecked(true); break;
case SaveCoverFilename::Hash:
ui_->radiobutton_cover_hash->setChecked(true);
break;
case SaveCoverFilename::Pattern:
ui_->radiobutton_cover_pattern->setChecked(true);
break;
}
QString cover_pattern = s.value("cover_pattern").toString();
if (!cover_pattern.isEmpty()) ui_->lineedit_cover_pattern->setText(cover_pattern);
@@ -212,12 +233,10 @@ void CollectionSettingsPage::Load() {
ui_->checkbox_cover_replace_spaces->setChecked(s.value("cover_replace_spaces", true).toBool());
ui_->spinbox_cache_size->setValue(s.value(kSettingsCacheSize, kSettingsCacheSizeDefault).toInt());
ui_->combobox_cache_size->setCurrentIndex(s.value(kSettingsCacheSizeUnit, static_cast<int>(CacheSizeUnit_MB)).toInt());
if (ui_->combobox_cache_size->currentIndex() == -1) ui_->combobox_cache_size->setCurrentIndex(static_cast<int>(CacheSizeUnit_MB));
ui_->combobox_cache_size->setCurrentIndex(ui_->combobox_cache_size->findData(s.value(kSettingsCacheSizeUnit, static_cast<int>(CacheSizeUnit::MB)).toInt()));
ui_->checkbox_disk_cache->setChecked(s.value(kSettingsDiskCacheEnable, false).toBool());
ui_->spinbox_disk_cache_size->setValue(s.value(kSettingsDiskCacheSize, kSettingsDiskCacheSizeDefault).toInt());
ui_->combobox_disk_cache_size->setCurrentIndex(s.value(kSettingsDiskCacheSizeUnit, static_cast<int>(CacheSizeUnit_MB)).toInt());
if (ui_->combobox_disk_cache_size->currentIndex() == -1) ui_->combobox_cache_size->setCurrentIndex(static_cast<int>(CacheSizeUnit_MB));
ui_->combobox_disk_cache_size->setCurrentIndex(ui_->combobox_disk_cache_size->findData(s.value(kSettingsDiskCacheSizeUnit, static_cast<int>(CacheSizeUnit::MB)).toInt()));
ui_->checkbox_save_playcounts->setChecked(s.value("save_playcounts", false).toBool());
ui_->checkbox_save_ratings->setChecked(s.value("save_ratings", false).toBool());
@@ -232,10 +251,10 @@ void CollectionSettingsPage::Load() {
#endif
#ifndef Q_OS_WIN32
ComboBoxLoadFromSettingsByIndex(s, ui_->combobox_iopriority, "io_priority", Utilities::IOPRIO_CLASS_IDLE);
ui_->combobox_iopriority->setCurrentIndex(ui_->combobox_iopriority->findData(s.value("io_priority", static_cast<int>(Utilities::IoPriority::IOPRIO_CLASS_IDLE)).toInt()));
#endif
ComboBoxLoadFromSettingsByIndex(s, ui_->combobox_threadpriority, "thread_priority", QThread::Priority::IdlePriority);
ui_->combobox_threadpriority->setCurrentIndex(ui_->combobox_threadpriority->findData(s.value("thread_priority", QThread::Priority::IdlePriority).toInt()));
int workers = s.value("tagreader_workers", qBound(1, QThread::idealThreadCount() / 2, 4)).toInt();
if (workers <= 0 || workers > 4) {
@@ -278,15 +297,15 @@ void CollectionSettingsPage::Save() {
s.setValue("cover_art_patterns", filters);
SaveCoverType save_cover_type = SaveCoverType_Cache;
if (ui_->radiobutton_save_albumcover_cache->isChecked()) save_cover_type = SaveCoverType_Cache;
else if (ui_->radiobutton_save_albumcover_albumdir->isChecked()) save_cover_type = SaveCoverType_Album;
else if (ui_->radiobutton_save_albumcover_embedded->isChecked()) save_cover_type = SaveCoverType_Embedded;
SaveCoverType save_cover_type = SaveCoverType::Cache;
if (ui_->radiobutton_save_albumcover_cache->isChecked()) save_cover_type = SaveCoverType::Cache;
else if (ui_->radiobutton_save_albumcover_albumdir->isChecked()) save_cover_type = SaveCoverType::Album;
else if (ui_->radiobutton_save_albumcover_embedded->isChecked()) save_cover_type = SaveCoverType::Embedded;
s.setValue("save_cover_type", static_cast<int>(save_cover_type));
SaveCoverFilename save_cover_filename = SaveCoverFilename_Hash;
if (ui_->radiobutton_cover_hash->isChecked()) save_cover_filename = SaveCoverFilename_Hash;
else if (ui_->radiobutton_cover_pattern->isChecked()) save_cover_filename = SaveCoverFilename_Pattern;
SaveCoverFilename save_cover_filename = SaveCoverFilename::Hash;
if (ui_->radiobutton_cover_hash->isChecked()) save_cover_filename = SaveCoverFilename::Hash;
else if (ui_->radiobutton_cover_pattern->isChecked()) save_cover_filename = SaveCoverFilename::Pattern;
s.setValue("save_cover_filename", static_cast<int>(save_cover_filename));
s.setValue("cover_pattern", ui_->lineedit_cover_pattern->text());
@@ -295,10 +314,10 @@ void CollectionSettingsPage::Save() {
s.setValue("cover_replace_spaces", ui_->checkbox_cover_replace_spaces->isChecked());
s.setValue(kSettingsCacheSize, ui_->spinbox_cache_size->value());
s.setValue(kSettingsCacheSizeUnit, ui_->combobox_cache_size->currentIndex());
s.setValue(kSettingsCacheSizeUnit, ui_->combobox_cache_size->currentData().toInt());
s.setValue(kSettingsDiskCacheEnable, ui_->checkbox_disk_cache->isChecked());
s.setValue(kSettingsDiskCacheSize, ui_->spinbox_disk_cache_size->value());
s.setValue(kSettingsDiskCacheSizeUnit, ui_->combobox_disk_cache_size->currentIndex());
s.setValue(kSettingsDiskCacheSizeUnit, ui_->combobox_disk_cache_size->currentData().toInt());
s.setValue("save_playcounts", ui_->checkbox_save_playcounts->isChecked());
s.setValue("save_ratings", ui_->checkbox_save_ratings->isChecked());
@@ -308,10 +327,10 @@ void CollectionSettingsPage::Save() {
s.setValue("delete_files", ui_->checkbox_delete_files->isChecked());
#ifndef Q_OS_WIN32
s.setValue("io_priority", ui_->combobox_iopriority->currentIndex());
s.setValue("io_priority", ui_->combobox_iopriority->currentData().toInt());
#endif
s.setValue("thread_priority", ui_->combobox_threadpriority->currentIndex());
s.setValue("thread_priority", ui_->combobox_threadpriority->currentData().toInt());
s.setValue("tagreader_workers", ui_->spinbox_tagreaderworkers->value());
s.endGroup();
@@ -353,8 +372,10 @@ void CollectionSettingsPage::ClearPixmapDiskCache() {
void CollectionSettingsPage::CacheSizeUnitChanged(int index) {
switch (static_cast<CacheSizeUnit>(index)) {
case CacheSizeUnit_MB:
const CacheSizeUnit cache_size_unit = static_cast<CacheSizeUnit>(ui_->combobox_cache_size->currentData(index).toInt());
switch (cache_size_unit) {
case CacheSizeUnit::MB:
ui_->spinbox_cache_size->setMaximum(std::numeric_limits<int>::max() / 1024);
break;
default:
@@ -366,8 +387,10 @@ void CollectionSettingsPage::CacheSizeUnitChanged(int index) {
void CollectionSettingsPage::DiskCacheSizeUnitChanged(int index) {
switch (static_cast<CacheSizeUnit>(index)) {
case CacheSizeUnit_GB:
const CacheSizeUnit cache_size_unit = static_cast<CacheSizeUnit>(ui_->combobox_disk_cache_size->currentData(index).toInt());
switch (cache_size_unit) {
case CacheSizeUnit::GB:
ui_->spinbox_disk_cache_size->setMaximum(4);
break;
default: