Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Keller2015-11-02 11:28:16 +0000
committerMarkus Keller2015-11-02 11:28:16 +0000
commita6baa3f82147bb0751b5050bf2eb6c0c23891e78 (patch)
tree22ff313ffa3f63fd342c08b3e39c7dc330bbb2b4
parente72b93fedb0ee392c7cbd9df98e9d836e44cad47 (diff)
downloadeclipse.platform.text-a6baa3f82147bb0751b5050bf2eb6c0c23891e78.tar.gz
eclipse.platform.text-a6baa3f82147bb0751b5050bf2eb6c0c23891e78.tar.xz
eclipse.platform.text-a6baa3f82147bb0751b5050bf2eb6c0c23891e78.zip
Bug 64510: [templates] "Restore Removed" button on template pref page could select restoredI20151103-0800
-rw-r--r--org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplatePreferencePage.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplatePreferencePage.java b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplatePreferencePage.java
index 80edecc2632..82f382363d9 100644
--- a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplatePreferencePage.java
+++ b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplatePreferencePage.java
@@ -21,6 +21,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
@@ -1300,6 +1301,7 @@ public abstract class TemplatePreferencePage extends PreferencePage implements I
return;
try {
+ ArrayList selection= new ArrayList();
TemplateReaderWriter reader= new TemplateReaderWriter();
File file= new File(path);
if (file.exists()) {
@@ -1309,6 +1311,15 @@ public abstract class TemplatePreferencePage extends PreferencePage implements I
for (int i= 0; i < datas.length; i++) {
TemplatePersistenceData data= datas[i];
fTemplateStore.add(data);
+ String id= data.getId();
+ if (id == null) {
+ selection.add(data);
+ } else {
+ data= fTemplateStore.getTemplateData(id);
+ if (data != null) {
+ selection.add(data);
+ }
+ }
}
} finally {
try {
@@ -1322,6 +1333,8 @@ public abstract class TemplatePreferencePage extends PreferencePage implements I
fTableViewer.refresh();
fTableViewer.setAllChecked(false);
fTableViewer.setCheckedElements(getEnabledTemplates());
+ fTableViewer.setSelection(new StructuredSelection(selection), true);
+ selectionChanged1();
} catch (FileNotFoundException e) {
openReadErrorDialog(e);
@@ -1406,10 +1419,16 @@ public abstract class TemplatePreferencePage extends PreferencePage implements I
}
private void restoreDeleted() {
+ TemplatePersistenceData[] oldTemplates= fTemplateStore.getTemplateData(false);
fTemplateStore.restoreDeleted();
+ TemplatePersistenceData[] newTemplates= fTemplateStore.getTemplateData(false);
fTableViewer.refresh();
fTableViewer.setCheckedElements(getEnabledTemplates());
- updateButtons();
+ ArrayList selection= new ArrayList();
+ selection.addAll(Arrays.asList(newTemplates));
+ selection.removeAll(Arrays.asList(oldTemplates));
+ fTableViewer.setSelection(new StructuredSelection(selection), true);
+ selectionChanged1();
}
private void revert() {

Back to the top