Store last selected design, apply that design and last selected tab.

This commit is contained in:
Ottermandias 2024-03-01 23:40:11 +01:00
parent f07717240f
commit 64c1f75ee0
3 changed files with 20 additions and 0 deletions

View file

@ -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;

View file

@ -91,6 +91,7 @@ public class MainWindow : Window, IDisposable
messages,
debugTab,
];
SelectTab = _config.Ephemeral.SelectedTab;
_event.Subscribe(OnTabSelected, TabSelected.Priority.MainWindow);
IsOpen = _config.OpenWindowAtStart;
}

View file

@ -61,6 +61,24 @@ public sealed class DesignFileSystemSelector : FileSystemSelector<Design, Design
AddButton(CloneDesignButton, 20);
AddButton(DeleteButton, 1000);
SetFilterTooltip();
if (_config.Ephemeral.SelectedDesign == Guid.Empty)
return;
var design = designManager.Designs.ByIdentifier(_config.Ephemeral.SelectedDesign);
if (design != null)
SelectByValue(design);
}
protected override void Select(FileSystem<Design>.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()