From 766224d0e7720b552a1fbfdb66fc0741f7e1c0b2 Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Wed, 22 Mar 2023 19:22:35 +0100 Subject: [PATCH] add right click menu settings + version bump --- .../Configurations/MareConfig.cs | 1 + MareSynchronos/MareSynchronos.csproj | 2 +- .../PlayerData/Pairs/PairManager.cs | 21 ++++++++++--------- MareSynchronos/UI/SettingsUi.cs | 8 +++++++ 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/MareSynchronos/MareConfiguration/Configurations/MareConfig.cs b/MareSynchronos/MareConfiguration/Configurations/MareConfig.cs index 9bc7b3e..09714d5 100644 --- a/MareSynchronos/MareConfiguration/Configurations/MareConfig.cs +++ b/MareSynchronos/MareConfiguration/Configurations/MareConfig.cs @@ -9,6 +9,7 @@ public class MareConfig : IMareConfiguration public bool AcceptedAgreement { get; set; } = false; public string CacheFolder { get; set; } = string.Empty; public bool DisableOptionalPluginWarnings { get; set; } = false; + public bool EnableRightClickMenus { get; set; } = true; public NotificationLocation ErrorNotification { get; set; } = NotificationLocation.Both; public string ExportFolder { get; set; } = string.Empty; public bool FileScanPaused { get; set; } = false; diff --git a/MareSynchronos/MareSynchronos.csproj b/MareSynchronos/MareSynchronos.csproj index 7b19af5..9d9773d 100644 --- a/MareSynchronos/MareSynchronos.csproj +++ b/MareSynchronos/MareSynchronos.csproj @@ -3,7 +3,7 @@ - 0.8.12 + 0.8.13 https://github.com/Penumbra-Sync/client diff --git a/MareSynchronos/PlayerData/Pairs/PairManager.cs b/MareSynchronos/PlayerData/Pairs/PairManager.cs index b9f9e4c..9c14e2b 100644 --- a/MareSynchronos/PlayerData/Pairs/PairManager.cs +++ b/MareSynchronos/PlayerData/Pairs/PairManager.cs @@ -42,16 +42,6 @@ public sealed class PairManager : DisposableMediatorSubscriberBase _dalamudContextMenu.OnOpenGameObjectContextMenu += DalamudContextMenuOnOnOpenGameObjectContextMenu; } - private void DalamudContextMenuOnOnOpenGameObjectContextMenu(GameObjectContextMenuOpenArgs args) - { - if (args.ObjectId == 0xE000000) return; - - foreach (var pair in _allClientPairs.Where((p => p.Value.IsVisible))) - { - pair.Value.AddContextMenu(args); - } - } - public List DirectPairs => _directPairsInternal.Value; public Dictionary> GroupPairs => _groupPairsInternal.Value; @@ -339,6 +329,17 @@ public sealed class PairManager : DisposableMediatorSubscriberBase DisposePairs(); } + private void DalamudContextMenuOnOnOpenGameObjectContextMenu(GameObjectContextMenuOpenArgs args) + { + if (args.ObjectId == 0xE000000) return; + if (!_configurationService.Current.EnableRightClickMenus) return; + + foreach (var pair in _allClientPairs.Where((p => p.Value.IsVisible))) + { + pair.Value.AddContextMenu(args); + } + } + private void DalamudUtilOnDelayedFrameworkUpdate() { foreach (Pair pair in _allClientPairs.Select(p => p.Value).Where(p => p.HasCachedPlayer).ToList()) diff --git a/MareSynchronos/UI/SettingsUi.cs b/MareSynchronos/UI/SettingsUi.cs index 8610b6a..cd96ebf 100644 --- a/MareSynchronos/UI/SettingsUi.cs +++ b/MareSynchronos/UI/SettingsUi.cs @@ -496,6 +496,14 @@ public class SettingsUi : WindowMediatorSubscriberBase var showNsfwProfiles = _configService.Current.ProfilesAllowNsfw; var profileDelay = _configService.Current.ProfileDelay; var profileOnRight = _configService.Current.ProfilePopoutRight; + var enableRightClickMenu = _configService.Current.EnableRightClickMenus; + + if (ImGui.Checkbox("Enable Game Right Click Menu Entries", ref enableRightClickMenu)) + { + _configService.Current.EnableRightClickMenus = enableRightClickMenu; + _configService.Save(); + } + UiSharedService.DrawHelpText("This will add Mare related right click menu entries in the game UI on paired players."); if (ImGui.Checkbox("Show separate Visible group", ref showVisibleSeparate)) {