Browse Source

[shared_preferences] save list

merge-requests/2/head
Vitaliy Zarubin 2 years ago
parent
commit
915eb54c0a
  1. 17
      packages/shared_preferences/shared_preferences_aurora/aurora/shared_preferences_aurora_plugin.cpp

17
packages/shared_preferences/shared_preferences_aurora/aurora/shared_preferences_aurora_plugin.cpp

@ -2,6 +2,8 @@
#include <flutter/method-channel.h> #include <flutter/method-channel.h>
#include <flutter/application.h> #include <flutter/application.h>
#include <QSettings> #include <QSettings>
#include <QMetaType>
#include <QVariant>
SharedPreferencesAuroraPlugin::SharedPreferencesAuroraPlugin(): settings( SharedPreferencesAuroraPlugin::SharedPreferencesAuroraPlugin(): settings(
QString::fromStdString(Application::GetID().orgname), QString::fromStdString(Application::GetID().orgname),
@ -117,9 +119,7 @@ void SharedPreferencesAuroraPlugin::onGetStringList(const MethodCall &call)
const auto [key, value] = this->getArguments(call); const auto [key, value] = this->getArguments(call);
std::vector<Encodable> vec; std::vector<Encodable> vec;
QStringList list = settings.value(key, "") QStringList list = settings.value(key, {}).toStringList();
.toString()
.split(",");
for (const auto& item : list) for (const auto& item : list)
{ {
@ -137,18 +137,15 @@ void SharedPreferencesAuroraPlugin::onSetStringList(const MethodCall &call)
{ {
const auto [key, value] = this->getArguments(call); const auto [key, value] = this->getArguments(call);
const auto vec = value.GetList(); const auto vec = value.GetList();
std::stringstream ss;
QStringList strings;
for (const auto& item : vec) for (const auto& item : vec)
{ {
if (ss.rdbuf()->in_avail() != 0) strings.append(QString::fromStdString(item.GetString()));
{
ss << ",";
}
ss << item;
} }
settings.setValue(key, QString::fromStdString(ss.str())); settings.setValue(key, strings);
call.SendSuccessResponse(true); call.SendSuccessResponse(true);
} }

Loading…
Cancel
Save