Seperated pair tags and syncshell tags, added function to be able to add syncshell tags.

This commit is contained in:
CakeAndBanana
2025-09-07 15:28:19 +02:00
parent b177dbd595
commit 806a4baf1a
9 changed files with 75 additions and 35 deletions

View File

@@ -516,7 +516,8 @@ public class CompactUi : WindowMediatorSubscriberBase
else
drawFolders.AddRange(groupFolders);
var tags = _tagHandler.GetAllTagsSorted();
var tags = _tagHandler.GetAllPairTagsSorted();
_logger.LogInformation($"Loading {tags.Count} pair tags");
foreach (var tag in tags)
{
var allTagPairs = ImmutablePairList(allPairs
@@ -527,6 +528,18 @@ public class CompactUi : WindowMediatorSubscriberBase
drawFolders.Add(_drawEntityFactory.CreateDrawTagFolder(tag, filteredTagPairs, allTagPairs));
}
var syncshellTags = _tagHandler.GetAllSyncshellTagsSorted();
_logger.LogInformation($"Loading {syncshellTags.Count} syncshell tags");
foreach (var syncshelltag in syncshellTags)
{
var allTagPairs = ImmutablePairList(allPairs
.Where(u => FilterTagusers(u, syncshelltag)));
var filteredTagPairs = BasicSortedDictionary(filteredPairs
.Where(u => FilterTagusers(u, syncshelltag) && FilterOnlineOrPausedSelf(u)));
drawFolders.Add(_drawEntityFactory.CreateDrawTagFolder(syncshelltag, filteredTagPairs, allTagPairs));
}
var allOnlineNotTaggedPairs = ImmutablePairList(allPairs
.Where(FilterNotTaggedUsers));
var onlineNotTaggedPairs = BasicSortedDictionary(filteredPairs

View File

@@ -80,7 +80,7 @@ public class RenameTagUi
_tagHandler.RemoveTag(oldTag);
//Creation of new tag and adding of old group pairs in new one.
_tagHandler.AddTag(newTag);
_tagHandler.AddPairTag(newTag);
foreach (Pair pair in pairs)
{
var isInTag = _peopleInGroup.Contains(pair.UserData.UID);

View File

@@ -59,7 +59,7 @@ public class SelectTagForPairUi
if (ImGui.BeginPopup(popupName))
{
var tags = _tagHandler.GetAllTagsSorted();
var tags = _tagHandler.GetAllPairTagsSorted();
var childHeight = tags.Count != 0 ? tags.Count * 25 : 1;
var childSize = new Vector2(0, childHeight > 100 ? 100 : childHeight) * ImGuiHelpers.GlobalScale;
@@ -120,7 +120,7 @@ public class SelectTagForPairUi
{
if (!_tagNameToAdd.IsNullOrWhitespace() && _tagNameToAdd is not (TagHandler.CustomOfflineTag or TagHandler.CustomOnlineTag or TagHandler.CustomVisibleTag))
{
_tagHandler.AddTag(_tagNameToAdd);
_tagHandler.AddPairTag(_tagNameToAdd);
if (_pair != null)
{
_tagHandler.AddTagToPairedUid(_pair.UserData.UID, _tagNameToAdd);

View File

@@ -17,25 +17,21 @@ public class TagHandler
_serverConfigurationManager = serverConfigurationManager;
}
public void AddTag(string tag)
{
_serverConfigurationManager.AddTag(tag);
}
public void AddPairTag(string tag) => _serverConfigurationManager.AddPairTag(tag);
public void AddSyncshellTag(string tag) => _serverConfigurationManager.AddSyncshellTag(tag);
public void AddTagToPairedUid(string uid, string tagName) => _serverConfigurationManager.AddTagForUid(uid, tagName);
public void AddTagToPairedUid(string uid, string tagName)
{
_serverConfigurationManager.AddTagForUid(uid, tagName);
}
public List<string> GetAllTagsSorted()
{
return
[
public List<string> GetAllPairTagsSorted() => [
.. _serverConfigurationManager.GetServerAvailablePairTags()
.OrderBy(s => s, StringComparer.OrdinalIgnoreCase)
,
];
}
public List<string> GetAllSyncshellTagsSorted() => [
.. _serverConfigurationManager.GetServerAvailableSyncshellTags()
.OrderBy(s => s, StringComparer.OrdinalIgnoreCase)
,
];
public HashSet<string> GetOtherUidsForTag(string tag)
{