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