diff options
author | Eike Stepper | 2012-10-14 05:56:50 +0000 |
---|---|---|
committer | Eike Stepper | 2012-10-14 05:56:50 +0000 |
commit | 8baeeeafeb541f21190e7cfa9899904fc0422277 (patch) | |
tree | e2c66628c682bd12bff771f02923785b9cba497b /plugins/org.eclipse.emf.cdo.ui.team/src | |
parent | 8958216346621f13974fb253751a176fbb62ecd3 (diff) | |
download | cdo-8baeeeafeb541f21190e7cfa9899904fc0422277.tar.gz cdo-8baeeeafeb541f21190e7cfa9899904fc0422277.tar.xz cdo-8baeeeafeb541f21190e7cfa9899904fc0422277.zip |
[391503] [UI] Render a CDOCommitInfo graph into the history page
https://bugs.eclipse.org/bugs/show_bug.cgi?id=391503
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui.team/src')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.ui.team/src/org/eclipse/emf/cdo/ui/internal/team/history/CDOHistoryPage.java | 67 |
1 files changed, 59 insertions, 8 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui.team/src/org/eclipse/emf/cdo/ui/internal/team/history/CDOHistoryPage.java b/plugins/org.eclipse.emf.cdo.ui.team/src/org/eclipse/emf/cdo/ui/internal/team/history/CDOHistoryPage.java index 971c94dc3c..6e2b971b05 100644 --- a/plugins/org.eclipse.emf.cdo.ui.team/src/org/eclipse/emf/cdo/ui/internal/team/history/CDOHistoryPage.java +++ b/plugins/org.eclipse.emf.cdo.ui.team/src/org/eclipse/emf/cdo/ui/internal/team/history/CDOHistoryPage.java @@ -11,14 +11,19 @@ package org.eclipse.emf.cdo.ui.internal.team.history; import org.eclipse.emf.cdo.common.branch.CDOBranch; +import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.commit.CDOCommitInfo; import org.eclipse.emf.cdo.common.commit.CDOCommitInfoHandler; import org.eclipse.emf.cdo.common.commit.CDOCommitInfoManager; import org.eclipse.emf.cdo.eresource.CDOResourceFolder; import org.eclipse.emf.cdo.session.CDOSession; +import org.eclipse.emf.cdo.spi.common.branch.CDOBranchUtil; import org.eclipse.emf.cdo.transaction.CDOTransaction; +import org.eclipse.emf.cdo.transaction.CDOTransactionCommentator; +import org.eclipse.emf.cdo.ui.compare.CDOCompareEditorInput; import org.eclipse.emf.cdo.ui.widgets.CommitHistoryComposite; import org.eclipse.emf.cdo.ui.widgets.CommitHistoryComposite.Input; +import org.eclipse.emf.cdo.ui.widgets.CommitHistoryComposite.LabelProvider; import org.eclipse.net4j.util.event.IListener; import org.eclipse.net4j.util.lifecycle.ILifecycle; @@ -26,8 +31,10 @@ import org.eclipse.net4j.util.lifecycle.LifecycleEventAdapter; import org.eclipse.net4j.util.lifecycle.LifecycleUtil; import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.viewers.TableViewer; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.team.ui.history.HistoryPage; @@ -41,6 +48,8 @@ public class CDOHistoryPage extends HistoryPage { private CommitHistoryComposite commitHistoryComposite; + private boolean commitOnDoubleClick = true; + private Input input; private IListener inputListener = new LifecycleEventAdapter() @@ -89,6 +98,24 @@ public class CDOHistoryPage extends HistoryPage @Override protected void doubleClicked(CDOCommitInfo commitInfo) { + if (commitOnDoubleClick) + { + testCommit(commitInfo); + } + else + { + long previousTimeStamp = commitInfo.getPreviousTimeStamp(); + if (previousTimeStamp != CDOBranchPoint.UNSPECIFIED_DATE) + { + CDOSession session = input.getSession(); + CDOBranchPoint previous = CDOBranchUtil.normalizeBranchPoint(commitInfo.getBranch(), previousTimeStamp); + CDOCompareEditorInput.openCompareDialog(session, commitInfo, previous); + } + } + } + + private void testCommit(CDOCommitInfo commitInfo) + { CDOTransaction transaction = null; try @@ -114,6 +141,8 @@ public class CDOHistoryPage extends HistoryPage } transaction = session.openTransaction(branch); + new CDOTransactionCommentator(transaction); + CDOResourceFolder folder = transaction.getOrCreateResourceFolder("/folder"); folder.addResource("folder-" + folder.getNodes().size() + 1); transaction.commit(); @@ -126,14 +155,6 @@ public class CDOHistoryPage extends HistoryPage { LifecycleUtil.deactivate(transaction); } - - // long previousTimeStamp = commitInfo.getPreviousTimeStamp(); - // if (previousTimeStamp != CDOBranchPoint.UNSPECIFIED_DATE) - // { - // CDOSession session = input.getSession(); - // CDOBranchPoint previous = CDOBranchUtil.normalizeBranchPoint(commitInfo.getBranch(), previousTimeStamp); - // CDOCompareEditorInput.openCompareDialog(session, commitInfo, previous); - // } } }; @@ -212,6 +233,36 @@ public class CDOHistoryPage extends HistoryPage protected void setupViewMenu(IMenuManager manager) { + manager.add(new Action("Format Time Stamps", SWT.CHECK) + { + { + LabelProvider labelProvider = commitHistoryComposite.getLabelProvider(); + setChecked(labelProvider.isFormatTimeStamps()); + } + + @Override + public void run() + { + LabelProvider labelProvider = commitHistoryComposite.getLabelProvider(); + labelProvider.setFormatTimeStamps(!labelProvider.isFormatTimeStamps()); + + TableViewer tableViewer = commitHistoryComposite.getTableViewer(); + tableViewer.refresh(true); + } + }); + + manager.add(new Action("Test Commit on Double Click", SWT.CHECK) + { + { + setChecked(commitOnDoubleClick); + } + + @Override + public void run() + { + commitOnDoubleClick = !commitOnDoubleClick; + } + }); } public static boolean canShowHistoryFor(Object object) |