Exemple #1
0
        void group_Click(object sender, RoutedEventArgs e)
        {
            TweakStore.Group group = (TweakStore.Group)(sender as TweakGroup).Tag;

            foreach (TweakGroup curBtn in this.groupGrid.Children)
            {
                curBtn.SetFocus(curBtn == sender);
            }

            this.tweakGrid.Children.Clear();
            this.tweakGrid.RowDefinitions.Clear();

            foreach (TweakManager.Tweak tweak in group.Tweaks.Values)
            {
                if (!showAll && !tweak.IsAvailable())
                {
                    continue;
                }
                TweakControl item;
                if (!Tweaks.TryGetValue(group.Name + "|" + tweak.Name, out item))
                {
                    item = new TweakControl(tweak);
                    Tweaks.Add(group.Name + "|" + tweak.Name, item);
                    //item.MouseDown += new MouseButtonEventHandler(tweak_Click);
                    item.Click  += new RoutedEventHandler(tweak_Click);
                    item.Toggle += new RoutedEventHandler(tweak_Toggle);
                    //item.ReqSU += new RoutedEventHandler(req_su);

                    item.label.Content       = tweak.Name;
                    item.Tag                 = tweak;
                    item.VerticalAlignment   = VerticalAlignment.Top;
                    item.HorizontalAlignment = HorizontalAlignment.Stretch;
                    item.Margin              = new Thickness(1, 1, 1, 1);

                    if (!tweak.IsAvailable())
                    {
                        item.toggle.IsEnabled = false;
                    }
                }

                item.Update();

                this.tweakGrid.Children.Add(item);
                RowDefinition row = new RowDefinition();
                row.Height = new GridLength(item.Height + 2);
                this.tweakGrid.RowDefinitions.Add(row);
                Grid.SetRow(item, tweakGrid.RowDefinitions.Count - 1);
                //Grid.SetColumn(item, 1);
            }
        }
Exemple #2
0
        void ToggleGroup(TweakStore.Group group, TweakManager.Tweak.States value, bool bOnlyRecommended = false)
        {
            foreach (TweakManager.Tweak tweak in group.Tweaks.Values)
            {
                if (bOnlyRecommended && tweak.Hint != TweakManager.Tweak.Hints.Recommended)
                {
                    continue;
                }
                if (value != TweakManager.Tweak.States.Unsellected && tweak.Hint == TweakManager.Tweak.Hints.Optional) // skip optional tweaks, thay are usually eider dangerouse or redundant
                {
                    continue;
                }

                ToggleTweak(tweak, value);
            }
        }
Exemple #3
0
        void group_Toggle(object sender, RoutedEventArgs e)
        {
            TweakGroup item = sender as TweakGroup;

            TweakStore.Group group = item.Tag as TweakStore.Group;

            if (TestAdmin())
            {
                if (item.oldValue == null)
                {
                    int active_count = 0;
                    List <TweakManager.Tweak> to_be_fixed = new List <TweakManager.Tweak>();
                    foreach (TweakManager.Tweak tweak in group.Tweaks.Values)
                    {
                        if (tweak.Status == true)
                        {
                            active_count++;
                        }
                        else if (tweak.State != TweakManager.Tweak.States.Unsellected)
                        {
                            to_be_fixed.Add(tweak);
                        }
                    }

                    if (active_count == 0)
                    {
                        ToggleGroup(group, TweakManager.Tweak.States.Unsellected);
                    }
                    else // fix tweaks
                    {
                        foreach (TweakManager.Tweak tweak in to_be_fixed)
                        {
                            tweak.Apply(null);
                        }
                    }
                }
                else
                {
                    ToggleGroup(group, (bool)item.IsChecked ? TweakManager.Tweak.States.SelGroupe : TweakManager.Tweak.States.Unsellected);
                }
            }

            UpdateView();
        }
Exemple #4
0
        public TweakGroup(TweakStore.Group group)
        {
            myGroup = group;

            InitializeComponent();

            HashSet <TweakManager.TweakType> tweakTypes = new HashSet <TweakManager.TweakType>();

            foreach (TweakManager.Tweak tweak in group.Tweaks.Values)
            {
                if (!tweak.IsAvailable())
                {
                    continue;
                }

                //tweak.StatusChanged += OnStatusChanged;

                if (!tweakTypes.Contains(tweak.Type))
                {
                    tweakTypes.Add(tweak.Type);
                }
            }

            toggle.Click += new RoutedEventHandler(toggle_Checked);

            int height = 32;

            int i = 0;

            foreach (TweakManager.TweakType type in tweakTypes)
            {
                ContentControl item;
                item            = new Label();
                item.Padding    = new Thickness(17, 0, 0, 0);
                item.MouseDown += new MouseButtonEventHandler(rect_Click);
                boxes.Add(type, item);

                item.Content = string.Format("{0}", TweakManager.Tweak.GetTypeStr(type));

                item.Height              = 16;
                item.VerticalAlignment   = VerticalAlignment.Top;
                item.HorizontalAlignment = HorizontalAlignment.Left;

                //check.IsEnabled

                checks.Children.Add(item);
                RowDefinition row = new RowDefinition();
                row.Height = new GridLength(item.Height);
                checks.RowDefinitions.Add(row);
                Grid.SetRow(item, i++);
                //Grid.SetColumn(item, 1);

                height += (int)item.Height;
            }

            this.Height = height;

            //OnStatusChanged(null, null);

            toggle.Click    += new RoutedEventHandler(rect_Click);
            rect.MouseDown  += new MouseButtonEventHandler(rect_Click);
            label.MouseDown += new MouseButtonEventHandler(rect_Click);
        }