Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaxsun McCarthy Huggan2016-03-24 20:30:13 +0000
committerSam Davis2016-03-24 22:06:30 +0000
commit586d2fcfd6e3cfd81f3abf6fc1e21141584ce879 (patch)
tree740dc1cd5164e3ed6da3fd486b0b33f42b24a267
parentd435f1971ee587f8e3b6a7e6d57db169a4d7f2de (diff)
downloadorg.eclipse.mylyn.reviews-586d2fcfd6e3cfd81f3abf6fc1e21141584ce879.tar.gz
org.eclipse.mylyn.reviews-586d2fcfd6e3cfd81f3abf6fc1e21141584ce879.tar.xz
org.eclipse.mylyn.reviews-586d2fcfd6e3cfd81f3abf6fc1e21141584ce879.zip
488164: add API to open compare editors to a specific comment
Change-Id: I7bcd43388073e41b2082823210a6e7b5afbd59a6 Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=488164 Signed-off-by: Jaxsun McCarthy Huggan <jaxsun.mccarthy@tasktop.com>
-rw-r--r--org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/GerritCompareUi.java16
-rw-r--r--org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/OpenFileUiFactory.java10
-rw-r--r--org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/PatchSetUiFactoryProvider.java10
-rw-r--r--org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/factories/AbstractReviewItemSetUiFactoryProvider.java10
4 files changed, 37 insertions, 9 deletions
diff --git a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/GerritCompareUi.java b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/GerritCompareUi.java
index 8906511bf..6dd41b168 100644
--- a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/GerritCompareUi.java
+++ b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/GerritCompareUi.java
@@ -47,17 +47,25 @@ public class GerritCompareUi {
public static void openFileComparisonEditor(CompareConfiguration configuration, IFileItem item,
ReviewBehavior behavior) {
- openFileComparisonEditor(configuration, item, behavior, null);
+ openFileComparisonEditor(configuration, item, behavior, (IComment) null);
}
public static void openFileComparisonEditor(CompareConfiguration configuration, IFileItem item,
ReviewBehavior behavior, IStructuredSelection selection) {
+ IComment comment = null;
+ if (selection != null && selection.getFirstElement() instanceof IComment) {
+ comment = (IComment) selection.getFirstElement();
+ }
+ openFileComparisonEditor(configuration, item, behavior, comment);
+ }
+
+ public static void openFileComparisonEditor(CompareConfiguration configuration, IFileItem item,
+ ReviewBehavior behavior, IComment comment) {
CompareEditorInput editorInput = new FileItemCompareEditorInput(configuration, item, behavior);
CompareEditorInput newInput = getComparisonEditor(editorInput, getFileComparePredicate(item));
openCompareEditor(newInput);
- if (selection != null && selection.getFirstElement() instanceof IComment
- && newInput instanceof ReviewItemCompareEditorInput) {
- ((ReviewItemCompareEditorInput) newInput).gotoComment((IComment) selection.getFirstElement());
+ if (comment != null && newInput instanceof ReviewItemCompareEditorInput) {
+ ((ReviewItemCompareEditorInput) newInput).gotoComment(comment);
}
}
diff --git a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/OpenFileUiFactory.java b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/OpenFileUiFactory.java
index b88dc17bc..8b8a21433 100644
--- a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/OpenFileUiFactory.java
+++ b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/OpenFileUiFactory.java
@@ -16,6 +16,7 @@ import org.eclipse.compare.CompareConfiguration;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.mylyn.internal.gerrit.ui.GerritCompareUi;
import org.eclipse.mylyn.internal.gerrit.ui.GerritReviewBehavior;
+import org.eclipse.mylyn.reviews.core.model.IComment;
import org.eclipse.mylyn.reviews.core.model.IFileItem;
import org.eclipse.mylyn.reviews.core.model.IReviewItemSet;
import org.eclipse.mylyn.reviews.ui.spi.factories.IUiContext;
@@ -29,9 +30,16 @@ public class OpenFileUiFactory extends AbstractPatchSetUiFactory {
private final IFileItem item;
+ private final IComment comment;
+
public OpenFileUiFactory(IUiContext context, IReviewItemSet set, IFileItem item) {
+ this(context, set, item, null);
+ }
+
+ public OpenFileUiFactory(IUiContext context, IReviewItemSet set, IFileItem item, IComment comment) {
super(Messages.OpenFileUiFactory_Open_File, context, set);
this.item = item;
+ this.comment = comment;
}
@Override
@@ -49,7 +57,7 @@ public class OpenFileUiFactory extends AbstractPatchSetUiFactory {
GerritReviewBehavior behavior = new GerritReviewBehavior(getTask(), resolveGitRepository());
CompareConfiguration configuration = new CompareConfiguration();
- GerritCompareUi.openFileComparisonEditor(configuration, item, behavior);
+ GerritCompareUi.openFileComparisonEditor(configuration, item, behavior, comment);
}
@Override
diff --git a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/PatchSetUiFactoryProvider.java b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/PatchSetUiFactoryProvider.java
index 55e3e9a88..60220f868 100644
--- a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/PatchSetUiFactoryProvider.java
+++ b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/factories/PatchSetUiFactoryProvider.java
@@ -14,6 +14,7 @@ package org.eclipse.mylyn.internal.gerrit.ui.factories;
import java.util.ArrayList;
import java.util.List;
+import org.eclipse.mylyn.reviews.core.model.IComment;
import org.eclipse.mylyn.reviews.core.model.IFileItem;
import org.eclipse.mylyn.reviews.core.model.IReviewItemSet;
import org.eclipse.mylyn.reviews.ui.spi.factories.AbstractReviewItemSetUiFactoryProvider;
@@ -51,7 +52,14 @@ public class PatchSetUiFactoryProvider extends AbstractReviewItemSetUiFactoryPro
}
@Override
- public AbstractUiFactory<IReviewItemSet> getOpenFileFactory(IUiContext context, IReviewItemSet set, IFileItem item) {
+ public AbstractUiFactory<IReviewItemSet> getOpenFileFactory(IUiContext context, IReviewItemSet set,
+ IFileItem item) {
return new OpenFileUiFactory(context, set, item);
}
+
+ @Override
+ public AbstractUiFactory<IReviewItemSet> getOpenFileToCommentFactory(IUiContext context, IReviewItemSet set,
+ IFileItem item, IComment comment) {
+ return new OpenFileUiFactory(context, set, item, comment);
+ }
}
diff --git a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/factories/AbstractReviewItemSetUiFactoryProvider.java b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/factories/AbstractReviewItemSetUiFactoryProvider.java
index 6b1f26a39..645ddd58a 100644
--- a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/factories/AbstractReviewItemSetUiFactoryProvider.java
+++ b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/factories/AbstractReviewItemSetUiFactoryProvider.java
@@ -11,12 +11,13 @@
package org.eclipse.mylyn.reviews.ui.spi.factories;
+import org.eclipse.mylyn.reviews.core.model.IComment;
import org.eclipse.mylyn.reviews.core.model.IFileItem;
import org.eclipse.mylyn.reviews.core.model.IReviewItemSet;
/**
* Provides additional specific factories for supporting opening of review set items.
- *
+ *
* @author Miles Parker
*/
public abstract class AbstractReviewItemSetUiFactoryProvider extends AbstractUiFactoryProvider<IReviewItemSet> {
@@ -24,9 +25,12 @@ public abstract class AbstractReviewItemSetUiFactoryProvider extends AbstractUiF
public abstract AbstractUiFactory<IReviewItemSet> getOpenFileFactory(IUiContext context, IReviewItemSet set,
IFileItem item);
+ public abstract AbstractUiFactory<IReviewItemSet> getOpenFileToCommentFactory(IUiContext context,
+ IReviewItemSet set, IFileItem item, IComment comment);
+
public abstract AbstractUiFactory<IReviewItemSet> getOpenCommitFactory(IUiContext context, IReviewItemSet set);
- public abstract AbstractUiFactory<IReviewItemSet> getOpenParentCommitFactory(IUiContext context,
- IReviewItemSet set, String commitId);
+ public abstract AbstractUiFactory<IReviewItemSet> getOpenParentCommitFactory(IUiContext context, IReviewItemSet set,
+ String commitId);
}

Back to the top