コード例 #1
0
        private void OnMainWindowClosed(object sender, EventArgs e)
        {
            TrySaveLastSearchPattern();
            mainWindow.Closed -= OnMainWindowClosed;
            mainWindow.Closing -= OnMainWindowClosed;
            mainWindow = null;

            if (!runHotKey.IsSet && configurationWindow == null)
                Shutdown();
        }
コード例 #2
0
        public void OpenMain()
        {
            if (mainWindow == null)
            {
                mainWindow = new MainWindow(this, Settings.Default, new ProcessService(countingService), runHotKey.IsSet);
                mainWindow.Closing += OnMainWindowClosing;
                mainWindow.Closed += OnMainWindowClosed;
            }

            if (mainWindow.ViewModel == null || isMainWindowViewModelReloadRequired)
            {
                isMainWindowViewModelReloadRequired = false;

                mainWindow.ShowInTaskbar = !runHotKey.IsSet;
                mainWindow.IsAutoSelectApplicationVersion = Settings.Default.IsAutoSelectApplicationVersion;

                MainViewModel viewModel = new MainViewModel(
                    new PinnedForEmptyPatternFileSearchService(
                        //new DelayedFileSearchService(
                        //    Dispatcher,
                        //    CreateFileSearchService()
                        //),
                        //this
                        CreateFileSearchService(),
                        this
                    ),
                    GetUserFileSearchMode,
                    GetUserFileSearchCount
                );

                VsVersionLoader vsLoader = new VsVersionLoader();
                vsLoader.Add(viewModel);

                AdditionalApplicationLoader additionalLoader = new AdditionalApplicationLoader();
                additionalLoader.Add(viewModel);

                IFileCollection files = viewModel;
                foreach (string filePath in GetPinnedFiles())
                    files.Add(Path.GetFileNameWithoutExtension(filePath), filePath, true);

                mainWindow.ViewModel = viewModel;
                mainWindow.TrySelectPreferedApplication();
            }

            mainWindow.IsAutoSelectApplicationVersion = Settings.Default.IsAutoSelectApplicationVersion;

            if (Settings.Default.IsFileSearchPatternSaved)
                mainWindow.ViewModel.SearchPattern = Settings.Default.FileSearchPattern;
            else if (!String.IsNullOrEmpty(mainWindow.ViewModel.SearchPattern))
                mainWindow.ViewModel.SearchPattern = String.Empty;

            mainWindow.Deactivated += OnMainWindowDeactivated;

            if (!startup.IsStartup || !startup.IsHidden)
            {
                mainWindow.Show();
                mainWindow.Activate();
            }
        }