public SettingsViewModel(IHotkeyService hotkeyService, ITranslator translator) { this.hotkeyService = hotkeyService; this.translator = translator; SupportedLanguages = new ObservableCollection<Language>(translator.Languages); SelectedSourceLanguage = translator.SourceLanguage; SelectedTargetLanguage = translator.TargetLanguage; ActionKeyPressed = hotkeyService.ActionKey; ModifierKeysPressed = hotkeyService.ModifierKeys; }
protected override void OnStartup(StartupEventArgs e) { IocKernel.Initialize(new IocConfiguration()); service = IocKernel.Get<IHotkeyService>(); service.HotkeyPressed += OnHotkeyPressed; ShutdownMode = ShutdownMode.OnExplicitShutdown; var taskbarIcon = new TaskbarIcon { ContextMenu = new ContextMenuView(), Icon = PopupTranslator.Properties.Resources.TranslateLogo, ToolTipText = "Popup Translator" }; taskbarIcon.TrayMouseDoubleClick += OnTaskbarDoubleClick; mainWindow = new MainWindow {ShowInTaskbar = false}; }
public HotkeyController(IErrorLogService _errorLogService, IHotkeyService _hotkeyService) { hotkeyService = _hotkeyService; errorLogService = _errorLogService; }
public MainViewModel( ISettingsService settingsService, ITemperatureService temperatureService, IWindowService windowService, IHotkeyService hotkeyService, IGeoService geoService, IVersionCheckService versionCheckService) { // Services SettingsService = settingsService; _temperatureService = temperatureService; _windowService = windowService; _hotkeyService = hotkeyService; _geoService = geoService; _versionCheckService = versionCheckService; _temperatureService.Tick += TemperatureServiceTick; _temperatureService.Updated += TemperatureServiceUpdated; _windowService.FullScreenStateChanged += WindowServiceFullScreenStateChanged; // Timers _checkForUpdatesTimer = new Timer(); _checkForUpdatesTimer.Tick += async(sender, args) => await CheckForUpdatesAsync(); _internetSyncTimer = new SyncedTimer(); _internetSyncTimer.Tick += async(sender, args) => await SynchronizeWithInternetAsync(); _disableTemporarilyTimer = new Timer(); _disableTemporarilyTimer.Tick += (sender, args) => { IsEnabled = true; _disableTemporarilyTimer.IsEnabled = false; }; // Commands ShowMainWindowCommand = new RelayCommand(() => { DispatcherHelper.CheckBeginInvokeOnUI(() => { Application.Current.MainWindow.Show(); Application.Current.MainWindow.Activate(); Application.Current.MainWindow.Focus(); }); }); ExitApplicationCommand = new RelayCommand(() => { Application.Current.ShutdownSafe(); }); AboutCommand = new RelayCommand(() => { Process.Start("https://github.com/Tyrrrz/LightBulb"); }); ToggleEnabledCommand = new RelayCommand(() => { IsEnabled = !IsEnabled; }); DisableTemporarilyCommand = new RelayCommand <double>(ms => { _disableTemporarilyTimer.IsEnabled = false; _disableTemporarilyTimer.Interval = TimeSpan.FromMilliseconds(ms); IsEnabled = false; _disableTemporarilyTimer.IsEnabled = true; }); DownloadNewVersionCommand = new RelayCommand(() => { Process.Start("https://github.com/Tyrrrz/LightBulb/releases"); }); // Settings SettingsService.PropertyChanged += SettingsServicePropertyChanged; UpdateConfiguration(); UpdateHotkeys(); // Init CheckForUpdatesAsync().Forget(); SynchronizeWithInternetAsync().Forget(); IsEnabled = true; }