diff -r b0aebde9b1fb -r 9e2a905b887f bluetoothengine/btnotif/btdevicedialogplugin/src/btmoredevicesdialogwidget.cpp --- a/bluetoothengine/btnotif/btdevicedialogplugin/src/btmoredevicesdialogwidget.cpp Mon Jul 12 19:25:26 2010 +0300 +++ b/bluetoothengine/btnotif/btdevicedialogplugin/src/btmoredevicesdialogwidget.cpp Fri Jul 23 15:57:13 2010 +0300 @@ -15,14 +15,17 @@ * */ - +#include "btmoredevicesdialogwidget.h" #include #include #include #include #include #include -#include "btmoredevicesdialogwidget.h" +#include +#include +#include + const char* DOCML_BT_MORE_DEV_DIALOG = ":/docml/bt-more-devices-dialog.docml"; @@ -55,21 +58,46 @@ bool BTMoreDevicesDialogWidget::setDeviceDialogParameters(const QVariantMap ¶meters) { - QStandardItem* listitem = new QStandardItem(); - QStringList info; - // info.append(parameters.value("deviceName").toString()); - //info.append(parameters.value("deviceType").toString()); - info.append(parameters.value(parameters.keys().at(0)).toString()); + double cod = parameters.value(QString::number(TBluetoothDeviceDialog::EDeviceClass)).toDouble(); + int uiMajorDevice; + int uiMinorDevice; + + BtuiDevProperty::mapDeiveType(uiMajorDevice, uiMinorDevice, cod); + if ((uiMajorDevice & BtuiDevProperty::Phone)||(uiMajorDevice & BtuiDevProperty::Computer) ) + { + BtSendDataItem devData; + devData[NameAliasRole] = QVariant(parameters.value(QString::number(TBluetoothDeviceDialog::EDeviceName)).toString()); + devData[ReadableBdaddrRole] = QVariant(parameters.value(QString::number(TBluetoothDialogParams::EAddress)).toString()); + devData[CoDRole] = QVariant(cod); + + setMajorProperty(devData,BtuiDevProperty::Bonded, + parameters.value("Bonded").toBool()); + setMajorProperty(devData,BtuiDevProperty::Blocked, + parameters.value("Blocked").toBool()); + setMajorProperty(devData,BtuiDevProperty::Trusted, + parameters.value("Trusted").toBool()); + setMajorProperty(devData,BtuiDevProperty::Connected, + parameters.value("Connected").toBool()); + mData.append(devData); + + QStandardItem* listitem = new QStandardItem(); + QStringList info; + info.append(devData[NameAliasRole].toString()); + + listitem->setData(info, Qt::DisplayRole); + HbIcon icon = getBadgedDeviceTypeIcon(devData[CoDRole].toDouble(), + devData[MajorPropertyRole].toInt(), + BtuiBottomLeft | BtuiBottomRight | BtuiTopLeft | BtuiTopRight); + listitem->setIcon(icon.qicon()); + // listitem->setIcon(icon(parameters.value("deviceType").toString())); + + mContentItemModel->appendRow(listitem); + } + return true; + } - listitem->setData(info, Qt::DisplayRole); - listitem->setIcon(icon()); - // listitem->setIcon(icon(parameters.value("deviceType").toString())); - - mContentItemModel->appendRow(listitem); - return true; - } int BTMoreDevicesDialogWidget::deviceDialogError() const { @@ -213,8 +241,12 @@ { int row = modelIndex.row(); QVariantMap val; - QVariant index(row); - val.insert("selectedindex",index); +// QVariant index(row); + const BtSendDataItem& qtdev = mData.at(row); + val.insert("selectedindex",QVariant(row)); + val.insert("devicename",QVariant(qtdev[NameAliasRole])); + val.insert("deviceaddress",QVariant(qtdev[ReadableBdaddrRole])); + val.insert("deviceclass",QVariant(qtdev[CoDRole])); emit deviceDialogData(val); // mDeviceDialogData = 1;//flag is to say that device dialog data is emitted required when we cancel the dialog // this->close();