Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Merge branch 'master' of ssh://digit.mahou.co.uk/home/kirinji/repos/xestiaab
[xestiaab/.git] / source / contacteditor / frmContactEditor.cpp
index 8ad025b..8881a2a 100644 (file)
@@ -3113,22 +3113,48 @@ void frmContactEditor::LoadPicture( wxListEvent& event )
     std::string base64dec;
     
     std::map<int,std::string>::iterator initier;
+    std::map<int,wxString>::iterator pictypeiter;
     
     initier = PicturesList.find(intSelectedData);
+    pictypeiter = PicturesListPictureType.find(intSelectedData);
     
     base64dec = base64_decode(initier->second);
     
-    
     wxMemoryInputStream istream(base64dec.c_str(), (size_t)base64dec.size());
     wxImage photo;
     //wxMemoryInputStream istream(base64dec, (size_t)base64dec.size());
     
-    if (!photo.LoadFile(istream, wxBITMAP_TYPE_ANY)){
+    wxPuts(wxT("PicType:") + pictypeiter->second);
+    
+    if (pictypeiter->second == wxT("image/jpeg")){
         
-        return;
+        if (!photo.LoadFile(istream, wxBITMAP_TYPE_JPEG)){
         
-    }
+            return;
+        
+        }
+        
+    } else if (pictypeiter->second == wxT("image/png")){
+        
+        if (!photo.LoadFile(istream, wxBITMAP_TYPE_PNG)){
+            
+            return;
+            
+        }
+        
+    } else if (pictypeiter->second == wxT("image/gif")){
+        
+        if (!photo.LoadFile(istream, wxBITMAP_TYPE_GIF)){
+            
+            return;
+            
+        }
+        
+    } else {
+    
+        return;
     
+    }
     
     PictureImage = (wxBitmap)photo;
     imgPicture->SetBitmap(PictureImage);
@@ -5928,10 +5954,7 @@ void frmContactEditor::SaveContact( wxCommandEvent& event )
     
     ContactData.Add(wxT("UID"), UIDToken, FALSE);
     
-    // Generate ETag data for the contact if it does not exist.
-    // If X-XAB-ETAG-ORIG exists, leave alone and update X-XAB-ETAG.
-    
-    srand (time(NULL));
+    // End the vCard File.
     
     ContactData.Add(wxT("END"), wxT("VCARD"), FALSE);
     
@@ -5951,6 +5974,12 @@ void frmContactEditor::SaveContact( wxCommandEvent& event )
 #if defined(__HAIKU__)
     
     //preffilename = wxT("noo");
+
+#elif defined(__APPLE__)
+    
+    PrefDir = GetUserPrefDir();
+    
+    wxStringTokenizer wSTFilename(wxSContactFilename, wxT("/"));
     
 #elif defined(__WIN32__)
     
@@ -6618,6 +6647,8 @@ bool frmContactEditor::GetSelectedItem(wxListCtrl *ListCtrlPtr,
                                              wxLIST_NEXT_ALL,
                                              wxLIST_STATE_SELECTED);
     
+    *intSelectedData = (int)ListCtrlPtr->GetItemData(*longSelected);
+    
     if (*longSelected == -1){
         return FALSE;
     }
@@ -6625,8 +6656,6 @@ bool frmContactEditor::GetSelectedItem(wxListCtrl *ListCtrlPtr,
         return TRUE;
     }
     
-    *intSelectedData = ListCtrlPtr->GetItemData(*longSelected);  
-    
 }
 
 void frmContactEditor::DeleteMapDataProcess(int IndexNum, std::map<int, std::string>* MapData){
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