diff options
author | Johan Klokkhammer Helsing <johan.helsing@qt.io> | 2018-06-16 22:57:53 +0200 |
---|---|---|
committer | Johan Helsing <johan.helsing@qt.io> | 2018-06-20 11:15:15 +0000 |
commit | 5a4769b0757867bbadf3d50e8a5a3b2e061be94b (patch) | |
tree | e2c62cc6786318f0a8a903edea073adeaa9e32ea /src/plugins/decorations | |
parent | 0b397a6174db0d1c22c3a41de00479fe07ff3886 (diff) |
Client: Move bradient buttons inside processMouseTop
To avoid them covering for the edges of the window
Change-Id: Id8a1362ec11bd25f54cb2c9fbcbd562af8f283d8
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'src/plugins/decorations')
-rw-r--r-- | src/plugins/decorations/bradient/main.cpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/plugins/decorations/bradient/main.cpp b/src/plugins/decorations/bradient/main.cpp index 02332a646..d79322bf4 100644 --- a/src/plugins/decorations/bradient/main.cpp +++ b/src/plugins/decorations/bradient/main.cpp @@ -351,16 +351,7 @@ bool QWaylandBradientDecoration::handleMouse(QWaylandInputDevice *inputDevice, c Q_UNUSED(global); // Figure out what area mouse is in - if (closeButtonRect().contains(local)) { - if (clickButton(b, Close)) - QWindowSystemInterface::handleCloseEvent(window()); - } else if (maximizeButtonRect().contains(local)) { - if (clickButton(b, Maximize)) - window()->setWindowStates(window()->windowStates() ^ Qt::WindowMaximized); - } else if (minimizeButtonRect().contains(local)) { - if (clickButton(b, Minimize)) - window()->setWindowState(Qt::WindowMinimized); - } else if (local.y() <= margins().top()) { + if (local.y() <= margins().top()) { processMouseTop(inputDevice,local,b,mods); } else if (local.y() > window()->height() + margins().top()) { processMouseBottom(inputDevice,local,b,mods); @@ -419,19 +410,31 @@ void QWaylandBradientDecoration::processMouseTop(QWaylandInputDevice *inputDevic #endif startResize(inputDevice,WL_SHELL_SURFACE_RESIZE_TOP_RIGHT,b); } else { - //top reszie bit + //top resize bit #if QT_CONFIG(cursor) waylandWindow()->setMouseCursor(inputDevice, Qt::SplitVCursor); #endif startResize(inputDevice,WL_SHELL_SURFACE_RESIZE_TOP,b); } + } else if (local.x() <= margins().left()) { + processMouseLeft(inputDevice, local, b, mods); + } else if (local.x() > window()->width() + margins().left()) { + processMouseRight(inputDevice, local, b, mods); + } else if (closeButtonRect().contains(local)) { + if (clickButton(b, Close)) + QWindowSystemInterface::handleCloseEvent(window()); + } else if (maximizeButtonRect().contains(local)) { + if (clickButton(b, Maximize)) + window()->setWindowStates(window()->windowStates() ^ Qt::WindowMaximized); + } else if (minimizeButtonRect().contains(local)) { + if (clickButton(b, Minimize)) + window()->setWindowState(Qt::WindowMinimized); } else { #if QT_CONFIG(cursor) waylandWindow()->restoreMouseCursor(inputDevice); #endif startMove(inputDevice,b); } - } void QWaylandBradientDecoration::processMouseBottom(QWaylandInputDevice *inputDevice, const QPointF &local, Qt::MouseButtons b, Qt::KeyboardModifiers mods) |