Ignore:
Timestamp:
Aug 2, 2010, 9:27:30 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.3 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/gui/graphicsview/qgraphicsproxywidget.cpp

    r651 r769  
    190190
    191191extern bool qt_sendSpontaneousEvent(QObject *, QEvent *);
    192 extern bool qt_tab_all_widgets;
     192Q_GUI_EXPORT extern bool qt_tab_all_widgets;
    193193
    194194/*!
     
    898898        break;
    899899    }
     900#ifndef QT_NO_TOOLTIP
     901    case QEvent::GraphicsSceneHelp: {
     902        // Propagate the help event (for tooltip) to the widget under mouse
     903        if (d->lastWidgetUnderMouse) {
     904            QGraphicsSceneHelpEvent *he = static_cast<QGraphicsSceneHelpEvent *>(event);
     905            QPoint pos = d->mapToReceiver(mapFromScene(he->scenePos()), d->lastWidgetUnderMouse).toPoint();
     906            QHelpEvent e(QEvent::ToolTip, pos, he->screenPos());
     907            QApplication::sendEvent(d->lastWidgetUnderMouse, &e);
     908            event->setAccepted(e.isAccepted());
     909            return e.isAccepted();
     910        }
     911        break;
     912    }
     913    case QEvent::ToolTipChange: {
     914        // Propagate tooltip change to the widget
     915        if (!d->tooltipChangeMode) {
     916            d->tooltipChangeMode = QGraphicsProxyWidgetPrivate::ProxyToWidgetMode;
     917            d->widget->setToolTip(toolTip());
     918            d->tooltipChangeMode = QGraphicsProxyWidgetPrivate::NoMode;
     919        }
     920        break;
     921    }
     922#endif
    900923    default:
    901924        break;
     
    953976            }
    954977            break;
     978        case QEvent::ToolTipChange:
     979            // Propagate tooltip change to the proxy.
     980            if (!d->tooltipChangeMode) {
     981                d->tooltipChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode;
     982                setToolTip(d->widget->toolTip());
     983                d->tooltipChangeMode = QGraphicsProxyWidgetPrivate::NoMode;
     984            }
     985            break;
    955986        default:
    956987            break;
     
    13161347    }
    13171348
     1349    d->proxyIsGivingFocus = true;
     1350
    13181351    switch (event->reason()) {
    13191352    case Qt::TabFocusReason: {
     
    13291362        if (d->widget && d->widget->focusWidget()) {
    13301363            d->widget->focusWidget()->setFocus(event->reason());
    1331             return;
    1332         }
    1333         break;
    1334     }
     1364        }
     1365        break;
     1366    }
     1367
     1368    d->proxyIsGivingFocus = false;
    13351369}
    13361370
     
    14331467
    14341468    // Filter out repaints on the window frame.
    1435     const QRect exposedWidgetRect = (option->exposedRect & rect()).toRect();
     1469    const QRect exposedWidgetRect = (option->exposedRect & rect()).toAlignedRect();
    14361470    if (exposedWidgetRect.isEmpty())
    14371471        return;
Note: See TracChangeset for help on using the changeset viewer.