Add a thin layer around SettingsStorage class

This new layer would be handy for saving GUI widget states as they don't
need the value cached and they store/load rarely.
This commit is contained in:
Chocobo1
2020-12-28 23:32:59 +08:00
parent 60d65d8137
commit 0b0597be0c
12 changed files with 122 additions and 92 deletions

View File

@@ -358,7 +358,7 @@ void SearchJobWidget::fillFilterComboBoxes()
m_ui->filterMode->addItem(tr("Torrent names only"), static_cast<int>(NameFilteringMode::OnlyNames));
m_ui->filterMode->addItem(tr("Everywhere"), static_cast<int>(NameFilteringMode::Everywhere));
QVariant selectedMode = static_cast<int>(nameFilteringModeSetting().value());
QVariant selectedMode = static_cast<int>(nameFilteringModeSetting().get(NameFilteringMode::OnlyNames));
int index = m_ui->filterMode->findData(selectedMode);
m_ui->filterMode->setCurrentIndex((index == -1) ? 0 : index);
}
@@ -545,9 +545,9 @@ void SearchJobWidget::appendSearchResults(const QVector<SearchResult> &results)
updateResultsCount();
}
CachedSettingValue<SearchJobWidget::NameFilteringMode> &SearchJobWidget::nameFilteringModeSetting()
SettingValue<SearchJobWidget::NameFilteringMode> &SearchJobWidget::nameFilteringModeSetting()
{
static CachedSettingValue<NameFilteringMode> setting("Search/FilteringMode", NameFilteringMode::OnlyNames);
static SettingValue<NameFilteringMode> setting {"Search/FilteringMode"};
return setting;
}

View File

@@ -43,7 +43,7 @@ class SearchHandler;
class SearchSortModel;
struct SearchResult;
template <typename T> class CachedSettingValue;
template <typename T> class SettingValue;
namespace Ui
{
@@ -117,7 +117,7 @@ private:
void copyField(int column) const;
static QString statusText(Status st);
static CachedSettingValue<NameFilteringMode> &nameFilteringModeSetting();
static SettingValue<NameFilteringMode> &nameFilteringModeSetting();
Ui::SearchJobWidget *m_ui;
SearchHandler *m_searchHandler;