diff --git a/cockatrice/src/client/settings/card_counter_settings.cpp b/cockatrice/src/client/settings/card_counter_settings.cpp index 399365c99..71ce4cfc6 100644 --- a/cockatrice/src/client/settings/card_counter_settings.cpp +++ b/cockatrice/src/client/settings/card_counter_settings.cpp @@ -11,8 +11,6 @@ CardCounterSettings::CardCounterSettings(const QString &settingsPath, QObject *p void CardCounterSettings::setColor(int counterId, const QColor &color) { - QSettings settings = getSettings(); - QString key = QString("cards/counters/%1/color").arg(counterId); if (settings.value(key).value() == color) @@ -38,7 +36,7 @@ QColor CardCounterSettings::color(int counterId) const defaultColor = QColor::fromHsv(h, s, v); } - return getSettings().value(QString("cards/counters/%1/color").arg(counterId), defaultColor).value(); + return settings.value(QString("cards/counters/%1/color").arg(counterId), defaultColor).value(); } QString CardCounterSettings::displayName(int counterId) const diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_widget.cpp index c7a548e4b..7cd7be4fb 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_widget.cpp @@ -285,7 +285,9 @@ void VisualDatabaseDisplayWidget::loadNextPage() } // Load the next page of cards and add them to the flow widget + flowWidget->setUpdatesEnabled(false); loadPage(start, end); + flowWidget->setUpdatesEnabled(true); } void VisualDatabaseDisplayWidget::loadPage(int start, int end) diff --git a/libcockatrice_settings/libcockatrice/settings/settings_manager.cpp b/libcockatrice_settings/libcockatrice/settings/settings_manager.cpp index 2d4f1c441..bb7d7791b 100644 --- a/libcockatrice_settings/libcockatrice/settings/settings_manager.cpp +++ b/libcockatrice_settings/libcockatrice/settings/settings_manager.cpp @@ -4,19 +4,13 @@ SettingsManager::SettingsManager(const QString &_settingPath, const QString &_defaultGroup, const QString &_defaultSubGroup, QObject *parent) - : QObject(parent), settingPath(_settingPath), defaultGroup(_defaultGroup), defaultSubGroup(_defaultSubGroup) + : QObject(parent), defaultGroup(_defaultGroup), defaultSubGroup(_defaultSubGroup), + settings(_settingPath, QSettings::IniFormat) { } -QSettings SettingsManager::getSettings() const -{ - return QSettings(settingPath, QSettings::IniFormat); -} - void SettingsManager::setValue(const QVariant &value, const QString &name) { - auto settings = getSettings(); - if (!defaultGroup.isEmpty()) { settings.beginGroup(defaultGroup); } @@ -41,8 +35,6 @@ void SettingsManager::setValue(const QVariant &value, const QString &group, const QString &subGroup) { - auto settings = getSettings(); - if (!group.isEmpty()) { settings.beginGroup(group); } @@ -64,8 +56,6 @@ void SettingsManager::setValue(const QVariant &value, void SettingsManager::deleteValue(const QString &name) { - auto settings = getSettings(); - if (!defaultGroup.isEmpty()) { settings.beginGroup(defaultGroup); } @@ -87,8 +77,6 @@ void SettingsManager::deleteValue(const QString &name) void SettingsManager::deleteValue(const QString &name, const QString &group, const QString &subGroup) { - auto settings = getSettings(); - if (!group.isEmpty()) { settings.beginGroup(group); } @@ -110,8 +98,6 @@ void SettingsManager::deleteValue(const QString &name, const QString &group, con QVariant SettingsManager::getValue(const QString &name) const { - auto settings = getSettings(); - if (!defaultGroup.isEmpty()) { settings.beginGroup(defaultGroup); } @@ -135,8 +121,6 @@ QVariant SettingsManager::getValue(const QString &name) const QVariant SettingsManager::getValue(const QString &name, const QString &group, const QString &subGroup) const { - auto settings = getSettings(); - if (!group.isEmpty()) { settings.beginGroup(group); } @@ -163,7 +147,5 @@ QVariant SettingsManager::getValue(const QString &name, const QString &group, co */ void SettingsManager::sync() { - auto settings = getSettings(); - settings.sync(); } \ No newline at end of file diff --git a/libcockatrice_settings/libcockatrice/settings/settings_manager.h b/libcockatrice_settings/libcockatrice/settings/settings_manager.h index ad828f089..6e8fe7fdb 100644 --- a/libcockatrice_settings/libcockatrice/settings/settings_manager.h +++ b/libcockatrice_settings/libcockatrice/settings/settings_manager.h @@ -14,26 +14,31 @@ class SettingsManager : public QObject { Q_OBJECT + public: explicit SettingsManager(const QString &settingPath, const QString &defaultGroup = QString(), const QString &defaultSubGroup = QString(), QObject *parent = nullptr); + QVariant getValue(const QString &name) const; QVariant getValue(const QString &name, const QString &group, const QString &subGroup = QString()) const; + void sync(); protected: - QString settingPath; QString defaultGroup; QString defaultSubGroup; - QSettings getSettings() const; + mutable QSettings settings; void setValue(const QVariant &value, const QString &name); + void setValue(const QVariant &value, const QString &name, const QString &group, const QString &subGroup = QString()); + void deleteValue(const QString &name); + void deleteValue(const QString &name, const QString &group, const QString &subGroup = QString()); };