Broadcast Text pull-out (Live screen) + launch geometry 1920x1040/1366x768 with restore
This commit is contained in:
@@ -1194,6 +1194,55 @@ public class LayoutStore : IDisposable
|
||||
UpsertSetting("TransitionDurationMs", durationMs.ToString("F0"));
|
||||
}
|
||||
|
||||
// ─── Broadcast metadata (broadcast pull-out) + window geometry ───
|
||||
|
||||
public Models.BroadcastMetadata LoadBroadcastMetadata()
|
||||
{
|
||||
return new Models.BroadcastMetadata
|
||||
{
|
||||
Title = GetSetting("Broadcast.Title") ?? string.Empty,
|
||||
Description = GetSetting("Broadcast.Description") ?? string.Empty,
|
||||
TagsCsv = GetSetting("Broadcast.TagsCsv") ?? string.Empty,
|
||||
Visibility = GetSetting("Broadcast.Visibility") ?? "private",
|
||||
MadeForKids = GetSetting("Broadcast.MadeForKids") == "1",
|
||||
ScheduledStartTime = DateTime.TryParse(GetSetting("Broadcast.ScheduledStartTime"), out var t) ? t : null,
|
||||
};
|
||||
}
|
||||
|
||||
public void SaveBroadcastMetadata(Models.BroadcastMetadata meta)
|
||||
{
|
||||
UpsertSetting("Broadcast.Title", meta.Title);
|
||||
UpsertSetting("Broadcast.Description", meta.Description);
|
||||
UpsertSetting("Broadcast.TagsCsv", meta.TagsCsv);
|
||||
UpsertSetting("Broadcast.Visibility", meta.Visibility);
|
||||
UpsertSetting("Broadcast.MadeForKids", meta.MadeForKids ? "1" : "0");
|
||||
UpsertSetting("Broadcast.ScheduledStartTime",
|
||||
meta.ScheduledStartTime?.ToString("o") ?? string.Empty);
|
||||
}
|
||||
|
||||
public (double Left, double Top, double Width, double Height, string State)? LoadWindowState()
|
||||
{
|
||||
var left = GetSetting("Window.Left");
|
||||
var top = GetSetting("Window.Top");
|
||||
var width = GetSetting("Window.Width");
|
||||
var height = GetSetting("Window.Height");
|
||||
var state = GetSetting("Window.State");
|
||||
if (left == null || top == null || width == null || height == null) return null;
|
||||
if (!double.TryParse(left, out var l) || !double.TryParse(top, out var t) ||
|
||||
!double.TryParse(width, out var w) || !double.TryParse(height, out var h))
|
||||
return null;
|
||||
return (l, t, w, h, state ?? "Normal");
|
||||
}
|
||||
|
||||
public void SaveWindowState(double left, double top, double width, double height, string state)
|
||||
{
|
||||
UpsertSetting("Window.Left", left.ToString("F0"));
|
||||
UpsertSetting("Window.Top", top.ToString("F0"));
|
||||
UpsertSetting("Window.Width", width.ToString("F0"));
|
||||
UpsertSetting("Window.Height", height.ToString("F0"));
|
||||
UpsertSetting("Window.State", state);
|
||||
}
|
||||
|
||||
private string? GetSetting(string key)
|
||||
{
|
||||
using var cmd = _connection.CreateCommand();
|
||||
|
||||
Reference in New Issue
Block a user