bool AbstractFloatItem::eventFilter( QObject *object, QEvent *e ) { if ( !enabled() || !visible() ) { return false; } if( e->type() == QEvent::ContextMenu ) { QWidget *widget = dynamic_cast<QWidget *>( object ); QContextMenuEvent *menuEvent = dynamic_cast<QContextMenuEvent *> ( e ); if( widget != NULL && menuEvent != NULL && contains( menuEvent->pos() ) ) { contextMenuEvent( widget, menuEvent ); return true; } return false; } else if( e->type() == QEvent::ToolTip ) { QHelpEvent *helpEvent = dynamic_cast<QHelpEvent *>( e ); if( helpEvent != NULL && contains( helpEvent->pos() ) ) { toolTipEvent( helpEvent ); return true; } return false; } else return ScreenGraphicsItem::eventFilter( object, e ); }
void DolphinStatusBar::showZoomSliderToolTip(int zoomLevel) { updateZoomSliderToolTip(zoomLevel); QPoint global = m_zoomSlider->rect().topLeft(); global.ry() += m_zoomSlider->height() / 2; QHelpEvent toolTipEvent(QEvent::ToolTip, QPoint(0, 0), m_zoomSlider->mapToGlobal(global)); QApplication::sendEvent(m_zoomSlider, &toolTipEvent); }
/** Search for non-standard events (like tooltip stuff). */ bool LinkLabel::event(QEvent *event) { // Specifically handle tooltip events. if(event->type() == QEvent::ToolTip) { toolTipEvent(static_cast<QHelpEvent*>(event)); return true; } return QLabel::event(event); }
void IconSizeGroupBox::showToolTip(QSlider* slider, int value) { const int size = ZoomLevelInfo::iconSizeForZoomLevel(value); slider->setToolTip(i18ncp("@info:tooltip", "Size: 1 pixel", "Size: %1 pixels", size)); if (!slider->isVisible()) { return; } QPoint global = slider->rect().topLeft(); global.ry() += slider->height() / 2; QHelpEvent toolTipEvent(QEvent::ToolTip, QPoint(0, 0), slider->mapToGlobal(global)); QApplication::sendEvent(slider, &toolTipEvent); }