public void HandleButton(object sender, EventArgs e) { var solutionUpdateViewModel = new SolutionUpdateViewModel(); var addLicenseHeaderToAllProjectsCommand = new AddLicenseHeaderToAllProjectsCommand (_licenseReplacer, _defaultLicenseHeaderPage, solutionUpdateViewModel); var buttonThreadWorker = new SolutionLevelButtonThreadWorker(addLicenseHeaderToAllProjectsCommand); var dialog = new SolutionUpdateDialog(solutionUpdateViewModel); dialog.Closing += DialogOnClosing; _resharperSuspended = CommandUtility.ExecuteCommandIfExists("ReSharper_Suspend", _dte2); Dispatcher uiDispatcher = Dispatcher.CurrentDispatcher; buttonThreadWorker.ThreadDone += (o, args) => { uiDispatcher.BeginInvoke(new Action(() => { dialog.Close(); })); ResumeResharper(); }; _solutionUpdateThread = new System.Threading.Thread(buttonThreadWorker.Run) { IsBackground = true }; _solutionUpdateThread.Start(_dte2.Solution); dialog.ShowModal(); }
private void AddLicenseHeaderToAllProjectsCallback (object sender, EventArgs e) { IVsStatusbar statusBar = (IVsStatusbar) GetService (typeof (SVsStatusbar)); var addLicenseHeaderToAllProjectsCommand = new AddLicenseHeaderToAllProjectsCommand (_licenseReplacer, statusBar, DefaultLicenseHeaderPage); addLicenseHeaderToAllProjectsCommand.Execute( _dte.Solution); }