summaryrefslogtreecommitdiffstats
path: root/src/qdbus
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@nokia.com>2012-05-21 18:20:45 +0200
committerQt by Nokia <qt-info@nokia.com>2012-05-24 10:50:49 +0200
commitd2a460d35d6dbcdf3ea87bd116769780650e6e64 (patch)
treef8f620311c07e0882b5e38d6229ac1316ff24680 /src/qdbus
parentcbc05ab5c065feca768b6059fb3d758c895e860b (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.cpp2
-rw-r--r--src/qdbus/qdbusviewer/propertydialog.cpp6
-rw-r--r--src/qdbus/qdbusviewer/propertydialog.h2
-rw-r--r--src/qdbus/qdbusviewer/qdbusviewer.cpp6
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()) {