Beispiel #1
0
        private void LoadCurrent(bool bUpdate = false)
        {
            if (!bUpdate)
            {
                Program.Config.AccessLevels NetAccess = Program.Config.AccessLevels.Unconfigured;

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

            btnApply.IsEnabled = false;

            ProgramList.ID id = mEventList.ElementAt(curIndex);
            Tuple <Program, List <Program.LogEntry> > list = mEvents[id];

            int PID = list.Item2.Count > 0 ? list.Item2.First().PID : 0;

            imgIcon.Source = ImgFunc.GetIcon(list.Item1.GetIcon(), imgIcon.Width);
            //lblName.Text = id.GetDisplayName(false);
            grpBox.Header = id.GetDisplayName(false);
            lblPID.Text   = string.Format("{0} ({1})", System.IO.Path.GetFileName(id.Path), PID);
            switch (id.Type)
            {
            //case ProgramList.Types.Program: lblSubName.Text = ""; break;
            case ProgramList.Types.Service: lblSubName.Text = id.Name; break;

            case ProgramList.Types.App: lblSubName.Text = App.engine.appMgr.GetAppName(id.Name); break;

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

            /*lstEvents.Items.Clear();
             * foreach (Program.LogEntry entry in list.Item2)
             * {
             *  string info = "";
             *  info += NetFunc.Protocol2SStr(entry.Protocol) + "://";
             *
             *  switch (entry.Protocol)
             *  {
             *      case (int)FirewallRule.KnownProtocols.TCP:
             *      case (int)FirewallRule.KnownProtocols.UDP:
             *          info += entry.RemoteAddress + ":" + entry.RemotePort;
             *          break;
             *  }
             *
             *  lstEvents.Items.Add(new ListBoxItem() { Content = info});
             * }*/

            consGrid.Items.Clear();
            foreach (Program.LogEntry entry in list.Item2)
            {
                consGrid.Items.Insert(0, new ConEntry(entry));
            }
        }
Beispiel #2
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;
        }
Beispiel #3
0
 private void cmbAccess_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     Program.Config.AccessLevels NetAccess = (Program.Config.AccessLevels)(cmbAccess.SelectedItem as ComboBoxItem).Tag;
     cmbAccess.Background = ProgramControl.GetAccessColor(NetAccess);
     btnApply.IsEnabled   = NetAccess != Program.Config.AccessLevels.Unconfigured;
 }
Beispiel #4
0
        public NotificationWnd()
        {
            InitializeComponent();

            this.Title                      = Translate.fmt("wnd_notify");
            this.btnPrev.Content            = Translate.fmt("lbl_prev");
            this.btnNext.Content            = Translate.fmt("lbl_next");
            this.lblRemember.Content        = Translate.fmt("lbl_remember");
            this.btnIgnore.Content          = Translate.fmt("lbl_ignore");
            this.btnApply.Content           = Translate.fmt("lbl_apply");
            this.consGrid.Columns[0].Header = Translate.fmt("lbl_protocol");
            this.consGrid.Columns[1].Header = Translate.fmt("lbl_ip_port");
            this.consGrid.Columns[2].Header = Translate.fmt("lbl_time_stamp");

            this.Topmost = true;

            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_none"), Tag = Program.Config.AccessLevels.Unconfigured
            });
            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_silence"), Tag = Program.Config.AccessLevels.StopNotify
            });
            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_allow"), Tag = Program.Config.AccessLevels.FullAccess
            });
            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_edit"), Tag = Program.Config.AccessLevels.CustomConfig
            });
            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_lan"), Tag = Program.Config.AccessLevels.LocalOnly
            });
            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_block"), Tag = Program.Config.AccessLevels.BlockAccess
            });
            foreach (ComboBoxItem item in cmbAccess.Items)
            {
                item.Background = ProgramControl.GetAccessColor((Program.Config.AccessLevels)item.Tag);
            }

            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_permanent"), Tag = 0
            });
#if DEBUG
            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_temp", "1 min"), Tag = 60
            });
#endif
            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_temp", "5 min"), Tag = 5 * 60
            });
            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_temp", "15 min"), Tag = 15 * 60
            });
            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_temp", "1 h"), Tag = 60 * 60
            });
            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_temp", "24 h"), Tag = 24 * 60 * 60
            });
            cmbRemember.SelectedIndex = 0;

            WpfFunc.LoadWnd(this, "Notify");
        }
Beispiel #5
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;
        }
Beispiel #6
0
        public NotificationWnd()
        {
            InitializeComponent();

            this.Title                      = Translate.fmt("wnd_notify");
            this.btnPrev.Content            = Translate.fmt("lbl_prev");
            this.btnNext.Content            = Translate.fmt("lbl_next");
            this.lblRemember.Content        = Translate.fmt("lbl_remember");
            this.btnIgnore.Content          = Translate.fmt("lbl_ignore");
            this.btnApply.Content           = Translate.fmt("lbl_apply");
            this.consGrid.Columns[0].Header = Translate.fmt("lbl_protocol");
            this.consGrid.Columns[1].Header = Translate.fmt("lbl_ip_port");
            this.consGrid.Columns[2].Header = Translate.fmt("lbl_remote_host");
            this.consGrid.Columns[3].Header = Translate.fmt("lbl_time_stamp");
            this.consGrid.Columns[4].Header = Translate.fmt("lbl_pid");

            consGridExt = new DataGridExt(consGrid);
            consGridExt.Restore(App.GetConfig("GUI", "consGrid_Columns", ""));

            this.Topmost = true;

            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_none"), Tag = ProgramSet.Config.AccessLevels.Unconfigured
            });
            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_silence"), Tag = ProgramSet.Config.AccessLevels.StopNotify
            });
            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_allow"), Tag = ProgramSet.Config.AccessLevels.FullAccess
            });
            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_edit"), Tag = ProgramSet.Config.AccessLevels.CustomConfig
            });
            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_lan"), Tag = ProgramSet.Config.AccessLevels.LocalOnly
            });
            cmbAccess.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("acl_block"), Tag = ProgramSet.Config.AccessLevels.BlockAccess
            });
            foreach (ComboBoxItem item in cmbAccess.Items)
            {
                item.Background = ProgramControl.GetAccessColor((ProgramSet.Config.AccessLevels)item.Tag);
            }

#if DEBUG
            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_temp", "1 min"), Tag = 60
            });
#endif
            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_temp", "5 min"), Tag = 5 * 60
            });
            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_temp", "15 min"), Tag = 15 * 60
            });
            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_temp", "1 h"), Tag = 60 * 60
            });
            cmbRemember.SelectedIndex = cmbRemember.Items.Count - 1; // default is 1h
            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_temp", "24 h"), Tag = 24 * 60 * 60
            });
            cmbRemember.Items.Add(new ComboBoxItem()
            {
                Content = Translate.fmt("lbl_permanent"), Tag = 0
            });

            if (!WpfFunc.LoadWnd(this, "Notify"))
            {
                this.Left = SystemParameters.WorkArea.Width - this.Width - 4.0;
                this.Top  = SystemParameters.WorkArea.Height - this.Height - 4.0;
            }
        }