From f59576e5452d9dd0dc3180f56e2181b94d22cbbe Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Mon, 10 Feb 2014 20:24:41 +0100 Subject: [PATCH] Port WpfWorkbench.CheckRemovedOrReplacedFile to new OpenedFile API. --- SharpDevelop.Tests.sln | 6 ++++-- src/Main/SharpDevelop/SharpDevelop.csproj | 1 - src/Main/SharpDevelop/Workbench/WpfWorkbench.cs | 14 ++++---------- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index 95241db5bd..172c75e9ff 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -1,7 +1,9 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 # SharpDevelop 5.0 +VisualStudioVersion = 12.0.20827.3 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" diff --git a/src/Main/SharpDevelop/SharpDevelop.csproj b/src/Main/SharpDevelop/SharpDevelop.csproj index 06643ba19c..591fcf9bf0 100644 --- a/src/Main/SharpDevelop/SharpDevelop.csproj +++ b/src/Main/SharpDevelop/SharpDevelop.csproj @@ -329,7 +329,6 @@ - diff --git a/src/Main/SharpDevelop/Workbench/WpfWorkbench.cs b/src/Main/SharpDevelop/Workbench/WpfWorkbench.cs index 0d1ccdde53..6683d06a7b 100644 --- a/src/Main/SharpDevelop/Workbench/WpfWorkbench.cs +++ b/src/Main/SharpDevelop/Workbench/WpfWorkbench.cs @@ -205,16 +205,10 @@ namespace ICSharpCode.SharpDevelop.Workbench void CheckRemovedOrReplacedFile(object sender, FileEventArgs e) { - foreach (OpenedFile file in SD.FileService.OpenedFiles) { - if (FileUtility.IsBaseDirectory(e.FileName, file.FileName)) { - foreach (IViewContent content in file.RegisteredViewContents.ToArray()) { - // content.WorkbenchWindow can be null if multiple view contents - // were in the same WorkbenchWindow and both should be closed - // (e.g. Windows Forms Designer, Subversion History View) - if (content.WorkbenchWindow != null) { - content.WorkbenchWindow.CloseWindow(true); - } - } + foreach (var workbenchWindow in WorkbenchWindowCollection.ToArray()) { + var files = workbenchWindow.ViewContents.SelectMany(vc => vc.Files); + if (files.Any(file => FileUtility.IsBaseDirectory(e.FileName, file.FileName))) { + workbenchWindow.CloseWindow(true); } } Editor.PermanentAnchorService.FileDeleted(e);