From 72b93ae88b4bdf7b1619ae6b66eb77bcfc1eea51 Mon Sep 17 00:00:00 2001 From: Jean Michel-Lemieux Date: Thu, 12 Jun 2003 14:22:11 +0000 Subject: Allow saving via the context menu of the text merge view --- .../ui/sync/compare/SyncInfoCompareInput.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/compare/SyncInfoCompareInput.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/compare/SyncInfoCompareInput.java index 78c5c2f6e..f7a93bbaa 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/compare/SyncInfoCompareInput.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/compare/SyncInfoCompareInput.java @@ -14,10 +14,13 @@ import java.lang.reflect.InvocationTargetException; import org.eclipse.compare.CompareConfiguration; import org.eclipse.compare.CompareEditorInput; +import org.eclipse.compare.IContentChangeListener; +import org.eclipse.compare.IContentChangeNotifier; import org.eclipse.compare.ITypedElement; import org.eclipse.compare.structuremergeviewer.DiffNode; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.team.core.subscribers.SyncInfo; import org.eclipse.team.internal.ui.Policy; @@ -35,9 +38,24 @@ public class SyncInfoCompareInput extends CompareEditorInput { this.sync = sync; ITypedElement elements[] = SyncInfoDiffNode.getTypedElements(sync); - this.node = new SyncInfoDiffNode(elements[0], elements[1], elements[2], sync.getKind()); + this.node = new SyncInfoDiffNode(elements[0] /* base */, elements[1] /* local */, elements[2] /* remote */, sync.getKind()); + initializeContentChangeListeners(); } + private void initializeContentChangeListeners() { + ITypedElement te = node.getLeft(); + if(te instanceof IContentChangeNotifier) { + ((IContentChangeNotifier)te).addContentChangeListener(new IContentChangeListener() { + public void contentChanged(IContentChangeNotifier source) { + try { + saveChanges(new NullProgressMonitor()); + } catch (CoreException e) { + } + } + }); + } + } + /* (non-Javadoc) * @see org.eclipse.compare.CompareEditorInput#prepareInput(org.eclipse.core.runtime.IProgressMonitor) */ @@ -84,7 +102,7 @@ public class SyncInfoCompareInput extends CompareEditorInput { try { commit(pm, (DiffNode) node); } finally { - setDirty(false); + setDirty(false); } } } -- cgit v1.2.3