X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2FfrmSearch.cpp;h=f3ae077862917479d4639a4013291d05fcdf444b;hb=5cd42634a30884507da0e8812369192c3882bc0a;hp=50d8b5c3ce170ff10f26077c992589424e17d8d1;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc;p=xestiaab%2F.git diff --git a/source/frmSearch.cpp b/source/frmSearch.cpp index 50d8b5c..f3ae077 100644 --- a/source/frmSearch.cpp +++ b/source/frmSearch.cpp @@ -1,5 +1,6 @@ #include "frmSearch.h" #include "frmMain.h" +#include "frmContact.h" #include "search/XABSearchPanel.h" #include "search/frmSearchAccounts.h" #include "common/preferences.h" @@ -7,6 +8,7 @@ #include "vcard/vcard.h" #include +#include /*#include #include #include */ @@ -1242,6 +1244,8 @@ void frmSearch::RemoveSearchSetting( wxCommandEvent& event ) void frmSearch::ReloadAccountList( wxCommandEvent& event ){ + // Currently unimplemented. + } void frmSearch::AddResult( wxCommandEvent& event ){ @@ -1366,14 +1370,40 @@ void frmSearch::OpenContact( wxCommandEvent& event ){ intContactSeekNum = lstResults->GetItemData(intSelected); - UCNotif *uc = new UCNotif; + if (SearchMode == TRUE){ + + wxMessageBox(SearchResultFilename[intContactSeekNum]); + + vCard Person; + + Person.LoadFile(SearchResultFilename[intContactSeekNum]); + + wxMemoryInputStream istream(bigimgs_contactpersonicon48_png, sizeof(bigimgs_contactpersonicon48_png)); + wxImage bigimgs_contactpersonicon48i(istream, wxBITMAP_TYPE_PNG); + wxBitmap contacticonbmp(bigimgs_contactpersonicon48i, -1); + wxIcon contacticon; + contacticon.CopyFromBitmap(contacticonbmp); + + frmContact *Contact = new frmContact( this ); + + Contact->SetupPointers(&SearchModeMemoryFSPtr); + Contact->SetupContactData(&Person); + + Contact->SetIcon(contacticon); + Contact->Show(true); - uc->ContactAccount = SearchResultAccount[intContactSeekNum]; - uc->ContactFilename = SearchResultFilename[intContactSeekNum]; + } else { + + UCNotif *uc = new UCNotif; + + uc->ContactAccount = SearchResultAccount[intContactSeekNum]; + uc->ContactFilename = SearchResultFilename[intContactSeekNum]; - wxCommandEvent oc(CE_OPENCONTACT); - oc.SetClientData(uc); - wxPostEvent(this->GetParent(), oc); + wxCommandEvent oc(CE_OPENCONTACT); + oc.SetClientData(uc); + wxPostEvent(this->GetParent(), oc); + + } } @@ -1665,4 +1695,49 @@ void frmSearch::SetUID(int UID){ SearchUID = UID; +} + +void frmSearch::SetSearchMode(bool SearchModeIn){ + + SearchMode = SearchModeIn; + + if (SearchMode == TRUE){ + + mnuContactEdit->Enable(FALSE); + mnuContactReveal->Enable(FALSE); + + wxFileSystem::AddHandler(new wxMemoryFSHandler); + wxImage ciicon_png; + + wxMemoryInputStream ciptostream(icons_cipto_png, sizeof(icons_cipto_png)); + ciicon_png.LoadFile(ciptostream, wxBITMAP_TYPE_PNG); + wxMemoryFSHandler::AddFile(wxT("cipto.png"), ciicon_png, wxBITMAP_TYPE_PNG); + + wxMemoryInputStream cilogstream(icons_cilog_png, sizeof(icons_cilog_png)); + ciicon_png.LoadFile(cilogstream, wxBITMAP_TYPE_PNG); + wxMemoryFSHandler::AddFile(wxT("cilog.png"), ciicon_png, wxBITMAP_TYPE_PNG); + + wxMemoryInputStream cisndstream(icons_cisnd_png, sizeof(icons_cisnd_png)); + ciicon_png.LoadFile(cisndstream, wxBITMAP_TYPE_PNG); + wxMemoryFSHandler::AddFile(wxT("cisnd.png"), ciicon_png, wxBITMAP_TYPE_PNG); + + wxMemoryInputStream cikeystream(icons_cikey_png, sizeof(icons_cikey_png)); + ciicon_png.LoadFile(cikeystream, wxBITMAP_TYPE_PNG); + wxMemoryFSHandler::AddFile(wxT("cikey.png"), ciicon_png, wxBITMAP_TYPE_PNG); + + wxMemoryInputStream civenstream(icons_civen_png, sizeof(icons_civen_png)); + ciicon_png.LoadFile(civenstream, wxBITMAP_TYPE_PNG); + wxMemoryFSHandler::AddFile(wxT("civen.png"), ciicon_png, wxBITMAP_TYPE_PNG); + + wxMemoryInputStream ciextstream(icons_ciext_png, sizeof(icons_ciext_png)); + ciicon_png.LoadFile(ciextstream, wxBITMAP_TYPE_PNG); + wxMemoryFSHandler::AddFile(wxT("ciext.png"), ciicon_png, wxBITMAP_TYPE_PNG); + + } else { + + mnuContactEdit->Enable(TRUE); + mnuContactReveal->Enable(TRUE); + + } + } \ No newline at end of file