[Winpt-commits] r167 - in trunk: . Include Po Src

scm-commit at wald.intevation.org scm-commit at wald.intevation.org
Thu Jan 26 11:17:20 CET 2006


Author: twoaday
Date: 2006-01-26 11:17:17 +0100 (Thu, 26 Jan 2006)
New Revision: 167

Modified:
   trunk/Include/wptContext.h
   trunk/Include/wptKeyCache.h
   trunk/Include/wptKeylist.h
   trunk/NEWS
   trunk/Po/ChangeLog
   trunk/Po/de.po
   trunk/Src/ChangeLog
   trunk/Src/WinPT-en.rc
   trunk/Src/WinPT.cpp
   trunk/Src/resource.h
   trunk/Src/wptClipEditDlg.cpp
   trunk/Src/wptFileManager.cpp
   trunk/Src/wptFirstRunDlg.cpp
   trunk/Src/wptGPG.cpp
   trunk/Src/wptGPGMEWrapper.cpp
   trunk/Src/wptGPGPrefsDlg.cpp
   trunk/Src/wptKeyCache.cpp
   trunk/Src/wptKeyEditDlgs.cpp
   trunk/Src/wptKeyManager.cpp
   trunk/Src/wptKeyManagerDlg.cpp
   trunk/Src/wptKeylist.cpp
   trunk/Src/wptKeysignDlg.cpp
   trunk/Src/wptMDSumDlg.cpp
   trunk/Src/wptRegistry.cpp
   trunk/Src/wptW32API.cpp
Log:
2006-01-25  Timo Schulz  <ts at g10code.com>
 
        * wptRegistry.cpp (get_reg_entry_gpg): Return NULL if
        the key exist with no value.
        * wptMDSumDlg.cpp (mdsum_dlg_proc): Translate string.
        * wptKeysignDlg.cpp (do_fill_seclist): Select the
        default key if possible.
        * wptFirstRunDlg.cpp (firstrun_dlg_proc): Directly
        return the choice.
        * wptKeylist.cpp (get_key_desc): New.
        (keylist_upd_key): Free memory.
        * wptKeyCache.cpp (gpg_keycache_get_default_key): New.
        (gpg_keycache_set_default_key): New.
        * WinPT.cpp (gpg_prefs_ok): New.
        (WinMain): Only start gpg prefs if needed.
         



Modified: trunk/Include/wptContext.h
===================================================================
--- trunk/Include/wptContext.h	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Include/wptContext.h	2006-01-26 10:17:17 UTC (rev 167)
@@ -98,10 +98,6 @@
     int  check;		    /* use strict URL checking. */
 };
 
-struct first_start_s {
-    int choice;
-};
-
 /* Key generation context */
 struct genkey_s {
     gpgme_key_t  newkey;	/* handle to the new key */

Modified: trunk/Include/wptKeyCache.h
===================================================================
--- trunk/Include/wptKeyCache.h	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Include/wptKeyCache.h	2006-01-26 10:17:17 UTC (rev 167)
@@ -26,9 +26,10 @@
 };
 
 struct keycache_s {
-    struct keycache_s * next;
+    struct keycache_s *next;
     int flags;
     gpgme_key_t key;			/* actual key context. */
+    unsigned int default_key:1;		/* default signing key. */
     struct keycache_s *pubpart;		/* corresponding public key. */
     struct {
 	unsigned int is_protected:1;	/* key is protected. */
@@ -50,7 +51,7 @@
     struct keycache_s *tmp;
     int secret;
     int pos;
-    void (*cb) (void *, const char *, int, int, int);
+    void (*cb) (void*, const char*, int, int, int);
     void *cb_value;
     int cb_value2;
 };
@@ -60,17 +61,19 @@
 void gpg_keycache_release (gpg_keycache_t ctx);
 void gpg_keycache_set_cb (gpg_keycache_t ctx,
 			    void (*cb)(void *, const char *, int, int, int),
-			    void * cb_value1, int cb_value2);
+			    void* cb_value1, int cb_value2);
 void gpg_keycache_rewind (gpg_keycache_t ctx);
 int gpg_keycache_get_size (gpg_keycache_t ctx);
 gpgme_error_t gpg_keycache_add_key (gpg_keycache_t ctx, gpgme_key_t key, 
 				      void **opaque);
 gpgme_error_t gpg_keycache_update_key (gpg_keycache_t ctx, int is_sec, 
 					 void *opaque, const char *keyid);
-gpgme_error_t gpg_keycache_find_key (gpg_keycache_t ctx, const char * pattern,
+gpgme_error_t gpg_keycache_find_key (gpg_keycache_t ctx, const char *pattern,
 				       int flags, gpgme_key_t * r_key);
-gpgme_error_t gpg_keycache_find_key2 (gpg_keycache_t ctx, const char *pattern, int flags,
-				        gpgme_key_t *r_key, struct keycache_s **r_item);
+gpgme_error_t gpg_keycache_find_key2 (gpg_keycache_t ctx, 
+				      const char *pattern, int flags,
+				        gpgme_key_t *r_key, 
+					struct keycache_s **r_item);
 gpgme_error_t gpg_keycache_delete_key (gpg_keycache_t ctx, 
 					 const char * pattern);
 gpgme_error_t gpg_keycache_init (gpg_keycache_t ctx, const char * pattern, 
@@ -78,7 +81,8 @@
 gpgme_error_t gpg_keycache_next_key (gpg_keycache_t ctx, int flags,
 				       gpgme_key_t * r_key);
 gpgme_error_t gpg_keycache_prepare (gpg_keycache_t ctx, 
-				      const char *pubring, const char * secring);
+				      const char *pubring, 
+				      const char *secring);
 gpgme_error_t gpg_keycache_prepare_single (gpg_keycache_t ctx, 
 					     const char *keyid,
 					     const char *pubr, 
@@ -87,5 +91,9 @@
 gpgme_error_t gpg_keycache_next_updated_key (gpg_keycache_t ctx,
 					     struct keycache_s **r_obj,
 					     int *r_status);
+gpgme_error_t gpg_keycache_set_default_key (gpg_keycache_t ctx, 
+					    const char *pattern);
+gpgme_error_t gpg_keycache_get_default_key (gpg_keycache_t ctx,
+					    gpgme_key_t *r_key);
 
 #endif /*WPT_KEYCACHE_H*/

Modified: trunk/Include/wptKeylist.h
===================================================================
--- trunk/Include/wptKeylist.h	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Include/wptKeylist.h	2006-01-26 10:17:17 UTC (rev 167)
@@ -64,7 +64,8 @@
     KM_COL_CIPHER   = 4,
     KM_COL_VALID    = 5,
     KM_COL_TRUST    = 6,
-    KM_COL_CREAT    = 7
+    KM_COL_CREAT    = 7,
+    KM_COL_DESC	    = 8
 };
 
 /* Symbolic column IDs for sig lists */
@@ -96,16 +97,18 @@
 /*-- keylist.c --*/
 const char*  get_key_pubalgo2 (gpgme_pubkey_algo_t alg);
 const char*  get_key_pubalgo (gpgme_pubkey_algo_t alg);
-const char * get_key_algo( gpgme_key_t key, int keyidx );
-const char * get_key_created( long timestamp );
-const char * get_key_expire_date( long timestamp );
-const char * get_key_type( gpgme_key_t key );
-const char * get_key_size( gpgme_key_t key, int keyidx );
-const char * get_key_fpr( gpgme_key_t key );
-const char * get_key_trust (gpgme_key_t key, int uididx, int listmode);
-const char * get_key_trust2 (gpgme_key_t key, int val, int uididx, int listmode);
-const char * get_key_trust_str (int val);
+const char* get_key_algo( gpgme_key_t key, int keyidx );
+const char* get_key_created( long timestamp );
+const char* get_key_expire_date( long timestamp );
+const char* get_key_type( gpgme_key_t key );
+const char* get_key_size( gpgme_key_t key, int keyidx );
+const char* get_key_fpr( gpgme_key_t key );
+const char* get_key_trust (gpgme_key_t key, int uididx, int listmode);
+const char* get_key_trust2 (gpgme_key_t key, int val, int uididx, int listmode);
+const char* get_key_trust_str (int val);
 
+char* get_key_desc (gpgme_key_t key);
+
 gpgme_user_id_t get_nth_userid (gpgme_key_t key, int idx);
 int             count_userids (gpgme_key_t key);
 gpgme_subkey_t  get_nth_key (gpgme_key_t key, int idx);

Modified: trunk/NEWS
===================================================================
--- trunk/NEWS	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/NEWS	2006-01-26 10:17:17 UTC (rev 167)
@@ -735,3 +735,4 @@
 * Correctly store the GPG preferences and reload the Key Manager
   if they were chaged.
 * Allow to drop files into the Key Manager to import keys.
+* Automatically select the default key in secret key boxes.

Modified: trunk/Po/ChangeLog
===================================================================
--- trunk/Po/ChangeLog	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Po/ChangeLog	2006-01-26 10:17:17 UTC (rev 167)
@@ -1,3 +1,7 @@
+2006-01-25  Timo Schulz  <ts at g10code.com>
+
+	* de.po: Updated.
+	
 2006-01-18  Timo Schulz  <ts at g10code.com>
 
 	* de.po: Always use one translation for "email address".

Modified: trunk/Po/de.po
===================================================================
--- trunk/Po/de.po	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Po/de.po	2006-01-26 10:17:17 UTC (rev 167)
@@ -10,11 +10,12 @@
 # immer Passwort benutzen.
 #
 # BUG: GetOpenFileName needs \0\0. gettext does not support it.
+# Do _NOT_ translate the (*.xxx) entries!!!
 msgid ""
 msgstr ""
 "Project-Id-Version: WinPT 0.11.6\n"
 "Report-Msgid-Bugs-To: winpt at freakmail.de\n"
-"POT-Creation-Date: 2006-01-24 09:58+0100\n"
+"POT-Creation-Date: 2006-01-26 11:21+0100\n"
 "PO-Revision-Date: 2005-12-28 16:10+0100\n"
 "Last-Translator: Timo Schulz <ts at g10code.de>\n"
 "Language-Team: DE <twoaday at freakmail.de>\n"
@@ -22,29 +23,29 @@
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: Src/WinPT.cpp:130
+#: Src/WinPT.cpp:166
 msgid "Could not create GPG home directory"
 msgstr "Konnte GPG-Heimatverzeichnis nicht erstellen"
 
-#: Src/WinPT.cpp:131 Src/WinPT.cpp:162 Src/WinPT.cpp:212 Src/WinPT.cpp:216
-#: Src/WinPT.cpp:379 Src/WinPT.cpp:386 Src/WinPT.cpp:428 Src/WinPT.cpp:456
-#: Src/WinPT.cpp:465 Src/WinPT.cpp:469 Src/WinPT.cpp:486 Src/WinPT.cpp:556
-#: Src/WinPT.cpp:569 Src/WinPT.cpp:615 Src/WinPT.cpp:636 Src/WinPT.cpp:653
-#: Src/wptErrors.cpp:141 Src/wptGPG.cpp:919 Src/wptGPG.cpp:930
-#: Src/wptGPG.cpp:939 Src/wptGPG.cpp:949 Src/wptMainProc.cpp:345
+#: Src/WinPT.cpp:167 Src/WinPT.cpp:198 Src/WinPT.cpp:248 Src/WinPT.cpp:252
+#: Src/WinPT.cpp:415 Src/WinPT.cpp:422 Src/WinPT.cpp:464 Src/WinPT.cpp:492
+#: Src/WinPT.cpp:501 Src/WinPT.cpp:505 Src/WinPT.cpp:522 Src/WinPT.cpp:592
+#: Src/WinPT.cpp:605 Src/WinPT.cpp:652 Src/WinPT.cpp:678 Src/WinPT.cpp:695
+#: Src/wptErrors.cpp:141 Src/wptGPG.cpp:912 Src/wptGPG.cpp:923
+#: Src/wptGPG.cpp:932 Src/wptGPG.cpp:942 Src/wptMainProc.cpp:345
 #: Src/wptMainProc.cpp:527
 msgid "WinPT Error"
 msgstr "WinPT Fehler"
 
-#: Src/WinPT.cpp:161
+#: Src/WinPT.cpp:197
 msgid "No useable secret key found."
 msgstr "Kein benutzbarer geheimer Schlüssel gefunden."
 
-#: Src/WinPT.cpp:211
+#: Src/WinPT.cpp:247
 msgid "Could not read GnuPG version."
 msgstr "Konnte GnuPG-Version nicht auslesen."
 
-#: Src/WinPT.cpp:217
+#: Src/WinPT.cpp:253
 #, c-format
 msgid ""
 "Sorry, you need a newer GPG version.\n"
@@ -53,12 +54,12 @@
 "Sorry, Sie benötigen eine neuere GPG-Version.\n"
 "Aktuelle GPG-Version %d.%d.%d benötigte benoetigte GPG version "
 
-#: Src/WinPT.cpp:245
+#: Src/WinPT.cpp:281
 msgid "Failed to create WinPT directory"
 msgstr "Konnte WinPT Verzeichnis nicht erstellen"
 
-#: Src/WinPT.cpp:246 Src/WinPT.cpp:264 Src/WinPT.cpp:275
-#: Src/wptKeyManagerDlg.cpp:947 Src/wptKeyserver.cpp:537
+#: Src/WinPT.cpp:282 Src/WinPT.cpp:300 Src/WinPT.cpp:311
+#: Src/wptKeyManagerDlg.cpp:957 Src/wptKeyserver.cpp:537
 #: Src/wptKeyserverDlg.cpp:66 Src/wptKeyserverDlg.cpp:196
 #: Src/wptKeyserverDlg.cpp:204 Src/wptKeyserverDlg.cpp:220
 #: Src/wptKeyserverDlg.cpp:378 Src/wptKeyserverDlg.cpp:384
@@ -71,21 +72,21 @@
 msgid "Keyserver"
 msgstr "Schlüsselserver"
 
-#: Src/WinPT.cpp:263
+#: Src/WinPT.cpp:299
 msgid "Failed to copy the keyserver.conf"
 msgstr "Das Kopieren der keyserver.conf ist fehlgeschlagen"
 
 # c:\oss\winpt-gpgme\src\WinPT.cpp:245
-#: Src/WinPT.cpp:378
+#: Src/WinPT.cpp:414
 msgid "Cryptographic selftest failed."
 msgstr "Kryptographischer Selbsttest ist fehlgeschlagen."
 
 # c:\oss\winpt-gpgme\src\WinPT.cpp:252
-#: Src/WinPT.cpp:385
+#: Src/WinPT.cpp:421
 msgid "A newer GPGME version is needed; at least "
 msgstr "Eine neuere GPGME version wird benötigt; mindestens "
 
-#: Src/WinPT.cpp:429
+#: Src/WinPT.cpp:465
 #, c-format
 msgid ""
 "GPG home directory is not set correctly.\n"
@@ -96,21 +97,17 @@
 "Bitte überprüfen Sie die GPG Registryseinträge:\n"
 "%s"
 
-#: Src/WinPT.cpp:433
+#: Src/WinPT.cpp:469
 msgid "Select GPG Public Keyring"
 msgstr "Öffentlichen GPG-Schlüsselbund auswählen"
 
-# c:\oss\winpt-gpgme\src\wptKeyCache.cpp:479
-#: Src/WinPT.cpp:434 Src/wptGPG.cpp:917 Src/wptGPG.cpp:937
-msgid "GPG Keyrings (*.gpg)"
-msgstr "GPG Schlüsselbunde (*.gpg)"
-
+# XXX: the \0\0 problem
 # c:\oss\winpt-gpgme\src\WinPT.cpp:313
-#: Src/WinPT.cpp:455
+#: Src/WinPT.cpp:491
 msgid "GPG home directory could not be determited."
 msgstr "GPG-Home-Dir konnte nicht bestimmt werden."
 
-#: Src/WinPT.cpp:463
+#: Src/WinPT.cpp:499
 msgid ""
 "Could not find the GPG binary (gpg.exe).\n"
 "Do you want to start the GPG preferences to correct  this problem?"
@@ -119,7 +116,7 @@
 "öffnen um das Problem zu beheben?"
 
 # c:\oss\winpt-gpgme\src\WinPT.cpp:339
-#: Src/WinPT.cpp:478
+#: Src/WinPT.cpp:514
 msgid ""
 "Could not access and/or find the public and secret keyring.\n"
 "If this is an accident, quit the program and fix it.\n"
@@ -134,20 +131,20 @@
 # c:\oss\winpt-gpgme\src\WinPT.cpp:376
 # c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:426
 # c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:711
-#: Src/WinPT.cpp:511 Src/wptFileManagerDlg.cpp:487
+#: Src/WinPT.cpp:547 Src/wptFileManagerDlg.cpp:487
 #: Src/wptFileManagerDlg.cpp:801
 msgid "Wipe Free Space"
 msgstr "Freien Speicher Löschen"
 
-#: Src/WinPT.cpp:555
+#: Src/WinPT.cpp:591
 msgid "Could not register window class"
 msgstr "Konnte keine Fensterklasse registrieren"
 
-#: Src/WinPT.cpp:569
+#: Src/WinPT.cpp:605
 msgid "Could not create window"
 msgstr "Konnte Fenster nicht erstellen"
 
-#: Src/WinPT.cpp:634
+#: Src/WinPT.cpp:676
 msgid ""
 "The keycache was not initialized or is empty.\n"
 "Please check your GPG config (keyrings, pathes...)"
@@ -155,7 +152,7 @@
 "Der Schlüsselspeicher wurde nicht initialisiert oder ist leer.\n"
 "Bitte checken Sie die GPG Konfiguration (Schlüsselbunde, Pfade)"
 
-#: Src/WinPT.cpp:637
+#: Src/WinPT.cpp:679
 msgid ""
 "It seems that GPG is not set properly.\n"
 "Do you want to start the GPG preferences dialog?"
@@ -163,7 +160,7 @@
 "GPG ist nicht richtig konfiguriert.\n"
 "Den GPG-Einstellungsdialog starten?"
 
-#: Src/WinPT.cpp:654
+#: Src/WinPT.cpp:696
 #, c-format
 msgid ""
 "Default key from the GPG options file could not be found.\n"
@@ -185,7 +182,7 @@
 msgid "About GnuPG"
 msgstr "Über GnuPG"
 
-#: Src/wptAboutDlgs.cpp:97 Src/wptKeyManagerDlg.cpp:1735
+#: Src/wptAboutDlgs.cpp:97 Src/wptKeyManagerDlg.cpp:1751
 #: Src/wptMainProc.cpp:576
 msgid "About WinPT"
 msgstr "Über WinPT"
@@ -236,7 +233,7 @@
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:700
 #: Src/wptAboutDlgs.cpp:116 Src/wptKeyEditDlgs.cpp:1859
-#: Src/wptKeyManagerDlg.cpp:953
+#: Src/wptKeyManagerDlg.cpp:963
 msgid "&Help"
 msgstr "&Hilfe"
 
@@ -353,7 +350,7 @@
 msgid "Make off-card backup of encryption key"
 msgstr "Externes Backup des Verschlüsselungs-Schlüssel"
 
-#: Src/wptCardDlg.cpp:608 Src/wptKeyManagerDlg.cpp:1629
+#: Src/wptCardDlg.cpp:608 Src/wptKeyManagerDlg.cpp:1645
 msgid "Card Key Generation"
 msgstr "Karten-Schlüsselerzeugung"
 
@@ -446,19 +443,19 @@
 "OK zum Fortfahren oder Abbrechen"
 
 #: Src/wptClipDecryptDlg.cpp:54 Src/wptClipDecryptDlg.cpp:57
-#: Src/wptClipDecryptDlg.cpp:200 Src/wptFileManager.cpp:1232
+#: Src/wptClipDecryptDlg.cpp:200 Src/wptFileManager.cpp:1233
 #: Src/wptKeyRevokersDlg.cpp:107 Src/wptKeyRevokersDlg.cpp:158
 msgid "user ID not found"
 msgstr "Benutzerkennung nicht gefunden"
 
 #: Src/wptClipDecryptDlg.cpp:118 Src/wptClipDecryptDlg.cpp:130
 #: Src/wptClipDecryptDlg.cpp:138 Src/wptClipDecryptDlg.cpp:146
-#: Src/wptClipDecryptDlg.cpp:148 Src/wptFileManager.cpp:1270
-#: Src/wptFileManager.cpp:1321
+#: Src/wptClipDecryptDlg.cpp:148 Src/wptFileManager.cpp:1271
+#: Src/wptFileManager.cpp:1322
 msgid "Decryption"
 msgstr "Entschlüsselung"
 
-#: Src/wptClipDecryptDlg.cpp:131 Src/wptFileManager.cpp:1322
+#: Src/wptClipDecryptDlg.cpp:131 Src/wptFileManager.cpp:1323
 #, c-format
 msgid ""
 "Encrypted with %s key, ID %s.%s\n"
@@ -481,7 +478,7 @@
 #: Src/wptClipDecryptDlg.cpp:164 Src/wptClipEncryptDlg.cpp:206
 #: Src/wptClipSignDlg.cpp:119 Src/wptClipSignDlg.cpp:229
 #: Src/wptClipSignEncDlg.cpp:197 Src/wptKeyManager.cpp:329
-#: Src/wptKeyManager.cpp:777 Src/wptKeyManager.cpp:977 Src/wptSymEnc.cpp:90
+#: Src/wptKeyManager.cpp:798 Src/wptKeyManager.cpp:998 Src/wptSymEnc.cpp:90
 msgid "GnuPG Status: Finished"
 msgstr "GnuPG-Status: Abgeschlossen"
 
@@ -528,15 +525,10 @@
 msgid "Clipboard"
 msgstr "Zwischenablage"
 
-#: Src/wptClipEditDlg.cpp:101 Src/wptFileManager.cpp:574
+#: Src/wptClipEditDlg.cpp:101 Src/wptFileManager.cpp:575
 msgid "File Open"
 msgstr "Datei öffnen"
 
-#: Src/wptClipEditDlg.cpp:102 Src/wptClipEditDlg.cpp:150
-#: Src/wptFileManager.cpp:575 Src/wptW32API.cpp:122
-msgid "All Files (*.*)"
-msgstr ""
-
 #: Src/wptClipEditDlg.cpp:110
 msgid ""
 "The file you want to add is very large.\n"
@@ -610,13 +602,13 @@
 #: Src/wptClipEncryptDlg.cpp:142 Src/wptClipSignEncDlg.cpp:112
 #: Src/wptCommonDlg.cpp:68 Src/wptFileManagerDlg.cpp:84
 #: Src/wptFileManagerDlg.cpp:217 Src/wptFileManagerDlg.cpp:285
-#: Src/wptFileSaveDlg.cpp:58 Src/wptFirstRunDlg.cpp:51
+#: Src/wptFileSaveDlg.cpp:58 Src/wptFirstRunDlg.cpp:47
 #: Src/wptKeyEditDlgs.cpp:310 Src/wptKeyEditDlgs.cpp:410
 #: Src/wptKeyEditDlgs.cpp:485 Src/wptKeyEditDlgs.cpp:621
 #: Src/wptKeyEditOwnertrustDlg.cpp:67 Src/wptKeygenDlg.cpp:383
 #: Src/wptKeygenDlg.cpp:546 Src/wptKeyRevokeDlg.cpp:101
 #: Src/wptKeyserverDlg.cpp:542 Src/wptKeyserverSearchDlg.cpp:68
-#: Src/wptKeysignDlg.cpp:258 Src/wptPassphraseCB.cpp:83
+#: Src/wptKeysignDlg.cpp:264 Src/wptPassphraseCB.cpp:83
 #: Src/wptPassphraseDlg.cpp:68 Src/wptPINDlg.cpp:55
 #: Src/wptPreferencesDlg.cpp:151 Src/wptTextInputDlg.cpp:84
 msgid "&Cancel"
@@ -646,8 +638,8 @@
 #: Src/wptClipSignDlg.cpp:185 Src/wptClipSignDlg.cpp:193
 #: Src/wptClipSignDlg.cpp:212 Src/wptClipSignDlg.cpp:224
 #: Src/wptClipSignEncDlg.cpp:166 Src/wptClipSignEncDlg.cpp:176
-#: Src/wptFileManager.cpp:1085 Src/wptFileManager.cpp:1103
-#: Src/wptFileManager.cpp:1365 Src/wptMainProc.cpp:153 Src/wptMainProc.cpp:215
+#: Src/wptFileManager.cpp:1086 Src/wptFileManager.cpp:1104
+#: Src/wptFileManager.cpp:1366 Src/wptMainProc.cpp:153 Src/wptMainProc.cpp:215
 msgid "Signing"
 msgstr "Signieren"
 
@@ -675,7 +667,7 @@
 msgid "Signing key:"
 msgstr "Signierer Schlüssel:"
 
-#: Src/wptClipSignEncDlg.cpp:166 Src/wptKeylist.cpp:1162
+#: Src/wptClipSignEncDlg.cpp:166 Src/wptKeylist.cpp:1175
 msgid "No key was selected."
 msgstr "Kein Schlüssel ausgewählt."
 
@@ -686,7 +678,7 @@
 #: Src/wptClipVerifyDlg.cpp:157 Src/wptClipVerifyDlg.cpp:170
 #: Src/wptClipVerifyDlg.cpp:186 Src/wptClipVerifyDlg.cpp:193
 #: Src/wptClipVerifyDlg.cpp:225 Src/wptClipVerifyDlg.cpp:236
-#: Src/wptFileManager.cpp:1551 Src/wptFileManager.cpp:1606
+#: Src/wptFileManager.cpp:1552 Src/wptFileManager.cpp:1607
 #: Src/wptFileManagerDlg.cpp:550 Src/wptFileVerifyDlg.cpp:81
 #: Src/wptFileVerifyDlg.cpp:145 Src/wptMainProc.cpp:179
 #: Src/wptMainProc.cpp:245 Src/wptMainProc.cpp:257 Src/wptMainProc.cpp:265
@@ -760,8 +752,8 @@
 #: Src/wptKeyEditDlgs.cpp:1720 Src/wptKeyEditDlgs.cpp:1729
 #: Src/wptKeyEditDlgs.cpp:1839 Src/wptKeyEditDlgs.cpp:1849
 #: Src/wptKeyEditDlgs.cpp:1860 Src/wptKeyEditDlgs.cpp:1889
-#: Src/wptKeyEditDlgs.cpp:1894 Src/wptKeyManagerDlg.cpp:981
-#: Src/wptKeyManagerDlg.cpp:1770
+#: Src/wptKeyEditDlgs.cpp:1894 Src/wptKeyManagerDlg.cpp:991
+#: Src/wptKeyManagerDlg.cpp:1786
 msgid "Key Edit"
 msgstr "Schlüssel bearbeiten"
 
@@ -1060,12 +1052,12 @@
 
 #: Src/wptFileManager.cpp:108 Src/wptFileManager.cpp:130
 #: Src/wptFileManager.cpp:136 Src/wptFileManager.cpp:175
-#: Src/wptFileManager.cpp:300 Src/wptFileManager.cpp:668
-#: Src/wptFileManager.cpp:813 Src/wptFileManager.cpp:927
-#: Src/wptFileManager.cpp:1456 Src/wptFileManager.cpp:1483
-#: Src/wptFileManager.cpp:1502 Src/wptFileManager.cpp:1760
-#: Src/wptFileManager.cpp:1822 Src/wptFileManagerDlg.cpp:497
-#: Src/wptFileStatDlg.cpp:137 Src/wptMainProc.cpp:397 Src/wptMDSumDlg.cpp:152
+#: Src/wptFileManager.cpp:300 Src/wptFileManager.cpp:669
+#: Src/wptFileManager.cpp:814 Src/wptFileManager.cpp:928
+#: Src/wptFileManager.cpp:1457 Src/wptFileManager.cpp:1484
+#: Src/wptFileManager.cpp:1503 Src/wptFileManager.cpp:1761
+#: Src/wptFileManager.cpp:1823 Src/wptFileManagerDlg.cpp:497
+#: Src/wptFileStatDlg.cpp:137 Src/wptMainProc.cpp:397 Src/wptMDSumDlg.cpp:153
 msgid "File Manager"
 msgstr "Dateimanager"
 
@@ -1111,11 +1103,11 @@
 msgid "Operation"
 msgstr "Prozess"
 
-#: Src/wptFileManager.cpp:668
+#: Src/wptFileManager.cpp:669
 msgid "Please select a file."
 msgstr "Bitte eine Datei auswählen."
 
-#: Src/wptFileManager.cpp:814
+#: Src/wptFileManager.cpp:815
 #, c-format
 msgid ""
 "\"%s\" does not seems to be a text file.\n"
@@ -1124,53 +1116,53 @@
 "\"%s\" scheint keine Text-Datei zu sein.\n"
 "Möchsten Sie wirklich diese Datei signieren?"
 
-#: Src/wptFileManager.cpp:928
+#: Src/wptFileManager.cpp:929
 #, c-format
 msgid "\"%s\" does not exist"
 msgstr "\"%s\" existiert nicht"
 
-#: Src/wptFileManager.cpp:1009 Src/wptFileStatDlg.cpp:259
+#: Src/wptFileManager.cpp:1010 Src/wptFileStatDlg.cpp:259
 #: Src/wptFileStatDlg.cpp:266
 msgid "File Status"
 msgstr "Dateistatus"
 
-#: Src/wptFileManager.cpp:1055
+#: Src/wptFileManager.cpp:1056
 msgid "Enter filename for encrypted file"
 msgstr "Wählen Sie einen Namen für die verschlüsselte Datei"
 
-#: Src/wptFileManager.cpp:1084
+#: Src/wptFileManager.cpp:1085
 msgid "Could not get default secret key."
 msgstr "Konnte den geheimen Standardschlüssel nicht finden."
 
-#: Src/wptFileManager.cpp:1117 Src/wptFileManager.cpp:1401
+#: Src/wptFileManager.cpp:1118 Src/wptFileManager.cpp:1402
 #: Src/wptFileManagerDlg.cpp:548 Src/wptMainProc.cpp:197
 #: Src/wptMainProc.cpp:413 Src/wptMainProc.cpp:420
 msgid "Sign"
 msgstr "Signieren"
 
-#: Src/wptFileManager.cpp:1130 Src/wptFileManagerDlg.cpp:546
+#: Src/wptFileManager.cpp:1131 Src/wptFileManagerDlg.cpp:546
 #: Src/wptMainProc.cpp:412 Src/wptMainProc.cpp:417
 msgid "Encrypt"
 msgstr "Verschlüsseln"
 
-#: Src/wptFileManager.cpp:1157 Src/wptFileManager.cpp:1188
-#: Src/wptFileManager.cpp:1193 Src/wptMainProc.cpp:411
+#: Src/wptFileManager.cpp:1158 Src/wptFileManager.cpp:1189
+#: Src/wptFileManager.cpp:1194 Src/wptMainProc.cpp:411
 msgid "Symmetric"
 msgstr "Symmetrisch"
 
-#: Src/wptFileManager.cpp:1193
+#: Src/wptFileManager.cpp:1194
 msgid "Encryption failed."
 msgstr "Verschlüsselung fehlgeschlagen."
 
-#: Src/wptFileManager.cpp:1220
+#: Src/wptFileManager.cpp:1221
 msgid "Good signature"
 msgstr "Korrekte Signatur"
 
-#: Src/wptFileManager.cpp:1220
+#: Src/wptFileManager.cpp:1221
 msgid "BAD signature"
 msgstr "Falsche Signatur"
 
-#: Src/wptFileManager.cpp:1228
+#: Src/wptFileManager.cpp:1229
 #, c-format
 msgid ""
 "Signature made %s using %s key ID %s\n"
@@ -1179,23 +1171,23 @@
 "Signatur erstellt %s mit %s key ID %s\n"
 "%s von \"%s\""
 
-#: Src/wptFileManager.cpp:1233
+#: Src/wptFileManager.cpp:1234
 msgid "Decrypt Verify"
 msgstr "Entschlüsseln/Überprüfen"
 
-#: Src/wptFileManager.cpp:1281
+#: Src/wptFileManager.cpp:1282
 msgid "Choose Filename for Output"
 msgstr "Wählen Sie einen Namen für die Ausgabedatei"
 
-#: Src/wptFileManager.cpp:1292
+#: Src/wptFileManager.cpp:1293
 msgid "Please enter filename for plaintext file"
 msgstr "Wählen Sie einen Namen für die Klartext-Datei"
 
-#: Src/wptFileManager.cpp:1330 Src/wptFileManagerDlg.cpp:547
+#: Src/wptFileManager.cpp:1331 Src/wptFileManagerDlg.cpp:547
 msgid "Decrypt"
 msgstr "Entschlüsseln"
 
-#: Src/wptFileManager.cpp:1336
+#: Src/wptFileManager.cpp:1337
 #, c-format
 msgid ""
 "Decryption failed.\n"
@@ -1204,32 +1196,32 @@
 "Entshlüsselung fehlgeschlagen.\n"
 "%s: existiert nicht."
 
-#: Src/wptFileManager.cpp:1378
+#: Src/wptFileManager.cpp:1379
 msgid "Enter filename for signed file"
 msgstr "Wählen Sie einen Namen für die signierte Datei"
 
-#: Src/wptFileManager.cpp:1482
+#: Src/wptFileManager.cpp:1483
 msgid "Could not find detached signature in the clipboard."
 msgstr "Konnte \"detached\" Signatur in der Zwischenablage nicht finden."
 
 # c:\oss\winpt-gpgme\src\wptFileManager.cpp:1362
-#: Src/wptFileManager.cpp:1502
+#: Src/wptFileManager.cpp:1503
 msgid "No files to check."
 msgstr "Keine Datei(en) zu pruefen."
 
-#: Src/wptFileManager.cpp:1519
+#: Src/wptFileManager.cpp:1520
 msgid "Select Data File"
 msgstr "Bitte Datendatei auswählen"
 
-#: Src/wptFileManager.cpp:1521
+#: Src/wptFileManager.cpp:1522
 msgid "Selected Output File"
 msgstr "Bitte Ausgabedatei auswählen"
 
-#: Src/wptFileManager.cpp:1551
+#: Src/wptFileManager.cpp:1552
 msgid "Invalid file name. Exit"
 msgstr "Ungültiger Dateiname. Abbruch"
 
-#: Src/wptFileManager.cpp:1653 Src/wptFileManager.cpp:1664
+#: Src/wptFileManager.cpp:1654 Src/wptFileManager.cpp:1665
 #: Src/wptFileManagerDlg.cpp:242 Src/wptImportList.cpp:414
 #: Src/wptImportList.cpp:421 Src/wptImportList.cpp:430
 #: Src/wptImportList.cpp:438 Src/wptImportList.cpp:447
@@ -1238,7 +1230,7 @@
 msgid "Import"
 msgstr "Importieren"
 
-#: Src/wptFileManager.cpp:1661
+#: Src/wptFileManager.cpp:1662
 msgid ""
 "Key without a self signature was dectected!\n"
 "(This key is NOT usable for encryption, etc)\n"
@@ -1250,58 +1242,58 @@
 "\n"
 "Kann diese(n) Schlüssel nicht importieren!"
 
-#: Src/wptFileManager.cpp:1687 Src/wptKeyManager.cpp:312
+#: Src/wptFileManager.cpp:1688 Src/wptKeyManager.cpp:312
 #: Src/wptKeyManager.cpp:348 Src/wptKeyManager.cpp:383
 msgid "No key was selected for export."
 msgstr "Kein Schlüssel zum Exportieren ausgewählt."
 
-#: Src/wptFileManager.cpp:1687 Src/wptFileManager.cpp:1710
+#: Src/wptFileManager.cpp:1688 Src/wptFileManager.cpp:1711
 #: Src/wptKeyserverDlg.cpp:95
 msgid "Export"
 msgstr "Exportieren"
 
-#: Src/wptFileManager.cpp:1695 Src/wptKeyManagerDlg.cpp:1693
-#: Src/wptKeyManagerDlg.cpp:1727
+#: Src/wptFileManager.cpp:1696 Src/wptKeyManagerDlg.cpp:1709
+#: Src/wptKeyManagerDlg.cpp:1743
 msgid "Choose Name for Key File"
 msgstr "Den Namen der Schlüsseldatei wählen"
 
-#: Src/wptFileManager.cpp:1714 Src/wptKeyEditDlgs.cpp:967
+#: Src/wptFileManager.cpp:1715 Src/wptKeyEditDlgs.cpp:967
 #: Src/wptKeyEditDlgs.cpp:1289 Src/wptKeyEditDlgs.cpp:1360
 #: Src/wptKeyserverDlg.cpp:106
 msgid "GnuPG status"
 msgstr "GnuPG Status"
 
-#: Src/wptFileManager.cpp:1714
+#: Src/wptFileManager.cpp:1715
 #, c-format
 msgid "Finished (Output: %s)"
 msgstr "Fertig (Datei: %s)"
 
-#: Src/wptFileManager.cpp:1761
+#: Src/wptFileManager.cpp:1762
 #, c-format
 msgid "%s: no valid OpenPGP data found."
 msgstr "%s: keine gültigen OpenPGP-Daten gefunden."
 
-#: Src/wptFileManager.cpp:1821
+#: Src/wptFileManager.cpp:1822
 msgid "Encrypting into a ZIP archive makes sense with multiple files"
 msgstr "Verschlüsseln in eine ZIP-Datei macht nur mit mehreren Dateien Sinn"
 
-#: Src/wptFileManager.cpp:1826
+#: Src/wptFileManager.cpp:1827
 msgid "Choose File Name for Output"
 msgstr "Wählen Sie einen Namen für die Ausgabedatei"
 
-#: Src/wptFileManager.cpp:1895
+#: Src/wptFileManager.cpp:1896
 msgid "Choose a Name for the Archive"
 msgstr "Wählen Sie den Namen für das Archiv"
 
-#: Src/wptFileManager.cpp:1898
+#: Src/wptFileManager.cpp:1899
 msgid "Invalid archive name. Exit."
 msgstr "Ungültiger Archivename. Abbruch."
 
-#: Src/wptFileManager.cpp:1898 Src/wptFileManager.cpp:1905
+#: Src/wptFileManager.cpp:1899 Src/wptFileManager.cpp:1906
 msgid "Encrypt Directory"
 msgstr "Verzeichnis verschlüsseln"
 
-#: Src/wptFileManager.cpp:1905
+#: Src/wptFileManager.cpp:1906
 msgid "Could not create zip archive."
 msgstr "Konnte ZIP-Datei nicht erstellen."
 
@@ -1345,7 +1337,7 @@
 msgstr "%s enthält %d Schlüssel."
 
 #: Src/wptFileManagerDlg.cpp:211 Src/wptFileManagerDlg.cpp:466
-#: Src/wptKeyManagerDlg.cpp:918 Src/wptOwnertrustDlg.cpp:98
+#: Src/wptKeyManagerDlg.cpp:928 Src/wptOwnertrustDlg.cpp:98
 msgid "File"
 msgstr "Datei"
 
@@ -1381,17 +1373,17 @@
 msgid "Signature mode"
 msgstr "Signaturmodus"
 
-#: Src/wptFileManagerDlg.cpp:284 Src/wptKeyManagerDlg.cpp:945
+#: Src/wptFileManagerDlg.cpp:284 Src/wptKeyManagerDlg.cpp:955
 msgid "Options"
 msgstr "Optionen"
 
 #: Src/wptFileManagerDlg.cpp:330 Src/wptKeyEditDlgs.cpp:1263
 #: Src/wptKeyEditDlgs.cpp:1312 Src/wptKeyEditDlgs.cpp:1386
-#: Src/wptKeyManager.cpp:695 Src/wptKeyManager.cpp:796
-#: Src/wptKeyManager.cpp:833 Src/wptKeyManagerDlg.cpp:1474
-#: Src/wptKeyManagerDlg.cpp:1494 Src/wptKeyManagerDlg.cpp:1528
-#: Src/wptKeyManagerDlg.cpp:1547 Src/wptKeyManagerDlg.cpp:1567
-#: Src/wptKeyManagerDlg.cpp:1683 Src/wptKeyManagerDlg.cpp:1702
+#: Src/wptKeyManager.cpp:716 Src/wptKeyManager.cpp:817
+#: Src/wptKeyManager.cpp:854 Src/wptKeyManagerDlg.cpp:1490
+#: Src/wptKeyManagerDlg.cpp:1510 Src/wptKeyManagerDlg.cpp:1544
+#: Src/wptKeyManagerDlg.cpp:1563 Src/wptKeyManagerDlg.cpp:1583
+#: Src/wptKeyManagerDlg.cpp:1699 Src/wptKeyManagerDlg.cpp:1718
 #: Src/wptKeyserverSearchDlg.cpp:132
 msgid "Please select a key."
 msgstr "Bitte Schlüssel wählen."
@@ -1409,12 +1401,12 @@
 msgid "File Manager (use drag & drop to add files)"
 msgstr "Dateimanager (Drag & Drop möglich)"
 
-#: Src/wptFileManagerDlg.cpp:467 Src/wptKeyManagerDlg.cpp:919
-#: Src/wptKeyManagerDlg.cpp:924 Src/wptKeyManagerDlg.cpp:935
+#: Src/wptFileManagerDlg.cpp:467 Src/wptKeyManagerDlg.cpp:929
+#: Src/wptKeyManagerDlg.cpp:934 Src/wptKeyManagerDlg.cpp:945
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: Src/wptFileManagerDlg.cpp:468 Src/wptKeyManagerDlg.cpp:920
+#: Src/wptFileManagerDlg.cpp:468 Src/wptKeyManagerDlg.cpp:930
 msgid "View"
 msgstr "Ansicht"
 
@@ -1434,8 +1426,8 @@
 msgid "&Decrypt"
 msgstr "&Entschlüsseln"
 
-#: Src/wptFileManagerDlg.cpp:473 Src/wptKeyManagerDlg.cpp:936
-#: Src/wptKeyManagerDlg.cpp:984
+#: Src/wptFileManagerDlg.cpp:473 Src/wptKeyManagerDlg.cpp:946
+#: Src/wptKeyManagerDlg.cpp:994
 msgid "&Sign"
 msgstr "&Signieren"
 
@@ -1461,7 +1453,8 @@
 msgstr "E&xportieren"
 
 # msgid "Executable Files (*.exe)"
-# msgstr "Ausführbare Dateien (*.exe)"
+# msgstr ""
+# XXX \0\0 problem again
 #: Src/wptFileManagerDlg.cpp:479 Src/wptMainProc.cpp:410
 msgid "Exit"
 msgstr "Beenden"
@@ -1579,21 +1572,21 @@
 msgstr "Wollen sie den Schlüssel herunterladen?"
 
 # c:\oss\winpt-gpgme\src\wptFirstRunDlg.cpp:42
-#: Src/wptFirstRunDlg.cpp:48
+#: Src/wptFirstRunDlg.cpp:44
 msgid "&Generate a GnuPG key pair"
 msgstr "GnuPG Schlüsselpaar &erzeugen"
 
 # c:\oss\winpt-gpgme\src\wptFirstRunDlg.cpp:43
-#: Src/wptFirstRunDlg.cpp:50
+#: Src/wptFirstRunDlg.cpp:46
 msgid "&Copy GnuPG keyrings from another location"
 msgstr "GPG Keyring aus anderem Verzeichnis &kopieren"
 
-#: Src/wptFirstRunDlg.cpp:52
+#: Src/wptFirstRunDlg.cpp:48
 msgid "WinPT First Start"
 msgstr "WinPT Erster Start"
 
 # c:\oss\winpt-gpgme\src\wptGPG.cpp:728
-#: Src/wptGPG.cpp:838
+#: Src/wptGPG.cpp:831
 msgid ""
 "The selected keyring has the read-only file\n"
 "attribute. In this state you do not have write\n"
@@ -1603,19 +1596,19 @@
 "In diesem Zustand kann nichts gespeichert werden\n"
 "Wollen Sie das Attribut zurücksetzen?"
 
-#: Src/wptGPG.cpp:841
+#: Src/wptGPG.cpp:834
 msgid "GPG Information"
 msgstr "GPG Information"
 
-#: Src/wptGPG.cpp:845
+#: Src/wptGPG.cpp:838
 msgid "Could not reset read-only state."
 msgstr "Konnte den Read-Only Zustand nicht zurücksetzen."
 
-#: Src/wptGPG.cpp:846 Src/wptGPG.cpp:1126 Src/wptGPG.cpp:1135
+#: Src/wptGPG.cpp:839 Src/wptGPG.cpp:1119 Src/wptGPG.cpp:1128
 msgid "GPG Error"
 msgstr "GPG Fehler"
 
-#: Src/wptGPG.cpp:858
+#: Src/wptGPG.cpp:851
 msgid ""
 "You do not have file access to modify the contents of\n"
 "one or both of the selected keyrings.\n"
@@ -1629,23 +1622,23 @@
 "Die Schlüsselbunde sind im Nur-Lesen-Modus, was meistens der Fall ist, \n"
 "wenn ein anderes Programm auf die Schlüsselbunde zugreift.\n"
 
-#: Src/wptGPG.cpp:863
+#: Src/wptGPG.cpp:856
 msgid "GPG Warning"
 msgstr "GPG Warnung"
 
-#: Src/wptGPG.cpp:887 Src/wptGPGPrefsDlg.cpp:210 Src/wptGPGPrefsDlg.cpp:216
+#: Src/wptGPG.cpp:880 Src/wptGPGPrefsDlg.cpp:210 Src/wptGPGPrefsDlg.cpp:216
 #: Src/wptGPGPrefsDlg.cpp:222 Src/wptGPGPrefsDlg.cpp:228
 #: Src/wptGPGPrefsDlg.cpp:233 Src/wptGPGPrefsDlg.cpp:238
 #: Src/wptGPGPrefsDlg.cpp:244 Src/wptGPGPrefsDlg.cpp:258
-#: Src/wptKeyEditDlgs.cpp:1663 Src/wptKeyManagerDlg.cpp:946
+#: Src/wptKeyEditDlgs.cpp:1663 Src/wptKeyManagerDlg.cpp:956
 #: Src/wptMainProc.cpp:430 Src/wptPreferencesDlg.cpp:209
 #: Src/wptPreferencesDlg.cpp:252 Src/wptPreferencesDlg.cpp:263
 #: Src/wptPreferencesDlg.cpp:275 Src/wptPreferencesDlg.cpp:308
-#: Src/wptRegistry.cpp:603
+#: Src/wptRegistry.cpp:609
 msgid "Preferences"
 msgstr "Einstellungen"
 
-#: Src/wptGPG.cpp:888
+#: Src/wptGPG.cpp:881
 #, c-format
 msgid ""
 "%s does not exit.\n"
@@ -1654,41 +1647,41 @@
 "%s existiert nicht.\n"
 "Möchten Sie dieses Verzeichnis erstellen?"
 
-#: Src/wptGPG.cpp:916
+#: Src/wptGPG.cpp:909
 msgid "Please choose your public keyring"
 msgstr "Bitte wählen Sie Ihren öffentlichen Schlüsselbund."
 
-#: Src/wptGPG.cpp:919 Src/wptGPG.cpp:939
+#: Src/wptGPG.cpp:912 Src/wptGPG.cpp:932
 msgid "No keyring was chosen. Exit."
 msgstr "Kein Schlüsselbund ausgewählt. Abbruch."
 
-#: Src/wptGPG.cpp:925
+#: Src/wptGPG.cpp:918
 msgid "Overwrite old public keyring?"
 msgstr "Alten öff. Schlüsselbund überschreiben?"
 
-#: Src/wptGPG.cpp:930 Src/wptGPG.cpp:949
+#: Src/wptGPG.cpp:923 Src/wptGPG.cpp:942
 msgid "Could not copy file."
 msgstr "Datei konnte nicht kopiert werden"
 
-#: Src/wptGPG.cpp:936
+#: Src/wptGPG.cpp:929
 msgid "Please choose your secret keyring"
 msgstr "Bitte wählen Sie Ihren geheimen Schlüsselbund"
 
-#: Src/wptGPG.cpp:944
+#: Src/wptGPG.cpp:937
 msgid "Overwrite old secret keyring?"
 msgstr "Alten geheimen Schlüsselbund überschreiben?"
 
-#: Src/wptGPG.cpp:994 Src/wptGPG.cpp:1084 Src/wptGPG.cpp:1097
+#: Src/wptGPG.cpp:987 Src/wptGPG.cpp:1077 Src/wptGPG.cpp:1090
 msgid "Backup"
 msgstr "Sicherung"
 
-#: Src/wptGPG.cpp:994
+#: Src/wptGPG.cpp:987
 #, c-format
 msgid "Backup keyring \"%s\" failed"
 msgstr "Schlüsselbundsicherung \"%s\" fehlgeschlagen"
 
 # c:\oss\winpt-gpgme\src\wptGPG.cpp:1021
-#: Src/wptGPG.cpp:1085
+#: Src/wptGPG.cpp:1078
 #, c-format
 msgid ""
 "The backup drive '%s' does not seems to accessable.\n"
@@ -1697,12 +1690,12 @@
 "Kann auf das Backup-Laufwerk '%s' nicht zugreifen.\n"
 "Bitte aktivieren/überprüfen sie das Laufwerk um Fortzufahren."
 
-#: Src/wptGPG.cpp:1097
+#: Src/wptGPG.cpp:1090
 #, c-format
 msgid "Invalid backup mode %d"
 msgstr "Ungültiger Sicherungsmethode %d"
 
-#: Src/wptGPG.cpp:1125
+#: Src/wptGPG.cpp:1118
 msgid "No GPG error description available."
 msgstr "Keine GPG-Fehlerbeschreibung verfügbar."
 
@@ -1776,7 +1769,7 @@
 "Aktuelle Daten gehen verloren\n"
 "Sind Sie sicher?"
 
-#: Src/wptGPGPrefsDlg.cpp:141 Src/wptKeyManagerDlg.cpp:1655
+#: Src/wptGPGPrefsDlg.cpp:141 Src/wptKeyManagerDlg.cpp:1671
 #: Src/wptMainProc.cpp:588
 msgid "GnuPG Preferences"
 msgstr "GnuPG-Einstellungen"
@@ -1855,10 +1848,6 @@
 msgid "Choose GPG binary"
 msgstr "Wählen Sie GPG.EXE Datei"
 
-#: Src/wptGPGPrefsDlg.cpp:318
-msgid "Executable Files (*.exe)"
-msgstr ""
-
 #: Src/wptGroupsDlg.cpp:53
 msgid "New Group"
 msgstr "Neue Gruppe"
@@ -1917,23 +1906,23 @@
 #: Src/wptKeyManager.cpp:463 Src/wptKeyManager.cpp:466
 #: Src/wptKeyManager.cpp:471 Src/wptKeyManager.cpp:477
 #: Src/wptKeyManager.cpp:482 Src/wptKeyManager.cpp:617
-#: Src/wptKeyManager.cpp:625 Src/wptKeyManager.cpp:695
-#: Src/wptKeyManager.cpp:724 Src/wptKeyManager.cpp:734
-#: Src/wptKeyManager.cpp:745 Src/wptKeyManager.cpp:771
-#: Src/wptKeyManager.cpp:796 Src/wptKeyManager.cpp:803
-#: Src/wptKeyManager.cpp:828 Src/wptKeyManager.cpp:833
-#: Src/wptKeyManager.cpp:861 Src/wptKeyManager.cpp:908
-#: Src/wptKeyManager.cpp:915 Src/wptKeyManager.cpp:975
-#: Src/wptKeyManager.cpp:1005 Src/wptKeyManagerDlg.cpp:1155
-#: Src/wptKeyManagerDlg.cpp:1172 Src/wptKeyManagerDlg.cpp:1453
-#: Src/wptKeyManagerDlg.cpp:1475 Src/wptKeyManagerDlg.cpp:1494
-#: Src/wptKeyManagerDlg.cpp:1502 Src/wptKeyManagerDlg.cpp:1512
-#: Src/wptKeyManagerDlg.cpp:1528 Src/wptKeyManagerDlg.cpp:1534
-#: Src/wptKeyManagerDlg.cpp:1547 Src/wptKeyManagerDlg.cpp:1567
-#: Src/wptKeyManagerDlg.cpp:1596 Src/wptKeyManagerDlg.cpp:1625
-#: Src/wptKeyManagerDlg.cpp:1684 Src/wptKeyManagerDlg.cpp:1702
-#: Src/wptKeyManagerDlg.cpp:1707 Src/wptKeyManagerDlg.cpp:1712
-#: Src/wptKeyManagerDlg.cpp:1799 Src/wptKeyManagerDlg.cpp:1982
+#: Src/wptKeyManager.cpp:625 Src/wptKeyManager.cpp:716
+#: Src/wptKeyManager.cpp:745 Src/wptKeyManager.cpp:755
+#: Src/wptKeyManager.cpp:766 Src/wptKeyManager.cpp:792
+#: Src/wptKeyManager.cpp:817 Src/wptKeyManager.cpp:824
+#: Src/wptKeyManager.cpp:849 Src/wptKeyManager.cpp:854
+#: Src/wptKeyManager.cpp:882 Src/wptKeyManager.cpp:929
+#: Src/wptKeyManager.cpp:936 Src/wptKeyManager.cpp:996
+#: Src/wptKeyManager.cpp:1026 Src/wptKeyManagerDlg.cpp:1170
+#: Src/wptKeyManagerDlg.cpp:1188 Src/wptKeyManagerDlg.cpp:1469
+#: Src/wptKeyManagerDlg.cpp:1491 Src/wptKeyManagerDlg.cpp:1510
+#: Src/wptKeyManagerDlg.cpp:1518 Src/wptKeyManagerDlg.cpp:1528
+#: Src/wptKeyManagerDlg.cpp:1544 Src/wptKeyManagerDlg.cpp:1550
+#: Src/wptKeyManagerDlg.cpp:1563 Src/wptKeyManagerDlg.cpp:1583
+#: Src/wptKeyManagerDlg.cpp:1612 Src/wptKeyManagerDlg.cpp:1641
+#: Src/wptKeyManagerDlg.cpp:1700 Src/wptKeyManagerDlg.cpp:1718
+#: Src/wptKeyManagerDlg.cpp:1723 Src/wptKeyManagerDlg.cpp:1728
+#: Src/wptKeyManagerDlg.cpp:1815 Src/wptKeyManagerDlg.cpp:1998
 #: Src/wptKeysigDlg.cpp:93 Src/wptKeysigDlg.cpp:105 Src/wptKeysigDlg.cpp:277
 #: Src/wptKeysigDlg.cpp:354 Src/wptKeysigDlg.cpp:363 Src/wptKeysigDlg.cpp:407
 #: Src/wptMainProc.cpp:398 Src/wptMainProc.cpp:551 Src/wptMainProc.cpp:559
@@ -1944,15 +1933,15 @@
 #: Src/wptKeyEditDlgs.cpp:1063 Src/wptKeyEditDlgs.cpp:1124
 #: Src/wptKeyEditDlgs.cpp:1398 Src/wptKeyEditDlgs.cpp:1418
 #: Src/wptKeyEditDlgs.cpp:1457 Src/wptKeyEditDlgs.cpp:1488
-#: Src/wptKeylist.cpp:392 Src/wptKeyPropsDlg.cpp:161 Src/wptKeysigDlg.cpp:143
-#: Src/wptKeysigDlg.cpp:208
+#: Src/wptKeylist.cpp:392 Src/wptKeylist.cpp:426 Src/wptKeyPropsDlg.cpp:161
+#: Src/wptKeysigDlg.cpp:143 Src/wptKeysigDlg.cpp:208
 msgid "Revoked"
 msgstr "Widerrufen"
 
 #: Src/wptImportList.cpp:266 Src/wptKeyEditDlgs.cpp:208
 #: Src/wptKeyEditDlgs.cpp:1061 Src/wptKeyEditDlgs.cpp:1319
-#: Src/wptKeylist.cpp:394 Src/wptKeyPropsDlg.cpp:158 Src/wptKeysigDlg.cpp:142
-#: Src/wptKeysigDlg.cpp:209
+#: Src/wptKeylist.cpp:394 Src/wptKeylist.cpp:424 Src/wptKeyPropsDlg.cpp:158
+#: Src/wptKeysigDlg.cpp:142 Src/wptKeysigDlg.cpp:209
 msgid "Expired"
 msgstr "Abgelaufen"
 
@@ -1960,7 +1949,7 @@
 msgid "secret key"
 msgstr "geheimer Schlüssel"
 
-#: Src/wptImportList.cpp:272
+#: Src/wptImportList.cpp:272 Src/wptKeylist.cpp:430
 msgid "public key"
 msgstr "öffentlicher Schlüssel"
 
@@ -1968,35 +1957,35 @@
 msgid "Invalid user ID"
 msgstr "Ungültige Benutzerkennung"
 
-#: Src/wptImportList.cpp:352 Src/wptKeylist.cpp:539 Src/wptKeylist.cpp:547
-#: Src/wptKeyManagerDlg.cpp:864 Src/wptKeyManagerDlg.cpp:932
+#: Src/wptImportList.cpp:352 Src/wptKeylist.cpp:544 Src/wptKeylist.cpp:552
+#: Src/wptKeyManagerDlg.cpp:873 Src/wptKeyManagerDlg.cpp:942
 #: Src/wptKeyserverSearchDlg.cpp:54 Src/wptSigList.cpp:51
 #: Src/wptVerifyList.cpp:101 Src/wptVerifyList.cpp:110
 msgid "User ID"
 msgstr "Benutzerkennung"
 
-#: Src/wptImportList.cpp:353 Src/wptKeylist.cpp:541 Src/wptKeylist.cpp:550
-#: Src/wptKeyManagerDlg.cpp:867 Src/wptKeyserverSearchDlg.cpp:51
+#: Src/wptImportList.cpp:353 Src/wptKeylist.cpp:546 Src/wptKeylist.cpp:555
+#: Src/wptKeyManagerDlg.cpp:876 Src/wptKeyserverSearchDlg.cpp:51
 msgid "Size"
 msgstr "Größe"
 
-#: Src/wptImportList.cpp:354 Src/wptKeyEditDlgs.cpp:985 Src/wptKeylist.cpp:540
-#: Src/wptKeylist.cpp:548 Src/wptKeyManagerDlg.cpp:865
-#: Src/wptKeyManagerDlg.cpp:955 Src/wptKeyRevokersDlg.cpp:58
+#: Src/wptImportList.cpp:354 Src/wptKeyEditDlgs.cpp:985 Src/wptKeylist.cpp:545
+#: Src/wptKeylist.cpp:553 Src/wptKeyManagerDlg.cpp:874
+#: Src/wptKeyManagerDlg.cpp:965 Src/wptKeyRevokersDlg.cpp:58
 #: Src/wptKeyserverSearchDlg.cpp:52 Src/wptSigList.cpp:55
 #: Src/wptVerifyList.cpp:109
 msgid "Key ID"
 msgstr "Schlüssel-ID"
 
 #: Src/wptImportList.cpp:355 Src/wptKeyEditDlgs.cpp:986
-#: Src/wptKeyEditDlgs.cpp:1093 Src/wptKeylist.cpp:554
-#: Src/wptKeyManagerDlg.cpp:871 Src/wptKeyManagerDlg.cpp:958
+#: Src/wptKeyEditDlgs.cpp:1093 Src/wptKeylist.cpp:559
+#: Src/wptKeyManagerDlg.cpp:880 Src/wptKeyManagerDlg.cpp:968
 #: Src/wptKeyserverSearchDlg.cpp:53 Src/wptSigList.cpp:54
 msgid "Creation"
 msgstr "Erstellung"
 
-#: Src/wptImportList.cpp:356 Src/wptKeylist.cpp:549
-#: Src/wptKeyManagerDlg.cpp:866 Src/wptKeyManagerDlg.cpp:957
+#: Src/wptImportList.cpp:356 Src/wptKeylist.cpp:554
+#: Src/wptKeyManagerDlg.cpp:875 Src/wptKeyManagerDlg.cpp:967
 msgid "Type"
 msgstr "Typ"
 
@@ -2069,7 +2058,7 @@
 "Das Bild muss eine JPEG Datei sein."
 
 #: Src/wptKeyEditDlgs.cpp:309 Src/wptKeyEditDlgs.cpp:409
-#: Src/wptKeysignDlg.cpp:257
+#: Src/wptKeysignDlg.cpp:263
 msgid "Passphrase"
 msgstr "Passwort"
 
@@ -2081,10 +2070,6 @@
 msgid "Select Image File"
 msgstr "Bilddatei auswählen"
 
-#: Src/wptKeyEditDlgs.cpp:328
-msgid "JPEG Files (*.jpg, *.jpeg)"
-msgstr ""
-
 #: Src/wptKeyEditDlgs.cpp:331 Src/wptKeyEditDlgs.cpp:341
 #: Src/wptKeyEditDlgs.cpp:347 Src/wptKeyEditDlgs.cpp:353
 #: Src/wptKeyEditDlgs.cpp:365 Src/wptKeyEditDlgs.cpp:855
@@ -2235,7 +2220,7 @@
 #: Src/wptKeyEditDlgs.cpp:855 Src/wptKeyEditDlgs.cpp:868
 #: Src/wptKeyEditDlgs.cpp:927 Src/wptKeyEditDlgs.cpp:1308
 #: Src/wptKeyEditDlgs.cpp:1381 Src/wptKeyEditDlgs.cpp:1441
-#: Src/wptKeyManagerDlg.cpp:1501
+#: Src/wptKeyManagerDlg.cpp:1517
 msgid "There is no secret key available!"
 msgstr "Kein geheimer Schlüssel vorhanden!"
 
@@ -2284,7 +2269,7 @@
 msgid "Passphrase successfully changed."
 msgstr "Passwort erfolgreich geändert."
 
-#: Src/wptKeyEditDlgs.cpp:984
+#: Src/wptKeyEditDlgs.cpp:984 Src/wptKeyManagerDlg.cpp:881
 msgid "Description"
 msgstr "Beschreibung"
 
@@ -2300,8 +2285,8 @@
 msgid "No subkey(s) found."
 msgstr "Kein(e) Unterschlüssel gefunden."
 
-#: Src/wptKeyEditDlgs.cpp:1090 Src/wptKeylist.cpp:543 Src/wptKeylist.cpp:552
-#: Src/wptKeyManagerDlg.cpp:869
+#: Src/wptKeyEditDlgs.cpp:1090 Src/wptKeylist.cpp:548 Src/wptKeylist.cpp:557
+#: Src/wptKeyManagerDlg.cpp:878
 msgid "Validity"
 msgstr "Gültigkeit"
 
@@ -2534,7 +2519,7 @@
 
 #: Src/wptKeyEditOwnertrustDlg.cpp:59 Src/wptKeyPropsDlg.cpp:62
 msgid "I trust marginally"
-msgstr "Geringes Vertrauen"
+msgstr "Teilweises Vertrauen"
 
 #: Src/wptKeyEditOwnertrustDlg.cpp:60 Src/wptKeyPropsDlg.cpp:63
 msgid "I trust fully"
@@ -2559,8 +2544,8 @@
 msgstr "Bitte wählen Sie einen Eintrag."
 
 #: Src/wptKeyEditOwnertrustDlg.cpp:88 Src/wptKeyEditOwnertrustDlg.cpp:95
-#: Src/wptKeyEditOwnertrustDlg.cpp:104 Src/wptKeyManagerDlg.cpp:926
-#: Src/wptKeyManagerDlg.cpp:1751 Src/wptKeyPropsDlg.cpp:291
+#: Src/wptKeyEditOwnertrustDlg.cpp:104 Src/wptKeyManagerDlg.cpp:936
+#: Src/wptKeyManagerDlg.cpp:1767 Src/wptKeyPropsDlg.cpp:291
 #: Src/wptOwnertrustDlg.cpp:97 Src/wptOwnertrustDlg.cpp:121
 #: Src/wptOwnertrustDlg.cpp:133
 msgid "Ownertrust"
@@ -2583,7 +2568,7 @@
 #: Src/wptKeygenDlg.cpp:421 Src/wptKeygenDlg.cpp:426 Src/wptKeygenDlg.cpp:432
 #: Src/wptKeygenDlg.cpp:439 Src/wptKeygenDlg.cpp:451 Src/wptKeygenDlg.cpp:458
 #: Src/wptKeygenDlg.cpp:493 Src/wptKeygenDlg.cpp:586
-#: Src/wptKeyManagerDlg.cpp:1616 Src/wptPassphraseDlg.cpp:94
+#: Src/wptKeyManagerDlg.cpp:1632 Src/wptPassphraseDlg.cpp:94
 msgid "Key Generation"
 msgstr "Schlüsselerzeugung"
 
@@ -2737,7 +2722,7 @@
 
 #: Src/wptKeygenDlg.cpp:545 Src/wptKeygenDlg.cpp:567 Src/wptKeygenDlg.cpp:572
 #: Src/wptKeygenDlg.cpp:578 Src/wptKeygenDlg.cpp:583 Src/wptKeygenDlg.cpp:607
-#: Src/wptKeyManagerDlg.cpp:1639
+#: Src/wptKeyManagerDlg.cpp:1655
 msgid "Key Generation Wizard"
 msgstr "Schlüsselerzeugungs-Assistent"
 
@@ -2818,30 +2803,34 @@
 msgstr "Marginal"
 
 # c:\oss\winpt-gpgme\src\wptKeylist.cpp:492
-#: Src/wptKeylist.cpp:359 Src/wptKeylist.cpp:521
+#: Src/wptKeylist.cpp:359
 msgid "Full"
 msgstr "Voll"
 
-#: Src/wptKeylist.cpp:396 Src/wptKeyPropsDlg.cpp:164
+#: Src/wptKeylist.cpp:396 Src/wptKeylist.cpp:422 Src/wptKeyPropsDlg.cpp:164
 msgid "Disabled"
 msgstr "Inaktiv"
 
-#: Src/wptKeylist.cpp:542 Src/wptKeylist.cpp:551 Src/wptKeyManagerDlg.cpp:868
-#: Src/wptKeyManagerDlg.cpp:956
+#: Src/wptKeylist.cpp:432
+msgid "key pair"
+msgstr "Schlüsselpaar"
+
+#: Src/wptKeylist.cpp:547 Src/wptKeylist.cpp:556 Src/wptKeyManagerDlg.cpp:877
+#: Src/wptKeyManagerDlg.cpp:966
 msgid "Cipher"
 msgstr "Cipher"
 
-#: Src/wptKeylist.cpp:553 Src/wptKeyManagerDlg.cpp:870
+#: Src/wptKeylist.cpp:558 Src/wptKeyManagerDlg.cpp:879
 #: Src/wptVerifyList.cpp:100 Src/wptVerifyList.cpp:108
 msgid "Trust"
 msgstr "Vertrauen"
 
-#: Src/wptKeylist.cpp:723 Src/wptPassphraseCB.cpp:112
+#: Src/wptKeylist.cpp:728 Src/wptPassphraseCB.cpp:112
 #: Src/wptVerifyList.cpp:191
 msgid "Invalid User ID"
 msgstr "Ungültige Benutzerkennung"
 
-#: Src/wptKeylist.cpp:988
+#: Src/wptKeylist.cpp:1001
 #, c-format
 msgid ""
 "It is NOT certain that the key belongs to the person\n"
@@ -2856,11 +2845,11 @@
 "\n"
 "\"%s\" benutzen?"
 
-#: Src/wptKeylist.cpp:996 Src/wptKeylist.cpp:1059
+#: Src/wptKeylist.cpp:1009 Src/wptKeylist.cpp:1072
 msgid "Recipients"
 msgstr "Empfänger"
 
-#: Src/wptKeylist.cpp:1060
+#: Src/wptKeylist.cpp:1073
 #, c-format
 msgid ""
 "KeyID %s.\n"
@@ -2869,7 +2858,7 @@
 "Schlüssel ID %s.\n"
 "Wollen Sie wirklich einen widerrufenen Schlüssel exportieren?"
 
-#: Src/wptKeylist.cpp:1162
+#: Src/wptKeylist.cpp:1175
 msgid "Secret Key List"
 msgstr "Liste der geheimen Schlüssel"
 
@@ -2954,15 +2943,15 @@
 msgid "Could not read key-data from file."
 msgstr "Konnte Schlüsseldaten nicht aus Datei lesen."
 
-#: Src/wptKeyManager.cpp:700
+#: Src/wptKeyManager.cpp:721
 msgid "Do you really want to confirm each key?"
 msgstr "Wollen Sie wirklich jeden Schlüssel bestätigen?"
 
-#: Src/wptKeyManager.cpp:701
+#: Src/wptKeyManager.cpp:722
 msgid "Delete Confirmation"
 msgstr "Löschen Bestätigen"
 
-#: Src/wptKeyManager.cpp:725
+#: Src/wptKeyManager.cpp:746
 #, c-format
 msgid ""
 "Do you really want to delete this key?\n"
@@ -2974,7 +2963,7 @@
 "%s"
 
 # c:\oss\winpt-gpgme\src\wptKeyManager.cpp:605
-#: Src/wptKeyManager.cpp:735
+#: Src/wptKeyManager.cpp:756
 #, c-format
 msgid ""
 "Do you really want to delete this KEY PAIR?\n"
@@ -2991,7 +2980,7 @@
 "\n"
 "%s"
 
-#: Src/wptKeyManager.cpp:742
+#: Src/wptKeyManager.cpp:763
 msgid ""
 "The actual secret key is stored on a smartcard.\n"
 "Only the public key and the secret key \n"
@@ -3001,331 +2990,331 @@
 "Nur der öffentliche Schlüssel und der Zeiger auf den geheimen\n"
 "Schlüssel werden gelöscht.\n"
 
-#: Src/wptKeyManager.cpp:804
+#: Src/wptKeyManager.cpp:825
 #, c-format
 msgid "Do you really want to send '%s' to keyserver %s?"
 msgstr "Wollen Sie '%s' wirklich zum Schlüsselserver %s senden?"
 
-#: Src/wptKeyManager.cpp:827
+#: Src/wptKeyManager.cpp:848
 msgid "Please only select one key."
 msgstr "Bitte nur einen Schlüssel auswählen."
 
-#: Src/wptKeyManager.cpp:907
+#: Src/wptKeyManager.cpp:928
 msgid "Could not connect to keyserver, abort procedure."
 msgstr ""
 "Verbindung zum Keyserver fehlgeschlagen; Die Prozedur wird abgebrochen."
 
-#: Src/wptKeyManager.cpp:914
+#: Src/wptKeyManager.cpp:935
 msgid "Do you really want to refresh all keys in the keyring?"
 msgstr "Wirklich alle Schlüssel im Schlüsselbund neu laden?"
 
-#: Src/wptKeyManager.cpp:989
+#: Src/wptKeyManager.cpp:1010
 msgid "Search"
 msgstr "Suchen"
 
-#: Src/wptKeyManager.cpp:989
+#: Src/wptKeyManager.cpp:1010
 msgid "Search for:"
 msgstr "Suche nach:"
 
 # c:\oss\winpt-gpgme\src\wptKeyManager.cpp:896
-#: Src/wptKeyManager.cpp:1000
+#: Src/wptKeyManager.cpp:1021
 #, c-format
 msgid "String pattern \"%s\" not found."
 msgstr "Zeichenkette \"%s\" nicht gefunden."
 
-#: Src/wptKeyManagerDlg.cpp:437 Src/wptKeyManagerDlg.cpp:976
+#: Src/wptKeyManagerDlg.cpp:445 Src/wptKeyManagerDlg.cpp:986
 msgid "Paste Key from Clipboard"
 msgstr "Schlüssel aus Ablage einfügen"
 
-#: Src/wptKeyManagerDlg.cpp:465
+#: Src/wptKeyManagerDlg.cpp:472
 #, c-format
 msgid "Default Key: %s"
 msgstr "Standardschlüssel: %s"
 
-#: Src/wptKeyManagerDlg.cpp:467
+#: Src/wptKeyManagerDlg.cpp:474
 #, c-format
 msgid "Default Key: 0x%s"
 msgstr "Standardschlüssel: 0x%s"
 
-#: Src/wptKeyManagerDlg.cpp:487
+#: Src/wptKeyManagerDlg.cpp:495
 #, c-format
 msgid "%d secret keys"
 msgstr "%d geheime Schlüssel"
 
 # c:\oss\winpt-gpgme\src\wptKeyManager.cpp:849
-#: Src/wptKeyManagerDlg.cpp:488
+#: Src/wptKeyManagerDlg.cpp:496
 #, c-format
 msgid "%d keys"
 msgstr "%d Schlüssel"
 
-#: Src/wptKeyManagerDlg.cpp:921
+#: Src/wptKeyManagerDlg.cpp:931
 msgid "Key"
 msgstr "Schlüssel"
 
-#: Src/wptKeyManagerDlg.cpp:922 Src/wptKeyManagerDlg.cpp:1186
+#: Src/wptKeyManagerDlg.cpp:932 Src/wptKeyManagerDlg.cpp:1202
 msgid "Groups"
 msgstr "Gruppen"
 
 # c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:478
-#: Src/wptKeyManagerDlg.cpp:925
+#: Src/wptKeyManagerDlg.cpp:935
 msgid "Send Mail..."
 msgstr "E-Mail versenden..."
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:685
-#: Src/wptKeyManagerDlg.cpp:927
+#: Src/wptKeyManagerDlg.cpp:937
 msgid "&Copy\tCtrl+C"
 msgstr "&Kopieren\tCtrl+C"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:686
-#: Src/wptKeyManagerDlg.cpp:928
+#: Src/wptKeyManagerDlg.cpp:938
 msgid "&Paste\tCtrl+V"
 msgstr "&Einfügen\tCtrl+V"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:687
-#: Src/wptKeyManagerDlg.cpp:929
+#: Src/wptKeyManagerDlg.cpp:939
 msgid "Search...\tCtrl+F"
 msgstr "Suchen...\tCtrl+F"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:688
-#: Src/wptKeyManagerDlg.cpp:930
+#: Src/wptKeyManagerDlg.cpp:940
 msgid "Select All\tCtrl+A"
 msgstr "Alles markieren\tCtrl+A"
 
-#: Src/wptKeyManagerDlg.cpp:931
+#: Src/wptKeyManagerDlg.cpp:941
 msgid "&Quit"
 msgstr "&Beenden"
 
-#: Src/wptKeyManagerDlg.cpp:933
+#: Src/wptKeyManagerDlg.cpp:943
 msgid "&Expert"
 msgstr "&Experte"
 
-#: Src/wptKeyManagerDlg.cpp:934
+#: Src/wptKeyManagerDlg.cpp:944
 msgid "&Normal"
 msgstr "&Normal"
 
-#: Src/wptKeyManagerDlg.cpp:937 Src/wptKeyManagerDlg.cpp:938
-#: Src/wptKeyManagerDlg.cpp:982
+#: Src/wptKeyManagerDlg.cpp:947 Src/wptKeyManagerDlg.cpp:948
+#: Src/wptKeyManagerDlg.cpp:992
 msgid "&Delete"
 msgstr "&Löschen"
 
-#: Src/wptKeyManagerDlg.cpp:939 Src/wptKeyManagerDlg.cpp:983
+#: Src/wptKeyManagerDlg.cpp:949 Src/wptKeyManagerDlg.cpp:993
 msgid "&Revoke Cert"
 msgstr "Widerruf Zertifikat"
 
-#: Src/wptKeyManagerDlg.cpp:940 Src/wptKeyManagerDlg.cpp:979
+#: Src/wptKeyManagerDlg.cpp:950 Src/wptKeyManagerDlg.cpp:989
 msgid "&List Signatures"
 msgstr "Signaturen anzeigen"
 
-#: Src/wptKeyManagerDlg.cpp:941 Src/wptKeyManagerDlg.cpp:1542
+#: Src/wptKeyManagerDlg.cpp:951 Src/wptKeyManagerDlg.cpp:1558
 #: Src/wptKeyTrustPathDlg.cpp:130
 msgid "List Trust Path"
 msgstr "Zeige Vertrauenspfad"
 
-#: Src/wptKeyManagerDlg.cpp:942
+#: Src/wptKeyManagerDlg.cpp:952
 msgid "&Export..."
 msgstr "&Exportieren..."
 
-#: Src/wptKeyManagerDlg.cpp:943
+#: Src/wptKeyManagerDlg.cpp:953
 msgid "&Import..."
 msgstr "&Importieren..."
 
-#: Src/wptKeyManagerDlg.cpp:944 Src/wptKeyManagerDlg.cpp:980
+#: Src/wptKeyManagerDlg.cpp:954 Src/wptKeyManagerDlg.cpp:990
 #: Src/wptKeysigDlg.cpp:392
 msgid "&Properties"
 msgstr "&Eigenschaften"
 
-#: Src/wptKeyManagerDlg.cpp:948
+#: Src/wptKeyManagerDlg.cpp:958
 msgid "E&xport Secret Key"
 msgstr "E&xportiere geheimen Schlüssel"
 
-#: Src/wptKeyManagerDlg.cpp:949
+#: Src/wptKeyManagerDlg.cpp:959
 msgid "Re&load Key Cache"
 msgstr "Erneuere Sch&lüsselcache"
 
-#: Src/wptKeyManagerDlg.cpp:950
+#: Src/wptKeyManagerDlg.cpp:960
 msgid "R&everify Signatures"
 msgstr "Signaturen erneut prüfen"
 
-#: Src/wptKeyManagerDlg.cpp:951
+#: Src/wptKeyManagerDlg.cpp:961
 msgid "Refresh &Keys (Keyserver)"
 msgstr "Vom Schlüsselserver aktualisieren"
 
-#: Src/wptKeyManagerDlg.cpp:952 Src/wptTextInputDlg.cpp:49
+#: Src/wptKeyManagerDlg.cpp:962 Src/wptTextInputDlg.cpp:49
 msgid "Info"
 msgstr "Über"
 
-#: Src/wptKeyManagerDlg.cpp:971
+#: Src/wptKeyManagerDlg.cpp:981
 msgid "Copy User ID to Clipboard"
 msgstr "Kopiere Benutzerkennung in Ablage"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:886
-#: Src/wptKeyManagerDlg.cpp:972
+#: Src/wptKeyManagerDlg.cpp:982
 msgid "Copy Key ID to Clipboard"
 msgstr "Kopiere Schlüssel ID in Ablage"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:887
-#: Src/wptKeyManagerDlg.cpp:973
+#: Src/wptKeyManagerDlg.cpp:983
 msgid "Copy Fingerprint to Clipboard"
 msgstr "Kopiere Fingerprint in Ablage"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:888
-#: Src/wptKeyManagerDlg.cpp:974
+#: Src/wptKeyManagerDlg.cpp:984
 msgid "Copy Key Info to Clipboard"
 msgstr "Kopiere Schlüssel Info in Ablage"
 
-#: Src/wptKeyManagerDlg.cpp:975
+#: Src/wptKeyManagerDlg.cpp:985
 msgid "Copy Key to Clipboard"
 msgstr "Kopiere Schlüssel in Ablage"
 
-#: Src/wptKeyManagerDlg.cpp:977
+#: Src/wptKeyManagerDlg.cpp:987
 msgid "Refresh from Keyserver"
 msgstr "Vom Schlüsselserver aktualisieren"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:884
-#: Src/wptKeyManagerDlg.cpp:978
+#: Src/wptKeyManagerDlg.cpp:988
 msgid "Set Implicit &Trust"
 msgstr "Setze impliziertes Vertrauen"
 
-#: Src/wptKeyManagerDlg.cpp:985
+#: Src/wptKeyManagerDlg.cpp:995
 msgid "&Enable"
 msgstr "&Aktivieren"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:892
-#: Src/wptKeyManagerDlg.cpp:986
+#: Src/wptKeyManagerDlg.cpp:996
 msgid "&Disable"
 msgstr "&Deaktivieren"
 
-#: Src/wptKeyManagerDlg.cpp:987
+#: Src/wptKeyManagerDlg.cpp:997
 msgid "Re&fresh from Keyserver"
 msgstr "Vom Schlüsselserver aktualisieren"
 
-#: Src/wptKeyManagerDlg.cpp:988
+#: Src/wptKeyManagerDlg.cpp:998
 msgid "Set preferred Keyserver URL"
 msgstr "Setze bevorzugte Keyserver URL"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:900
-#: Src/wptKeyManagerDlg.cpp:989
+#: Src/wptKeyManagerDlg.cpp:999
 msgid "Send Key to Mail Recipient"
 msgstr "Sende Schlüssel an Mailempfänger"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:904
-#: Src/wptKeyManagerDlg.cpp:990
+#: Src/wptKeyManagerDlg.cpp:1000
 msgid "Set as Default Key"
 msgstr "Setze als Default Key"
 
-#: Src/wptKeyManagerDlg.cpp:992
+#: Src/wptKeyManagerDlg.cpp:1002
 msgid "Key..."
 msgstr "Schlüssel..."
 
-#: Src/wptKeyManagerDlg.cpp:993
+#: Src/wptKeyManagerDlg.cpp:1003
 msgid "User ID..."
 msgstr "Benutzerkennung..."
 
-#: Src/wptKeyManagerDlg.cpp:994
+#: Src/wptKeyManagerDlg.cpp:1004
 msgid "Photo ID..."
 msgstr "Photo ID..."
 
-#: Src/wptKeyManagerDlg.cpp:995
+#: Src/wptKeyManagerDlg.cpp:1005
 msgid "Revoker..."
 msgstr "Revoker..."
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:706
-#: Src/wptKeyManagerDlg.cpp:998
+#: Src/wptKeyManagerDlg.cpp:1008
 msgid "Key Attributes"
 msgstr "Schlüsselattribute"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:707
-#: Src/wptKeyManagerDlg.cpp:999
+#: Src/wptKeyManagerDlg.cpp:1009
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: Src/wptKeyManagerDlg.cpp:1000
+#: Src/wptKeyManagerDlg.cpp:1010
 msgid "Send to Keyserver"
 msgstr "Sende an Keyserver"
 
-#: Src/wptKeyManagerDlg.cpp:1171
+#: Src/wptKeyManagerDlg.cpp:1187
 msgid "Could not set keylist window procedure."
 msgstr "Konnte \"keylist window procedure\" nicht setzen."
 
 # c:\oss\winpt-gpgme\src\wptFirstRunDlg.cpp:42
-#: Src/wptKeyManagerDlg.cpp:1289
+#: Src/wptKeyManagerDlg.cpp:1305
 msgid "Generate new key pair"
 msgstr "Neues Schlüsselpaar erzeugen"
 
-#: Src/wptKeyManagerDlg.cpp:1293
+#: Src/wptKeyManagerDlg.cpp:1309
 msgid "Search for a specific key"
 msgstr "Suche nach einem bestimmten Schlüssel"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:842
-#: Src/wptKeyManagerDlg.cpp:1297
+#: Src/wptKeyManagerDlg.cpp:1313
 msgid "Delete key from keyring"
 msgstr "Schlüssel aus Keyring löschen"
 
-#: Src/wptKeyManagerDlg.cpp:1301
+#: Src/wptKeyManagerDlg.cpp:1317
 msgid "Show key properties"
 msgstr "Schlüsseleigenschaften anzeigen"
 
-#: Src/wptKeyManagerDlg.cpp:1305
+#: Src/wptKeyManagerDlg.cpp:1321
 msgid "Sign key"
 msgstr "Signiere Schlüssel"
 
-#: Src/wptKeyManagerDlg.cpp:1309
+#: Src/wptKeyManagerDlg.cpp:1325
 msgid "Copy key to clipboard"
 msgstr "Kopiere Schlüssel in Ablage"
 
-#: Src/wptKeyManagerDlg.cpp:1313
+#: Src/wptKeyManagerDlg.cpp:1329
 msgid "Paste key from clipboard"
 msgstr "Schlüssel aus Ablage einfügen"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:854
-#: Src/wptKeyManagerDlg.cpp:1317
+#: Src/wptKeyManagerDlg.cpp:1333
 msgid "Import key to keyring"
 msgstr "In Schlüsselbund importieren"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:858
-#: Src/wptKeyManagerDlg.cpp:1321
+#: Src/wptKeyManagerDlg.cpp:1337
 msgid "Export key to a file"
 msgstr "Schlüssel in Datei exportieren"
 
 # c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:499
-#: Src/wptKeyManagerDlg.cpp:1440
+#: Src/wptKeyManagerDlg.cpp:1456
 msgid "New"
 msgstr "Neu"
 
-#: Src/wptKeyManagerDlg.cpp:1452
+#: Src/wptKeyManagerDlg.cpp:1468
 msgid "Could not access public keyring"
 msgstr "Konnte nicht auf öffentlichen Schlüsselbund zugreifen"
 
-#: Src/wptKeyManagerDlg.cpp:1487 Src/wptKeysignDlg.cpp:230
-#: Src/wptKeysignDlg.cpp:249 Src/wptKeysignDlg.cpp:326
-#: Src/wptKeysignDlg.cpp:343 Src/wptKeysignDlg.cpp:348
+#: Src/wptKeyManagerDlg.cpp:1503 Src/wptKeysignDlg.cpp:236
+#: Src/wptKeysignDlg.cpp:255 Src/wptKeysignDlg.cpp:332
+#: Src/wptKeysignDlg.cpp:349 Src/wptKeysignDlg.cpp:354
 msgid "Key Signing"
 msgstr "Schlüsselsignierung"
 
-#: Src/wptKeyManagerDlg.cpp:1511
+#: Src/wptKeyManagerDlg.cpp:1527
 msgid "Key already revoked!"
 msgstr "Schlüssel ist bereits widerrufen!"
 
-#: Src/wptKeyManagerDlg.cpp:1523 Src/wptKeyRevokeDlg.cpp:72
+#: Src/wptKeyManagerDlg.cpp:1539 Src/wptKeyRevokeDlg.cpp:72
 #: Src/wptKeyRevokeDlg.cpp:100 Src/wptKeyRevokeDlg.cpp:138
 #: Src/wptKeyRevokeDlg.cpp:143 Src/wptKeyRevokeDlg.cpp:151
 #: Src/wptKeyRevokeDlg.cpp:167 Src/wptKeyRevokeDlg.cpp:173
 msgid "Key Revocation Cert"
 msgstr "Schlüsselwiderruf Zertifikat"
 
-#: Src/wptKeyManagerDlg.cpp:1533
+#: Src/wptKeyManagerDlg.cpp:1549
 msgid "It does not make any sense with a key pair!"
 msgstr "Diese Aktion macht keinen Sinn mit einem Schlüsselpaar!"
 
-#: Src/wptKeyManagerDlg.cpp:1560
+#: Src/wptKeyManagerDlg.cpp:1576
 msgid "Key Signature List"
 msgstr "Schlüssel-Signatur-Liste"
 
-#: Src/wptKeyManagerDlg.cpp:1582 Src/wptKeyPropsDlg.cpp:287
+#: Src/wptKeyManagerDlg.cpp:1598 Src/wptKeyPropsDlg.cpp:287
 msgid "Key Properties"
 msgstr "Schlüsseleigenschaften"
 
-#: Src/wptKeyManagerDlg.cpp:1593
+#: Src/wptKeyManagerDlg.cpp:1609
 msgid ""
 "This is only useful when the keyring has been modified (sign a key...).\n"
 "Do you really want to reload the keycache?"
@@ -3334,27 +3323,27 @@
 "Signierung etc.)\n"
 "Möchten Sie den Zwischenspeicher reinitialisieren?"
 
-#: Src/wptKeyManagerDlg.cpp:1624
+#: Src/wptKeyManagerDlg.cpp:1640
 msgid "Smart Card support is not available."
 msgstr "SmartCard-Unterstützung ist nicht verfügbar."
 
-#: Src/wptKeyManagerDlg.cpp:1647 Src/wptKeyserverDlg.cpp:601
+#: Src/wptKeyManagerDlg.cpp:1663 Src/wptKeyserverDlg.cpp:601
 msgid "Keyserver Access"
 msgstr "Schlüsselserver-Zugriff"
 
-#: Src/wptKeyManagerDlg.cpp:1664
+#: Src/wptKeyManagerDlg.cpp:1680
 msgid "GnuPG Options"
 msgstr "GnuPG Optionen"
 
-#: Src/wptKeyManagerDlg.cpp:1706
+#: Src/wptKeyManagerDlg.cpp:1722
 msgid "There is no corresponding secret key for this key."
 msgstr "Für diesen Schlüssel ist kein geheimer Schlüssel vorhanden."
 
-#: Src/wptKeyManagerDlg.cpp:1711
+#: Src/wptKeyManagerDlg.cpp:1727
 msgid "You can only export one secret key."
 msgstr "Sie können nur einen geheimen Schlüssel exportieren."
 
-#: Src/wptKeyManagerDlg.cpp:1716
+#: Src/wptKeyManagerDlg.cpp:1732
 msgid ""
 "This operation will export your *SECRET* key!\n"
 "\n"
@@ -3372,11 +3361,11 @@
 "\n"
 "Wirklich den Schlüssel exportieren?"
 
-#: Src/wptKeyManagerDlg.cpp:1721
+#: Src/wptKeyManagerDlg.cpp:1737
 msgid "WARNING"
 msgstr "WARNUNG"
 
-#: Src/wptKeyManagerDlg.cpp:1798
+#: Src/wptKeyManagerDlg.cpp:1814
 msgid "No key was selected, select all by default."
 msgstr "Kein Schlüssel ausgewählt, es wurden alle ausgewählt."
 
@@ -3574,7 +3563,8 @@
 msgstr "Proxy Fehler"
 
 # msgid "All Files (*.*)"
-# msgstr "Alle Dateien (*.exe)"
+# msgstr ""
+# XXX: \0\0 problem again
 #: Src/wptKeyserver.cpp:610
 msgid ""
 "All entries of this file must have a valid prefix.\n"
@@ -3874,12 +3864,12 @@
 msgid "&Receive Key"
 msgstr "&Schlüssel empfangen"
 
-#: Src/wptKeysignDlg.cpp:158 Src/wptKeysignDlg.cpp:301
+#: Src/wptKeysignDlg.cpp:164 Src/wptKeysignDlg.cpp:307
 msgid "Choose Signature Class"
 msgstr "Signaturklasse auswählen"
 
 # c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:156
-#: Src/wptKeysignDlg.cpp:159
+#: Src/wptKeysignDlg.cpp:165
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs to the person? If you don't know what to anwser, use \"0\"."
@@ -3888,30 +3878,30 @@
 "gehört? Wenn Sie nicht antworten wollen, bitte \"0\" benutzen."
 
 # c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:157
-#: Src/wptKeysignDlg.cpp:160
+#: Src/wptKeysignDlg.cpp:166
 msgid "(0) I will not answer (default)"
 msgstr "(0) Ich möchte nicht darauf antworten"
 
 # c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:158
-#: Src/wptKeysignDlg.cpp:161
+#: Src/wptKeysignDlg.cpp:167
 msgid "(1) I have not checked at all."
 msgstr "(1) Ich habe keine Überprüfung gemacht."
 
 # c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:159
-#: Src/wptKeysignDlg.cpp:162
+#: Src/wptKeysignDlg.cpp:168
 msgid "(2) I have done causal checking."
 msgstr "(2) Ich habe einige Überprüfungen gemacht."
 
 # c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:160
-#: Src/wptKeysignDlg.cpp:163
+#: Src/wptKeysignDlg.cpp:169
 msgid "(3) I have done very careful checkings."
 msgstr "(3) Ich habe gründliche Überprüfungen gemacht"
 
-#: Src/wptKeysignDlg.cpp:198
+#: Src/wptKeysignDlg.cpp:204
 msgid "never"
 msgstr "niemals"
 
-#: Src/wptKeysignDlg.cpp:236
+#: Src/wptKeysignDlg.cpp:242
 #, c-format
 msgid ""
 "pub %d/%s  created: %s    expires: %s\n"
@@ -3932,40 +3922,40 @@
 "\n"
 "Wollen Sie diesen Schlüssel wirklich mit Ihrem eigenen Schlüssel signieren?\n"
 
-#: Src/wptKeysignDlg.cpp:249
+#: Src/wptKeysignDlg.cpp:255
 msgid "No valid secret key found."
 msgstr "Keine gültigen geheimen Schlüssel gefunden."
 
-#: Src/wptKeysignDlg.cpp:253
+#: Src/wptKeysignDlg.cpp:259
 msgid "Sign local only (non exportable signature)"
 msgstr "Nur lokal Signieren (nicht exportierbare Signatur)"
 
-#: Src/wptKeysignDlg.cpp:254
+#: Src/wptKeysignDlg.cpp:260
 msgid "Signature expires on"
 msgstr "Signatur läuft ab am"
 
 # c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:250
-#: Src/wptKeysignDlg.cpp:255
+#: Src/wptKeysignDlg.cpp:261
 msgid "Sign non-revocably"
 msgstr "Nicht-widerrufbar signieren"
 
-#: Src/wptKeysignDlg.cpp:256
+#: Src/wptKeysignDlg.cpp:262
 msgid "&Ask for certification level"
 msgstr "Zertifizierungslevel erfragen"
 
-#: Src/wptKeysignDlg.cpp:259
+#: Src/wptKeysignDlg.cpp:265
 msgid "&Show photo"
 msgstr "&Photo anzeigen"
 
-#: Src/wptKeysignDlg.cpp:326
+#: Src/wptKeysignDlg.cpp:332
 msgid "Could not get Key ID from key."
 msgstr "Schlüssel-ID konnte nicht aus dem Schlüssel gelesen werden."
 
-#: Src/wptKeysignDlg.cpp:347
+#: Src/wptKeysignDlg.cpp:353
 msgid "This key is already signed by your key"
 msgstr "Der Schlüssel ist bereits mit Ihrem Schlüssel signiert"
 
-#: Src/wptKeysignDlg.cpp:350
+#: Src/wptKeysignDlg.cpp:356
 msgid "Key successfully signed."
 msgstr "Schlüssel erfolgreich signiert."
 
@@ -4057,7 +4047,8 @@
 msgstr "Konnte E-Mail nicht senden."
 
 # msgid "GPG Keyrings (*.gpg)"
-# msgstr "GPG Keyrings (*.gpg)"
+# msgstr ""
+# XXX: \0\0 problem again
 #: Src/wptMAPI.cpp:252
 #, c-format
 msgid "GPG Public Key of %s"
@@ -4072,15 +4063,19 @@
 msgstr "&Speichern..."
 
 #: Src/wptMDSumDlg.cpp:105
+msgid "Save to clipboard"
+msgstr "In &Ablage speichern"
+
+#: Src/wptMDSumDlg.cpp:106
 msgid "Print Message Digest"
 msgstr "Ausgabe Prüfsummen"
 
 # c:\oss\winpt-gpgme\src\wptMDSumDlg.cpp:114
-#: Src/wptMDSumDlg.cpp:148
+#: Src/wptMDSumDlg.cpp:149
 msgid "Select file to save checksums"
 msgstr "Datei auswählen zum Speichern der Prüfsummen"
 
-#: Src/wptMDSumDlg.cpp:153
+#: Src/wptMDSumDlg.cpp:154
 #, c-format
 msgid "Checksums successfully saved in '%s'"
 msgstr "Checksummen erfolgreich in '%s' gespeichert."
@@ -4404,7 +4399,7 @@
 "Der Dateityp '%s' scheint mit einer anderen Anwendung verknüpft zu sein.\n"
 "Überschreiben?"
 
-#: Src/wptRegistry.cpp:603
+#: Src/wptRegistry.cpp:609
 msgid "Could not write to Registry."
 msgstr "Konnte Werte in Registry nicht speichern"
 

Modified: trunk/Src/ChangeLog
===================================================================
--- trunk/Src/ChangeLog	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/ChangeLog	2006-01-26 10:17:17 UTC (rev 167)
@@ -1,3 +1,19 @@
+2006-01-25  Timo Schulz  <ts at g10code.com>
+
+	* wptRegistry.cpp (get_reg_entry_gpg): Return NULL if
+	the key exist with no value.
+	* wptMDSumDlg.cpp (mdsum_dlg_proc): Translate string.
+	* wptKeysignDlg.cpp (do_fill_seclist): Select the
+	default key if possible.
+	* wptFirstRunDlg.cpp (firstrun_dlg_proc): Directly
+	return the choice.
+	* wptKeylist.cpp (get_key_desc): New.
+	(keylist_upd_key): Free memory.
+	* wptKeyCache.cpp (gpg_keycache_get_default_key): New.
+	(gpg_keycache_set_default_key): New.
+	* WinPT.cpp (gpg_prefs_ok): New.
+	(WinMain): Only start gpg prefs if needed.
+	
 2006-01-24  Timo Schulz  <ts at g10code.com>
 
 	* wptKeyManager.cpp (km_dropped_file_import): New.

Modified: trunk/Src/WinPT-en.rc
===================================================================
--- trunk/Src/WinPT-en.rc	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/WinPT-en.rc	2006-01-26 10:17:17 UTC (rev 167)
@@ -403,7 +403,7 @@
     PUSHBUTTON      "&Cancel",IDCANCEL,329,176,50,14
 END
 
-IDD_WINPT_KEYMISC DIALOG DISCARDABLE  0, 0, 470, 231
+IDD_WINPT_KEYMISC DIALOGEX 0, 0, 470, 231
 STYLE WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | 
     WS_THICKFRAME
 CAPTION "Key Management"
@@ -411,7 +411,7 @@
 BEGIN
     CONTROL         "List1",IDC_KEYMISC_KEYLIST,"SysListView32",LVS_REPORT | 
                     LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | 
-                    WS_TABSTOP,6,7,451,190
+                    WS_TABSTOP,6,7,451,190,WS_EX_ACCEPTFILES
 END
 
 IDD_WINPT_ABOUTGPG DIALOG DISCARDABLE  0, 0, 344, 154
@@ -2074,6 +2074,8 @@
         , CHECKED, GRAYED
         MENUITEM "Creation",                    ID_KEYMISC_VIEWCREAT
         , CHECKED, GRAYED
+        MENUITEM "Description",                 ID_KEYMISC_VIEWDESC
+        , CHECKED, GRAYED
     END
     POPUP "&Key"
     BEGIN

Modified: trunk/Src/WinPT.cpp
===================================================================
--- trunk/Src/WinPT.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/WinPT.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -102,6 +102,37 @@
 }
 
 
+/* Return true if the GPG environment is useable. */
+static bool
+gpg_prefs_ok (void)
+{
+    char *p;
+
+    p = get_reg_entry_gpg4win ("gpg.exe");
+    if (!p || file_exist_check (p) != 0) {
+	free_if_alloc (p);
+	p = get_reg_entry_gpg ("gpgProgram");
+	if (!p || file_exist_check (p) != 0) {
+	    free_if_alloc (p);
+	    return false;
+	}
+    }
+    free_if_alloc (p);
+    p = get_reg_entry_gpg4win (NULL);    
+    if (!p || dir_exist_check (p) != 0) {
+	free_if_alloc (p);
+	p = get_reg_entry_gpg ("HomeDir");
+	if (!p || dir_exist_check (p) != 0) {
+	    free_if_alloc (p);
+	    return false;
+	}
+    }
+    free_if_alloc (p);
+    return true;
+}
+
+
+
 /* Load the GPG environment. On the first start, some
    checks are performed to find out in what state GPG is.
    Return value: 0  everything OK.
@@ -122,7 +153,12 @@
 	return (1);
     }
     free_if_alloc (p);
-    p = multi_gnupg_path (0);
+
+    p = get_reg_entry_gpg ("HomeDir");
+    if (!p || dir_exist_check (p) != 0) {
+	free_if_alloc (p);
+	p = multi_gnupg_path (0);
+    }
     if (p && dir_exist_check (p)) {
 	memset (&sec_attr, 0, sizeof (sec_attr));
 	sec_attr.nLength = sizeof (sec_attr);
@@ -431,7 +467,7 @@
 		 winpt_strerror (rc));
 	s = get_fileopen_dlg (GetActiveWindow (),
 			      _("Select GPG Public Keyring"),
-			      _("GPG Keyrings (*.gpg)\0*.gpg\0\0"),
+			      "GPG Keyrings (*.gpg)\0*.gpg\0\0",
 			      NULL);
 	if (s != NULL) {
 	    size_t n;
@@ -590,16 +626,17 @@
     }
 
     if (first_start) {
-	struct first_start_s fs;
 	struct genkey_s c;
+	int choice;
 	HWND h;
 start:
 	h = GetDesktopWindow ();
-	DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_GPGPREFS, h,
+	if (!gpg_prefs_ok ())
+	    DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_GPGPREFS, h,
 			    gpgprefs_dlg_proc, 0);
-	DialogBoxParam (glob_hinst, (LPCSTR)IDD_WINPT_FIRST, h,
-			first_run_dlg_proc, (LPARAM)&fs);
-	switch (fs.choice) {
+	choice = DialogBoxParam (glob_hinst, (LPCSTR)IDD_WINPT_FIRST, h,
+				 first_run_dlg_proc, 0);
+	switch (choice) {
 	case SETUP_KEYGEN:
 	    c.interactive = 1;
 	    c.first_start = 1;
@@ -617,13 +654,18 @@
 	    }
 	    break;
 
-	case -1: /* Cancel/Abort. */
+	case 0: /* Cancel/Abort. */
+	default:
 	    DestroyWindow (hwnd);
 	    free_gnupg_table ();
 	    return 0;
 	}
 	update_keycache (hwnd);
-	check_crypto_engine ();
+	if (!check_crypto_engine ()) {
+	    DestroyWindow (hwnd);
+	    free_gnupg_table ();
+	    return 0;
+	}
     }
     else {
 	gpg_keycache_t c;

Modified: trunk/Src/resource.h
===================================================================
--- trunk/Src/resource.h	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/resource.h	2006-01-26 10:17:17 UTC (rev 167)
@@ -804,13 +804,14 @@
 #define ID_KSERVCTX_ADD                 40182
 #define ID_KSERVCTX_DEL                 40183
 #define ID_KSERVCTX_EDIT                40184
+#define ID_KEYMISC_VIEWDESC             40185
 
 // Next default values for new objects
 // 
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_NEXT_RESOURCE_VALUE        240
-#define _APS_NEXT_COMMAND_VALUE         40185
+#define _APS_NEXT_COMMAND_VALUE         40186
 #define _APS_NEXT_CONTROL_VALUE         1512
 #define _APS_NEXT_SYMED_VALUE           101
 #endif

Modified: trunk/Src/wptClipEditDlg.cpp
===================================================================
--- trunk/Src/wptClipEditDlg.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptClipEditDlg.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -99,7 +99,7 @@
     open.lStructSize = sizeof (OPENFILENAME);	    
     open.hInstance = glob_hinst;	    
     open.lpstrTitle = _("File Open");	    
-    open.lpstrFilter = (char *)_("All Files (*.*)\0*.*\0\0");	    
+    open.lpstrFilter = (char *)"All Files (*.*)\0*.*\0\0";
     open.hwndOwner = dlg;	    
     open.lpstrFile = file;		    
     open.nMaxFile = sizeof (file)-1;		    
@@ -147,7 +147,7 @@
     save.lStructSize = sizeof (OPENFILENAME);	    
     save.hInstance = glob_hinst;	    
     save.lpstrTitle = _("File Save");	    
-    save.lpstrFile = (char *)_("All Files (*.*)\0*.*\0\0");	    
+    save.lpstrFile = (char *)"All Files (*.*)\0*.*\0\0";
     save.hwndOwner = dlg;		    
     save.lpstrFile = file;		    
     save.nMaxFile = sizeof (file) - 1;

Modified: trunk/Src/wptFileManager.cpp
===================================================================
--- trunk/Src/wptFileManager.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptFileManager.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -529,6 +529,7 @@
 	if (rc == -1)
 	    break; /* XXX: fixme? */
     }
+    DragFinish (dd_files);
     return rc;
 }
 
@@ -572,7 +573,7 @@
     open.lStructSize = sizeof (OPENFILENAME);
     open.hInstance = glob_hinst;
     open.lpstrTitle = _("File Open");
-    open.lpstrFilter = _("All Files (*.*)\0*.*\0\0");
+    open.lpstrFilter = "All Files (*.*)\0*.*\0\0";
     open.hwndOwner = dlg;
     open.lpstrFile = file;
     open.nMaxFile = sizeof (file) - 1;

Modified: trunk/Src/wptFirstRunDlg.cpp
===================================================================
--- trunk/Src/wptFirstRunDlg.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptFirstRunDlg.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -36,13 +36,9 @@
 BOOL CALLBACK
 first_run_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
 {
-    static struct first_start_s * ctx;
-
+    int choice = 0;
     switch (msg) {
     case WM_INITDIALOG:
-	ctx = (struct first_start_s *)lparam;
-	if (!ctx)
-	    BUG (0);
 	CheckDlgButton( dlg, IDC_FIRST_KEYGEN, BST_CHECKED );
 	SetDlgItemText (dlg, IDC_FIRST_KEYGEN, 
 			_("&Generate a GnuPG key pair"));
@@ -58,17 +54,16 @@
 	switch (LOWORD (wparam)) {
 	case IDOK:
 	    if (IsDlgButtonChecked (dlg, IDC_FIRST_KEYGEN))
-		ctx->choice = SETUP_KEYGEN;
+		choice = SETUP_KEYGEN;
 	    else if (IsDlgButtonChecked (dlg, IDC_FIRST_IMPORT))
-		ctx->choice = SETUP_IMPORT;
+		choice = SETUP_IMPORT;
 	    else
-		ctx->choice = -1;
-	    EndDialog (dlg, TRUE);
+		choice = 0;
+	    EndDialog (dlg, choice);
 	    break;
 
 	case IDCANCEL:
-	    ctx->choice = -1;
-	    EndDialog (dlg, FALSE);
+	    EndDialog (dlg, 0);
 	    break;
 	}
 	break;

Modified: trunk/Src/wptGPG.cpp
===================================================================
--- trunk/Src/wptGPG.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptGPG.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -116,17 +116,10 @@
     if (!path)
 	return NULL;
     p = get_reg_entry_gpg ("OptFile");
-    if (p && !strcmp (p, "")) {
-	nlen = strlen (path) + 64;
+    if (p) {
+	nlen = strlen (p) + 4;
 	optfile = new char[nlen + 1];
 	if (!optfile)
-	    BUG (0);
-	_snprintf (optfile, nlen, "%s\\"GPG_CONF, path);
-    }
-    else if (p) {
-	nlen = strlen( p ) + 4;
-	optfile = new char[nlen + 1];
-	if (!optfile)
 	    BUG (NULL);
 	_snprintf (optfile, nlen, "%s", p);
     }
@@ -914,7 +907,7 @@
     hwnd = GetDesktopWindow ();
 
     pring = get_fileopen_dlg (hwnd, _("Please choose your public keyring"),
-			      _("GPG Keyrings (*.gpg)\0*.gpg\0\0"),NULL);
+			      "GPG Keyrings (*.gpg)\0*.gpg\0\0",NULL);
     if (!pring) {
 	msg_box (hwnd, _("No keyring was chosen. Exit."), _("WinPT Error"), MB_ERR);
 	free_if_alloc (path);
@@ -934,7 +927,7 @@
     free_if_alloc (file);
 
     sring = get_fileopen_dlg (hwnd, _("Please choose your secret keyring"),
-			      _("GPG Keyrings (*.gpg)\0*.gpg\0\0"), NULL);
+			      "GPG Keyrings (*.gpg)\0*.gpg\0\0", NULL);
     if (!sring) {
 	msg_box( NULL, _("No keyring was chosen. Exit."), _("WinPT Error"), MB_ERR );
 	return WPTERR_GENERAL;

Modified: trunk/Src/wptGPGMEWrapper.cpp
===================================================================
--- trunk/Src/wptGPGMEWrapper.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptGPGMEWrapper.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -30,6 +30,9 @@
 #include "wptGPG.h"
 #include "wptGPGME.h"
 
+/* Macros to change to normal and wait cursor. */
+#define op_begin()  SetCursor (LoadCursor (NULL, IDC_WAIT))
+#define op_end()    SetCursor (LoadCursor (NULL, IDC_ARROW))
 
 /* Constructor to build gpgme context. */
 GPGME::GPGME ()
@@ -44,6 +47,8 @@
 	gpgme_release (ctx);
 }
 
+/* Enable or disable the feature to add the 
+    WinPT version to armored output. */
 void
 GPGME::setChangeVersion (bool val)
 {
@@ -74,7 +79,9 @@
     err = gpgme_data_new (&dat);
     if (err)
 	return err;
+    op_begin ();
     err = gpgme_op_export (ctx, patt, 0, dat);
+    op_end ();
     if (err) {
 	gpgme_data_release (dat);
 	return err;
@@ -95,7 +102,9 @@
     err = gpgme_data_new (&dat);
     if (err)
 	return err;
+    op_begin ();
     err = gpgme_op_export (ctx, patt, 0, dat);
+    op_end ();
     if (err) {
 	gpgme_data_release (dat);
 	return err;
@@ -118,7 +127,9 @@
     err = gpgme_data_new (&dat);
     if (err)
 	return err;
+    op_begin ();
     err = gpgme_op_export (ctx, patt, 0, dat);
+    op_end ();
     if (err) {
 	gpgme_data_release (dat);
 	return err;

Modified: trunk/Src/wptGPGPrefsDlg.cpp
===================================================================
--- trunk/Src/wptGPGPrefsDlg.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptGPGPrefsDlg.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -315,7 +315,7 @@
 	    
         case IDC_GPGREFS_EXEDLG:
 	    s = get_fileopen_dlg (dlg, _("Choose GPG binary"), 
-				  _("Executable Files (*.exe)\0*.exe\0\0"),
+				  "Executable Files (*.exe)\0*.exe\0\0",
 				  NULL);
             if (s)
                 SetDlgItemText (dlg, IDC_GPGPREFS_EXEDIR, s);

Modified: trunk/Src/wptKeyCache.cpp
===================================================================
--- trunk/Src/wptKeyCache.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptKeyCache.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -791,3 +791,47 @@
     err = keycache_next_key (ctx, flags, &c, r_key);
     return err;
 }
+
+/* Search for a key with the pattern @pattern and mark
+   this key as the default signing key if found.
+   Return value: 0 on success. */
+gpgme_error_t 
+gpg_keycache_set_default_key (gpg_keycache_t ctx,
+			      const char *pattern)
+{
+    gpgme_error_t err;
+    gpgme_key_t key;
+    struct keycache_s *itm;
+
+    err = gpg_keycache_find_key2 (ctx, pattern, 0, &key, &itm);
+    if (err)
+	return err;
+
+    if (itm)
+	itm->default_key = 1;
+    return 0;
+}
+
+/* Return the default key from the cache. If no was
+   marked before, NULL is returned in @r_key.
+   Return value: 0 on success. */
+gpgme_error_t
+gpg_keycache_get_default_key (gpg_keycache_t ctx,
+			      gpgme_key_t *r_key)
+{
+    struct keycache_s *itm;
+
+    *r_key = NULL;
+    for (itm = ctx->item; itm; itm = itm->next) {
+	if (itm->default_key) {
+	    *r_key = itm->key;
+	    break;
+	}
+    }
+    if (!*r_key)
+	return gpgme_error (GPG_ERR_NOT_FOUND);
+    return 0;
+}
+
+
+

Modified: trunk/Src/wptKeyEditDlgs.cpp
===================================================================
--- trunk/Src/wptKeyEditDlgs.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptKeyEditDlgs.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -325,7 +325,7 @@
 
 	case IDC_ADDPHOTO_SELFILE:
 	    s = get_fileopen_dlg (dlg, _("Select Image File"), 
-				  _("JPEG Files (*.jpg, *.jpeg)\0*.jpg;*.jpeg\0\0"),
+				  "JPEG Files (*.jpg, *.jpeg)\0*.jpg;*.jpeg\0\0",
 				  NULL);
 	    if (s && !is_jpg_file (s)) {
 		log_box (_("Add Photo"), MB_ERR, 

Modified: trunk/Src/wptKeyManager.cpp
===================================================================
--- trunk/Src/wptKeyManager.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptKeyManager.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -677,6 +677,7 @@
 	*r_newkeys = (*r_newkeys) + newk;
 	*r_newsks = (*r_newsks) + newsk;
     }
+    DragFinish (hdrop);
     return err;
 }
 

Modified: trunk/Src/wptKeyManagerDlg.cpp
===================================================================
--- trunk/Src/wptKeyManagerDlg.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptKeyManagerDlg.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -462,8 +462,7 @@
     const char *fmt;
     char *keyid;
     char defkeyinf[128];
-    
-    /* XXX: also show the name? */
+
     keyid = get_gnupg_default_key ();
     if (!keyid)
 	return;
@@ -475,6 +474,7 @@
         fmt = _("Default Key: 0x%s");
     _snprintf (defkeyinf, sizeof (defkeyinf) - 1, fmt, keyid);
     SendMessage (dlg, SB_SETTEXT, 0, (LPARAM)defkeyinf);
+    gpg_keycache_set_default_key (keycache_get_ctx (0), keyid);
     free_if_alloc (keyid);
 }
 
@@ -866,6 +866,7 @@
 	0,
 	0,
 	ID_KEYMISC_VIEWCREAT,
+	ID_KEYMISC_VIEWDESC,
 	-1
     };
     listview_column_s cols[] = {
@@ -877,6 +878,7 @@
     {5, 66, (char *)_("Validity")},
     {6, 58, (char *)_("Trust")},
     {7, 72, (char *)_("Creation")},
+    {8, 160,(char *)_("Description")},
     {0, 0, NULL}
     };
     UINT pos;
@@ -2002,6 +2004,7 @@
 	case ID_KEYMISC_VIEWCIPHER:
 	case ID_KEYMISC_VIEWTYPE:
 	case ID_KEYMISC_VIEWCREAT:
+	case ID_KEYMISC_VIEWDESC:
 	    DWORD n;
 
 	    hm = GetMenu (dlg);

Modified: trunk/Src/wptKeylist.cpp
===================================================================
--- trunk/Src/wptKeylist.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptKeylist.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -362,14 +362,14 @@
 }
 
 
-const char *
+const char*
 get_key_trust (gpgme_key_t key, int uididx, int listmode)
 {
     return get_key_trust2 (key, 0, uididx, listmode);
 }
 
 
-const char *
+const char*
 get_key_trust_str (int val)
 {
     return get_key_trust2 (NULL, val, 0, 0);
@@ -408,6 +408,36 @@
 }
 
 
+/* Return human readable description of the key @key. */
+char*
+get_key_desc (gpgme_key_t key)
+{
+    gpgme_key_t sk;
+    const char *state, *alg, *type;
+    char *p;
+
+    /* XXX: problems with the German translation. */
+    state = "";
+    if (key->disabled)
+	state = _("Disabled");
+    if (key->expired)
+	state = _("Expired");
+    if (key->revoked)
+	state = _("Revoked");
+    alg = "OpenPGP";
+    if (strlen (key->subkeys->fpr) == 32)
+	alg = "RSA Legacy";
+    type = _("public key");
+    if (!get_seckey (key->subkeys->keyid+8, &sk))
+	type = _("key pair");
+    p = new char[strlen (state) + strlen (alg) + strlen (type) + 4 + 1];
+    if (!p)
+	BUG (0);
+    sprintf (p, "%s %s %s", state, alg, type);
+    return p;
+}
+
+
 /* Integer comparsion of @a and @b. 
    Return values: same as in strcmp. */
 static inline int
@@ -498,31 +528,6 @@
 }
 
 
-#if 0
-/* Return the validity of the group @grp. */
-static const char*
-calc_validity (gpg_group_t grp)
-{
-    int valid = 0;
-    gpg_member_t mbr;
-    gpgme_key_t key;
-
-    for (mbr = grp->list; mbr; mbr = mbr->next) {
-	if (get_pubkey (mbr->name, &key))
-	    continue;
-	valid = key->uids->validity;
-	switch (valid) {
-	case GPGME_VALIDITY_MARGINAL:
-	case GPGME_VALIDITY_NEVER:
-	case GPGME_VALIDITY_UNDEFINED:
-	    return get_key_trust2 (NULL, valid, 0, 0);
-	}
-    }
-    return _("Full");
-}
-#endif
-
-
 int
 keylist_add_groups (listview_ctrl_t lv)
 {
@@ -753,7 +758,7 @@
 	if (attr) 
 	    listview_add_sub_item( lv, 0, idx++, attr);
     }
-    if( lv->cols >= 4 ) {
+    if (lv->cols >= 4) {
 	p = get_key_status( key, uididx, list > 0? 1 : 0 );
 	if (!p)
 	    return WPTERR_GENERAL;
@@ -784,7 +789,7 @@
 {
     gpgme_key_t key;
     const char *s;
-    char buf[32];
+    char buf[32], *p;
     int i;
 
     for (i=0; i < listview_count_items (lv, 0); i++) {
@@ -811,6 +816,12 @@
 	    s = get_key_created (key->subkeys->timestamp);
 	    listview_add_sub_item (lv, i, col, s);
 	    break;
+
+	case KM_COL_DESC:
+	    p = get_key_desc (key);
+	    listview_add_sub_item (lv, i, col, p);
+	    free_if_alloc (p);
+	    break;
 	}
     }
 }
@@ -822,7 +833,7 @@
 keylist_upd_key (listview_ctrl_t lv, int pos, gpgme_key_t key)
 {
     const char *s;
-    char *uid;
+    char *uid, *p;
     char tmp[32];
 
     listview_set_item2 (lv, pos, (void *)key);
@@ -831,39 +842,41 @@
     s = key->uids->uid;
     if (s) {
 	uid = utf8_to_wincp2 (s);
-	listview_add_sub_item (lv, pos, 0, uid);
+	listview_add_sub_item (lv, pos, KM_COL_UID, uid);
 	free (uid);
     }
 
     s = key->subkeys->keyid;
     if (s) {
 	sprintf (tmp, "0x%s", s+8);
-	listview_add_sub_item (lv, pos, 1, tmp);
+	listview_add_sub_item (lv, pos, KM_COL_KEYID, tmp);
     }
 
     s = find_secret_key (key)? "pub/sec" : "pub";
-    listview_add_sub_item (lv, pos, 2, s);
+    listview_add_sub_item (lv, pos, KM_COL_TYPE, s);
 
     s = get_key_size (key, 0);
     if (s)
-	listview_add_sub_item (lv, pos, 3, s);
+	listview_add_sub_item (lv, pos, KM_COL_SIZE, s);
 
     s = get_key_algo (key, 0);
     if (s)
-	listview_add_sub_item (lv, pos, 4, s);
+	listview_add_sub_item (lv, pos, KM_COL_CIPHER, s);
 
-    s = get_key_status (key, 0, 1);
-    if (s)
-	listview_add_sub_item (lv, pos, 5, s);
+    p = get_key_status (key, 0, 1);
+    if (p) {
+	listview_add_sub_item (lv, pos, KM_COL_VALID, p);
+	free_if_alloc (p);
+    }
 
     s = get_key_trust (key, 0, 1);
     if (s)
-	listview_add_sub_item (lv, pos, 6, s);
+	listview_add_sub_item (lv, pos, KM_COL_TRUST, s);
 
     long t = key->subkeys->timestamp;
     s = get_key_created (t);
     if (s)
-	listview_add_sub_item (lv, pos, 7, s);
+	listview_add_sub_item (lv, pos, KM_COL_CREAT, s);
 }
 
 

Modified: trunk/Src/wptKeysignDlg.cpp
===================================================================
--- trunk/Src/wptKeysignDlg.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptKeysignDlg.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -86,14 +86,15 @@
 do_fill_seckeylist (HWND dlg, const char *keyid)
 {
     gpg_keycache_t sec;
-    gpgme_key_t pk;
-    const char * s;
-    char * uid, * p;    
-    int i = 0, n=0;
+    gpgme_key_t pk, defkey;
+    const char *s;
+    char *uid, *p;
+    int i = 0, n = 0, curr_sel = 0;
 
     sec = keycache_get_ctx (0);
     if (!sec)
 	BUG (0);
+    gpg_keycache_get_default_key (sec, &defkey);
     gpg_keycache_rewind (sec);
     while (!gpg_keycache_next_key (sec, 1, &pk)) {
 	if (!pk)
@@ -110,18 +111,23 @@
 	s = pk->uids->name;
 	if (!s)
 	    continue;
+	if (defkey && !strcmp (defkey->subkeys->keyid, pk->subkeys->keyid))
+	    curr_sel = i;
 	uid = utf8_to_wincp (s, strlen (s));
 	p = new char[strlen (uid) + 64];
 	if (!p)
 	    BUG (NULL);
 	_snprintf (p, strlen (uid) + 63, "%s (%s)", uid, get_keyinfo (pk));
-	SendDlgItemMessage (dlg, IDC_KEYSIGN_KEYLIST, CB_ADDSTRING, i, (LPARAM)(char *)p);
-	SendDlgItemMessage (dlg, IDC_KEYSIGN_KEYLIST, CB_SETITEMDATA, i++, (LPARAM)(DWORD)pk);
+	SendDlgItemMessage (dlg, IDC_KEYSIGN_KEYLIST, 
+			    CB_ADDSTRING, i, (LPARAM)(char *)p);
+	SendDlgItemMessage (dlg, IDC_KEYSIGN_KEYLIST, 
+			    CB_SETITEMDATA, i++, (LPARAM)(DWORD)pk);
 	free_if_alloc (p);
 	free (uid);
 	n++;
     }
-    SendDlgItemMessage (dlg, IDC_KEYSIGN_KEYLIST, CB_SETCURSEL, 0, 0);
+    SendDlgItemMessage (dlg, IDC_KEYSIGN_KEYLIST, 
+			CB_SETCURSEL, (WPARAM)curr_sel, 0);
     if (!n)
 	return -1;
     return 0;

Modified: trunk/Src/wptMDSumDlg.cpp
===================================================================
--- trunk/Src/wptMDSumDlg.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptMDSumDlg.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -102,6 +102,7 @@
 	}
 	SetDlgItemText (dlg, IDC_MDSUM_COPY, _("&Save..."));
 	SetDlgItemText (dlg, IDOK, _("&Close"));
+	SetDlgItemText (dlg, IDC_MDSUM_TOCLIP, _("Save to clipboard"));
 	SetWindowText (dlg, _("Print Message Digest"));
 	SetForegroundWindow (dlg);
 	break;

Modified: trunk/Src/wptRegistry.cpp
===================================================================
--- trunk/Src/wptRegistry.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptRegistry.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -204,7 +204,7 @@
     if (rc_ok (rc)) {
 	RegCloseKey (reg);
 	rc = RegOpenKeyEx (HKEY_CURRENT_USER, WINPT_REG"\\Keyserver", 0, KEY_READ, &reg);
-	if( !rc_ok (rc)) {
+	if (!rc_ok (rc)) {
 	    RegCreateKey (HKEY_CURRENT_USER, WINPT_REG"\\Keyserver", &reg);
 	    RegCloseKey (reg);
 	}
@@ -426,10 +426,16 @@
 }
 
 
-char *
+char*
 get_reg_entry_gpg (const char *key)
 {
-    return get_reg_entry (HKEY_CURRENT_USER, "Software\\GNU\\GnuPG", key);
+    char *p;
+    p = get_reg_entry (HKEY_CURRENT_USER, "Software\\GNU\\GnuPG", key);
+    if (!p || strlen (p) == 0) {
+	free_if_alloc (p);
+	return NULL;
+    }
+    return p;
 }
 
 

Modified: trunk/Src/wptW32API.cpp
===================================================================
--- trunk/Src/wptW32API.cpp	2006-01-24 10:17:47 UTC (rev 166)
+++ trunk/Src/wptW32API.cpp	2006-01-26 10:17:17 UTC (rev 167)
@@ -119,7 +119,7 @@
     else
 	memset (file, 0, sizeof (file));
     if (!filter)
-	filter = _("All Files (*.*)\0*.*\0\0");
+	filter = "All Files (*.*)\0*.*\0\0";
     /* XXX: problem with gettext because of the 'artificial' 
             double string termination!. */
     memset (&open, 0, sizeof (open));



More information about the Winpt-commits mailing list