internal bool Apply() { bool restart = false; for (int i = 0; CurrentPlugins.Count > i; i++) { if (CurrentPlugins[i].Enabled != PluginEnabled[i]) { restart = true; } CurrentPlugins[i].Enabled = PluginEnabled[i]; } if (FunctionList.Items.Count >= CurrentFunctions.Count) { for (int i = 0; CurrentFunctions.Count > i; i++) { if (FunctionList.Items[i] != CleanUpItem) { ClearUC.ListViewItems.ListToggleItem lti = (ClearUC.ListViewItems.ListToggleItem)FunctionList.Items[i]; if (lti.ToggleButton.State != CurrentFunctions[i].Enabled) { restart = true; } CurrentFunctions[i].Enabled = lti.ToggleButton.State; } } } return(restart); }
private void PluginT_ActiveItemChanged(object sender, EventArgs e) { EnableB.ToggleStateChanged -= EnableB_ToggleStateChanged; if (PluginT.ActiveItem == FunctionItem) { InfoGrid.Visibility = Visibility.Hidden; FunctionGrid.Visibility = Visibility.Visible; FunctionList.Items.Clear(); FunctionList.Items.Add(CleanUpItem); System.Collections.ObjectModel.Collection <Utils.PluginManager.PluginFunction> funcs = Utils.PluginManager.GetFunctions(); for (int i = 0; funcs.Count > i; i++) { ClearUC.ListViewItems.ListToggleItem lti = new ClearUC.ListViewItems.ListToggleItem(); lti.ListItem.MainLabelText = funcs[i].Title; lti.ToggleButton.State = funcs[i].Enabled; FunctionList.Items.Add(lti); } } else { FunctionGrid.Visibility = Visibility.Hidden; Utils.PluginManager.Plugin plg = GetActiveItem(); if (plg == null) { InfoGrid.Visibility = Visibility.Hidden; return; } EnableB.State = plg.Enabled; TitleL.Content = plg.Instance.Title; DescL.Content = plg.Instance.Description; AuthorL.Content = plg.Instance.Author + " - " + plg.Instance.Version.ToString(); EnableB.ToggleStateChanged += EnableB_ToggleStateChanged; if (string.IsNullOrEmpty(plg.Instance.URL)) { URLB.Visibility = Visibility.Hidden; } else { URLB.Visibility = Visibility.Visible; URLB.Content = plg.Instance.URL; } InfoGrid.Visibility = Visibility.Visible; } }