diff -r 91746b151f97 -r 997690c3397a bluetoothengine/btnotif/btdevicedialogplugin/src/btdevicedialognotifwidget.cpp --- a/bluetoothengine/btnotif/btdevicedialogplugin/src/btdevicedialognotifwidget.cpp Fri Jun 11 13:48:51 2010 +0300 +++ b/bluetoothengine/btnotif/btdevicedialogplugin/src/btdevicedialognotifwidget.cpp Wed Jun 23 18:23:52 2010 +0300 @@ -22,7 +22,7 @@ #include #include #include "btdevicedialogpluginerrors.h" - +#include /*! class Constructor */ @@ -32,12 +32,23 @@ // set properties mLastError = NoError; mShowEventReceived = false; + mNotificationDialog = new HbNotificationDialog(); resetProperties(); - constructQueryDialog(parameters); + constructNotifDialog(parameters); TRACE_EXIT } /*! + class Constructor + */ +BtDeviceDialogNotifWidget::~BtDeviceDialogNotifWidget() +{ + TRACE_ENTRY + delete mNotificationDialog; + return; +} + +/*! Set parameters, implementation of interface Invoked when HbDeviceDialog::update calls. */ @@ -70,8 +81,8 @@ Q_UNUSED(byClient); // Closed by client or internally by server -> no action to be transmitted. mSendAction = false; - close(); - // If show event has been received, close is signalled from hide event. If not, + mNotificationDialog->close(); + // If show event has been received, close is signalled from hide event. If not, // hide event does not come and close is signalled from here. if (!mShowEventReceived) { emit deviceDialogClosed(); @@ -82,22 +93,27 @@ /*! Return display widget, implementation of interface */ -HbDialog *BtDeviceDialogNotifWidget::deviceDialogWidget() const +HbPopup *BtDeviceDialogNotifWidget::deviceDialogWidget() const { TRACE_ENTRY TRACE_EXIT + return mNotificationDialog; +} + +QObject* BtDeviceDialogNotifWidget::signalSender() const + { return const_cast(this); -} + } /*! Construct display widget */ -bool BtDeviceDialogNotifWidget::constructQueryDialog(const QVariantMap ¶meters) +bool BtDeviceDialogNotifWidget::constructNotifDialog(const QVariantMap ¶meters) { TRACE_ENTRY // analyze the parameters to compose the properties of the message box widget processParam(parameters); - + connect(mNotificationDialog, SIGNAL(finished(HbAction*)), this, SLOT(NotifClosed(HbAction*))); TRACE_EXIT return true; } @@ -108,7 +124,8 @@ void BtDeviceDialogNotifWidget::processParam(const QVariantMap ¶meters) { TRACE_ENTRY - QString keyStr, prompt; + QString keyStr, prompt,title; + QVariant classOfDevice; keyStr.setNum( TBluetoothDialogParams::EResource ); // Validate if the resource item exists. QVariantMap::const_iterator i = parameters.constFind( keyStr ); @@ -117,32 +134,41 @@ mLastError = UnknownDeviceDialogError; return; } - + HbIcon icon; QVariant param = parameters.value( keyStr ); int key = param.toInt(); switch ( key ) { - // Note dialogs case EPairingSuccess: - prompt = QString( tr( "Pairing with %1 complete" ) ); + title = QString(hbTrId( "txt_bt_dpophead_paired" )); + prompt = QString( hbTrId( "txt_bt_dpopinfo_paired_to_1" ) ); + classOfDevice = parameters.value(QString::number( TBluetoothDeviceDialog::EDeviceClass )); + icon = getBadgedDeviceTypeIcon(classOfDevice.toInt()); + mNotificationDialog->setIcon(icon); break; - case EPairingFailure: - prompt = QString( tr( "Unable to pair with %1" ) ); - break; + // todo: remove this Unpaired notification if not used + case EUnpairedDevice: + title = QString(hbTrId( "txt_bt_dpophead_unpaired" )); + prompt = QString( hbTrId( "txt_bt_dpopinfo_with_1" ) ); + classOfDevice = parameters.value(QString::number( TBluetoothDeviceDialog::EDeviceClass )); + icon = getBadgedDeviceTypeIcon(classOfDevice.toInt()); + mNotificationDialog->setIcon(icon); + break; case EVisibilityTimeout: - prompt = QString( tr( "Phone is not detectable in searches made by other devices" ) ); + title = QString(hbTrId( "txt_bt_dpophead_bluetooth" )); + prompt = QString( hbTrId( "txt_bt_dpopinfo_is_now_hidden" ) ); + mNotificationDialog->setIcon(HbIcon("qtg_large_bluetooth")); break; default: mLastError = ParameterError; break; } - // Could use QChar with ReplacementCharacter? int repls = prompt.count( QString( "%" ) ); if ( repls > 0 ) { QVariant name = parameters.value( QString::number( TBluetoothDeviceDialog::EDeviceName ) ); prompt = prompt.arg( name.toString() ); } - // set property value to this dialog widget - HbNotificationDialog::setTitle( prompt ); + mNotificationDialog->setTitle( title ); + mNotificationDialog->setText( prompt ); TRACE_EXIT } @@ -157,20 +183,10 @@ return; } -/*! - Widget is about to hide. Closing effect has ended. - */ -void BtDeviceDialogNotifWidget::hideEvent(QHideEvent *event) +void BtDeviceDialogNotifWidget::NotifClosed(HbAction *action) { - HbNotificationDialog::hideEvent(event); + Q_UNUSED(action); emit deviceDialogClosed(); + mSendAction = false; } -/*! - Widget is about to show - */ -void BtDeviceDialogNotifWidget::showEvent(QShowEvent *event) -{ - HbNotificationDialog::showEvent(event); - mShowEventReceived = true; -}