IDEA-129351 Cannot restore deleted live template

This commit is contained in:
Vassiliy.Kudryashov
2014-09-04 21:33:56 +04:00
parent 910b974927
commit 3e5a4df477
2 changed files with 21 additions and 0 deletions
@@ -19,6 +19,7 @@ package com.intellij.codeInsight.template.impl;
import com.intellij.application.options.ExportSchemeAction;
import com.intellij.application.options.SchemesToImportPopup;
import com.intellij.codeInsight.CodeInsightBundle;
import com.intellij.icons.AllIcons;
import com.intellij.ide.DataManager;
import com.intellij.ide.dnd.*;
import com.intellij.ide.dnd.aware.DnDAwareTree;
@@ -690,6 +691,17 @@ public class TemplateListPanel extends JPanel implements Disposable {
public void updateButton(AnActionEvent e) {
e.getPresentation().setEnabled(getTemplate(getSingleSelectedIndex()) != null);
}
}).addExtraAction(new AnActionButton("Restore deleted defaults", AllIcons.General.TodoDefault) {
@Override
public void actionPerformed(@NotNull AnActionEvent e) {
TemplateSettings.getInstance().reset();
reset();
}
@Override
public boolean isEnabled() {
return super.isEnabled() && !TemplateSettings.getInstance().getDeletedTemplates().isEmpty();
}
});
if (getSchemesManager().isExportAvailable()) {
decorator.addExtraAction(new AnActionButton("Share...", PlatformIcons.EXPORT_ICON) {
@@ -158,6 +158,10 @@ public class TemplateSettings implements PersistentStateComponent<Element>, Expo
this.key = key;
}
@Override
public String toString() {
return getKey()+"@" + getGroupName();
}
}
private TemplateKey myLastSelectedTemplate;
@@ -750,4 +754,9 @@ public class TemplateSettings implements PersistentStateComponent<Element>, Expo
public List<TemplateKey> getDeletedTemplates() {
return myDeletedTemplates;
}
public void reset() {
myDeletedTemplates.clear();
loadDefaultLiveTemplates();
}
}