phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp
changeset 30 ebdbd102c78a
parent 27 2f8f8080a020
child 51 f39ed5e045e0
equal deleted inserted replaced
27:2f8f8080a020 30:ebdbd102c78a
    39     HbDataForm(parent),
    39     HbDataForm(parent),
    40     m_activeNoteId(0),
    40     m_activeNoteId(0),
    41     m_activeProgressNoteId(0),
    41     m_activeProgressNoteId(0),
    42     m_pSetWrapper(NULL),
    42     m_pSetWrapper(NULL),
    43     m_cpSettingsWrapper(NULL),
    43     m_cpSettingsWrapper(NULL),
    44     mCellularSettings()
    44     mCellularSettings(),
       
    45     m_dialog(NULL)
    45 {
    46 {
    46     DPRINT << ": IN";
    47     DPRINT << ": IN";
    47     
    48     
    48     setHeading(hbTrId("txt_cp_subhead_mobile_network"));
    49     setHeading(hbTrId("txt_cp_subhead_mobile_network"));
    49     
    50     
    65     // Cellular network data usage when roaming
    66     // Cellular network data usage when roaming
    66     model->appendDataFormItem(createRoamDataUsageItem());
    67     model->appendDataFormItem(createRoamDataUsageItem());
    67     setModel(model.take());
    68     setModel(model.take());
    68     m_pSetWrapper = pSetWrapperGuard.take();
    69     m_pSetWrapper = pSetWrapperGuard.take();
    69     m_cpSettingsWrapper = cpSettingsWrapperGuard.take();
    70     m_cpSettingsWrapper = cpSettingsWrapperGuard.take();
    70     
    71 
       
    72     if(!isPhoneOnLine()) {
       
    73         DPRINT << "offline, set dimmed";
       
    74         m_NetworkOperatorSelectionItemData->setEnabled(false);
       
    75     }
       
    76 
    71     DPRINT << ": OUT";
    77     DPRINT << ": OUT";
    72 }
    78 }
    73 
    79 
    74 
    80 
    75 /*!
    81 /*!
   310 void CpNetworkPluginForm::operatorSelectionStateChanged(bool)
   316 void CpNetworkPluginForm::operatorSelectionStateChanged(bool)
   311 {
   317 {
   312     // #2C operator selection mode changed
   318     // #2C operator selection mode changed
   313     DPRINT << ": IN ";
   319     DPRINT << ": IN ";
   314     
   320     
   315     if(isPhoneOnLine()) {
   321     if (isPhoneOnLine()) {
   316         PSetNetworkWrapper::NetworkSelectionMode mode;
   322         PSetNetworkWrapper::NetworkSelectionMode mode;
   317         m_psetNetworkWrapper->getNetworkSelectionMode(mode);
   323         m_psetNetworkWrapper->getNetworkSelectionMode(mode);
   318         switch (mode) {
   324         switch (mode) {
   319             case PSetNetworkWrapper::SelectionModeAutomatic: 
   325             case PSetNetworkWrapper::SelectionModeAutomatic: 
   320                 manualOperatorSelection();
   326                 manualOperatorSelection();
   447         QList<PSetNetworkWrapper::NetworkInfo*> &networkInfoList)
   453         QList<PSetNetworkWrapper::NetworkInfo*> &networkInfoList)
   448 {
   454 {
   449     DPRINT << ": IN";
   455     DPRINT << ": IN";
   450     
   456     
   451     m_networkInfoList = &networkInfoList;
   457     m_networkInfoList = &networkInfoList;
   452     showManualSeletiondialog();
   458     showManualSelectiondialog();
   453     
   459     
   454     DPRINT << ": OUT";
   460     DPRINT << ": OUT";
   455 }
   461 }
   456 
   462 
   457 
   463 
   523     if(type == PSetNetworkWrapper::RequestSetNetworkMode) {
   529     if(type == PSetNetworkWrapper::RequestSetNetworkMode) {
   524        m_psetNetworkWrapper->getNetworkAccessMode();
   530        m_psetNetworkWrapper->getNetworkAccessMode();
   525        }
   531        }
   526     else if(type == PSetNetworkWrapper::RequestSetNetwork && 
   532     else if(type == PSetNetworkWrapper::RequestSetNetwork && 
   527             error == PSetNetworkWrapper::ErrNoNetworkAccess) {
   533             error == PSetNetworkWrapper::ErrNoNetworkAccess) {
   528         showManualSeletiondialog();
   534         showManualSelectiondialog();
   529     }
   535     }
   530     else if(type == PSetNetworkWrapper::RequestSetNetwork ||
   536     else if(type == PSetNetworkWrapper::RequestSetNetwork ||
   531             type == PSetNetworkWrapper::RequestSetNetworkAutomatic ||
   537             type == PSetNetworkWrapper::RequestSetNetworkAutomatic ||
   532             type == PSetNetworkWrapper::RequestGetNetworkInfo) {
   538             type == PSetNetworkWrapper::RequestGetNetworkInfo) {
   533         restoreUiSelection();
   539         restoreUiSelection();
   550     DPRINT << ": OUT";
   556     DPRINT << ": OUT";
   551 }
   557 }
   552 
   558 
   553 
   559 
   554 /*!
   560 /*!
   555   CpNetworkPluginForm::userCancel
   561   CpNetworkPluginForm::handleSearchingNetworks
   556   */
   562   */
   557 void CpNetworkPluginForm::handleSearchingNetworks(
   563 void CpNetworkPluginForm::handleSearchingNetworks(
   558     PSetNetworkWrapper::RequestType &type)
   564     PSetNetworkWrapper::RequestType &type)
   559 {
   565 {
   560     DPRINT << ": IN";
   566     DPRINT << ": IN";
   575     DPRINT << ": OUT";
   581     DPRINT << ": OUT";
   576 }
   582 }
   577 
   583 
   578 
   584 
   579 /*!
   585 /*!
   580   CpNetworkPluginForm::userCancel
   586   CpNetworkPluginForm::handleRequestingSelectedNetwork
   581   */
   587   */
   582 void CpNetworkPluginForm::handleRequestingSelectedNetwork(bool ongoing)
   588 void CpNetworkPluginForm::handleRequestingSelectedNetwork(bool ongoing)
   583 {
   589 {
   584     DPRINT << ": IN";
   590     DPRINT << ": IN";
   585     
   591     
   599     DPRINT << ": OUT";
   605     DPRINT << ": OUT";
   600 }
   606 }
   601 
   607 
   602 
   608 
   603 /*!
   609 /*!
   604   CpNetworkPluginForm::userCancel
   610   CpNetworkPluginForm::handleNetworkChanged
   605   */
   611   */
   606 void CpNetworkPluginForm::handleNetworkChanged(
   612 void CpNetworkPluginForm::handleNetworkChanged(
   607     PSetNetworkWrapper::NetworkInfo& currentInfo,
   613     PSetNetworkWrapper::NetworkInfo& currentInfo,
   608     PSetNetworkWrapper::RegistrationStatus& status)
   614     PSetNetworkWrapper::RegistrationStatus& status)
   609 {
   615 {
   627     DPRINT << ": OUT";
   633     DPRINT << ": OUT";
   628 }
   634 }
   629 
   635 
   630 
   636 
   631 /*!
   637 /*!
   632   CpNetworkPluginForm::showManualSeletiondialog
   638   CpNetworkPluginForm::showManualSelectiondialog
   633   */
   639   */
   634 void CpNetworkPluginForm::showManualSeletiondialog()
   640 void CpNetworkPluginForm::showManualSelectiondialog()
   635 {
   641 {
   636     DPRINT << ": IN";
   642     DPRINT << ": IN";
   637     
   643     
   638     HbDialog *dialog = createDialog(hbTrId("txt_cp_title_select_operator"));
   644     QScopedPointer<HbDialog> dialog(
   639     HbListWidget *list = new HbListWidget(dialog);
   645         createDialog(hbTrId("txt_cp_title_select_operator")));
       
   646     HbListWidget *list = new HbListWidget(dialog.data());
   640     //then insert found networks
   647     //then insert found networks
   641     int itemsCount = m_networkInfoList->count();
   648     int itemsCount = m_networkInfoList->count();
   642     for(int i = 0; i < itemsCount; i++)
   649     for (int i = 0; i < itemsCount; i++) {
   643         {
       
   644         PSetNetworkWrapper::NetworkInfo *info = m_networkInfoList->at(i);
   650         PSetNetworkWrapper::NetworkInfo *info = m_networkInfoList->at(i);
   645         QString text = networkName(*info);
   651         QString text = networkName(*info);
   646         addItemToListWidget(list, text, i);
   652         addItemToListWidget(list, text, i);
   647         DPRINT << ":  " << info;
   653         DPRINT << ":  " << info;
   648         }
   654     }
   649     // Connect list item activation signal to close the popup
   655     // Connect list item activation signal to close the popup
   650     connect(
   656     connect(
   651         list, SIGNAL(activated(HbListWidgetItem*)), 
   657         list, SIGNAL(activated(HbListWidgetItem*)), 
   652         dialog, SLOT(close()));
   658         dialog.data(), SLOT(close()));
   653     // Sets the "Cancel"-action/button
   659     // Sets the "Cancel"-action/button
   654     HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
   660     HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
   655     dialog->setPrimaryAction(cancelAction);
   661     dialog->addAction(cancelAction);
   656     dialog->setContentWidget(list);
   662     dialog->setContentWidget(list);
   657     // Launch popup and handle the response
   663     // Launch popup and handle the response
   658     if (dialog->exec() != cancelAction) {
   664     dialog->open(this, SLOT(finishedManualSelectiondialog(HbAction*)));
   659         // Update the view with selected text
   665     if (m_dialog) {
   660         int seletion = 0;
   666         m_dialog->deleteLater();
   661         if(list->currentItem()) {
   667         m_dialog = NULL;
   662             seletion = list->currentItem()->data().toInt();
   668     }
   663             DPRINT << ": seletion : " << seletion;
   669     m_dialog = dialog.take();
       
   670     
       
   671     DPRINT << ": OUT";
       
   672 }
       
   673 
       
   674 
       
   675 /*!
       
   676   CpNetworkPluginForm::finishedManualSelectiondialog.
       
   677  */
       
   678 void CpNetworkPluginForm::finishedManualSelectiondialog(HbAction* action)
       
   679 {
       
   680     DPRINT << ": IN";
       
   681     
       
   682     if (m_dialog) {
       
   683         QList<QAction *> actionList = m_dialog->actions();
       
   684         bool cancelAction = actionList.contains(action);
       
   685         if (!cancelAction) {
       
   686             // Update the view with selected text
       
   687             QGraphicsWidget *contectWidget = m_dialog->contentWidget();
       
   688             HbListWidget *list(NULL);
       
   689             if (contectWidget) {
       
   690                 list = qobject_cast<HbListWidget *>(contectWidget);
       
   691             }
       
   692             if (list) {
       
   693                 int seletion = 0;
       
   694                 if(list->currentItem()) {
       
   695                     seletion = list->currentItem()->data().toInt();
       
   696                     DPRINT << ": seletion : " << seletion;
       
   697                 }
       
   698                 PSetNetworkWrapper::NetworkInfo param;
       
   699                 param.m_id.m_countryCode = 
       
   700                     m_networkInfoList->at(seletion)->m_id.m_countryCode;
       
   701                 param.m_id.m_networkCode = 
       
   702                     m_networkInfoList->at(seletion)->m_id.m_networkCode;
       
   703                 param.m_mode = PSetNetworkWrapper::SelectionModeManual;
       
   704                 DPRINT << ": m_countryCode : " << param.m_id.m_countryCode;
       
   705                 DPRINT << ": m_networkCode : " << param.m_id.m_networkCode;
       
   706                 DPRINT << ": m_mode : " << param.m_mode;
       
   707                 m_psetNetworkWrapper->selectNetwork(param);
       
   708             }
       
   709         } else {
       
   710             DPRINT << ": Cancel";
       
   711             m_psetNetworkWrapper->cancelRequest();
       
   712             restoreUiSelection();
   664         }
   713         }
   665         PSetNetworkWrapper::NetworkInfo param;
   714         m_dialog->deleteLater();
   666         param.m_id.m_countryCode = 
   715         m_dialog = NULL;
   667             m_networkInfoList->at(seletion)->m_id.m_countryCode;
   716     }
   668         param.m_id.m_networkCode = 
   717     
   669             m_networkInfoList->at(seletion)->m_id.m_networkCode;
   718     DPRINT << ": OUT";
   670         param.m_mode = PSetNetworkWrapper::SelectionModeManual;
   719 }
   671         DPRINT << ": m_countryCode : " << param.m_id.m_countryCode;
       
   672         DPRINT << ": m_networkCode : " << param.m_id.m_networkCode;
       
   673         DPRINT << ": m_mode : " << param.m_mode;
       
   674         m_psetNetworkWrapper->selectNetwork(param);
       
   675     }
       
   676     else {
       
   677         DPRINT << ": Cancel";
       
   678         m_psetNetworkWrapper->cancelRequest();
       
   679         restoreUiSelection();
       
   680     }
       
   681 
       
   682     disconnect(
       
   683         list, SIGNAL(activated(HbListWidgetItem*)), 
       
   684         dialog, SLOT(close()));
       
   685     delete dialog;
       
   686     
       
   687     DPRINT << ": OUT";
       
   688 }
       
   689 
       
   690 
   720 
   691 /*!
   721 /*!
   692   CpNetworkPluginForm::restoreUiSelection
   722   CpNetworkPluginForm::restoreUiSelection
   693   */
   723   */
   694 void CpNetworkPluginForm::restoreUiSelection()
   724 void CpNetworkPluginForm::restoreUiSelection()
   830     DPRINT << ": OUT : onLine : " << onLine;
   860     DPRINT << ": OUT : onLine : " << onLine;
   831     return onLine;
   861     return onLine;
   832 }
   862 }
   833 
   863 
   834 /*!
   864 /*!
   835   CpNetworkPluginForm::SearchAvailableNetworks
   865   CpNetworkPluginForm::searchAvailableNetworks
   836  */
   866  */
   837 void CpNetworkPluginForm::SearchAvailableNetworks()
   867 void CpNetworkPluginForm::searchAvailableNetworks()
   838 {
   868 {
   839     DPRINT << ": IN";
   869     DPRINT << ": IN";
   840     
   870     
   841     m_psetNetworkWrapper->cancelRequest();
   871     m_psetNetworkWrapper->cancelRequest();
   842     manualOperatorSelection();
   872     manualOperatorSelection();