Merge pull request #19455 from glassez/v4.5

Backport changes to v4.5.x branch
This commit is contained in:
Vladimir Golovnev 2023-08-14 17:54:51 +03:00 committed by GitHub
commit 7376f72d34
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 8 deletions

View file

@ -236,6 +236,7 @@ void Session::load()
if (!itemsFile.exists())
{
loadLegacy();
store(); // convert to new format
return;
}
@ -262,10 +263,11 @@ void Session::load()
return;
}
loadFolder(jsonDoc.object(), rootFolder());
if (loadFolder(jsonDoc.object(), rootFolder()))
store(); // convert to updated format
}
void Session::loadFolder(const QJsonObject &jsonObj, Folder *folder)
bool Session::loadFolder(const QJsonObject &jsonObj, Folder *folder)
{
bool updated = false;
for (const QString &key : asConst(jsonObj.keys()))
@ -321,7 +323,8 @@ void Session::loadFolder(const QJsonObject &jsonObj, Folder *folder)
}
else
{
loadFolder(valObj, addSubfolder(key, folder));
if (loadFolder(valObj, addSubfolder(key, folder)))
updated = true;
}
}
else
@ -331,8 +334,7 @@ void Session::loadFolder(const QJsonObject &jsonObj, Folder *folder)
}
}
if (updated)
store(); // convert to updated format
return updated;
}
void Session::loadLegacy()
@ -362,8 +364,6 @@ void Session::loadLegacy()
addFeed(feedUrl, feedPath);
++i;
}
store(); // convert to new format
}
void Session::store()

View file

@ -146,7 +146,7 @@ namespace RSS
private:
QUuid generateUID() const;
void load();
void loadFolder(const QJsonObject &jsonObj, Folder *folder);
bool loadFolder(const QJsonObject &jsonObj, Folder *folder);
void loadLegacy();
void store();
nonstd::expected<Folder *, QString> prepareItemDest(const QString &path);