X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditorTelephone.cpp;h=68d65620ab40534180c7a3f8abeee23e0afa601d;hp=29da821dbebde3a81bceaa6e1b95330789fb3c11;hb=ada42724cf083b0a311cf22260485d61516c25c8;hpb=da64d37d0a13895554e4ad945c46dd0af6d1c0e6 diff --git a/source/contacteditor/frmContactEditorTelephone.cpp b/source/contacteditor/frmContactEditorTelephone.cpp index 29da821..68d6562 100644 --- a/source/contacteditor/frmContactEditorTelephone.cpp +++ b/source/contacteditor/frmContactEditorTelephone.cpp @@ -24,21 +24,21 @@ frmContactEditorTelephone::frmContactEditorTelephone( wxWindow* parent ) : frmContactEditorTelephoneADT( parent ) { + + // Setup the window. + EditorMode = FALSE; - sliPriority->Disable(); -} - -void frmContactEditorTelephone::EnablePriority( wxCommandEvent& event ) -{ - if (chkUsePref->IsChecked()){ - sliPriority->Enable(); - } else { - sliPriority->Disable(); - } + priorityCtrl = new XABPriorityCtrl(tabGeneral); + szrGeneral->Add(priorityCtrl, 1, wxEXPAND, 5); + szrGeneral->Layout(); + } void frmContactEditorTelephone::ProcessAction( wxCommandEvent& event ) { + + // Process action. + long ListCtrlIndex; if (EditorMode == FALSE){ @@ -175,13 +175,15 @@ void frmContactEditorTelephone::ProcessAction( wxCommandEvent& event ) } - TelephoneListTypePtr->insert(std::make_pair(TelephoneListIndex, strTelTypes)); + TelephoneListTypePtr->insert(std::make_pair(TelephoneListIndex, strTelTypes)); + + TelephoneListTypeInfoPtr->insert(std::make_pair(TelephoneListIndex, strTelTypes)); // Add Telephone Priority. - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - TelephoneListPrefPtr->insert(std::make_pair(TelephoneListIndex, sliPriority->GetValue())); + TelephoneListPrefPtr->insert(std::make_pair(TelephoneListIndex, priorityCtrl->GetValue())); } else { @@ -202,9 +204,9 @@ void frmContactEditorTelephone::ProcessAction( wxCommandEvent& event ) TelephoneListCtrlPtr->SetItem(ListCtrlIndex, 1, strTelTypesLCtrl); - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - TelephoneListCtrlPtr->SetItem(ListCtrlIndex, 2, wxString::Format(wxT("%i"), sliPriority->GetValue())); + TelephoneListCtrlPtr->SetItem(ListCtrlIndex, 2, wxString::Format(wxT("%i"), priorityCtrl->GetValue())); } @@ -351,13 +353,16 @@ void frmContactEditorTelephone::ProcessAction( wxCommandEvent& event ) TelephoneListTypePtr->erase(TelephoneListIndex); TelephoneListTypePtr->insert(std::make_pair(TelephoneListIndex, strTelTypes)); + TelephoneListTypeInfoPtr->erase(TelephoneListIndex); + TelephoneListTypeInfoPtr->insert(std::make_pair(TelephoneListIndex, strTelTypes)); + // Edit the Telephone Priority. TelephoneListPrefPtr->erase(TelephoneListIndex); - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - TelephoneListPrefPtr->insert(std::make_pair(TelephoneListIndex, sliPriority->GetValue())); + TelephoneListPrefPtr->insert(std::make_pair(TelephoneListIndex, priorityCtrl->GetValue())); } else { @@ -378,9 +383,9 @@ void frmContactEditorTelephone::ProcessAction( wxCommandEvent& event ) TelephoneListCtrlPtr->SetItem(longSelected, 0, txtTelephone->GetValue()); TelephoneListCtrlPtr->SetItem(longSelected, 1, strTelTypesLCtrl); - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - TelephoneListCtrlPtr->SetItem(longSelected, 2, wxString::Format(wxT("%i"), sliPriority->GetValue())); + TelephoneListCtrlPtr->SetItem(longSelected, 2, wxString::Format(wxT("%i"), priorityCtrl->GetValue())); } else { @@ -397,12 +402,17 @@ void frmContactEditorTelephone::ProcessAction( wxCommandEvent& event ) void frmContactEditorTelephone::CloseWindow( wxCommandEvent& event ) { + // Close the window. + this->Close(); } void frmContactEditorTelephone::SetEditorMode(bool EditMode, SectionType SectType) { + + // Set the editor mode. + // Set if the editor is adding or editing an address. // FALSE = Add // TRUE = Edit @@ -439,13 +449,19 @@ void frmContactEditorTelephone::SetEditorMode(bool EditMode, SectionType SectTyp // Get the phone types in. - striter = TelephoneListTypePtr->find(TelephoneListIndex); + + if (TelephoneListTypeInfoPtr->find(TelephoneListIndex) != + TelephoneListTypeInfoPtr->end()){ + + striter = TelephoneListTypeInfoPtr->find(TelephoneListIndex); - if (striter->first == TelephoneListIndex){ + if (striter->first == TelephoneListIndex){ - strValue = striter->second; + strValue = striter->second; - } + } + + } wxStringTokenizer TelephonePrefToken (strValue, wxT(",")); @@ -511,11 +527,11 @@ void frmContactEditorTelephone::SetEditorMode(bool EditMode, SectionType SectTyp intiter = TelephoneListPrefPtr->find(TelephoneListIndex); - if (intiter->first == TelephoneListIndex && intiter->second > 0){ + if (intiter->first == TelephoneListIndex && intiter->second > 0 && + intiter != TelephoneListPrefPtr->end()){ - sliPriority->SetValue(intiter->second); - sliPriority->Enable(); - chkUsePref->SetValue(TRUE); + priorityCtrl->SetValue(intiter->second); + priorityCtrl->EnablePriority(true); } @@ -529,16 +545,20 @@ void frmContactEditorTelephone::SetupPointers(std::map *Telephone std::map *TelephoneListAltID, std::map *TelephoneListPID, std::map *TelephoneListType, + std::map *TelephoneListTypeInfo, std::map *TelephoneListTokens, std::map *TelephoneListPref, wxListCtrl *TelephoneListCtrl, int TelephoneIndex ) { + // Setup the pointers. + TelephoneListPtr = TelephoneList; TelephoneListAltIDPtr = TelephoneListAltID; TelephoneListPIDPtr = TelephoneListPID; TelephoneListTypePtr = TelephoneListType; + TelephoneListTypeInfoPtr = TelephoneListTypeInfo; TelephoneListTokensPtr = TelephoneListTokens; TelephoneListPrefPtr = TelephoneListPref; TelephoneListCtrlPtr = TelephoneListCtrl;