diff -r 2f8f8080a020 -r ebdbd102c78a phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp --- a/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp Mon May 03 12:31:11 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp Fri May 14 15:51:57 2010 +0300 @@ -24,9 +24,6 @@ #include #include #include -#include -#include -#include #include #include #include @@ -46,18 +43,6 @@ { DPRINT << ": IN"; - // Localization file loading - QTranslator translator; - QString lang = QLocale::system().name(); - QString path = "z:/resource/qt/translations/"; - DPRINT << ": loading translation: " << QString(path + "telephone_cp_" + lang); - bool translatorLoaded = translator.load(path + "telephone_cp_" + lang); - DPRINT << ": translator loaded: " << translatorLoaded; - if (translatorLoaded) { - qApp->installTranslator(&translator); - DPRINT << ": translator installed"; - } - m_cpSettingsWrapper = new CpSettingsWrapper; m_pSetWrapper = new PSetWrapper; DPRINT << "PSetWrapper created"; @@ -93,13 +78,6 @@ CpPhoneNotes *phoneNotes = CpPhoneNotes::instance(); QObject::connect( this, - SIGNAL(showBasicServiceList( - const QString&, const QList &)), - phoneNotes, - SLOT(showBasicServiceList( - const QString&, const QList &))); - QObject::connect( - this, SIGNAL(showGlobalProgressNote(int &, const QString&)), phoneNotes, SLOT(showGlobalProgressNote(int &, const QString&))); @@ -164,19 +142,26 @@ // Read show call duration value from Cenrep bool showCallDurationStatus = m_cpSettingsWrapper->showCallDuration(); DPRINT << "showCallDurationStatus:" << showCallDurationStatus; - m_DataItemShowCallDuration = new CpSettingFormItemData( - HbDataFormModelItem::CheckBoxItem, hbTrId("") ,this); - m_DataItemShowCallDuration->setContentWidgetData( - "text", QVariant(hbTrId("Show call duration"))); + + m_DataItemShowCallDuration = + new CpSettingFormItemData( + HbDataFormModelItem::ToggleValueItem, + hbTrId("txt_phone_formlabel_show_call_duration"), + this); + if (showCallDurationStatus) { m_DataItemShowCallDuration->setContentWidgetData( - "checkState", QVariant(Qt::Checked)); + "text", QVariant(hbTrId("txt_phone_setlabel_val_yes"))); + m_DataItemShowCallDuration->setContentWidgetData( + "additionalText", QVariant(hbTrId("txt_phone_setlabel_val_no"))); } else { m_DataItemShowCallDuration->setContentWidgetData( - "checkState", QVariant(Qt::Unchecked)); + "text", QVariant(hbTrId("txt_phone_setlabel_val_no"))); + m_DataItemShowCallDuration->setContentWidgetData( + "additionalText", QVariant(hbTrId("txt_phone_setlabel_val_yes"))); } + appendChild( m_DataItemShowCallDuration ); - DPRINT << ": OUT"; } @@ -247,18 +232,16 @@ m_DataItemCallWaiting = new CpSettingFormItemData( - HbDataFormModelItem::ComboBoxItem, + HbDataFormModelItem::ToggleValueItem, hbTrId("txt_phone_setlabel_call_waiting"), this); - QStringList list; - QMapIterator mapIterator(m_callWaitingSettingMap); - while (mapIterator.hasNext()) { - mapIterator.next(); - list << mapIterator.value(); - }; - m_DataItemCallWaiting->setContentWidgetData("items", QVariant(list)); + + m_DataItemCallWaiting->setContentWidgetData( + "text", QVariant(hbTrId("txt_phone_setlabel_call_waiting_val_check_status"))); + m_DataItemCallWaiting->setContentWidgetData( + "additionalText", QVariant(hbTrId("txt_phone_setlabel_call_waiting_val_check_status"))); + appendChild(m_DataItemCallWaiting); - DPRINT << ": OUT"; } @@ -270,8 +253,8 @@ DPRINT << ": IN"; m_helper.addConnection( - m_DataItemShowCallDuration, SIGNAL(stateChanged(int)), - this, SLOT(showCallDurationStateChanged(int))); + m_DataItemShowCallDuration, SIGNAL(clicked()), + this, SLOT(showCallDurationStateChanged())); DPRINT << ": OUT"; } @@ -322,8 +305,8 @@ DPRINT << ": IN"; m_helper.addConnection( - m_DataItemCallWaiting, SIGNAL(currentIndexChanged(int)), - this, SLOT(callWaitingCurrentIndexChanged(int))); + m_DataItemCallWaiting, SIGNAL(clicked()), + this, SLOT(callWaitingCurrentIndexChanged())); DPRINT << ": OUT"; } @@ -331,15 +314,19 @@ /*! CpCallsPluginGroup::showCallDurationStateChanged. */ -void CpCallsPluginGroup::showCallDurationStateChanged(int state) +void CpCallsPluginGroup::showCallDurationStateChanged() { DPRINT << ": IN"; - DPRINT << "state:" << state; - if (state == Qt::Checked) { + QVariant text = m_DataItemShowCallDuration->contentWidgetData("text"); + QString showCallDurationText = text.toString(); + + if (showCallDurationText == hbTrId("txt_phone_setlabel_val_yes")) { m_cpSettingsWrapper->setShowCallDuration(true); + } else if (showCallDurationText == hbTrId("txt_phone_setlabel_val_no")){ + m_cpSettingsWrapper->setShowCallDuration(false); } else { - m_cpSettingsWrapper->setShowCallDuration(false); + DPRINT << "nothing done"; } DPRINT << ": OUT"; @@ -354,7 +341,7 @@ QVariant text = m_DataItemSoftRejectTextEditor->contentWidgetData("text"); QString softRejectText = text.toString(); - if (!softRejectText.isNull()) { + if (!softRejectText.isEmpty()) { DPRINT << "softRejectText:" << softRejectText; m_cpSettingsWrapper->writeSoftRejectText(softRejectText, true); } @@ -365,42 +352,37 @@ /*! CpCallsPluginGroup::callWaitingCurrentIndexChanged. */ -void CpCallsPluginGroup::callWaitingCurrentIndexChanged(int index) +void CpCallsPluginGroup::callWaitingCurrentIndexChanged() { DPRINT << ": IN"; - DPRINT << "index:" << index; + + QVariant text = m_DataItemCallWaiting->contentWidgetData("text"); + QString callWaitingText = text.toString(); + + if (callWaitingText == hbTrId("txt_phone_setlabel_call_waiting_val_check_status")) { + // Clicked first time, user want to check feature status + DPRINT << "checking status"; + m_callWaitingWrapper->getCallWaitingStatus(); + } - if ( index >= 0 ) { - QString settingMapString = m_callWaitingSettingMap.value(index); - DPRINT << "settingMapString:" << settingMapString; - switch (index) { - case PSetCallWaitingWrapper::ActivateCallWaiting: { - DPRINT << "activate"; - m_callWaitingWrapper->setCallWaiting( - PSetCallWaitingWrapper::ActivateCallWaiting, - AllTeleAndBearer); - } - break; - case PSetCallWaitingWrapper::DeactivateCallWaiting: { - DPRINT << "deactivate"; - m_callWaitingWrapper->setCallWaiting( - PSetCallWaitingWrapper::DeactivateCallWaiting, - AllTeleAndBearer); - } - break; - case PSetCallWaitingWrapper::CheckCallWaitingStatus: { - DPRINT << "check status"; - m_callWaitingWrapper->getCallWaitingStatus(); - } - break; - default: - DPRINT << "Error: unknown enum value"; - break; - } - } else { - DPRINT << "Error: negative index!"; + else if (callWaitingText == hbTrId("txt_phone_setlabel_call_waiting_val_on")) { + DPRINT << "activate"; + // User want to activate call waiting feature + m_callWaitingWrapper->setCallWaiting( + PSetCallWaitingWrapper::ActivateCallWaiting, + AllTeleAndBearer); } - + else if (callWaitingText == hbTrId("txt_phone_setlabel_call_waiting_val_off")) { + DPRINT << "deactivate"; + // User want to deactivate call waiting feature + m_callWaitingWrapper->setCallWaiting( + PSetCallWaitingWrapper::DeactivateCallWaiting, + AllTeleAndBearer); + } + else { + DPRINT << "nothing done"; + } + DPRINT << ": OUT"; } @@ -434,13 +416,6 @@ m_cliSettingMap.insert(ClirExplicitSuppress, hbTrId("txt_phone_setlabel_val_yes")); m_cliSettingMap.insert(ClirExplicitInvoke, hbTrId("txt_phone_setlabel_val_no")); - m_callWaitingSettingMap.insert( - PSetCallWaitingWrapper::ActivateCallWaiting, hbTrId("txt_phone_setlabel_call_waiting_val_on")); - m_callWaitingSettingMap.insert( - PSetCallWaitingWrapper::DeactivateCallWaiting, hbTrId("txt_phone_setlabel_call_waiting_val_off")); - m_callWaitingSettingMap.insert( - PSetCallWaitingWrapper::CheckCallWaitingStatus, hbTrId("Check status")); - DPRINT << ": OUT"; } @@ -451,21 +426,39 @@ PSetCallWaitingWrapper::PsCallWaitingStatus status, const QList &basicServiceGroupIds) { - DPRINT << ": IN"; + DPRINT << ": IN status: " << status; + // This happens only in the very first time when clicked. + emit cancelNote(m_activeNoteId); + bool alsCaseOnly = false; + if (1 == basicServiceGroupIds.count() && + AltTele == static_cast(basicServiceGroupIds.at(0))) { + DPRINT << "Status is only for als"; + alsCaseOnly = true; + } + if (m_callWaitingDistinguishEnabled && - status == PSetCallWaitingWrapper::StatusNotProvisioned) { - emit showGlobalNote(m_activeNoteId, - hbTrId("txt_phone_info_request_not_completed"), HbMessageBox::MessageTypeInformation); - } else if (status != PSetCallWaitingWrapper::StatusActive) { + PSetCallWaitingWrapper::StatusNotProvisioned == status) { + DPRINT << ": not provisioned"; emit showGlobalNote(m_activeNoteId, - hbTrId("txt_phone_info_call_waiting_deactivated"), HbMessageBox::MessageTypeInformation); + hbTrId("txt_phone_info_request_not_completed"), + HbMessageBox::MessageTypeInformation); + } else if (PSetCallWaitingWrapper::StatusActive == status && !alsCaseOnly) { + DPRINT << ": status active"; + m_DataItemCallWaiting->setContentWidgetData( + "text", QVariant(hbTrId("txt_phone_setlabel_call_waiting_val_on"))); + m_DataItemCallWaiting->setContentWidgetData( + "additionalText", QVariant(hbTrId("txt_phone_setlabel_call_waiting_val_off"))); + } else { - emit showGlobalNote(m_activeNoteId, - hbTrId("txt_phone_info_call_waiting_activated"), HbMessageBox::MessageTypeInformation); + DPRINT << ": status not active"; + m_DataItemCallWaiting->setContentWidgetData( + "text", QVariant(hbTrId("txt_phone_setlabel_call_waiting_val_off"))); + m_DataItemCallWaiting->setContentWidgetData( + "additionalText", QVariant(hbTrId("txt_phone_setlabel_call_waiting_val_on"))); } - + DPRINT << ": OUT"; }