using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Text.Json.Serialization; namespace RokettoLaunch.Models.SaveFile { public class App3Options : AppOptionsBase { public class Group { public string Title { get; set; } public bool IsExpanded { get; set; } = false; public List Items { get; set; } = new List(); [JsonConverter(typeof(RyzStudio.Text.Json.JsonSizeConverter))] public Size GridSize { get; set; } = new Size(0, 0); } public class Item { public string Title { get; set; } public string ProcessFilename { get; set; } public string ProcessArgument { get; set; } public string ProcessWorkingDirectory { get; set; } public ProcessWindowStyle ProcessWindowStyle { get; set; } = ProcessWindowStyle.Normal; public bool ProcessAsAdmin { get; set; } = false; [JsonConverter(typeof(RyzStudio.Text.Json.JsonPointConverter))] public Point Position { get; set; } public bool IsGroup { get; set; } = false; public List Items { get; set; } = new List(); public override string ToString() { return this.Title?.Trim() ?? string.Empty; } } public new int FileVersion { get; set; } = 3; public List Groups { get; set; } = new List(); } }