From 100c5612dc0f1f80731307a6edbb99b02783b837 Mon Sep 17 00:00:00 2001 From: Eauldane Date: Tue, 9 Sep 2025 21:46:42 +0100 Subject: [PATCH] Fix VRAM sort being a little funky. And in the wrong order. --- MareSynchronos/UI/Components/GroupPanel.cs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/MareSynchronos/UI/Components/GroupPanel.cs b/MareSynchronos/UI/Components/GroupPanel.cs index 68e4ad6..fea6124 100644 --- a/MareSynchronos/UI/Components/GroupPanel.cs +++ b/MareSynchronos/UI/Components/GroupPanel.cs @@ -418,11 +418,23 @@ internal sealed class GroupPanel ImGui.Indent(20); if (_expandedGroupState[groupDto.GID]) { - var sortedPairs = pairsInGroup - .OrderByDescending(u => string.Equals(u.UserData.UID, groupDto.OwnerUID, StringComparison.Ordinal)) - .ThenByDescending(u => u.GroupPair[groupDto].GroupPairStatusInfo.IsModerator()) - .ThenByDescending(u => u.GroupPair[groupDto].GroupPairStatusInfo.IsPinned()) - .ThenBy(u => u.GetPairSortKey(), StringComparer.OrdinalIgnoreCase); + IOrderedEnumerable sortedPairs; + if (!_mareConfig.Current.SortSyncshellsByVRAM) + { + sortedPairs = pairsInGroup + .OrderByDescending(u => string.Equals(u.UserData.UID, groupDto.OwnerUID, StringComparison.Ordinal)) + .ThenByDescending(u => u.GroupPair[groupDto].GroupPairStatusInfo.IsModerator()) + .ThenByDescending(u => u.GroupPair[groupDto].GroupPairStatusInfo.IsPinned()) + .ThenBy(u => u.GetPairSortKey(), StringComparer.OrdinalIgnoreCase); + } + else + { + sortedPairs = pairsInGroup + .OrderByDescending(u => string.Equals(u.UserData.UID, groupDto.OwnerUID, StringComparison.Ordinal)) + .ThenByDescending(u => u.GroupPair[groupDto].GroupPairStatusInfo.IsModerator()) + .ThenByDescending(u => u.GroupPair[groupDto].GroupPairStatusInfo.IsPinned()) + .ThenByDescending(u => u.LastAppliedApproximateVRAMBytes); + } var visibleUsers = new List(); var onlineUsers = new List();