From b771da3dd1e3784c45a9918cedcb9488814e2ded Mon Sep 17 00:00:00 2001 From: Lukasz Papierkowski Date: Mon, 23 Dec 2024 17:34:34 +0100 Subject: [PATCH] Lua: Add buildStateChanged for project hooks Change-Id: I9d9781f17f703cc382440388471ec5d2475739aa Reviewed-by: Marcus Tillmanns --- src/plugins/lua/bindings/project.cpp | 14 ++++++++++++++ src/plugins/lua/meta/qtc.lua | 1 + 2 files changed, 15 insertions(+) diff --git a/src/plugins/lua/bindings/project.cpp b/src/plugins/lua/bindings/project.cpp index 3d256ce3391..122cc55603e 100644 --- a/src/plugins/lua/bindings/project.cpp +++ b/src/plugins/lua/bindings/project.cpp @@ -201,6 +201,20 @@ void setupProjectModule() QTC_CHECK_EXPECTED(res); }); }); + + // buildStateChanged + registerHook("projects.buildStateChanged", [](sol::main_function func, QObject *guard) { + QObject::connect( + BuildManager::instance(), + &BuildManager::buildStateChanged, + guard, + [func](ProjectExplorer::Project *pro) { + const bool isBuilding = BuildManager::isBuilding(pro); + expected_str res = void_safe_call(func, pro, isBuilding); + QTC_CHECK_EXPECTED(res); + } + ); + }); } } // namespace Lua::Internal diff --git a/src/plugins/lua/meta/qtc.lua b/src/plugins/lua/meta/qtc.lua index 2db56b3394c..999c1da02b7 100644 --- a/src/plugins/lua/meta/qtc.lua +++ b/src/plugins/lua/meta/qtc.lua @@ -59,6 +59,7 @@ EditorHooks = {} ---@field projectRemoved? function function(project: Project) ---@field aboutToRemoveProject? function function(project: Project) ---@field runActionsUpdated? function function() Called when Project.canRunStartupProject() might have changed. +---@field buildStateChanged? function function(project: Project, isBuilding: boolean) ---@class Hooks ---@field editors? EditorHooks