chore: migrate map settings to json string

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2025-05-21 18:17:08 +03:00
parent 89be378ef6
commit 8c710fb8de
No known key found for this signature in database
GPG key ID: 55EF5DA53DB36318
8 changed files with 54 additions and 22 deletions

View file

@ -597,14 +597,14 @@ void ResourceFolderModel::saveColumns(QTreeView* tree)
if (!settings->get("UI/ColumnsOverride").toBool()) {
settings = APPLICATION->settings();
}
auto visibility = settings->get("UI/FolderResourceColumnVisibility").toMap();
auto visibility = Json::toMap(settings->get("UI/FolderResourceColumnVisibility").toString());
for (auto i = 0; i < m_column_names.size(); ++i) {
if (m_columnsHideable[i]) {
auto name = m_column_names[i];
visibility[name] = !tree->isColumnHidden(i);
}
}
settings->set("UI/FolderResourceColumnVisibility", visibility);
settings->set("UI/FolderResourceColumnVisibility", Json::fromMap(visibility));
}
void ResourceFolderModel::loadColumns(QTreeView* tree)
@ -615,7 +615,7 @@ void ResourceFolderModel::loadColumns(QTreeView* tree)
tree->header()->restoreState(QByteArray::fromBase64(setting->get().toString().toUtf8()));
auto setVisible = [this, tree](QVariant value) {
auto visibility = value.toMap();
auto visibility = Json::toMap(value.toString());
for (auto i = 0; i < m_column_names.size(); ++i) {
if (m_columnsHideable[i]) {
auto name = m_column_names[i];
@ -630,13 +630,13 @@ void ResourceFolderModel::loadColumns(QTreeView* tree)
settings = APPLICATION->settings();
}
auto visibility = settings->getSetting("UI/FolderResourceColumnVisibility");
setVisible(visibility->get().toMap());
setVisible(visibility->get());
// allways connect the signal in case the setting is toggled on and off
auto gSetting = APPLICATION->settings()->getOrRegisterSetting("UI/FolderResourceColumnVisibility");
connect(gSetting.get(), &Setting::SettingChanged, tree, [this, setVisible](const Setting&, QVariant value) {
if (!m_instance->settings()->get("UI/ColumnsOverride").toBool()) {
setVisible(value.toMap());
setVisible(value);
}
});
}