diff --git a/Glamourer/EphemeralConfig.cs b/Glamourer/EphemeralConfig.cs index d106783..8497538 100644 --- a/Glamourer/EphemeralConfig.cs +++ b/Glamourer/EphemeralConfig.cs @@ -16,6 +16,7 @@ public class EphemeralConfig : ISavable public bool LockDesignQuickBar { get; set; } = false; public bool LockMainWindow { get; set; } = false; public MainWindow.TabType SelectedTab { get; set; } = MainWindow.TabType.Settings; + public Guid SelectedDesign { get; set; } = Guid.Empty; public int LastSeenVersion { get; set; } = GlamourerChangelog.LastChangelogVersion; diff --git a/Glamourer/Gui/MainWindow.cs b/Glamourer/Gui/MainWindow.cs index 71d3822..e3186af 100644 --- a/Glamourer/Gui/MainWindow.cs +++ b/Glamourer/Gui/MainWindow.cs @@ -91,6 +91,7 @@ public class MainWindow : Window, IDisposable messages, debugTab, ]; + SelectTab = _config.Ephemeral.SelectedTab; _event.Subscribe(OnTabSelected, TabSelected.Priority.MainWindow); IsOpen = _config.OpenWindowAtStart; } diff --git a/Glamourer/Gui/Tabs/DesignTab/DesignFileSystemSelector.cs b/Glamourer/Gui/Tabs/DesignTab/DesignFileSystemSelector.cs index cb401a1..6321482 100644 --- a/Glamourer/Gui/Tabs/DesignTab/DesignFileSystemSelector.cs +++ b/Glamourer/Gui/Tabs/DesignTab/DesignFileSystemSelector.cs @@ -61,6 +61,24 @@ public sealed class DesignFileSystemSelector : FileSystemSelector.Leaf? leaf, bool clear, in DesignState storage = default) + { + base.Select(leaf, clear, storage); + var id = SelectedLeaf?.Value.Identifier ?? Guid.Empty; + if (id != _config.Ephemeral.SelectedDesign) + { + _config.Ephemeral.SelectedDesign = id; + _config.Ephemeral.Save(); + } } protected override void DrawPopups()