X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;ds=inline;f=source%2FfrmNewAccount.cpp;h=211fb89fc96634da62b3393bfe0d4bd0084036f8;hb=8aa0ad46d043c17642b0064b26770d98d2c37898;hp=4eb1259e9196eefe73842b5a71b68b914ba1c726;hpb=4df7ad411323551899262cad3a5ef0e86f27e2a1;p=xestiaab%2F.git
diff --git a/source/frmNewAccount.cpp b/source/frmNewAccount.cpp
index 4eb1259..211fb89 100644
--- a/source/frmNewAccount.cpp
+++ b/source/frmNewAccount.cpp
@@ -1,3 +1,21 @@
+// frmNewAccount.cpp - New Account form.
+//
+// (c) 2012-2015 Xestia Software Development.
+//
+// This file is part of Xestia Address Book.
+//
+// Xestia Address Book is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Address Book is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Address Book. If not, see
+
#include "frmNewAccount.h"
#include
#include
@@ -152,10 +170,68 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
// expired certificate so display the invalid
// SSL certificate message.
- frmInvalidSSLCertificate *frmICPtr = new frmInvalidSSLCertificate(this);
+ // Setup the data to be sent in the wxPostEvent command.
+
+ //SSLInvalidCertNotifObj SSLICNProcData;
+
+ //bool *PauseMode = new bool;
+ int SSLResult;
+ //QRNotif qrn;
+
+ //*PauseMode = TRUE;
+ //qrn.QResponse = &SSLResult;
+ //qrn.PausePtr = PauseMode;
+
+ //SSLICNProcData.CertCollection = CardDAVConn.GetSSLVerifyResults();
+ //SSLICNProcData.QRNotifData = &qrn;
+ //SSLICNProcData.AccountName = _("New account");
+
+ frmInvalidSSLCertificate *frmICPtr = new frmInvalidSSLCertificate(this);
frmICPtr->LoadDataNew(CardDAVConn.GetSSLVerifyResults(), txtServerAddress->GetValue());
frmICPtr->ShowModal();
+
+ //wxCommandEvent event(INVALIDSSLCERT);
+ //event.SetClientData(&SSLICNProcData);
+ //wxPostEvent(this->GetParent(), event);
+
+ /*timespec n1, n2;
+
+ // Fall asleep until we get an response.
+
+ n1.tv_sec = 0;
+ n1.tv_nsec = 250000000L;*/
+
+ SSLResult = frmICPtr->GetResult();
+
+ // Clean up before processing response.
+
+ delete frmICPtr;
+ frmICPtr = NULL;
+
+ // Process the response from the user.
+
+ if (SSLResult == 1){
+
+ // Accept the Certificate.
+
+ CardDAVConn.AllowSelfSignTest(TRUE);
+
+ } else if (SSLResult == 2){
+
+ // Reject the certificate, abort the task and mark as failed.
+
+ lblServerConnResult->SetLabel(_("Failed"));
+ lblConnectionResultText->SetLabel(_("An error occured whilst connnecting: ") + CardDAVConn.GetErrorMessage() + wxString::Format(wxT(" (%i)\n%s"), sslcode, CardDAVConn.GetErrorBuffer().mb_str()));
+ return;
+
+ }
+
+ //frmInvalidSSLCertificate *frmICPtr = new frmInvalidSSLCertificate(this);
+
+ //frmICPtr->LoadDataNew(CardDAVConn.GetSSLVerifyResults(), txtServerAddress->GetValue());
+ //frmICPtr->ShowModal();
+
} else {
@@ -177,7 +253,6 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
if (ServerResult == FALSE){
lblServerConnResult->SetLabel(_("Failed"));
- wxMessageBox(CardDAVConn.GetErrorMessage());
return;
} else {
@@ -186,19 +261,9 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
}
- if (CardDAVConn.HasValidResponse() == TRUE){
-
- lblServerResponse->SetLabel(_("Yes"));
-
- } else {
-
- lblServerResponse->SetLabel(_("No"));
-
- }
-
if (CardDAVConn.CanDoSSL() == TRUE){
- lblCardDAVSupportResult->SetLabel(_("Used"));
+ lblServerSSLResult->SetLabel(_("Used"));
} else {
@@ -209,13 +274,17 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
if (CardDAVConn.SSLVerify() == TRUE && CardDAVConn.CanDoSSL() == TRUE){
- lblCardDAVSupportResult->SetLabel(_("Verified"));
+ lblServerSSLValid->SetLabel(_("Verified"));
- } else if (CardDAVConn.SSLVerify() == FALSE && CardDAVConn.CanDoSSL() == TRUE) {
+ } else if (CardDAVConn.SSLVerify() == FALSE && CardDAVConn.CanDoSSL() == TRUE && CardDAVConn.IsSelfSigned() == TRUE){
+
+ lblServerSSLValid->SetLabel(_("Verified (user)"));
+
+ } else if (CardDAVConn.SSLVerify() == FALSE && CardDAVConn.CanDoSSL() == TRUE) {
- lblServerSSLResult->SetLabel(_("Unable to verify"));
+ lblServerSSLValid->SetLabel(_("Unable to verify"));
- }
+ }
if (CardDAVConn.CanDoCardDAV() == TRUE){
@@ -241,7 +310,15 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
ServerPrefix = CardDAVConn.GetDefaultAddressBookURL();
- wxMessageBox(ServerPrefix);
+ if (CardDAVConn.HasValidResponse() == TRUE){
+
+ lblServerResponse->SetLabel(_("Yes"));
+
+ } else {
+
+ lblServerResponse->SetLabel(_("No"));
+
+ }
if (ServerResult == TRUE && CardDAVConn.HasValidResponse() == TRUE &&
//CardDAVConn.CanDoSSL() == TRUE && CardDAVConn.SSLVerify() == TRUE &&
@@ -279,6 +356,7 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
// Finished.
wxString XestiaABPrefDirectory;
+ wxString XestiaABDirectory;
wxString AccountSettingsFile;
//wxFile ASFile;
wxString RandomNumberSuffix = wxString::Format(wxT("%i"), rand() % 32767);
@@ -290,8 +368,9 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
#elif defined(__WIN32__)
- XestiaABPrefDirectory = GetUserDir();
-
+ XestiaABPrefDirectory = GetUserPrefDir();
+ XestiaABDirectory = GetUserDir();
+
AccountSettingsFile = XestiaABPrefDirectory + wxT("accounts");
// Open the file for writing.
@@ -326,7 +405,7 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
wxString DirectoryName = txtAccountName->GetValue().Mid(0, 30) + RandomNumberSuffix;
- if (wxMkdir(XestiaABPrefDirectory + wxT("/accounts/") + DirectoryName + wxT(".carddav"), 0740) == TRUE){
+ if (wxMkdir(XestiaABDirectory + wxT("\\accounts\\") + DirectoryName + wxT(".carddav"), 0740) == TRUE){
DirectoryCreated = TRUE;
@@ -349,7 +428,7 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
wxString DirectoryName = txtAccountName->GetValue().Mid(0, 30) + RandomNumberSuffix;
- if (wxMkdir(XestiaABPrefDirectory + wxT("/accounts/") + DirectoryName + wxT(".local"), 0740) == TRUE){
+ if (wxMkdir(XestiaABDirectory + wxT("\\accounts\\") + DirectoryName + wxT(".local"), 0740) == TRUE){
DirectoryCreated = TRUE;
@@ -371,13 +450,14 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
delete cfgfile;
cfgfile = NULL;
- ReloadAccountConfig = TRUE;
+ *ReloadAccountConfig = TRUE;
#else
- XestiaABPrefDirectory = GetUserDir();
+ XestiaABPrefDirectory = GetUserPrefDir();
+ XestiaABDirectory = GetUserDir();
- AccountSettingsFile = GetUserPrefDir() + wxT("accounts");
+ AccountSettingsFile = XestiaABPrefDirectory + wxT("accounts");
// Open the file for writing.
@@ -411,7 +491,7 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
wxString DirectoryName = txtAccountName->GetValue().Mid(0, 30) + RandomNumberSuffix;
- if (wxMkdir(XestiaABPrefDirectory + wxT("/accounts/") + DirectoryName + wxT(".carddav"), 0740) == TRUE){
+ if (wxMkdir(XestiaABDirectory + wxT("/accounts/") + DirectoryName + wxT(".carddav"), 0740) == TRUE){
DirectoryCreated = TRUE;
@@ -434,7 +514,7 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
wxString DirectoryName = txtAccountName->GetValue().Mid(0, 30) + RandomNumberSuffix;
- if (wxMkdir(XestiaABPrefDirectory + wxT("/accounts/") + DirectoryName + wxT(".local"), 0740) == TRUE){
+ if (wxMkdir(XestiaABDirectory + wxT("/accounts/") + DirectoryName + wxT(".local"), 0740) == TRUE){
DirectoryCreated = TRUE;
@@ -456,7 +536,7 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event )
delete cfgfile;
cfgfile = NULL;
- ReloadAccountConfig = TRUE;
+ *ReloadAccountConfig = TRUE;
#endif
@@ -493,7 +573,7 @@ void frmNewAccount::WriteAccountDetails(wxFileConfig *cfgfilein, wxString Accoun
void frmNewAccount::CloseWindow( wxCommandEvent& event )
{
- ReloadAccountConfig = FALSE;
+ *ReloadAccountConfig = FALSE;
this->Close();
}