QToolTip: Hide tooltip on key event on macOS
This brings back Qt 4 behavior. The difference is that we only ignore modifier-only key events, as it's done natively. Task-number: QTBUG-49462 Change-Id: I02f2313e1164ba185336d80ac5cc16ce6d883b79 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
This commit is contained in:
parent
0c936d7411
commit
84988886a5
@ -317,15 +317,13 @@ void QTipLabel::timerEvent(QTimerEvent *e)
|
||||
bool QTipLabel::eventFilter(QObject *o, QEvent *e)
|
||||
{
|
||||
switch (e->type()) {
|
||||
#if 0 // Used to be included in Qt4 for Q_WS_MAC
|
||||
#ifdef Q_OS_MACOS
|
||||
case QEvent::KeyPress:
|
||||
case QEvent::KeyRelease: {
|
||||
int key = static_cast<QKeyEvent *>(e)->key();
|
||||
Qt::KeyboardModifiers mody = static_cast<QKeyEvent *>(e)->modifiers();
|
||||
if (!(mody & Qt::KeyboardModifierMask)
|
||||
&& key != Qt::Key_Shift && key != Qt::Key_Control
|
||||
&& key != Qt::Key_Alt && key != Qt::Key_Meta)
|
||||
hideTip();
|
||||
const int key = static_cast<QKeyEvent *>(e)->key();
|
||||
// Anything except key modifiers or caps-lock, etc.
|
||||
if (key < Qt::Key_Shift || key > Qt::Key_ScrollLock)
|
||||
hideTipImmediately();
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user