Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor: Fix issue with intValueSeek not being incremented properly
[xestiaab/.git] / source / contacteditor / frmContactEditor-Key.cpp
index f97800f..b9edcaf 100644 (file)
@@ -1,6 +1,6 @@
 // frmContactEditor-Key.cpp - frmContactEditor Key tab subroutines.
 //
-// (c) 2012-2015 Xestia Software Development.
+// (c) 2012-2016 Xestia Software Development.
 //
 // This file is part of Xestia Address Book.
 //
 
 void frmContactEditor::AddKey( wxCommandEvent& event )
 {
-    int intResult = 0;
-    
-    frmContactEditorKey *frameCEKey = new frmContactEditorKey ( this );
-    frameCEKey->SetEditorMode(FALSE);
-    intResult = GetLastInt(&ContactEditorData.KeyList);
-    frameCEKey->SetupPointers(&ContactEditorData.KeyList,
-                              &ContactEditorData.KeyListAltID,
-                              &ContactEditorData.KeyListPID,
-                              &ContactEditorData.KeyListKeyType,
-                              &ContactEditorData.KeyListDataType,
-                              &ContactEditorData.KeyListType,
-                              &ContactEditorData.KeyListTokens,
-                              &ContactEditorData.KeyListPref,
-                              lboKeys,
-                              (intValueSeek));
-    frameCEKey->ShowModal();
-    delete frameCEKey;
-    frameCEKey = NULL;
+       
+       // Bring up the window for adding a key.
+           
+       frmContactEditorKey *frameCEKey = new frmContactEditorKey ( this );
+       frameCEKey->SetEditorMode(FALSE);
+       frameCEKey->SetupPointers(&ContactEditorData.KeyList,
+               &ContactEditorData.KeyListAltID,
+                &ContactEditorData.KeyListPID,
+                &ContactEditorData.KeyListKeyType,
+                &ContactEditorData.KeyListDataType,
+                &ContactEditorData.KeyListType,
+                &ContactEditorData.KeyListTokens,
+                &ContactEditorData.KeyListPref,
+                lboKeys,
+                (intValueSeek));
+       frameCEKey->ShowModal();
+       delete frameCEKey;
+       frameCEKey = NULL;
+    intValueSeek++;
+
 }
 
 void frmContactEditor::ModifyKey( wxCommandEvent& event )
 {
-    long longSelected = -1;
-    int intSelectedData = 0;
+       
+       // Bring up the window for modifying a key.
+       
+       long longSelected = -1;
+       int intSelectedData = 0;
     
-    if (!GetSelectedItem(lboKeys,
-                         &longSelected,
-                         &intSelectedData)){
-        return;
-    }
+       if (lboKeys->GetItemCount() == 0 || !GetSelectedItem(lboKeys,
+               &longSelected,
+                &intSelectedData)){
+               return;
+       }
     
-    frmContactEditorKey *frameCEKey = new frmContactEditorKey ( this );
-    frameCEKey->SetupPointers(&ContactEditorData.KeyList,
-                              &ContactEditorData.KeyListAltID,
-                              &ContactEditorData.KeyListPID,
-                              &ContactEditorData.KeyListKeyType,
-                              &ContactEditorData.KeyListDataType,
-                              &ContactEditorData.KeyListType,
-                              &ContactEditorData.KeyListTokens,
-                              &ContactEditorData.KeyListPref,
-                              lboKeys,
-                              intSelectedData);
-    frameCEKey->SetEditorMode(TRUE);
-    frameCEKey->ShowModal();
-    delete frameCEKey;
-    frameCEKey = NULL;
+       frmContactEditorKey *frameCEKey = new frmContactEditorKey ( this );
+       frameCEKey->SetupPointers(&ContactEditorData.KeyList,
+               &ContactEditorData.KeyListAltID,
+                &ContactEditorData.KeyListPID,
+                &ContactEditorData.KeyListKeyType,
+                &ContactEditorData.KeyListDataType,
+                &ContactEditorData.KeyListType,
+                &ContactEditorData.KeyListTokens,
+                &ContactEditorData.KeyListPref,
+                lboKeys,
+                intSelectedData);
+       frameCEKey->SetEditorMode(TRUE);
+       frameCEKey->ShowModal();
+       delete frameCEKey;
+       frameCEKey = NULL;
+       
 }
 
 void frmContactEditor::DeleteKey( wxCommandEvent& event )
 {
-    long longSelected = -1;
-    int intSelectedData = 0;
+       
+       // Delete a key.
+       
+       long longSelected = -1;
+       int intSelectedData = 0;
     
-    if (!GetSelectedItem(lboKeys,
-                         &longSelected,
-                         &intSelectedData)){
-        return;
-    }
+       if (lboKeys->GetItemCount() == 0 || !GetSelectedItem(lboKeys,
+               &longSelected,
+               &intSelectedData)){
+               return;
+       }
     
-    lboKeys->DeleteItem(longSelected);
+       lboKeys->DeleteItem(longSelected);
     
-    DeleteMapData(intSelectedData, &ContactEditorData.KeyList, &ContactEditorData.KeyListAltID,
-                  &ContactEditorData.KeyListPID, &ContactEditorData.KeyListKeyType, &ContactEditorData.KeyListDataType, &ContactEditorData.KeyListType,
-                  &ContactEditorData.KeyListTokens, &ContactEditorData.KeyListPref);
+       DeleteMapData(intSelectedData, &ContactEditorData.KeyList, &ContactEditorData.KeyListAltID,
+               &ContactEditorData.KeyListPID, &ContactEditorData.KeyListKeyType, &ContactEditorData.KeyListDataType, &ContactEditorData.KeyListType,
+               &ContactEditorData.KeyListTokens, &ContactEditorData.KeyListPref);
     
 }
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