X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditor-Save.cpp;h=4f6e12d7350c567edae72987ec542d6e7118cea9;hb=26523a1ba309b07a865b4a9e4720216cc40c7e87;hp=dd3851c1d047286434962e218efb34b6f76f144d;hpb=5b2b2bcea1ab1dfd2b74589573cd16ee9326c4b9;p=xestiaab%2F.git diff --git a/source/contacteditor/frmContactEditor-Save.cpp b/source/contacteditor/frmContactEditor-Save.cpp index dd3851c..4f6e12d 100644 --- a/source/contacteditor/frmContactEditor-Save.cpp +++ b/source/contacteditor/frmContactEditor-Save.cpp @@ -1,3 +1,21 @@ +// frmContactEditor-Save.cpp - frmContactEditor save contact subroutines. +// +// (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 "frmContactEditor.h" #include "../enums.h" #include "../version.h" @@ -29,54 +47,60 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) wxString FilenameFinal; bool ReplaceContact = FALSE; - if (cmbType->GetCurrentSelection() == 1 || - cmbType->GetCurrentSelection() == 3 || - cmbType->GetCurrentSelection() == 4){ + if (StartupEditMode == TRUE){ + + if (cmbType->GetCurrentSelection() == 1 || + cmbType->GetCurrentSelection() == 3 || + cmbType->GetCurrentSelection() == 4){ - if (IsGroup == TRUE){ + if (IsGroup == TRUE){ - // Mark contact for replacing. + // Mark contact for replacing. - ReplaceContact = TRUE; - - } + ReplaceContact = TRUE; + IsGroup = FALSE; + + } - } else if (cmbType->GetCurrentSelection() == 2){ + } else if (cmbType->GetCurrentSelection() == 2){ - if (IsGroup == TRUE){ + if (IsGroup == FALSE){ - // Mark contact for replacing. + // Mark contact for replacing. - ReplaceContact = TRUE; - - } + ReplaceContact = TRUE; + IsGroup = TRUE; + + } - } + } - if (ReplaceContact == TRUE){ + if (ReplaceContact == TRUE){ - wxString wxDelSplitFilename; - wxString wxDelFinalFilename; - wxString wxSDelDataURL; - wxStringTokenizer wSTDelFilename(wxSContactFilename, wxT("/")); - while(wSTDelFilename.HasMoreTokens()){ + wxString wxDelSplitFilename; + wxString wxDelFinalFilename; + wxString wxSDelDataURL; + wxStringTokenizer wSTDelFilename(wxSContactFilename, wxT("/")); + while(wSTDelFilename.HasMoreTokens()){ - wxDelSplitFilename = wSTDelFilename.GetNextToken(); + wxDelSplitFilename = wSTDelFilename.GetNextToken(); - } + } - wxSDelDataURL = wxDelSplitFilename; + wxSDelDataURL = wxDelSplitFilename; - // Delete the contact from the server as it will be useless in certain - // address book clients. + // Delete the contact from the server as it will be useless in certain + // address book clients. - ActMgrPtr->AddTask(2, cmbDisplayAs->GetValue(), wxSContactAccount, wxSDelDataURL, wxDelSplitFilename, wxSContactFilename, wxT("")); + ActMgrPtr->AddTask(2, cmbDisplayAs->GetValue(), wxSContactAccount, wxSDelDataURL, wxDelSplitFilename, wxSContactFilename, wxT("")); - // Clear the filename so the trigger to recreate the UID is done. + // Clear the filename so the trigger to recreate the UID is done. - wxSContactFilename.Clear(); - EditMode = FALSE; + wxSContactFilename.Clear(); + EditMode = FALSE; + } + } if (wxSContactFilename.IsEmpty()){ @@ -2301,4 +2325,8 @@ void frmContactEditor::SaveCloseContact( wxCommandEvent& event ) // Save the updated contact data and close the form. + wxCommandEvent NullEvent; + this->SaveContact(NullEvent); + this->Close(); + } \ No newline at end of file