diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-07-15 10:36:58 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-07-15 10:36:59 +0200 |
commit | 1190863fc0855ef25e7239e35da3978f317638bd (patch) | |
tree | 92c408f7c53f194639d2a10b82f5c90a85704776 /src/widgets/widgets | |
parent | 02afd94ef4c1913735bd650ca93279cfb00dc534 (diff) | |
parent | e4484bb15b29b01dba07cbc31c150153f537606a (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I0218a1f08b89f2d56757ab35eec06799d2a1492f
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r-- | src/widgets/widgets/qdockwidget.cpp | 13 | ||||
-rw-r--r-- | src/widgets/widgets/qmdisubwindow.cpp | 2 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index 7cd7172ef5..45e3f1b10b 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -49,6 +49,7 @@ #include <qevent.h> #include <qfontmetrics.h> #include <qwindow.h> +#include <qscreen.h> #include <qmainwindow.h> #include <qrubberband.h> #include <qstylepainter.h> @@ -1387,9 +1388,17 @@ bool QDockWidget::event(QEvent *event) d->toggleViewAction->setChecked(false); emit visibilityChanged(false); break; - case QEvent::Show: + case QEvent::Show: { d->toggleViewAction->setChecked(true); - emit visibilityChanged(geometry().right() >= 0 && geometry().bottom() >= 0); + QPoint parentTopLeft(0, 0); + if (isWindow()) { + if (const QWindow *window = windowHandle()) + parentTopLeft = window->screen()->availableVirtualGeometry().topLeft(); + else + parentTopLeft = QGuiApplication::primaryScreen()->availableVirtualGeometry().topLeft(); + } + emit visibilityChanged(geometry().right() >= parentTopLeft.x() && geometry().bottom() >= parentTopLeft.y()); +} break; #endif case QEvent::ApplicationLayoutDirectionChange: diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp index b38dea074f..63d14f2301 100644 --- a/src/widgets/widgets/qmdisubwindow.cpp +++ b/src/widgets/widgets/qmdisubwindow.cpp @@ -2927,7 +2927,7 @@ void QMdiSubWindow::showEvent(QShowEvent *showEvent) #if !defined(QT_NO_SIZEGRIP) && defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) if (qobject_cast<QMacStyle *>(style()) && !d->sizeGrip && !(windowFlags() & Qt::FramelessWindowHint)) { - d->setSizeGrip(new QSizeGrip(0)); + d->setSizeGrip(new QSizeGrip(this)); Q_ASSERT(d->sizeGrip); if (isMinimized()) d->setSizeGripVisible(false); |