Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added source code, headers and unit testing code for the CALURI vCard Property for...
[xestiaab/.git] / source / contacteditor / frmContactEditor-Load.cpp
index 1ef92c4..6b97937 100644 (file)
@@ -1,3 +1,21 @@
+// frmContactEditor-Load.cpp - frmContactEditor load 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 <http://www.gnu.org/licenses/>
+
 #include <map>
 
 #include <wx/ffile.h>
@@ -21,7 +39,10 @@ bool frmContactEditor::LoadContact(wxString Filename){
        wxString wxSContactString;
        wxString ContactLine;
        vCard ContactData;
-       XABViewMode XVMData = MainPtr->GetViewMode();
+       XABViewMode XVMData;
+       if (StartupEditMode == FALSE){
+               XVMData = MainPtr->GetViewMode();
+       }
        
        wxSContactFilename = Filename;
        
@@ -75,6 +96,7 @@ bool frmContactEditor::LoadContact(wxString Filename){
        bool KindProcessed = FALSE;
        bool ETagFound = FALSE;
        bool ETagOrigFound = FALSE;
+       bool VersionProcessed = FALSE;
        int intExtraNickname = 0;
        wxString wxSProperty;
        wxString wxSPropertySeg1;
@@ -198,7 +220,21 @@ bool frmContactEditor::LoadContact(wxString Filename){
                
                // 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.
+                       
+                       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
                
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy