From 3f0d00c83cde0dccd0a0e5eb1a2f4e60e6888075 Mon Sep 17 00:00:00 2001 From: Simon Edwards Date: Tue, 16 Aug 2022 09:53:36 +0200 Subject: [PATCH] Add `windowStateChanged` signal to `QWindow` --- src/cpp/lib/QtGui/QWindow/qwindow_wrap.cpp | 9 +++++++++ src/lib/QtGui/QWindow.ts | 1 + 2 files changed, 10 insertions(+) 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) => {