X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditorCategory.cpp;h=53bcbd0c738513069e3d10de073dab9f828d59b0;hp=4378c829e0bec4bfc02ec469d5bc6f74cb22a56e;hb=ada42724cf083b0a311cf22260485d61516c25c8;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc diff --git a/source/contacteditor/frmContactEditorCategory.cpp b/source/contacteditor/frmContactEditorCategory.cpp index 4378c82..53bcbd0 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,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){ @@ -58,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 { @@ -77,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())); } @@ -115,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 { @@ -137,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 { @@ -155,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 @@ -195,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; @@ -219,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); } @@ -233,7 +253,11 @@ void frmContactEditorCategory::SetEditorMode(bool EditMode) void frmContactEditorCategory::CloseWindow( wxCommandEvent& event ) { + + // Close this window. + this->Close(); + } void frmContactEditorCategory::SetupPointers(std::map *CategoryList, @@ -246,8 +270,9 @@ void frmContactEditorCategory::SetupPointers(std::map *CategoryLi int CategoryIndex ) { + // Setup the pointers. + CategoryListPtr = CategoryList; - //CategoryListSortAsPtr = CategoryListSortAs; CategoryListAltIDPtr = CategoryListAltID; CategoryListPIDPtr = CategoryListPID; CategoryListTypePtr = CategoryListType;