diff --git a/src/cpp/lib/QtGui/QWindow/qwindow_wrap.cpp b/src/cpp/lib/QtGui/QWindow/qwindow_wrap.cpp index fee76f489..e5ac526a7 100644 --- a/src/cpp/lib/QtGui/QWindow/qwindow_wrap.cpp +++ b/src/cpp/lib/QtGui/QWindow/qwindow_wrap.cpp @@ -71,6 +71,15 @@ void QWindowWrap::connectSignalsToEventEmitter() { Napi::Number::New(env, visibility)}); }); + QObject::connect( + this->instance.data(), &QWindow::windowStateChanged, + [=](Qt::WindowState windowState) { + Napi::Env env = this->emitOnNode.Env(); + Napi::HandleScope scope(env); + this->emitOnNode.Call({Napi::String::New(env, "windowStateChanged"), + Napi::Number::New(env, windowState)}); + }); + this->instance->installEventFilter(this); } diff --git a/src/lib/QtGui/QWindow.ts b/src/lib/QtGui/QWindow.ts index 2dd0634e3..cfab70dab 100644 --- a/src/lib/QtGui/QWindow.ts +++ b/src/lib/QtGui/QWindow.ts @@ -74,6 +74,7 @@ wrapperCache.registerWrapper('QWindowWrap', QWindow); export interface QWindowSignals extends QObjectSignals { screenChanged: (screen: QScreen) => void; visibilityChanged: (visibility: Visibility) => void; + windowStateChanged: (windowState: WindowState) => void; } registerNativeWrapFunction('QWindowWrap', (native: any) => {