Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditorKey: Implemented priority control
[xestiaab/.git] / source / contacteditor / frmContactEditorCategory.cpp
index 4378c82..bb61083 100644 (file)
@@ -1,3 +1,21 @@
+// frmContactEditorCategory.cpp - frmContactEditorCategory 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 "frmContactEditorCategory.h"
 #include <wx/tokenzr.h>
 #include "../common/textprocessing.h"
@@ -6,6 +24,9 @@ frmContactEditorCategory::frmContactEditorCategory( wxWindow* parent )
 :
 frmContactEditorCategoryADT( parent )
 {
+       
+       // Setup the window.
+       
        EditorMode = FALSE;
        sliPriority->Disable();
 
@@ -16,16 +37,22 @@ frmContactEditorCategoryADT( parent )
 
 void frmContactEditorCategory::EnablePriority( wxCommandEvent& event )
 {
+       
+       // Enable/disable the priority setting.
+       
        if (chkUsePref->IsChecked()){
                sliPriority->Enable();
        } else {
                sliPriority->Disable();
        }
+       
 }
 
 void frmContactEditorCategory::ProcessAction( wxCommandEvent& event )
 {
 
+       // Process action.
+       
        long ListCtrlIndex;
        
        if (EditorMode == FALSE){
@@ -155,6 +182,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
@@ -195,7 +225,8 @@ void frmContactEditorCategory::SetEditorMode(bool EditMode)
                
                striter = CategoryListTypePtr->find(CategoryListIndex); 
                
-               if (striter->first == CategoryListIndex){
+               if (striter->first == CategoryListIndex &&
+                       striter != CategoryListTypePtr->end()){
                
                        strValue = striter->second;
                
@@ -219,7 +250,8 @@ 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();
@@ -233,7 +265,11 @@ void frmContactEditorCategory::SetEditorMode(bool EditMode)
 
 void frmContactEditorCategory::CloseWindow( wxCommandEvent& event )
 {
+       
+       // Close this window.
+       
        this->Close();
+       
 }
 
 void frmContactEditorCategory::SetupPointers(std::map<int, wxString> *CategoryList,
@@ -246,8 +282,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