diff options
author | Jędrzej Nowacki <jedrzej.nowacki@nokia.com> | 2012-05-21 18:20:45 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-24 10:50:49 +0200 |
commit | d2a460d35d6dbcdf3ea87bd116769780650e6e64 (patch) | |
tree | f8f620311c07e0882b5e38d6229ac1316ff24680 /src/qdbus | |
parent | cbc05ab5c065feca768b6059fb3d758c895e860b (diff) |
Prefer QMetaType over QVariant during a type information query.
As a side effect the patch probably fix special case, when an interface
wants a variant and one of the parameters has to be converted. Before
QVariant::nameToType was returning only builtin types ids.
Change-Id: I473a9bcbd9249acf7c232492fa62c53de3ff5c71
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/qdbus')
-rw-r--r-- | src/qdbus/qdbus/qdbus.cpp | 2 | ||||
-rw-r--r-- | src/qdbus/qdbusviewer/propertydialog.cpp | 6 | ||||
-rw-r--r-- | src/qdbus/qdbusviewer/propertydialog.h | 2 | ||||
-rw-r--r-- | src/qdbus/qdbusviewer/qdbusviewer.cpp | 6 |
4 files changed, 8 insertions, 8 deletions
diff --git a/src/qdbus/qdbus/qdbus.cpp b/src/qdbus/qdbus/qdbus.cpp index 198f08b5a..b5fc37aa2 100644 --- a/src/qdbus/qdbus/qdbus.cpp +++ b/src/qdbus/qdbus/qdbus.cpp @@ -336,7 +336,7 @@ static int placeCall(const QString &service, const QString &path, const QString // UChar because it can't decide if it's a character or a number p = QVariant::fromValue<uchar>(p.toUInt()); } else if (id < int(QMetaType::User) && id != int(QVariant::Map)) { - p.convert(QVariant::Type(id)); + p.convert(id); if (p.type() == QVariant::Invalid) { fprintf(stderr, "Could not convert '%s' to type '%s'.\n", qPrintable(argument), types.at(i).constData()); diff --git a/src/qdbus/qdbusviewer/propertydialog.cpp b/src/qdbus/qdbusviewer/propertydialog.cpp index 15c4e8f94..0223de70a 100644 --- a/src/qdbus/qdbusviewer/propertydialog.cpp +++ b/src/qdbus/qdbusviewer/propertydialog.cpp @@ -73,7 +73,7 @@ void PropertyDialog::setInfo(const QString &caption) label->setText(caption); } -void PropertyDialog::addProperty(const QString &aname, QVariant::Type type) +void PropertyDialog::addProperty(const QString &aname, int type) { int rowCount = propertyTable->rowCount(); propertyTable->setRowCount(rowCount + 1); @@ -82,7 +82,7 @@ void PropertyDialog::addProperty(const QString &aname, QVariant::Type type) if (name.isEmpty()) name = QLatin1String("argument ") + QString::number(rowCount + 1); name += QLatin1String(" ("); - name += QLatin1String(QVariant::typeToName(type)); + name += QLatin1String(QMetaType::typeName(type)); name += QLatin1String(")"); QTableWidgetItem *nameItem = new QTableWidgetItem(name); nameItem->setFlags(nameItem->flags() & @@ -90,7 +90,7 @@ void PropertyDialog::addProperty(const QString &aname, QVariant::Type type) propertyTable->setItem(rowCount, 0, nameItem); QTableWidgetItem *valueItem = new QTableWidgetItem; - valueItem->setData(Qt::DisplayRole, QVariant(type)); + valueItem->setData(Qt::DisplayRole, QVariant(type, /* copy */ 0)); propertyTable->setItem(rowCount, 1, valueItem); } diff --git a/src/qdbus/qdbusviewer/propertydialog.h b/src/qdbus/qdbusviewer/propertydialog.h index d2ca035eb..e08e5c76a 100644 --- a/src/qdbus/qdbusviewer/propertydialog.h +++ b/src/qdbus/qdbusviewer/propertydialog.h @@ -53,7 +53,7 @@ class PropertyDialog: public QDialog public: explicit PropertyDialog(QWidget *parent = 0, Qt::WindowFlags f = 0); - void addProperty(const QString &name, QVariant::Type type); + void addProperty(const QString &name, int type); void setInfo(const QString &caption); QList<QVariant> values() const; diff --git a/src/qdbus/qdbusviewer/qdbusviewer.cpp b/src/qdbus/qdbusviewer/qdbusviewer.cpp index a80d4cf22..b8a6d2b68 100644 --- a/src/qdbus/qdbusviewer/qdbusviewer.cpp +++ b/src/qdbus/qdbusviewer/qdbusviewer.cpp @@ -243,7 +243,7 @@ static QString getDbusSignature(const QMetaMethod& method) // create a D-Bus type signature from QMetaMethod's parameters QString sig; for (int i = 0; i < method.parameterTypes().count(); ++i) { - QVariant::Type type = QVariant::nameToType(method.parameterTypes().at(i)); + int type = QMetaType::type(method.parameterTypes().at(i)); sig.append(QString::fromLatin1(QDBusMetaType::typeToSignature(type))); } return sig; @@ -280,9 +280,9 @@ void QDBusViewer::callMethod(const BusSignature &sig) if (paramType.endsWith('&')) continue; // ignore OUT parameters - QVariant::Type type = QVariant::nameToType(paramType); + int type = QMetaType::type(paramType); dialog.addProperty(QString::fromLatin1(paramNames.value(i)), type); - types.append(QMetaType::type(paramType)); + types.append(type); } if (!types.isEmpty()) { |