Remember all layouts (in mem only) - thx darnn :)

Related to  #7482
This commit is contained in:
niksedk 2023-10-16 12:19:05 +02:00
parent 113f8a9f4a
commit 1293cd99db

View File

@ -12,7 +12,10 @@ namespace Nikse.SubtitleEdit.Logic
public static class LayoutManager
{
public const int LayoutNoVideo = 11;
public static SplitContainer MainSplitContainer;
public static SplitContainer MainSplitContainer { get; set; }
private static int _lastLayout = -1;
private static Dictionary<int, string> LayoutInMemory { get; set; }
public static void SetLayout(int layout, Form form, Control videoPlayer, SubtitleListView subtitleListView, GroupBox groupBoxWaveform, GroupBox groupBoxEdit, SplitterEventHandler splitMoved)
{
@ -21,6 +24,21 @@ namespace Nikse.SubtitleEdit.Logic
layout = 0;
}
if (LayoutInMemory == null)
{
LayoutInMemory = new Dictionary<int, string>();
}
if (_lastLayout >= 0)
{
if (LayoutInMemory.ContainsKey(_lastLayout))
{
LayoutInMemory.Remove(_lastLayout);
}
LayoutInMemory.Add(_lastLayout, SaveLayout());
}
switch (layout)
{
case 0:
@ -60,6 +78,13 @@ namespace Nikse.SubtitleEdit.Logic
SetLayout11(form, videoPlayer, subtitleListView, groupBoxWaveform, groupBoxEdit, splitMoved);
break;
}
if (LayoutInMemory.ContainsKey(layout))
{
RestoreLayout(LayoutInMemory[layout]);
}
_lastLayout = layout;
}
// default layout (video right)