summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Volkov <a.volkov@rusbitech.ru>2018-01-30 12:51:19 +0300
committerAlexander Volkov <a.volkov@rusbitech.ru>2018-02-11 19:53:14 +0000
commit9d293e24a0a196a1da5eb32bc3db805c4f14a09d (patch)
tree1398daad6078810d23ccab4b3a099dbd6257bc91
parentfcad1c762b6eb50f241c4208eea39ef495e49b05 (diff)
Windows QPA: Implement QPlatformWindow::startSystemMove()
Task-number: QTBUG-58044 Change-Id: I15639d505683159b4cc31d762cb0bebbfc57e594 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp10
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index 854c19ccf8..ada124b5af 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -2277,6 +2277,16 @@ bool QWindowsWindow::startSystemResize(const QPoint &, Qt::Corner corner)
return true;
}
+bool QWindowsWindow::startSystemMove(const QPoint &)
+{
+ if (!GetSystemMenu(m_data.hwnd, FALSE))
+ return false;
+
+ ReleaseCapture();
+ PostMessage(m_data.hwnd, WM_SYSCOMMAND, 0xF012 /*SC_DRAGMOVE*/, 0);
+ return true;
+}
+
void QWindowsWindow::setFrameStrutEventsEnabled(bool enabled)
{
if (enabled) {
diff --git a/src/plugins/platforms/windows/qwindowswindow.h b/src/plugins/platforms/windows/qwindowswindow.h
index 414d4a92f8..3732255738 100644
--- a/src/plugins/platforms/windows/qwindowswindow.h
+++ b/src/plugins/platforms/windows/qwindowswindow.h
@@ -269,6 +269,7 @@ public:
inline bool hasMouseCapture() const { return GetCapture() == m_data.hwnd; }
bool startSystemResize(const QPoint &pos, Qt::Corner corner) override;
+ bool startSystemMove(const QPoint &pos) override;
void setFrameStrutEventsEnabled(bool enabled) override;
bool frameStrutEventsEnabled() const override { return testFlag(FrameStrutEventsEnabled); }