From dac23b9a5700d3736cfb1aa2dccb1643f1122827 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Sun, 22 Apr 2012 22:44:58 +0200 Subject: Add QMetaMethod::fromSignal() function Given a member function that's a signal, returns the corresponding QMetaMethod. Inspired by the implementation of the template-based QObject::connect(). The primary use case for this function is to have an effective and exact (not subject to shadowing) way of checking whether a known signal was connected to in reimplementations of QObject::connectNotify(QMetaMethod), avoiding string comparisons. Example: void MyObject::connectNotify(const QMetaMethod &signal) { if (signal == QMetaMethod::fromSignal(&MyObject::mySignal)) { // Someone connected to mySignal ... } } Change-Id: I5e4de434275fe543c004d569dcaa9ceda3442f03 Reviewed-by: Olivier Goffart Reviewed-by: Bradley T. Hughes --- src/corelib/doc/snippets/code/src_corelib_kernel_qmetaobject.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/corelib/doc/snippets/code/src_corelib_kernel_qmetaobject.cpp') diff --git a/src/corelib/doc/snippets/code/src_corelib_kernel_qmetaobject.cpp b/src/corelib/doc/snippets/code/src_corelib_kernel_qmetaobject.cpp index 7c0c2c2122..528fdbd329 100644 --- a/src/corelib/doc/snippets/code/src_corelib_kernel_qmetaobject.cpp +++ b/src/corelib/doc/snippets/code/src_corelib_kernel_qmetaobject.cpp @@ -133,4 +133,8 @@ method.invoke(obj, Q_ARG(double, 9.7)); //! [8] +//! [9] +QMetaMethod destroyedSignal = QMetaMethod::fromSignal(&QObject::destroyed); +//! [9] + } -- cgit v1.2.3