diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 25adee7cc7a..984624b58f8 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -3872,8 +3872,8 @@ void qDeleteInEventHandler(QObject *o) } /*! - \fn QMetaObject::Connection QObject::connect(const QObject *sender, (T::*signal)(...), const QObject *receiver, (T::*method)(...), Qt::ConnectionType type) - + \fn QMetaObject::Connection QObject::connect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) + \overload connect() \threadsafe Creates a connection of the given \a type from the \a signal in @@ -3929,18 +3929,14 @@ void qDeleteInEventHandler(QObject *o) \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 25 make sure to declare the argument type with Q_DECLARE_METATYPE - - A signal is emitted for every connection you make; - two signals are emitted for duplicate connections. - This overload does not support the type Qt::UniqueConnection */ /*! - \fn QMetaObject::Connection QObject::connect(const QObject *sender, (T::*signal)(...), Functor functor) + \fn QMetaObject::Connection QObject::connect(const QObject *sender, PointerToMemberFunction signal, Functor functor) \threadsafe - \overload + \overload connect() Creates a connection of the given \a type from the \a signal in the \a sender object to the \a functor and returns a handle to the connection @@ -4089,9 +4085,9 @@ bool QObject::disconnect(const QMetaObject::Connection &connection) return true; } -/*! \fn bool QObject::disconnect(const QObject *sender, (T::*signal)(...), const Qbject *receiver, (T::*method)(...)) +/*! \fn bool QObject::disconnect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) + \overload diconnect() \threadsafe - \overload Disconnects \a signal in object \a sender from \a method in object \a receiver. Returns true if the connection is successfully broken; @@ -4148,6 +4144,7 @@ bool QObject::disconnect(const QMetaObject::Connection &connection) \sa connect() */ + bool QObject::disconnectImpl(const QObject *sender, void **signal, const QObject *receiver, void **slot, const QMetaObject *senderMetaObject) { if (sender == 0 || (receiver == 0 && slot != 0)) { @@ -4209,7 +4206,7 @@ QMetaObject::Connection::~Connection() } /*! - \fn bool QMetaObject::Connection::operator bool() + \fn QMetaObject::Connection::operator bool() const Returns true if the connection is valid. diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index 9f096170716..59339da894d 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -199,8 +199,8 @@ public: const char *member, Qt::ConnectionType type = Qt::AutoConnection) const; #ifdef Q_QDOC - QMetaObject::Connection QObject::connect(const QObject *sender, (T::*signal)(...), const QObject *receiver, (T::*method)(...), Qt::ConnectionType type) - QMetaObject::Connection QObject::connect(const QObject *sender, (T::*signal)(...), Functor functor) + static QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type); + static QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor); #else //Connect a signal to a pointer to qobject member function template @@ -279,7 +279,7 @@ public: static bool disconnect(const QMetaObject::Connection &); #ifdef Q_QDOC - bool QObject::disconnect(const QObject *sender, (T::*signal)(...), const Qbject *receiver, (T::*method)(...)) + static bool disconnect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method); #else template static inline bool disconnect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h index 5588724d4c5..d391fb94ce8 100644 --- a/src/corelib/kernel/qobjectdefs.h +++ b/src/corelib/kernel/qobjectdefs.h @@ -462,7 +462,7 @@ public: Connection(); Connection(const Connection &other); Connection &operator=(const Connection &other); -#ifdef qdoc +#ifdef Q_QDOC operator bool() const; #else typedef void *Connection::*RestrictedBool;