Ejemplo n.º 1
0
        private void cmbAccess_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (cmbService.Visibility == Visibility.Visible && cmbService.SelectedIndex == -1)
            {
                btnApply.IsEnabled = false;
                return;
            }

            ProgramConfig.AccessLevels NetAccess = (ProgramConfig.AccessLevels)(cmbAccess.SelectedItem as ComboBoxItem).Tag;
            cmbAccess.Background = ProgramControl.GetAccessColor(NetAccess);
            btnApply.IsEnabled   = NetAccess != ProgramConfig.AccessLevels.Unconfigured;
        }
Ejemplo n.º 2
0
        private void btnApply_Click(object sender, RoutedEventArgs e)
        {
            ProgramID id = mEventList.ElementAt(curIndex);
            Tuple <Program, List <Priv10Engine.FwEventArgs> > list = mEvents[id];

            UInt64 expiration = GetExpiration();

            ProgramConfig.AccessLevels NetAccess = (ProgramConfig.AccessLevels)(cmbAccess.SelectedItem as ComboBoxItem).Tag;

            if (NetAccess == ProgramConfig.AccessLevels.CustomConfig)
            {
                if (!MakeCustom(list.Item1, expiration))
                {
                    return;
                }
            }
            else
            {
                ProgramSet prog = App.client.GetProgram(id);

                if (NetAccess == ProgramConfig.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();
        }
Ejemplo n.º 3
0
        //private Brush mBorderBrush;

        public static SolidColorBrush GetAccessColor(ProgramConfig.AccessLevels NetAccess)
        {
            switch (NetAccess)
            {
            case ProgramConfig.AccessLevels.FullAccess: return(new SolidColorBrush(Colors.LightGreen));

            case ProgramConfig.AccessLevels.OutBoundAccess: return(new SolidColorBrush(Colors.YellowGreen));

            case ProgramConfig.AccessLevels.InBoundAccess: return(new SolidColorBrush(Colors.Goldenrod));

            case ProgramConfig.AccessLevels.CustomConfig: return(new SolidColorBrush(Colors.Gold));

            case ProgramConfig.AccessLevels.LocalOnly: return(new SolidColorBrush(Colors.LightSkyBlue));

            case ProgramConfig.AccessLevels.BlockAccess: return(new SolidColorBrush(Colors.LightPink));

            case ProgramConfig.AccessLevels.WarningState: return(new SolidColorBrush(Colors.Yellow));

            default: return(new SolidColorBrush(Colors.White));
            }
        }
Ejemplo n.º 4
0
        private void LoadCurrent(bool bUpdate = false)
        {
            if (!bUpdate)
            {
                ProgramConfig.AccessLevels NetAccess = ProgramConfig.AccessLevels.Unconfigured;

                cmbAccess.Background = ProgramControl.GetAccessColor(NetAccess);
                WpfFunc.CmbSelect(cmbAccess, NetAccess.ToString());

                btnApply.IsEnabled = false;
            }

            ProgramID id = mEventList.ElementAt(curIndex);
            Tuple <Program, List <Priv10Engine.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>();

            //btnIgnore.IsEnabled = true;
            IgnoreSB.IsEnabled = true;
            consGrid.Items.Clear();
            foreach (Priv10Engine.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:
                    string SID = id.GetPackageSID();
                    lblSubName.Text = SID != null?AppModel.GetInstance().GetAppPkgBySid(SID)?.ID ?? SID : "";

                    break;

                default: lblSubName.Text = ""; break;
                }
            }
            lblPath.Text = id.Path;
        }