summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/ui/EditorTextField.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/ui/EditorTextField.java')
-rw-r--r--platform/platform-impl/src/com/intellij/ui/EditorTextField.java10
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);