public static SerializableButtonItemViewModel Load() { var res = GetSerializedState(); if (res == null) { res = new SerializableButtonItemViewModel(); res.LeftGroupName = "LeftGroupName"; res.MiddleGroupName = "MiddleGroupName"; res.RightGroupName = "RightGroupName"; res.LeftButtons = new List <ButtonFacade>(); res.MiddleButtons = new List <ButtonFacade>(); res.RightButtons = new List <ButtonFacade>(); res.LinkButtons = new List <ButtonFacade>(); } res.LeftButtons = ValidateGroupedButtonList(res.LeftButtons, 1); res.MiddleButtons = ValidateGroupedButtonList(res.MiddleButtons, 2); res.RightButtons = ValidateGroupedButtonList(res.RightButtons, 3); res.LinkButtons = ValidateGroupedButtonList(res.LinkButtons, 4); return(res); }
public static void Save(SerializableButtonItemViewModel state) { string myDocumentPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); string applicationFolder = "KombajnDeluxe Data"; var appDataPath = Path.Combine(myDocumentPath, applicationFolder); if (!Directory.Exists(appDataPath)) { Directory.CreateDirectory(appDataPath); } string serializedStatePath = Path.Combine(appDataPath, SerializedButtonsStatePath); var serializedContent = JsonConvert.SerializeObject(state); File.WriteAllText(serializedStatePath, serializedContent); }
public static SerializableButtonItemViewModel GetFromEditButtonViewModel(EditButtonViewModel editedVm) { SerializableButtonItemViewModel res = new SerializableButtonItemViewModel(); res.LeftGroupName = editedVm.LeftGroupName; res.MiddleGroupName = editedVm.MiddleGroupName; res.RightGroupName = editedVm.RightGroupName; res.WholeClickCount = editedVm.WholeClickCount; res.LeftButtons = editedVm.LeftButtons.Where(b => !string.IsNullOrEmpty(b.Path)).Select(a => new ButtonFacade(a.Path, a.Name, a.Description, a.GroupId, a.CanDelete, a.ClickCounter, a.TagName)).ToList(); res.MiddleButtons = editedVm.MiddleButtons.Where(b => !string.IsNullOrEmpty(b.Path)).Select(a => new ButtonFacade(a.Path, a.Name, a.Description, a.GroupId, a.CanDelete, a.ClickCounter, a.TagName)).ToList(); res.RightButtons = editedVm.RightButtons.Where(b => !string.IsNullOrEmpty(b.Path)).Select(a => new ButtonFacade(a.Path, a.Name, a.Description, a.GroupId, a.CanDelete, a.ClickCounter, a.TagName)).ToList(); res.LinkButtons = editedVm.UrlButtons.Where(b => !string.IsNullOrEmpty(b.Path)).Select(a => new ButtonFacade(a.Path, a.Name, a.Description, a.GroupId, a.CanDelete, a.ClickCounter, a.TagName)).ToList(); res.LeftButtons = ValidateGroupedButtonList(res.LeftButtons, 1); res.MiddleButtons = ValidateGroupedButtonList(res.MiddleButtons, 2); res.RightButtons = ValidateGroupedButtonList(res.RightButtons, 3); res.LinkButtons = ValidateGroupedButtonList(res.LinkButtons, 4); return(res); }