Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor(*): Call Layout on szrGeneral after adding priorty control
[xestiaab/.git] / source / contacteditor / frmContactEditorCategory.cpp
index eba5dad..53bcbd0 100644 (file)
@@ -24,26 +24,24 @@ frmContactEditorCategory::frmContactEditorCategory( wxWindow* parent )
 :
 frmContactEditorCategoryADT( parent )
 {
+       
+       // Setup the window.
+       
        EditorMode = FALSE;
-       sliPriority->Disable();
+       priorityCtrl = new XABPriorityCtrl(tabGeneral);
+       szrGeneral->Add(priorityCtrl, 1, wxEXPAND, 5);
+       szrGeneral->Layout();
 
        cmbType->Append(wxT(""));
        cmbType->Append(_("Home"));
        cmbType->Append(_("Work"));     
 }
 
-void frmContactEditorCategory::EnablePriority( wxCommandEvent& event )
-{
-       if (chkUsePref->IsChecked()){
-               sliPriority->Enable();
-       } else {
-               sliPriority->Disable();
-       }
-}
-
 void frmContactEditorCategory::ProcessAction( wxCommandEvent& event )
 {
 
+       // Process action.
+       
        long ListCtrlIndex;
        
        if (EditorMode == FALSE){
@@ -76,9 +74,9 @@ void frmContactEditorCategory::ProcessAction( wxCommandEvent& event )
                
                // Setup Category Priority.
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       CategoryListPrefPtr->insert(std::make_pair(CategoryListIndex, sliPriority->GetValue()));
+                       CategoryListPrefPtr->insert(std::make_pair(CategoryListIndex, priorityCtrl->GetValue()));
                
                } else {
                
@@ -95,9 +93,9 @@ void frmContactEditorCategory::ProcessAction( wxCommandEvent& event )
                coldata.SetText(txtCategory->GetValue());
                ListCtrlIndex = CategoryListCtrlPtr->InsertItem(coldata);
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       CategoryListCtrlPtr->SetItem(ListCtrlIndex, 1, wxString::Format(wxT("%i"), sliPriority->GetValue()));
+                       CategoryListCtrlPtr->SetItem(ListCtrlIndex, 1, wxString::Format(wxT("%i"), priorityCtrl->GetValue()));
                
                }
                
@@ -133,9 +131,9 @@ void frmContactEditorCategory::ProcessAction( wxCommandEvent& event )
                
                CategoryListPrefPtr->erase(CategoryListIndex);
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       CategoryListPrefPtr->insert(std::make_pair(CategoryListIndex, sliPriority->GetValue()));
+                       CategoryListPrefPtr->insert(std::make_pair(CategoryListIndex, priorityCtrl->GetValue()));
                
                } else {
                
@@ -155,9 +153,9 @@ void frmContactEditorCategory::ProcessAction( wxCommandEvent& event )
                
                CategoryListCtrlPtr->SetItem(longSelected, 0, txtCategory->GetValue());
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       CategoryListCtrlPtr->SetItem(longSelected, 1, wxString::Format(wxT("%i"), sliPriority->GetValue()));
+                       CategoryListCtrlPtr->SetItem(longSelected, 1, wxString::Format(wxT("%i"), priorityCtrl->GetValue()));
                
                } else {
                
@@ -173,6 +171,9 @@ void frmContactEditorCategory::ProcessAction( wxCommandEvent& event )
 
 void frmContactEditorCategory::SetEditorMode(bool EditMode)
 {
+       
+       // Set the editor mode.
+       
        // Set if the editor is adding or editing an address.
        // FALSE = Add
        // TRUE = Edit
@@ -213,7 +214,8 @@ void frmContactEditorCategory::SetEditorMode(bool EditMode)
                
                striter = CategoryListTypePtr->find(CategoryListIndex); 
                
-               if (striter->first == CategoryListIndex){
+               if (striter->first == CategoryListIndex &&
+                       striter != CategoryListTypePtr->end()){
                
                        strValue = striter->second;
                
@@ -237,11 +239,11 @@ void frmContactEditorCategory::SetEditorMode(bool EditMode)
                
                intiter = CategoryListPrefPtr->find(CategoryListIndex);
                
-               if (intiter->first == CategoryListIndex && intiter->second > 0){
+               if (intiter->first == CategoryListIndex && intiter->second > 0 &&
+                       intiter != CategoryListPrefPtr->end()){
                
-                       sliPriority->SetValue(intiter->second);
-                       sliPriority->Enable();
-                       chkUsePref->SetValue(TRUE);
+                       priorityCtrl->SetValue(intiter->second);
+                       priorityCtrl->EnablePriority(true);
                
                }
                
@@ -251,7 +253,11 @@ void frmContactEditorCategory::SetEditorMode(bool EditMode)
 
 void frmContactEditorCategory::CloseWindow( wxCommandEvent& event )
 {
+       
+       // Close this window.
+       
        this->Close();
+       
 }
 
 void frmContactEditorCategory::SetupPointers(std::map<int, wxString> *CategoryList,
@@ -264,8 +270,9 @@ void frmContactEditorCategory::SetupPointers(std::map<int, wxString> *CategoryLi
        int CategoryIndex )
 {
 
+       // Setup the pointers.
+       
        CategoryListPtr = CategoryList;
-       //CategoryListSortAsPtr = CategoryListSortAs;
        CategoryListAltIDPtr = CategoryListAltID;
        CategoryListPIDPtr = CategoryListPID;
        CategoryListTypePtr = CategoryListType;
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