X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditor-Category.cpp;h=f3e919f8c2b0cb462f0e785317886e2759d116a5;hb=bac054ea5eda94fe663d8b1a7c680ae80de8075c;hp=88e9c85bf904058dbb35c62fe2b1302916cc3a3d;hpb=5b2b2bcea1ab1dfd2b74589573cd16ee9326c4b9;p=xestiaab%2F.git diff --git a/source/contacteditor/frmContactEditor-Category.cpp b/source/contacteditor/frmContactEditor-Category.cpp index 88e9c85..f3e919f 100644 --- a/source/contacteditor/frmContactEditor-Category.cpp +++ b/source/contacteditor/frmContactEditor-Category.cpp @@ -1,68 +1,99 @@ +// frmContactEditor-Category.cpp - frmContactEditor Category tab subroutines. +// +// (c) 2012-2016 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 "frmContactEditor.h" #include "frmContactEditorCategory.h" void frmContactEditor::AddCategory( wxCommandEvent& event ) { - int intResult = 0; + + // Bring up the window to add a category. - frmContactEditorCategory *frameCECategory = new frmContactEditorCategory ( this ); - frameCECategory->SetEditorMode(FALSE); - intResult = GetLastInt(&CategoriesList); - frameCECategory->SetupPointers(&CategoriesList, - &CategoriesListAltID, - &CategoriesListPID, - &CategoriesListType, - &CategoriesListTokens, - &CategoriesListPref, - lboCategories, - (intValueSeek)); - frameCECategory->ShowModal(); - delete frameCECategory; - frameCECategory = NULL; + frmContactEditorCategory *frameCECategory = new frmContactEditorCategory ( this ); + frameCECategory->SetEditorMode(FALSE); + frameCECategory->SetupPointers(&ContactEditorData.CategoriesList, + &ContactEditorData.CategoriesListAltID, + &ContactEditorData.CategoriesListPID, + &ContactEditorData.CategoriesListType, + &ContactEditorData.CategoriesListTokens, + &ContactEditorData.CategoriesListPref, + lboCategories, + (intValueSeek)); + frameCECategory->ShowModal(); + delete frameCECategory; + frameCECategory = NULL; + intValueSeek++; + } void frmContactEditor::ModifyCategory( wxCommandEvent& event ) { - long longSelected = -1; - int intSelectedData = 0; + + // Bring up the window to edit a category. + + long longSelected = -1; + int intSelectedData = 0; - if (!GetSelectedItem(lboCategories, - &longSelected, - &intSelectedData)){ - return; - } + if (lboCategories->GetItemCount() == 0 || !GetSelectedItem(lboCategories, + &longSelected, + &intSelectedData)){ + + return; + + } - frmContactEditorCategory *frameCECategory = new frmContactEditorCategory ( this ); - frameCECategory->SetupPointers(&CategoriesList, - &CategoriesListAltID, - &CategoriesListPID, - &CategoriesListType, - &CategoriesListTokens, - &CategoriesListPref, - lboCategories, - intSelectedData); - frameCECategory->SetEditorMode(TRUE); - frameCECategory->ShowModal(); - delete frameCECategory; - frameCECategory = NULL; + frmContactEditorCategory *frameCECategory = new frmContactEditorCategory ( this ); + frameCECategory->SetupPointers(&ContactEditorData.CategoriesList, + &ContactEditorData.CategoriesListAltID, + &ContactEditorData.CategoriesListPID, + &ContactEditorData.CategoriesListType, + &ContactEditorData.CategoriesListTokens, + &ContactEditorData.CategoriesListPref, + lboCategories, + intSelectedData); + frameCECategory->SetEditorMode(TRUE); + frameCECategory->ShowModal(); + delete frameCECategory; + frameCECategory = NULL; + } void frmContactEditor::DeleteCategory( wxCommandEvent& event ) { - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboCategories, - &longSelected, - &intSelectedData)){ - return; - } + + // Bring up the window to delete the category. + + long longSelected = -1; + int intSelectedData = 0; - lboCategories->DeleteItem(longSelected); + if (lboCategories->GetItemCount() == 0 || !GetSelectedItem(lboCategories, + &longSelected, + &intSelectedData)){ + + return; + + } - DeleteMapData(intSelectedData, &CategoriesList, - &CategoriesListAltID, &CategoriesListPID, - &CategoriesListType, &CategoriesListTokens, - &CategoriesListPref); + lboCategories->DeleteItem(longSelected); + DeleteMapData(intSelectedData, &ContactEditorData.CategoriesList, + &ContactEditorData.CategoriesListAltID, &ContactEditorData.CategoriesListPID, + &ContactEditorData.CategoriesListType, &ContactEditorData.CategoriesListTokens, + &ContactEditorData.CategoriesListPref); + } \ No newline at end of file