diff -r 6bb1b21d2484 -r 2f8f8080a020 phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp Fri Apr 16 14:58:25 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp Mon May 03 12:31:11 2010 +0300 @@ -30,6 +30,7 @@ #include "cpplugincommon.h" #include "cppluginlogging.h" #include "cpphonenotes.h" +#include "cellulardatasettings.h" /*! CpNetworkPluginForm::CpNetworkPluginForm @@ -39,14 +40,16 @@ m_activeNoteId(0), m_activeProgressNoteId(0), m_pSetWrapper(NULL), - m_cpSettingsWrapper(NULL) + m_cpSettingsWrapper(NULL), + mCellularSettings() { DPRINT << ": IN"; - setHeading(hbTrId("Mobile network")); + setHeading(hbTrId("txt_cp_subhead_mobile_network")); QScopedPointer pSetWrapperGuard(new PSetWrapper); m_psetNetworkWrapper = &pSetWrapperGuard->networkWrapper(); + mCellularSettings = QSharedPointer(new CellularDataSettings); connectToNetworkWrapper(*m_psetNetworkWrapper); connectToPhoneNotes(*CpPhoneNotes::instance()); @@ -57,6 +60,10 @@ model->appendDataFormItem(createNetworkModeItem()); // #2 Use phone settings for operator selection model->appendDataFormItem(createOperatorSelectionItem()); + // Home network cellular data usage + model->appendDataFormItem(createHomeDataUsageItem()); + // Cellular network data usage when roaming + model->appendDataFormItem(createRoamDataUsageItem()); setModel(model.take()); m_pSetWrapper = pSetWrapperGuard.take(); m_cpSettingsWrapper = cpSettingsWrapperGuard.take(); @@ -89,12 +96,14 @@ m_NetworkModeOptionsItemData = new CpSettingFormItemData( HbDataFormModelItem::ComboBoxItem, - hbTrId("Network mode"), + hbTrId("txt_cp_setlabel_network_mode"), NULL ); QScopedPointer settingFormItemGuard( m_NetworkModeOptionsItemData); - mNetworkModeOptions << hbTrId("Dual mode") << hbTrId("UMTS") << hbTrId("GSM"); + mNetworkModeOptions << hbTrId("txt_cp_setlabel_network_mode_val_dual_mode") + << hbTrId("txt_cp_setlabel_network_mode_val_umts") + << hbTrId("txt_cp_setlabel_network_mode_val_gsm"); m_NetworkModeOptionsItemData->setContentWidgetData( "items", QVariant(mNetworkModeOptions)); @@ -133,7 +142,7 @@ m_NetworkOperatorSelectionItemData = new CpSettingFormItemData( HbDataFormModelItem::ToggleValueItem, - hbTrId("Operator selection"), + hbTrId("txt_cp_setlabel_operator_selection"), NULL); QScopedPointer settingFormItemGuard( m_NetworkOperatorSelectionItemData); @@ -145,11 +154,11 @@ switch (mode) { case PSetNetworkWrapper::SelectionModeAutomatic: m_NetworkOperatorSelectionItemData->setContentWidgetData( - "text", QVariant(hbTrId("Automatic"))); + "text", QVariant(hbTrId("txt_cp_setlabel_operator_selection_val_automatic"))); break; case PSetNetworkWrapper::SelectionModeManual: m_NetworkOperatorSelectionItemData->setContentWidgetData( - "text", QVariant(hbTrId("Manual"))); + "text", QVariant(hbTrId("txt_cp_setlabel_operator_selection_val_manual"))); break; default: break; @@ -166,6 +175,108 @@ } /*! + CpNetworkPluginForm::createHomeDataUsageItem + */ +HbDataFormModelItem *CpNetworkPluginForm::createHomeDataUsageItem() +{ + DPRINT << ": IN"; + + mCellularUseHomeSelectionItemData = new CpSettingFormItemData( + HbDataFormModelItem::ComboBoxItem, + hbTrId("txt_cp_setlabel_data_usage_in_home_network"), + NULL); + QScopedPointer settingFormItemGuard( + mCellularUseHomeSelectionItemData); + + // Populate the dropdown with selection items + mCellularUseHomeOptions + << hbTrId("txt_cp_setlabel_data_usage_in_val_automatic") + << hbTrId("txt_cp_setlabel_data_usage_in_val_confirm") + << hbTrId("txt_cp_setlabel_data_usage_in_val_disabled"); + mCellularUseHomeSelectionItemData->setContentWidgetData( + "items", + QVariant(mCellularUseHomeOptions)); + + // Set initial selection based on current setting + mCellularUseHomeSelectionItemData->setContentWidgetData( + "currentIndex", + mCellularSettings->dataUseHome()); // NOTE: Indexes must match! + + addConnection( + mCellularUseHomeSelectionItemData, + SIGNAL(currentIndexChanged(int)), + this, + SLOT(cellularDataUseHomeStateChanged(int))); + + settingFormItemGuard.take(); + DPRINT << ": OUT"; + return mCellularUseHomeSelectionItemData; +} + +/*! + CpNetworkPluginForm::cellularDataUseHomeStateChanged + */ +void CpNetworkPluginForm::cellularDataUseHomeStateChanged(int index) +{ + DPRINT << ": IN : index: " << index; + + mCellularSettings->setDataUseHome(index); + + DPRINT << ": OUT"; +} + +/*! + CpNetworkPluginForm::createRoamDataUsageItem + */ +HbDataFormModelItem *CpNetworkPluginForm::createRoamDataUsageItem() +{ + DPRINT << ": IN"; + + mCellularUseRoamSelectionItemData = new CpSettingFormItemData( + HbDataFormModelItem::ComboBoxItem, + hbTrId("txt_cp_setlabel_data_usage_when_roaming"), + NULL); + QScopedPointer settingFormItemGuard( + mCellularUseRoamSelectionItemData); + + // Populate the dropdown with selection items + mCellularUseRoamOptions + << hbTrId("txt_cp_setlabel_data_usage_when_val_automatic") + << hbTrId("txt_cp_setlabel_data_usage_when_val_confirm") + << hbTrId("txt_cp_setlabel_data_usage_when_val_disabled"); + mCellularUseRoamSelectionItemData->setContentWidgetData( + "items", + QVariant(mCellularUseRoamOptions)); + + // Set initial selection based on current setting + mCellularUseRoamSelectionItemData->setContentWidgetData( + "currentIndex", + mCellularSettings->dataUseRoam()); // NOTE: Indexes must match! + + addConnection( + mCellularUseRoamSelectionItemData, + SIGNAL(currentIndexChanged(int)), + this, + SLOT(cellularDataUseRoamStateChanged(int))); + + settingFormItemGuard.take(); + DPRINT << ": OUT"; + return mCellularUseRoamSelectionItemData; +} + +/*! + CpNetworkPluginForm::cellularDataUseRoamStateChanged + */ +void CpNetworkPluginForm::cellularDataUseRoamStateChanged(int index) +{ + DPRINT << ": IN : index: " << index; + + mCellularSettings->setDataUseRoam(index); + + DPRINT << ": OUT"; +} + +/*! CpNetworkPluginForm::networkModeStateChanged */ void CpNetworkPluginForm::networkModeStateChanged(int index) @@ -174,7 +285,7 @@ DPRINT << ": IN : index: " << index; if(isPhoneOnLine()) { - if(index == 0){ + if(index == 0) { dualModeSelection(); } else if(index == 1) { umtsSelection(); @@ -208,12 +319,12 @@ case PSetNetworkWrapper::SelectionModeAutomatic: manualOperatorSelection(); m_NetworkOperatorSelectionItemData->setContentWidgetData( - "text", QVariant(hbTrId("Manual"))); + "text", QVariant(hbTrId("txt_cp_setlabel_operator_selection_val_manual"))); break; case PSetNetworkWrapper::SelectionModeManual: automaticOperatorSelection(); m_NetworkOperatorSelectionItemData->setContentWidgetData( - "text", QVariant(hbTrId("Automatic"))); + "text", QVariant(hbTrId("txt_cp_setlabel_operator_selection_val_automatic"))); break; default: break; @@ -391,16 +502,16 @@ QString text; switch(error) { case PSetNetworkWrapper::ErrCauseCallActive: - text = hbTrId("Call in progress"); + text = hbTrId("txt_cp_info_active_calls_must_be_disconnected_befo"); break; case PSetNetworkWrapper::ErrNoNetworkService: - text = hbTrId("No network found"); + text = hbTrId("txt_cp_info_no_operators_found"); break; case PSetNetworkWrapper::ErrOfflineOpNotAllowed: - text = hbTrId("Off-line, not alloowed"); + text = hbTrId("Off-line, not allowed"); break; case PSetNetworkWrapper::ErrNoNetworkAccess: - text = hbTrId("No access"); + text = hbTrId("txt_cp_info_no_access_to_selected_operators_netwo"); break; default: break; @@ -452,7 +563,7 @@ QObject::connect( CpPhoneNotes::instance(), SIGNAL(progressNoteCanceled()), this, SLOT(userCancel())); - emit showGlobalProgressNote(m_activeProgressNoteId, hbTrId("Searching...")); + emit showGlobalProgressNote(m_activeProgressNoteId, hbTrId("txt_cp_info_updating")); } else { QObject::disconnect( CpPhoneNotes::instance(), SIGNAL(progressNoteCanceled()), @@ -524,7 +635,7 @@ { DPRINT << ": IN"; - HbDialog *dialog = createDialog(hbTrId("Available networks")); + HbDialog *dialog = createDialog(hbTrId("txt_cp_title_select_operator")); HbListWidget *list = new HbListWidget(dialog); //then insert found networks int itemsCount = m_networkInfoList->count(); @@ -540,7 +651,7 @@ list, SIGNAL(activated(HbListWidgetItem*)), dialog, SLOT(close())); // Sets the "Cancel"-action/button - HbAction *cancelAction = new HbAction(hbTrId("Cancel")); + HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_cancel")); dialog->setPrimaryAction(cancelAction); dialog->setContentWidget(list); // Launch popup and handle the response @@ -594,11 +705,11 @@ switch (mode) { case PSetNetworkWrapper::SelectionModeAutomatic: m_NetworkOperatorSelectionItemData->setContentWidgetData( - "text", QVariant(hbTrId("Automatic"))); + "text", QVariant(hbTrId("txt_cp_setlabel_operator_selection_val_automatic"))); break; case PSetNetworkWrapper::SelectionModeManual: m_NetworkOperatorSelectionItemData->setContentWidgetData( - "text", QVariant(hbTrId("Manual"))); + "text", QVariant(hbTrId("txt_cp_setlabel_operator_selection_val_manual"))); break; default: break; @@ -720,4 +831,17 @@ return onLine; } +/*! + CpNetworkPluginForm::SearchAvailableNetworks + */ +void CpNetworkPluginForm::SearchAvailableNetworks() +{ + DPRINT << ": IN"; + + m_psetNetworkWrapper->cancelRequest(); + manualOperatorSelection(); + + DPRINT << ": OUT"; +} + // End of File.