From abcfb1d7ba3990120078d304586f40fde37b3476 Mon Sep 17 00:00:00 2001 From: "Denis.Zhdanov" Date: Mon, 18 Mar 2013 17:28:13 +0400 Subject: [PATCH] IDEA-15815 Ctrl+c combination behavior 1. The 'skip auto select line' behavior is expanded to 'cut' processing; 2. The controlling property is renamed; --- .../com/intellij/codeInsight/editorActions/CopyHandler.java | 2 +- .../com/intellij/codeInsight/editorActions/CutHandler.java | 6 +++++- .../src/com/intellij/openapi/editor/actions/CopyAction.java | 6 +++--- .../src/com/intellij/openapi/editor/actions/CutAction.java | 4 ++++ platform/platform-resources-en/src/misc/registry.properties | 2 +- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CopyHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CopyHandler.java index e26f14f61b76..e64076bd1fa5 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CopyHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CopyHandler.java @@ -66,7 +66,7 @@ public class CopyHandler extends EditorActionHandler { final SelectionModel selectionModel = editor.getSelectionModel(); if(!selectionModel.hasSelection() && !selectionModel.hasBlockSelection()) { - if (Registry.is(CopyAction.SKIP_COPY_FOR_EMPTY_SELECTION_KEY)) { + if (Registry.is(CopyAction.SKIP_COPY_AND_CUT_FOR_EMPTY_SELECTION_KEY)) { return; } selectionModel.selectLineAtCaret(); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CutHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CutHandler.java index c2d0558f4de1..f069cd2b125b 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CutHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CutHandler.java @@ -23,11 +23,12 @@ import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.EditorModificationUtil; import com.intellij.openapi.editor.SelectionModel; -import com.intellij.openapi.editor.VisualPosition; import com.intellij.openapi.editor.actionSystem.EditorActionHandler; import com.intellij.openapi.editor.actionSystem.EditorActionManager; import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler; +import com.intellij.openapi.editor.actions.CopyAction; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.registry.Registry; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiFile; @@ -59,6 +60,9 @@ public class CutHandler extends EditorWriteActionHandler { SelectionModel selectionModel = editor.getSelectionModel(); if (!selectionModel.hasSelection() && !selectionModel.hasBlockSelection()) { + if (Registry.is(CopyAction.SKIP_COPY_AND_CUT_FOR_EMPTY_SELECTION_KEY)) { + return; + } selectionModel.selectLineAtCaret(); if (!selectionModel.hasSelection()) return; } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/actions/CopyAction.java b/platform/platform-impl/src/com/intellij/openapi/editor/actions/CopyAction.java index 812bda0c8c60..7fc93e8fb01f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/actions/CopyAction.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/actions/CopyAction.java @@ -32,8 +32,8 @@ import com.intellij.openapi.util.registry.Registry; public class CopyAction extends EditorAction { - public static final String SKIP_COPY_FOR_EMPTY_SELECTION_KEY = "editor.skip.copy.for.empty.selection"; - + public static final String SKIP_COPY_AND_CUT_FOR_EMPTY_SELECTION_KEY = "editor.skip.copy.and.cut.for.empty.selection"; + public CopyAction() { super(new Handler()); } @@ -42,7 +42,7 @@ public class CopyAction extends EditorAction { @Override public void execute(Editor editor, DataContext dataContext) { if (!editor.getSelectionModel().hasSelection() && !editor.getSelectionModel().hasBlockSelection()) { - if (Registry.is(SKIP_COPY_FOR_EMPTY_SELECTION_KEY)) { + if (Registry.is(SKIP_COPY_AND_CUT_FOR_EMPTY_SELECTION_KEY)) { return; } editor.getSelectionModel().selectLineAtCaret(); diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/actions/CutAction.java b/platform/platform-impl/src/com/intellij/openapi/editor/actions/CutAction.java index f036212da94a..0f6cec38ed43 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/actions/CutAction.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/actions/CutAction.java @@ -29,6 +29,7 @@ import com.intellij.openapi.editor.EditorModificationUtil; import com.intellij.openapi.editor.actionSystem.EditorAction; import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler; import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.util.registry.Registry; public class CutAction extends EditorAction { public CutAction() { @@ -39,6 +40,9 @@ public class CutAction extends EditorAction { @Override public void executeWriteAction(Editor editor, DataContext dataContext) { if(!editor.getSelectionModel().hasSelection()) { + if (Registry.is(CopyAction.SKIP_COPY_AND_CUT_FOR_EMPTY_SELECTION_KEY)) { + return; + } editor.getSelectionModel().selectLineAtCaret(); } editor.getSelectionModel().copySelectionToClipboard(); diff --git a/platform/platform-resources-en/src/misc/registry.properties b/platform/platform-resources-en/src/misc/registry.properties index 8aff1a858f7b..0dd0d652ee49 100644 --- a/platform/platform-resources-en/src/misc/registry.properties +++ b/platform/platform-resources-en/src/misc/registry.properties @@ -103,7 +103,7 @@ editor.mouseSelectionStateResetTimeout=1000 editor.mouseSelectionStateResetDeadZone=4 editor.use.new.tabs=true editor.smarterSelectionQuoting=true -editor.skip.copy.for.empty.selection=false +editor.skip.copy.and.cut.for.empty.selection=false ide.showIndexRebuildMessage=false