#include "frmEditAccount.h" frmEditAccount::frmEditAccount( wxWindow* parent ) : frmEditAccountADT( parent ) { btnDetect->Enable(false); } void frmEditAccount::DetectAddressBook( wxCommandEvent& event ) { // TODO: Currently unimplemented. } void frmEditAccount::UpdateSettings( wxCommandEvent& event ) { // Check if server address matches against the blacklist. // Bring up warning message if it does. if (CheckBlacklist(txtAddress->GetValue())){ int MessageBoxResult = wxMessageBox(_("The server with the address given does not support the CardDAV protocol properly and shouldn't be used.\n\nData loss is very likely.\n\nDo you still want to continue using this server?"), _("Server warning"), wxYES_NO, this); if (MessageBoxResult == wxNO){ return; } } // Update the settings for the account. long itemindex = 0; bool ContinueAcc = TRUE; wxString AccountName; // Look for the account while (ContinueAcc){ if (AccountName == AccName){ // Update the settings for the account. cfgfile->RenameGroup(AccountName, txtAccountName->GetValue()); cfgfile->SetPath(txtAccountName->GetValue()); //txtAccountName->SetValue(AccountName); cfgfile->DeleteEntry(wxT("address"), FALSE); cfgfile->Write(wxT("address"), txtAddress->GetValue()); cfgfile->DeleteEntry(wxT("port"), FALSE); cfgfile->Write(wxT("port"), txtPort->GetValue()); cfgfile->DeleteEntry(wxT("username"), FALSE); cfgfile->Write(wxT("username"), txtUsername->GetValue()); cfgfile->DeleteEntry(wxT("password"), FALSE); cfgfile->Write(wxT("password"), txtPassword->GetValue()); cfgfile->DeleteEntry(wxT("prefix"), FALSE); cfgfile->Write(wxT("prefix"), txtPrefix->GetValue()); cfgfile->DeleteEntry(wxT("ssl"), FALSE); if (chkSSL->GetValue() == TRUE){ cfgfile->Write(wxT("ssl"), wxT("true")); } else { cfgfile->Write(wxT("ssl"), wxT("false")); } cfgfile->DeleteEntry(wxT("refresh"), FALSE); cfgfile->Write(wxT("refresh"), txtRefresh->GetValue()); break; } cfgfile->SetPath(wxT("/")); ContinueAcc = cfgfile->GetNextGroup(AccountName, itemindex); } // Set the dialog result to true and close the window. DialogResult = true; this->Close(); } void frmEditAccount::LoadSettings( wxString AccNameIn ){ // Get the data from the accounts settings file and // fill in the account fields. AccName = AccNameIn; long itemindex = 0; bool ContinueAcc = TRUE; wxString AccountName; wxString AccountData; ContinueAcc = cfgfile->GetFirstGroup(AccountName, itemindex); while (ContinueAcc){ if (AccountName == AccName){ cfgfile->SetPath(AccountName); txtAccountName->SetValue(AccountName); cfgfile->Read("address", &AccountData); txtAddress->SetValue(AccountData); cfgfile->Read("port", &AccountData); txtPort->SetValue(AccountData); cfgfile->Read("username", &AccountData); txtUsername->SetValue(AccountData); cfgfile->Read("password", &AccountData); txtPassword->SetValue(AccountData); cfgfile->Read("prefix", &AccountData); txtPrefix->SetValue(AccountData); cfgfile->Read("ssl", &AccountData); if (AccountData == wxT("true")){ chkSSL->SetValue(TRUE); } cfgfile->Read("refresh", &AccountData); txtRefresh->SetValue(AccountData); break; } cfgfile->SetPath(wxT("/")); ContinueAcc = cfgfile->GetNextGroup(AccountName, itemindex); } } void frmEditAccount::CloseWindow( wxCommandEvent& event ) { DialogResult = false; this->Close(); } bool frmEditAccount::GetDialogResult(){ // Get the result of the dialog. return DialogResult; } void frmEditAccount::LoadPointers( wxFileConfig* cfgin ){ // Setup the account configuration file pointer. cfgfile = cfgin; }