forked from qt-creator/qt-creator
Debugger: Hide/Show pinneable tooltips on de/iconifying main window.
Reviewed-by: hjk Task-number: QTCREATORBUG-4207
This commit is contained in:
@@ -1210,12 +1210,27 @@ 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user