diff -r 0b2439c3e397 -r 4545c04e61e1 bluetoothengine/btnotif/btdevicedialogplugin/src/btmoredevicesdialogwidget.cpp --- a/bluetoothengine/btnotif/btdevicedialogplugin/src/btmoredevicesdialogwidget.cpp Tue Jul 06 14:27:09 2010 +0300 +++ b/bluetoothengine/btnotif/btdevicedialogplugin/src/btmoredevicesdialogwidget.cpp Wed Aug 18 09:59:05 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();