コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }