Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added support to directly edit a contact using the -e command switch.
[xestiaab/.git] / source / main.cpp
index c900927..1c4ccb1 100644 (file)
@@ -16,6 +16,7 @@
 #include "frmSearch.h"
 #include "common/timers.h"
 #include "common/defaults.h"
+#include "common/dirs.h"
 
 class XestiaABApp: public wxApp
 {
@@ -49,8 +50,8 @@ bool XestiaABApp::OnInit()
     {
          { wxCMD_LINE_SWITCH, wxT_2("h"), wxT_2("help"), wxTRANSLATE("Displays help on command line parameters"),
              wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
-         /*{ wxCMD_LINE_OPTION, wxT_2("e"), wxT_2("edit"), wxTRANSLATE("Edit a vCard 4.0 formatted contact"),
-             wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },*/
+         { wxCMD_LINE_OPTION, wxT_2("e"), wxT_2("edit"), wxTRANSLATE("Edit a vCard 4.0 formatted contact"),
+             wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
          { wxCMD_LINE_SWITCH, wxT_2("s"), wxT_2("search"), wxTRANSLATE("Display the search window instead of starting normally"),
              wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
          { wxCMD_LINE_SWITCH, wxT_2("v"), wxT_2("version"), wxTRANSLATE("Displays version number"),
@@ -88,21 +89,31 @@ bool XestiaABApp::OnInit()
     
     }
     
-    /*if (XABArgs.Found(wxT("e"), &wxSContactFilename)){
-       Xestia Gelforn Project Repositories - xestiaab/.git/tree - source/vcard/
+    if (XABArgs.Found(wxT("e"), &wxSContactFilename)){
+
        // Check if the filename exists.
-       
-       //wxImage::AddHandler(new wxPNGHandler);
 
        wxFileName contactfile(wxSContactFilename);
        
        if (!contactfile.FileExists()){
        
+               wxMessageBox(_("The file with the filename given does not exist."), _("Error loading contact"), wxICON_ERROR);
                return false;
        
        }
        
-       curl_global_init(CURL_GLOBAL_ALL);
+       // Check if file is in the user's Xestia Address Book data storage
+       // path. If it is, refuse to open it.
+       
+       wxString UserDir = GetUserDir();
+       long UserDirLength = UserDir.Len();
+       
+       if (UserDir == contactfile.GetFullPath().Mid(0, UserDirLength)){
+       
+               wxMessageBox(_("The file with the filename given is in the directories that Xestia Address Book stores it's data and cannot be opened directly."), _("Error loading contact"), wxICON_ERROR);
+               return false;
+       
+       }
        
        wxMemoryInputStream istream(bigimgs_contactpersonicon48_png, sizeof(bigimgs_contactpersonicon48_png));
        wxImage bigimgs_contactpersonicon48i(istream, wxBITMAP_TYPE_PNG);
@@ -113,7 +124,8 @@ bool XestiaABApp::OnInit()
        // Get the filename of the selected contact.
 
        frmContactEditor *ContactEditor = new frmContactEditor( NULL );
-       ContactEditor->SetupHeaders();    
+       ContactEditor->SetupHeaders();
+       ContactEditor->SetMode(TRUE);
        ContactEditor->LoadContact(wxSContactFilename);
        //ContactEditor->SetupContact(ActiveAccount);
        ContactEditor->SetIcon(contacticon);
@@ -123,7 +135,7 @@ bool XestiaABApp::OnInit()
        
        return true;
     
-    }*/
+    }
     
     // Setup default settings and accounts if they don't exist.
     
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