// Applies all the settings and starts timers private void ApplySettings() { mAlarmPrinter = new AlarmPrinter(AicSettings.Global.PrintServer, AicSettings.Global.PrinterName); InfoCenterCtrl.PageDisplayDuration = AicSettings.Global.InfoPageDisplayDuration; mTurnScreenOffTimer.Interval = new TimeSpan(0, AicSettings.Global.TurnScreenOffDelayMinutes, 0); DemoLbl.Visibility = AicSettings.Global.DemoMode ? Visibility.Visible : Visibility.Hidden; // Full screen mode bool fullScreen = AicSettings.Global.FullScreenMode; Topmost = fullScreen; WindowStyle = fullScreen ? WindowStyle.None : WindowStyle.SingleBorderWindow; Mouse.OverrideCursor = fullScreen ? Cursors.None : null; StatusBar.Visibility = fullScreen ? Visibility.Collapsed : Visibility.Visible; // Basic mode bool basic = AicSettings.Global.ShowBasicAlarmInfo; int colSpan = basic ? 2 : 1; MultiAlarmLbl.SetValue(Grid.ColumnSpanProperty, colSpan); MultiAlarmPageLbl.Visibility = basic ? Visibility.Collapsed : Visibility.Visible; MultiAlarmLbl.HorizontalAlignment = basic ? HorizontalAlignment.Center : HorizontalAlignment.Stretch; // Control public display if (AicSettings.Global.PublicDisplayIp == null) { PublicDisplayControl.LogError = null; mPublicDisplayControl = null; } else { PublicDisplayControl.LogError = Log.GetInstance().LogError; mPublicDisplayControl = new PublicDisplayControl(AicSettings.Global.PublicDisplayIp.ToString(), AicSettings.Global.PublicDisplayPort); } // Listen to the AicServer if (AicSettings.Global.DemoMode) { mAicMessageListener = new FileListener(); } else if (AicSettings.Global.StandAloneMode) { mAicMessageListener = new DefaultListeningManager(); } else { mAicMessageListener = new AicServerListener(AicSettings.Global.NetworkServiceIpString, AicSettings.Global.NetworkServicePort); } mAicMessageListener.ConnectionStatusChanged += listener_ConnectionStatusChanged; mAicMessageListener.MessageReceived += listener_MessageReceived; try { mAicMessageListener.Start(); } catch { mConnectionWasToServerOk = false; RefreshMainWindow(); } }
// Stops all timers and connections private void StopListener() { try { // Stop listening to server if (mAicMessageListener != null) { mAicMessageListener.ConnectionStatusChanged -= listener_ConnectionStatusChanged; mAicMessageListener.MessageReceived -= listener_MessageReceived; mAicMessageListener.Stop(); mAicMessageListener = null; } } catch (Exception ex) { Log.GetInstance().LogError("Error in stopping listener from MainWindow.", ex); } }