private void cmbAccess_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (cmbService.Visibility == Visibility.Visible && cmbService.SelectedIndex == -1) { btnApply.IsEnabled = false; return; } ProgramSet.Config.AccessLevels NetAccess = (ProgramSet.Config.AccessLevels)(cmbAccess.SelectedItem as ComboBoxItem).Tag; cmbAccess.Background = ProgramControl.GetAccessColor(NetAccess); btnApply.IsEnabled = NetAccess != ProgramSet.Config.AccessLevels.Unconfigured; }
//private Brush mBorderBrush; public static SolidColorBrush GetAccessColor(ProgramSet.Config.AccessLevels NetAccess) { switch (NetAccess) { case ProgramSet.Config.AccessLevels.FullAccess: return new SolidColorBrush(Colors.LightGreen); case ProgramSet.Config.AccessLevels.CustomConfig: return new SolidColorBrush(Colors.Gold); case ProgramSet.Config.AccessLevels.LocalOnly: return new SolidColorBrush(Colors.LightSkyBlue); case ProgramSet.Config.AccessLevels.BlockAccess: return new SolidColorBrush(Colors.LightPink); case ProgramSet.Config.AccessLevels.WarningState: return new SolidColorBrush(Colors.Yellow); default: return new SolidColorBrush(Colors.White); } }
private void btnApply_Click(object sender, RoutedEventArgs e) { ProgramID id = mEventList.ElementAt(curIndex); Tuple <Program, List <Engine.FwEventArgs> > list = mEvents[id]; UInt64 expiration = GetExpiration(); ProgramSet.Config.AccessLevels NetAccess = (ProgramSet.Config.AccessLevels)(cmbAccess.SelectedItem as ComboBoxItem).Tag; if (NetAccess == ProgramSet.Config.AccessLevels.CustomConfig) { if (!MakeCustom(list.Item1, expiration)) { return; } } else { ProgramSet prog = App.client.GetProgram(id); if (NetAccess == ProgramSet.Config.AccessLevels.StopNotify) { if (expiration != 0) { prog.config.SilenceUntill = expiration; } else { prog.config.Notify = false; } App.client.UpdateProgram(prog.guid, prog.config); } else { prog.config.NetAccess = NetAccess; App.client.UpdateProgram(prog.guid, prog.config, expiration); } } PopEntry(); }
private void LoadCurrent(bool bUpdate = false) { if (!bUpdate) { ProgramSet.Config.AccessLevels NetAccess = ProgramSet.Config.AccessLevels.Unconfigured; cmbAccess.Background = ProgramControl.GetAccessColor(NetAccess); WpfFunc.CmbSelect(cmbAccess, NetAccess.ToString()); } btnApply.IsEnabled = false; ProgramID id = mEventList.ElementAt(curIndex); Tuple <Program, List <Engine.FwEventArgs> > list = mEvents[id]; //int PID = list.Item2.Count > 0 ? list.Item2.First().FwEvent.ProcessId : 0; string FilePath = list.Item2.Count > 0 ? list.Item2.First().entry.FwEvent.ProcessFileName : ""; imgIcon.Source = ImgFunc.GetIcon(FilePath, imgIcon.Width); // todo: use .progSet.GetIcon instead? //lblName.Text = id.GetDisplayName(false); grpBox.Header = list.Item1.Description; //lblPID.Text = string.Format("{0} ({1})", System.IO.Path.GetFileName(id.Path), PID); lblPID.Text = System.IO.Path.GetFileName(id.Path); List <string> services = new List <string>(); consGrid.Items.Clear(); foreach (Engine.FwEventArgs args in list.Item2) { consGrid.Items.Insert(0, new ConEntry(args.entry)); if (args.services != null) { foreach (var service in args.services) { if (!services.Contains(service)) { services.Add(service); } } } } if (services.Count > 0) { cmbService.Visibility = Visibility.Visible; cmbService.Items.Clear(); foreach (var service in services) { cmbService.Items.Add(service); } cmbService.SelectedIndex = -1; cmbService.Text = Translate.fmt("msg_pick_svc"); } else { cmbService.Visibility = Visibility.Collapsed; switch (id.Type) { //case ProgramList.Types.Program: lblSubName.Text = ""; break; case ProgramID.Types.Service: lblSubName.Text = id.GetServiceId(); break; case ProgramID.Types.App: lblSubName.Text = id.GetPackageName(); break; default: lblSubName.Text = ""; break; } } lblPath.Text = id.Path; }