Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added comments to describe functions in frmContactEditorTelephone
[xestiaab/.git] / source / contacteditor / frmContactEditorTelephone.cpp
index d3ac345..0df8d2b 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>
+
 #include "frmContactEditorTelephone.h"
 #include "../common/textprocessing.h"
 #include <wx/tokenzr.h>
@@ -6,21 +24,32 @@ frmContactEditorTelephone::frmContactEditorTelephone( wxWindow* parent )
 :
 frmContactEditorTelephoneADT( parent )
 {
+       
+       // Setup the window.
+       
        EditorMode = FALSE;
        sliPriority->Disable(); 
+       
 }
 
 void frmContactEditorTelephone::EnablePriority( wxCommandEvent& event )
 {
+       
+       // Enable/disable the priority setting.
+       
        if (chkUsePref->IsChecked()){
                sliPriority->Enable();
        } else {
                sliPriority->Disable();
        }
+       
 }
 
 void frmContactEditorTelephone::ProcessAction( wxCommandEvent& event )
 {
+       
+       // Process action.
+       
        long ListCtrlIndex;
        
        if (EditorMode == FALSE){
@@ -157,7 +186,9 @@ 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.
                
@@ -333,6 +364,9 @@ 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);
@@ -379,12 +413,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 +460,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,7 +538,8 @@ 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();
@@ -511,16 +557,20 @@ void frmContactEditorTelephone::SetupPointers(std::map<int, wxString> *Telephone
        std::map<int, wxString> *TelephoneListAltID,
        std::map<int, wxString> *TelephoneListPID,
        std::map<int, wxString> *TelephoneListType,
+       std::map<int, wxString> *TelephoneListTypeInfo,
        std::map<int, wxString> *TelephoneListTokens,
        std::map<int, int> *TelephoneListPref,
        wxListCtrl *TelephoneListCtrl,
        int TelephoneIndex )
 {
 
+       // Setup the pointers.
+       
        TelephoneListPtr = TelephoneList;
        TelephoneListAltIDPtr = TelephoneListAltID;
        TelephoneListPIDPtr = TelephoneListPID;
        TelephoneListTypePtr = TelephoneListType;
+       TelephoneListTypeInfoPtr = TelephoneListTypeInfo;
        TelephoneListTokensPtr = TelephoneListTokens;
        TelephoneListPrefPtr = TelephoneListPref;
        TelephoneListCtrlPtr = TelephoneListCtrl;
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy