public void ShowWnd() { if (!WpfFunc.LoadWnd(this, "Notify")) { this.Left = SystemParameters.WorkArea.Width - this.Width - 4.0; this.Top = SystemParameters.WorkArea.Height - this.Height - 4.0; } Show(); }
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"); }
public RuleWindow(List <Program> progs, FirewallRule rule) { InitializeComponent(); this.Title = Translate.fmt("wnd_rule"); this.grpRule.Header = Translate.fmt("lbl_rule"); this.lblName.Text = Translate.fmt("lbl_name"); this.lblGroup.Text = Translate.fmt("lbl_group"); this.grpProgram.Header = Translate.fmt("lbl_program"); this.lblProgram.Text = Translate.fmt("lbl_program"); this.lblExecutable.Text = Translate.fmt("lbl_exe"); this.lblService.Text = Translate.fmt("lbl_svc"); this.lblApp.Text = Translate.fmt("lbl_app"); this.grpAction.Header = Translate.fmt("grp_action"); this.lblAction.Text = Translate.fmt("lbl_action"); this.radProfileAll.Content = Translate.fmt("lbl_prof_all"); this.radProfileCustom.Content = Translate.fmt("lbl_prof_sel"); this.chkPublic.Content = Translate.fmt("lbl_prof_pub"); this.chkDomain.Content = Translate.fmt("lbl_prof_dmn"); this.chkPrivate.Content = Translate.fmt("lbl_prof_priv"); this.radNicAll.Content = Translate.fmt("lbl_itf_all"); this.radNicCustom.Content = Translate.fmt("lbl_itf_select"); this.chkLAN.Content = Translate.fmt("lbl_itf_lan"); this.chkVPN.Content = Translate.fmt("lbl_itf_vpn"); this.chkWiFi.Content = Translate.fmt("lbl_itf_wifi"); this.grpNetwork.Header = Translate.fmt("grp_network"); this.lblDirection.Text = Translate.fmt("lbl_direction"); this.lblProtocol.Text = Translate.fmt("lbl_protocol"); this.lblLocalPorts.Text = Translate.fmt("lbl_local_port"); this.lblRemotePorts.Text = Translate.fmt("lbl_remote_port"); this.lblICMP.Text = Translate.fmt("lbl_icmp"); this.lblLocalIP.Text = Translate.fmt("lbl_local_ip"); this.lblRemoteIP.Text = Translate.fmt("lbl_remote_ip"); this.btnOK.Content = Translate.fmt("lbl_ok"); this.btnCancel.Content = Translate.fmt("lbl_cancel"); Rule = rule; bool bNew = Rule.guid == null; viewModel = new RuleWindowViewModel(); DataContext = viewModel; //txtName.Text = Rule.Name; viewModel.RuleName = Rule.Name; cmbGroup.ItemsSource = GroupModel.GetInstance().GetGroups(); if (!WpfFunc.CmbSelect(cmbGroup, Rule.Grouping)) { cmbGroup.Text = Rule.Grouping; } txtInfo.Text = Rule.Description; foreach (Program prog in progs) { ContentControl program = new ContentControl() { Content = prog.Description, Tag = prog.ID }; cmbProgram.Items.Add(program); if (Rule.ProgID != null && prog.ID.CompareTo(Rule.ProgID) == 0) { cmbProgram.SelectedItem = program; } } cmbAction.Items.Add(new ContentControl() { Content = Translate.fmt("str_allow"), Tag = FirewallRule.Actions.Allow }); cmbAction.Items.Add(new ContentControl() { Content = Translate.fmt("str_block"), Tag = FirewallRule.Actions.Block }); //WpfFunc.CmbSelect(cmbAction, Rule.Action.ToString()); viewModel.RuleAction = WpfFunc.CmbPick(cmbAction, Rule.Action.ToString()); if (Rule.Profile == (int)FirewallRule.Profiles.All) { radProfileAll.IsChecked = true; chkPrivate.IsChecked = true; chkDomain.IsChecked = true; chkPublic.IsChecked = true; } else { radProfileCustom.IsChecked = true; chkPrivate.IsChecked = ((Rule.Profile & (int)FirewallRule.Profiles.Private) != 0); chkDomain.IsChecked = ((Rule.Profile & (int)FirewallRule.Profiles.Domain) != 0); chkPublic.IsChecked = ((Rule.Profile & (int)FirewallRule.Profiles.Public) != 0); } if (Rule.Interface == (int)FirewallRule.Interfaces.All) { radNicAll.IsChecked = true; chkLAN.IsChecked = true; chkVPN.IsChecked = true; chkWiFi.IsChecked = true; } else { radNicCustom.IsChecked = true; chkLAN.IsChecked = ((Rule.Interface & (int)FirewallRule.Interfaces.Lan) != 0); chkVPN.IsChecked = ((Rule.Interface & (int)FirewallRule.Interfaces.RemoteAccess) != 0); chkWiFi.IsChecked = ((Rule.Interface & (int)FirewallRule.Interfaces.Wireless) != 0); } if (bNew) { cmbDirection.Items.Add(new ContentControl() { Content = Translate.fmt("str_inandout"), Tag = FirewallRule.Directions.Bidirectiona }); } cmbDirection.Items.Add(new ContentControl() { Content = Translate.fmt("str_outbound"), Tag = FirewallRule.Directions.Outboun }); cmbDirection.Items.Add(new ContentControl() { Content = Translate.fmt("str_inbound"), Tag = FirewallRule.Directions.Inbound }); WpfFunc.CmbSelect(cmbDirection, Rule.Direction.ToString()); cmbProtocol.Items.Add(new ContentControl() { Content = Translate.fmt("pro_any"), Tag = (int)NetFunc.KnownProtocols.Any }); for (int i = (int)NetFunc.KnownProtocols.Min; i <= (int)NetFunc.KnownProtocols.Max; i++) { string name = NetFunc.Protocol2Str((UInt32)i); if (name != null) { cmbProtocol.Items.Add(new ContentControl() { Content = i.ToString() + " - " + name, Tag = i }); } } //if (!WpfFunc.CmbSelect(cmbProtocol, Rule.Protocol.ToString())) // cmbProtocol.Text = Rule.Protocol.ToString(); viewModel.Protocol = WpfFunc.CmbPick(cmbProtocol, Rule.Protocol.ToString()); if (viewModel.Protocol == null) { viewModel.ProtocolTxt = Rule.Protocol.ToString(); } UpdatePorts(); addrDest.Address = Rule.RemoteAddresses; addrSrc.Address = Rule.LocalAddresses; WpfFunc.LoadWnd(this, "Rule"); }
public MainWindow() { InitializeComponent(); this.Title = string.Format("{0} v{1} by David Xanatos", App.Title, App.Version); if (App.lic.LicenseStatus != QLicense.LicenseStatus.VALID) { if (!App.lic.CommercialUse) { this.Title += " - Freeware for Private NOT Commercial Use"; } else if (App.IsEvaluationExpired()) { this.Title += " - Evaluation license EXPIRED"; } else { this.Title += " - Evaluation license for Commercial Use"; } } /*else * { * if (App.lic.CommercialUse) * this.Title += " - Business Edition"; * }*/ WpfFunc.LoadWnd(this, "Main"); bool HasEngine = App.client.IsConnected(); notificationWnd = new NotificationWnd(HasEngine); notificationWnd.Closed += NotificationClosed; mPages.Add("Overview", new PageItem(new OverviewPage())); mPages.Add("Privacy", new PageItem(new PrivacyPage())); mPages.Add("Firewall", new PageItem(HasEngine ? new FirewallPage() : null)); mPages.Add("Dns", new PageItem(new DnsPage())); //mPages.Add("Terminator", new PageItem(null)); //mPages.Add("VPN", new PageItem(new VPNPage())); mPages.Add("Settings", new PageItem(new SettingsPage())); mPages.Add("About", new PageItem(new AboutPage())); foreach (var page in mPages.Values) { if (page.ctrl != null) { page.ctrl.Visibility = Visibility.Collapsed; this.Main.Children.Add(page.ctrl); } } Brush brushOn = (TryFindResource("SidePanel.on") as Brush); Brush brushOff = (TryFindResource("SidePanel.off") as Brush); foreach (var val in mPages) { string name = val.Key; TabItem item = new TabItem(); val.Value.tab = item; this.SidePanel.Items.Add(item); item.KeyDown += SidePanel_Click; item.MouseLeftButtonUp += SidePanel_Click; item.Name = "PanelItem_" + name; item.Style = (TryFindResource("SidePanelItem") as Style); StackPanel panel = new StackPanel(); item.Header = panel; panel.ToolTip = Translate.fmt("lbl_" + name.ToLower()); Image image = new Image(); image.Width = 32; image.Height = 32; image.SnapsToDevicePixels = true; image.Name = "PanelItem_" + name + "_Image"; panel.Children.Add(image); Path pin = new Path(); pin.Width = 4; pin.Height = 24; pin.Margin = new Thickness(-43, -32, 0, 0); pin.Fill = TryFindResource("SidePanel.Pin") as SolidColorBrush; pin.IsHitTestVisible = false; pin.Name = "PanelItem_" + name + "_Pin"; pin.Data = new RectangleGeometry(new Rect(new Point(0, 0), new Point(4, 24))); panel.Children.Add(pin); Geometry geometry = (TryFindResource("Icon_" + name) as Geometry); image.Tag = new Tuple <DrawingImage, DrawingImage>(new DrawingImage(new GeometryDrawing(brushOn, null, geometry)), new DrawingImage(new GeometryDrawing(brushOff, null, geometry))); } //Main.Loaded += (sender, e) =>{ SwitchPage(App.GetConfig("GUI", "CurPage", "Overview")); //}; FullyLoaded = true; UpdateEnabled(); }
public MainWindow() { InitializeComponent(); //if (!MiscFunc.IsRunningAsUwp()) this.Title = string.Format("{0} v{1} by David Xanatos", App.mName, App.mVersion); if (!App.lic.CommercialUse) { this.Title += " - Freeware for Private NOT Commercial Use"; } WpfFunc.LoadWnd(this, "Main"); mPages.Add("Overview", new OverviewPage()); mPages.Add("Privacy", new PrivacyPage()); if (App.client.IsConnected()) { mPages.Add("Firewall", new FirewallPage()); } else { mPages.Add("Firewall", null); } //mPages.Add("VPN", new VPNPage()); mPages.Add("Settings", new SettingsPage()); mPages.Add("About", new AboutPage()); foreach (UserControl page in mPages.Values) { if (page == null) { continue; } page.Visibility = Visibility.Collapsed; this.Main.Children.Add(page); } Brush brushOn = (TryFindResource("SidePanel.on") as Brush); Brush brushOff = (TryFindResource("SidePanel.off") as Brush); foreach (string name in mPages.Keys) { TabItem item = new TabItem(); this.SidePanel.Items.Add(item); item.KeyDown += SidePanel_Click; item.MouseLeftButtonUp += SidePanel_Click; item.Name = "PanelItem_" + name; item.Style = (TryFindResource("SidePanelItem") as Style); StackPanel panel = new StackPanel(); item.Header = panel; Image image = new Image(); image.Width = 32; image.Height = 32; image.SnapsToDevicePixels = true; image.Name = "PanelItem_" + name + "_Image"; panel.Children.Add(image); Path pin = new Path(); pin.Width = 4; pin.Height = 24; pin.Margin = new Thickness(-43, -32, 0, 0); pin.Fill = TryFindResource("SidePanel.Pin") as SolidColorBrush; pin.IsHitTestVisible = false; pin.Name = "PanelItem_" + name + "_Pin"; pin.Data = new RectangleGeometry(new Rect(new Point(0, 0), new Point(4, 24))); panel.Children.Add(pin); Geometry geometry = (TryFindResource("Icon_" + name) as Geometry); image.Tag = new Tuple <DrawingImage, DrawingImage>(new DrawingImage(new GeometryDrawing(brushOn, null, geometry)), new DrawingImage(new GeometryDrawing(brushOff, null, geometry))); } SwitchPage(App.GetConfig("GUI", "CurPage", "Overview")); }
public MainWindow() { InitializeComponent(); //if (!MiscFunc.IsRunningAsUwp()) this.Title = string.Format("{0} v{1} by David Xanatos", App.mName, App.mVersion); if (!App.lic.CommercialUse) { this.Title += " - for Private non Commercial Use"; } WpfFunc.LoadWnd(this, "Main"); mPages.Add("Overview", new OverviewPage()); mPages.Add("Privacy", new PrivacyPage()); if (App.client.IsConnected()) { mPages.Add("Firewall", new FirewallPage()); } else { mPages.Add("Firewall", null); } //mPages.Add("VPN", new VPNPage()); mPages.Add("Settings", new SettingsPage()); mPages.Add("About", new AboutPage()); foreach (UserControl page in mPages.Values) { if (page == null) { continue; } page.Visibility = Visibility.Collapsed; this.Main.Children.Add(page); } Brush brushOn = (TryFindResource("SidePanel.on") as Brush); Brush brushOff = (TryFindResource("SidePanel.off") as Brush); foreach (string name in mPages.Keys) { /*TabItem item = new TabItem(); * item.KeyDown += SidePanel_Click; * item.MouseLeftButtonUp += SidePanel_Click; * item.Name = "PanelItem_" + name; * item.Style = (TryFindResource("SidePanelItem") as Style); * * StackPanel panel = new StackPanel(); * * Image image = new Image(); * image.Width = 32; * image.Height = 32; * image.Name = "PanelItem_" + name + "_Image"; * * panel.Children.Add(image); * item.Content = panel; * this.SidePanel.Items.Add(item);*/ Geometry geometry = (TryFindResource("Icon_" + name) as Geometry); Image image = (FindName("PanelItem_" + name + "_Image") as Image); image.Tag = new Tuple <DrawingImage, DrawingImage>(new DrawingImage(new GeometryDrawing(brushOn, null, geometry)), new DrawingImage(new GeometryDrawing(brushOff, null, geometry))); } SwitchPage(App.GetConfig("GUI", "CurPage", "Overview")); }
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; } }