wxString wxSContactString;
wxString ContactLine;
vCard ContactData;
- XABViewMode XVMData = MainPtr->GetViewMode();
+ XABViewMode XVMData;
+ if (StartupEditMode == FALSE){
+ XVMData = MainPtr->GetViewMode();
+ }
wxSContactFilename = Filename;
bool KindProcessed = FALSE;
bool ETagFound = FALSE;
bool ETagOrigFound = FALSE;
+ bool VersionProcessed = FALSE;
int intExtraNickname = 0;
wxString wxSProperty;
wxString wxSPropertySeg1;
// Add the data into the contact editor depending on what it is.
- if (wxSProperty == wxT("KIND") && KindProcessed == FALSE){
+ if (wxSProperty == wxT("VERSION") && VersionProcessed == FALSE){
+
+ // Check if version is 4.0, otherwise don't
+ // load.
+
+ wxPuts(wxSPropertySeg2);
+ if (wxSPropertySeg2 != wxT("4.0")){
+ wxMessageBox(_("This file is not a vCard 4.0 contact and is not supported under Xestia Address Book."),
+ _("Contact not supported"), wxICON_ERROR);
+ this->Close();
+ return FALSE;
+ }
+
+ VersionProcessed = TRUE;
+
+ } if (wxSProperty == wxT("KIND") && KindProcessed == FALSE){
// See frmContactEditor-LoadGroup.cpp
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){
-
- // Mark contact for replacing.
+ if (IsGroup == TRUE){
- ReplaceContact = TRUE;
+ // Mark contact for replacing.
- }
+ ReplaceContact = TRUE;
+ IsGroup = FALSE;
+
+ }
- } else if (cmbType->GetCurrentSelection() == 2){
+ } else if (cmbType->GetCurrentSelection() == 2){
- if (IsGroup == TRUE){
-
- // Mark contact for replacing.
+ if (IsGroup == FALSE){
- ReplaceContact = TRUE;
+ // Mark contact for replacing.
- }
+ 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()){