From d25878399a8971d1ed6e12eca96b39dffa06cd0f Mon Sep 17 00:00:00 2001 From: Krzysztof Chrusciel Date: Tue, 18 Mar 2025 12:27:20 +0100 Subject: [PATCH] Lua: Add signal to notify when text editor is created Change-Id: I7bdfa5cd4845772a48b7ec1b64ada9a2f425cb9b Reviewed-by: Marcus Tillmanns --- src/plugins/lua/bindings/texteditor.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/plugins/lua/bindings/texteditor.cpp b/src/plugins/lua/bindings/texteditor.cpp index 7e9de660df9..95ab7dc7ed6 100644 --- a/src/plugins/lua/bindings/texteditor.cpp +++ b/src/plugins/lua/bindings/texteditor.cpp @@ -158,6 +158,15 @@ public: emit currentEditorChanged(m_currentTextEditor); }); + connect( + Core::EditorManager::instance(), + &Core::EditorManager::editorCreated, + this, + [this](Core::IEditor *editor, const Utils::FilePath &filePath) { + auto textEditor = qobject_cast(editor); + if (textEditor) + emit editorCreated(textEditor); + }); } bool connectTextEditor(BaseTextEditor *editor) @@ -191,6 +200,7 @@ public: signals: void currentEditorChanged(BaseTextEditor *editor); + void editorCreated(BaseTextEditor *editor); void documentContentsChanged( TextDocument *document, int position, int charsRemoved, int charsAdded); @@ -537,6 +547,17 @@ void setupTextEditorModule() }); }); + registerHook("editors.text.editorCreated", [](sol::main_function func, QObject *guard) { + QObject::connect( + TextEditorRegistry::instance(), + &TextEditorRegistry::editorCreated, + guard, + [func](TextEditorPtr editor) { + expected_str res = void_safe_call(func, editor); + QTC_CHECK_EXPECTED(res); + }); + }); + registerHook("editors.text.contentsChanged", [](sol::main_function func, QObject *guard) { QObject::connect( TextEditorRegistry::instance(),