mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-06 05:23:56 -07:00
Performance improvements for settings by not constructing a new settings object on every single set() call (this forced a sync to/from fs but it seems fine to just rely on Qts own periodic sync?)
Took 23 minutes Took 3 seconds
This commit is contained in:
parent
97d3843501
commit
fe31bc2406
4 changed files with 12 additions and 25 deletions
|
|
@ -11,8 +11,6 @@ CardCounterSettings::CardCounterSettings(const QString &settingsPath, QObject *p
|
||||||
|
|
||||||
void CardCounterSettings::setColor(int counterId, const QColor &color)
|
void CardCounterSettings::setColor(int counterId, const QColor &color)
|
||||||
{
|
{
|
||||||
QSettings settings = getSettings();
|
|
||||||
|
|
||||||
QString key = QString("cards/counters/%1/color").arg(counterId);
|
QString key = QString("cards/counters/%1/color").arg(counterId);
|
||||||
|
|
||||||
if (settings.value(key).value<QColor>() == color)
|
if (settings.value(key).value<QColor>() == color)
|
||||||
|
|
@ -38,7 +36,7 @@ QColor CardCounterSettings::color(int counterId) const
|
||||||
defaultColor = QColor::fromHsv(h, s, v);
|
defaultColor = QColor::fromHsv(h, s, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
return getSettings().value(QString("cards/counters/%1/color").arg(counterId), defaultColor).value<QColor>();
|
return settings.value(QString("cards/counters/%1/color").arg(counterId), defaultColor).value<QColor>();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CardCounterSettings::displayName(int counterId) const
|
QString CardCounterSettings::displayName(int counterId) const
|
||||||
|
|
|
||||||
|
|
@ -285,7 +285,9 @@ void VisualDatabaseDisplayWidget::loadNextPage()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load the next page of cards and add them to the flow widget
|
// Load the next page of cards and add them to the flow widget
|
||||||
|
flowWidget->setUpdatesEnabled(false);
|
||||||
loadPage(start, end);
|
loadPage(start, end);
|
||||||
|
flowWidget->setUpdatesEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void VisualDatabaseDisplayWidget::loadPage(int start, int end)
|
void VisualDatabaseDisplayWidget::loadPage(int start, int end)
|
||||||
|
|
|
||||||
|
|
@ -4,19 +4,13 @@ SettingsManager::SettingsManager(const QString &_settingPath,
|
||||||
const QString &_defaultGroup,
|
const QString &_defaultGroup,
|
||||||
const QString &_defaultSubGroup,
|
const QString &_defaultSubGroup,
|
||||||
QObject *parent)
|
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)
|
void SettingsManager::setValue(const QVariant &value, const QString &name)
|
||||||
{
|
{
|
||||||
auto settings = getSettings();
|
|
||||||
|
|
||||||
if (!defaultGroup.isEmpty()) {
|
if (!defaultGroup.isEmpty()) {
|
||||||
settings.beginGroup(defaultGroup);
|
settings.beginGroup(defaultGroup);
|
||||||
}
|
}
|
||||||
|
|
@ -41,8 +35,6 @@ void SettingsManager::setValue(const QVariant &value,
|
||||||
const QString &group,
|
const QString &group,
|
||||||
const QString &subGroup)
|
const QString &subGroup)
|
||||||
{
|
{
|
||||||
auto settings = getSettings();
|
|
||||||
|
|
||||||
if (!group.isEmpty()) {
|
if (!group.isEmpty()) {
|
||||||
settings.beginGroup(group);
|
settings.beginGroup(group);
|
||||||
}
|
}
|
||||||
|
|
@ -64,8 +56,6 @@ void SettingsManager::setValue(const QVariant &value,
|
||||||
|
|
||||||
void SettingsManager::deleteValue(const QString &name)
|
void SettingsManager::deleteValue(const QString &name)
|
||||||
{
|
{
|
||||||
auto settings = getSettings();
|
|
||||||
|
|
||||||
if (!defaultGroup.isEmpty()) {
|
if (!defaultGroup.isEmpty()) {
|
||||||
settings.beginGroup(defaultGroup);
|
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)
|
void SettingsManager::deleteValue(const QString &name, const QString &group, const QString &subGroup)
|
||||||
{
|
{
|
||||||
auto settings = getSettings();
|
|
||||||
|
|
||||||
if (!group.isEmpty()) {
|
if (!group.isEmpty()) {
|
||||||
settings.beginGroup(group);
|
settings.beginGroup(group);
|
||||||
}
|
}
|
||||||
|
|
@ -110,8 +98,6 @@ void SettingsManager::deleteValue(const QString &name, const QString &group, con
|
||||||
|
|
||||||
QVariant SettingsManager::getValue(const QString &name) const
|
QVariant SettingsManager::getValue(const QString &name) const
|
||||||
{
|
{
|
||||||
auto settings = getSettings();
|
|
||||||
|
|
||||||
if (!defaultGroup.isEmpty()) {
|
if (!defaultGroup.isEmpty()) {
|
||||||
settings.beginGroup(defaultGroup);
|
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
|
QVariant SettingsManager::getValue(const QString &name, const QString &group, const QString &subGroup) const
|
||||||
{
|
{
|
||||||
auto settings = getSettings();
|
|
||||||
|
|
||||||
if (!group.isEmpty()) {
|
if (!group.isEmpty()) {
|
||||||
settings.beginGroup(group);
|
settings.beginGroup(group);
|
||||||
}
|
}
|
||||||
|
|
@ -163,7 +147,5 @@ QVariant SettingsManager::getValue(const QString &name, const QString &group, co
|
||||||
*/
|
*/
|
||||||
void SettingsManager::sync()
|
void SettingsManager::sync()
|
||||||
{
|
{
|
||||||
auto settings = getSettings();
|
|
||||||
|
|
||||||
settings.sync();
|
settings.sync();
|
||||||
}
|
}
|
||||||
|
|
@ -14,26 +14,31 @@
|
||||||
class SettingsManager : public QObject
|
class SettingsManager : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit SettingsManager(const QString &settingPath,
|
explicit SettingsManager(const QString &settingPath,
|
||||||
const QString &defaultGroup = QString(),
|
const QString &defaultGroup = QString(),
|
||||||
const QString &defaultSubGroup = QString(),
|
const QString &defaultSubGroup = QString(),
|
||||||
QObject *parent = nullptr);
|
QObject *parent = nullptr);
|
||||||
|
|
||||||
QVariant getValue(const QString &name) const;
|
QVariant getValue(const QString &name) const;
|
||||||
QVariant getValue(const QString &name, const QString &group, const QString &subGroup = QString()) const;
|
QVariant getValue(const QString &name, const QString &group, const QString &subGroup = QString()) const;
|
||||||
|
|
||||||
void sync();
|
void sync();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QString settingPath;
|
|
||||||
QString defaultGroup;
|
QString defaultGroup;
|
||||||
QString defaultSubGroup;
|
QString defaultSubGroup;
|
||||||
|
|
||||||
QSettings getSettings() const;
|
mutable QSettings settings;
|
||||||
|
|
||||||
void setValue(const QVariant &value, const QString &name);
|
void setValue(const QVariant &value, const QString &name);
|
||||||
|
|
||||||
void
|
void
|
||||||
setValue(const QVariant &value, const QString &name, const QString &group, const QString &subGroup = QString());
|
setValue(const QVariant &value, const QString &name, const QString &group, const QString &subGroup = QString());
|
||||||
|
|
||||||
void deleteValue(const QString &name);
|
void deleteValue(const QString &name);
|
||||||
|
|
||||||
void deleteValue(const QString &name, const QString &group, const QString &subGroup = QString());
|
void deleteValue(const QString &name, const QString &group, const QString &subGroup = QString());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue