X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditor-Logo.cpp;h=8205da77d6b13e0c015cfbbf5f32276c5a8fbdd1;hb=76d4a9e4241fb4a79b6785e30b5c80b6a2c2d037;hp=5f0eba88891b69a0041e60246dc7cb125de51d84;hpb=819087692c30d3f3fff5074bf43c822f0f446037;p=xestiaab%2F.git diff --git a/source/contacteditor/frmContactEditor-Logo.cpp b/source/contacteditor/frmContactEditor-Logo.cpp index 5f0eba8..8205da7 100644 --- a/source/contacteditor/frmContactEditor-Logo.cpp +++ b/source/contacteditor/frmContactEditor-Logo.cpp @@ -35,22 +35,46 @@ void frmContactEditor::LoadLogo( wxListEvent& event ) std::string base64dec; std::map::iterator initier; + std::map::iterator pictypeiter; - initier = LogosList.find(intSelectedData); + initier = ContactEditorData.LogosList.find(intSelectedData); + pictypeiter = ContactEditorData.LogosListPictureType.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)){ + 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; + + } LogoImage = (wxBitmap)photo; imgLogo->SetBitmap(LogoImage); @@ -155,8 +179,8 @@ void frmContactEditor::SaveLogo( wxCommandEvent &event ) std::map::iterator initier; std::map::iterator logotypeiter; - initier = LogosList.find(intSelectedData); - logotypeiter = LogosListPictureType.find(intSelectedData); + initier = ContactEditorData.LogosList.find(intSelectedData); + logotypeiter = ContactEditorData.LogosListPictureType.find(intSelectedData); if (logotypeiter->second == wxT("image/jpeg")){ @@ -196,7 +220,7 @@ void frmContactEditor::SaveLogo( wxCommandEvent &event ) std::string base64dec; - initier = LogosList.find(intSelectedData); + initier = ContactEditorData.LogosList.find(intSelectedData); base64dec = base64_decode(initier->second); LogoFile.Write(base64dec.c_str(), (size_t)base64dec.size());