From 33c203fcb31c3df3fdc15585a83aa4e41830aa57 Mon Sep 17 00:00:00 2001 From: zhuzichu Date: Fri, 8 Dec 2023 17:30:50 +0800 Subject: [PATCH] update SettingsHelper --- example/src/helper/SettingsHelper.cpp | 18 +++++------------- example/src/helper/SettingsHelper.h | 8 ++++---- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/example/src/helper/SettingsHelper.cpp b/example/src/helper/SettingsHelper.cpp index 4e5ac301..1e7878aa 100644 --- a/example/src/helper/SettingsHelper.cpp +++ b/example/src/helper/SettingsHelper.cpp @@ -12,23 +12,15 @@ SettingsHelper::~SettingsHelper() = default; void SettingsHelper::save(const QString& key,QVariant val) { - QByteArray data = {}; - QDataStream stream(&data, QIODevice::WriteOnly); - stream.setVersion(QDataStream::Qt_5_6); - stream << val; - m_settings->setValue(key, data); + m_settings->setValue(key, val); } QVariant SettingsHelper::get(const QString& key,QVariant def){ - const QByteArray data = m_settings->value(key).toByteArray(); - if (data.isEmpty()) { - return def; + QVariant data = m_settings->value(key); + if (!data.isNull() && data.isValid()) { + return data; } - QDataStream stream(data); - stream.setVersion(QDataStream::Qt_5_6); - QVariant val; - stream >> val; - return val; + return def; } void SettingsHelper::init(char *argv[]){ diff --git a/example/src/helper/SettingsHelper.h b/example/src/helper/SettingsHelper.h index 826e2a33..65a16f97 100644 --- a/example/src/helper/SettingsHelper.h +++ b/example/src/helper/SettingsHelper.h @@ -20,13 +20,13 @@ public: ~SettingsHelper() override; void init(char *argv[]); Q_INVOKABLE void saveRender(const QVariant& render){save("render",render);} - Q_INVOKABLE QVariant getRender(){return get("render");} + Q_INVOKABLE QString getRender(){return get("render").toString();} Q_INVOKABLE void saveDarkMode(int darkModel){save("darkMode",darkModel);} - Q_INVOKABLE QVariant getDarkMode(){return get("darkMode",QVariant(0));} + Q_INVOKABLE int getDarkMode(){return get("darkMode",QVariant(0)).toInt();} Q_INVOKABLE void saveVsync(bool vsync){save("vsync",vsync);} - Q_INVOKABLE QVariant getVsync(){return get("vsync",QVariant(true));} + Q_INVOKABLE bool getVsync(){return get("vsync",QVariant(true)).toBool();} Q_INVOKABLE void saveUseSystemAppBar(bool useSystemAppBar){save("useSystemAppBar",useSystemAppBar);} - Q_INVOKABLE QVariant getUseSystemAppBar(){return get("useSystemAppBar",QVariant(false));} + Q_INVOKABLE bool getUseSystemAppBar(){return get("useSystemAppBar",QVariant(false)).toBool();} private: void save(const QString& key,QVariant val); QVariant get(const QString& key,QVariant def={});