From 86e4bf64141feca3403005c6a3ac07d3c4a704ed Mon Sep 17 00:00:00 2001 From: andrey zaytsev Date: Fri, 8 Apr 2011 20:20:32 +0400 Subject: [PATCH] search/replace: right readonly files handling. --- .../src/com/intellij/find/editorHeaderActions/Utils.java | 2 +- .../find/impl/livePreview/LivePreviewControllerBase.java | 4 ++-- .../openapi/editor/actions/IncrementalFindAction.java | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/find/editorHeaderActions/Utils.java b/platform/lang-impl/src/com/intellij/find/editorHeaderActions/Utils.java index 4b1b0e7977dd..b16c3a5c4a2e 100644 --- a/platform/lang-impl/src/com/intellij/find/editorHeaderActions/Utils.java +++ b/platform/lang-impl/src/com/intellij/find/editorHeaderActions/Utils.java @@ -67,7 +67,7 @@ public class Utils { } } - public static boolean okToWrite(Editor e) { + public static boolean ensureOkToWrite(Editor e) { final PsiFile psiFile = PsiDocumentManager.getInstance(e.getProject()).getPsiFile(e.getDocument()); boolean okWritable; if (psiFile != null) { diff --git a/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreviewControllerBase.java b/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreviewControllerBase.java index abb550bdd158..5a58b33cb458 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreviewControllerBase.java +++ b/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreviewControllerBase.java @@ -195,7 +195,7 @@ public class LivePreviewControllerBase implements LivePreview.Delegate, FindUtil @Nullable @Override public TextRange performReplace(final LiveOccurrence occurrence, final String replacement, final Editor editor) { - if (myReplaceDenied || !Utils.okToWrite(editor)) return null; + if (myReplaceDenied || !Utils.ensureOkToWrite(editor)) return null; TextRange range = occurrence.getPrimaryRange(); FindModel findModel = mySearchResults.getFindModel(); TextRange result = null; @@ -217,7 +217,7 @@ public class LivePreviewControllerBase implements LivePreview.Delegate, FindUtil @Override public void performReplaceAll(Editor e) { - if (!Utils.okToWrite(e)) return; + if (!Utils.ensureOkToWrite(e)) return; if (mySearchResults.getFindModel() != null) { FindUtil.replace(e.getProject(), e, mySearchResults.getFindModel().isGlobal() ? 0 : mySearchResults.getEditor().getSelectionModel().getSelectionStart(), diff --git a/platform/lang-impl/src/com/intellij/openapi/editor/actions/IncrementalFindAction.java b/platform/lang-impl/src/com/intellij/openapi/editor/actions/IncrementalFindAction.java index 47a422c31efa..c998b47e0e84 100644 --- a/platform/lang-impl/src/com/intellij/openapi/editor/actions/IncrementalFindAction.java +++ b/platform/lang-impl/src/com/intellij/openapi/editor/actions/IncrementalFindAction.java @@ -20,7 +20,6 @@ import com.intellij.find.EditorSearchComponent; import com.intellij.find.FindManager; import com.intellij.find.FindModel; import com.intellij.find.FindUtil; -import com.intellij.find.editorHeaderActions.Utils; import com.intellij.ide.DataManager; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.PlatformDataKeys; @@ -70,7 +69,7 @@ public class IncrementalFindAction extends EditorAction { public boolean isEnabled(Editor editor, DataContext dataContext) { Project project = PlatformDataKeys.PROJECT.getData(DataManager.getInstance().getDataContext(editor.getComponent())); - return project != null && !editor.isOneLineMode() && (!myReplace || Utils.okToWrite(editor)); + return project != null && !editor.isOneLineMode() && (!myReplace || editor.getDocument().isWritable()); } }