diff -r b72c6db6890b -r 5dc02b23752f tools/qdbus/qdbusviewer/qdbusmodel.cpp --- a/tools/qdbus/qdbusviewer/qdbusmodel.cpp Wed Jun 23 19:07:03 2010 +0300 +++ b/tools/qdbus/qdbusviewer/qdbusmodel.cpp Tue Jul 06 15:10:48 2010 +0300 @@ -75,6 +75,7 @@ bool isPrefetched; QString name; QString caption; + QString typeSignature; }; QDomDocument QDBusModel::introspect(const QString &path) @@ -118,6 +119,13 @@ item = new QDBusItem(QDBusModel::MethodItem, child.attribute(QLatin1String("name")), parent); item->caption = QLatin1String("Method: ") + item->name; + //get "type" from where "direction" is "in" + QDomElement n = child.firstChildElement(); + while (!n.isNull()) { + if (n.attribute(QLatin1String("direction")) == QLatin1String("in")) + item->typeSignature += n.attribute(QLatin1String("type")); + n = n.nextSiblingElement(); + } } else if (child.tagName() == QLatin1String("signal")) { item = new QDBusItem(QDBusModel::SignalItem, child.attribute(QLatin1String("name")), parent); @@ -298,6 +306,12 @@ return item ? item->name : QString(); } +QString QDBusModel::dBusTypeSignature(const QModelIndex &index) const +{ + QDBusItem *item = static_cast(index.internalPointer()); + return item ? item->typeSignature : QString(); +} + QModelIndex QDBusModel::findObject(const QDBusObjectPath &objectPath) { QStringList path = objectPath.path().split(QLatin1Char('/'), QString::SkipEmptyParts);