CInputFilter::EFilterStatus CInputFilter::CModifierAction::perform( CEvent&, void*, EActionMode actionMode) { EActionState newState = switchMode(actionMode); if (newState == kStateOn) { setModifierMask(m_modifiers); } else if (newState == kStateOff) { setModifierMask(0); } else { return kNotHandled; } setState(newState); // FIXME. set proper key event, so updateModifiers will get called from // within sendEvent automatically return kUpdateModifiers; }
int QKeyEventTransition::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QEventTransition::qt_metacall(_c, _id, _a); if (_id < 0) return _id; #ifndef QT_NO_PROPERTIES if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< int*>(_v) = key(); break; case 1: *reinterpret_cast< Qt::KeyboardModifiers*>(_v) = modifierMask(); break; } _id -= 2; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setKey(*reinterpret_cast< int*>(_v)); break; case 1: setModifierMask(*reinterpret_cast< Qt::KeyboardModifiers*>(_v)); break; } _id -= 2; } else if (_c == QMetaObject::ResetProperty) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 2; } #endif // QT_NO_PROPERTIES return _id; }