editor: allow to disable default foldings - update after review

This commit is contained in:
Dmitry Batrak
2015-02-06 18:40:50 +03:00
parent c0cefac81f
commit 2ed103a958
4 changed files with 10 additions and 11 deletions
@@ -157,7 +157,7 @@ public class DiffUtil {
if (enableFolding) {
editor.getSettings().setFoldingOutlineShown(true);
editor.getSettings().setCodeFoldingEnabled(false);
editor.getSettings().setAutoCodeFoldingEnabled(false);
}
else {
editor.getSettings().setFoldingOutlineShown(false);
@@ -54,8 +54,8 @@ public interface EditorSettings {
boolean isFoldingOutlineShown();
void setFoldingOutlineShown(boolean val);
boolean isCodeFoldingEnabled();
void setCodeFoldingEnabled(boolean val);
boolean isAutoCodeFoldingEnabled();
void setAutoCodeFoldingEnabled(boolean val);
boolean isUseTabCharacter(Project project);
void setUseTabCharacter(boolean useTabCharacter);
@@ -248,7 +248,6 @@ public class CodeFoldingManagerImpl extends CodeFoldingManager implements Projec
}
private void initFolding(@NotNull final Editor editor) {
if (!editor.getSettings().isCodeFoldingEnabled()) return;
final Document document = editor.getDocument();
editor.getFoldingModel().runBatchFoldingOperation(new Runnable() {
@Override
@@ -289,6 +288,7 @@ public class CodeFoldingManagerImpl extends CodeFoldingManager implements Projec
}
public void updateFoldRegions(Editor editor, boolean quick) {
if (!editor.getSettings().isAutoCodeFoldingEnabled()) return;
PsiDocumentManager.getInstance(myProject).commitDocument(editor.getDocument());
Runnable runnable = updateFoldRegions(editor, false, quick);
if (runnable != null) {
@@ -322,6 +322,7 @@ public class CodeFoldingManagerImpl extends CodeFoldingManager implements Projec
@Override
@Nullable
public Runnable updateFoldRegionsAsync(@NotNull final Editor editor, final boolean firstTime) {
if (!editor.getSettings().isAutoCodeFoldingEnabled()) return null;
final Runnable runnable = updateFoldRegions(editor, firstTime, false);
return new Runnable() {
@Override
@@ -338,7 +339,6 @@ public class CodeFoldingManagerImpl extends CodeFoldingManager implements Projec
@Nullable
private Runnable updateFoldRegions(@NotNull Editor editor, boolean applyDefaultState, boolean quick) {
if (!editor.getSettings().isCodeFoldingEnabled()) return null;
PsiFile file = PsiDocumentManager.getInstance(myProject).getPsiFile(editor.getDocument());
if (file != null) {
return FoldingUpdate.updateFoldRegions(editor, file, applyDefaultState, quick);
@@ -51,7 +51,7 @@ public class SettingsImpl implements EditorSettings {
private int myLineCursorWidth = Registry.intValue("editor.caret.width", 2);
private boolean myLineMarkerAreaShown = true;
private boolean myAllowSingleLogicalLineFolding = false;
private boolean myCodeFoldingEnabled = true;
private boolean myAutoCodeFoldingEnabled = true;
// These comes from CodeStyleSettings
private Integer myTabSize = null;
@@ -281,14 +281,13 @@ public class SettingsImpl implements EditorSettings {
}
@Override
public boolean isCodeFoldingEnabled() {
return myCodeFoldingEnabled;
public boolean isAutoCodeFoldingEnabled() {
return myAutoCodeFoldingEnabled;
}
@Override
public void setCodeFoldingEnabled(boolean val) {
myCodeFoldingEnabled = val;
fireEditorRefresh();
public void setAutoCodeFoldingEnabled(boolean val) {
myAutoCodeFoldingEnabled = val;
}
@Override