Browse Source

Fixed SD2-1518 - Removing a component from Form is not saved.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3781 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Christian Hornung 17 years ago
parent
commit
b932d4fd46
  1. 20
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs

20
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs

@ -310,7 +310,7 @@ namespace ICSharpCode.FormsDesigner
serviceContainer.AddService(typeof(UndoEngine), undoEngine); serviceContainer.AddService(typeof(UndoEngine), undoEngine);
IComponentChangeService componentChangeService = (IComponentChangeService)designSurface.GetService(typeof(IComponentChangeService)); IComponentChangeService componentChangeService = (IComponentChangeService)designSurface.GetService(typeof(IComponentChangeService));
componentChangeService.ComponentChanged += MakeDirty; componentChangeService.ComponentChanged += ComponentChanged;
componentChangeService.ComponentAdded += ComponentListChanged; componentChangeService.ComponentAdded += ComponentListChanged;
componentChangeService.ComponentRemoved += ComponentListChanged; componentChangeService.ComponentRemoved += ComponentListChanged;
componentChangeService.ComponentRename += ComponentListChanged; componentChangeService.ComponentRename += ComponentListChanged;
@ -333,7 +333,7 @@ namespace ICSharpCode.FormsDesigner
bool hasUnmergedChanges; bool hasUnmergedChanges;
void MakeDirty(object sender, ComponentChangedEventArgs args) void MakeDirty()
{ {
hasUnmergedChanges = true; hasUnmergedChanges = true;
this.DesignerCodeFile.MakeDirty(); this.DesignerCodeFile.MakeDirty();
@ -352,10 +352,22 @@ namespace ICSharpCode.FormsDesigner
} }
} }
void ComponentChanged(object sender, ComponentChangedEventArgs e)
{
bool loading = this.loader != null && this.loader.Loading;
LoggingService.Debug("Forms designer: ComponentChanged: " + (e.Component == null ? "<null>" : e.Component.ToString()) + ", Member=" + (e.Member == null ? "<null>" : e.Member.Name) + ", OldValue=" + (e.OldValue == null ? "<null>" : e.OldValue.ToString()) + ", NewValue=" + (e.NewValue == null ? "<null>" : e.NewValue.ToString()) + "; Loading=" + loading);
if (!loading) {
this.MakeDirty();
}
}
void ComponentListChanged(object sender, EventArgs e) void ComponentListChanged(object sender, EventArgs e)
{ {
if (this.loader == null || !this.loader.Loading) { bool loading = this.loader != null && this.loader.Loading;
LoggingService.Debug("Forms designer: Component added/removed/renamed, Loading=" + loading);
if (!loading) {
shouldUpdateSelectableObjects = true; shouldUpdateSelectableObjects = true;
this.MakeDirty();
} }
} }
@ -384,7 +396,7 @@ namespace ICSharpCode.FormsDesigner
IComponentChangeService componentChangeService = designSurface.GetService(typeof(IComponentChangeService)) as IComponentChangeService; IComponentChangeService componentChangeService = designSurface.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
if (componentChangeService != null) { if (componentChangeService != null) {
componentChangeService.ComponentChanged -= MakeDirty; componentChangeService.ComponentChanged -= ComponentChanged;
componentChangeService.ComponentAdded -= ComponentListChanged; componentChangeService.ComponentAdded -= ComponentListChanged;
componentChangeService.ComponentRemoved -= ComponentListChanged; componentChangeService.ComponentRemoved -= ComponentListChanged;
componentChangeService.ComponentRename -= ComponentListChanged; componentChangeService.ComponentRename -= ComponentListChanged;

Loading…
Cancel
Save