X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditorCategory.cpp;h=6df0ef369c89ccc29763690a0c9c098b1173a59c;hp=4378c829e0bec4bfc02ec469d5bc6f74cb22a56e;hb=ce6b921249b87bb62df485af240697ba81cd409d;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc diff --git a/source/contacteditor/frmContactEditorCategory.cpp b/source/contacteditor/frmContactEditorCategory.cpp index 4378c82..6df0ef3 100644 --- a/source/contacteditor/frmContactEditorCategory.cpp +++ b/source/contacteditor/frmContactEditorCategory.cpp @@ -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 + #include "frmContactEditorCategory.h" #include #include "../common/textprocessing.h" @@ -6,26 +24,23 @@ frmContactEditorCategory::frmContactEditorCategory( wxWindow* parent ) : frmContactEditorCategoryADT( parent ) { + + // Setup the window. + EditorMode = FALSE; - sliPriority->Disable(); + priorityCtrl = new XABPriorityCtrl(tabGeneral); + szrGeneral->Add(priorityCtrl, 1, wxEXPAND, 5); 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){ @@ -58,9 +73,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 { @@ -77,9 +92,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())); } @@ -115,9 +130,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 { @@ -137,9 +152,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 { @@ -155,6 +170,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 +213,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,11 +238,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); } @@ -233,7 +252,11 @@ void frmContactEditorCategory::SetEditorMode(bool EditMode) void frmContactEditorCategory::CloseWindow( wxCommandEvent& event ) { + + // Close this window. + this->Close(); + } void frmContactEditorCategory::SetupPointers(std::map *CategoryList, @@ -246,8 +269,9 @@ void frmContactEditorCategory::SetupPointers(std::map *CategoryLi int CategoryIndex ) { + // Setup the pointers. + CategoryListPtr = CategoryList; - //CategoryListSortAsPtr = CategoryListSortAs; CategoryListAltIDPtr = CategoryListAltID; CategoryListPIDPtr = CategoryListPID; CategoryListTypePtr = CategoryListType;