Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        //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);
            }
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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;
        }