public void Add(IApplicationCollection applications) { foreach (var(name, filePath, version) in Enumerate()) { IApplicationBuilder builder = applications.Add( String.Format( "{0} {1}", name, VersionFormatter.Format(version) ), version, filePath, null, null, false, IconExtractor.Get(filePath), Key.None, true ); VsVersionLoader.AddAdministratorCommand(builder, filePath); VsVersionLoader.AddExperimentalCommand(builder, filePath); } }
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(); } }