Partly un-deprecate QMouseEvent::source()

We have deprecated the usage of Qt::MouseEventSource getter in
QMouseEvent::source() since 6.0. However, we have a lot of related
APIs, where the usage of this enum was not marked deprecated. Also we
have a lot of code in qtbase, qtdeclarative and some other modules
that rely on those values.
In most cases using QMouseEvent::source() is the only way to pass
the proper value to the other APIs.

This patch un-deprecates the method, so that we can safely identify
all of its usages in our code, and port away from it.

At the same time, we do not want the client code to use this method,
so documentation still mentions it as deprecated since 6.0.

Task-number: QTBUG-104857
Pick-to: 6.4 6.3 6.2
Change-Id: I767002aa6dc754fb5a58cf8fbf35774dae9986ed
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
bb10
Ivan Solovev 2022-07-14 15:01:03 +02:00
parent 4b9c738185
commit 929bb153ee
2 changed files with 5 additions and 3 deletions

View File

@ -743,6 +743,7 @@ QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPoin
Q_IMPL_EVENT_COMMON(QMouseEvent)
/*!
\fn Qt::MouseEventSource QMouseEvent::source() const
\since 5.3
\deprecated [6.0] Use pointingDevice() instead.
@ -771,12 +772,13 @@ Q_IMPL_EVENT_COMMON(QMouseEvent)
decide how to react to this event. But it's even better to react to the
original event rather than handling only mouse events.
*/
#if QT_DEPRECATED_SINCE(6, 0)
// Note: the docs mention 6.0 as a deprecation version. That is correct and
// intended, because we want our users to stop using it! Internally we will
// deprecate it when we port our code away from using it.
Qt::MouseEventSource QMouseEvent::source() const
{
return Qt::MouseEventSource(m_source);
}
#endif
/*!
\since 5.3

View File

@ -233,8 +233,8 @@ public:
QPointF windowPos() const { return scenePosition(); }
QT_DEPRECATED_VERSION_X_6_0("Use globalPosition()")
QPointF screenPos() const { return globalPosition(); }
Qt::MouseEventSource source() const;
#endif // QT_DEPRECATED_SINCE(6, 0)
Qt::MouseEventSource source() const;
Qt::MouseEventFlags flags() const;
};