summaryrefslogtreecommitdiffstats
path: root/src/plugins/decorations
diff options
context:
space:
mode:
authorJohan Klokkhammer Helsing <johan.helsing@qt.io>2018-06-16 22:57:53 +0200
committerJohan Helsing <johan.helsing@qt.io>2018-06-20 11:15:15 +0000
commit5a4769b0757867bbadf3d50e8a5a3b2e061be94b (patch)
treee2c62cc6786318f0a8a903edea073adeaa9e32ea /src/plugins/decorations
parent0b397a6174db0d1c22c3a41de00479fe07ff3886 (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.cpp27
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)