From 14b09549e1fc429b87a5c8345ceda069244b6484 Mon Sep 17 00:00:00 2001 From: Rachel Powers <508861+Ryex@users.noreply.github.com> Date: Tue, 25 Jun 2024 01:50:37 -0700 Subject: [PATCH] feat(instanceList) persist "ungrouped" hidden state Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> --- launcher/InstanceList.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/launcher/InstanceList.cpp b/launcher/InstanceList.cpp index 0d53c7f25..3f835cfaf 100644 --- a/launcher/InstanceList.cpp +++ b/launcher/InstanceList.cpp @@ -710,6 +710,12 @@ void InstanceList::saveGroupList() groupsArr.insert(name, groupObj); } toplevel.insert("groups", groupsArr); + // empty string represents ungrouped "group" + if (m_collapsedGroups.contains("")) { + QJsonObject ungrouped; + ungrouped.insert("hidden", QJsonValue(true)); + toplevel.insert("ungrouped", ungrouped); + } QJsonDocument doc(toplevel); try { FS::write(groupFileName, doc.toJson()); @@ -805,6 +811,16 @@ void InstanceList::loadGroupList() increaseGroupCount(groupName); } } + + bool ungroupedHidden = false; + if (rootObj.value("ungrouped").isObject()) { + QJsonObject ungrouped = rootObj.value("ungrouped").toObject(); + ungroupedHidden = ungrouped.value("hidden").toBool(false); + } + if (ungroupedHidden) { + // empty string represents ungrouped "group" + m_collapsedGroups.insert(""); + } m_groupsLoaded = true; qDebug() << "Group list loaded."; }