/*! CpDivertPluginGroup::handleDivertingStatus. */ void CpDivertPluginGroup::handleDivertingStatus( QList<PSCallDivertingStatus*> &divertList, bool plural) { DPRINT << ": IN"; DPRINT << "divertList.Size():" << divertList.size(); DPRINT << "plural:" << plural; foreach (PSCallDivertingStatus* status, divertList) { DPRINT << status->iCondition; DPRINT << status->iNumber; DPRINT << status->iServiceGroup; DPRINT << status->iStatus; DPRINT << status->iTimeout; changeItemData( status->iServiceGroup, status->iCondition, status->iStatus, status->iNumber, status->iTimeout); }
void GPSUndoCommand::undo() { changeItemData(false); }
void GPSUndoCommand::redo() { changeItemData(true); }
/*! CpDivertPluginGroup::handleDivertingChanged. */ void CpDivertPluginGroup::handleDivertingChanged( const PSCallDivertingCommand& aSetting, bool aPlural) { DPRINT << ": IN"; PsUiNotes::instance()->cancelNote(m_activeNoteId); DPRINT << "aPlural:" << aPlural; DPRINT << "iCondition:" << aSetting.iCondition; DPRINT << "iNoReplyTimer:" << aSetting.iNoReplyTimer; DPRINT << "iNumber:" << aSetting.iNumber; DPRINT << "iServiceGroup:" << aSetting.iServiceGroup; DPRINT << "iSetting:" << aSetting.iSetting; DPRINT << "iStatus:" << aSetting.iStatus; changeItemData( aSetting.iServiceGroup, aSetting.iCondition, aSetting.iStatus, aSetting.iNumber, aSetting.iNoReplyTimer); updateDependentDivertOptions( (DivertConditionUnconditional == aSetting.iCondition) && (DivertingStatusActive != aSetting.iStatus) ); switch (aSetting.iStatus) { case DivertingStatusActive: { if (aPlural) { PsUiNotes::instance()->showNotificationDialog( hbTrId("txt_phone_info_diverts_activated")); } else { PsUiNotes::instance()->showNotificationDialog( hbTrId("txt_phone_info_divert_activated")); } QString voiceMailBoxNumber; QString videoMailBoxNumber; m_callDivertingWrapper->getVoiceMailBoxNumber(voiceMailBoxNumber, ServiceGroupVoice); m_callDivertingWrapper->getVoiceMailBoxNumber(videoMailBoxNumber, ServiceGroupData); if ((aSetting.iNumber != voiceMailBoxNumber) && (aSetting.iNumber != videoMailBoxNumber)) { // Number, except vmbx number, will be added to defaultnumber list m_callDivertingWrapper->setNewDefaultNumber(aSetting.iNumber); } } break; case DivertingStatusNotRegistered: case DivertingStatusInactive: if (aPlural) { PsUiNotes::instance()->showNotificationDialog( hbTrId("txt_phone_info_diverts_deactivated")); } else { PsUiNotes::instance()->showNotificationDialog( hbTrId("txt_phone_info_divert_deactivated")); } break; case DivertingStatusNotProvisioned: case DivertingStatusUnknown: default: PsUiNotes::instance()->showNotificationDialog( hbTrId("txt_phone_info_request_not_completed")); break; } DPRINT << ": OUT"; }
/*! CpDivertPluginGroup::changeItemData. */ void CpDivertPluginGroup::changeItemData( PsServiceGroup serviceGroup, PsCallDivertingCondition condition, PsCallDivertingStatus status, const QString& aNumber, int aTimeout) { DPRINT << ": IN"; Qt::CheckState itemState = Qt::Unchecked; if (status == DivertingStatusActive) { itemState = Qt::Checked; } else if (status == DivertingStatusInactive) { itemState = Qt::PartiallyChecked; } else { itemState = Qt::Unchecked; } QString number = aNumber; int timeout = aTimeout; if (Qt::PartiallyChecked == itemState) { number = QString(""); timeout = 0; } QVariant numberValue; numberValue.setValue(number); switch (condition) { case DivertConditionAllConditionalCases: DPRINT << ": DivertConditionAllConditionalCases"; // If not available effects also conditions below changeItemData(serviceGroup, DivertConditionBusy, status, number, timeout); changeItemData(serviceGroup, DivertConditionNoReply, status, number, timeout); changeItemData(serviceGroup, DivertConditionNotReachable, status, number, timeout); // Fall trough case DivertConditionUnconditional: case DivertConditionBusy: case DivertConditionNoReply: case DivertConditionNotReachable: if (serviceGroup & ServiceGroupVoice) { CpSettingFormItemData* itemData = item(ServiceGroupVoice, condition); itemData->setContentWidgetData("text", numberValue); if (DivertConditionNoReply == condition) { if (timeout > 0) { itemData->setDescription( hbTrId("txt_phone_setlabel_divert_delay_ln_seconds", timeout)); } else { itemData->setDescription(""); } } itemData->setContentWidgetData("checkState", itemState); } if (serviceGroup & ServiceGroupData) { CpSettingFormItemData* itemData = item(ServiceGroupData, condition); itemData->setContentWidgetData("text", numberValue); if (DivertConditionNoReply == condition) { if (timeout > 0) { itemData->setDescription( hbTrId("txt_phone_setlabel_divert_delay_ln_seconds", timeout)); } else { itemData->setDescription(""); } } itemData->setContentWidgetData("checkState", itemState); } break; case DivertConditionAllCalls: case DivertConditionUnknown: default: break; } DPRINT << ": OUT"; }