X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2FfrmMain.cpp;h=0b1eb390d3087d6dbb4cb05dda1c5c095a8a9938;hb=2daf0bbc543eec039444481e4c99d9f3a362c8bd;hp=026b9e9acada9a7a0ec4707bb9cc938029bfc717;hpb=5adbbedaa38b2853d751f2e4dbf43521296447f6;p=xestiaab%2F.git diff --git a/source/frmMain.cpp b/source/frmMain.cpp index 026b9e9..0b1eb39 100644 --- a/source/frmMain.cpp +++ b/source/frmMain.cpp @@ -245,7 +245,7 @@ frmMainADT( parent ) #elif defined(__WIN32__) - int stbBottomData [4] = { -1, 8, 8, 8 }; + int stbBottomData [4] = { -1, 16, 16, 16 }; #else @@ -264,8 +264,10 @@ frmMainADT( parent ) stbBottom->GetFieldRect(3, rectActivity); SSLToolTip = new wxToolTip(wxT("")); - - imgConnStatus = new wxStaticBitmap(stbBottom, wxID_ANY, wxNullBitmap, wxPoint((rectOnline.GetX()),(rectOnline.GetY())), wxDefaultSize, 0 ); + +#if defined(__WIN32__) + + imgConnStatus = new wxStaticBitmap(stbBottom, wxID_ANY, wxNullBitmap, wxPoint(rectOnline.GetX(),rectOnline.GetY()), wxDefaultSize, 0 ); imgConnStatus->SetBitmap(*imgOnline); imgConnStatus->Connect( wxEVT_LEFT_DCLICK, wxCommandEventHandler( frmMain::ToggleConnectionStatus ), NULL, this ); @@ -278,6 +280,23 @@ frmMainADT( parent ) imgActivityStatus->SetBitmap(*imgActIconSleep); imgActivityStatus->Connect( wxEVT_LEFT_DCLICK, wxCommandEventHandler( frmMain::ShowActivityWindow ), NULL, this ); +#else + + imgConnStatus = new wxStaticBitmap(stbBottom, wxID_ANY, wxNullBitmap, wxPoint((rectOnline.GetX()), (rectOnline.GetY())), wxDefaultSize, 0); + imgConnStatus->SetBitmap(*imgOnline); + imgConnStatus->Connect(wxEVT_LEFT_DCLICK, wxCommandEventHandler(frmMain::ToggleConnectionStatus), NULL, this); + + imgSSLStatus = new wxStaticBitmap(stbBottom, wxID_ANY, wxNullBitmap, wxPoint((rectSSL.GetX()), (rectSSL.GetY())), wxDefaultSize, 0); + imgSSLStatus->SetBitmap(*imgNoSSL); + imgSSLStatus->SetToolTip(SSLToolTip); + imgSSLStatus->Connect(wxEVT_LEFT_DCLICK, wxCommandEventHandler(frmMain::ShowSSLCertificates), NULL, this); + + imgActivityStatus = new wxStaticBitmap(stbBottom, wxID_ANY, wxNullBitmap, wxPoint((rectActivity.GetX()), (rectActivity.GetY())), wxDefaultSize, 0); + imgActivityStatus->SetBitmap(*imgActIconSleep); + imgActivityStatus->Connect(wxEVT_LEFT_DCLICK, wxCommandEventHandler(frmMain::ShowActivityWindow), NULL, this); + +#endif + // Setup the window menu. // By default should be: @@ -1399,6 +1418,19 @@ void frmMain::LoadPreferences(){ AccTmrPtr = NULL; } + +#if defined(__WIN32__) + + for (std::map::iterator CertificateIter = AccountCertificateData.begin(); + CertificateIter != AccountCertificateData.end(); CertificateIter++){ + + CertFreeCertificateContext(CertificateIter->second); + + } + + AccountCertificateData.clear(); + +#endif AccountSyncTimers.clear(); @@ -2531,7 +2563,63 @@ void frmMain::ShowSSLCertificates( wxCommandEvent &event ){ AccType.clear(); } - + +#elif defined(__WIN32__) + + std::map::iterator SSLCertificateIter; + + for (int i = 0; i < prefaccounts.GetCount(); i++){ + + SeekAccount.Append(prefaccounts.GetAccountDirectory(i)); + AccType.Append(prefaccounts.GetAccountType(i)); + AccountSSL = prefaccounts.GetAccountSSL(i); + AccTypeLower = AccType.MakeLower(); + SeekAccount.Append(wxT(".")); + SeekAccount.Append(AccTypeLower); + + if (SeekAccount == ActiveAccount){ + + if (AccTypeLower == wxT("local")){ + + return; + + } + + if (AccountSSL == false){ + + return; + + } + + SSLCertificateIter = AccountCertificateData.find(i); + + // Setup and display the form. + + if (SSLCertificateIter->second->pCertInfo == NULL){ + + wxMessageBox("No certificate information is available due to invalid connection details, connection being in progress or invalid certificate data received."); + + } else { + + BOOL ModifiedCertificateData; + CRYPTUI_VIEWCERTIFICATE_STRUCTW CertificateData = BuildCertificateData(SSLCertificateIter->second, (HWND)this->GetHandle()); + + if (!CryptUIDlgViewCertificate(&CertificateData, &ModifiedCertificateData)){ + wxMessageBox(_("An error occured while trying to open the certificate dialog."), _("Error opening Certificate Information dialog")); + } + + } + + //DisplayCertificate(SSLTrustIter->second); + + } + + SeekAccount.Clear(); + AccTypeLower.Clear(); + AccType.clear(); + + } + #else std::map::iterator SSLColIter; @@ -2737,6 +2825,16 @@ void frmMain::SetupSSLStatus( int AccountID ){ std::map::iterator SSLResultIter = AccountSSLResult.find(AccountID); + // Check if a result value has been set. + + if (SSLResultIter == AccountSSLResult.end()){ + + imgSSLStatus->SetBitmap(*imgSSLWarning); + SSLToolTip->SetTip(wxT("Unable to determine SSL information for the '") + prefaccounts.GetAccountName(AccountID) + wxT("' account.")); + return; + + } + if (SSLResultIter->second == 1){ imgSSLStatus->SetBitmap(*imgSSLWarning);