public NewToApplicationWindow(IApplicationHotkeyService hotkeyService, IAppSettingService settingService, IActionService actionService) { InitializeComponent(); this.Title = "New to RecNForget?"; if (DesignerProperties.GetIsInDesignMode(this)) { this.hotkeyService = new DesignerApplicationHotkeyService(); this.actionService = new DesignerActionService(); SettingService = new DesignerAppSettingService(); return; } else { // ToDo: Evil Hack to have the cake (see actual design in design mode) and eat it too (have different styles at runtime) this.Resources = null; this.hotkeyService = hotkeyService; SettingService = settingService; this.actionService = actionService; this.KeyDown += Window_KeyDown; } }
// public ActionService(ISelectedFileService selectedFileService, IAudioPlaybackService audioPlaybackService, IAppSettingService appSettingService) public ActionService() { this.selectedFileService = UnityHandler.UnityContainer.Resolve <ISelectedFileService>(); this.appSettingService = UnityHandler.UnityContainer.Resolve <IAppSettingService>(); this.audioPlaybackService = UnityHandler.UnityContainer.Resolve <IAudioPlaybackService>(); this.audioRecordingService = UnityHandler.UnityContainer.Resolve <IAudioRecordingService>(); this.hotkeyService = UnityHandler.UnityContainer.Resolve <IApplicationHotkeyService>(); hotkeyService.ResetAndReadHotkeysFromConfig(this); }
public SettingsWindow(IApplicationHotkeyService hotkeyService, IAppSettingService settingService) { InitializeComponent(); if (DesignerProperties.GetIsInDesignMode(this)) { this.hotkeyService = new DesignerApplicationHotkeyService(); SettingService = new DesignerAppSettingService(); } else { // ToDo: Evil Hack to have the cake (see actual design in design mode) and eat it too (have different styles at runtime) this.Resources = null; this.hotkeyService = hotkeyService; SettingService = settingService; } }
public HotkeySettingButton() { InitializeComponent(); if (DesignerProperties.GetIsInDesignMode(this)) { this.actionService = new DesignerActionService(); } else { this.hotkeyService = UnityHandler.UnityContainer.Resolve <IApplicationHotkeyService>(); this.actionService = UnityHandler.UnityContainer.Resolve <IActionService>(); // ToDo: Evil Hack to have the cake (see actual design in design mode) and eat it too (have different styles at runtime) this.Resources = null; } }
private void HandleFirstStartAndUpdates(IActionService actionService, IAppSettingService appSettingService, IApplicationHotkeyService hotkeyService, bool firstTimeUser) { if (appSettingService.CheckForUpdateOnStart) { Task.Run(() => { actionService.CheckForUpdates(showMessages: false); }); } var currentFileVersion = new Version(ThisAssembly.AssemblyFileVersion); Version lastInstalledVersion = appSettingService.LastInstalledVersion; appSettingService.LastInstalledVersion = currentFileVersion; hotkeyService.ResetAndReadHotkeysFromConfig(); if (firstTimeUser) { actionService.ShowNewToApplicationWindow(); } else if (currentFileVersion.CompareTo(lastInstalledVersion) > 0) { actionService.ShowNewToVersionDialog(currentFileVersion, lastInstalledVersion); } else if (appSettingService.ShowTipsAtApplicationStart) { actionService.ShowRandomApplicationTip(); } }
public MainWindow() { DataContext = this; InitializeComponent(); if (DesignerProperties.GetIsInDesignMode(this)) { this.actionService = new DesignerActionService(); this.hotkeyService = new DesignerApplicationHotkeyService(); SelectedFileService = new DesignerSelectedFileService(); SettingService = new DesignerAppSettingService(); AudioRecordingService = new DesignerAudioRecordingService(); AudioPlaybackService = new DesignerAudioPlaybackService(); return; } else { // ToDo: Evil Hack to have the cake (see actual design in design mode) and eat it too (have different styles at runtime) this.Resources = null; this.actionService = UnityHandler.UnityContainer.Resolve <IActionService>(); //actionService.ChangeTheme("Simple_Black"); //this.InvalidateVisual(); this.hotkeyService = UnityHandler.UnityContainer.Resolve <IApplicationHotkeyService>(); SelectedFileService = UnityHandler.UnityContainer.Resolve <ISelectedFileService>(); SettingService = UnityHandler.UnityContainer.Resolve <IAppSettingService>(); SettingService.PropertyChanged += SettingService_PropertyChanged; AudioRecordingService = UnityHandler.UnityContainer.Resolve <IAudioRecordingService>(); AudioRecordingService.PropertyChanged += AudioRecordingService_PropertyChanged; AudioPlaybackService = UnityHandler.UnityContainer.Resolve <IAudioPlaybackService>(); AudioPlaybackService.PropertyChanged += AudioPlaybackService_PropertyChanged; // try restore last window positon if (!SettingService.MainWindowLeftX.HasValue || !SettingService.MainWindowTopY.HasValue) { this.Left = (SystemParameters.PrimaryScreenWidth / 2) - (this.Width / 2); this.Top = (SystemParameters.PrimaryScreenHeight / 2) - (this.Height / 2); } else { this.Left = SettingService.MainWindowLeftX.Value; this.Top = SettingService.MainWindowTopY.Value; } this.KeyDown += Window_KeyDown; this.MouseRightButtonUp += MainWindow_MouseRightButtonUp; trayIcon = new System.Windows.Forms.NotifyIcon { Icon = System.Drawing.Icon.ExtractAssociatedIcon(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName), Visible = true }; trayIcon.Click += new EventHandler(TrayIcon_Click); trayIcon.DoubleClick += new EventHandler(TrayIconMenu_DoubleClick); // initialize control visibility (is being toggled via SettingService_PropertyChanged - binding with bool to visibility converter did not update) OutputPathControl.Visibility = SettingService.OutputPathControlVisible ? Visibility.Visible : Visibility.Collapsed; OutputPathControlSpacer.Visibility = SettingService.OutputPathControlVisible ? Visibility.Visible : Visibility.Collapsed; SelectedFileControl.Visibility = SettingService.SelectedFileControlVisible ? Visibility.Visible : Visibility.Collapsed; SelectedFileControlSpacer.Visibility = SettingService.SelectedFileControlVisible ? Visibility.Visible : Visibility.Collapsed; RecordingTimerControl.Visibility = SettingService.RecordingTimerControlVisible ? Visibility.Visible : Visibility.Collapsed; RecordingTimerControlSpacer.Visibility = SettingService.RecordingTimerControlVisible ? Visibility.Visible : Visibility.Collapsed; this.Topmost = SettingService.WindowAlwaysOnTop; // hacky way to have a window for NotificationManager // is this really needed? (window is loaded into memory even if running in background) this.Show(); if (SettingService.MinimizedToTray) { SwitchToBackgroundMode(); } SelectedFileService.SelectLatestFile(); //else //{ // SwitchToForegroundMode(); //} } }