diff options
author | Morten Johan Sorvig <morten.sorvig@nokia.com> | 2012-05-03 22:15:38 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-27 00:46:35 +0200 |
commit | e1402c0d278b4570444e3e20b93fd5ab5619c8fc (patch) | |
tree | 72054723d3912389bfccc99d32af90687448f963 /src/plugins/platforms/windows | |
parent | 6874a33a75154400e8cd0424cec6d464b133c7cc (diff) |
Add a method for querying window activation status from QPA.
Add QPlatformWindow::isActive(), where the platform
can do further isActive tests, and Windows implementation for it.
Change-Id: I1acfc44d3a4ab36a3aaee52fb7b5f5b40661095e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Diffstat (limited to 'src/plugins/platforms/windows')
-rw-r--r-- | src/plugins/platforms/windows/qwindowswindow.cpp | 9 | ||||
-rw-r--r-- | src/plugins/platforms/windows/qwindowswindow.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index aabea04c20..a7140a3d6d 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -807,6 +807,15 @@ bool QWindowsWindow::isVisible() const return m_data.hwnd && IsWindowVisible(m_data.hwnd); } +bool QWindowsWindow::isActive() const +{ + // Check for native windows or children of the active native window. + if (const HWND activeHwnd = GetActiveWindow()) + if (m_data.hwnd == activeHwnd || IsChild(activeHwnd, m_data.hwnd)) + return true; + return false; +} + // partially from QWidgetPrivate::show_sys() void QWindowsWindow::show_sys() const { diff --git a/src/plugins/platforms/windows/qwindowswindow.h b/src/plugins/platforms/windows/qwindowswindow.h index 743e10dff9..182bef78e4 100644 --- a/src/plugins/platforms/windows/qwindowswindow.h +++ b/src/plugins/platforms/windows/qwindowswindow.h @@ -150,6 +150,7 @@ public: virtual void setVisible(bool visible); bool isVisible() const; + virtual bool isActive() const; virtual Qt::WindowFlags setWindowFlags(Qt::WindowFlags flags); virtual Qt::WindowState setWindowState(Qt::WindowState state); |