diff -r 0ba996a9b75d -r 613943a21004 bluetoothengine/btnotif/btdevicedialogplugin/src/btdevicedialogrecvquerywidget.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetoothengine/btnotif/btdevicedialogplugin/src/btdevicedialogrecvquerywidget.cpp Tue Aug 31 15:25:10 2010 +0300 @@ -0,0 +1,160 @@ +/* +* Copyright (c) 2010 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: BtDeviceDialogWidget class declaration. +* +*/ + + +#include "btdevicedialogrecvquerywidget.h" +#include "bluetoothdevicedialogs.h" +#include + +const char* DOCML_BT_RECV_QUERY_DIALOG = ":/docml/bt-receive-auth-dialog.docml"; + + +BTRecvQueryDialogWidget::BTRecvQueryDialogWidget(const QVariantMap ¶meters) +{ + mLoader = 0; + constructDialog(parameters); +} + +BTRecvQueryDialogWidget::~BTRecvQueryDialogWidget() +{ + if(mLoader) + { + delete mLoader; + mLoader = NULL; + } +} + +bool BTRecvQueryDialogWidget::setDeviceDialogParameters(const QVariantMap ¶meters) +{ + Q_UNUSED(parameters); + return true; +} + +int BTRecvQueryDialogWidget::deviceDialogError() const +{ + return 0; +} + +void BTRecvQueryDialogWidget::closeDeviceDialog(bool byClient) +{ + Q_UNUSED(byClient); + mDialog->close(); +} + +HbPopup* BTRecvQueryDialogWidget::deviceDialogWidget() const +{ + return mDialog; +} + +QObject* BTRecvQueryDialogWidget::signalSender() const +{ + return const_cast(this); +} + +bool BTRecvQueryDialogWidget::constructDialog(const QVariantMap ¶meters) +{ + mLoader = new HbDocumentLoader(); + bool ok = false; + + mLoader->load(DOCML_BT_RECV_QUERY_DIALOG, &ok); + if(ok) + { + mDialog = qobject_cast(mLoader->findWidget("senddialog")); + mHeading = qobject_cast(mLoader->findWidget("heading")); + + mDeviceName = qobject_cast(mLoader->findWidget("deviceName")); + mDeviceType = qobject_cast(mLoader->findWidget("deviceType")); + mDeviceIcon = qobject_cast(mLoader->findWidget("deviceIcon")); + + int classOfDevice = parameters.value(QString::number(TBluetoothDeviceDialog::EDeviceClass)).toDouble(); + HbIcon icon = getBadgedDeviceTypeIcon(classOfDevice); + mDeviceIcon->setIcon(icon); + + mDeviceName->setPlainText(parameters.value(QString::number(TBluetoothDeviceDialog::EDeviceName)).toString()); + mDeviceType->setPlainText(getDeviceTypeString(classOfDevice)); + + mYes = qobject_cast(mLoader->findObject("yesaction")); + mNo = qobject_cast(mLoader->findObject("noaction")); + + mCheckBox = qobject_cast(mLoader->findWidget("checkbox")); + + int dialogType = parameters.value(QString::number(TBluetoothDialogParams::EDialogTitle)).toInt(); + switch(dialogType) + { + case TBluetoothDialogParams::EReceive: + { + mHeading->setPlainText(hbTrId("txt_bt_title_receive_messages_from")); + }break; + + case TBluetoothDialogParams::EReceiveFromPairedDevice: + { + mHeading->setPlainText(hbTrId("txt_bt_title_receive_messages_from_paired_device")); + mCheckBox->setCheckState(Qt::Checked); + }break; + + case TBluetoothDialogParams::EConnect: + { + mHeading->setPlainText(hbTrId("txt_bt_title_connect_to")); + mCheckBox->setCheckState(Qt::Checked); + }break; + case TBluetoothDialogParams::EPairingRequest: + mHeading->setPlainText(hbTrId("txt_bt_title_pair_with")); + mCheckBox->setCheckState(Qt::Checked); + break; + default: + break; + + } + mDialog->setHeadingWidget(mHeading); + } + + mDialog->setBackgroundFaded(false); + mDialog->setDismissPolicy(HbPopup::NoDismiss); + mDialog->setTimeout(HbPopup::NoTimeout); + + connect(mYes, SIGNAL(triggered()), this, SLOT(yesClicked())); + connect(mNo, SIGNAL(triggered()), this, SLOT(noClicked())); + connect(mCheckBox, SIGNAL(clicked(bool)), this, SLOT(checkBoxStateChanged(bool))); + + return true; +} + +void BTRecvQueryDialogWidget::yesClicked() +{ + QVariantMap data; + data.insert(QString("actionResult"), QVariant(true)); + emit deviceDialogData(data); + emit deviceDialogClosed(); +} + +void BTRecvQueryDialogWidget::noClicked() +{ + QVariantMap data; + data.insert(QString("actionResult"), QVariant(false)); + emit deviceDialogData(data); + emit deviceDialogClosed(); +} + +void BTRecvQueryDialogWidget::checkBoxStateChanged(bool checked) +{ + QVariantMap data; + data.insert(QString("checkBoxState"), QVariant(checked)); + emit deviceDialogData(data); +} + + +