Esempio n. 1
0
        void category_Click(object sender, RoutedEventArgs e)
        {
            TweakStore.Category cat = (TweakStore.Category)(sender as ToggleButton).Tag;

            foreach (ToggleButton curBtn in this.catGrid.Children)
            {
                curBtn.IsChecked  = curBtn == sender;
                curBtn.Background = new SolidColorBrush(((bool)curBtn.IsChecked) ? Color.FromArgb(255, 230, 240, 255) : Color.FromArgb(255, 235, 235, 235));
            }

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

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

            foreach (TweakStore.Group group in cat.Groups.Values)
            {
                if (!showAll && !group.IsAvailable())
                {
                    continue;
                }

                TweakGroup item;
                if (!Groups.TryGetValue(group.Name, out item))
                {
                    item = new TweakGroup(group);
                    Groups.Add(group.Name, item);
                    //item.MouseDown += new MouseButtonEventHandler(group_Click);
                    item.Click  += new RoutedEventHandler(group_Click);
                    item.Toggle += new RoutedEventHandler(group_Toggle);
                    //item.ReqSU += new RoutedEventHandler(req_su);

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

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

                item.Update(); // note: this tests all tweaks in the groupe

                this.groupGrid.Children.Add(item);
                RowDefinition row = new RowDefinition();
                row.Height = new GridLength(item.Height + 2);
                this.groupGrid.RowDefinitions.Add(row);
                Grid.SetRow(item, groupGrid.RowDefinitions.Count - 1);
                //Grid.SetColumn(item, 1);
            }
        }
Esempio n. 2
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();
        }