X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditor-Save.cpp;h=7fb8f2d7a4ae468b664b1c2d2552306502a11029;hp=2073e67db35804a4194becd09f79d4b0265c682a;hb=26352297f5f767517d8cc1c1be9c5616f86af169;hpb=547ab1fe605cdb4884179ab011dabba4d0bd7bc2 diff --git a/source/contacteditor/frmContactEditor-Save.cpp b/source/contacteditor/frmContactEditor-Save.cpp index 2073e67..7fb8f2d 100644 --- a/source/contacteditor/frmContactEditor-Save.cpp +++ b/source/contacteditor/frmContactEditor-Save.cpp @@ -33,7 +33,8 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) if (boolUnsupportedAccount == true){ - wxMessageBox(_("Cannot make changes to a contact from an unsupported account type."), _("Unsupported account"), wxICON_ERROR); + wxMessageBox(_("Cannot make changes to a contact from an unsupported account type."), _("Unsupported account"), wxICON_ERROR); + saveSuccess = false; return; } @@ -46,10 +47,24 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) if (cmbDisplayAsValue.IsEmpty()){ wxMessageBox(_("Display As value cannot be left blank."), _("Display As value empty"), wxICON_ERROR); + saveSuccess = false; return; } + // Check if a value has been entered either in the Title, + // Forename, Surname, Other Names and Suffix text boxes. + + if (txtTitle->IsEmpty() && txtForename->IsEmpty() && txtSurname->IsEmpty() + && txtOtherNames->IsEmpty() && txtSuffix->IsEmpty()) + { + + wxMessageBox(_("A value must be as minimum eithered in either the Title, Forename, Surname, Other Names or Suffix text boxes."), _("No name information entered"), wxICON_ERROR); + saveSuccess = false; + return; + + } + // Save the updated contact data. //vCard ContactData; @@ -368,7 +383,7 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) if(!FinalAnniversaryString.IsEmpty()){ - ContactEditorData.Birthday = FinalAnniversaryString; + ContactEditorData.Anniversary = FinalAnniversaryString; } @@ -534,22 +549,27 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) NameData.Title = txtTitle->GetValue(); NameData.Suffix = txtSuffix->GetValue(); - ucd->ContactAccount = wxSContactAccount; - ucd->ContactFilename = FilenameFinal; - ucd->ContactName = cmbDisplayAs->GetValue(); - ucd->ContactNameArray = NameData; + if (this->GetParent() != nullptr) + { + ucd->ContactAccount = wxSContactAccount; + ucd->ContactFilename = FilenameFinal; + ucd->ContactName = cmbDisplayAs->GetValue(); + ucd->ContactNameArray = NameData; - for (std::map::iterator gniter = ContactEditorData.GeneralNicknamesList.begin(); - gniter != ContactEditorData.GeneralNicknamesList.end(); gniter++){ + for (std::map::iterator gniter = ContactEditorData.GeneralNicknamesList.begin(); + gniter != ContactEditorData.GeneralNicknamesList.end(); gniter++){ - ucd->ContactNickname = gniter->second; - break; + ucd->ContactNickname = gniter->second; + break; + } + + wxCommandEvent event2(CE_UPDATECONTACTLIST); + event2.SetClientData(ucd); + wxPostEvent(MainPtr, event2); } - - wxCommandEvent event2(CE_UPDATECONTACTLIST); - event2.SetClientData(ucd); - wxPostEvent(MainPtr, event2); + + saveSuccess = true; } @@ -560,6 +580,9 @@ void frmContactEditor::SaveCloseContact( wxCommandEvent& event ) wxCommandEvent NullEvent; this->SaveContact(NullEvent); - this->Close(); + if (saveSuccess) + { + this->Close(); + } -} \ No newline at end of file +}