From 21181370e7e06ccde098cbccd1ccf91ecb45e27a Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Tue, 21 Mar 2023 15:58:08 +0100 Subject: [PATCH] Add rudimentary quick move support to folders. --- OtterGui | 2 +- Penumbra/Configuration.cs | 3 +++ Penumbra/UI/AdvancedWindow/ModEditWindow.cs | 4 +++- Penumbra/UI/ModsTab/ModFileSystemSelector.cs | 22 ++++++++++++++------ 4 files changed, 23 insertions(+), 8 deletions(-) diff --git a/OtterGui b/OtterGui index e06d547c..e49a05e1 160000 --- a/OtterGui +++ b/OtterGui @@ -1 +1 @@ -Subproject commit e06d547c1690212c1ed3d471b0f9798101f06145 +Subproject commit e49a05e1863957144955d1c612343ccfff11563e diff --git a/Penumbra/Configuration.cs b/Penumbra/Configuration.cs index 48b3c29e..54ae8ac5 100644 --- a/Penumbra/Configuration.cs +++ b/Penumbra/Configuration.cs @@ -79,6 +79,9 @@ public class Configuration : IPluginConfiguration public bool OpenFoldersByDefault { get; set; } = false; public int SingleGroupRadioMax { get; set; } = 2; public string DefaultImportFolder { get; set; } = string.Empty; + public string QuickMoveFolder1 { get; set; } = string.Empty; + public string QuickMoveFolder2 { get; set; } = string.Empty; + public string QuickMoveFolder3 { get; set; } = string.Empty; public DoubleModifier DeleteModModifier { get; set; } = new(ModifierHotkey.Control, ModifierHotkey.Shift); public bool PrintSuccessfulCommandsToChat { get; set; } = true; diff --git a/Penumbra/UI/AdvancedWindow/ModEditWindow.cs b/Penumbra/UI/AdvancedWindow/ModEditWindow.cs index fb9690c2..035c9286 100644 --- a/Penumbra/UI/AdvancedWindow/ModEditWindow.cs +++ b/Penumbra/UI/AdvancedWindow/ModEditWindow.cs @@ -141,7 +141,9 @@ public partial class ModEditWindow : Window, IDisposable _materialTab.Draw(); DrawTextureTab(); _shaderPackageTab.Draw(); - _itemSwapTab.DrawContent(); + using var tab = ImRaii.TabItem("Item Swap (WIP)"); + if (tab) + _itemSwapTab.DrawContent(); } // A row of three buttonSizes and a help marker that can be used for material suffix changing. diff --git a/Penumbra/UI/ModsTab/ModFileSystemSelector.cs b/Penumbra/UI/ModsTab/ModFileSystemSelector.cs index 493c21e8..2ee27bfb 100644 --- a/Penumbra/UI/ModsTab/ModFileSystemSelector.cs +++ b/Penumbra/UI/ModsTab/ModFileSystemSelector.cs @@ -38,7 +38,8 @@ public sealed partial class ModFileSystemSelector : FileSystemSelector SetQuickMove(f, 0, _config.QuickMoveFolder1, s => { _config.QuickMoveFolder1 = s; _config.Save(); }), 110); + SubscribeRightClickFolder(f => SetQuickMove(f, 1, _config.QuickMoveFolder2, s => { _config.QuickMoveFolder2 = s; _config.Save(); }), 120); + SubscribeRightClickFolder(f => SetQuickMove(f, 2, _config.QuickMoveFolder3, s => { _config.QuickMoveFolder3 = s; _config.Save(); }), 130); SubscribeRightClickLeaf(ToggleLeafFavorite); + SubscribeRightClickLeaf(l => QuickMove(l, _config.QuickMoveFolder1, _config.QuickMoveFolder2, _config.QuickMoveFolder3)); SubscribeRightClickMain(ClearDefaultImportFolder, 100); + SubscribeRightClickMain(() => ClearQuickMove(0, _config.QuickMoveFolder1, () => {_config.QuickMoveFolder1 = string.Empty; _config.Save();}), 110); + SubscribeRightClickMain(() => ClearQuickMove(1, _config.QuickMoveFolder2, () => {_config.QuickMoveFolder2 = string.Empty; _config.Save();}), 120); + SubscribeRightClickMain(() => ClearQuickMove(2, _config.QuickMoveFolder3, () => {_config.QuickMoveFolder3 = string.Empty; _config.Save();}), 130); AddButton(AddNewModButton, 0); AddButton(AddImportModButton, 1); AddButton(AddHelpButton, 2); AddButton(DeleteModButton, 1000); + // @formatter:on SetFilterTooltip(); SelectionChanged += OnSelectionChange;