diff -r b0aebde9b1fb -r 9e2a905b887f bluetoothengine/btui/btcpplugin/btcpuimainview.cpp --- a/bluetoothengine/btui/btcpplugin/btcpuimainview.cpp Mon Jul 12 19:25:26 2010 +0300 +++ b/bluetoothengine/btui/btcpplugin/btcpuimainview.cpp Fri Jul 23 15:57:13 2010 +0300 @@ -34,6 +34,7 @@ #include #include #include +#include #include "btcpuisearchview.h" #include "btcpuideviceview.h" #include @@ -144,24 +145,23 @@ ret = connect(mPairAction, SIGNAL(triggered()), this, SLOT(pairActionTriggered())); BTUI_ASSERT_X( ret, "bt-main-view", "pair action can't connect" ); - mGroupBox = qobject_cast( mLoader->findWidget( "groupBox" ) ); - BTUI_ASSERT_X( mGroupBox != 0, "bt-main-view", "Group Box not found" ); + mDataForm = qobject_cast( mLoader->findWidget( "dataForm" ) ); + BTUI_ASSERT_X( mDataForm != 0, "bt-main-view", "dataForm not found" ); - //*********************Testing device view START****************************// - HbAction *removePairedDevices = static_cast( mLoader->findObject( "removePairedDevices" ) ); - BTUI_ASSERT_X( removePairedDevices, "bt-main-view", "remove action missing" ); - //ret = connect(removePairedDevices, SIGNAL(triggered()), this, SLOT(goToDeviceView())); - //BTUI_ASSERT_X( ret, "bt-main-view", "orientation toggle can't connect" ); - - - - //*********************Testing device view END****************************// // load menu HbMenu *optionsMenu = qobject_cast(mLoader->findWidget("viewMenu")); BTUI_ASSERT_X( optionsMenu != 0, "bt-main-view", "Options menu not found" ); this->setMenu(optionsMenu); + HbMenu *menu = this->menu(); + mRemovePairedDevices = menu->addAction(hbTrId("txt_bt_opt_remove_paired_devices")); + + mSubMenu = new HbMenu(hbTrId("txt_bt_opt_remove")); + mSubMenu->addAction(hbTrId("txt_bt_opt_remove_sub_all_devices")); + mSubMenu->addAction(hbTrId("txt_bt_opt_remove_sub_paired_devices")); + mSubMenu->addAction(hbTrId("txt_bt_opt_remove_sub_blocked_devices")); + // update display when setting data changed ret = connect(mSettingModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(updateSettingItems(QModelIndex,QModelIndex))); @@ -183,14 +183,13 @@ mMainFilterModel = new BtuiModelSortFilter(this); mMainFilterModel->setSourceModel( mDeviceModel ); + mDeviceList->setModel(mMainFilterModel); updateDeviceListFilter(BtuiPaired); // List view item BtCpUiMainListViewItem *prototype = new BtCpUiMainListViewItem(mDeviceList); prototype->setModelSortFilter(mMainFilterModel); mDeviceList->setItemPrototype(prototype); - mDeviceList->setModel(mMainFilterModel); - } /*! @@ -204,6 +203,7 @@ if (mAbstractDelegate) { delete mAbstractDelegate; } + } /*! @@ -214,6 +214,9 @@ Q_UNUSED(value); Q_UNUSED(fromBackButton); + //Reset the device list when returning to the view, as it may have been invalidated by the device view + mMainFilterModel->setSourceModel( mDeviceModel ); + mDeviceList->setModel(mMainFilterModel); } /*! @@ -321,11 +324,18 @@ void BtCpUiMainView::allActionTriggered() { + HbMenu *menu = this->menu(); + menu->removeAction(mRemovePairedDevices); + mRemoveDevices = menu->addMenu( mSubMenu ); + updateDeviceListFilter(BtuiAll); } void BtCpUiMainView::pairActionTriggered() { + HbMenu *menu = this->menu(); + menu->removeAction(mRemoveDevices); + mRemovePairedDevices = menu->addAction(hbTrId("txt_bt_opt_remove_paired_devices")); updateDeviceListFilter(BtuiPaired); } @@ -335,7 +345,7 @@ switch (filter) { case BtuiAll: - mGroupBox->setHeading(hbTrId("txt_bt_subhead_bluetooth_all_devices")); + mDataForm->setHeading(hbTrId("txt_bt_subhead_bluetooth_all_devices")); mPairAction->setEnabled(true); mAllAction->setEnabled(false); mMainFilterModel->addDeviceMajorFilter( @@ -344,7 +354,7 @@ break; case BtuiPaired: - mGroupBox->setHeading(hbTrId("txt_bt_subhead_bluetooth_paired_devices")); + mDataForm->setHeading(hbTrId("txt_bt_subhead_bluetooth_paired_devices")); mPairAction->setEnabled(false); mAllAction->setEnabled(true); mMainFilterModel->addDeviceMajorFilter(