diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/SearchForIssuesCommand.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/SearchForIssuesCommand.cs index ec4cc45da9..2177a53eab 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/SearchForIssuesCommand.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/SearchForIssuesCommand.cs @@ -42,6 +42,8 @@ namespace CSharpBinding.Refactoring monitor => { remainingIssues = FindAndFixIssues(fileNames, providers, monitor, out fixedIssueCount); }); + if (remainingIssues == null) + return; // can happen if issue search is cancelled string message = string.Format( "{0} issues were fixed automatically." + "{1} issues are remaining (no automatic fix available).", diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/BreakPointsPad.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/BreakPointsPad.cs index d935573b05..cee8fb231e 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/BreakPointsPad.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/BreakPointsPad.cs @@ -2,17 +2,11 @@ // This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt) using System; -using System.Windows; using System.Windows.Controls; -using Debugger; -using Debugger.AddIn.Pads.Controls; -using ICSharpCode.Core; using ICSharpCode.Core.Presentation; -using ICSharpCode.SharpDevelop.Editor.Bookmarks; using ICSharpCode.SharpDevelop.Debugging; using ICSharpCode.SharpDevelop.Editor.Bookmarks; -using ICSharpCode.SharpDevelop.Services; namespace ICSharpCode.SharpDevelop.Gui.Pads { diff --git a/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs b/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs index e431b4014e..b24c6f8690 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs @@ -610,7 +610,7 @@ namespace ICSharpCode.SharpDevelop.Services if (CurrentThread == null) return; - WorkbenchSingleton.MainWindow.Activate(); + SD.Workbench.MainWindow.Activate(); // if (debuggedProcess.IsSelectedFrameForced()) { if (CurrentThread != null && CurrentStackFrame.HasSymbols) { diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditDisplayBinding.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditDisplayBinding.cs index 552d4392a6..6af51d98bd 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditDisplayBinding.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditDisplayBinding.cs @@ -65,7 +65,7 @@ namespace ICSharpCode.AvalonEdit.AddIn public IViewContent CreateContentForFile(OpenedFile file) { ChooseEncodingDialog dlg = new ChooseEncodingDialog(); - dlg.Owner = WorkbenchSingleton.MainWindow; + dlg.Owner = SD.Workbench.MainWindow; using (Stream stream = file.OpenRead()) { using (StreamReader reader = FileReader.OpenStream(stream, SD.FileService.DefaultFileEncoding)) { reader.Peek(); // force reader to auto-detect encoding diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SaveFileWithEncoding.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SaveFileWithEncoding.cs index 7b2fe01e38..ee4fe6fa46 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SaveFileWithEncoding.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SaveFileWithEncoding.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.AvalonEdit.AddIn.Commands var codeEditor = vc.GetService(); if (codeEditor != null) { ChooseEncodingDialog dlg = new ChooseEncodingDialog(); - dlg.Owner = WorkbenchSingleton.MainWindow; + dlg.Owner = SD.Workbench.MainWindow; dlg.Encoding = codeEditor.PrimaryTextEditor.Encoding; if (dlg.ShowDialog() == true) { codeEditor.PrimaryTextEditor.Encoding = dlg.Encoding; diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SortSelectionCommand.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SortSelectionCommand.cs index fd7b999c71..10ec3c8696 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SortSelectionCommand.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SortSelectionCommand.cs @@ -18,7 +18,7 @@ namespace ICSharpCode.AvalonEdit.AddIn.Commands public override void Run() { SortOptionsDialog dlg = new SortOptionsDialog(); - dlg.Owner = WorkbenchSingleton.MainWindow; + dlg.Owner = SD.Workbench.MainWindow; if (dlg.ShowDialog() == true) { StringComparer comparer = SortOptions.CaseSensitive ? StringComparer.CurrentCulture : StringComparer.CurrentCultureIgnoreCase; if (SortOptions.IgnoreTrailingWhitespaces) diff --git a/src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/CodeView.cs b/src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/CodeView.cs index d42ff37070..ed6d05eb7b 100644 --- a/src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/CodeView.cs +++ b/src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/CodeView.cs @@ -3,24 +3,14 @@ using System; using System.ComponentModel.Design; -using System.Diagnostics; -using System.Windows; using System.Windows.Controls; -using System.Windows.Controls.Primitives; -using System.Windows.Input; -using ICSharpCode.AvalonEdit; using ICSharpCode.AvalonEdit.AddIn; using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Highlighting; -using ICSharpCode.AvalonEdit.Rendering; using ICSharpCode.AvalonEdit.Search; -using ICSharpCode.Core; -using ICSharpCode.NRefactory.Editor; using ICSharpCode.SharpDevelop; -using ICSharpCode.SharpDevelop.Editor.Bookmarks; using ICSharpCode.SharpDevelop.Editor; -using ICSharpCode.SharpDevelop.Editor.AvalonEdit; using ICSharpCode.SharpDevelop.Editor.Bookmarks; using ICSharpCode.SharpDevelop.Gui; diff --git a/src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/DecompiledViewContent.cs b/src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/DecompiledViewContent.cs index b00f99ebd2..bbe4312d38 100644 --- a/src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/DecompiledViewContent.cs +++ b/src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/DecompiledViewContent.cs @@ -3,9 +3,7 @@ using System; using System.Collections.Generic; -using System.ComponentModel.Design; using System.IO; -using System.Linq; using System.Threading; using ICSharpCode.Core; @@ -16,12 +14,8 @@ using ICSharpCode.ILSpyAddIn.ViewContent; using ICSharpCode.NRefactory; using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.SharpDevelop; -using ICSharpCode.SharpDevelop.Editor.Bookmarks; using ICSharpCode.SharpDevelop.Debugging; -using ICSharpCode.SharpDevelop.Editor; -using ICSharpCode.SharpDevelop.Editor.AvalonEdit; using ICSharpCode.SharpDevelop.Editor.Bookmarks; -using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Workbench; using Mono.Cecil; diff --git a/src/Main/Base/Project/Editor/RepoChangeWatcher.cs b/src/Main/Base/Project/Editor/RepoChangeWatcher.cs index bf8e0da0da..4455cc373f 100644 --- a/src/Main/Base/Project/Editor/RepoChangeWatcher.cs +++ b/src/Main/Base/Project/Editor/RepoChangeWatcher.cs @@ -33,7 +33,7 @@ namespace ICSharpCode.SharpDevelop.Editor watcher.SynchronizingObject = SD.MainThread.SynchronizingObject; - WorkbenchSingleton.MainWindow.Activated += MainWindowActivated; + SD.Workbench.MainWindow.Activated += MainWindowActivated; watcher.Created += FileChanged; watcher.Deleted += FileChanged; @@ -92,7 +92,7 @@ namespace ICSharpCode.SharpDevelop.Editor lock (watchers) { actions -= action; if (actions == null && !disposed) { - WorkbenchSingleton.MainWindow.Activated -= MainWindowActivated; + SD.Workbench.MainWindow.Activated -= MainWindowActivated; watchers.Remove(watcher.Path); this.watcher.Dispose(); disposed = true; diff --git a/src/Main/Base/Project/Src/Commands/FileCommands.cs b/src/Main/Base/Project/Src/Commands/FileCommands.cs index 8db0301cc9..7c3666b965 100644 --- a/src/Main/Base/Project/Src/Commands/FileCommands.cs +++ b/src/Main/Base/Project/Src/Commands/FileCommands.cs @@ -302,7 +302,7 @@ namespace ICSharpCode.SharpDevelop.Commands { public override void Run() { - WorkbenchSingleton.MainWindow.Close(); + SD.Workbench.MainWindow.Close(); } } diff --git a/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs b/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs index 1bcb3f2365..9ad24094ab 100644 --- a/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs +++ b/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs @@ -464,7 +464,7 @@ namespace ICSharpCode.SharpDevelop.Commands item.Command = new BringPadToFrontCommand(padContent); if (!string.IsNullOrEmpty(padContent.Shortcut)) { var kg = Core.Presentation.MenuService.ParseShortcut(padContent.Shortcut); - WorkbenchSingleton.MainWindow.InputBindings.Add( + SD.Workbench.MainWindow.InputBindings.Add( new System.Windows.Input.InputBinding(item.Command, kg) ); item.InputGestureText = kg.GetDisplayStringForCulture(Thread.CurrentThread.CurrentUICulture); diff --git a/src/Main/Base/Project/Src/Commands/ToolsCommands.cs b/src/Main/Base/Project/Src/Commands/ToolsCommands.cs index 3f384b71cf..81e7d1a1b5 100644 --- a/src/Main/Base/Project/Src/Commands/ToolsCommands.cs +++ b/src/Main/Base/Project/Src/Commands/ToolsCommands.cs @@ -14,7 +14,7 @@ namespace ICSharpCode.SharpDevelop.Commands { TabbedOptionsDialog o = new TabbedOptionsDialog(node.BuildChildItems(null)); o.Title = dialogTitle; - o.Owner = WorkbenchSingleton.MainWindow; + o.Owner = SD.Workbench.MainWindow; return o.ShowDialog(); } @@ -22,7 +22,7 @@ namespace ICSharpCode.SharpDevelop.Commands { TreeViewOptionsDialog o = new TreeViewOptionsDialog(node.BuildChildItems(null)); o.Title = dialogTitle; - o.Owner = WorkbenchSingleton.MainWindow; + o.Owner = SD.Workbench.MainWindow; return o.ShowDialog(); } diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/GotoDialog.cs b/src/Main/Base/Project/Src/Gui/Dialogs/GotoDialog.cs index 51cac3a48d..3858a416b3 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/GotoDialog.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/GotoDialog.cs @@ -27,7 +27,7 @@ namespace ICSharpCode.SharpDevelop.Gui { if (Instance == null) { Instance = new GotoDialog(); - Instance.Owner = WorkbenchSingleton.MainWindow; + Instance.Owner = SD.Workbench.MainWindow; Instance.Show(); } else { Instance.Activate(); diff --git a/src/Main/Base/Project/Src/Gui/FormLocationHelper.cs b/src/Main/Base/Project/Src/Gui/FormLocationHelper.cs index 82aeb85c1f..23930d2b85 100644 --- a/src/Main/Base/Project/Src/Gui/FormLocationHelper.cs +++ b/src/Main/Base/Project/Src/Gui/FormLocationHelper.cs @@ -83,7 +83,7 @@ namespace ICSharpCode.SharpDevelop.Gui static Point GetOwnerLocation(Window window) { - var owner = window.Owner ?? WorkbenchSingleton.MainWindow; + var owner = window.Owner ?? SD.Workbench.MainWindow; if (owner == null) return new Point(0,0); if (owner.WindowState == System.Windows.WindowState.Maximized) { @@ -140,7 +140,7 @@ namespace ICSharpCode.SharpDevelop.Gui static Point GetDefaultLocation(Size formSize) { - var mainWindow = WorkbenchSingleton.MainWindow; + var mainWindow = SD.Workbench.MainWindow; Rect parent = new Rect( mainWindow.Left, mainWindow.Top, mainWindow.Width, mainWindow.Height ); diff --git a/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs b/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs index 0774098d2c..2951cce858 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs @@ -250,7 +250,7 @@ namespace ICSharpCode.SharpDevelop.Gui /// public void AddCategory(MessageViewCategory category) { - if (WorkbenchSingleton.InvokeRequired) { + if (SD.MainThread.InvokeRequired) { SD.MainThread.InvokeAsync(() => AddCategory(category)).FireAndForget(); return; } @@ -297,7 +297,7 @@ namespace ICSharpCode.SharpDevelop.Gui SD.MainThread.InvokeAsync(ProcessAppendText).FireAndForget(); waitForMainThread = appendCalls.Count > 2000; } - if (waitForMainThread && WorkbenchSingleton.InvokeRequired) { + if (waitForMainThread && SD.MainThread.InvokeRequired) { int sleepLength = 20; do { Thread.Sleep(sleepLength); diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs index f1dfc62e5e..105454c3e7 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs @@ -256,7 +256,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands var vm = new AddServiceReferenceViewModel(project); var dialog = new AddServiceReferenceDialog(); dialog.DataContext = vm; - dialog.Owner = WorkbenchSingleton.MainWindow; + dialog.Owner = SD.Workbench.MainWindow; if (dialog.ShowDialog() ?? true) { vm.AddServiceReference(); } diff --git a/src/Main/Base/Project/Src/Internal/Doozers/PadDescriptor.cs b/src/Main/Base/Project/Src/Internal/Doozers/PadDescriptor.cs index 5e0d04286f..3e5cd40cb0 100644 --- a/src/Main/Base/Project/Src/Internal/Doozers/PadDescriptor.cs +++ b/src/Main/Base/Project/Src/Internal/Doozers/PadDescriptor.cs @@ -156,8 +156,9 @@ namespace ICSharpCode.SharpDevelop public void CreatePad() { - if (WorkbenchSingleton.InvokeRequired) + if (SD.MainThread.InvokeRequired) { throw new InvalidOperationException("This action could trigger pad creation and is only valid on the main thread!"); + } if (!padContentCreated) { padContentCreated = true; try { diff --git a/src/Main/Base/Project/Src/Project/PortableLibrary/PickPortableTargetFramework.cs b/src/Main/Base/Project/Src/Project/PortableLibrary/PickPortableTargetFramework.cs index 6d654bd5c9..a68e617e4e 100644 --- a/src/Main/Base/Project/Src/Project/PortableLibrary/PickPortableTargetFramework.cs +++ b/src/Main/Base/Project/Src/Project/PortableLibrary/PickPortableTargetFramework.cs @@ -37,7 +37,7 @@ namespace ICSharpCode.SharpDevelop.Project.PortableLibrary { if (ProfileList.IsPortableLibraryInstalled()) { SelectProfileDialog dlg = new SelectProfileDialog(ProfileList.Instance); - dlg.Owner = WorkbenchSingleton.MainWindow; + dlg.Owner = SD.Workbench.MainWindow; if (selectedProjects != null) { var project = selectedProjects.FirstOrDefault() as CompilableProject; if (project != null) { diff --git a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs index 5ab9b1b7cd..48f3af83b8 100644 --- a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs @@ -33,7 +33,7 @@ namespace ICSharpCode.SharpDevelop.Project SD.MainThread.VerifyAccess(); activeWatchers.Add(this); - WorkbenchSingleton.MainWindow.Activated += MainFormActivated; + SD.Workbench.MainWindow.Activated += MainFormActivated; } public void Enable() @@ -152,7 +152,7 @@ namespace ICSharpCode.SharpDevelop.Project { SD.MainThread.VerifyAccess(); if (!disposed) { - WorkbenchSingleton.MainWindow.Activated -= MainFormActivated; + SD.Workbench.MainWindow.Activated -= MainFormActivated; activeWatchers.Remove(this); } if (watcher != null) { diff --git a/src/Main/Base/Project/Src/Services/Debugger/CurrentLineBookmark.cs b/src/Main/Base/Project/Src/Services/Debugger/CurrentLineBookmark.cs index a60c2f1cbc..a4402bb794 100644 --- a/src/Main/Base/Project/Src/Services/Debugger/CurrentLineBookmark.cs +++ b/src/Main/Base/Project/Src/Services/Debugger/CurrentLineBookmark.cs @@ -7,10 +7,8 @@ using ICSharpCode.AvalonEdit.Highlighting; using ICSharpCode.Core; using ICSharpCode.NRefactory; using ICSharpCode.NRefactory.Editor; -using ICSharpCode.SharpDevelop.Editor.Bookmarks; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Editor.Bookmarks; -using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.SharpDevelop.Debugging { diff --git a/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs b/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs index d63459ae18..1739dff0a5 100644 --- a/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs +++ b/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs @@ -4,19 +4,11 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Windows.Forms; using ICSharpCode.Core; -using ICSharpCode.NRefactory; -using ICSharpCode.NRefactory.Editor; -using ICSharpCode.NRefactory.Semantics; -using ICSharpCode.NRefactory.TypeSystem; -using ICSharpCode.SharpDevelop.Editor.Bookmarks; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Editor.Bookmarks; using ICSharpCode.SharpDevelop.Gui; -using ICSharpCode.SharpDevelop.Parser; using ICSharpCode.SharpDevelop.Project; using Mono.Cecil; diff --git a/src/Main/Base/Project/Src/Services/FileChangeWatcher.cs b/src/Main/Base/Project/Src/Services/FileChangeWatcher.cs index 54f656aade..e5c4d2fc98 100644 --- a/src/Main/Base/Project/Src/Services/FileChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Services/FileChangeWatcher.cs @@ -72,7 +72,7 @@ namespace ICSharpCode.SharpDevelop.Workbench if (file == null) throw new ArgumentNullException("file"); this.file = file; - WorkbenchSingleton.MainWindow.Activated += MainForm_Activated; + SD.Workbench.MainWindow.Activated += MainForm_Activated; file.FileNameChanged += file_FileNameChanged; activeWatchers.Add(this); SetWatcher(); @@ -88,7 +88,7 @@ namespace ICSharpCode.SharpDevelop.Workbench SD.MainThread.VerifyAccess(); activeWatchers.Remove(this); if (file != null) { - WorkbenchSingleton.MainWindow.Activated -= MainForm_Activated; + SD.Workbench.MainWindow.Activated -= MainForm_Activated; file.FileNameChanged -= file_FileNameChanged; file = null; } diff --git a/src/Main/SharpDevelop/Logging/ExceptionBox.cs b/src/Main/SharpDevelop/Logging/ExceptionBox.cs index c722b21c14..7380f1c675 100644 --- a/src/Main/SharpDevelop/Logging/ExceptionBox.cs +++ b/src/Main/SharpDevelop/Logging/ExceptionBox.cs @@ -89,10 +89,11 @@ namespace ICSharpCode.SharpDevelop.Logging LoggingService.Warn("Error tracking exception", ex); } using (ExceptionBox box = new ExceptionBox(exception, message, mustTerminate)) { - if (ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.InvokeRequired) + if (SD.MainThread.InvokeRequired) { box.ShowDialog(); - else + } else { box.ShowDialog(SD.WinForms.MainWin32Window); + } } } catch (Exception ex) { LoggingService.Warn("Error showing ExceptionBox", ex); diff --git a/src/Main/SharpDevelop/Sda/CallHelper.cs b/src/Main/SharpDevelop/Sda/CallHelper.cs index bf0736d490..2d222c02c7 100644 --- a/src/Main/SharpDevelop/Sda/CallHelper.cs +++ b/src/Main/SharpDevelop/Sda/CallHelper.cs @@ -189,11 +189,7 @@ namespace ICSharpCode.SharpDevelop.Sda public List OpenDocuments { get { List l = new List(); - if (WorkbenchSingleton.InvokeRequired) { - SD.MainThread.InvokeIfRequired(() => new Action>(GetOpenDocuments)(l)); - } else { - GetOpenDocuments(l); - } + SD.MainThread.InvokeIfRequired(() => GetOpenDocuments(l)); return l; } } @@ -212,12 +208,9 @@ namespace ICSharpCode.SharpDevelop.Sda /// public Document OpenDocument(string fileName) { - if (WorkbenchSingleton.InvokeRequired) { - return SD.MainThread.InvokeIfRequired(() => OpenDocumentInternal(fileName)); - } else { - return OpenDocumentInternal(fileName); - } + return SD.MainThread.InvokeIfRequired(() => OpenDocumentInternal(fileName)); } + Document OpenDocumentInternal(string fileName) { return Document.FromWindow(FileService.OpenFile(fileName)); @@ -225,15 +218,7 @@ namespace ICSharpCode.SharpDevelop.Sda public void OpenProject(string fileName) { - if (WorkbenchSingleton.InvokeRequired) { - SD.MainThread.InvokeIfRequired(() => OpenProjectInternal(fileName)); - } else { - OpenProjectInternal(fileName); - } - } - void OpenProjectInternal(string fileName) - { - Project.ProjectService.LoadSolutionOrProject(fileName); + SD.MainThread.InvokeIfRequired(() => Project.ProjectService.LoadSolutionOrProject(fileName)); } [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")] @@ -244,11 +229,7 @@ namespace ICSharpCode.SharpDevelop.Sda public bool CloseWorkbench(bool force) { - if (WorkbenchSingleton.InvokeRequired) { - return SD.MainThread.InvokeIfRequired(() => CloseWorkbenchInternal(force)); - } else { - return CloseWorkbenchInternal(force); - } + return SD.MainThread.InvokeIfRequired(() => CloseWorkbenchInternal(force)); } bool CloseWorkbenchInternal(bool force) { @@ -256,7 +237,7 @@ namespace ICSharpCode.SharpDevelop.Sda if (!window.CloseWindow(force)) return false; } - WorkbenchSingleton.MainWindow.Close(); + SD.Workbench.MainWindow.Close(); return true; } @@ -268,27 +249,19 @@ namespace ICSharpCode.SharpDevelop.Sda public bool WorkbenchVisible { get { - if (WorkbenchSingleton.InvokeRequired) { - return SD.MainThread.InvokeIfRequired(GetWorkbenchVisibleInternal); - } else { - return GetWorkbenchVisibleInternal(); - } + return SD.MainThread.InvokeIfRequired(GetWorkbenchVisibleInternal); } set { - if (WorkbenchSingleton.InvokeRequired) { - SD.MainThread.InvokeIfRequired(() => SetWorkbenchVisibleInternal(value)); - } else { - SetWorkbenchVisibleInternal(value); - } + SD.MainThread.InvokeIfRequired(() => SetWorkbenchVisibleInternal(value)); } } bool GetWorkbenchVisibleInternal() { - return WorkbenchSingleton.MainWindow.Visibility == Visibility.Visible; + return SD.Workbench.MainWindow.Visibility == Visibility.Visible; } void SetWorkbenchVisibleInternal(bool value) { - WorkbenchSingleton.MainWindow.Visibility = value ? Visibility.Visible : Visibility.Hidden; + SD.Workbench.MainWindow.Visibility = value ? Visibility.Visible : Visibility.Hidden; } } } diff --git a/src/Main/SharpDevelop/Workbench/AvalonWorkbenchWindow.cs b/src/Main/SharpDevelop/Workbench/AvalonWorkbenchWindow.cs index 11e0a98a30..df3281f788 100644 --- a/src/Main/SharpDevelop/Workbench/AvalonWorkbenchWindow.cs +++ b/src/Main/SharpDevelop/Workbench/AvalonWorkbenchWindow.cs @@ -111,7 +111,7 @@ namespace ICSharpCode.SharpDevelop.Workbench /// public IViewContent ActiveViewContent { get { - WorkbenchSingleton.DebugAssertMainThread(); + SD.MainThread.VerifyAccess(); if (viewTabControl != null && viewTabControl.SelectedIndex >= 0 && viewTabControl.SelectedIndex < ViewContents.Count) { return ViewContents[viewTabControl.SelectedIndex]; } else if (ViewContents.Count == 1) { diff --git a/src/Main/SharpDevelop/Workbench/SDStatusBar.cs b/src/Main/SharpDevelop/Workbench/SDStatusBar.cs index 10a298abd2..984454c313 100644 --- a/src/Main/SharpDevelop/Workbench/SDStatusBar.cs +++ b/src/Main/SharpDevelop/Workbench/SDStatusBar.cs @@ -76,10 +76,11 @@ namespace ICSharpCode.SharpDevelop.Workbench } txtStatusBarPanel.Content = message; }; - if (WorkbenchSingleton.InvokeRequired) + if (SD.MainThread.InvokeRequired) { SD.MainThread.InvokeAsync(setMessageAction).FireAndForget(); - else + } else { setMessageAction(); + } } // Displaying progress @@ -113,7 +114,7 @@ namespace ICSharpCode.SharpDevelop.Workbench taskbarProgressState = TaskbarItemProgressState.Normal; } - TaskbarItemInfo taskbar = WorkbenchSingleton.MainWindow.TaskbarItemInfo; + TaskbarItemInfo taskbar = SD.Workbench.MainWindow.TaskbarItemInfo; if (taskbar != null) { taskbar.ProgressState = taskbarProgressState; taskbar.ProgressValue = workDone; @@ -173,7 +174,7 @@ namespace ICSharpCode.SharpDevelop.Workbench if (!statusProgressBarIsVisible) { statusProgressBarItem.Visibility = Visibility.Collapsed; jobNamePanel.Content = currentTaskName = ""; - var taskbar = WorkbenchSingleton.MainWindow.TaskbarItemInfo; + var taskbar = SD.Workbench.MainWindow.TaskbarItemInfo; if (taskbar != null) taskbar.ProgressState = TaskbarItemProgressState.None; StopHideProgress();