diff options
author | David Schulz <david.schulz@qt.io> | 2024-04-11 15:04:36 +0200 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2024-04-12 11:08:07 +0000 |
commit | 41e581d0e1cbf6db6d3945989b005d10e0775370 (patch) | |
tree | 8c550d953842abd7916851ed8bd029b529f46f5a /src/plugins/texteditor | |
parent | cdc4a8e42b42d02cb8a268bb72a603499a208fb0 (diff) |
Editor: fix assist actions
Amends 411100b0378202dc617acaa236f4730eb4cc43b2
Fixes: QTCREATORBUG-30673
Change-Id: Icc82b6f5526d229a13a7061cbc44904837c25f06
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/texteditor')
-rw-r--r-- | src/plugins/texteditor/texteditor.cpp | 16 | ||||
-rw-r--r-- | src/plugins/texteditor/texteditorplugin.cpp | 72 |
2 files changed, 41 insertions, 47 deletions
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index e3d2c1c94e..215f54aadc 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -3869,6 +3869,22 @@ void TextEditorWidgetPrivate::registerActions() using namespace Core::Constants; using namespace TextEditor::Constants; + ActionBuilder(this, Constants::COMPLETE_THIS) + .setContext(m_editorContext) + .addOnTriggered(this, [this] { q->invokeAssist(Completion); }); + + ActionBuilder(this, Constants::FUNCTION_HINT) + .setContext(m_editorContext) + .addOnTriggered(this, [this] { q->invokeAssist(FunctionHint); }); + + ActionBuilder(this, Constants::QUICKFIX_THIS) + .setContext(m_editorContext) + .addOnTriggered(this, [this] { q->invokeAssist(QuickFix); }); + + ActionBuilder(this, Constants::SHOWCONTEXTMENU) + .setContext(m_editorContext) + .addOnTriggered(this, [this] { q->showContextMenu(); }); + m_undoAction = ActionBuilder(this, UNDO) .setContext(m_editorContext) .addOnTriggered([this] { q->undo(); }) diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index 89384364eb..5db6a17e0d 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -123,53 +123,6 @@ void TextEditorPlugin::initialize() setupMarkdownEditor(); setupJsonEditor(); - Context context(TextEditor::Constants::C_TEXTEDITOR); - - // Add shortcut for invoking automatic completion - Command *command = nullptr; - ActionBuilder(this, Constants::COMPLETE_THIS) - .setText(Tr::tr("Trigger Completion")) - .setContext(context) - .bindCommand(&command) - .setDefaultKeySequence(Tr::tr("Meta+Space"), Tr::tr("Ctrl+Space")) - .addOnTriggered(this, [] { - if (BaseTextEditor *editor = BaseTextEditor::currentTextEditor()) - editor->editorWidget()->invokeAssist(Completion); - }); - - connect(command, &Command::keySequenceChanged, [command] { - FancyLineEdit::setCompletionShortcut(command->keySequence()); - }); - FancyLineEdit::setCompletionShortcut(command->keySequence()); - - // Add shortcut for invoking function hint completion - ActionBuilder(this, Constants::FUNCTION_HINT) - .setText(Tr::tr("Display Function Hint")) - .setContext(context) - .setDefaultKeySequence(Tr::tr("Meta+Shift+D"), Tr::tr("Ctrl+Shift+D")) - .addOnTriggered(this, [] { - if (BaseTextEditor *editor = BaseTextEditor::currentTextEditor()) - editor->editorWidget()->invokeAssist(FunctionHint); - }); - - // Add shortcut for invoking quick fix options - ActionBuilder(this, Constants::QUICKFIX_THIS) - .setText(Tr::tr("Trigger Refactoring Action")) - .setContext(context) - .setDefaultKeySequence(Tr::tr("Alt+Return")) - .addOnTriggered(this, [] { - if (BaseTextEditor *editor = BaseTextEditor::currentTextEditor()) - editor->editorWidget()->invokeAssist(QuickFix); - }); - - ActionBuilder(this, Constants::SHOWCONTEXTMENU) - .setText(Tr::tr("Show Context Menu")) - .setContext(context) - .addOnTriggered(this, [] { - if (BaseTextEditor *editor = BaseTextEditor::currentTextEditor()) - editor->editorWidget()->showContextMenu(); - }); - // Add text snippet provider. SnippetProvider::registerGroup(Constants::TEXT_SNIPPET_GROUP_ID, Tr::tr("Text", "SnippetProvider")); @@ -354,6 +307,31 @@ void TextEditorPlugin::createStandardContextMenu() void TextEditorPlugin::createEditorCommands() { using namespace Core::Constants; + // Add shortcut for invoking automatic completion + Command *command = nullptr; + ActionBuilder(this, Constants::COMPLETE_THIS) + .setText(Tr::tr("Trigger Completion")) + .bindCommand(&command) + .setDefaultKeySequence(Tr::tr("Meta+Space"), Tr::tr("Ctrl+Space")); + + connect(command, &Command::keySequenceChanged, [command] { + FancyLineEdit::setCompletionShortcut(command->keySequence()); + }); + FancyLineEdit::setCompletionShortcut(command->keySequence()); + + // Add shortcut for invoking function hint completion + ActionBuilder(this, Constants::FUNCTION_HINT) + .setText(Tr::tr("Display Function Hint")) + .setDefaultKeySequence(Tr::tr("Meta+Shift+D"), Tr::tr("Ctrl+Shift+D")); + + // Add shortcut for invoking quick fix options + ActionBuilder(this, Constants::QUICKFIX_THIS) + .setText(Tr::tr("Trigger Refactoring Action")) + .setDefaultKeySequence(Tr::tr("Alt+Return")); + + ActionBuilder(this, Constants::SHOWCONTEXTMENU) + .setText(Tr::tr("Show Context Menu")); + ActionBuilder(this, DELETE_LINE).setText(Tr::tr("Delete &Line")); ActionBuilder(this, DELETE_END_OF_LINE).setText(Tr::tr("Delete Line from Cursor On")); ActionBuilder(this, DELETE_END_OF_WORD).setText(Tr::tr("Delete Word from Cursor On")); |