From 00bd7d43ec3b7af1e5d4534fa74e1cf6e004bd56 Mon Sep 17 00:00:00 2001 From: Renato Araujo Oliveira Filho Date: Mon, 14 Jan 2013 10:01:57 -0300 Subject: Used 'invokeMethod' to call slot, to make the code simple. --- libqmenumodel/src/menunode.cpp | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'libqmenumodel/src') diff --git a/libqmenumodel/src/menunode.cpp b/libqmenumodel/src/menunode.cpp index 3d8c5fd..69b0169 100644 --- a/libqmenumodel/src/menunode.cpp +++ b/libqmenumodel/src/menunode.cpp @@ -242,19 +242,15 @@ void MenuNode::onItemsChanged(GMenuModel *model, gint position, gint removed, gi self->m_currentOpAdded = added; self->m_currentOpRemoved = removed; - if (self->m_listener) { - const QMetaObject *mobj = self->m_listener->metaObject(); - int slotIndex = mobj->indexOfSlot(QMetaObject::normalizedSignature("onItemsChanged(MenuNode*, int, int, int)")); - if (slotIndex > -1) { - QMetaMethod slot = mobj->method(slotIndex); - slot.invoke(self->m_listener, - Q_ARG(MenuNode*, self), - Q_ARG(int, position), - Q_ARG(int, removed), - Q_ARG(int, added)); - } else { - qWarning() << "Slot 'onItemsChanged(MenuNode*, int, int, int)' not found in" << self->m_listener; - } + const QMetaObject *mobj = self->m_listener->metaObject(); + if (!mobj->invokeMethod(self->m_listener, + "onItemsChanged(MenuNode*, int, int, int)", + Q_ARG(MenuNode*, self), + Q_ARG(int, position), + Q_ARG(int, removed), + Q_ARG(int, added))) + { + qWarning() << "Slot 'onItemsChanged(MenuNode*, int, int, int)' not found in" << self->m_listener; } self->commitOperation(); } -- cgit v1.2.3