Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Sohn2013-12-04 00:07:05 +0000
committerGerrit Code Review @ Eclipse.org2013-12-04 00:07:05 +0000
commitd706846ca6656db3f3b94d2420c704eef5e8206d (patch)
tree630e4dc82ee418a04dfc03edcd48592f2c495af6
parentcdf6d35ddcf6e97375eb7a112683c40f917ee252 (diff)
parentd82d609c35c05d6785163abcba4b2c59f1e2e3ff (diff)
downloadegit-d706846ca6656db3f3b94d2420c704eef5e8206d.tar.gz
egit-d706846ca6656db3f3b94d2420c704eef5e8206d.tar.xz
egit-d706846ca6656db3f3b94d2420c704eef5e8206d.zip
Merge "Push Tags: Fix reveal code on Linux"
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushTagsPage.java32
1 files changed, 22 insertions, 10 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushTagsPage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushTagsPage.java
index d51bb0bd8a..4781f6aa16 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushTagsPage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushTagsPage.java
@@ -126,13 +126,8 @@ public class PushTagsPage extends WizardPage {
final CachedCheckboxTreeViewer treeViewer = tree
.getCheckboxTreeViewer();
- final TagsNode tagsNode = new TagsNode(null, repository);
- RepositoriesViewContentProvider contentProvider = new RepositoriesViewContentProvider() {
- @Override
- public Object[] getElements(Object inputElement) {
- return getChildren(tagsNode);
- }
- };
+ TagsNode tagsNode = new TagsNode(null, repository);
+ ContentProvider contentProvider = new ContentProvider(tagsNode);
treeViewer.setContentProvider(contentProvider);
treeViewer
.setLabelProvider(new RepositoriesViewStyledCellLabelProvider());
@@ -184,9 +179,12 @@ public class PushTagsPage extends WizardPage {
TagNode[] checkedTagsArray = checkedTags
.toArray(new TagNode[checkedTags.size()]);
viewer.setCheckedElements(checkedTagsArray);
- viewer.setSelection(StructuredSelection.EMPTY);
- if (checkedTagsArray.length > 0)
- viewer.reveal(checkedTagsArray[0]);
+ if (checkedTagsArray.length > 0) {
+ // Reveal tags (just using reveal does not work on some platforms)
+ viewer.setSelection(new StructuredSelection(checkedTagsArray), true);
+ // Clear selection, we don't want to highlight the rows that much
+ viewer.setSelection(StructuredSelection.EMPTY);
+ }
setSelectedTags(checkedTagsArray);
}
@@ -212,4 +210,18 @@ public class PushTagsPage extends WizardPage {
throw new RuntimeException(e);
}
}
+
+ private static class ContentProvider extends
+ RepositoriesViewContentProvider {
+ private final Object[] children;
+
+ private ContentProvider(TagsNode tagsNode) {
+ this.children = getChildren(tagsNode);
+ }
+
+ @Override
+ public Object[] getElements(Object inputElement) {
+ return children;
+ }
+ }
}

Back to the top