X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditorTelephone.cpp;h=68d65620ab40534180c7a3f8abeee23e0afa601d;hp=d3ac34530f4dfac1ccb491d56943b7193eb3f72e;hb=ada42724cf083b0a311cf22260485d61516c25c8;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc diff --git a/source/contacteditor/frmContactEditorTelephone.cpp b/source/contacteditor/frmContactEditorTelephone.cpp index d3ac345..68d6562 100644 --- a/source/contacteditor/frmContactEditorTelephone.cpp +++ b/source/contacteditor/frmContactEditorTelephone.cpp @@ -1,3 +1,21 @@ +// frmContactEditorTelephone.cpp - frmContactEditorTelephone form. +// +// (c) 2012-2015 Xestia Software Development. +// +// This file is part of Xestia Address Book. +// +// Xestia Address Book is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by the +// Free Software Foundation, version 3 of the license. +// +// Xestia Address Book is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with Xestia Address Book. If not, see + #include "frmContactEditorTelephone.h" #include "../common/textprocessing.h" #include @@ -6,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){ @@ -157,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 { @@ -184,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())); } @@ -333,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 { @@ -360,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 { @@ -379,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 @@ -421,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(",")); @@ -493,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); } @@ -511,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;