Example #1
0
        private void BtnAddPresetItem_Click(object sender, RoutedEventArgs e)
        {
            if (CurrentPreset == null)
            {
                return;
            }

            List <string> Categories = new List <string>();

            Categories.Add(PresetType.Tweak.ToString());
            Categories.Add(PresetType.Firewall.ToString());
            //Categories.Add(PresetType.Custom.ToString()); // todo:

            InputWnd wnd = new InputWnd(Translate.fmt("msg_preset_item"), Categories, "", false, App.Title);

            if (wnd.ShowDialog() != true || wnd.Value.Length == 0)
            {
                return;
            }

            PresetItem newItem = null;

            if (wnd.Value == PresetType.Tweak.ToString())
            {
                List <string> TweakNames = new List <string>();
                var           tweaks     = App.tweaks.GetAllGroups().ToList();
                foreach (var tweakGroup in tweaks)
                {
                    TweakNames.Add(tweakGroup.Name);
                }

                InputWnd wnd2 = new InputWnd(Translate.fmt("msg_preset_tweak"), TweakNames, "", true, App.Title);
                if (wnd2.ShowDialog() != true || wnd2.Value.Length == 0)
                {
                    return;
                }

                var tweak = tweaks.Find(x => x.Name.Equals(wnd2.Value));
                if (tweak == null)
                {
                    return;
                }

                TweakPreset item = new TweakPreset();
                item.Name       = tweak.Name;
                item.TweakGroup = tweak.Name;
                newItem         = item;
            }
            else if (wnd.Value == PresetType.Firewall.ToString())
            {
                List <string> ProgNames = new List <string>();
                var           progSets  = App.client.GetPrograms();
                foreach (var progSet in progSets)
                {
                    ProgNames.Add(progSet.config.Name);
                }

                InputWnd wnd2 = new InputWnd(Translate.fmt("msg_preset_progset"), ProgNames, "", true, App.Title);
                if (wnd2.ShowDialog() != true || wnd2.Value.Length == 0)
                {
                    return;
                }

                ProgramSet prog = progSets.Find(x => x.config.Name.Equals(wnd2.Value));
                if (prog == null)
                {
                    return;
                }

                FirewallPreset item = new FirewallPreset();
                item.Name      = prog.config.Name;
                item.ProgSetId = prog.guid;
                newItem        = item;
            }
            else if (wnd.Value == PresetType.Custom.ToString())
            {
                InputWnd wnd2 = new InputWnd(Translate.fmt("msg_preset_item_name"), "", App.Title);
                if (wnd2.ShowDialog() != true || wnd2.Value.Length == 0)
                {
                    return;
                }

                CustomPreset item = new CustomPreset();
                item.Name = wnd2.Value;
                newItem   = item;
            }

            if (newItem != null)
            {
                if (!newItem.Sync())
                {
                    MessageBox.Show(Translate.fmt("msg_preset_item_failed"), App.Title, MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return;
                }

                CurrentPreset.Items.Add(newItem.guid, newItem);

                PresetItemList.UpdateItems(CurrentPreset.Items.Values.ToList());
                CollapseAll();
            }
        }
Example #2
0
 public void SetItem(CustomPreset customPreset)
 {
 }