summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/debuggertooltipmanager.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2011-03-29 15:12:42 +0200
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2011-03-29 15:12:42 +0200
commitb624a9cfbb889cb0fef5b600b3a8a16194276e1c (patch)
tree3bf3503c3e42633c9da44ee80997801ea39941cf /src/plugins/debugger/debuggertooltipmanager.cpp
parent289e22164c0a46f35c6e774e51bcd8a6bfad2d42 (diff)
downloadqt-creator-b624a9cfbb889cb0fef5b600b3a8a16194276e1c.tar.gz
Debugger: Hide/Show pinneable tooltips on de/iconifying main window.
Reviewed-by: hjk Task-number: QTCREATORBUG-4207
Diffstat (limited to 'src/plugins/debugger/debuggertooltipmanager.cpp')
-rw-r--r--src/plugins/debugger/debuggertooltipmanager.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/plugins/debugger/debuggertooltipmanager.cpp b/src/plugins/debugger/debuggertooltipmanager.cpp
index 6631926bf4..7f81195c37 100644
--- a/src/plugins/debugger/debuggertooltipmanager.cpp
+++ b/src/plugins/debugger/debuggertooltipmanager.cpp
@@ -1210,13 +1210,28 @@ void DebuggerToolTipManager::moveToolTipsBy(const QPoint &distance)
tw->move (tw->pos() + distance);
}
-bool DebuggerToolTipManager::eventFilter(QObject *, QEvent *e)
+bool DebuggerToolTipManager::eventFilter(QObject *o, QEvent *e)
{
- // Move along with parent (toplevel)
- if (e->type() == QEvent::Move && hasToolTips()) {
+ if (!hasToolTips())
+ return false;
+ switch (e->type()) {
+ case QEvent::Move: { // Move along with parent (toplevel)
const QMoveEvent *me = static_cast<const QMoveEvent *>(e);
moveToolTipsBy(me->pos() - me->oldPos());
}
+ break;
+ case QEvent::WindowStateChange: { // Hide/Show along with parent (toplevel)
+ const QWindowStateChangeEvent *se = static_cast<const QWindowStateChangeEvent *>(e);
+ const bool wasMinimized = se->oldState() & Qt::WindowMinimized;
+ const bool isMinimized = static_cast<const QWidget *>(o)->windowState() & Qt::WindowMinimized;
+ if (wasMinimized ^ isMinimized)
+ foreach (const QPointer<AbstractDebuggerToolTipWidget> &tw, purgeClosedToolTips())
+ tw->setVisible(!isMinimized);
+ }
+ break;
+ default:
+ break;
+ }
return false;
}