Unify singleton pattern in Profile class

1. Use unified function names `initInstance()` and `freeInstance()` and
make them public.
2. Add `freeInstance()` to avoid noise from memory leak detectors.
3. Let `instance()`return a pointer directly to avoid unnecessary
indirections when invoking functions.
This commit is contained in:
Chocobo1
2020-02-11 10:56:04 +08:00
parent 8b330e3ac0
commit 5de75eff05
9 changed files with 39 additions and 34 deletions

View File

@@ -279,7 +279,7 @@ bool TransactionalSettings::write(const QVariantHash &data) const
QString TransactionalSettings::deserialize(const QString &name, QVariantHash &data) const
{
SettingsPtr settings = Profile::instance().applicationSettings(name);
SettingsPtr settings = Profile::instance()->applicationSettings(name);
if (settings->allKeys().isEmpty())
return {};
@@ -295,7 +295,7 @@ QString TransactionalSettings::deserialize(const QString &name, QVariantHash &da
QString TransactionalSettings::serialize(const QString &name, const QVariantHash &data) const
{
SettingsPtr settings = Profile::instance().applicationSettings(name);
SettingsPtr settings = Profile::instance()->applicationSettings(name);
for (auto i = data.begin(); i != data.end(); ++i)
settings->setValue(i.key(), i.value());