Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor(*): Call Layout on szrGeneral after adding priorty control
[xestiaab/.git] / source / contacteditor / frmContactEditorTelephone.cpp
index d6d8399..68d6562 100644 (file)
@@ -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
@@ -517,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);
                
                }               
                
@@ -542,6 +552,8 @@ void frmContactEditorTelephone::SetupPointers(std::map<int, wxString> *Telephone
        int TelephoneIndex )
 {
 
+       // Setup the pointers.
+       
        TelephoneListPtr = TelephoneList;
        TelephoneListAltIDPtr = TelephoneListAltID;
        TelephoneListPIDPtr = TelephoneListPID;
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