--- a/bluetoothengine/btnotif/btdevicedialogplugin/src/btmoredevicesdialogwidget.cpp Tue Aug 31 15:25:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,296 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "btmoredevicesdialogwidget.h"
-#include <hblabel.h>
-#include <hblistview.h>
-#include <hbtoolbar.h>
-#include <hbpushbutton.h>
-#include <hblistwidget.h>
-#include <qstandarditemmodel.h>
-#include <btuidevtypemap.h>
-#include <btuiiconutil.h>
-#include <bluetoothdevicedialogs.h>
-
-
-
-const char* DOCML_BT_MORE_DEV_DIALOG = ":/docml/bt-more-devices-dialog.docml";
-
-
-BTMoreDevicesDialogWidget::BTMoreDevicesDialogWidget(const QVariantMap ¶meters)
- {
- mDeviceDialogData = 0;
- mLoader = 0;
- mContentItemModel = 0;
- constructDialog(parameters);
-/* try
- {
- //May throws badAlloc on exception
- constructDialog(parameters);
- }
- catch(std::bad_alloc &badAlloc)
- {
- //Failure to allocate memory
- Q_UNUSED(badAlloc);
- // = UnknownDeviceDialogError;
- }*/
- }
-
-BTMoreDevicesDialogWidget::~BTMoreDevicesDialogWidget()
- {
- delete mLoader;
- delete mContentItemModel;
- }
-
-bool BTMoreDevicesDialogWidget::setDeviceDialogParameters(const QVariantMap ¶meters)
- {
- 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;
- }
-
-
-
-
-int BTMoreDevicesDialogWidget::deviceDialogError() const
- {
- return 0;
- }
-
-void BTMoreDevicesDialogWidget::closeDeviceDialog(bool byClient)
- {
- Q_UNUSED(byClient);
- // below code is required and written based on the documentation of closeDeviceDialog API
- mMoreDeviceDialog->close();
- QVariantMap val;
- QVariant index(-1);
- val.insert("selectedindex",index);
- emit deviceDialogData(val);
- //below signal is emitted to make dialog server aware that our dialog is closed
- emit deviceDialogClosed();
- }
-
-HbPopup* BTMoreDevicesDialogWidget::deviceDialogWidget() const
- {
- return mMoreDeviceDialog;
- }
-
-QObject* BTMoreDevicesDialogWidget::signalSender() const
- {
- return const_cast<BTMoreDevicesDialogWidget*>(this);
- }
-
-bool BTMoreDevicesDialogWidget::constructDialog(const QVariantMap &/*parameters*/)
- {
- mLoader = new HbDocumentLoader();
- bool ok = false;
-
- mLoader->load(DOCML_BT_MORE_DEV_DIALOG, &ok);
- if(ok)
- {
- mMoreDeviceDialog = qobject_cast<HbDialog*>(mLoader->findWidget("lastuseddialog"));
- mMoreDeviceDialog->setFrameType(HbDialog::Strong);
- mMoreDeviceDialog->setBackgroundFaded(false);
-/* HbLabel* label = qobject_cast<HbLabel*>(mLoader->findWidget("label"));
- if(label)
- {
- label->setTextWrapping(Hb::TextWordWrap);
- label->setPlainText("Send to:");
- }
- this->setHeadingWidget(label);*/
- // HbPushButton* moreDevices = qobject_cast<HbPushButton*>(mLoader->findWidget("moreDevices"));
- // HbPushButton* cancel = qobject_cast<HbPushButton*>(mLoader->findWidget("cancel"));
-
- HbListView* listView = qobject_cast<HbListView*>(mLoader->findWidget("listView"));
- listView->setSelectionMode(HbAbstractItemView::SingleSelection);
-
- mContentItemModel = new QStandardItemModel(this);
- listView->setModel(mContentItemModel);//, prototype);
-
- // QList<QVariant> values = parameters.values();
-
- /* for(int i=0;i < values.count();i++)
- {
- QStandardItem* listitem = new QStandardItem();
- // parameters.
- // QString string = values.at(i).toString();
-
- listitem->setData(values.at(i).toString(), Qt::DisplayRole);
- // listitem->setData(QString("search"), Qt::DisplayRole);
- //Todo - Insert icons based on the device class
- QIcon icon(QString(":/qgn_prop_sml_bt.svg"));
- listitem->setIcon(icon);
-
- mContentItemModel->appendRow(listitem);
- }*/
-
- connect(listView, SIGNAL(activated(QModelIndex)), this, SLOT(deviceSelected(QModelIndex)));
- // connect(moreDevices, SIGNAL(clicked()), this, SLOT(moreDevicesClicked()));
- // connect(cancel, SIGNAL(clicked()), this, SLOT(cancelClicked()));
- mMoreAction = static_cast<HbAction*>( mLoader->findObject( "moreaction" ) );
- mMoreAction->disconnect(mMoreDeviceDialog);
-
- mCancelAction = static_cast<HbAction*>( mLoader->findObject( "cancelaction" ) );
- mCancelAction->disconnect(mMoreDeviceDialog);
-// QGraphicsWidget *widget = mLoader->findWidget(QString("container"));
- // mMoreDeviceDialog->setContentWidget(widget);
-
- connect(mMoreAction, SIGNAL(triggered()), this, SLOT(moreDevicesClicked()));
- connect(mCancelAction, SIGNAL(triggered()), this, SLOT(cancelClicked()));
-
- }
-
-
- mMoreDeviceDialog->setBackgroundFaded(false);
- mMoreDeviceDialog->setDismissPolicy(HbPopup::NoDismiss);
- mMoreDeviceDialog->setTimeout(HbPopup::NoTimeout);
- mMoreDeviceDialog->setAttribute(Qt::WA_DeleteOnClose);
- return true;
- }
-
-/*void BTMoreDevicesDialogWidget::hideEvent(QHideEvent *event)
- {
- //HbDialog::hideEvent(event);
- mMoreDeviceDialog->hideEvent(event);
-// if(mDeviceDialogData == 0)
- {
- QVariantMap val;
- QVariant index(-1);
- val.insert("selectedindex",index);
- emit deviceDialogData(val);
- emit deviceDialogClosed();
- }*/
- //
- // }
-
-/*void BTMoreDevicesDialogWidget::showEvent(QShowEvent *event)
- {
- //HbDialog::showEvent(event);
- }*/
-
-void BTMoreDevicesDialogWidget::moreDevicesClicked()
- {
- QVariantMap val;
- QVariant index("MoreDevices");
- val.insert("MoreDevices",index);
- emit deviceDialogData(val);
- // mDeviceDialogData = 1;//flag is to say that device dialog data is emitted required when we cancel the dialog
- // this->close();
- // TODO
- }
-
-void BTMoreDevicesDialogWidget::cancelClicked()
- {
- // TODO
- mMoreDeviceDialog->close();
- QVariantMap val;
- QVariant index(-1);
- val.insert("selectedindex",index);
- emit deviceDialogData(val);
- emit deviceDialogClosed();
- }
-
-void BTMoreDevicesDialogWidget::deviceSelected(const QModelIndex& modelIndex)
- {
- int row = modelIndex.row();
- QVariantMap val;
-// 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();
-
- }
-
-QIcon BTMoreDevicesDialogWidget::icon(/*QString deviceType*/)
- {
- /* if(deviceType == "Audio")
- {
- return (QIcon(QString(":/qgn_prop_bt_audio.svg")));
- }
- else if(deviceType == "Car-kit")
- {
- return (QIcon(QString(":/qgn_prop_bt_car_kit.svg")));
- }
- else if(deviceType == "Computer")
- {
- return (QIcon(QString(":/qgn_prop_bt_computer.svg")));
- }
- else if(deviceType == "Headset")
- {
- return (QIcon(QString(":/qgn_prop_bt_headset.svg")));
- }
- else if(deviceType == "Keyboard")
- {
- return (QIcon(QString(":/qgn_prop_bt_keyboard.svg")));
- }
- else if(deviceType == "Mouse")
- {
- return (QIcon(QString(":/qgn_prop_bt_mouse.svg")));
- }
- else if(deviceType == "Phone")
- {
- return (QIcon(QString(":/qgn_prop_bt_phone.svg")));
- }
- else if(deviceType == "Printer")
- {
- return (QIcon(QString(":/qgn_prop_bt_printer.svg")));
- }
- else
- {
- return (QIcon(QString(":/qgn_prop_bt_unknown.svg")));
- }*/
- return QIcon(QString(":/icons/qtg_large_bluetooth.svg"));
- }
-