/[winpt]/trunk/Src/WinPT.cpp
ViewVC logotype

Diff of /trunk/Src/WinPT.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 135 by twoaday, Mon Jan 9 09:50:55 2006 UTC revision 154 by twoaday, Wed Jan 18 12:38:46 2006 UTC
# Line 22  Line 22 
22  #endif  #endif
23    
24  #include <windows.h>  #include <windows.h>
25    #include <shlobj.h>
26    
27  #include "resource.h"  #include "resource.h"
28  #include "wptTypes.h"  #include "wptTypes.h"
# Line 40  Line 41 
41  #include "wptCardEdit.h"  #include "wptCardEdit.h"
42  #include "wptCrypto.h"  #include "wptCrypto.h"
43    
 #define MIN_GPG_VER   "1.4.2"            /* Minimal GPG version. */  
 #define MIN_GPGME_VER NEED_GPGME_VERSION /* Minimal GPGME version. */  
   
44    
45  HINSTANCE glob_hinst;   /* global instance for the dialogs */  HINSTANCE glob_hinst;   /* global instance for the dialogs */
46  HWND glob_hwnd;         /* global window handle for the dialogs */  HWND glob_hwnd;         /* global window handle for the dialogs */
47  HWND activ_hwnd;  HWND activ_hwnd;
 LOCK mo_file;  
48  int scard_support = 0;  int scard_support = 0;
49  int debug = 0;  int debug = 0;
50  int mobile = 0;  int mobile = 0;
# Line 96  static void Line 93  static void
93  load_gettext (int prev_inst)  load_gettext (int prev_inst)
94  {  {
95      char *nls = NULL;      char *nls = NULL;
     char *file = NULL;  
96    
97      nls = get_gettext_lang ();      nls = get_gettext_lang ();
98      if (nls) {      if (nls != NULL) {
99          set_gettext_file ("winpt", nls);          set_gettext_file ("winpt", nls);
         file = make_filename (nls, "winpt", "mo");  
         if (!file_exist_check (nls) && init_file_lock (&mo_file, file))  {  
             if (!prev_inst)  
                 msg_box (NULL, _("Could not initizalize file lock.\n"  
                                  "Native Language Support"),  
                          _("WinPT Error"), MB_ERR);  
         }  
100          free_if_alloc (nls);          free_if_alloc (nls);
         free_if_alloc (file);  
101      }      }
102  }  }
103    
# Line 215  get_prog_part (const char * fname, int u Line 203  get_prog_part (const char * fname, int u
203  static bool  static bool
204  check_crypto_engine (void)  check_crypto_engine (void)
205  {  {
206      int ma=1, mi=4, pa=2; /* GPG 1.4.2 */      int ma=0, mi=0, pa=0;
207      int rc;      int rc;
208    
209      rc = check_gnupg_engine (&ma, &mi, &pa);      rc = check_gnupg_engine (NEED_GPG_VERSION, &ma, &mi, &pa);
210      if (rc == -1) {      if (rc == -1) {
211          msg_box (NULL, _("Could not read GnuPG version."),          msg_box (NULL, _("Could not read GnuPG version."),
212                   _("WinPT Error"), MB_ERR);                   _("WinPT Error"), MB_ERR);
# Line 227  check_crypto_engine (void) Line 215  check_crypto_engine (void)
215      else if (rc) {      else if (rc) {
216          log_box (_("WinPT Error"), MB_ERR,          log_box (_("WinPT Error"), MB_ERR,
217                   _("Sorry, you need a newer GPG version.\n"                   _("Sorry, you need a newer GPG version.\n"
218                     "GPG version %d.%d.%d required GPG version "MIN_GPG_VER),                     "GPG version %d.%d.%d required GPG version "NEED_GPG_VERSION),
219                     ma, mi, pa);                     ma, mi, pa);
220          return false;          return false;
221      }      }
# Line 247  check_crypto_engine (void) Line 235  check_crypto_engine (void)
235  static int  static int
236  load_keyserver_conf (int quiet)  load_keyserver_conf (int quiet)
237  {  {
238        char *buf;
239      const char *t;      const char *t;
240      int rc;      int rc;
241    
242      if (reg_prefs.kserv_conf)      /* Create $APPDATA\winpt if needed. */
243          t = reg_prefs.kserv_conf;      buf = make_special_filename (CSIDL_APPDATA, "winpt", NULL);
244      else if (!file_exist_check (get_prog_part ("keyserver.conf", 0)))      if (buf && dir_exist_check (buf) && !CreateDirectory (buf, NULL)) {
245            MessageBox (NULL, _("Failed to create WinPT directory"),
246                        _("Keyserver"), MB_ERR);
247            free_if_alloc (buf);
248            return -1;
249        }
250        free_if_alloc (buf);
251    
252        /* Check for $APPDATA\winpt\keyserver.conf */
253        buf = make_special_filename (CSIDL_APPDATA, "winpt\\keyserver.conf", NULL);
254    
255        if (!file_exist_check (get_prog_part ("keyserver.conf", 0)))
256          t = get_prog_part ("keyserver.conf", 0);          t = get_prog_part ("keyserver.conf", 0);
257      else      else
258          t = "keyserver.conf";          t = "keyserver.conf";
259        if (file_exist_check (t) == 0 && file_exist_check (buf) != 0) {
260            log_box (_("Keyserver"), MB_INFO,
261                     _("keyserver.conf will be copied to \"%s\"\r\n"), buf);
262            if (!CopyFile (t, buf, FALSE)) {
263                MessageBox (NULL, _("Failed to copy the keyserver.conf"),
264                            _("Keyserver"), MB_ERR);
265                free_if_alloc (buf);
266                return -1;
267            }
268            t = buf;
269        }
270        else
271            t = buf;
272        
273      rc = kserver_load_conf (t);      rc = kserver_load_conf (t);
274      if (rc && !quiet)      if (rc && !quiet)
275          msg_box (NULL, winpt_strerror (rc), _("Keyserver"), MB_ERR);          msg_box (NULL, winpt_strerror (rc), _("Keyserver"), MB_ERR);
276        else {
277            free_if_alloc (reg_prefs.kserv_conf);
278            reg_prefs.kserv_conf = m_strdup (t);
279        }
280        free_if_alloc (buf);
281      return rc;      return rc;
282  }  }
283    
# Line 361  WinMain (HINSTANCE hinst, HINSTANCE hpre Line 380  WinMain (HINSTANCE hinst, HINSTANCE hpre
380          return 0;          return 0;
381      }      }
382    
383      s = gpgme_check_version (MIN_GPGME_VER);      s = gpgme_check_version (NEED_GPGME_VERSION);
384      if (!s || !*s) {      if (!s || !*s) {
385          msg_box (NULL, _("A newer GPGME version is needed; at least "MIN_GPGME_VER),          msg_box (NULL, _("A newer GPGME version is needed; at least "NEED_GPGME_VERSION),
386                   _("WinPT Error"), MB_ERR);                   _("WinPT Error"), MB_ERR);
387          return 0;          return 0;
388      }      }

Legend:
Removed from v.135  
changed lines
  Added in v.154

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26