mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ctrl+enter chooses the selected lookup item, even in unfocused
This commit is contained in:
+1
-1
@@ -160,7 +160,7 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement
|
||||
myLookup.setFocused(true);
|
||||
} else {
|
||||
myLookup.addAdvertisement("Press " +
|
||||
CompletionContributor.getActionShortcut(IdeActions.ACTION_CHOOSE_LOOKUP_ITEM_REPLACE) +
|
||||
CompletionContributor.getActionShortcut(IdeActions.ACTION_CHOOSE_LOOKUP_ITEM_ALWAYS) +
|
||||
" to choose the first suggestion");
|
||||
}
|
||||
if (!myEditor.isOneLineMode()) {
|
||||
|
||||
+24
-5
@@ -26,9 +26,9 @@ import com.intellij.openapi.editor.actionSystem.EditorActionHandler;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class ChooseItemAction extends EditorAction {
|
||||
public ChooseItemAction(){
|
||||
super(new Handler());
|
||||
public abstract class ChooseItemAction extends EditorAction {
|
||||
public ChooseItemAction(Handler handler){
|
||||
super(handler);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -41,7 +41,13 @@ public class ChooseItemAction extends EditorAction {
|
||||
return lookup;
|
||||
}
|
||||
|
||||
private static class Handler extends EditorActionHandler {
|
||||
protected static class Handler extends EditorActionHandler {
|
||||
final boolean focusedOnly;
|
||||
|
||||
Handler(boolean focusedOnly) {
|
||||
this.focusedOnly = focusedOnly;
|
||||
}
|
||||
|
||||
public void execute(@NotNull final Editor editor, final DataContext dataContext) {
|
||||
getLookup(editor).finishLookup(Lookup.NORMAL_SELECT_CHAR);
|
||||
}
|
||||
@@ -50,7 +56,20 @@ public class ChooseItemAction extends EditorAction {
|
||||
@Override
|
||||
public boolean isEnabled(Editor editor, DataContext dataContext) {
|
||||
LookupImpl lookup = (LookupImpl)LookupManager.getActiveLookup(editor);
|
||||
return lookup != null && lookup.isFocused();
|
||||
if (lookup == null) return false;
|
||||
if (focusedOnly && !lookup.isFocused()) return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static class Always extends ChooseItemAction {
|
||||
public Always() {
|
||||
super(new Handler(false));
|
||||
}
|
||||
}
|
||||
public static class FocusedOnly extends ChooseItemAction {
|
||||
public FocusedOnly() {
|
||||
super(new Handler(true));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ public interface IdeActions {
|
||||
@NonNls String ACTION_SMART_TYPE_COMPLETION = "SmartTypeCompletion";
|
||||
@NonNls String ACTION_CLASS_NAME_COMPLETION = "ClassNameCompletion";
|
||||
@NonNls String ACTION_CHOOSE_LOOKUP_ITEM = "EditorChooseLookupItem";
|
||||
@NonNls String ACTION_CHOOSE_LOOKUP_ITEM_ALWAYS = "EditorChooseLookupItemAlways";
|
||||
@NonNls String ACTION_CHOOSE_LOOKUP_ITEM_REPLACE = "EditorChooseLookupItemReplace";
|
||||
@NonNls String ACTION_CHOOSE_LOOKUP_ITEM_COMPLETE_STATEMENT = "EditorChooseLookupItemCompleteStatement";
|
||||
|
||||
|
||||
@@ -650,6 +650,9 @@
|
||||
<action id="EditorChooseLookupItem">
|
||||
<keyboard-shortcut first-keystroke="ENTER"/>
|
||||
</action>
|
||||
<action id="EditorChooseLookupItemAlways">
|
||||
<keyboard-shortcut first-keystroke="control ENTER"/>
|
||||
</action>
|
||||
<action id="Inline">
|
||||
<keyboard-shortcut first-keystroke="control alt N"/>
|
||||
</action>
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
<actions>
|
||||
<group id="LookupActions">
|
||||
<!-- these must be declared before standard EnterAction and TabAction -->
|
||||
<action id="EditorChooseLookupItem" class="com.intellij.codeInsight.lookup.impl.actions.ChooseItemAction"/>
|
||||
<action id="EditorChooseLookupItem" class="com.intellij.codeInsight.lookup.impl.actions.ChooseItemAction$FocusedOnly"/>
|
||||
<action id="EditorChooseLookupItemAlways" class="com.intellij.codeInsight.lookup.impl.actions.ChooseItemAction$Always"/>
|
||||
<action id="EditorChooseLookupItemReplace" class="com.intellij.codeInsight.lookup.impl.actions.ChooseItemReplaceAction"/>
|
||||
<action id="EditorChooseLookupItemCompleteStatement" class="com.intellij.codeInsight.lookup.impl.actions.ChooseItemCompleteStatementAction"/>
|
||||
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
<actions>
|
||||
<group id="LookupActions">
|
||||
<!-- these must be declared before standard EnterAction and TabAction -->
|
||||
<action id="EditorChooseLookupItem" class="com.intellij.codeInsight.lookup.impl.actions.ChooseItemAction"/>
|
||||
<action id="EditorChooseLookupItem" class="com.intellij.codeInsight.lookup.impl.actions.ChooseItemAction$FocusedOnly"/>
|
||||
<action id="EditorChooseLookupItemAlways" class="com.intellij.codeInsight.lookup.impl.actions.ChooseItemAction$Always"/>
|
||||
<action id="EditorChooseLookupItemReplace" class="com.intellij.codeInsight.lookup.impl.actions.ChooseItemReplaceAction"/>
|
||||
<action id="EditorChooseLookupItemCompleteStatement"
|
||||
class="com.intellij.codeInsight.lookup.impl.actions.ChooseItemCompleteStatementAction"/>
|
||||
|
||||
Reference in New Issue
Block a user