X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditor.cpp;h=8881a2a3c4835d55358dd3ca01c28dd5ef1f6570;hb=5ee17950e2c44804fbaf660837f88d725136b978;hp=8ad025b02e0d4ce32bf9b8501fde1a16458008f8;hpb=969329975a0af9d346c76dc34e9ff9cd54cc61ee;p=xestiaab%2F.git diff --git a/source/contacteditor/frmContactEditor.cpp b/source/contacteditor/frmContactEditor.cpp index 8ad025b..8881a2a 100644 --- a/source/contacteditor/frmContactEditor.cpp +++ b/source/contacteditor/frmContactEditor.cpp @@ -3113,22 +3113,48 @@ void frmContactEditor::LoadPicture( wxListEvent& event ) std::string base64dec; std::map::iterator initier; + std::map::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* MapData){