コード例 #1
0
        private async Task BindHotKeyAsync()
        {
            runHotKey = new DefaultRunHotKeyService(this, this);
            KeyViewModel runKey;

            if (Converts.Try(settings.RunKey, out runKey) && runKey != null)
            {
                try
                {
                    runHotKey.Bind(runKey.Key, runKey.Modifier);
                }
                catch (Win32Exception)
                {
                    MessageBox.Show($"The global hotkey '{settings.RunKey}' is already in use. Configure another one in the settings.", "SolutionRunner");

                    runHotKey.UnBind();
                    settings.RunKey = null;
                    await settingsService.SaveAsync(settings);
                }
            }

            if (!runHotKey.IsSet)
            {
                startup.IsHidden = false;
            }
        }
コード例 #2
0
 internal SaveConfigurationCommandFactory(Settings settings, DefaultRunHotKeyService runHotKey, ShortcutService shortcutService)
 {
     Ensure.NotNull(settings, "settings");
     Ensure.NotNull(runHotKey, "runHotKey");
     Ensure.NotNull(shortcutService, "shortcutService");
     this.settings        = settings;
     this.runHotKey       = runHotKey;
     this.shortcutService = shortcutService;
 }
コード例 #3
0
 internal ConfigurationViewModelFactory(IApplicationLoader mainApplicationLoader, ShortcutService shortcutService, DefaultRunHotKeyService runHotKey, Settings settings, INavigator navigator)
 {
     Ensure.NotNull(mainApplicationLoader, "mainApplicationLoader");
     Ensure.NotNull(shortcutService, "shortcutService");
     Ensure.NotNull(runHotKey, "runHotKey");
     Ensure.NotNull(settings, "settings");
     Ensure.NotNull(navigator, "navigator");
     this.mainApplicationLoader = mainApplicationLoader;
     this.shortcutService       = shortcutService;
     this.runHotKey             = runHotKey;
     this.settings  = settings;
     this.navigator = navigator;
 }
コード例 #4
0
 internal ConfigurationViewModelFactory(IApplicationLoader mainApplicationLoader, ShortcutService shortcutService, DefaultRunHotKeyService runHotKey, ISettingsService settingsService, ISettings settings, ISettingsFactory settingsFactory, INavigator navigator, ILogService logProvider, IDiagnosticService searchDiagnostics, FileLogBatchFactory executorFactory)
 {
     Ensure.NotNull(mainApplicationLoader, "mainApplicationLoader");
     Ensure.NotNull(shortcutService, "shortcutService");
     Ensure.NotNull(runHotKey, "runHotKey");
     Ensure.NotNull(settingsService, "settingsService");
     Ensure.NotNull(settings, "settings");
     Ensure.NotNull(settingsFactory, "settingsFactory");
     Ensure.NotNull(navigator, "navigator");
     Ensure.NotNull(logProvider, "logProvider");
     Ensure.NotNull(searchDiagnostics, "searchDiagnostics");
     Ensure.NotNull(executorFactory, "executorFactory");
     this.mainApplicationLoader = mainApplicationLoader;
     this.shortcutService       = shortcutService;
     this.runHotKey             = runHotKey;
     this.settingsService       = settingsService;
     this.settings          = settings;
     this.settingsFactory   = settingsFactory;
     this.navigator         = navigator;
     this.logProvider       = logProvider;
     this.searchDiagnostics = searchDiagnostics;
     this.executorFactory   = executorFactory;
 }
コード例 #5
0
        protected override void OnStartup(StartupEventArgs e)
        {
            ReloadThemeResources();

            TaskScheduler.UnobservedTaskException += OnTaskSchedulerUnobservedException;

            //#if DEBUG
            //            Settings.Default.Reset();
            //#endif

            PrepareStartup(e);
            base.OnStartup(e);

            BuildErrorHandler();

            Converts.Repository
            .AddJsonPrimitivesSearchHandler()
            .AddJsonObjectSearchHandler()
            .AddJsonEnumSearchHandler()
            .AddEnumSearchHandler(false)
            .AddToStringSearchHandler()
            .Add(new AdditionalApplicationCollectionConverter())
            .Add(new KeyViewModelConverter())
            .Add(new ExceptionModelConverter());

            EventManager.FilePinned         += OnFilePinned;
            EventManager.ConfigurationSaved += OnConfigurationSaved;
            EventManager.ProcessStarted     += OnProcessStarted;

            mainApplicationLoader = new ApplicationLoaderCollection()
                                    .Add(new VsVersionLoader())
                                    .Add(new VsCodeLoader());

            // Bind global hotkey.
            runHotKey = new DefaultRunHotKeyService(this, this);
            KeyViewModel runKey;

            if (Converts.Try(Settings.Default.RunKey, out runKey) && runKey != null)
            {
                try
                {
                    runHotKey.Bind(runKey.Key, runKey.Modifier);
                }
                catch (Win32Exception)
                {
                    runHotKey.UnBind();
                    Settings.Default.RunKey = null;
                    Settings.Default.Save();
                }
            }

            if (!runHotKey.IsSet)
            {
                startup.IsHidden = false;
            }

            configurationFactory = new ConfigurationViewModelFactory(
                mainApplicationLoader,
                shortcutService,
                runHotKey,
                Settings.Default,
                this
                );

            mainFactory = new MainViewModelFactory(
                this,
                Settings.Default,
                mainApplicationLoader,
                GetPinnedFiles,
                OnMainViewModelPropertyChanged
                );

            SettingsExtension.Settings = Settings.Default;

            positionProvider = new PositionService(Settings.Default);
            InitializeCounting();

            if (Settings.Default.IsTrayIcon)
            {
                TryCreateTrayIcon();
            }

            // Open window.
            if (String.IsNullOrEmpty(Settings.Default.SourceDirectoryPath))
            {
                OpenConfiguration();
            }
            else
            {
                OpenMain();
            }

            startup.IsStartup = false;
        }