Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor: Stop XAB crashing when pressing Modify/Delete
[xestiaab/.git] / source / contacteditor / frmContactEditor-Home.cpp
index 7514128..e610a94 100644 (file)
 void frmContactEditor::AddHomeNickname( wxCommandEvent& event )
 {
        
-       int intResult = 0;
-    
+       // Bring up window to add nickname.
+       
        frmContactEditorNickname *frameCENickname = new frmContactEditorNickname ( this );
        frameCENickname->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeNicknamesList);
        frameCENickname->SetupPointers(&ContactEditorData.HomeNicknamesList,
                &ContactEditorData.HomeNicknamesListAltID,
                 &ContactEditorData.HomeNicknamesListPID,
@@ -59,10 +58,12 @@ void frmContactEditor::AddHomeNickname( wxCommandEvent& event )
 void frmContactEditor::ModifyHomeNickname( wxCommandEvent& event )
 {
        
+       // Bring up window to modify nickname.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeNicknames,
+       if (lboHomeNicknames->GetItemCount() == 0 || !GetSelectedItem(lboHomeNicknames,
                &longSelected,
                 &intSelectedData)){
                return;
@@ -88,10 +89,12 @@ void frmContactEditor::ModifyHomeNickname( wxCommandEvent& event )
 void frmContactEditor::DeleteHomeNickname( wxCommandEvent& event )
 {
     
+       // Bring up window to delete nickname.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeNicknames,
+       if (lboHomeNicknames->GetItemCount() == 0 || !GetSelectedItem(lboHomeNicknames,
                 &longSelected,
                 &intSelectedData)){
                return;
@@ -113,11 +116,10 @@ void frmContactEditor::DeleteHomeNickname( wxCommandEvent& event )
 void frmContactEditor::AddHomeAddress( wxCommandEvent& event )
 {
        
-       int intResult = 0;
-    
+       // Bring up window to add address.      
+       
        frmContactEditorAddress *frameCEAddress = new frmContactEditorAddress ( this );
        frameCEAddress->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeAddressList);
        frameCEAddress->SetupPointers(&ContactEditorData.HomeAddressList,
                &ContactEditorData.HomeAddressListTown,
                &ContactEditorData.HomeAddressListCounty,
@@ -144,10 +146,12 @@ void frmContactEditor::AddHomeAddress( wxCommandEvent& event )
 void frmContactEditor::ModifyHomeAddress( wxCommandEvent& event )
 {
        
+       // Bring up window to modify address.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeAddresses,
+       if (lboHomeAddresses->GetItemCount() == 0 || !GetSelectedItem(lboHomeAddresses,
                &longSelected,
                 &intSelectedData)){
                return;
@@ -180,11 +184,13 @@ void frmContactEditor::ModifyHomeAddress( wxCommandEvent& event )
 
 void frmContactEditor::DeleteHomeAddress( wxCommandEvent& event )
 {
-    
+       // Bring up window to delete address.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeAddresses,
+       if (lboHomeAddresses->GetItemCount() == 0 || !GetSelectedItem(lboHomeAddresses,
                 &longSelected,
                 &intSelectedData)){
                return;
@@ -207,11 +213,10 @@ void frmContactEditor::DeleteHomeAddress( wxCommandEvent& event )
 void frmContactEditor::AddHomeEmail( wxCommandEvent& event )
 {
        
-       int intResult = 0;
-    
+       // Bring up window to add email.
+       
        frmContactEditorEmail *frameCEEmail = new frmContactEditorEmail ( this );
        frameCEEmail->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeAddressList);
        frameCEEmail->SetupPointers(&ContactEditorData.HomeEmailList,
                 &ContactEditorData.HomeEmailListAltID,
                &ContactEditorData.HomeEmailListPID,
@@ -229,10 +234,12 @@ void frmContactEditor::AddHomeEmail( wxCommandEvent& event )
 void frmContactEditor::ModifyHomeEmail( wxCommandEvent& event )
 {
        
+       // Bring up window to modify email.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeEmails,
+       if (lboHomeEmails->GetItemCount() == 0 || !GetSelectedItem(lboHomeEmails,
                &longSelected,
                 &intSelectedData)){
                return;
@@ -258,10 +265,12 @@ void frmContactEditor::ModifyHomeEmail( wxCommandEvent& event )
 void frmContactEditor::DeleteHomeEmail( wxCommandEvent& event )
 {
        
+       // Bring up window to delete email.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeEmails,
+       if (lboHomeEmails->GetItemCount() == 0 || !GetSelectedItem(lboHomeEmails,
                &longSelected,
                 &intSelectedData)){
                return;
@@ -280,11 +289,10 @@ void frmContactEditor::DeleteHomeEmail( wxCommandEvent& event )
 void frmContactEditor::AddHomeIM( wxCommandEvent& event )
 {
        
-       int intResult = 0;
-    
+       // Bring up window to add IM.
+       
        frmContactEditorIM *frameCEIM = new frmContactEditorIM ( this );
        frameCEIM->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeIMList);
        frameCEIM->SetupPointers(&ContactEditorData.HomeIMList,
                &ContactEditorData.HomeIMListAltID,
                &ContactEditorData.HomeIMListPID,
@@ -303,11 +311,13 @@ void frmContactEditor::AddHomeIM( wxCommandEvent& event )
 
 void frmContactEditor::ModifyHomeIM( wxCommandEvent& event )
 {
+
+       // Bring up window to modify IM.
        
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeIM,
+       if (lboHomeIM->GetItemCount() == 0 || !GetSelectedItem(lboHomeIM,
                &longSelected,
                &intSelectedData)){
                return;
@@ -333,11 +343,13 @@ void frmContactEditor::ModifyHomeIM( wxCommandEvent& event )
 
 void frmContactEditor::DeleteHomeIM( wxCommandEvent& event )
 {
+       
+       // Bring up window to delete IM.
 
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeIM,
+       if (lboHomeIM->GetItemCount() == 0 || !GetSelectedItem(lboHomeIM,
                &longSelected,
                &intSelectedData)){
                return;
@@ -356,11 +368,10 @@ void frmContactEditor::DeleteHomeIM( wxCommandEvent& event )
 void frmContactEditor::AddHomeTelephone( wxCommandEvent& event )
 {
        
-       int intResult = 0;
-    
+       // Bring up window to add telephone.
+       
        frmContactEditorTelephone *frameCETel = new frmContactEditorTelephone ( this );
        frameCETel->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeTelephoneList);
        frameCETel->SetupPointers(&ContactEditorData.HomeTelephoneList,
                &ContactEditorData.HomeTelephoneListAltID,
                &ContactEditorData.HomeTelephoneListPID,
@@ -379,10 +390,12 @@ void frmContactEditor::AddHomeTelephone( wxCommandEvent& event )
 void frmContactEditor::ModifyHomeTelephone( wxCommandEvent& event )
 {
        
+       // Bring up window to modify telephone.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeTelephone,
+       if (lboHomeTelephone->GetItemCount() == 0 || !GetSelectedItem(lboHomeTelephone,
                &longSelected,
                &intSelectedData)){
                return;
@@ -408,10 +421,12 @@ void frmContactEditor::ModifyHomeTelephone( wxCommandEvent& event )
 void frmContactEditor::DeleteHomeTelephone( wxCommandEvent& event )
 {
        
+       // Bring up window to delete telephone. 
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeTelephone,
+       if (lboHomeTelephone->GetItemCount() == 0 || !GetSelectedItem(lboHomeTelephone,
                &longSelected,
                 &intSelectedData)){
                return;
@@ -428,12 +443,11 @@ void frmContactEditor::DeleteHomeTelephone( wxCommandEvent& event )
 
 void frmContactEditor::AddHomeLanguage( wxCommandEvent& event )
 {
-       int intResult = 0;
-    
+       
+       // Bring up window to add language.
+       
        frmContactEditorLanguages *frameCELang = new frmContactEditorLanguages ( this );
        frameCELang->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeLanguageList);
-       
        frameCELang->SetupPointers(&ContactEditorData.HomeLanguageList,
                &ContactEditorData.HomeLanguageListAltID,
                &ContactEditorData.HomeLanguageListPID,
@@ -451,10 +465,12 @@ void frmContactEditor::AddHomeLanguage( wxCommandEvent& event )
 void frmContactEditor::ModifyHomeLanguage( wxCommandEvent& event )
 {
        
+       // Bring up window to modify language.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeLanguages,
+       if (lboHomeLanguages->GetItemCount() == 0 || !GetSelectedItem(lboHomeLanguages,
                &longSelected,
                 &intSelectedData)){
                return;
@@ -479,10 +495,12 @@ void frmContactEditor::ModifyHomeLanguage( wxCommandEvent& event )
 void frmContactEditor::DeleteHomeLanguage( wxCommandEvent& event )
 {
        
+       // Bring up window to delete language.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeLanguages,
+       if (lboHomeLanguages->GetItemCount() == 0 || !GetSelectedItem(lboHomeLanguages,
                &longSelected,
                 &intSelectedData)){
                return;
@@ -500,11 +518,10 @@ void frmContactEditor::DeleteHomeLanguage( wxCommandEvent& event )
 void frmContactEditor::AddHomeTimezone( wxCommandEvent& event )
 {
        
-       int intResult = 0;
-    
+       // Bring up window to add timezone.
+       
        frmContactEditorTimezones *frameCETZ = new frmContactEditorTimezones ( this );
        frameCETZ->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeTZList);
        frameCETZ->SetupPointers(&ContactEditorData.HomeTZList,
                &ContactEditorData.HomeTZListAltID,
                &ContactEditorData.HomeTZListPID,
@@ -523,10 +540,12 @@ void frmContactEditor::AddHomeTimezone( wxCommandEvent& event )
 void frmContactEditor::ModifyHomeTimezone( wxCommandEvent& event )
 {
        
+       // Bring up window to modify timezone.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeTimezones,
+       if (lboHomeTimezones->GetItemCount() == 0 || !GetSelectedItem(lboHomeTimezones,
                &longSelected,
                &intSelectedData)){
                return;
@@ -551,10 +570,13 @@ void frmContactEditor::ModifyHomeTimezone( wxCommandEvent& event )
 
 void frmContactEditor::DeleteHomeTimezone( wxCommandEvent& event )
 {
+       
+       // Bring up window to delete timezone.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeTimezones,
+       if (lboHomeTimezones->GetItemCount() == 0 || !GetSelectedItem(lboHomeTimezones,
                &longSelected,
                &intSelectedData)){
                return;
@@ -571,12 +593,11 @@ void frmContactEditor::DeleteHomeTimezone( wxCommandEvent& event )
 
 void frmContactEditor::AddHomeGeoposition( wxCommandEvent& event )
 {
+
+       // Bring up window to add geoposition.
        
-       int intResult = 0;
-    
        frmContactEditorGeoposition *frameCEGeo = new frmContactEditorGeoposition ( this );
        frameCEGeo->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeGeographyList);
        frameCEGeo->SetupPointers(&ContactEditorData.HomeGeographyList,
                &ContactEditorData.HomeGeographyListAltID,
                &ContactEditorData.HomeGeographyListPID,
@@ -596,10 +617,12 @@ void frmContactEditor::AddHomeGeoposition( wxCommandEvent& event )
 void frmContactEditor::ModifyHomeGeoposition( wxCommandEvent& event )
 {
        
+       // Bring up window to modify geoposition.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeGeoposition,
+       if (lboHomeGeoposition->GetItemCount() == 0 || !GetSelectedItem(lboHomeGeoposition,
                &longSelected,
                &intSelectedData)){
                return;
@@ -626,10 +649,12 @@ void frmContactEditor::ModifyHomeGeoposition( wxCommandEvent& event )
 void frmContactEditor::DeleteHomeGeoposition( wxCommandEvent& event )
 {
        
+       // Bring up window to delete geoposition.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeGeoposition,
+       if (lboHomeGeoposition->GetItemCount() == 0 || !GetSelectedItem(lboHomeGeoposition,
                &longSelected,
                &intSelectedData)){
                return;
@@ -647,12 +672,11 @@ void frmContactEditor::DeleteHomeGeoposition( wxCommandEvent& event )
 
 void frmContactEditor::AddHomeWebsite( wxCommandEvent& event )
 {
+
+       // Bring up window to add website.
        
-       int intResult = 0;
-    
        frmContactEditorWebsites *frameCEWeb = new frmContactEditorWebsites ( this );
        frameCEWeb->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeWebsiteList);
        frameCEWeb->SetupPointers(&ContactEditorData.HomeWebsiteList,
                &ContactEditorData.HomeWebsiteListAltID,
                &ContactEditorData.HomeWebsiteListPID,
@@ -671,10 +695,12 @@ void frmContactEditor::AddHomeWebsite( wxCommandEvent& event )
 void frmContactEditor::ModifyHomeWebsite( wxCommandEvent& event )
 {
        
+       // Bring up window to modify website.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeWebsites,
+       if (lboHomeWebsites->GetItemCount() == 0 || !GetSelectedItem(lboHomeWebsites,
                &longSelected,
                &intSelectedData)){
                return;
@@ -700,10 +726,12 @@ void frmContactEditor::ModifyHomeWebsite( wxCommandEvent& event )
 void frmContactEditor::DeleteHomeWebsite( wxCommandEvent& event )
 {
        
+       // Bring up window to delete website.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeWebsites,
+       if (lboHomeWebsites->GetItemCount() == 0 || !GetSelectedItem(lboHomeWebsites,
                &longSelected,
                &intSelectedData)){
                return;
@@ -721,11 +749,10 @@ void frmContactEditor::DeleteHomeWebsite( wxCommandEvent& event )
 void frmContactEditor::AddHomeTitle( wxCommandEvent& event )
 {
        
-       int intResult = 0;
-    
+       // Bring up window to add title.
+       
        frmContactEditorTitles *frameCETitle = new frmContactEditorTitles ( this );
        frameCETitle->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeTitleList);
        frameCETitle->SetupPointers(&ContactEditorData.HomeTitleList,
                &ContactEditorData.HomeTitleListLanguage,
                &ContactEditorData.HomeTitleListAltID,
@@ -744,10 +771,12 @@ void frmContactEditor::AddHomeTitle( wxCommandEvent& event )
 void frmContactEditor::ModifyHomeTitle( wxCommandEvent& event )
 {
        
+       // Bring up window to modify title.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeTitles,
+       if (lboHomeTitles->GetItemCount() == 0 || !GetSelectedItem(lboHomeTitles,
                &longSelected,
                &intSelectedData)){
                return;
@@ -773,10 +802,12 @@ void frmContactEditor::ModifyHomeTitle( wxCommandEvent& event )
 void frmContactEditor::DeleteHomeTitle( wxCommandEvent& event )
 {
        
+       // Bring up window to delete title.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeTitles,
+       if (lboHomeTitles->GetItemCount() == 0 || !GetSelectedItem(lboHomeTitles,
                &longSelected,
                &intSelectedData)){
                return;
@@ -794,11 +825,10 @@ void frmContactEditor::DeleteHomeTitle( wxCommandEvent& event )
 void frmContactEditor::AddHomeRole( wxCommandEvent& event )
 {
        
-       int intResult = 0;
-    
+       // Bring up window to add role.
+       
        frmContactEditorRoles *frameCERole = new frmContactEditorRoles ( this );
        frameCERole->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeRoleList);
        frameCERole->SetupPointers(&ContactEditorData.HomeRoleList,
                &ContactEditorData.HomeRoleListLanguage,
                &ContactEditorData.HomeRoleListAltID,
@@ -816,11 +846,13 @@ void frmContactEditor::AddHomeRole( wxCommandEvent& event )
 
 void frmContactEditor::ModifyHomeRole( wxCommandEvent& event )
 {
+
+       // Bring up window to modify role.
        
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeRoles,
+       if (lboHomeRoles->GetItemCount() == 0 || !GetSelectedItem(lboHomeRoles,
                &longSelected,
                &intSelectedData)){
                return;
@@ -846,10 +878,12 @@ void frmContactEditor::ModifyHomeRole( wxCommandEvent& event )
 void frmContactEditor::DeleteHomeRole( wxCommandEvent& event )
 {
        
+       // Bring up window to delete role.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeRoles,
+       if (lboHomeRoles->GetItemCount() == 0 || !GetSelectedItem(lboHomeRoles,
                &longSelected,
                &intSelectedData)){
                return;
@@ -867,11 +901,10 @@ void frmContactEditor::DeleteHomeRole( wxCommandEvent& event )
 void frmContactEditor::AddHomeOrganisation( wxCommandEvent& event )
 {
        
-       int intResult = 0;
-    
+       // Bring up window to add organisation.
+       
        frmContactEditorOrganisations *frameCEOrg = new frmContactEditorOrganisations ( this );
        frameCEOrg->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeOrganisationsList);
        frameCEOrg->SetupPointers(&ContactEditorData.HomeOrganisationsList,
                &ContactEditorData.HomeOrganisationsListLanguage,
                &ContactEditorData.HomeOrganisationsListSortAs,
@@ -891,10 +924,12 @@ void frmContactEditor::AddHomeOrganisation( wxCommandEvent& event )
 void frmContactEditor::ModifyHomeOrganisation( wxCommandEvent& event )
 {
        
+       // Bring up window to modify organisation.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeOrganisations,
+       if (lboHomeOrganisations->GetItemCount() == 0 || !GetSelectedItem(lboHomeOrganisations,
                &longSelected,
                &intSelectedData)){
                return;
@@ -921,10 +956,12 @@ void frmContactEditor::ModifyHomeOrganisation( wxCommandEvent& event )
 void frmContactEditor::DeleteHomeOrganisation( wxCommandEvent& event )
 {
        
+       // Bring up window to delete organisation.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeOrganisations,
+       if (lboHomeOrganisations->GetItemCount() == 0 ||!GetSelectedItem(lboHomeOrganisations,
                &longSelected,
                &intSelectedData)){
                return;
@@ -943,11 +980,10 @@ void frmContactEditor::DeleteHomeOrganisation( wxCommandEvent& event )
 void frmContactEditor::AddHomeNote( wxCommandEvent& event )
 {
        
-       int intResult = 0;
-    
+       // Bring up window to add note.
+       
        frmContactEditorNotes *frameCENote = new frmContactEditorNotes ( this );
        frameCENote->SetEditorMode(FALSE, CE_HOME);
-       intResult = GetLastInt(&ContactEditorData.HomeNoteList);
        frameCENote->SetupPointers(&ContactEditorData.HomeNoteList,
                &ContactEditorData.HomeNoteListLanguage,
                &ContactEditorData.HomeNoteListAltID,
@@ -966,10 +1002,12 @@ void frmContactEditor::AddHomeNote( wxCommandEvent& event )
 void frmContactEditor::ModifyHomeNote( wxCommandEvent& event )
 {
        
+       // Bring up window to modify note.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeNotes,
+       if (lboHomeNotes->GetItemCount() == 0 || !GetSelectedItem(lboHomeNotes,
                &longSelected,
                &intSelectedData)){
                return;
@@ -995,16 +1033,18 @@ void frmContactEditor::ModifyHomeNote( wxCommandEvent& event )
 void frmContactEditor::DeleteHomeNote( wxCommandEvent& event )
 {
        
+       // Bring up window to delete note.
+       
        long longSelected = -1;
        int intSelectedData = 0;
     
-       if (!GetSelectedItem(lboHomeNotes,
+       if (lboHomeNotes->GetItemCount() == 0 || !GetSelectedItem(lboHomeNotes,
                &longSelected,
                &intSelectedData)){
                return;
        }
     
-       lboNotes->DeleteItem(longSelected);
+       lboHomeNotes->DeleteItem(longSelected);
     
        DeleteMapData(intSelectedData, &ContactEditorData.HomeNoteList,
                &ContactEditorData.HomeNoteListLanguage, &ContactEditorData.HomeNoteListAltID,
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