From 0085b442847e02564e49b339cd2e78eb70489c86 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 24 Aug 2009 16:15:38 +1000 Subject: Fix onFooPressed key handlers. --- src/declarative/fx/qfxitem.cpp | 17 +++++------------ src/declarative/fx/qfxmouseregion_p.h | 11 ++--------- 2 files changed, 7 insertions(+), 21 deletions(-) diff --git a/src/declarative/fx/qfxitem.cpp b/src/declarative/fx/qfxitem.cpp index d78e096..feb4e8c 100644 --- a/src/declarative/fx/qfxitem.cpp +++ b/src/declarative/fx/qfxitem.cpp @@ -611,7 +611,7 @@ class QFxKeysAttachedPrivate : public QObjectPrivate public: QFxKeysAttachedPrivate() : QObjectPrivate(), enabled(true) {} - bool isConnected(int idx); + bool isConnected(const char *signalName); bool enabled; }; @@ -740,16 +740,9 @@ const QFxKeysAttached::SigMap QFxKeysAttached::sigMap[] = { QHash QFxKeysAttached::attachedProperties; -bool QFxKeysAttachedPrivate::isConnected(int idx) +bool QFxKeysAttachedPrivate::isConnected(const char *signalName) { - if (idx < 32) { - quint32 mask = 1 << idx; - return connectedSignals[0] & mask; - } else if (idx < 64) { - quint32 mask = 1 << (idx-32); - return connectedSignals[1] & mask; - } - return false; + return isSignalConnected(signalIndex(signalName)); } QFxKeysAttached::QFxKeysAttached(QObject *parent) @@ -777,10 +770,10 @@ void QFxKeysAttached::keyPressed(QKeyEvent *event) QByteArray keySignal = keyToSignal(event->key()); if (!keySignal.isEmpty()) { keySignal += "(QFxKeyEvent*)"; - int idx = QFxKeysAttached::staticMetaObject.indexOfSignal(keySignal); - if (d->isConnected(idx)) { + if (d->isConnected(keySignal)) { // If we specifically handle a key then default to accepted ke.setAccepted(true); + int idx = QFxKeysAttached::staticMetaObject.indexOfSignal(keySignal); metaObject()->method(idx).invoke(this, Q_ARG(QFxKeysAttached, &ke)); } } diff --git a/src/declarative/fx/qfxmouseregion_p.h b/src/declarative/fx/qfxmouseregion_p.h index 70df8d1..caed2ab 100644 --- a/src/declarative/fx/qfxmouseregion_p.h +++ b/src/declarative/fx/qfxmouseregion_p.h @@ -85,15 +85,8 @@ public: bool isConnected(const char *signal) { Q_Q(QFxMouseRegion); - int idx = QFxMouseRegion::staticMetaObject.indexOfSignal(signal); - if (idx < 32) { - quint32 mask = 1 << idx; - return QObjectPrivate::get(q)->connectedSignals[0] & mask; - } else if (idx < 64) { - quint32 mask = 1 << (idx-32); - return QObjectPrivate::get(q)->connectedSignals[1] & mask; - } - return false; + int idx = QObjectPrivate::get(q)->signalIndex(signal); + return QObjectPrivate::get(q)->isSignalConnected(idx); } bool absorb : 1; -- cgit v0.12