Fix compilation for QT_NO_CONTEXTMENU in QtWidgets

Change-Id: I05b23504549c0156ba5e72144674f843149932c0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
bb10
Tasuku Suzuki 2012-05-28 09:31:00 +09:00 committed by Qt by Nokia
parent e5bd2ed18c
commit 96c5b5ecf4
2 changed files with 6 additions and 0 deletions

View File

@ -263,6 +263,7 @@ void QWidgetWindow::handleMouseEvent(QMouseEvent *event)
if (m_widget->windowType() != Qt::Popup)
qt_button_down = 0;
qt_replay_popup_mouse_event = false;
#ifndef QT_NO_CONTEXTMENU
} else if (event->type() == QEvent::MouseButtonPress
&& event->button() == Qt::RightButton
&& (openPopupCount == oldOpenPopupCount)) {
@ -273,6 +274,7 @@ void QWidgetWindow::handleMouseEvent(QMouseEvent *event)
popupEvent = popupChild;
QContextMenuEvent e(QContextMenuEvent::Mouse, mapped, event->globalPos(), event->modifiers());
QApplication::sendSpontaneousEvent(popupEvent, &e);
#endif
}
if (releaseAfter) {
@ -310,10 +312,12 @@ void QWidgetWindow::handleMouseEvent(QMouseEvent *event)
QApplicationPrivate::sendMouseEvent(receiver, &translated, widget, m_widget, &qt_button_down,
qt_last_mouse_receiver);
#ifndef QT_NO_CONTEXTMENU
if (event->type() == QEvent::MouseButtonPress && event->button() == Qt::RightButton) {
QContextMenuEvent e(QContextMenuEvent::Mouse, mapped, event->globalPos(), event->modifiers());
QGuiApplication::sendSpontaneousEvent(receiver, &e);
}
#endif
}
void QWidgetWindow::handleTouchEvent(QTouchEvent *event)

View File

@ -213,8 +213,10 @@ QRect QSystemTrayIconSys::globalGeometry() const
void QSystemTrayIconSys::mousePressEvent(QMouseEvent *ev)
{
QPoint globalPos = ev->globalPos();
#ifndef QT_NO_CONTEXTMENU
if (ev->button() == Qt::RightButton && q->contextMenu())
q->contextMenu()->popup(globalPos);
#endif
if (QBalloonTip::isBalloonVisible()) {
emit q->messageClicked();