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};
        }
Exemple #3
0
 public HotkeyController(IErrorLogService _errorLogService, IHotkeyService _hotkeyService)
 {
     hotkeyService   = _hotkeyService;
     errorLogService = _errorLogService;
 }
Exemple #4
0
        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;
        }