Index: src/Common/DelftTools.Shell.Core/Project.cs
===================================================================
diff -u -r5238d4a7956b8d24318d37d9974d50b039fd95e7 -r5f9327caaaca2d654839bcdcdcf70529e8263d17
--- src/Common/DelftTools.Shell.Core/Project.cs (.../Project.cs) (revision 5238d4a7956b8d24318d37d9974d50b039fd95e7)
+++ src/Common/DelftTools.Shell.Core/Project.cs (.../Project.cs) (revision 5f9327caaaca2d654839bcdcdcf70529e8263d17)
@@ -1,15 +1,14 @@
using System.Collections.Generic;
using DelftTools.Utils.Aop;
using DelftTools.Utils.Collections.Generic;
-using DelftTools.Utils.Data;
namespace DelftTools.Shell.Core
{
///
/// Container of all data and tasks.
///
[Entity(FireOnCollectionChange = false)]
- public class Project : EditableObjectUnique, IObservable
+ public class Project : IObservable
{
private string name;
private string description;
Fisheye: Tag 5f9327caaaca2d654839bcdcdcf70529e8263d17 refers to a dead (removed) revision in file `src/Common/DelftTools.Utils/Data/EditableObjectUnique.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: src/Common/DelftTools.Utils/DelftTools.Utils.csproj
===================================================================
diff -u -r8edbe5e2130c81b456385607891c6ef98928f88e -r5f9327caaaca2d654839bcdcdcf70529e8263d17
--- src/Common/DelftTools.Utils/DelftTools.Utils.csproj (.../DelftTools.Utils.csproj) (revision 8edbe5e2130c81b456385607891c6ef98928f88e)
+++ src/Common/DelftTools.Utils/DelftTools.Utils.csproj (.../DelftTools.Utils.csproj) (revision 5f9327caaaca2d654839bcdcdcf70529e8263d17)
@@ -182,7 +182,6 @@
-
Index: src/Common/DelftTools.Utils/Editing/EditableObjectExtensions.cs
===================================================================
diff -u -r8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9 -r5f9327caaaca2d654839bcdcdcf70529e8263d17
--- src/Common/DelftTools.Utils/Editing/EditableObjectExtensions.cs (.../EditableObjectExtensions.cs) (revision 8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9)
+++ src/Common/DelftTools.Utils/Editing/EditableObjectExtensions.cs (.../EditableObjectExtensions.cs) (revision 5f9327caaaca2d654839bcdcdcf70529e8263d17)
@@ -1,27 +1,10 @@
-using DelftTools.Utils.Data;
-
-namespace DelftTools.Utils.Editing
+namespace DelftTools.Utils.Editing
{
public static class EditableObjectExtensions
{
public static void BeginEdit(this IEditableObject obj, string actionName)
{
obj.BeginEdit(new DefaultEditAction(actionName));
}
-
- ///
- /// HACK: fix this someday!
- /// For legacy reasons IsEditing can be false, even though there are nested edit actions waiting
- /// on the stack. This method is to determine if all nested edit actions are actually finished.
- ///
- ///
- ///
- public static bool IsNestedEditingDone(this IEditableObject obj)
- {
- if (obj.IsEditing)
- return false;
- var editableObjectUnique = obj as EditableObjectUnique;
- return editableObjectUnique == null || editableObjectUnique.IsNestedEditingDone();
- }
}
}
\ No newline at end of file
Index: src/DeltaShell/DeltaShell.Gui/DeltaShellGui.cs
===================================================================
diff -u -r8edbe5e2130c81b456385607891c6ef98928f88e -r5f9327caaaca2d654839bcdcdcf70529e8263d17
--- src/DeltaShell/DeltaShell.Gui/DeltaShellGui.cs (.../DeltaShellGui.cs) (revision 8edbe5e2130c81b456385607891c6ef98928f88e)
+++ src/DeltaShell/DeltaShell.Gui/DeltaShellGui.cs (.../DeltaShellGui.cs) (revision 5f9327caaaca2d654839bcdcdcf70529e8263d17)
@@ -116,7 +116,6 @@
{
if (application != null)
{
- UnsubscribeProjectEvents();
Application.ProjectClosing -= ApplicationProjectClosing;
Application.ProjectOpened -= ApplicationProjectOpened;
Application.ProjectOpening -= ApplicationProjectOpening;
@@ -656,75 +655,16 @@
{
Application.Project.IsChanged = false;
- SubscribeProjectEvents();
ResumeUI();
}
private void ApplicationProjectClosing(Project project)
{
- UnsubscribeProjectEvents();
SuspendUI();
ClonableToolStripMenuItem.ClearCache();
}
- private void SubscribeProjectEvents()
- {
- var propertyChanged = (INotifyPropertyChanged)Application.Project;
- propertyChanged.PropertyChanged += ApplicationProjectPropertyChanged;
-
- var collectionChanged = (INotifyCollectionChange)Application.Project;
- }
-
- private void UnsubscribeProjectEvents()
- {
- if(Application.Project == null)
- {
- return;
- }
-
- var propertyChanged = (INotifyPropertyChanged) Application.Project;
- propertyChanged.PropertyChanged -= ApplicationProjectPropertyChanged;
-
- var collectionChanged = (INotifyCollectionChange)Application.Project;
- }
-
- private bool viewNamesDirty = false;
-
- private void ApplicationProjectPropertyChanged(object sender, PropertyChangedEventArgs e)
- {
- if (viewNamesDirty && sender is Project && e.PropertyName == "IsEditing" && !Application.Project.IsEditing)
- {
- OnProjectItemNameChanged(null); //sender is ignored anyway
- viewNamesDirty = false;
- return;
- }
-
- if (e.PropertyName != "Name")
- {
- return;
- }
-
- if (!Application.IsActivityRunning()) // avoid calls to Windows.Forms thread
- {
- if (Application.Project != null && Application.Project.IsEditing)
- {
- viewNamesDirty = true;
- return;
- }
- OnProjectItemNameChanged(sender);
- }
- }
-
- [InvokeRequired]
- private void OnProjectItemNameChanged(object sender)
- {
- foreach (var documentView in DocumentViews.AllViews)
- {
- UpdateViewName(documentView);
- }
- }
-
// Sets the tooltip for given view, assuming that ProjectExplorer is not null.
private void SetToolTipForView(IView view)
{