X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditor-Picture.cpp;h=fd9d169c5992e1f1b9c0731e55822eacd6dbf869;hb=074e2db3331d35762f1d2dcf06d98f15200fc225;hp=acefe6babf2c5ad14c5bc733b38eecec0e8f800d;hpb=04a1ebb415bc0291b376d649d0d1ff680f4c6c7c;p=xestiaab%2F.git diff --git a/source/contacteditor/frmContactEditor-Picture.cpp b/source/contacteditor/frmContactEditor-Picture.cpp index acefe6b..fd9d169 100644 --- a/source/contacteditor/frmContactEditor-Picture.cpp +++ b/source/contacteditor/frmContactEditor-Picture.cpp @@ -23,152 +23,163 @@ void frmContactEditor::AddPicture( wxCommandEvent& event ) { - int intResult = 0; - - frmContactEditorPicture *frameCEPicture = new frmContactEditorPicture ( this ); - frameCEPicture->SetEditorMode(FALSE); - intResult = GetLastInt(&ContactEditorData.PicturesList); - frameCEPicture->SetupPointers(&ContactEditorData.PicturesList, - &ContactEditorData.PicturesListAltID, - &ContactEditorData.PicturesListPID, - &ContactEditorData.PicturesListType, - &ContactEditorData.PicturesListPicEncType, - &ContactEditorData.PicturesListPictureType, - &ContactEditorData.PicturesListTokens, - &ContactEditorData.PicturesListMediatype, - &ContactEditorData.PicturesListPref, - lboPictures, - (intValueSeek), - TRUE); - frameCEPicture->ShowModal(); - delete frameCEPicture; - frameCEPicture = NULL; + + // Bring up window for adding a picture. + + frmContactEditorPicture *frameCEPicture = new frmContactEditorPicture ( this ); + frameCEPicture->SetEditorMode(FALSE); + frameCEPicture->SetupPointers(&ContactEditorData.PicturesList, + &ContactEditorData.PicturesListAltID, + &ContactEditorData.PicturesListPID, + &ContactEditorData.PicturesListType, + &ContactEditorData.PicturesListPicEncType, + &ContactEditorData.PicturesListPictureType, + &ContactEditorData.PicturesListTokens, + &ContactEditorData.PicturesListMediatype, + &ContactEditorData.PicturesListPref, + lboPictures, + (intValueSeek), + TRUE); + frameCEPicture->ShowModal(); + delete frameCEPicture; + frameCEPicture = NULL; + } void frmContactEditor::ModifyPicture( wxCommandEvent& event ) { - long longSelected = -1; - int intSelectedData = 0; + + // Bring up window for modifying a picture. + + long longSelected = -1; + int intSelectedData = 0; - if (!GetSelectedItem(lboPictures, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorPicture *frameCEPicture = new frmContactEditorPicture ( this ); - frameCEPicture->SetupPointers(&ContactEditorData.PicturesList, - &ContactEditorData.PicturesListAltID, - &ContactEditorData.PicturesListPID, - &ContactEditorData.PicturesListType, - &ContactEditorData.PicturesListPicEncType, - &ContactEditorData.PicturesListPictureType, - &ContactEditorData.PicturesListTokens, - &ContactEditorData.PicturesListMediatype, - &ContactEditorData.PicturesListPref, - lboPictures, - intSelectedData, - TRUE); - frameCEPicture->SetEditorMode(TRUE); - frameCEPicture->ShowModal(); - delete frameCEPicture; - frameCEPicture = NULL; + if (lboPictures->GetItemCount() == 0 || !GetSelectedItem(lboPictures, + &longSelected, + &intSelectedData)){ + return; + } + + frmContactEditorPicture *frameCEPicture = new frmContactEditorPicture ( this ); + frameCEPicture->SetupPointers(&ContactEditorData.PicturesList, + &ContactEditorData.PicturesListAltID, + &ContactEditorData.PicturesListPID, + &ContactEditorData.PicturesListType, + &ContactEditorData.PicturesListPicEncType, + &ContactEditorData.PicturesListPictureType, + &ContactEditorData.PicturesListTokens, + &ContactEditorData.PicturesListMediatype, + &ContactEditorData.PicturesListPref, + lboPictures, + intSelectedData, + TRUE); + frameCEPicture->SetEditorMode(TRUE); + frameCEPicture->ShowModal(); + delete frameCEPicture; + frameCEPicture = NULL; } void frmContactEditor::DeletePicture( wxCommandEvent& event ) { - long longSelected = -1; - int intSelectedData = 0; + + // Bring up window for deleting a picture. + + long longSelected = -1; + int intSelectedData = 0; - if (!GetSelectedItem(lboPictures, - &longSelected, - &intSelectedData)){ - return; - } + if (lboPictures->GetItemCount() == 0 || !GetSelectedItem(lboPictures, + &longSelected, + &intSelectedData)){ + return; + } - lboPictures->DeleteItem(longSelected); + lboPictures->DeleteItem(longSelected); - DeleteMapData(intSelectedData, - &ContactEditorData.PicturesList, &ContactEditorData.PicturesListAltID, &ContactEditorData.PicturesListPID, &ContactEditorData.PicturesListType, - &ContactEditorData.PicturesListPicEncType, &ContactEditorData.PicturesListPictureType, &ContactEditorData.PicturesListTokens, - &ContactEditorData.PicturesListMediatype, &ContactEditorData.PicturesListPref); + DeleteMapData(intSelectedData, + &ContactEditorData.PicturesList, &ContactEditorData.PicturesListAltID, &ContactEditorData.PicturesListPID, &ContactEditorData.PicturesListType, + &ContactEditorData.PicturesListPicEncType, &ContactEditorData.PicturesListPictureType, &ContactEditorData.PicturesListTokens, + &ContactEditorData.PicturesListMediatype, &ContactEditorData.PicturesListPref); - wxMemoryInputStream istream(misc_emptyimage_png, sizeof(misc_emptyimage_png)); - wxImage misc_emptyimage_png(istream, wxBITMAP_TYPE_PNG); - PictureImage = (wxBitmap)misc_emptyimage_png; + wxMemoryInputStream istream(misc_emptyimage_png, sizeof(misc_emptyimage_png)); + wxImage misc_emptyimage_png(istream, wxBITMAP_TYPE_PNG); + PictureImage = (wxBitmap)misc_emptyimage_png; - imgPicture->SetBitmap(PictureImage); + imgPicture->SetBitmap(PictureImage); + } void frmContactEditor::LoadPicture( wxListEvent& event ) { - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboPictures, - &longSelected, - &intSelectedData)){ - return; - } + // Load the picture. + + long longSelected = -1; + int intSelectedData = 0; - std::string base64dec; + if (lboPictures->GetItemCount() == 0 || !GetSelectedItem(lboPictures, + &longSelected, + &intSelectedData)){ + return; + } - std::map::iterator initier; - std::map::iterator pictypeiter; + std::string base64dec; + + std::map::iterator initier; + std::map::iterator pictypeiter; - initier = ContactEditorData.PicturesList.find(intSelectedData); - pictypeiter = ContactEditorData.PicturesListPictureType.find(intSelectedData); + initier = ContactEditorData.PicturesList.find(intSelectedData); + pictypeiter = ContactEditorData.PicturesListPictureType.find(intSelectedData); - base64dec = base64_decode(initier->second); + base64dec = base64_decode(initier->second); - wxMemoryInputStream istream(base64dec.c_str(), (size_t)base64dec.size()); - wxImage photo; - //wxMemoryInputStream istream(base64dec, (size_t)base64dec.size()); + wxMemoryInputStream istream(base64dec.c_str(), (size_t)base64dec.size()); + wxImage photo; - if (pictypeiter->second == wxT("image/jpeg")){ + if (pictypeiter->second == wxT("image/jpeg")){ - if (!photo.LoadFile(istream, wxBITMAP_TYPE_JPEG)){ + if (!photo.LoadFile(istream, wxBITMAP_TYPE_JPEG)){ - return; + return; - } + } - } else if (pictypeiter->second == wxT("image/png")){ + } else if (pictypeiter->second == wxT("image/png")){ - if (!photo.LoadFile(istream, wxBITMAP_TYPE_PNG)){ + if (!photo.LoadFile(istream, wxBITMAP_TYPE_PNG)){ - return; + return; - } + } - } else if (pictypeiter->second == wxT("image/gif")){ + } else if (pictypeiter->second == wxT("image/gif")){ - if (!photo.LoadFile(istream, wxBITMAP_TYPE_GIF)){ + if (!photo.LoadFile(istream, wxBITMAP_TYPE_GIF)){ - return; + return; - } + } - } else { + } else { - return; + return; - } + } - PictureImage = (wxBitmap)photo; - imgPicture->SetBitmap(PictureImage); + PictureImage = (wxBitmap)photo; + imgPicture->SetBitmap(PictureImage); } void frmContactEditor::SavePicture( wxCommandEvent &event ) { + // Save the picture to a file. + long longSelected = -1; int intSelectedData = 0; - if (!GetSelectedItem(lboPictures, + if (lboPictures->GetItemCount() == 0 || !GetSelectedItem(lboPictures, &longSelected, &intSelectedData)){