diff options
Diffstat (limited to 'platform/platform-impl/src/com/intellij/ui/EditorTextField.java')
-rw-r--r-- | platform/platform-impl/src/com/intellij/ui/EditorTextField.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/platform/platform-impl/src/com/intellij/ui/EditorTextField.java b/platform/platform-impl/src/com/intellij/ui/EditorTextField.java index c16f5f188cdc..27b1a2be56ae 100644 --- a/platform/platform-impl/src/com/intellij/ui/EditorTextField.java +++ b/platform/platform-impl/src/com/intellij/ui/EditorTextField.java @@ -278,13 +278,18 @@ public class EditorTextField extends NonOpaquePanel implements DocumentListener, public void selectAll() { if (myEditor != null) { - myEditor.getSelectionModel().setSelection(0, myDocument.getTextLength()); + doSelectAll(myEditor); } else { myWholeTextSelected = true; } } + private static void doSelectAll(@NotNull Editor editor) { + editor.getCaretModel().removeSecondaryCarets(); + editor.getCaretModel().getPrimaryCaret().setSelection(0, editor.getDocument().getTextLength(), false); + } + public void removeSelection() { if (myEditor != null) { myEditor.getSelectionModel().removeSelection(); @@ -514,7 +519,8 @@ public class EditorTextField extends NonOpaquePanel implements DocumentListener, editor.getSelectionModel().removeSelection(); } else if (myWholeTextSelected) { - editor.getSelectionModel().setSelection(0, myDocument.getTextLength()); + doSelectAll(editor); + myWholeTextSelected = false; } editor.putUserData(SUPPLEMENTARY_KEY, myIsSupplementary); |