public void HandleButton(object sender, EventArgs e) { var solutionUpdateViewModel = new SolutionUpdateViewModel(); var addHeaderToAllProjectsCommand = new AddLicenseHeaderToAllFilesInSolutionCommand(_licenseReplacer, solutionUpdateViewModel); var buttonThreadWorker = new SolutionLevelButtonThreadWorker(addHeaderToAllProjectsCommand); 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(); }
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(); }