public NotificationViewModel(Dispatcher dispatcher) { List = new ObservableCollection <ItemPriceList>(); LocalList = new SortedDictionary <string, ItemPriceList>(); _dispatcher = dispatcher; timer = new Timer(15000); timer.Elapsed += new ElapsedEventHandler(timer_Elapsed); //if ((wnd == null) || (wnd.Visibility != System.Windows.Visibility.Visible) || (!wnd.IsActive)) if (wnd == null) { wnd = new NotificationWnd(); wnd.DataContext = this; } }
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"; * }*/ App.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("Control", new PageItem(new ControlPage())); //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(); }