Merge remote-tracking branch 'origin/master'

This commit is contained in:
Dmitry Trofimov
2014-09-04 19:39:29 +02:00
3 changed files with 32 additions and 8 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();
}
}
@@ -176,12 +176,9 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec
public Set<EditorsSplitters> getAllSplitters() {
HashSet<EditorsSplitters> all = new LinkedHashSet<EditorsSplitters>();
if (PreviewPanel.isAvailable()) {
initUI();
EditorWindow window = myPreviewPanel.getWindow();
if (window != null) {
all.add(window.getOwner());
}
EditorWindow previewWindow = getPreviewWindow();
if (previewWindow != null) {
all.add(previewWindow.getOwner());
}
all.add(getMainSplitters());
Set<DockContainer> dockContainers = myDockManager.getContainers();
@@ -262,6 +259,13 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec
}
}
@Nullable
private EditorWindow getPreviewWindow() {
if (!PreviewPanel.isAvailable()) return null;
initUI();
return myPreviewPanel.getWindow();
}
private static class MyBorder implements Border {
@Override
public void paintBorder(@NotNull Component c, @NotNull Graphics g, int x, int y, int width, int height) {
@@ -643,8 +647,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec
}
if (wndToOpenIn == null || !wndToOpenIn.isFileOpen(file)) {
initUI();
EditorWindow previewWindow = PreviewPanel.isAvailable() && myPreviewPanel != null ? myPreviewPanel.getWindow() : null;
EditorWindow previewWindow = getPreviewWindow();
if (previewWindow != null) {
wndToOpenIn = previewWindow;
}