[Winpt-commits] r128 - in trunk: . Include Po Src
scm-commit at wald.intevation.org
scm-commit at wald.intevation.org
Mon Dec 19 14:06:02 CET 2005
Author: twoaday
Date: 2005-12-19 14:05:59 +0100 (Mon, 19 Dec 2005)
New Revision: 128
Modified:
trunk/Include/wptGPG.h
trunk/Include/wptKeylist.h
trunk/Include/wptRegistry.h
trunk/NEWS
trunk/Po/ChangeLog
trunk/Po/de.po
trunk/Po/winpt.pot
trunk/Src/ChangeLog
trunk/Src/WinPT-en.rc
trunk/Src/WinPT.cpp
trunk/Src/resource.h
trunk/Src/wptGPG.cpp
trunk/Src/wptGPGPrefsDlg.cpp
trunk/Src/wptKeyEditDlgs.cpp
trunk/Src/wptKeyManager.cpp
trunk/Src/wptKeyManagerDlg.cpp
trunk/Src/wptKeyPropsDlg.cpp
trunk/Src/wptKeylist.cpp
trunk/Src/wptKeysigDlg.cpp
trunk/Src/wptRegistry.cpp
trunk/Src/wptSigList.cpp
trunk/Src/wptUTF8.cpp
Log:
2005-12-17 Timo Schulz <ts at g10code.com>
* wptUTF8.cpp: Removed unused charset array.
* wptSigList.cpp (siglist_build): Increase size for 'class'
column.
* wptGPG.cpp (get_gnupg_path): Simplified.
* WinPT.cpp (load_gpg_env): New.
(check_crypto_engine): Return type is now bool.
* wptRegistry.cpp (is_gpg4win_installed): New.
* wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): More consistent
dialog design.
* wptKeyManagerDlg.cpp (translate_menu_strings): New.
(translate_popupmenu_strings): New.
* wptKeyEditDlgs.cpp (is_jpg_file): New.
Modified: trunk/Include/wptGPG.h
===================================================================
--- trunk/Include/wptGPG.h 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Include/wptGPG.h 2005-12-19 13:05:59 UTC (rev 128)
@@ -139,6 +139,7 @@
char* get_gnupg_cfgfile (void);
int set_gnupg_options( const char *buf, size_t buflen );
int gnupg_load_config (void);
+char* multi_gnupg_path (int strict);
int check_gnupg_options (const char *buf);
void init_gnupg_table (void);
Modified: trunk/Include/wptKeylist.h
===================================================================
--- trunk/Include/wptKeylist.h 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Include/wptKeylist.h 2005-12-19 13:05:59 UTC (rev 128)
@@ -75,6 +75,7 @@
/*-- keylist.c --*/
const char* get_key_pubalgo (gpgme_pubkey_algo_t alg);
+const char* get_key_pubalgo2 (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 );
Modified: trunk/Include/wptRegistry.h
===================================================================
--- trunk/Include/wptRegistry.h 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Include/wptRegistry.h 2005-12-19 13:05:59 UTC (rev 128)
@@ -111,7 +111,9 @@
const char * user, const char * pass );
int set_reg_entry_keyserver( const char * name, const char * val );
char * get_reg_entry_keyserver( const char * name );
-int set_reg_winpt_flag( const char * name, int val );
-int get_reg_winpt_flag( const char * name );
+int set_reg_winpt_flag (const char *name, int val);
+int get_reg_winpt_flag (const char *name);
+char* get_reg_entry_gpg4win (const char *path);
+int is_gpg4win_installed (void);
#endif /* WPT_REGISTRY_H */
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/NEWS 2005-12-19 13:05:59 UTC (rev 128)
@@ -689,3 +689,9 @@
($APPDATA) and not the folder where gpg.exe is located.
* Display the correct preferred cipher in the key property dialog.
* Fix a lot of minor user handling problems in the Key Manager.
+
+(0.11.4)
+* Some fixes for the GPG environment checking code.
+* Remind the size of the Key Manager columns and restore them
+ on each startup.
+
\ No newline at end of file
Modified: trunk/Po/ChangeLog
===================================================================
--- trunk/Po/ChangeLog 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Po/ChangeLog 2005-12-19 13:05:59 UTC (rev 128)
@@ -1,3 +1,7 @@
+2005-12-18 Timo Schulz <ts at g10code.com>
+
+ * de.po: Updated.
+
2005-12-07 Werner Koch <wk at g10code.com>
* de.po: Translated 2 strings.
Modified: trunk/Po/de.po
===================================================================
--- trunk/Po/de.po 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Po/de.po 2005-12-19 13:05:59 UTC (rev 128)
@@ -12,10 +12,10 @@
# BUG: GetOpenFileName needs \0\0. gettext does not support it.
msgid ""
msgstr ""
-"Project-Id-Version: WinPT 0.10.2\n"
+"Project-Id-Version: WinPT 0.11.3\n"
"Report-Msgid-Bugs-To: winpt at freakmail.de\n"
-"POT-Creation-Date: 2005-12-16 13:37+0100\n"
-"PO-Revision-Date: 2005-12-07 17:55+0100\n"
+"POT-Creation-Date: 2005-12-18 20:12+0100\n"
+"PO-Revision-Date: 2005-12-16 16:10+0100\n"
"Last-Translator: Timo Schulz <ts at g10code.de>\n"
"Language-Team: DE <twoaday at freakmail.de>\n"
"MIME-Version: 1.0\n"
@@ -30,25 +30,29 @@
"Konnte Dateisperrung nicht initialisieren.\n"
"Native Language Support"
-#: Src/WinPT.cpp:109 Src/WinPT.cpp:131 Src/WinPT.cpp:181 Src/WinPT.cpp:185
-#: Src/WinPT.cpp:294 Src/WinPT.cpp:301 Src/WinPT.cpp:340 Src/WinPT.cpp:368
-#: Src/WinPT.cpp:377 Src/WinPT.cpp:381 Src/WinPT.cpp:398 Src/WinPT.cpp:466
-#: Src/WinPT.cpp:479 Src/WinPT.cpp:529 Src/WinPT.cpp:550 Src/WinPT.cpp:567
-#: Src/wptErrors.cpp:140 Src/wptGPG.cpp:952 Src/wptGPG.cpp:963
-#: Src/wptGPG.cpp:972 Src/wptGPG.cpp:982 Src/wptMainProc.cpp:345
-#: Src/wptMainProc.cpp:531
+#: Src/WinPT.cpp:109 Src/WinPT.cpp:143 Src/WinPT.cpp:173 Src/WinPT.cpp:223
+#: Src/WinPT.cpp:227 Src/WinPT.cpp:337 Src/WinPT.cpp:344 Src/WinPT.cpp:386
+#: Src/WinPT.cpp:414 Src/WinPT.cpp:423 Src/WinPT.cpp:427 Src/WinPT.cpp:444
+#: Src/WinPT.cpp:512 Src/WinPT.cpp:525 Src/WinPT.cpp:574 Src/WinPT.cpp:595
+#: Src/WinPT.cpp:612 Src/wptErrors.cpp:140 Src/wptGPG.cpp:889
+#: Src/wptGPG.cpp:900 Src/wptGPG.cpp:909 Src/wptGPG.cpp:919
+#: Src/wptMainProc.cpp:345 Src/wptMainProc.cpp:531
msgid "WinPT Error"
msgstr "WinPT Fehler"
-#: Src/WinPT.cpp:130
+#: Src/WinPT.cpp:142
+msgid "Could not create GPG home directory"
+msgstr "Konnte GPG Heimatverzeichnis nicht erstellen"
+
+#: Src/WinPT.cpp:172
msgid "No useable secret key found."
msgstr "Kein benutzbarer geheimer Schlüssel gefunden"
-#: Src/WinPT.cpp:180
+#: Src/WinPT.cpp:222
msgid "Could not read GnuPG version."
msgstr "Konnte GnuPG-Version nicht auslesen."
-#: Src/WinPT.cpp:186
+#: Src/WinPT.cpp:228
#, c-format
msgid ""
"Sorry, you need a newer GPG version.\n"
@@ -57,7 +61,7 @@
"Sorry, Sie benötigen eine neuere GPG-Version.\n"
"Aktuelle GPG-Version %d.%d.%d benötigte benoetigte GPG version "
-#: Src/WinPT.cpp:218 Src/wptKeyManagerDlg.cpp:803 Src/wptKeyserverDlg.cpp:55
+#: Src/WinPT.cpp:260 Src/wptKeyManagerDlg.cpp:860 Src/wptKeyserverDlg.cpp:55
#: Src/wptKeyserverDlg.cpp:184 Src/wptKeyserverDlg.cpp:192
#: Src/wptKeyserverDlg.cpp:208 Src/wptKeyserverDlg.cpp:354
#: Src/wptKeyserverDlg.cpp:359 Src/wptKeyserverDlg.cpp:489
@@ -68,17 +72,16 @@
msgstr "Schlüsselserver"
# c:\oss\winpt-gpgme\src\WinPT.cpp:245
-#: Src/WinPT.cpp:293
+#: Src/WinPT.cpp:336
msgid "Cryptographic selftest failed."
msgstr "Kryptographischer Selbsttest ist fehlgeschlagen."
# c:\oss\winpt-gpgme\src\WinPT.cpp:252
-#: Src/WinPT.cpp:300
-#, fuzzy
+#: Src/WinPT.cpp:343
msgid "A newer GPGME version is needed; at least "
msgstr "Eine neuere GPGME version wird benötigt"
-#: Src/WinPT.cpp:341
+#: Src/WinPT.cpp:387
#, c-format
msgid ""
"GPG home directory is not set correctly.\n"
@@ -89,22 +92,21 @@
"Bitte überprüfen Sie die GPG Registryseinträge:\n"
"%s"
-#: Src/WinPT.cpp:345
+#: Src/WinPT.cpp:391
msgid "Select GPG Public Keyring"
msgstr "Öffentlichen GPG-Schlüsselbund auswählen."
# c:\oss\winpt-gpgme\src\wptKeyCache.cpp:479
-#: Src/WinPT.cpp:346 Src/wptGPG.cpp:950 Src/wptGPG.cpp:970
-#, fuzzy
+#: Src/WinPT.cpp:392 Src/wptGPG.cpp:887 Src/wptGPG.cpp:907
msgid "GPG Keyrings (*.gpg)"
-msgstr "Lade GPG Keyrings"
+msgstr "GPG Schlüsselbunde (*.gpg)"
# c:\oss\winpt-gpgme\src\WinPT.cpp:313
-#: Src/WinPT.cpp:367
+#: Src/WinPT.cpp:413
msgid "GPG home directory could not be determited."
msgstr "GPG-Home-Dir konnte nicht bestimmt werden."
-#: Src/WinPT.cpp:375
+#: Src/WinPT.cpp:421
msgid ""
"Could not find the GPG binary (gpg.exe).\n"
"Do you want to start the GPG preferences to correct this problem?"
@@ -113,7 +115,7 @@
"öffnen um das Problem zu beheben?"
# c:\oss\winpt-gpgme\src\WinPT.cpp:339
-#: Src/WinPT.cpp:390
+#: Src/WinPT.cpp:436
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"
@@ -128,20 +130,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:421 Src/wptFileManagerDlg.cpp:478
+#: Src/WinPT.cpp:467 Src/wptFileManagerDlg.cpp:478
#: Src/wptFileManagerDlg.cpp:792
msgid "Wipe Free Space"
msgstr "Freispeicher Löschen"
-#: Src/WinPT.cpp:465
+#: Src/WinPT.cpp:511
msgid "Could not register window class"
msgstr "Konnte keine Fensterklasse registrieren"
-#: Src/WinPT.cpp:479
+#: Src/WinPT.cpp:525
msgid "Could not create window"
msgstr "Konnte Fenster nicht erstellen"
-#: Src/WinPT.cpp:548
+#: Src/WinPT.cpp:593
msgid ""
"The keycache was not initialized or is empty.\n"
"Please check your GPG config (keyrings, pathes...)"
@@ -149,7 +151,7 @@
"Der Schlüsselspeicher wurde nicht initialisiert oder ist leer.\n"
"Bitte checken Sie die GPG Konfiguration (Schlüsselbunde, Pfade)"
-#: Src/WinPT.cpp:551
+#: Src/WinPT.cpp:596
msgid ""
"It seems that GPG is not set properly.\n"
"Do you want to start the GPG preferences dialog?"
@@ -157,7 +159,7 @@
"GPG ist nicht richtig konfiguriert.\n"
"Den GPG-Einstellungsdialog starten?"
-#: Src/WinPT.cpp:568
+#: Src/WinPT.cpp:613
#, c-format
msgid ""
"Default key from the GPG options file could not be found.\n"
@@ -179,7 +181,7 @@
msgid "About GnuPG"
msgstr "Über GnuPG"
-#: Src/wptAboutDlgs.cpp:93 Src/wptKeyManagerDlg.cpp:1434
+#: Src/wptAboutDlgs.cpp:93 Src/wptKeyManagerDlg.cpp:1517
#: Src/wptMainProc.cpp:575
msgid "About WinPT"
msgstr "Über WinPT"
@@ -225,8 +227,8 @@
msgstr "Über &GPG"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:700
-#: Src/wptAboutDlgs.cpp:111 Src/wptKeyEditDlgs.cpp:1780
-#: Src/wptKeyManagerDlg.cpp:809
+#: Src/wptAboutDlgs.cpp:111 Src/wptKeyEditDlgs.cpp:1802
+#: Src/wptKeyManagerDlg.cpp:866
msgid "&Help"
msgstr "&Hilfe"
@@ -311,7 +313,7 @@
"Diese Operation wird die Schlüssel auf der Karte überschreiben.\n"
"Trotzdem fortfahren?"
-#: Src/wptCardDlg.cpp:600 Src/wptKeyEditDlgs.cpp:438
+#: Src/wptCardDlg.cpp:600 Src/wptKeyEditDlgs.cpp:459
msgid "&Name"
msgstr "&Name"
@@ -327,7 +329,7 @@
msgid "Off-card passphrase"
msgstr "\"Off-card\" Passwort"
-#: Src/wptCardDlg.cpp:604 Src/wptKeyEditDlgs.cpp:575 Src/wptKeygenDlg.cpp:392
+#: Src/wptCardDlg.cpp:604 Src/wptKeyEditDlgs.cpp:596 Src/wptKeygenDlg.cpp:392
msgid "&Never"
msgstr "&Niemals"
@@ -335,7 +337,7 @@
msgid "Email &address"
msgstr "Mail-&Adresse"
-#: Src/wptCardDlg.cpp:606 Src/wptKeyManagerDlg.cpp:1328
+#: Src/wptCardDlg.cpp:606 Src/wptKeyManagerDlg.cpp:1411
msgid "Card Key Generation"
msgstr "Karten-Schlüsselerzeugung"
@@ -364,7 +366,7 @@
msgid "Please use plain ASCII charset for the fields."
msgstr "Bitte nur den 7-bit ASCII Zeichensatz verwenden."
-#: Src/wptCardDlg.cpp:681 Src/wptKeyEditDlgs.cpp:1275
+#: Src/wptCardDlg.cpp:681 Src/wptKeyEditDlgs.cpp:1296
msgid "The date you have chosen lies in the past."
msgstr "Das gewählte Datum ist in der Vergangenheit."
@@ -462,8 +464,8 @@
#: Src/wptClipDecryptDlg.cpp:166 Src/wptClipEncryptDlg.cpp:208
#: Src/wptClipSignDlg.cpp:119 Src/wptClipSignDlg.cpp:231
-#: Src/wptClipSignEncDlg.cpp:199 Src/wptKeyManager.cpp:292
-#: Src/wptKeyManager.cpp:666 Src/wptKeyManager.cpp:904 Src/wptSymEnc.cpp:90
+#: Src/wptClipSignEncDlg.cpp:199 Src/wptKeyManager.cpp:317
+#: Src/wptKeyManager.cpp:691 Src/wptKeyManager.cpp:921 Src/wptSymEnc.cpp:90
msgid "GnuPG Status: Finished"
msgstr "GnuPG-Status: Abgeschlossen"
@@ -567,7 +569,7 @@
msgid "Add quotes"
msgstr "'>' hinzufügen"
-#: Src/wptClipEditDlg.cpp:202 Src/wptKeyEditDlgs.cpp:1779
+#: Src/wptClipEditDlg.cpp:202 Src/wptKeyEditDlgs.cpp:1801
#: Src/wptKeyserverDlg.cpp:446 Src/wptMDSumDlg.cpp:87
#: Src/wptOwnertrustDlg.cpp:103
msgid "&Close"
@@ -593,8 +595,8 @@
#: Src/wptCommonDlg.cpp:66 Src/wptFileManagerDlg.cpp:84
#: Src/wptFileManagerDlg.cpp:198 Src/wptFileManagerDlg.cpp:275
#: Src/wptFileSaveDlg.cpp:58 Src/wptFirstRunDlg.cpp:50
-#: Src/wptKeyEditDlgs.cpp:272 Src/wptKeyEditDlgs.cpp:366
-#: Src/wptKeyEditDlgs.cpp:441 Src/wptKeyEditDlgs.cpp:576
+#: Src/wptKeyEditDlgs.cpp:288 Src/wptKeyEditDlgs.cpp:388
+#: Src/wptKeyEditDlgs.cpp:462 Src/wptKeyEditDlgs.cpp:597
#: Src/wptKeyEditOwnertrustDlg.cpp:67 Src/wptKeygenDlg.cpp:394
#: Src/wptKeygenDlg.cpp:597 Src/wptKeyRevokeDlg.cpp:90
#: Src/wptKeyserverSearchDlg.cpp:63 Src/wptKeysignDlg.cpp:258
@@ -618,7 +620,7 @@
msgstr "Schlüsselimport-Statistiken"
#: Src/wptClipImportDlg.cpp:88 Src/wptFileManagerDlg.cpp:197
-#: Src/wptFileManagerDlg.cpp:203 Src/wptKeyManager.cpp:443
+#: Src/wptFileManagerDlg.cpp:203 Src/wptKeyManager.cpp:468
msgid "Key Import"
msgstr "Schlüsselimport"
@@ -643,7 +645,7 @@
#: Src/wptFileManager.cpp:1662 Src/wptImportList.cpp:414
#: Src/wptImportList.cpp:421 Src/wptImportList.cpp:430
#: Src/wptImportList.cpp:438 Src/wptImportList.cpp:447
-#: Src/wptKeyManager.cpp:550 Src/wptKeyserverDlg.cpp:217
+#: Src/wptKeyManager.cpp:575 Src/wptKeyserverDlg.cpp:217
msgid "Import"
msgstr "Importieren"
@@ -698,7 +700,7 @@
msgid "Signing key:"
msgstr "Signierer Schlüssel:"
-#: Src/wptClipSignEncDlg.cpp:168 Src/wptKeylist.cpp:1111
+#: Src/wptClipSignEncDlg.cpp:168 Src/wptKeylist.cpp:1121
msgid "No key was selected."
msgstr "Kein Schlüssel ausgewählt."
@@ -761,30 +763,30 @@
msgid "Please enter a valid URL."
msgstr "Bitte eine gültige URL eingeben."
-#: Src/wptCommonDlg.cpp:123 Src/wptKeyEditDlgs.cpp:685
-#: Src/wptKeyEditDlgs.cpp:756 Src/wptKeyEditDlgs.cpp:792
-#: Src/wptKeyEditDlgs.cpp:804 Src/wptKeyEditDlgs.cpp:872
-#: Src/wptKeyEditDlgs.cpp:879 Src/wptKeyEditDlgs.cpp:897
-#: Src/wptKeyEditDlgs.cpp:944 Src/wptKeyEditDlgs.cpp:949
-#: Src/wptKeyEditDlgs.cpp:1040 Src/wptKeyEditDlgs.cpp:1046
-#: Src/wptKeyEditDlgs.cpp:1198 Src/wptKeyEditDlgs.cpp:1202
-#: Src/wptKeyEditDlgs.cpp:1206 Src/wptKeyEditDlgs.cpp:1211
-#: Src/wptKeyEditDlgs.cpp:1247 Src/wptKeyEditDlgs.cpp:1251
-#: Src/wptKeyEditDlgs.cpp:1261 Src/wptKeyEditDlgs.cpp:1276
-#: Src/wptKeyEditDlgs.cpp:1280 Src/wptKeyEditDlgs.cpp:1320
-#: Src/wptKeyEditDlgs.cpp:1325 Src/wptKeyEditDlgs.cpp:1332
-#: Src/wptKeyEditDlgs.cpp:1338 Src/wptKeyEditDlgs.cpp:1343
-#: Src/wptKeyEditDlgs.cpp:1384 Src/wptKeyEditDlgs.cpp:1389
-#: Src/wptKeyEditDlgs.cpp:1395 Src/wptKeyEditDlgs.cpp:1402
-#: Src/wptKeyEditDlgs.cpp:1405 Src/wptKeyEditDlgs.cpp:1442
-#: Src/wptKeyEditDlgs.cpp:1450 Src/wptKeyEditDlgs.cpp:1484
-#: Src/wptKeyEditDlgs.cpp:1492 Src/wptKeyEditDlgs.cpp:1589
-#: Src/wptKeyEditDlgs.cpp:1622 Src/wptKeyEditDlgs.cpp:1647
-#: Src/wptKeyEditDlgs.cpp:1651 Src/wptKeyEditDlgs.cpp:1660
-#: Src/wptKeyEditDlgs.cpp:1760 Src/wptKeyEditDlgs.cpp:1770
-#: Src/wptKeyEditDlgs.cpp:1781 Src/wptKeyEditDlgs.cpp:1811
-#: Src/wptKeyEditDlgs.cpp:1817 Src/wptKeyManagerDlg.cpp:996
-#: Src/wptKeyManagerDlg.cpp:1461
+#: Src/wptCommonDlg.cpp:123 Src/wptKeyEditDlgs.cpp:706
+#: Src/wptKeyEditDlgs.cpp:777 Src/wptKeyEditDlgs.cpp:813
+#: Src/wptKeyEditDlgs.cpp:825 Src/wptKeyEditDlgs.cpp:893
+#: Src/wptKeyEditDlgs.cpp:900 Src/wptKeyEditDlgs.cpp:918
+#: Src/wptKeyEditDlgs.cpp:965 Src/wptKeyEditDlgs.cpp:970
+#: Src/wptKeyEditDlgs.cpp:1061 Src/wptKeyEditDlgs.cpp:1067
+#: Src/wptKeyEditDlgs.cpp:1219 Src/wptKeyEditDlgs.cpp:1223
+#: Src/wptKeyEditDlgs.cpp:1227 Src/wptKeyEditDlgs.cpp:1232
+#: Src/wptKeyEditDlgs.cpp:1268 Src/wptKeyEditDlgs.cpp:1272
+#: Src/wptKeyEditDlgs.cpp:1282 Src/wptKeyEditDlgs.cpp:1297
+#: Src/wptKeyEditDlgs.cpp:1301 Src/wptKeyEditDlgs.cpp:1341
+#: Src/wptKeyEditDlgs.cpp:1346 Src/wptKeyEditDlgs.cpp:1353
+#: Src/wptKeyEditDlgs.cpp:1359 Src/wptKeyEditDlgs.cpp:1364
+#: Src/wptKeyEditDlgs.cpp:1405 Src/wptKeyEditDlgs.cpp:1410
+#: Src/wptKeyEditDlgs.cpp:1416 Src/wptKeyEditDlgs.cpp:1423
+#: Src/wptKeyEditDlgs.cpp:1426 Src/wptKeyEditDlgs.cpp:1463
+#: Src/wptKeyEditDlgs.cpp:1471 Src/wptKeyEditDlgs.cpp:1505
+#: Src/wptKeyEditDlgs.cpp:1513 Src/wptKeyEditDlgs.cpp:1611
+#: Src/wptKeyEditDlgs.cpp:1644 Src/wptKeyEditDlgs.cpp:1669
+#: Src/wptKeyEditDlgs.cpp:1673 Src/wptKeyEditDlgs.cpp:1682
+#: Src/wptKeyEditDlgs.cpp:1782 Src/wptKeyEditDlgs.cpp:1792
+#: Src/wptKeyEditDlgs.cpp:1803 Src/wptKeyEditDlgs.cpp:1832
+#: Src/wptKeyEditDlgs.cpp:1838 Src/wptKeyManagerDlg.cpp:889
+#: Src/wptKeyManagerDlg.cpp:1544
msgid "Key Edit"
msgstr "Schlüssel bearbeiten"
@@ -1081,9 +1083,8 @@
"Auf Standard setzen?"
#: Src/wptFileManager.cpp:133
-#, fuzzy
msgid "Could not reset file attribute to normal."
-msgstr "Konnte \"filelist window procedure\" nicht setzen."
+msgstr "Konnte Dateiattribut nicht zurücksetzen."
# c:\oss\winpt-gpgme\src\wptFileManager.cpp:147
#: Src/wptFileManager.cpp:169
@@ -1099,12 +1100,12 @@
"\n"
"Möchten Sie die Kompression ausschalten?"
-#: Src/wptFileManager.cpp:381 Src/wptKeyEditDlgs.cpp:931
+#: Src/wptFileManager.cpp:381 Src/wptKeyEditDlgs.cpp:952
#: Src/wptVerifyList.cpp:88 Src/wptVerifyList.cpp:96
msgid "Status"
msgstr "Status"
-#: Src/wptFileManager.cpp:382 Src/wptKeyEditDlgs.cpp:1032
+#: Src/wptFileManager.cpp:382 Src/wptKeyEditDlgs.cpp:1053
#: Src/wptKeyRevokersDlg.cpp:52 Src/wptMDSumDlg.cpp:57
#: Src/wptVerifyList.cpp:87
msgid "Name"
@@ -1232,7 +1233,7 @@
msgid "Invalid file name. Exit"
msgstr "Ungültiger Dateiname. Abbruch"
-#: Src/wptFileManager.cpp:1659 Src/wptKeyManager.cpp:547
+#: Src/wptFileManager.cpp:1659 Src/wptKeyManager.cpp:572
msgid ""
"Key without a self signature was dectected!\n"
"(This key is NOT usable for encryption, etc)\n"
@@ -1244,8 +1245,8 @@
"\n"
"Kann diese(n) Schlüssel nicht importieren!"
-#: Src/wptFileManager.cpp:1704 Src/wptKeyManager.cpp:275
-#: Src/wptKeyManager.cpp:311 Src/wptKeyManager.cpp:346
+#: Src/wptFileManager.cpp:1704 Src/wptKeyManager.cpp:300
+#: Src/wptKeyManager.cpp:336 Src/wptKeyManager.cpp:371
msgid "No key was selected for export."
msgstr "Kein Schlüssel zum Exportieren ausgewählt."
@@ -1254,14 +1255,13 @@
msgid "Export"
msgstr "Exportieren"
-#: Src/wptFileManager.cpp:1712 Src/wptKeyManagerDlg.cpp:1394
-#: Src/wptKeyManagerDlg.cpp:1426
-#, fuzzy
+#: Src/wptFileManager.cpp:1712 Src/wptKeyManagerDlg.cpp:1477
+#: Src/wptKeyManagerDlg.cpp:1509
msgid "Choose Name for Key File"
-msgstr "Den Namen der Schlüsseldatei wählen"
+msgstr "Namen für Schlüsseldatei auswählen"
-#: Src/wptFileManager.cpp:1731 Src/wptKeyEditDlgs.cpp:912
-#: Src/wptKeyEditDlgs.cpp:1228 Src/wptKeyEditDlgs.cpp:1299
+#: Src/wptFileManager.cpp:1731 Src/wptKeyEditDlgs.cpp:933
+#: Src/wptKeyEditDlgs.cpp:1249 Src/wptKeyEditDlgs.cpp:1320
#: Src/wptKeyserverDlg.cpp:95
msgid "GnuPG status"
msgstr "GnuPG Status"
@@ -1281,9 +1281,8 @@
msgstr ""
#: Src/wptFileManager.cpp:1843
-#, fuzzy
msgid "Choose File Name for Output"
-msgstr "Wählen Sie einen Namen für die Ausgabedatei"
+msgstr "Namen für die Ausgabedatei auswählen"
#: Src/wptFileManager.cpp:1912
msgid "Choose a Name for the Archive"
@@ -1326,7 +1325,7 @@
msgstr "Bitte wählen Sie wenigstens einen Empfänger"
#: Src/wptFileManagerDlg.cpp:203 Src/wptFileStatDlg.cpp:266
-#: Src/wptKeyManager.cpp:421
+#: Src/wptKeyManager.cpp:446
msgid "No valid OpenPGP data found."
msgstr "Keine gültigen OpenPGP-Daten gefunden."
@@ -1351,13 +1350,13 @@
msgid "&Cleartext Signature"
msgstr "&Klartextsignatur"
-#: Src/wptFileManagerDlg.cpp:320 Src/wptKeyEditDlgs.cpp:1202
-#: Src/wptKeyEditDlgs.cpp:1251 Src/wptKeyEditDlgs.cpp:1325
-#: Src/wptKeyManager.cpp:585 Src/wptKeyManager.cpp:686
-#: Src/wptKeyManager.cpp:724 Src/wptKeyManagerDlg.cpp:1165
-#: Src/wptKeyManagerDlg.cpp:1185 Src/wptKeyManagerDlg.cpp:1218
-#: Src/wptKeyManagerDlg.cpp:1237 Src/wptKeyManagerDlg.cpp:1253
-#: Src/wptKeyManagerDlg.cpp:1385 Src/wptKeyManagerDlg.cpp:1403
+#: Src/wptFileManagerDlg.cpp:320 Src/wptKeyEditDlgs.cpp:1223
+#: Src/wptKeyEditDlgs.cpp:1272 Src/wptKeyEditDlgs.cpp:1346
+#: Src/wptKeyManager.cpp:612 Src/wptKeyManager.cpp:710
+#: Src/wptKeyManager.cpp:746 Src/wptKeyManagerDlg.cpp:1249
+#: Src/wptKeyManagerDlg.cpp:1268 Src/wptKeyManagerDlg.cpp:1301
+#: Src/wptKeyManagerDlg.cpp:1320 Src/wptKeyManagerDlg.cpp:1336
+#: Src/wptKeyManagerDlg.cpp:1468 Src/wptKeyManagerDlg.cpp:1486
#: Src/wptKeyserverSearchDlg.cpp:127
msgid "Please select a key."
msgstr "Bitte Schlüssel wählen."
@@ -1375,17 +1374,17 @@
msgid "File Manager (use drag & drop to add files)"
msgstr "Dateimanager (Drag & Drop möglich)"
-#: Src/wptFileManagerDlg.cpp:457 Src/wptKeyManagerDlg.cpp:775
+#: Src/wptFileManagerDlg.cpp:457 Src/wptKeyManagerDlg.cpp:831
#: Src/wptOwnertrustDlg.cpp:98
msgid "File"
msgstr "Datei"
-#: Src/wptFileManagerDlg.cpp:458 Src/wptKeyManagerDlg.cpp:776
-#: Src/wptKeyManagerDlg.cpp:780 Src/wptKeyManagerDlg.cpp:791
+#: Src/wptFileManagerDlg.cpp:458 Src/wptKeyManagerDlg.cpp:832
+#: Src/wptKeyManagerDlg.cpp:837 Src/wptKeyManagerDlg.cpp:848
msgid "Edit"
msgstr "Bearbeiten"
-#: Src/wptFileManagerDlg.cpp:459 Src/wptKeyManagerDlg.cpp:777
+#: Src/wptFileManagerDlg.cpp:459 Src/wptKeyManagerDlg.cpp:833
msgid "View"
msgstr "Ansicht"
@@ -1405,8 +1404,8 @@
msgid "&Decrypt"
msgstr "&Entschlüsseln"
-#: Src/wptFileManagerDlg.cpp:464 Src/wptKeyManagerDlg.cpp:792
-#: Src/wptKeyManagerDlg.cpp:999
+#: Src/wptFileManagerDlg.cpp:464 Src/wptKeyManagerDlg.cpp:849
+#: Src/wptKeyManagerDlg.cpp:892
msgid "&Sign"
msgstr "&Signieren"
@@ -1564,7 +1563,7 @@
msgstr "Bitte neues GnuPG-HOME-Verzeichnis &eingeben."
# c:\oss\winpt-gpgme\src\wptGPG.cpp:728
-#: Src/wptGPG.cpp:814
+#: Src/wptGPG.cpp:808
msgid ""
"The selected keyring has the read-only file\n"
"attribute. In this state you do not have write\n"
@@ -1574,19 +1573,19 @@
"In diesem Zustand kann nichts gespeichert werden\n"
"Wollen Sie das Attribut zurücksetzen?"
-#: Src/wptGPG.cpp:817
+#: Src/wptGPG.cpp:811
msgid "GPG Information"
msgstr "GPG Information"
-#: Src/wptGPG.cpp:821
+#: Src/wptGPG.cpp:815
msgid "Could not reset read-only state."
msgstr "Konnte den Read-Only Zustand nicht zurücksetzen."
-#: Src/wptGPG.cpp:822 Src/wptGPG.cpp:1154 Src/wptGPG.cpp:1163
+#: Src/wptGPG.cpp:816 Src/wptGPG.cpp:1096 Src/wptGPG.cpp:1105
msgid "GPG Error"
msgstr "GPG Fehler"
-#: Src/wptGPG.cpp:834
+#: Src/wptGPG.cpp:828
msgid ""
"You do not have file access to modify the contents of\n"
"one or both of the selected keyrings.\n"
@@ -1600,25 +1599,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:839
+#: Src/wptGPG.cpp:833
msgid "GPG Warning"
msgstr "GPG Warnung"
-#: Src/wptGPG.cpp:866 Src/wptGPGPrefsDlg.cpp:118 Src/wptGPGPrefsDlg.cpp:124
-#: Src/wptGPGPrefsDlg.cpp:132 Src/wptGPGPrefsDlg.cpp:142
-#: Src/wptGPGPrefsDlg.cpp:152 Src/wptGPGPrefsDlg.cpp:164
-#: Src/wptGPGPrefsDlg.cpp:168 Src/wptGPGPrefsDlg.cpp:172
-#: Src/wptGPGPrefsDlg.cpp:176 Src/wptGPGPrefsDlg.cpp:181
-#: Src/wptGPGPrefsDlg.cpp:192 Src/wptKeyEditDlgs.cpp:1597
-#: Src/wptKeyManagerDlg.cpp:802 Src/wptMainProc.cpp:432
-#: Src/wptPreferencesDlg.cpp:209 Src/wptPreferencesDlg.cpp:258
-#: Src/wptPreferencesDlg.cpp:269 Src/wptPreferencesDlg.cpp:281
-#: Src/wptPreferencesDlg.cpp:294 Src/wptPreferencesDlg.cpp:340
-#: Src/wptRegistry.cpp:590
+#: Src/wptGPG.cpp:857 Src/wptGPGPrefsDlg.cpp:177 Src/wptGPGPrefsDlg.cpp:183
+#: Src/wptGPGPrefsDlg.cpp:189 Src/wptGPGPrefsDlg.cpp:195
+#: Src/wptGPGPrefsDlg.cpp:200 Src/wptGPGPrefsDlg.cpp:205
+#: Src/wptGPGPrefsDlg.cpp:210 Src/wptGPGPrefsDlg.cpp:224
+#: Src/wptKeyEditDlgs.cpp:1618 Src/wptKeyManagerDlg.cpp:859
+#: Src/wptMainProc.cpp:432 Src/wptPreferencesDlg.cpp:209
+#: Src/wptPreferencesDlg.cpp:258 Src/wptPreferencesDlg.cpp:269
+#: Src/wptPreferencesDlg.cpp:281 Src/wptPreferencesDlg.cpp:294
+#: Src/wptPreferencesDlg.cpp:340 Src/wptRegistry.cpp:608
msgid "Preferences"
msgstr "Einstellungen"
-#: Src/wptGPG.cpp:867
+#: Src/wptGPG.cpp:858
#, c-format
msgid ""
"%s does not exit.\n"
@@ -1627,41 +1624,41 @@
"%s existiert nicht.\n"
"Möchten Sie dieses Verzeichnis erstellen?"
-#: Src/wptGPG.cpp:949
+#: Src/wptGPG.cpp:886
msgid "Please choose your public keyring"
msgstr "Bitte wählen Sie Ihren öffentlichen Schlüsselbund."
-#: Src/wptGPG.cpp:952 Src/wptGPG.cpp:972
+#: Src/wptGPG.cpp:889 Src/wptGPG.cpp:909
msgid "No keyring was chosen. Exit."
msgstr "Kein Schlüsselbund ausgewählt. Abbruch."
-#: Src/wptGPG.cpp:958
+#: Src/wptGPG.cpp:895
msgid "Overwrite old public keyring?"
msgstr "Alten öffentlichen Schlüsselbund überschreiben"
-#: Src/wptGPG.cpp:963 Src/wptGPG.cpp:982
+#: Src/wptGPG.cpp:900 Src/wptGPG.cpp:919
msgid "Could not copy file."
msgstr "Datei konnte nicht kopiert werden"
-#: Src/wptGPG.cpp:969
+#: Src/wptGPG.cpp:906
msgid "Please choose your secret keyring"
msgstr "Bitte wählen Sie Ihren geheimen Schlüsselbund."
-#: Src/wptGPG.cpp:977
+#: Src/wptGPG.cpp:914
msgid "Overwrite old secret keyring?"
msgstr "Alten geheimen Schlüsselbund überschreiben?"
-#: Src/wptGPG.cpp:1027 Src/wptGPG.cpp:1113 Src/wptGPG.cpp:1126
+#: Src/wptGPG.cpp:964 Src/wptGPG.cpp:1054 Src/wptGPG.cpp:1067
msgid "Backup"
msgstr "Sicherung"
-#: Src/wptGPG.cpp:1027
+#: Src/wptGPG.cpp:964
#, c-format
msgid "Backup keyring \"%s\" failed"
msgstr "Schlüsselbundsicherung \"%s\" fehlgeschlagen"
# c:\oss\winpt-gpgme\src\wptGPG.cpp:1021
-#: Src/wptGPG.cpp:1114
+#: Src/wptGPG.cpp:1055
#, c-format
msgid ""
"The backup drive '%s' does not seems to accessable.\n"
@@ -1670,12 +1667,12 @@
"Kann auf das Backup-Laufwerk '%s' nicht zugreifen.\n"
"Bitte aktivieren/überprüfen sie das Laufwerk um Fortzufahren."
-#: Src/wptGPG.cpp:1126
+#: Src/wptGPG.cpp:1067
#, c-format
msgid "Invalid backup mode %d"
msgstr "Ungültiger Sicherungsmethode %d"
-#: Src/wptGPG.cpp:1154
+#: Src/wptGPG.cpp:1095
msgid "No GPG error description available."
msgstr "Keine GPG-Fehlerbeschreibung verfügbar"
@@ -1749,95 +1746,79 @@
"Aktuelle Daten gehen verloren\n"
"Sind Sie sicher?"
-#: Src/wptGPGPrefsDlg.cpp:64 Src/wptKeyManagerDlg.cpp:1360
+#: Src/wptGPGPrefsDlg.cpp:127 Src/wptKeyManagerDlg.cpp:1443
#: Src/wptMainProc.cpp:587
msgid "GnuPG Preferences"
msgstr "GnuPG-Einstellungen"
-#: Src/wptGPGPrefsDlg.cpp:66
+#: Src/wptGPGPrefsDlg.cpp:129
msgid "GnuPG home directory (where both keyrings are located)"
msgstr "GnuPG Home-Dir (wo sich die Keyrings befinden)"
-#: Src/wptGPGPrefsDlg.cpp:68
-msgid "GnuPG config file (default: use gpg.conf)"
-msgstr "GnuPG Konfigurationsdatei (Voreinstellung: gpg.conf)"
-
-#: Src/wptGPGPrefsDlg.cpp:70
+#: Src/wptGPGPrefsDlg.cpp:131
msgid "GnuPG exe file location (full path with added gpg.exe)"
msgstr "Vollständige Pfadangabe für GPG.EXE"
-#: Src/wptGPGPrefsDlg.cpp:72
+#: Src/wptGPGPrefsDlg.cpp:133
msgid "Locale directory (to access the translation files)"
msgstr "Verzeichnis der Sprachdateien"
-#: Src/wptGPGPrefsDlg.cpp:73
+#: Src/wptGPGPrefsDlg.cpp:134
msgid "Ask for the signature class during key sign"
msgstr "Signaturlevel erfragen während Key-Sign"
-#: Src/wptGPGPrefsDlg.cpp:74
+#: Src/wptGPGPrefsDlg.cpp:135
msgid "Comment in armored files"
msgstr "Kommentar in Armor-Dateien"
-#: Src/wptGPGPrefsDlg.cpp:75
+#: Src/wptGPGPrefsDlg.cpp:136
msgid "Encrypt to this key"
msgstr "\"Encrypt to this key\""
-#: Src/wptGPGPrefsDlg.cpp:76
+#: Src/wptGPGPrefsDlg.cpp:137
msgid "General GPG options"
msgstr "Allgemeine GPG Optionen"
-#: Src/wptGPGPrefsDlg.cpp:118
+#: Src/wptGPGPrefsDlg.cpp:176
msgid "Please enter the GnuPG home directory."
msgstr "Bitte GnuPG-HOME-Verzeichnis eingeben."
-#: Src/wptGPGPrefsDlg.cpp:130
-msgid ""
-"Could not find GPG config file.\n"
-"Do you want to create a config file?"
-msgstr ""
-"Konnte keine Konfigurationsdatei finden.\n"
-"Wollen Sie die Konfigurationsdatei erstellen?"
-
-#: Src/wptGPGPrefsDlg.cpp:152
-msgid "Could not save 'OptFile' in the registry."
-msgstr "Konnte 'OptFile' nicht in Registry schreiben"
-
-#: Src/wptGPGPrefsDlg.cpp:164
+#: Src/wptGPGPrefsDlg.cpp:188
msgid "Could not save 'HomeDir' in the registry."
msgstr "Konnte 'HomeDir' nicht in Registry schreiben"
-#: Src/wptGPGPrefsDlg.cpp:168
+#: Src/wptGPGPrefsDlg.cpp:194
msgid "Please enter where GPG.exe is located."
msgstr "Bitte Pfad zu GPG.EXE eingeben."
-#: Src/wptGPGPrefsDlg.cpp:172
+#: Src/wptGPGPrefsDlg.cpp:199
msgid "Could not find the GPG program in this directory."
msgstr "Konnte GPG-Programm nicht in diesem Verzeichnis finden."
-#: Src/wptGPGPrefsDlg.cpp:176
+#: Src/wptGPGPrefsDlg.cpp:204
msgid "Could not save 'gpgProgram' in the registry"
msgstr "Konnte 'gpgProgram' nicht in Registry schreiben"
-#: Src/wptGPGPrefsDlg.cpp:192
+#: Src/wptGPGPrefsDlg.cpp:223
msgid "Could not get GPG config file"
msgstr "Konnte Konfigurationsdatei nicht öffnen"
-#: Src/wptGPGPrefsDlg.cpp:225
+#: Src/wptGPGPrefsDlg.cpp:256
msgid "Choose GPG home directory"
msgstr "Wählen Sie das GPG HOME-Verzeichnis"
-#: Src/wptGPGPrefsDlg.cpp:242
+#: Src/wptGPGPrefsDlg.cpp:275
+msgid "Choose locale directory"
+msgstr "Verzeichnis für Sprachdateien auswählen"
+
+#: Src/wptGPGPrefsDlg.cpp:281
msgid "Choose GPG binary"
msgstr "Wählen Sie GPG.EXE Datei"
-#: Src/wptGPGPrefsDlg.cpp:243
+#: Src/wptGPGPrefsDlg.cpp:282
msgid "Executable Files (*.exe)"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:250
-msgid "Choose GPG config file"
-msgstr "Wählen Sie die GPG.conf Datei"
-
#: Src/wptGroupsDlg.cpp:53
msgid "New Group"
msgstr "Neue Gruppe"
@@ -1886,52 +1867,52 @@
msgid "Unknown Hotkey"
msgstr "Unbekanntes Tastenkürzel"
-#: Src/wptImagelist.cpp:50 Src/wptKeyManager.cpp:142 Src/wptKeyManager.cpp:147
-#: Src/wptKeyManager.cpp:197 Src/wptKeyManager.cpp:276
-#: Src/wptKeyManager.cpp:283 Src/wptKeyManager.cpp:312
-#: Src/wptKeyManager.cpp:317 Src/wptKeyManager.cpp:324
-#: Src/wptKeyManager.cpp:326 Src/wptKeyManager.cpp:347
-#: Src/wptKeyManager.cpp:364 Src/wptKeyManager.cpp:368
-#: Src/wptKeyManager.cpp:374 Src/wptKeyManager.cpp:392
-#: Src/wptKeyManager.cpp:414 Src/wptKeyManager.cpp:419
-#: Src/wptKeyManager.cpp:422 Src/wptKeyManager.cpp:427
-#: Src/wptKeyManager.cpp:433 Src/wptKeyManager.cpp:438
-#: Src/wptKeyManager.cpp:524 Src/wptKeyManager.cpp:532
-#: Src/wptKeyManager.cpp:585 Src/wptKeyManager.cpp:612
-#: Src/wptKeyManager.cpp:623 Src/wptKeyManager.cpp:635
-#: Src/wptKeyManager.cpp:661 Src/wptKeyManager.cpp:686
-#: Src/wptKeyManager.cpp:691 Src/wptKeyManager.cpp:719
-#: Src/wptKeyManager.cpp:724 Src/wptKeyManager.cpp:750
-#: Src/wptKeyManager.cpp:792 Src/wptKeyManager.cpp:798
-#: Src/wptKeyManager.cpp:902 Src/wptKeyManager.cpp:932
-#: Src/wptKeyManagerDlg.cpp:773 Src/wptKeyManagerDlg.cpp:835
-#: Src/wptKeyManagerDlg.cpp:1138 Src/wptKeyManagerDlg.cpp:1166
-#: Src/wptKeyManagerDlg.cpp:1185 Src/wptKeyManagerDlg.cpp:1192
-#: Src/wptKeyManagerDlg.cpp:1202 Src/wptKeyManagerDlg.cpp:1218
-#: Src/wptKeyManagerDlg.cpp:1224 Src/wptKeyManagerDlg.cpp:1237
-#: Src/wptKeyManagerDlg.cpp:1253 Src/wptKeyManagerDlg.cpp:1285
-#: Src/wptKeyManagerDlg.cpp:1324 Src/wptKeyManagerDlg.cpp:1385
-#: Src/wptKeyManagerDlg.cpp:1403 Src/wptKeyManagerDlg.cpp:1408
-#: Src/wptKeyManagerDlg.cpp:1413 Src/wptKeyManagerDlg.cpp:1487
-#: Src/wptKeyManagerDlg.cpp:1648 Src/wptKeysigDlg.cpp:88
-#: Src/wptKeysigDlg.cpp:99 Src/wptKeysigDlg.cpp:320 Src/wptKeysigDlg.cpp:326
-#: Src/wptKeysigDlg.cpp:370 Src/wptKeysigDlg.cpp:429 Src/wptMainProc.cpp:400
+#: Src/wptImagelist.cpp:50 Src/wptKeyManager.cpp:166 Src/wptKeyManager.cpp:171
+#: Src/wptKeyManager.cpp:222 Src/wptKeyManager.cpp:301
+#: Src/wptKeyManager.cpp:308 Src/wptKeyManager.cpp:337
+#: Src/wptKeyManager.cpp:342 Src/wptKeyManager.cpp:349
+#: Src/wptKeyManager.cpp:351 Src/wptKeyManager.cpp:372
+#: Src/wptKeyManager.cpp:389 Src/wptKeyManager.cpp:393
+#: Src/wptKeyManager.cpp:399 Src/wptKeyManager.cpp:417
+#: Src/wptKeyManager.cpp:439 Src/wptKeyManager.cpp:444
+#: Src/wptKeyManager.cpp:447 Src/wptKeyManager.cpp:452
+#: Src/wptKeyManager.cpp:458 Src/wptKeyManager.cpp:463
+#: Src/wptKeyManager.cpp:549 Src/wptKeyManager.cpp:557
+#: Src/wptKeyManager.cpp:612 Src/wptKeyManager.cpp:639
+#: Src/wptKeyManager.cpp:649 Src/wptKeyManager.cpp:660
+#: Src/wptKeyManager.cpp:686 Src/wptKeyManager.cpp:710
+#: Src/wptKeyManager.cpp:717 Src/wptKeyManager.cpp:741
+#: Src/wptKeyManager.cpp:746 Src/wptKeyManager.cpp:772
+#: Src/wptKeyManager.cpp:809 Src/wptKeyManager.cpp:815
+#: Src/wptKeyManager.cpp:919 Src/wptKeyManager.cpp:949
+#: Src/wptKeyManagerDlg.cpp:947 Src/wptKeyManagerDlg.cpp:968
+#: Src/wptKeyManagerDlg.cpp:1222 Src/wptKeyManagerDlg.cpp:1250
+#: Src/wptKeyManagerDlg.cpp:1268 Src/wptKeyManagerDlg.cpp:1275
+#: Src/wptKeyManagerDlg.cpp:1285 Src/wptKeyManagerDlg.cpp:1301
+#: Src/wptKeyManagerDlg.cpp:1307 Src/wptKeyManagerDlg.cpp:1320
+#: Src/wptKeyManagerDlg.cpp:1336 Src/wptKeyManagerDlg.cpp:1368
+#: Src/wptKeyManagerDlg.cpp:1407 Src/wptKeyManagerDlg.cpp:1468
+#: Src/wptKeyManagerDlg.cpp:1486 Src/wptKeyManagerDlg.cpp:1491
+#: Src/wptKeyManagerDlg.cpp:1496 Src/wptKeyManagerDlg.cpp:1571
+#: Src/wptKeyManagerDlg.cpp:1732 Src/wptKeysigDlg.cpp:88
+#: Src/wptKeysigDlg.cpp:99 Src/wptKeysigDlg.cpp:321 Src/wptKeysigDlg.cpp:327
+#: Src/wptKeysigDlg.cpp:370 Src/wptKeysigDlg.cpp:432 Src/wptMainProc.cpp:400
#: Src/wptMainProc.cpp:558
msgid "Key Manager"
msgstr "Schlüsselverwaltung"
-#: Src/wptImportList.cpp:264 Src/wptKeyEditDlgs.cpp:209
-#: Src/wptKeyEditDlgs.cpp:1004 Src/wptKeyEditDlgs.cpp:1065
-#: Src/wptKeyEditDlgs.cpp:1337 Src/wptKeyEditDlgs.cpp:1357
-#: Src/wptKeyEditDlgs.cpp:1394 Src/wptKeyEditDlgs.cpp:1423
-#: Src/wptKeylist.cpp:363 Src/wptKeyPropsDlg.cpp:147 Src/wptKeysigDlg.cpp:136
+#: Src/wptImportList.cpp:264 Src/wptKeyEditDlgs.cpp:205
+#: Src/wptKeyEditDlgs.cpp:1025 Src/wptKeyEditDlgs.cpp:1086
+#: Src/wptKeyEditDlgs.cpp:1358 Src/wptKeyEditDlgs.cpp:1378
+#: Src/wptKeyEditDlgs.cpp:1415 Src/wptKeyEditDlgs.cpp:1444
+#: Src/wptKeylist.cpp:374 Src/wptKeyPropsDlg.cpp:146 Src/wptKeysigDlg.cpp:136
#: Src/wptKeysigDlg.cpp:201
msgid "Revoked"
msgstr "Widerrufen"
-#: Src/wptImportList.cpp:266 Src/wptKeyEditDlgs.cpp:210
-#: Src/wptKeyEditDlgs.cpp:1002 Src/wptKeyEditDlgs.cpp:1258
-#: Src/wptKeylist.cpp:365 Src/wptKeyPropsDlg.cpp:144 Src/wptKeysigDlg.cpp:135
+#: Src/wptImportList.cpp:266 Src/wptKeyEditDlgs.cpp:206
+#: Src/wptKeyEditDlgs.cpp:1023 Src/wptKeyEditDlgs.cpp:1279
+#: Src/wptKeylist.cpp:376 Src/wptKeyPropsDlg.cpp:143 Src/wptKeysigDlg.cpp:135
#: Src/wptKeysigDlg.cpp:202
msgid "Expired"
msgstr "Abgelaufen"
@@ -1944,35 +1925,35 @@
msgid "public key"
msgstr "öffentlicher Schlüssel"
-#: Src/wptImportList.cpp:303 Src/wptKeyEditDlgs.cpp:1082
+#: Src/wptImportList.cpp:303 Src/wptKeyEditDlgs.cpp:1103
msgid "Invalid user ID"
msgstr "Ungültige Benutzerkennung"
-#: Src/wptImportList.cpp:352 Src/wptKeylist.cpp:526 Src/wptKeylist.cpp:535
-#: Src/wptKeyManagerDlg.cpp:788 Src/wptKeyserverSearchDlg.cpp:48
+#: Src/wptImportList.cpp:352 Src/wptKeylist.cpp:536 Src/wptKeylist.cpp:545
+#: Src/wptKeyManagerDlg.cpp:845 Src/wptKeyserverSearchDlg.cpp:48
#: Src/wptSigList.cpp:51 Src/wptVerifyList.cpp:91 Src/wptVerifyList.cpp:100
msgid "User ID"
msgstr "Benutzerkennung"
-#: Src/wptImportList.cpp:353 Src/wptKeylist.cpp:528 Src/wptKeylist.cpp:538
+#: Src/wptImportList.cpp:353 Src/wptKeylist.cpp:538 Src/wptKeylist.cpp:548
#: Src/wptKeyserverSearchDlg.cpp:45
msgid "Size"
msgstr "Größe"
-#: Src/wptImportList.cpp:354 Src/wptKeyEditDlgs.cpp:928 Src/wptKeylist.cpp:527
-#: Src/wptKeylist.cpp:536 Src/wptKeyRevokersDlg.cpp:51
+#: Src/wptImportList.cpp:354 Src/wptKeyEditDlgs.cpp:949 Src/wptKeylist.cpp:537
+#: Src/wptKeylist.cpp:546 Src/wptKeyRevokersDlg.cpp:51
#: Src/wptKeyserverSearchDlg.cpp:46 Src/wptSigList.cpp:55
#: Src/wptVerifyList.cpp:99
msgid "Key ID"
msgstr "Schlüssel-ID"
-#: Src/wptImportList.cpp:355 Src/wptKeyEditDlgs.cpp:929
-#: Src/wptKeyEditDlgs.cpp:1034 Src/wptKeylist.cpp:542
+#: Src/wptImportList.cpp:355 Src/wptKeyEditDlgs.cpp:950
+#: Src/wptKeyEditDlgs.cpp:1055 Src/wptKeylist.cpp:552
#: Src/wptKeyserverSearchDlg.cpp:47 Src/wptSigList.cpp:54
msgid "Creation"
msgstr "Erstellung"
-#: Src/wptImportList.cpp:356 Src/wptKeylist.cpp:537
+#: Src/wptImportList.cpp:356 Src/wptKeylist.cpp:547
msgid "Type"
msgstr "Typ"
@@ -2002,24 +1983,24 @@
msgid "Key Cache"
msgstr "Schlüssel Cache"
-#: Src/wptKeyEditDlgs.cpp:183
+#: Src/wptKeyEditDlgs.cpp:179
msgid "Ultimate"
msgstr "Absolut"
-#: Src/wptKeyEditDlgs.cpp:198 Src/wptKeyEditDlgs.cpp:999
-#: Src/wptKeylist.cpp:222 Src/wptKeylist.cpp:324 Src/wptKeylist.cpp:884
+#: Src/wptKeyEditDlgs.cpp:194 Src/wptKeyEditDlgs.cpp:1020
+#: Src/wptKeylist.cpp:234 Src/wptKeylist.cpp:336 Src/wptKeylist.cpp:894
msgid "Never"
msgstr "Niemals"
-#: Src/wptKeyEditDlgs.cpp:211 Src/wptKeyEditDlgs.cpp:1006
+#: Src/wptKeyEditDlgs.cpp:207 Src/wptKeyEditDlgs.cpp:1027
msgid "OK"
msgstr "OK"
-#: Src/wptKeyEditDlgs.cpp:233
+#: Src/wptKeyEditDlgs.cpp:229
msgid "user ID"
msgstr "Benutzerkennung"
-#: Src/wptKeyEditDlgs.cpp:234
+#: Src/wptKeyEditDlgs.cpp:230
#, c-format
msgid ""
"Could not get key information for: \"%s\":\n"
@@ -2029,7 +2010,7 @@
"%s"
# c:\oss\winpt-gpgme\src\wptKeyEditDlgs.cpp:258
-#: Src/wptKeyEditDlgs.cpp:269
+#: Src/wptKeyEditDlgs.cpp:285
msgid ""
"Remember that the image is stored within your public key. If you use a very "
"large picture, your key will become very large as well! Keeping the image "
@@ -2040,7 +2021,7 @@
"240x288 grosses Bild ist eine gute Größe."
# c:\oss\winpt-gpgme\src\wptKeyEditDlgs.cpp:259
-#: Src/wptKeyEditDlgs.cpp:270
+#: Src/wptKeyEditDlgs.cpp:286
msgid ""
"Pick an image to use for your photo ID.\n"
"The image must be a JPEG file."
@@ -2048,34 +2029,39 @@
"Bitte ein Bild auswaehlen fuer die photo ID.\n"
"Das Bild muss eine JPEG Datei sein."
-#: Src/wptKeyEditDlgs.cpp:271 Src/wptKeyEditDlgs.cpp:365
+#: Src/wptKeyEditDlgs.cpp:287 Src/wptKeyEditDlgs.cpp:387
#: Src/wptKeysignDlg.cpp:257
msgid "Passphrase"
msgstr "Passwort"
-#: Src/wptKeyEditDlgs.cpp:273
+#: Src/wptKeyEditDlgs.cpp:289
msgid "Add Photo ID"
msgstr "Photo ID hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:289
+#: Src/wptKeyEditDlgs.cpp:305
msgid "Select Image File"
msgstr "Bilddatei auswählen"
-#: Src/wptKeyEditDlgs.cpp:289
+#: Src/wptKeyEditDlgs.cpp:306
msgid "JPEG Files (*.jpg, *.jpeg)"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:296 Src/wptKeyRevokeDlg.cpp:135
-msgid "Please enter a file name."
-msgstr "Bitte Dateinamen eingeben."
-
-#: Src/wptKeyEditDlgs.cpp:296 Src/wptKeyEditDlgs.cpp:302
-#: Src/wptKeyEditDlgs.cpp:308 Src/wptKeyEditDlgs.cpp:322
-#: Src/wptKeyEditDlgs.cpp:819
+#: Src/wptKeyEditDlgs.cpp:309 Src/wptKeyEditDlgs.cpp:319
+#: Src/wptKeyEditDlgs.cpp:325 Src/wptKeyEditDlgs.cpp:331
+#: Src/wptKeyEditDlgs.cpp:343 Src/wptKeyEditDlgs.cpp:840
msgid "Add Photo"
msgstr "Foto hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:300
+#: Src/wptKeyEditDlgs.cpp:310
+#, c-format
+msgid "'%s' is not a valid JPEG file."
+msgstr "'%s' is keine gültige JPEG Datei."
+
+#: Src/wptKeyEditDlgs.cpp:319 Src/wptKeyRevokeDlg.cpp:135
+msgid "Please enter a file name."
+msgstr "Bitte Dateinamen eingeben."
+
+#: Src/wptKeyEditDlgs.cpp:323
msgid ""
"The JPEG is really large.\n"
"Are you sure you want to use it?"
@@ -2083,146 +2069,146 @@
"Das JPEG ist sehr groß.\n"
"Sind Sie sicher, dass Sie es benutzen wollen?"
-#: Src/wptKeyEditDlgs.cpp:308
+#: Src/wptKeyEditDlgs.cpp:331
msgid "Please enter a passphrase."
msgstr "Bitte ein Passwort eingeben."
-#: Src/wptKeyEditDlgs.cpp:327
+#: Src/wptKeyEditDlgs.cpp:348
msgid "Photo successfully added."
msgstr "Foto erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:327 Src/wptKeyEditDlgs.cpp:405
-#: Src/wptKeyEditDlgs.cpp:488 Src/wptKeyEditDlgs.cpp:652
-#: Src/wptKeyEditDlgs.cpp:1359 Src/wptKeyEditDlgs.cpp:1425
-#: Src/wptKeyEditDlgs.cpp:1505 Src/wptKeyEditDlgs.cpp:1678
+#: Src/wptKeyEditDlgs.cpp:349 Src/wptKeyEditDlgs.cpp:427
+#: Src/wptKeyEditDlgs.cpp:509 Src/wptKeyEditDlgs.cpp:673
+#: Src/wptKeyEditDlgs.cpp:1380 Src/wptKeyEditDlgs.cpp:1446
+#: Src/wptKeyEditDlgs.cpp:1526 Src/wptKeyEditDlgs.cpp:1700
#: Src/wptKeygenDlg.cpp:547 Src/wptKeygenDlg.cpp:663
-#: Src/wptKeyPropsDlg.cpp:340 Src/wptKeyRevokeDlg.cpp:164
+#: Src/wptKeyPropsDlg.cpp:338 Src/wptKeyRevokeDlg.cpp:164
#: Src/wptOwnertrustDlg.cpp:124 Src/wptOwnertrustDlg.cpp:136
msgid "GnuPG Status"
msgstr "GnuPG-Status"
# c:\oss\winpt-gpgme\src\wptKeyEditDlgs.cpp:350
-#: Src/wptKeyEditDlgs.cpp:363
+#: Src/wptKeyEditDlgs.cpp:385
msgid "Appointing a key as designated revoker cannot be undone."
msgstr ""
"Hinzufügen eines \"Revokers\" kann nicht mehr\n"
"rückgängig gemacht werden."
-#: Src/wptKeyEditDlgs.cpp:364
+#: Src/wptKeyEditDlgs.cpp:386
msgid "Public key"
msgstr "öff. Schlüssel"
-#: Src/wptKeyEditDlgs.cpp:367 Src/wptKeyEditDlgs.cpp:383
-#: Src/wptKeyEditDlgs.cpp:389 Src/wptKeyEditDlgs.cpp:400
-#: Src/wptKeyEditDlgs.cpp:832
+#: Src/wptKeyEditDlgs.cpp:389 Src/wptKeyEditDlgs.cpp:405
+#: Src/wptKeyEditDlgs.cpp:411 Src/wptKeyEditDlgs.cpp:422
+#: Src/wptKeyEditDlgs.cpp:853
msgid "Add Revoker"
msgstr "\"Revoker\" hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:383 Src/wptKeyEditDlgs.cpp:1389
-#: Src/wptKeyEditDlgs.cpp:1442 Src/wptKeyEditDlgs.cpp:1484
-#: Src/wptKeyEditDlgs.cpp:1622 Src/wptKeyEditDlgs.cpp:1651
+#: Src/wptKeyEditDlgs.cpp:405 Src/wptKeyEditDlgs.cpp:1410
+#: Src/wptKeyEditDlgs.cpp:1463 Src/wptKeyEditDlgs.cpp:1505
+#: Src/wptKeyEditDlgs.cpp:1644 Src/wptKeyEditDlgs.cpp:1673
msgid "Please select a user ID."
msgstr "Bitte eine Benutzerkennung wählen."
-#: Src/wptKeyEditDlgs.cpp:389 Src/wptKeygenDlg.cpp:475
+#: Src/wptKeyEditDlgs.cpp:411 Src/wptKeygenDlg.cpp:475
#: Src/wptKeyRevokeDlg.cpp:143
msgid "Please enter the passphrase."
msgstr "Bitte das Passwort eingeben."
-#: Src/wptKeyEditDlgs.cpp:405
+#: Src/wptKeyEditDlgs.cpp:427
msgid "Revoker successfully addded."
msgstr "Widerruf erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:437
+#: Src/wptKeyEditDlgs.cpp:458
msgid "Add new User ID"
msgstr "Neue Benutzerkennung hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:439
+#: Src/wptKeyEditDlgs.cpp:460
msgid "&Email"
msgstr "&E-Mail"
-#: Src/wptKeyEditDlgs.cpp:440
+#: Src/wptKeyEditDlgs.cpp:461
msgid "&Comment"
msgstr "&Kommentar"
-#: Src/wptKeyEditDlgs.cpp:456
+#: Src/wptKeyEditDlgs.cpp:477
msgid "Please enter a name (min. 5 chars.)"
msgstr "Bitte Namen eingeben (mindestens 5 Zeichen)"
-#: Src/wptKeyEditDlgs.cpp:456 Src/wptKeyEditDlgs.cpp:460
-#: Src/wptKeyEditDlgs.cpp:465 Src/wptKeyEditDlgs.cpp:469
-#: Src/wptKeyEditDlgs.cpp:486
+#: Src/wptKeyEditDlgs.cpp:477 Src/wptKeyEditDlgs.cpp:481
+#: Src/wptKeyEditDlgs.cpp:486 Src/wptKeyEditDlgs.cpp:490
+#: Src/wptKeyEditDlgs.cpp:507
msgid "UserID"
msgstr "Benutzerkennung"
-#: Src/wptKeyEditDlgs.cpp:460
+#: Src/wptKeyEditDlgs.cpp:481
msgid ""
"Please enter the email address in the email field and not in the name field"
msgstr ""
"Bitte E-Mail-Adresse in das E-Mail-Feld und nicht in das Namensfeld eingeben"
-#: Src/wptKeyEditDlgs.cpp:465
+#: Src/wptKeyEditDlgs.cpp:486
msgid "Please enter an email address."
msgstr "Bitte eine E-Mail-Adresse eingeben."
-#: Src/wptKeyEditDlgs.cpp:469
+#: Src/wptKeyEditDlgs.cpp:490
msgid "Invalid email address."
msgstr "Ungültige E-Mail-Adresse"
-#: Src/wptKeyEditDlgs.cpp:488
+#: Src/wptKeyEditDlgs.cpp:509
msgid "user ID successfully added."
msgstr "Benutzerkennung erfolgreich hinzugefügt"
-#: Src/wptKeyEditDlgs.cpp:571 Src/wptKeyEditDlgs.cpp:768
+#: Src/wptKeyEditDlgs.cpp:592 Src/wptKeyEditDlgs.cpp:789
msgid "Add new Subkey"
msgstr "Neuen Unterschlüssel hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:572
+#: Src/wptKeyEditDlgs.cpp:593
msgid "Key type"
msgstr "Schlüssel Typ"
-#: Src/wptKeyEditDlgs.cpp:573
+#: Src/wptKeyEditDlgs.cpp:594
msgid "Size in bits"
msgstr "Größe in Bits"
-#: Src/wptKeyEditDlgs.cpp:574
+#: Src/wptKeyEditDlgs.cpp:595
msgid "Key expiration"
msgstr "Key Ablaufdatum"
-#: Src/wptKeyEditDlgs.cpp:617
+#: Src/wptKeyEditDlgs.cpp:638
msgid "Please select one entry."
msgstr "Bitte einen Eintrag wählen."
-#: Src/wptKeyEditDlgs.cpp:617 Src/wptKeyEditDlgs.cpp:622
-#: Src/wptKeyEditDlgs.cpp:650 Src/wptKeyEditDlgs.cpp:752
+#: Src/wptKeyEditDlgs.cpp:638 Src/wptKeyEditDlgs.cpp:643
+#: Src/wptKeyEditDlgs.cpp:671 Src/wptKeyEditDlgs.cpp:773
msgid "Add Subkey"
msgstr "Unterschlüssel hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:622
+#: Src/wptKeyEditDlgs.cpp:643
msgid "DSS uses a fixed keysize of 1024. Size changed."
msgstr "DSS benötigt feste Schlüssellänge von 1024. Größe geändert."
-#: Src/wptKeyEditDlgs.cpp:652
+#: Src/wptKeyEditDlgs.cpp:673
msgid "Subkey successfully added."
msgstr "Unterschlüssel erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:680 Src/wptKeyEditDlgs.cpp:752
-#: Src/wptKeyEditDlgs.cpp:819 Src/wptKeyEditDlgs.cpp:832
-#: Src/wptKeyEditDlgs.cpp:872 Src/wptKeyEditDlgs.cpp:1247
-#: Src/wptKeyEditDlgs.cpp:1320 Src/wptKeyEditDlgs.cpp:1379
-#: Src/wptKeyManagerDlg.cpp:1191
+#: Src/wptKeyEditDlgs.cpp:701 Src/wptKeyEditDlgs.cpp:773
+#: Src/wptKeyEditDlgs.cpp:840 Src/wptKeyEditDlgs.cpp:853
+#: Src/wptKeyEditDlgs.cpp:893 Src/wptKeyEditDlgs.cpp:1268
+#: Src/wptKeyEditDlgs.cpp:1341 Src/wptKeyEditDlgs.cpp:1400
+#: Src/wptKeyManagerDlg.cpp:1274
msgid "There is no secret key available!"
msgstr "Kein geheimer Schlüssel vorhanden!"
-#: Src/wptKeyEditDlgs.cpp:680 Src/wptKeyEditDlgs.cpp:696
+#: Src/wptKeyEditDlgs.cpp:701 Src/wptKeyEditDlgs.cpp:717
msgid "Add user ID"
msgstr "Benutzerkennung hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:804
+#: Src/wptKeyEditDlgs.cpp:825
msgid "Preferred keyserver successfully set."
msgstr "Bevorzugter Keyserver wurde erfolgreich gesetzt."
-#: Src/wptKeyEditDlgs.cpp:877
+#: Src/wptKeyEditDlgs.cpp:898
msgid ""
"Cannot change passphrase because the key\n"
"is protected with the IDEA encryption algorithm."
@@ -2230,15 +2216,15 @@
"Kann das Passwort das Schlüssels nicht ändern, da der \n"
"Schlüssel mit dem IDEA Verschlüsselungs-Algorithmus gesichert ist."
-#: Src/wptKeyEditDlgs.cpp:884
+#: Src/wptKeyEditDlgs.cpp:905
msgid "Current (old) Passphrase"
msgstr "Aktuelles (altes) Passwort"
-#: Src/wptKeyEditDlgs.cpp:888
+#: Src/wptKeyEditDlgs.cpp:909
msgid "New Passphrase"
msgstr "Neues Passwort"
-#: Src/wptKeyEditDlgs.cpp:895 Src/wptKeygenDlg.cpp:503
+#: Src/wptKeyEditDlgs.cpp:916 Src/wptKeygenDlg.cpp:503
#: Src/wptPassphraseDlg.cpp:175
msgid ""
"The passphrase contains 8-bit characters.\n"
@@ -2247,43 +2233,43 @@
"Das Passwort enthält 8-bit Zeichen.\n"
"Es ist nicht zu empfehlen zeichensatzspezifische Zeichen zu benutzen."
-#: Src/wptKeyEditDlgs.cpp:910
+#: Src/wptKeyEditDlgs.cpp:931
msgid "Change Passwd"
msgstr "Passwort ändern"
-#: Src/wptKeyEditDlgs.cpp:912
+#: Src/wptKeyEditDlgs.cpp:933
msgid "Passphrase successfully changed."
msgstr "Passwort erfolgreich geändert."
-#: Src/wptKeyEditDlgs.cpp:927
+#: Src/wptKeyEditDlgs.cpp:948
msgid "Description"
msgstr "Beschreibung"
-#: Src/wptKeyEditDlgs.cpp:930
+#: Src/wptKeyEditDlgs.cpp:951
msgid "Expires"
msgstr "Verfällt"
-#: Src/wptKeyEditDlgs.cpp:944 Src/wptKeyEditDlgs.cpp:1040
+#: Src/wptKeyEditDlgs.cpp:965 Src/wptKeyEditDlgs.cpp:1061
msgid "Could not find key."
msgstr "Konnte Schlüssel nicht finden"
-#: Src/wptKeyEditDlgs.cpp:949
+#: Src/wptKeyEditDlgs.cpp:970
msgid "No subkey(s) found."
msgstr "Kein(e) Unterschlüssel gefunden."
-#: Src/wptKeyEditDlgs.cpp:1031 Src/wptKeylist.cpp:530 Src/wptKeylist.cpp:540
+#: Src/wptKeyEditDlgs.cpp:1052 Src/wptKeylist.cpp:540 Src/wptKeylist.cpp:550
msgid "Validity"
msgstr "Gültigkeit"
-#: Src/wptKeyEditDlgs.cpp:1033
+#: Src/wptKeyEditDlgs.cpp:1054
msgid "Email"
msgstr "Email"
-#: Src/wptKeyEditDlgs.cpp:1046
+#: Src/wptKeyEditDlgs.cpp:1067
msgid "No user ID(s) found."
msgstr "Keine Benutzerkennung(en) gefunden."
-#: Src/wptKeyEditDlgs.cpp:1161
+#: Src/wptKeyEditDlgs.cpp:1182
msgid ""
"ADDUID \t\tadd a user ID\r\n"
"ADDPHOTO \t\tadd a photo ID\r\n"
@@ -2318,19 +2304,19 @@
"ENABLE \t\tSchlüssel aktivieren\r\n"
"SHOWPHOTO \t\tFoto ID anzeigen\r\n"
-#: Src/wptKeyEditDlgs.cpp:1182
+#: Src/wptKeyEditDlgs.cpp:1203
msgid "Key Edit Help"
msgstr "Hilfe zum Schlüssel bearbeiten"
-#: Src/wptKeyEditDlgs.cpp:1198
+#: Src/wptKeyEditDlgs.cpp:1219
msgid "Primary key can not be deleted!"
msgstr "Primärer Schlüssel kann nicht gelöscht werden!"
-#: Src/wptKeyEditDlgs.cpp:1206
+#: Src/wptKeyEditDlgs.cpp:1227
msgid "Primary subkey can not be deleted!"
msgstr "Primärer Unterschlüssel kann nicht gelöscht werden!"
-#: Src/wptKeyEditDlgs.cpp:1212
+#: Src/wptKeyEditDlgs.cpp:1233
#, c-format
msgid ""
"\"Subkey %s.\"\n"
@@ -2347,34 +2333,34 @@
"\n"
"Möchten Sie diesen Unterschlüssel wirklich löschen?"
-#: Src/wptKeyEditDlgs.cpp:1224
+#: Src/wptKeyEditDlgs.cpp:1245
msgid "Delete Subkey"
msgstr "Unterschlüssel löschen"
-#: Src/wptKeyEditDlgs.cpp:1228
+#: Src/wptKeyEditDlgs.cpp:1249
msgid "Subkey successfully deleted."
msgstr "Unterschlüssel erfolgreich gelöscht."
-#: Src/wptKeyEditDlgs.cpp:1259
+#: Src/wptKeyEditDlgs.cpp:1280
msgid ""
"Key already expired.\n"
"\n"
"Do you want to change the expiration date?"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1268 Src/wptKeyEditDlgs.cpp:1271
+#: Src/wptKeyEditDlgs.cpp:1289 Src/wptKeyEditDlgs.cpp:1292
msgid "Key Expiration Date"
msgstr "Ablaufdatum"
-#: Src/wptKeyEditDlgs.cpp:1292
+#: Src/wptKeyEditDlgs.cpp:1313
msgid "Expire Subkey"
msgstr "Untschlüssel Ablauf"
-#: Src/wptKeyEditDlgs.cpp:1298
+#: Src/wptKeyEditDlgs.cpp:1319
msgid "Subkey expire date successfully set."
msgstr "Unterschlüsselablaufdatum erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:1329
+#: Src/wptKeyEditDlgs.cpp:1350
msgid ""
"No subkeys were found, if you want to revoke the\n"
"whole key, please use the Key Manager command directly.\n"
@@ -2386,31 +2372,31 @@
"\n"
"Diese Funktion ist nur für das Widerrufen einzelner Unterschlüssel gedacht."
-#: Src/wptKeyEditDlgs.cpp:1338
+#: Src/wptKeyEditDlgs.cpp:1359
msgid "Key already revoked."
msgstr "Der Schlüssel ist bereits widerrufen worden!"
-#: Src/wptKeyEditDlgs.cpp:1355
+#: Src/wptKeyEditDlgs.cpp:1376
msgid "Revoke Subkey"
msgstr "Unterschlüssel widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1359
+#: Src/wptKeyEditDlgs.cpp:1380
msgid "Subkey successfully revoked."
msgstr "Unterschlüssel erfolgreich widerrufen."
-#: Src/wptKeyEditDlgs.cpp:1379
+#: Src/wptKeyEditDlgs.cpp:1400
msgid "Revoke user ID"
msgstr "Benutzerkennung widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1384
+#: Src/wptKeyEditDlgs.cpp:1405
msgid "Key has only one user ID."
msgstr "Schlüssel hat nur eine Benutzerkennung."
-#: Src/wptKeyEditDlgs.cpp:1395
+#: Src/wptKeyEditDlgs.cpp:1416
msgid "This user ID has been already revoked."
msgstr "Diese Benutzerkennung wurde bereits widerrufen."
-#: Src/wptKeyEditDlgs.cpp:1400
+#: Src/wptKeyEditDlgs.cpp:1421
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -2420,39 +2406,39 @@
"Benutzerkennung %s.\r\n"
"Diese Benutzerkennung wirklich löschen?"
-#: Src/wptKeyEditDlgs.cpp:1421
+#: Src/wptKeyEditDlgs.cpp:1442
msgid "Revoke Signature"
msgstr "Signatur widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1425
+#: Src/wptKeyEditDlgs.cpp:1446
msgid "User ID successfully revoked"
msgstr "Benutzerkennung erfolgreich widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1502
+#: Src/wptKeyEditDlgs.cpp:1523
msgid "Primary"
msgstr "Primär"
-#: Src/wptKeyEditDlgs.cpp:1505
+#: Src/wptKeyEditDlgs.cpp:1526
msgid "User ID successfully flagged"
msgstr "Benutzerkennung erfolgreich gekennzeichnet"
-#: Src/wptKeyEditDlgs.cpp:1589
+#: Src/wptKeyEditDlgs.cpp:1611
msgid "No preferences available."
msgstr "Keine Präferenzen verfübar."
-#: Src/wptKeyEditDlgs.cpp:1595 Src/wptKeyeditSetPrefDlg.cpp:116
-msgid "Key Preferences"
-msgstr "Schlüsseleinstellungen"
-
-#: Src/wptKeyEditDlgs.cpp:1596
+#: Src/wptKeyEditDlgs.cpp:1617
msgid "MDC feature"
msgstr "Unterstützt MDC"
-#: Src/wptKeyEditDlgs.cpp:1647
+#: Src/wptKeyEditDlgs.cpp:1619 Src/wptKeyeditSetPrefDlg.cpp:116
+msgid "Key Preferences"
+msgstr "Schlüsseleinstellungen"
+
+#: Src/wptKeyEditDlgs.cpp:1669
msgid "Primary user ID can not be deleted!"
msgstr "Primäre Benutzerkennung kann nicht gelöscht werden!"
-#: Src/wptKeyEditDlgs.cpp:1657
+#: Src/wptKeyEditDlgs.cpp:1679
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -2462,56 +2448,56 @@
"Benutzerkennung %s.\r\n"
"Diese Benutzerkennung wirklich löschen?"
-#: Src/wptKeyEditDlgs.cpp:1674
+#: Src/wptKeyEditDlgs.cpp:1696
msgid "Delete user ID"
msgstr "Benutzerkennung löschen"
-#: Src/wptKeyEditDlgs.cpp:1678
+#: Src/wptKeyEditDlgs.cpp:1700
msgid "User ID successfully deleted"
msgstr "Benutzerkennung erfolgreich gelöscht"
-#: Src/wptKeyEditDlgs.cpp:1760
+#: Src/wptKeyEditDlgs.cpp:1782
msgid "Could not set subkey window procedure."
msgstr "Konnte \"subkey window procedure\" nicht setzen."
-#: Src/wptKeyEditDlgs.cpp:1770
+#: Src/wptKeyEditDlgs.cpp:1792
msgid "Could not set user ID window procedure."
msgstr "Konnte \"userID window procedure\" nicht setzen."
# c:\oss\winpt-gpgme\src\wptKeyEditDlgs.cpp:1739
-#: Src/wptKeyEditDlgs.cpp:1778
+#: Src/wptKeyEditDlgs.cpp:1800
msgid "Command>"
msgstr "Kommando>"
-#: Src/wptKeyEditDlgs.cpp:1811
+#: Src/wptKeyEditDlgs.cpp:1832
msgid "Please select a command."
msgstr "Bitte einen Befehl auswählen."
-#: Src/wptKeyEditDlgs.cpp:1816
+#: Src/wptKeyEditDlgs.cpp:1837
msgid "This command cannot be used with PGP 2 (v3) keys.\n"
msgstr "Dieser Befehl kann mit PGP2 (v3) Schlüsseln nicht verwendet werden.\n"
-#: Src/wptKeyEditOwnertrustDlg.cpp:55 Src/wptKeyPropsDlg.cpp:330
+#: Src/wptKeyEditOwnertrustDlg.cpp:55 Src/wptKeyPropsDlg.cpp:328
msgid "Change Ownertrust"
msgstr "Besitzervertrauen ändern"
-#: Src/wptKeyEditOwnertrustDlg.cpp:57 Src/wptKeyPropsDlg.cpp:61
+#: Src/wptKeyEditOwnertrustDlg.cpp:57 Src/wptKeyPropsDlg.cpp:60
msgid "Don't know"
msgstr "Ich weiss nicht"
-#: Src/wptKeyEditOwnertrustDlg.cpp:58 Src/wptKeyPropsDlg.cpp:62
+#: Src/wptKeyEditOwnertrustDlg.cpp:58 Src/wptKeyPropsDlg.cpp:61
msgid "I do NOT trust"
msgstr "Kein Vertrauen"
-#: Src/wptKeyEditOwnertrustDlg.cpp:59 Src/wptKeyPropsDlg.cpp:63
+#: Src/wptKeyEditOwnertrustDlg.cpp:59 Src/wptKeyPropsDlg.cpp:62
msgid "I trust marginally"
msgstr "Geringes Vertrauen"
-#: Src/wptKeyEditOwnertrustDlg.cpp:60 Src/wptKeyPropsDlg.cpp:64
+#: Src/wptKeyEditOwnertrustDlg.cpp:60 Src/wptKeyPropsDlg.cpp:63
msgid "I trust fully"
msgstr "Volles Vertrauen"
-#: Src/wptKeyEditOwnertrustDlg.cpp:61 Src/wptKeyPropsDlg.cpp:66
+#: Src/wptKeyEditOwnertrustDlg.cpp:61 Src/wptKeyPropsDlg.cpp:65
msgid "I trust ultimately"
msgstr "Absolutes Vertrauen"
@@ -2530,8 +2516,8 @@
msgstr "Bitte wählen Sie einen Eintrag."
#: Src/wptKeyEditOwnertrustDlg.cpp:88 Src/wptKeyEditOwnertrustDlg.cpp:95
-#: Src/wptKeyEditOwnertrustDlg.cpp:104 Src/wptKeyManagerDlg.cpp:782
-#: Src/wptKeyManagerDlg.cpp:1445 Src/wptKeyPropsDlg.cpp:276
+#: Src/wptKeyEditOwnertrustDlg.cpp:104 Src/wptKeyManagerDlg.cpp:839
+#: Src/wptKeyManagerDlg.cpp:1528 Src/wptKeyPropsDlg.cpp:275
#: Src/wptOwnertrustDlg.cpp:97 Src/wptOwnertrustDlg.cpp:121
#: Src/wptOwnertrustDlg.cpp:133
msgid "Ownertrust"
@@ -2555,7 +2541,7 @@
#: Src/wptKeygenDlg.cpp:462 Src/wptKeygenDlg.cpp:476 Src/wptKeygenDlg.cpp:483
#: Src/wptKeygenDlg.cpp:492 Src/wptKeygenDlg.cpp:497 Src/wptKeygenDlg.cpp:505
#: Src/wptKeygenDlg.cpp:544 Src/wptKeygenDlg.cpp:637
-#: Src/wptKeyManagerDlg.cpp:1313 Src/wptPassphraseDlg.cpp:95
+#: Src/wptKeyManagerDlg.cpp:1396 Src/wptPassphraseDlg.cpp:95
msgid "Key Generation"
msgstr "Schlüsselerzeugung"
@@ -2743,7 +2729,7 @@
#: Src/wptKeygenDlg.cpp:596 Src/wptKeygenDlg.cpp:618 Src/wptKeygenDlg.cpp:623
#: Src/wptKeygenDlg.cpp:629 Src/wptKeygenDlg.cpp:634 Src/wptKeygenDlg.cpp:658
-#: Src/wptKeyManagerDlg.cpp:1339
+#: Src/wptKeyManagerDlg.cpp:1422
msgid "Key Generation Wizard"
msgstr "Schlüsselerzeugungs-Assistent"
@@ -2803,59 +2789,58 @@
msgid "No keys updated."
msgstr "Kein(e) Schlüssel aktualisiert."
-#: Src/wptKeylist.cpp:236
+#: Src/wptKeylist.cpp:248
msgid "Key Pair"
msgstr "Schlüsselpaar"
-#: Src/wptKeylist.cpp:238
+#: Src/wptKeylist.cpp:250
msgid "Key Pair (Card)"
msgstr "Schlüsselpaar (Karte)"
-#: Src/wptKeylist.cpp:239
+#: Src/wptKeylist.cpp:251
msgid "Public Key"
msgstr "Öffentlicher Schlüssel"
-#: Src/wptKeylist.cpp:322 Src/wptKeylist.cpp:885
+#: Src/wptKeylist.cpp:334 Src/wptKeylist.cpp:895
msgid "None"
msgstr "Keine"
-#: Src/wptKeylist.cpp:326
-#, fuzzy
+#: Src/wptKeylist.cpp:338
msgid "Marginal"
-msgstr "E-Mail"
+msgstr "Marginal"
# c:\oss\winpt-gpgme\src\wptKeylist.cpp:492
-#: Src/wptKeylist.cpp:329 Src/wptKeylist.cpp:490
+#: Src/wptKeylist.cpp:341 Src/wptKeylist.cpp:500
msgid "Full"
msgstr "Voll"
-#: Src/wptKeylist.cpp:367 Src/wptKeyPropsDlg.cpp:150
+#: Src/wptKeylist.cpp:378 Src/wptKeyPropsDlg.cpp:149
msgid "Disabled"
msgstr "Inaktiv"
-#: Src/wptKeylist.cpp:529 Src/wptKeylist.cpp:539
+#: Src/wptKeylist.cpp:539 Src/wptKeylist.cpp:549
msgid "Cipher"
msgstr "Cipher"
-#: Src/wptKeylist.cpp:541 Src/wptVerifyList.cpp:90 Src/wptVerifyList.cpp:98
+#: Src/wptKeylist.cpp:551 Src/wptVerifyList.cpp:90 Src/wptVerifyList.cpp:98
msgid "Trust"
msgstr "Vertrauen"
-#: Src/wptKeylist.cpp:707 Src/wptPassphraseCB.cpp:110
+#: Src/wptKeylist.cpp:717 Src/wptPassphraseCB.cpp:110
#: Src/wptVerifyList.cpp:181
msgid "Invalid User ID"
msgstr "Ungültige Benutzerkennung"
-#: Src/wptKeylist.cpp:882 Src/wptKeyPropsDlg.cpp:67 Src/wptVerifyList.cpp:159
+#: Src/wptKeylist.cpp:892 Src/wptKeyPropsDlg.cpp:66 Src/wptVerifyList.cpp:159
#: Src/wptVerifyList.cpp:235
msgid "Unknown"
msgstr "Unbekannt"
-#: Src/wptKeylist.cpp:883
+#: Src/wptKeylist.cpp:893
msgid "Undefined"
msgstr ""
-#: Src/wptKeylist.cpp:926
+#: Src/wptKeylist.cpp:936
#, c-format
msgid ""
"It is NOT certain that the key belongs to the person\n"
@@ -2870,11 +2855,11 @@
"\n"
"\"%s\" benutzen?"
-#: Src/wptKeylist.cpp:934 Src/wptKeylist.cpp:1010
+#: Src/wptKeylist.cpp:944 Src/wptKeylist.cpp:1020
msgid "Recipients"
msgstr "Empfänger"
-#: Src/wptKeylist.cpp:1009
+#: Src/wptKeylist.cpp:1019
#, c-format
msgid ""
"KeyID %s.\n"
@@ -2883,11 +2868,11 @@
"Schlüssel ID %s.\n"
"Wollen Sie wirklich einen widerrufenen Schlüssel exportieren?"
-#: Src/wptKeylist.cpp:1111
+#: Src/wptKeylist.cpp:1121
msgid "Secret Key List"
msgstr "Liste der geheimen Schlüssel"
-#: Src/wptKeyManager.cpp:141
+#: Src/wptKeyManager.cpp:165
msgid ""
"This key has expired!\n"
"Key check failed."
@@ -2895,7 +2880,7 @@
"Dieser Schlüssel ist abgelaufen!\n"
"Schlüsselüberprüfung fehlgeschlagen."
-#: Src/wptKeyManager.cpp:146
+#: Src/wptKeyManager.cpp:170
msgid ""
"This key has been revoked by its owner!\n"
"Key check failed."
@@ -2903,34 +2888,34 @@
"Dieser Schlüssel wurde vom Besitzer widerrufen!Schlüsselüberprüfung "
"fehlgeschlagen."
-#: Src/wptKeyManager.cpp:195
+#: Src/wptKeyManager.cpp:220
msgid "Key status changed."
msgstr "Schlüsselstatus geändert"
-#: Src/wptKeyManager.cpp:316
+#: Src/wptKeyManager.cpp:341
msgid "Only one secret key can be exported."
msgstr "Nur der geheime Schlüssel kann exportiert werden."
-#: Src/wptKeyManager.cpp:327
+#: Src/wptKeyManager.cpp:352
#, c-format
msgid "Secret key successfully saved in '%s'."
msgstr "Geheimer Schlüssel gespeichert in '%s'."
-#: Src/wptKeyManager.cpp:369
+#: Src/wptKeyManager.cpp:394
#, c-format
msgid "Key(s) successfully saved in '%s'."
msgstr "Schlüssel erfolgreich in '%s' gespeichert."
-#: Src/wptKeyManager.cpp:375
+#: Src/wptKeyManager.cpp:400
#, c-format
msgid "Could not save data to '%s'."
msgstr "Konnte Daten nicht in '%s' speichern."
-#: Src/wptKeyManager.cpp:426
+#: Src/wptKeyManager.cpp:451
msgid "No valid OpenPGP keys found."
msgstr "Keine gültigen OpenPGP-Schlüssel gefunden."
-#: Src/wptKeyManager.cpp:431
+#: Src/wptKeyManager.cpp:456
msgid ""
"The key you want to import is dash escacped.\n"
"Do you want to extract the key?"
@@ -2938,52 +2923,50 @@
"Der Import-Schlüssel ist beschädigt.\n"
"Möchten Sie den Schlüssel extrahieren?"
-#: Src/wptKeyManager.cpp:437
+#: Src/wptKeyManager.cpp:462
msgid "Cannot import dash escaped OpenPGP keys."
msgstr "Kann keine beschädigten OpenPGP-Schlüssel importieren."
-#: Src/wptKeyManager.cpp:461 Src/wptKeyManager.cpp:472
-#: Src/wptKeyManager.cpp:486
+#: Src/wptKeyManager.cpp:486 Src/wptKeyManager.cpp:497
+#: Src/wptKeyManager.cpp:511
msgid "Key Import HTTP"
msgstr "Schlüssel Import HTTP"
# c:\oss\winpt-gpgme\src\wptKeyManager.cpp:448
-#: Src/wptKeyManager.cpp:461
+#: Src/wptKeyManager.cpp:486
#, c-format
msgid "Invalid HTTP URL: %s"
msgstr "Ungültige HTTP URL: %s"
-#: Src/wptKeyManager.cpp:512
+#: Src/wptKeyManager.cpp:537
msgid "File Import"
msgstr "Dateiimport"
-#: Src/wptKeyManager.cpp:523
+#: Src/wptKeyManager.cpp:548
msgid "Could not read key-data from file."
msgstr "Konnte Schlüsseldaten nicht aus Datei lesen."
-#: Src/wptKeyManager.cpp:590
+#: Src/wptKeyManager.cpp:617
msgid "Do you really want to confirm each key?"
msgstr "Wollen Sie wirklich jeden Schlüssel bestätigen?"
-#: Src/wptKeyManager.cpp:591
+#: Src/wptKeyManager.cpp:618
msgid "Delete Confirmation"
msgstr "Löschen Bestätigen"
-#: Src/wptKeyManager.cpp:613
+#: Src/wptKeyManager.cpp:640
#, c-format
msgid ""
"Do you really want to delete this key?\n"
"\n"
-"pub %s %s %s\n"
-" \"%s\""
+"%s"
msgstr ""
"Diesen Schlüssel wirklich löschen?\n"
"\n"
-"pub %s %s %s\n"
-" \"%s\""
+"%s"
# c:\oss\winpt-gpgme\src\wptKeyManager.cpp:605
-#: Src/wptKeyManager.cpp:624
+#: Src/wptKeyManager.cpp:650
#, c-format
msgid ""
"Do you really want to delete this KEY PAIR?\n"
@@ -2991,18 +2974,16 @@
"Please remember that you are not able to decrypt\n"
"messages you stored with this key any longer.\n"
"\n"
-"pub/sec %s %s %s\n"
-" \"%s\""
+"%s"
msgstr ""
"Wollen sie wirklich dieses Schlüsselpaar löschen?\n"
"\n"
"Dateien die mit diesem Schlüssel verschlüsselt wurden\n"
"können dann nicht mehr entschlüsselt werden.\n"
"\n"
-"pub/sec %s %s %s\n"
-" \"%s\""
+"%s"
-#: Src/wptKeyManager.cpp:632
+#: Src/wptKeyManager.cpp:657
msgid ""
"The actual secret key is stored on a smartcard.\n"
"Only the public key and the secret key \n"
@@ -3012,330 +2993,318 @@
"Nur der öffentliche Schlüssel und der Zeiger auf den geheimen\n"
"Schlüssel werden gelöscht.\n"
-#: Src/wptKeyManager.cpp:692
+#: Src/wptKeyManager.cpp:718
#, 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:718
+#: Src/wptKeyManager.cpp:740
msgid "Please only select one key."
msgstr "Bitte nur einen Schlüssel auswählen."
-#: Src/wptKeyManager.cpp:791
+#: Src/wptKeyManager.cpp:808
msgid "Could not connect to keyserver, abort procedure."
msgstr ""
"Verbindung zum Keyserver fehlgeschlagen; Die Prozedur wird abgebrochen."
-#: Src/wptKeyManager.cpp:797
+#: Src/wptKeyManager.cpp:814
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:857
+#: Src/wptKeyManager.cpp:873
#, c-format
msgid "Default Key: %s"
msgstr "Standardschlüssel: %s"
-#: Src/wptKeyManager.cpp:859
+#: Src/wptKeyManager.cpp:875
#, c-format
msgid "Default Key: 0x%s"
msgstr "Standardschlüssel: 0x%s"
-#: Src/wptKeyManager.cpp:879
+#: Src/wptKeyManager.cpp:895
#, c-format
msgid "%d secret keys"
msgstr "%d geheime Schlüssel"
# c:\oss\winpt-gpgme\src\wptKeyManager.cpp:849
-#: Src/wptKeyManager.cpp:880
+#: Src/wptKeyManager.cpp:896
#, c-format
msgid "%d keys"
msgstr "%d Schlüssel"
-#: Src/wptKeyManager.cpp:916
+#: Src/wptKeyManager.cpp:933
msgid "Search"
msgstr "Suchen"
-#: Src/wptKeyManager.cpp:916
+#: Src/wptKeyManager.cpp:933
msgid "Search for:"
msgstr "Suche nach:"
# c:\oss\winpt-gpgme\src\wptKeyManager.cpp:896
-#: Src/wptKeyManager.cpp:927
+#: Src/wptKeyManager.cpp:944
#, c-format
msgid "String pattern \"%s\" not found."
msgstr "Zeichenkette \"%s\" nicht gefunden."
-#: Src/wptKeyManagerDlg.cpp:344 Src/wptKeyManagerDlg.cpp:991
+#: Src/wptKeyManagerDlg.cpp:428 Src/wptKeyManagerDlg.cpp:884
msgid "Paste Key from Clipboard"
msgstr "Schlüssel aus Ablage einfügen"
-#: Src/wptKeyManagerDlg.cpp:778
+#: Src/wptKeyManagerDlg.cpp:834
msgid "Key"
msgstr "Schlüssel"
-#: Src/wptKeyManagerDlg.cpp:779 Src/wptKeyManagerDlg.cpp:851
+#: Src/wptKeyManagerDlg.cpp:835 Src/wptKeyManagerDlg.cpp:981
msgid "Groups"
msgstr "Gruppen"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:478
-#: Src/wptKeyManagerDlg.cpp:781
-#, fuzzy
+#: Src/wptKeyManagerDlg.cpp:838
msgid "Send Mail..."
-msgstr "Als Mail versenden"
+msgstr "Sende eMail..."
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:685
-#: Src/wptKeyManagerDlg.cpp:783
+#: Src/wptKeyManagerDlg.cpp:840
msgid "&Copy\tCtrl+C"
msgstr "&Kopieren\tCtrl+C"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:686
-#: Src/wptKeyManagerDlg.cpp:784
+#: Src/wptKeyManagerDlg.cpp:841
msgid "&Paste\tCtrl+V"
msgstr "&Einfügen\tCtrl+V"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:687
-#: Src/wptKeyManagerDlg.cpp:785
+#: Src/wptKeyManagerDlg.cpp:842
msgid "Search...\tCtrl+F"
msgstr "Suchen...\tCtrl+F"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:688
-#: Src/wptKeyManagerDlg.cpp:786
+#: Src/wptKeyManagerDlg.cpp:843
msgid "Select All\tCtrl+A"
msgstr "Alles markieren\tCtrl+A"
-#: Src/wptKeyManagerDlg.cpp:787
+#: Src/wptKeyManagerDlg.cpp:844
msgid "&Quit"
msgstr "&Beenden"
-#: Src/wptKeyManagerDlg.cpp:789
+#: Src/wptKeyManagerDlg.cpp:846
msgid "&Expert"
msgstr "&Experte"
-#: Src/wptKeyManagerDlg.cpp:790
+#: Src/wptKeyManagerDlg.cpp:847
msgid "&Normal"
msgstr "&Normal"
-#: Src/wptKeyManagerDlg.cpp:793 Src/wptKeyManagerDlg.cpp:794
-#: Src/wptKeyManagerDlg.cpp:997
+#: Src/wptKeyManagerDlg.cpp:850 Src/wptKeyManagerDlg.cpp:851
+#: Src/wptKeyManagerDlg.cpp:890
msgid "&Delete"
msgstr "&Löschen"
-#: Src/wptKeyManagerDlg.cpp:795 Src/wptKeyManagerDlg.cpp:998
+#: Src/wptKeyManagerDlg.cpp:852 Src/wptKeyManagerDlg.cpp:891
msgid "&Revoke"
msgstr "Wider&rufen"
-#: Src/wptKeyManagerDlg.cpp:796 Src/wptKeyManagerDlg.cpp:994
+#: Src/wptKeyManagerDlg.cpp:853 Src/wptKeyManagerDlg.cpp:887
msgid "&List Signatures"
msgstr "Signaturen anzeigen"
-#: Src/wptKeyManagerDlg.cpp:797 Src/wptKeyManagerDlg.cpp:1232
+#: Src/wptKeyManagerDlg.cpp:854 Src/wptKeyManagerDlg.cpp:1315
#: Src/wptKeyTrustPathDlg.cpp:130
msgid "List Trust Path"
msgstr "Zeige Vertrauenspfad"
-#: Src/wptKeyManagerDlg.cpp:798
+#: Src/wptKeyManagerDlg.cpp:855
msgid "&Export..."
msgstr "&Exportieren..."
-#: Src/wptKeyManagerDlg.cpp:799
+#: Src/wptKeyManagerDlg.cpp:856
msgid "&Import..."
msgstr "&Importieren..."
-#: Src/wptKeyManagerDlg.cpp:800 Src/wptKeysigDlg.cpp:356
+#: Src/wptKeyManagerDlg.cpp:857 Src/wptKeyManagerDlg.cpp:888
+#: Src/wptKeysigDlg.cpp:356
msgid "&Properties"
msgstr "&Eigenschaften"
-#: Src/wptKeyManagerDlg.cpp:801
+#: Src/wptKeyManagerDlg.cpp:858
msgid "Options"
msgstr "Optionen"
-#: Src/wptKeyManagerDlg.cpp:804
+#: Src/wptKeyManagerDlg.cpp:861
msgid "E&xport Secret Key"
msgstr "E&xportiere geheimen Schlüssel"
-#: Src/wptKeyManagerDlg.cpp:805
+#: Src/wptKeyManagerDlg.cpp:862
msgid "Re&load Key Cache"
msgstr "Erneuere Sch&lüsselcache"
-#: Src/wptKeyManagerDlg.cpp:806
+#: Src/wptKeyManagerDlg.cpp:863
msgid "R&everify Signatures"
msgstr "Signaturen erneut prüfen"
-#: Src/wptKeyManagerDlg.cpp:807
+#: Src/wptKeyManagerDlg.cpp:864
msgid "Refresh &Keys (Keyserver)"
msgstr "Vom Schlüsselserver aktualisieren"
-#: Src/wptKeyManagerDlg.cpp:808 Src/wptTextInputDlg.cpp:49
+#: Src/wptKeyManagerDlg.cpp:865 Src/wptTextInputDlg.cpp:49
msgid "Info"
msgstr "Über"
-#: Src/wptKeyManagerDlg.cpp:834 Src/wptKeysigDlg.cpp:369
-msgid "Could not set keylist window procedure."
-msgstr "Konnte \"keylist window procedure\" nicht setzen."
-
-# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:842
-#: Src/wptKeyManagerDlg.cpp:947
-msgid "Delete key from keyring"
-msgstr "Schlüssel aus Keyring löschen"
-
-#: Src/wptKeyManagerDlg.cpp:951
-msgid "Show key properties"
-msgstr "Schlüsseleigenschaften anzeigen"
-
-#: Src/wptKeyManagerDlg.cpp:955
-msgid "Sign key"
-msgstr "Signiere Schlüssel"
-
-# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:854
-#: Src/wptKeyManagerDlg.cpp:959
-msgid "Import key to keyring"
-msgstr "In Schlüsselbund importieren"
-
-# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:858
-#: Src/wptKeyManagerDlg.cpp:963
-msgid "Export key to a file"
-msgstr "Schlüssel in Datei exportieren"
-
-#: Src/wptKeyManagerDlg.cpp:986
+#: Src/wptKeyManagerDlg.cpp:879
msgid "Copy User ID to Clipboard"
msgstr "Kopiere Benutzerkennung in Ablage"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:886
-#: Src/wptKeyManagerDlg.cpp:987
+#: Src/wptKeyManagerDlg.cpp:880
msgid "Copy Key ID to Clipboard"
msgstr "Kopiere Schlüssel ID in Ablage"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:887
-#: Src/wptKeyManagerDlg.cpp:988
+#: Src/wptKeyManagerDlg.cpp:881
msgid "Copy Fingerprint to Clipboard"
msgstr "Kopiere Fingerprint in Ablage"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:888
-#: Src/wptKeyManagerDlg.cpp:989
+#: Src/wptKeyManagerDlg.cpp:882
msgid "Copy Key Info to Clipboard"
msgstr "Kopiere Schlüssel Info in Ablage"
-#: Src/wptKeyManagerDlg.cpp:990
+#: Src/wptKeyManagerDlg.cpp:883
msgid "Copy Key to Clipboard"
msgstr "Kopiere Schlüssel in Ablage"
-#: Src/wptKeyManagerDlg.cpp:992
+#: Src/wptKeyManagerDlg.cpp:885
msgid "Refresh from Keyserver"
msgstr "Vom Schlüsselserver aktualisieren"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:884
-#: Src/wptKeyManagerDlg.cpp:993
+#: Src/wptKeyManagerDlg.cpp:886
msgid "Set Implicit &Trust"
msgstr "Setze impliziertes Vertrauen"
-#: Src/wptKeyManagerDlg.cpp:995
-msgid "&Key Properties"
-msgstr "Schlüsseleigenschaften"
-
-#: Src/wptKeyManagerDlg.cpp:1000
+#: Src/wptKeyManagerDlg.cpp:893
msgid "&Enable"
msgstr "&Aktivieren"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:892
-#: Src/wptKeyManagerDlg.cpp:1001
+#: Src/wptKeyManagerDlg.cpp:894
msgid "&Disable"
msgstr "&Deaktivieren"
-#: Src/wptKeyManagerDlg.cpp:1002
+#: Src/wptKeyManagerDlg.cpp:895
msgid "Re&fresh from Keyserver"
msgstr "Vom Schlüsselserver aktualisieren"
-#: Src/wptKeyManagerDlg.cpp:1003
+#: Src/wptKeyManagerDlg.cpp:896
msgid "Set preferred Keyserver URL"
msgstr "Setze bevorzugte Keyserver URL"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:900
-#: Src/wptKeyManagerDlg.cpp:1004
+#: Src/wptKeyManagerDlg.cpp:897
msgid "Send Key to Mail Recipient"
msgstr "Sende Schlüssel an Mailempfänger"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:904
-#: Src/wptKeyManagerDlg.cpp:1005
+#: Src/wptKeyManagerDlg.cpp:898
msgid "Set as Default Key"
msgstr "Setze als Default Key"
-#: Src/wptKeyManagerDlg.cpp:1007
+#: Src/wptKeyManagerDlg.cpp:900
msgid "Key..."
msgstr "Schlüssel..."
-#: Src/wptKeyManagerDlg.cpp:1008
+#: Src/wptKeyManagerDlg.cpp:901
msgid "User ID..."
msgstr "Benutzerkennung..."
-#: Src/wptKeyManagerDlg.cpp:1009
+#: Src/wptKeyManagerDlg.cpp:902
msgid "Photo ID..."
msgstr "Photo ID..."
-#: Src/wptKeyManagerDlg.cpp:1010
+#: Src/wptKeyManagerDlg.cpp:903
msgid "Revoker..."
msgstr "Revoker..."
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:706
-#: Src/wptKeyManagerDlg.cpp:1013
+#: Src/wptKeyManagerDlg.cpp:906
msgid "Key Attributes"
msgstr "Schlüsselattribute"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:707
-#: Src/wptKeyManagerDlg.cpp:1014
+#: Src/wptKeyManagerDlg.cpp:907
msgid "Add"
msgstr "Hinzufügen"
-#: Src/wptKeyManagerDlg.cpp:1015
+#: Src/wptKeyManagerDlg.cpp:908
msgid "Send to Keyserver"
msgstr "Sende an Keyserver"
-#: Src/wptKeyManagerDlg.cpp:1068
-msgid "Paste into this group"
-msgstr "In diese Gruppe einfügen"
+#: Src/wptKeyManagerDlg.cpp:967 Src/wptKeysigDlg.cpp:369
+msgid "Could not set keylist window procedure."
+msgstr "Konnte \"keylist window procedure\" nicht setzen."
-#: Src/wptKeyManagerDlg.cpp:1069
-msgid "Delete"
-msgstr "Löschen"
+# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:842
+#: Src/wptKeyManagerDlg.cpp:1079
+msgid "Delete key from keyring"
+msgstr "Schlüssel aus Keyring löschen"
+#: Src/wptKeyManagerDlg.cpp:1083
+msgid "Show key properties"
+msgstr "Schlüsseleigenschaften anzeigen"
+
+#: Src/wptKeyManagerDlg.cpp:1087
+msgid "Sign key"
+msgstr "Signiere Schlüssel"
+
+# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:854
+#: Src/wptKeyManagerDlg.cpp:1091
+msgid "Import key to keyring"
+msgstr "In Schlüsselbund importieren"
+
+# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:858
+#: Src/wptKeyManagerDlg.cpp:1095
+msgid "Export key to a file"
+msgstr "Schlüssel in Datei exportieren"
+
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:499
-#: Src/wptKeyManagerDlg.cpp:1130
+#: Src/wptKeyManagerDlg.cpp:1214
msgid "New"
msgstr "Neu"
-#: Src/wptKeyManagerDlg.cpp:1137
+#: Src/wptKeyManagerDlg.cpp:1221
msgid "Could not access public keyring"
msgstr "Konnte nicht auf öffentlichen Schlüsselbund zugreifen"
-#: Src/wptKeyManagerDlg.cpp:1178 Src/wptKeysignDlg.cpp:230
+#: Src/wptKeyManagerDlg.cpp:1261 Src/wptKeysignDlg.cpp:230
#: Src/wptKeysignDlg.cpp:249 Src/wptKeysignDlg.cpp:326
#: Src/wptKeysignDlg.cpp:343 Src/wptKeysignDlg.cpp:347
msgid "Key Signing"
msgstr "Schlüsselsignierung"
-#: Src/wptKeyManagerDlg.cpp:1201
+#: Src/wptKeyManagerDlg.cpp:1284
msgid "Key already revoked!"
msgstr "Schlüssel ist bereits widerrufen!"
-#: Src/wptKeyManagerDlg.cpp:1213 Src/wptKeyRevokeDlg.cpp:67
+#: Src/wptKeyManagerDlg.cpp:1296 Src/wptKeyRevokeDlg.cpp:67
#: Src/wptKeyRevokeDlg.cpp:89 Src/wptKeyRevokeDlg.cpp:131
#: Src/wptKeyRevokeDlg.cpp:136 Src/wptKeyRevokeDlg.cpp:143
#: Src/wptKeyRevokeDlg.cpp:159
msgid "Key Revocation"
msgstr "Schlüsselwiderruf"
-#: Src/wptKeyManagerDlg.cpp:1224
+#: Src/wptKeyManagerDlg.cpp:1307
msgid "It does not make any sense with a key pair!"
msgstr "Diese Aktion macht keinen Sinn mit einem Schlüsselpaar!"
-#: Src/wptKeyManagerDlg.cpp:1248
+#: Src/wptKeyManagerDlg.cpp:1331
msgid "Key Signature List"
msgstr "Schlüssel-Signatur-Liste"
-#: Src/wptKeyManagerDlg.cpp:1268 Src/wptKeyPropsDlg.cpp:272
+#: Src/wptKeyManagerDlg.cpp:1351 Src/wptKeyPropsDlg.cpp:271
msgid "Key Properties"
msgstr "Schlüsseleigenschaften"
-#: Src/wptKeyManagerDlg.cpp:1282
+#: Src/wptKeyManagerDlg.cpp:1365
msgid ""
"This is only useful when the keyring has been modified (sign a key...).\n"
"Do you really want to reload the keycache?"
@@ -3344,31 +3313,31 @@
"Signierung etc.)\n"
"Möchten Sie den Zwischenspeicher reinitialisieren?"
-#: Src/wptKeyManagerDlg.cpp:1323
+#: Src/wptKeyManagerDlg.cpp:1406
msgid "Smart Card support is not available."
msgstr "SmartCard-Unterstützung ist nicht verfügbar."
-#: Src/wptKeyManagerDlg.cpp:1350 Src/wptKeyserverDlg.cpp:437
+#: Src/wptKeyManagerDlg.cpp:1433 Src/wptKeyserverDlg.cpp:437
msgid "Keyserver Access"
msgstr "Schlüsselserver-Zugriff"
-#: Src/wptKeyManagerDlg.cpp:1366
+#: Src/wptKeyManagerDlg.cpp:1449
msgid "GnuPG Options"
msgstr "GnuPG Optionen"
-#: Src/wptKeyManagerDlg.cpp:1371
+#: Src/wptKeyManagerDlg.cpp:1454
msgid "Choose Name of the Key File"
msgstr "Den Namen der Schlüsseldatei wählen"
-#: Src/wptKeyManagerDlg.cpp:1407
+#: Src/wptKeyManagerDlg.cpp:1490
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:1412
+#: Src/wptKeyManagerDlg.cpp:1495
msgid "You can only export one secret key."
msgstr "Sie können nur einen geheimen Schlüssel exportieren."
-#: Src/wptKeyManagerDlg.cpp:1417
+#: Src/wptKeyManagerDlg.cpp:1500
msgid ""
"This operation will export your *SECRET* key!\n"
"\n"
@@ -3386,27 +3355,27 @@
"\n"
"Wirklich den Schlüssel exportieren?"
-#: Src/wptKeyManagerDlg.cpp:1422
+#: Src/wptKeyManagerDlg.cpp:1505
msgid "WARNING"
msgstr "WARNUNG"
-#: Src/wptKeyManagerDlg.cpp:1487
+#: Src/wptKeyManagerDlg.cpp:1570
msgid "No key was selected, select all by default."
msgstr "Kein Schlüssel ausgewählt, es wurden alle ausgewählt."
-#: Src/wptKeyPropsDlg.cpp:197
+#: Src/wptKeyPropsDlg.cpp:196
#, c-format
msgid "Card-Type: %s\r\n"
msgstr ""
# c:\oss\winpt-gpgme\src\wptKeyPropsDlg.cpp:214
-#: Src/wptKeyPropsDlg.cpp:226
+#: Src/wptKeyPropsDlg.cpp:225
#, c-format
msgid ""
"Type: %s\r\n"
"Key ID: %s\r\n"
"Algorithm: %s\r\n"
-"Size: %s\r\n"
+"Size: %s bits\r\n"
"Created: %s\r\n"
"Expires: %s\r\n"
"Validity: %s\r\n"
@@ -3416,32 +3385,32 @@
"Type: %s\r\n"
"Key ID: %s\r\n"
"Algorithmus: %s\r\n"
-"Größe: %s\r\n"
+"Größe: %s Bits\r\n"
"Erstellt: %s\r\n"
"Ablauf: %s\r\n"
"Gültigkeit: %s\r\n"
"Cipher: %s\r\n"
"%s\r\n"
-#: Src/wptKeyPropsDlg.cpp:273
+#: Src/wptKeyPropsDlg.cpp:272
msgid "&Change"
msgstr "&Ändern"
-#: Src/wptKeyPropsDlg.cpp:274
+#: Src/wptKeyPropsDlg.cpp:273
msgid "&Revokers"
msgstr "\"&Revokers\""
-#: Src/wptKeyPropsDlg.cpp:275
+#: Src/wptKeyPropsDlg.cpp:274
msgid "Change &Passwd"
msgstr "&Passwort ändern"
-#: Src/wptKeyPropsDlg.cpp:282
+#: Src/wptKeyPropsDlg.cpp:281
msgid "Photo-ID not validated."
msgstr "Foto-ID nicht geprüft."
# msgid "Unknown"
# msgstr "Unbekannt"
-#: Src/wptKeyPropsDlg.cpp:314
+#: Src/wptKeyPropsDlg.cpp:313
msgid ""
"The status of this key is 'revoked' or 'expired'.\n"
"You cannot change the ownertrust of such keys."
@@ -3449,11 +3418,11 @@
"Der Status dieses Schlüssels ist 'widerrufen' oder 'abgelaufen'.\n"
"Sie können das Vertrauen in solche Schlüssel nicht ändern."
-#: Src/wptKeyPropsDlg.cpp:316 Src/wptKeyPropsDlg.cpp:323
+#: Src/wptKeyPropsDlg.cpp:315 Src/wptKeyPropsDlg.cpp:322
msgid "WinPT Warning"
msgstr "WinPT Warnung"
-#: Src/wptKeyPropsDlg.cpp:320
+#: Src/wptKeyPropsDlg.cpp:319
msgid ""
"This is a non-valid key.\n"
"Modifying the ownertrust has no effect on such keys.\n"
@@ -3461,14 +3430,14 @@
"Do you really want to continue?"
msgstr ""
"Dies ist kein gültiger Schlüssel.\n"
-"Das Vertrauen solcher Schlüssel zu ändern macht keinen Sinn.\n"
-"Trotzdem fortfahren"
+"Das Vertrauen solcher Schlüssel zu ändern hat keinerlei Effekt.\n"
+"Trotzdem fortfahren?"
-#: Src/wptKeyPropsDlg.cpp:339
+#: Src/wptKeyPropsDlg.cpp:337
msgid "Ownertrust successfully changed."
msgstr "Besitzervertrauen erfolgreich geändert."
-#: Src/wptKeyPropsDlg.cpp:357 Src/wptKeyRevokersDlg.cpp:134
+#: Src/wptKeyPropsDlg.cpp:355 Src/wptKeyRevokersDlg.cpp:134
msgid "Key Revokers"
msgstr "Schlüsselwiderrufer"
@@ -3749,7 +3718,7 @@
"Are you really sure you want to delete this signature from\n"
" \"%s\""
msgstr ""
-"Diese Signature wirklich von dieser user-ID löschen?\n"
+"Diese Signature wirklich von dieser Benutzerkennung löschen?\n"
"\n"
" \"%s\""
@@ -3792,25 +3761,25 @@
msgid "Non-exportable"
msgstr "Nicht-exportierbar"
-#: Src/wptKeysigDlg.cpp:295
+#: Src/wptKeysigDlg.cpp:296
msgid "Signature &Properties"
msgstr "Signatur-&Eigenschaften"
-#: Src/wptKeysigDlg.cpp:296
+#: Src/wptKeysigDlg.cpp:297
msgid "Signing &Key Properties"
msgstr "Signing Key-Eigenschaften"
# c:\oss\winpt-gpgme\src\wptKeysigDlg.cpp:294
-#: Src/wptKeysigDlg.cpp:319
+#: Src/wptKeysigDlg.cpp:320
msgid "Key not found in keyring, please get it from the keyserver first."
msgstr "Schlüssel im Schlüsselbund nicht gefunden, bitte vom Keyserver laden."
# c:\oss\winpt-gpgme\src\wptKeysigDlg.cpp:301
-#: Src/wptKeysigDlg.cpp:326
+#: Src/wptKeysigDlg.cpp:327
msgid "Key not found in keyring."
msgstr "Schlüssel im Keyring nicht gefunden."
-#: Src/wptKeysigDlg.cpp:352
+#: Src/wptKeysigDlg.cpp:353
#, c-format
msgid "Signature List for \"%s\""
msgstr "Signaturliste für \"%s\""
@@ -3819,7 +3788,7 @@
msgid "&Receive Key"
msgstr "&Schlüssel empfangen"
-#: Src/wptKeysigDlg.cpp:428
+#: Src/wptKeysigDlg.cpp:431
msgid "Really receive all missing keys?"
msgstr "Alle fehlenden Schlüssel empfangen?"
@@ -3972,7 +3941,7 @@
msgid "Remove all passphrases from cache?"
msgstr "Alle Passwörter aus Zwischenspeicher entfernen?"
-#: Src/wptMainProc.cpp:488 Src/wptProgressDlg.cpp:122 Src/wptRegistry.cpp:162
+#: Src/wptMainProc.cpp:488 Src/wptProgressDlg.cpp:122 Src/wptRegistry.cpp:181
msgid "WinPT"
msgstr "WinPT"
@@ -4350,7 +4319,7 @@
msgid "Please fill out all required fields for authentication."
msgstr "Bitte alle benötigen Felder für die Authentifizierung eingeben."
-#: Src/wptRegistry.cpp:160
+#: Src/wptRegistry.cpp:179
msgid ""
"WinPT can register some GPG file types for you so they can be processed with "
"a double click in the explorer.\n"
@@ -4360,11 +4329,11 @@
"Doppelklick im Explorer öffnen können.\n"
"Möchten Sie fortfahren?"
-#: Src/wptRegistry.cpp:171
+#: Src/wptRegistry.cpp:190
msgid "WinPT WARNING"
msgstr "WinPT WARNUNG"
-#: Src/wptRegistry.cpp:172
+#: Src/wptRegistry.cpp:191
#, c-format
msgid ""
"It seems there was already a '%s' file type registered by another "
@@ -4374,7 +4343,7 @@
"Der Dateityp '%s' scheint mit einer anderen Anwendung verknüpft zu sein.\n"
"Überschreiben?"
-#: Src/wptRegistry.cpp:590
+#: Src/wptRegistry.cpp:608
msgid "Could not write to Registry."
msgstr "Konnte Werte in Registry nicht speichern"
@@ -4410,7 +4379,23 @@
msgid "Signed"
msgstr "Signiert"
+#~ msgid "Choose GPG config file"
+#~ msgstr "Wählen Sie die GPG.conf Datei"
+
#~ msgid ""
+#~ "Could not find GPG config file.\n"
+#~ "Do you want to create a config file?"
+#~ msgstr ""
+#~ "Konnte keine Konfigurationsdatei finden.\n"
+#~ "Wollen Sie die Konfigurationsdatei erstellen?"
+
+#~ msgid "Could not save 'OptFile' in the registry."
+#~ msgstr "Konnte 'OptFile' nicht in Registry schreiben"
+
+#~ msgid "Delete"
+#~ msgstr "Löschen"
+
+#~ msgid ""
#~ "Do you really want to delete this entry?\n"
#~ "\n"
#~ "%s"
@@ -4428,6 +4413,9 @@
#~ "\n"
#~ "%s"
+#~ msgid "GnuPG config file (default: use gpg.conf)"
+#~ msgstr "GnuPG Konfigurationsdatei (Voreinstellung: gpg.conf)"
+
# msgid "JPEG Files (*.jpg, *.jpeg)"
# msgstr "JPEG Dateien (*.jpg, *.jpeg)"
#~ msgid "Key &expiration"
@@ -4436,6 +4424,9 @@
#~ msgid "Key already expired!"
#~ msgstr "Der Schlüssel ist bereits abgelaufen!"
+#~ msgid "Paste into this group"
+#~ msgstr "In diese Gruppe einfügen"
+
#~ msgid "&Exit"
#~ msgstr "&Beenden"
Modified: trunk/Po/winpt.pot
===================================================================
--- trunk/Po/winpt.pot 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Po/winpt.pot 2005-12-19 13:05:59 UTC (rev 128)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: winpt at freakmail.de\n"
-"POT-Creation-Date: 2005-12-16 13:37+0100\n"
+"POT-Creation-Date: 2005-12-18 20:12+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
@@ -21,32 +21,36 @@
"Native Language Support"
msgstr ""
-#: Src/WinPT.cpp:109 Src/WinPT.cpp:131 Src/WinPT.cpp:181 Src/WinPT.cpp:185
-#: Src/WinPT.cpp:294 Src/WinPT.cpp:301 Src/WinPT.cpp:340 Src/WinPT.cpp:368
-#: Src/WinPT.cpp:377 Src/WinPT.cpp:381 Src/WinPT.cpp:398 Src/WinPT.cpp:466
-#: Src/WinPT.cpp:479 Src/WinPT.cpp:529 Src/WinPT.cpp:550 Src/WinPT.cpp:567
-#: Src/wptErrors.cpp:140 Src/wptGPG.cpp:952 Src/wptGPG.cpp:963
-#: Src/wptGPG.cpp:972 Src/wptGPG.cpp:982 Src/wptMainProc.cpp:345
-#: Src/wptMainProc.cpp:531
+#: Src/WinPT.cpp:109 Src/WinPT.cpp:143 Src/WinPT.cpp:173 Src/WinPT.cpp:223
+#: Src/WinPT.cpp:227 Src/WinPT.cpp:337 Src/WinPT.cpp:344 Src/WinPT.cpp:386
+#: Src/WinPT.cpp:414 Src/WinPT.cpp:423 Src/WinPT.cpp:427 Src/WinPT.cpp:444
+#: Src/WinPT.cpp:512 Src/WinPT.cpp:525 Src/WinPT.cpp:574 Src/WinPT.cpp:595
+#: Src/WinPT.cpp:612 Src/wptErrors.cpp:140 Src/wptGPG.cpp:889
+#: Src/wptGPG.cpp:900 Src/wptGPG.cpp:909 Src/wptGPG.cpp:919
+#: Src/wptMainProc.cpp:345 Src/wptMainProc.cpp:531
msgid "WinPT Error"
msgstr ""
-#: Src/WinPT.cpp:130
+#: Src/WinPT.cpp:142
+msgid "Could not create GPG home directory"
+msgstr ""
+
+#: Src/WinPT.cpp:172
msgid "No useable secret key found."
msgstr ""
-#: Src/WinPT.cpp:180
+#: Src/WinPT.cpp:222
msgid "Could not read GnuPG version."
msgstr ""
-#: Src/WinPT.cpp:186
+#: Src/WinPT.cpp:228
#, c-format
msgid ""
"Sorry, you need a newer GPG version.\n"
"GPG version %d.%d.%d required GPG version "
msgstr ""
-#: Src/WinPT.cpp:218 Src/wptKeyManagerDlg.cpp:803 Src/wptKeyserverDlg.cpp:55
+#: Src/WinPT.cpp:260 Src/wptKeyManagerDlg.cpp:860 Src/wptKeyserverDlg.cpp:55
#: Src/wptKeyserverDlg.cpp:184 Src/wptKeyserverDlg.cpp:192
#: Src/wptKeyserverDlg.cpp:208 Src/wptKeyserverDlg.cpp:354
#: Src/wptKeyserverDlg.cpp:359 Src/wptKeyserverDlg.cpp:489
@@ -56,15 +60,15 @@
msgid "Keyserver"
msgstr ""
-#: Src/WinPT.cpp:293
+#: Src/WinPT.cpp:336
msgid "Cryptographic selftest failed."
msgstr ""
-#: Src/WinPT.cpp:300
+#: Src/WinPT.cpp:343
msgid "A newer GPGME version is needed; at least "
msgstr ""
-#: Src/WinPT.cpp:341
+#: Src/WinPT.cpp:387
#, c-format
msgid ""
"GPG home directory is not set correctly.\n"
@@ -72,25 +76,25 @@
"%s."
msgstr ""
-#: Src/WinPT.cpp:345
+#: Src/WinPT.cpp:391
msgid "Select GPG Public Keyring"
msgstr ""
-#: Src/WinPT.cpp:346 Src/wptGPG.cpp:950 Src/wptGPG.cpp:970
+#: Src/WinPT.cpp:392 Src/wptGPG.cpp:887 Src/wptGPG.cpp:907
msgid "GPG Keyrings (*.gpg)"
msgstr ""
-#: Src/WinPT.cpp:367
+#: Src/WinPT.cpp:413
msgid "GPG home directory could not be determited."
msgstr ""
-#: Src/WinPT.cpp:375
+#: Src/WinPT.cpp:421
msgid ""
"Could not find the GPG binary (gpg.exe).\n"
"Do you want to start the GPG preferences to correct this problem?"
msgstr ""
-#: Src/WinPT.cpp:390
+#: Src/WinPT.cpp:436
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"
@@ -98,32 +102,32 @@
"Continue if you want that WinPT offers you more choices.\n"
msgstr ""
-#: Src/WinPT.cpp:421 Src/wptFileManagerDlg.cpp:478
+#: Src/WinPT.cpp:467 Src/wptFileManagerDlg.cpp:478
#: Src/wptFileManagerDlg.cpp:792
msgid "Wipe Free Space"
msgstr ""
-#: Src/WinPT.cpp:465
+#: Src/WinPT.cpp:511
msgid "Could not register window class"
msgstr ""
-#: Src/WinPT.cpp:479
+#: Src/WinPT.cpp:525
msgid "Could not create window"
msgstr ""
-#: Src/WinPT.cpp:548
+#: Src/WinPT.cpp:593
msgid ""
"The keycache was not initialized or is empty.\n"
"Please check your GPG config (keyrings, pathes...)"
msgstr ""
-#: Src/WinPT.cpp:551
+#: Src/WinPT.cpp:596
msgid ""
"It seems that GPG is not set properly.\n"
"Do you want to start the GPG preferences dialog?"
msgstr ""
-#: Src/WinPT.cpp:568
+#: Src/WinPT.cpp:613
#, c-format
msgid ""
"Default key from the GPG options file could not be found.\n"
@@ -140,7 +144,7 @@
msgid "About GnuPG"
msgstr ""
-#: Src/wptAboutDlgs.cpp:93 Src/wptKeyManagerDlg.cpp:1434
+#: Src/wptAboutDlgs.cpp:93 Src/wptKeyManagerDlg.cpp:1517
#: Src/wptMainProc.cpp:575
msgid "About WinPT"
msgstr ""
@@ -176,8 +180,8 @@
msgid "&About GPG..."
msgstr ""
-#: Src/wptAboutDlgs.cpp:111 Src/wptKeyEditDlgs.cpp:1780
-#: Src/wptKeyManagerDlg.cpp:809
+#: Src/wptAboutDlgs.cpp:111 Src/wptKeyEditDlgs.cpp:1802
+#: Src/wptKeyManagerDlg.cpp:866
msgid "&Help"
msgstr ""
@@ -256,7 +260,7 @@
"Still proceed?"
msgstr ""
-#: Src/wptCardDlg.cpp:600 Src/wptKeyEditDlgs.cpp:438
+#: Src/wptCardDlg.cpp:600 Src/wptKeyEditDlgs.cpp:459
msgid "&Name"
msgstr ""
@@ -272,7 +276,7 @@
msgid "Off-card passphrase"
msgstr ""
-#: Src/wptCardDlg.cpp:604 Src/wptKeyEditDlgs.cpp:575 Src/wptKeygenDlg.cpp:392
+#: Src/wptCardDlg.cpp:604 Src/wptKeyEditDlgs.cpp:596 Src/wptKeygenDlg.cpp:392
msgid "&Never"
msgstr ""
@@ -280,7 +284,7 @@
msgid "Email &address"
msgstr ""
-#: Src/wptCardDlg.cpp:606 Src/wptKeyManagerDlg.cpp:1328
+#: Src/wptCardDlg.cpp:606 Src/wptKeyManagerDlg.cpp:1411
msgid "Card Key Generation"
msgstr ""
@@ -308,7 +312,7 @@
msgid "Please use plain ASCII charset for the fields."
msgstr ""
-#: Src/wptCardDlg.cpp:681 Src/wptKeyEditDlgs.cpp:1275
+#: Src/wptCardDlg.cpp:681 Src/wptKeyEditDlgs.cpp:1296
msgid "The date you have chosen lies in the past."
msgstr ""
@@ -395,8 +399,8 @@
#: Src/wptClipDecryptDlg.cpp:166 Src/wptClipEncryptDlg.cpp:208
#: Src/wptClipSignDlg.cpp:119 Src/wptClipSignDlg.cpp:231
-#: Src/wptClipSignEncDlg.cpp:199 Src/wptKeyManager.cpp:292
-#: Src/wptKeyManager.cpp:666 Src/wptKeyManager.cpp:904 Src/wptSymEnc.cpp:90
+#: Src/wptClipSignEncDlg.cpp:199 Src/wptKeyManager.cpp:317
+#: Src/wptKeyManager.cpp:691 Src/wptKeyManager.cpp:921 Src/wptSymEnc.cpp:90
msgid "GnuPG Status: Finished"
msgstr ""
@@ -491,7 +495,7 @@
msgid "Add quotes"
msgstr ""
-#: Src/wptClipEditDlg.cpp:202 Src/wptKeyEditDlgs.cpp:1779
+#: Src/wptClipEditDlg.cpp:202 Src/wptKeyEditDlgs.cpp:1801
#: Src/wptKeyserverDlg.cpp:446 Src/wptMDSumDlg.cpp:87
#: Src/wptOwnertrustDlg.cpp:103
msgid "&Close"
@@ -516,8 +520,8 @@
#: Src/wptCommonDlg.cpp:66 Src/wptFileManagerDlg.cpp:84
#: Src/wptFileManagerDlg.cpp:198 Src/wptFileManagerDlg.cpp:275
#: Src/wptFileSaveDlg.cpp:58 Src/wptFirstRunDlg.cpp:50
-#: Src/wptKeyEditDlgs.cpp:272 Src/wptKeyEditDlgs.cpp:366
-#: Src/wptKeyEditDlgs.cpp:441 Src/wptKeyEditDlgs.cpp:576
+#: Src/wptKeyEditDlgs.cpp:288 Src/wptKeyEditDlgs.cpp:388
+#: Src/wptKeyEditDlgs.cpp:462 Src/wptKeyEditDlgs.cpp:597
#: Src/wptKeyEditOwnertrustDlg.cpp:67 Src/wptKeygenDlg.cpp:394
#: Src/wptKeygenDlg.cpp:597 Src/wptKeyRevokeDlg.cpp:90
#: Src/wptKeyserverSearchDlg.cpp:63 Src/wptKeysignDlg.cpp:258
@@ -540,7 +544,7 @@
msgstr ""
#: Src/wptClipImportDlg.cpp:88 Src/wptFileManagerDlg.cpp:197
-#: Src/wptFileManagerDlg.cpp:203 Src/wptKeyManager.cpp:443
+#: Src/wptFileManagerDlg.cpp:203 Src/wptKeyManager.cpp:468
msgid "Key Import"
msgstr ""
@@ -561,7 +565,7 @@
#: Src/wptFileManager.cpp:1662 Src/wptImportList.cpp:414
#: Src/wptImportList.cpp:421 Src/wptImportList.cpp:430
#: Src/wptImportList.cpp:438 Src/wptImportList.cpp:447
-#: Src/wptKeyManager.cpp:550 Src/wptKeyserverDlg.cpp:217
+#: Src/wptKeyManager.cpp:575 Src/wptKeyserverDlg.cpp:217
msgid "Import"
msgstr ""
@@ -609,7 +613,7 @@
msgid "Signing key:"
msgstr ""
-#: Src/wptClipSignEncDlg.cpp:168 Src/wptKeylist.cpp:1111
+#: Src/wptClipSignEncDlg.cpp:168 Src/wptKeylist.cpp:1121
msgid "No key was selected."
msgstr ""
@@ -668,30 +672,30 @@
msgid "Please enter a valid URL."
msgstr ""
-#: Src/wptCommonDlg.cpp:123 Src/wptKeyEditDlgs.cpp:685
-#: Src/wptKeyEditDlgs.cpp:756 Src/wptKeyEditDlgs.cpp:792
-#: Src/wptKeyEditDlgs.cpp:804 Src/wptKeyEditDlgs.cpp:872
-#: Src/wptKeyEditDlgs.cpp:879 Src/wptKeyEditDlgs.cpp:897
-#: Src/wptKeyEditDlgs.cpp:944 Src/wptKeyEditDlgs.cpp:949
-#: Src/wptKeyEditDlgs.cpp:1040 Src/wptKeyEditDlgs.cpp:1046
-#: Src/wptKeyEditDlgs.cpp:1198 Src/wptKeyEditDlgs.cpp:1202
-#: Src/wptKeyEditDlgs.cpp:1206 Src/wptKeyEditDlgs.cpp:1211
-#: Src/wptKeyEditDlgs.cpp:1247 Src/wptKeyEditDlgs.cpp:1251
-#: Src/wptKeyEditDlgs.cpp:1261 Src/wptKeyEditDlgs.cpp:1276
-#: Src/wptKeyEditDlgs.cpp:1280 Src/wptKeyEditDlgs.cpp:1320
-#: Src/wptKeyEditDlgs.cpp:1325 Src/wptKeyEditDlgs.cpp:1332
-#: Src/wptKeyEditDlgs.cpp:1338 Src/wptKeyEditDlgs.cpp:1343
-#: Src/wptKeyEditDlgs.cpp:1384 Src/wptKeyEditDlgs.cpp:1389
-#: Src/wptKeyEditDlgs.cpp:1395 Src/wptKeyEditDlgs.cpp:1402
-#: Src/wptKeyEditDlgs.cpp:1405 Src/wptKeyEditDlgs.cpp:1442
-#: Src/wptKeyEditDlgs.cpp:1450 Src/wptKeyEditDlgs.cpp:1484
-#: Src/wptKeyEditDlgs.cpp:1492 Src/wptKeyEditDlgs.cpp:1589
-#: Src/wptKeyEditDlgs.cpp:1622 Src/wptKeyEditDlgs.cpp:1647
-#: Src/wptKeyEditDlgs.cpp:1651 Src/wptKeyEditDlgs.cpp:1660
-#: Src/wptKeyEditDlgs.cpp:1760 Src/wptKeyEditDlgs.cpp:1770
-#: Src/wptKeyEditDlgs.cpp:1781 Src/wptKeyEditDlgs.cpp:1811
-#: Src/wptKeyEditDlgs.cpp:1817 Src/wptKeyManagerDlg.cpp:996
-#: Src/wptKeyManagerDlg.cpp:1461
+#: Src/wptCommonDlg.cpp:123 Src/wptKeyEditDlgs.cpp:706
+#: Src/wptKeyEditDlgs.cpp:777 Src/wptKeyEditDlgs.cpp:813
+#: Src/wptKeyEditDlgs.cpp:825 Src/wptKeyEditDlgs.cpp:893
+#: Src/wptKeyEditDlgs.cpp:900 Src/wptKeyEditDlgs.cpp:918
+#: Src/wptKeyEditDlgs.cpp:965 Src/wptKeyEditDlgs.cpp:970
+#: Src/wptKeyEditDlgs.cpp:1061 Src/wptKeyEditDlgs.cpp:1067
+#: Src/wptKeyEditDlgs.cpp:1219 Src/wptKeyEditDlgs.cpp:1223
+#: Src/wptKeyEditDlgs.cpp:1227 Src/wptKeyEditDlgs.cpp:1232
+#: Src/wptKeyEditDlgs.cpp:1268 Src/wptKeyEditDlgs.cpp:1272
+#: Src/wptKeyEditDlgs.cpp:1282 Src/wptKeyEditDlgs.cpp:1297
+#: Src/wptKeyEditDlgs.cpp:1301 Src/wptKeyEditDlgs.cpp:1341
+#: Src/wptKeyEditDlgs.cpp:1346 Src/wptKeyEditDlgs.cpp:1353
+#: Src/wptKeyEditDlgs.cpp:1359 Src/wptKeyEditDlgs.cpp:1364
+#: Src/wptKeyEditDlgs.cpp:1405 Src/wptKeyEditDlgs.cpp:1410
+#: Src/wptKeyEditDlgs.cpp:1416 Src/wptKeyEditDlgs.cpp:1423
+#: Src/wptKeyEditDlgs.cpp:1426 Src/wptKeyEditDlgs.cpp:1463
+#: Src/wptKeyEditDlgs.cpp:1471 Src/wptKeyEditDlgs.cpp:1505
+#: Src/wptKeyEditDlgs.cpp:1513 Src/wptKeyEditDlgs.cpp:1611
+#: Src/wptKeyEditDlgs.cpp:1644 Src/wptKeyEditDlgs.cpp:1669
+#: Src/wptKeyEditDlgs.cpp:1673 Src/wptKeyEditDlgs.cpp:1682
+#: Src/wptKeyEditDlgs.cpp:1782 Src/wptKeyEditDlgs.cpp:1792
+#: Src/wptKeyEditDlgs.cpp:1803 Src/wptKeyEditDlgs.cpp:1832
+#: Src/wptKeyEditDlgs.cpp:1838 Src/wptKeyManagerDlg.cpp:889
+#: Src/wptKeyManagerDlg.cpp:1544
msgid "Key Edit"
msgstr ""
@@ -978,12 +982,12 @@
"Do you want to disable it?"
msgstr ""
-#: Src/wptFileManager.cpp:381 Src/wptKeyEditDlgs.cpp:931
+#: Src/wptFileManager.cpp:381 Src/wptKeyEditDlgs.cpp:952
#: Src/wptVerifyList.cpp:88 Src/wptVerifyList.cpp:96
msgid "Status"
msgstr ""
-#: Src/wptFileManager.cpp:382 Src/wptKeyEditDlgs.cpp:1032
+#: Src/wptFileManager.cpp:382 Src/wptKeyEditDlgs.cpp:1053
#: Src/wptKeyRevokersDlg.cpp:52 Src/wptMDSumDlg.cpp:57
#: Src/wptVerifyList.cpp:87
msgid "Name"
@@ -1104,7 +1108,7 @@
msgid "Invalid file name. Exit"
msgstr ""
-#: Src/wptFileManager.cpp:1659 Src/wptKeyManager.cpp:547
+#: Src/wptFileManager.cpp:1659 Src/wptKeyManager.cpp:572
msgid ""
"Key without a self signature was dectected!\n"
"(This key is NOT usable for encryption, etc)\n"
@@ -1112,8 +1116,8 @@
"Cannot import these key(s)!"
msgstr ""
-#: Src/wptFileManager.cpp:1704 Src/wptKeyManager.cpp:275
-#: Src/wptKeyManager.cpp:311 Src/wptKeyManager.cpp:346
+#: Src/wptFileManager.cpp:1704 Src/wptKeyManager.cpp:300
+#: Src/wptKeyManager.cpp:336 Src/wptKeyManager.cpp:371
msgid "No key was selected for export."
msgstr ""
@@ -1122,13 +1126,13 @@
msgid "Export"
msgstr ""
-#: Src/wptFileManager.cpp:1712 Src/wptKeyManagerDlg.cpp:1394
-#: Src/wptKeyManagerDlg.cpp:1426
+#: Src/wptFileManager.cpp:1712 Src/wptKeyManagerDlg.cpp:1477
+#: Src/wptKeyManagerDlg.cpp:1509
msgid "Choose Name for Key File"
msgstr ""
-#: Src/wptFileManager.cpp:1731 Src/wptKeyEditDlgs.cpp:912
-#: Src/wptKeyEditDlgs.cpp:1228 Src/wptKeyEditDlgs.cpp:1299
+#: Src/wptFileManager.cpp:1731 Src/wptKeyEditDlgs.cpp:933
+#: Src/wptKeyEditDlgs.cpp:1249 Src/wptKeyEditDlgs.cpp:1320
#: Src/wptKeyserverDlg.cpp:95
msgid "GnuPG status"
msgstr ""
@@ -1192,7 +1196,7 @@
msgstr ""
#: Src/wptFileManagerDlg.cpp:203 Src/wptFileStatDlg.cpp:266
-#: Src/wptKeyManager.cpp:421
+#: Src/wptKeyManager.cpp:446
msgid "No valid OpenPGP data found."
msgstr ""
@@ -1217,13 +1221,13 @@
msgid "&Cleartext Signature"
msgstr ""
-#: Src/wptFileManagerDlg.cpp:320 Src/wptKeyEditDlgs.cpp:1202
-#: Src/wptKeyEditDlgs.cpp:1251 Src/wptKeyEditDlgs.cpp:1325
-#: Src/wptKeyManager.cpp:585 Src/wptKeyManager.cpp:686
-#: Src/wptKeyManager.cpp:724 Src/wptKeyManagerDlg.cpp:1165
-#: Src/wptKeyManagerDlg.cpp:1185 Src/wptKeyManagerDlg.cpp:1218
-#: Src/wptKeyManagerDlg.cpp:1237 Src/wptKeyManagerDlg.cpp:1253
-#: Src/wptKeyManagerDlg.cpp:1385 Src/wptKeyManagerDlg.cpp:1403
+#: Src/wptFileManagerDlg.cpp:320 Src/wptKeyEditDlgs.cpp:1223
+#: Src/wptKeyEditDlgs.cpp:1272 Src/wptKeyEditDlgs.cpp:1346
+#: Src/wptKeyManager.cpp:612 Src/wptKeyManager.cpp:710
+#: Src/wptKeyManager.cpp:746 Src/wptKeyManagerDlg.cpp:1249
+#: Src/wptKeyManagerDlg.cpp:1268 Src/wptKeyManagerDlg.cpp:1301
+#: Src/wptKeyManagerDlg.cpp:1320 Src/wptKeyManagerDlg.cpp:1336
+#: Src/wptKeyManagerDlg.cpp:1468 Src/wptKeyManagerDlg.cpp:1486
#: Src/wptKeyserverSearchDlg.cpp:127
msgid "Please select a key."
msgstr ""
@@ -1241,17 +1245,17 @@
msgid "File Manager (use drag & drop to add files)"
msgstr ""
-#: Src/wptFileManagerDlg.cpp:457 Src/wptKeyManagerDlg.cpp:775
+#: Src/wptFileManagerDlg.cpp:457 Src/wptKeyManagerDlg.cpp:831
#: Src/wptOwnertrustDlg.cpp:98
msgid "File"
msgstr ""
-#: Src/wptFileManagerDlg.cpp:458 Src/wptKeyManagerDlg.cpp:776
-#: Src/wptKeyManagerDlg.cpp:780 Src/wptKeyManagerDlg.cpp:791
+#: Src/wptFileManagerDlg.cpp:458 Src/wptKeyManagerDlg.cpp:832
+#: Src/wptKeyManagerDlg.cpp:837 Src/wptKeyManagerDlg.cpp:848
msgid "Edit"
msgstr ""
-#: Src/wptFileManagerDlg.cpp:459 Src/wptKeyManagerDlg.cpp:777
+#: Src/wptFileManagerDlg.cpp:459 Src/wptKeyManagerDlg.cpp:833
msgid "View"
msgstr ""
@@ -1271,8 +1275,8 @@
msgid "&Decrypt"
msgstr ""
-#: Src/wptFileManagerDlg.cpp:464 Src/wptKeyManagerDlg.cpp:792
-#: Src/wptKeyManagerDlg.cpp:999
+#: Src/wptFileManagerDlg.cpp:464 Src/wptKeyManagerDlg.cpp:849
+#: Src/wptKeyManagerDlg.cpp:892
msgid "&Sign"
msgstr ""
@@ -1416,26 +1420,26 @@
msgid "&Specify a new GnuPG home directory"
msgstr ""
-#: Src/wptGPG.cpp:814
+#: Src/wptGPG.cpp:808
msgid ""
"The selected keyring has the read-only file\n"
"attribute. In this state you do not have write\n"
"access. Do you want to remove the attribute?"
msgstr ""
-#: Src/wptGPG.cpp:817
+#: Src/wptGPG.cpp:811
msgid "GPG Information"
msgstr ""
-#: Src/wptGPG.cpp:821
+#: Src/wptGPG.cpp:815
msgid "Could not reset read-only state."
msgstr ""
-#: Src/wptGPG.cpp:822 Src/wptGPG.cpp:1154 Src/wptGPG.cpp:1163
+#: Src/wptGPG.cpp:816 Src/wptGPG.cpp:1096 Src/wptGPG.cpp:1105
msgid "GPG Error"
msgstr ""
-#: Src/wptGPG.cpp:834
+#: Src/wptGPG.cpp:828
msgid ""
"You do not have file access to modify the contents of\n"
"one or both of the selected keyrings.\n"
@@ -1444,77 +1448,75 @@
"caused by another program which already opened the files.\n"
msgstr ""
-#: Src/wptGPG.cpp:839
+#: Src/wptGPG.cpp:833
msgid "GPG Warning"
msgstr ""
-#: Src/wptGPG.cpp:866 Src/wptGPGPrefsDlg.cpp:118 Src/wptGPGPrefsDlg.cpp:124
-#: Src/wptGPGPrefsDlg.cpp:132 Src/wptGPGPrefsDlg.cpp:142
-#: Src/wptGPGPrefsDlg.cpp:152 Src/wptGPGPrefsDlg.cpp:164
-#: Src/wptGPGPrefsDlg.cpp:168 Src/wptGPGPrefsDlg.cpp:172
-#: Src/wptGPGPrefsDlg.cpp:176 Src/wptGPGPrefsDlg.cpp:181
-#: Src/wptGPGPrefsDlg.cpp:192 Src/wptKeyEditDlgs.cpp:1597
-#: Src/wptKeyManagerDlg.cpp:802 Src/wptMainProc.cpp:432
-#: Src/wptPreferencesDlg.cpp:209 Src/wptPreferencesDlg.cpp:258
-#: Src/wptPreferencesDlg.cpp:269 Src/wptPreferencesDlg.cpp:281
-#: Src/wptPreferencesDlg.cpp:294 Src/wptPreferencesDlg.cpp:340
-#: Src/wptRegistry.cpp:590
+#: Src/wptGPG.cpp:857 Src/wptGPGPrefsDlg.cpp:177 Src/wptGPGPrefsDlg.cpp:183
+#: Src/wptGPGPrefsDlg.cpp:189 Src/wptGPGPrefsDlg.cpp:195
+#: Src/wptGPGPrefsDlg.cpp:200 Src/wptGPGPrefsDlg.cpp:205
+#: Src/wptGPGPrefsDlg.cpp:210 Src/wptGPGPrefsDlg.cpp:224
+#: Src/wptKeyEditDlgs.cpp:1618 Src/wptKeyManagerDlg.cpp:859
+#: Src/wptMainProc.cpp:432 Src/wptPreferencesDlg.cpp:209
+#: Src/wptPreferencesDlg.cpp:258 Src/wptPreferencesDlg.cpp:269
+#: Src/wptPreferencesDlg.cpp:281 Src/wptPreferencesDlg.cpp:294
+#: Src/wptPreferencesDlg.cpp:340 Src/wptRegistry.cpp:608
msgid "Preferences"
msgstr ""
-#: Src/wptGPG.cpp:867
+#: Src/wptGPG.cpp:858
#, c-format
msgid ""
"%s does not exit.\n"
"Do you want to create this directory?"
msgstr ""
-#: Src/wptGPG.cpp:949
+#: Src/wptGPG.cpp:886
msgid "Please choose your public keyring"
msgstr ""
-#: Src/wptGPG.cpp:952 Src/wptGPG.cpp:972
+#: Src/wptGPG.cpp:889 Src/wptGPG.cpp:909
msgid "No keyring was chosen. Exit."
msgstr ""
-#: Src/wptGPG.cpp:958
+#: Src/wptGPG.cpp:895
msgid "Overwrite old public keyring?"
msgstr ""
-#: Src/wptGPG.cpp:963 Src/wptGPG.cpp:982
+#: Src/wptGPG.cpp:900 Src/wptGPG.cpp:919
msgid "Could not copy file."
msgstr ""
-#: Src/wptGPG.cpp:969
+#: Src/wptGPG.cpp:906
msgid "Please choose your secret keyring"
msgstr ""
-#: Src/wptGPG.cpp:977
+#: Src/wptGPG.cpp:914
msgid "Overwrite old secret keyring?"
msgstr ""
-#: Src/wptGPG.cpp:1027 Src/wptGPG.cpp:1113 Src/wptGPG.cpp:1126
+#: Src/wptGPG.cpp:964 Src/wptGPG.cpp:1054 Src/wptGPG.cpp:1067
msgid "Backup"
msgstr ""
-#: Src/wptGPG.cpp:1027
+#: Src/wptGPG.cpp:964
#, c-format
msgid "Backup keyring \"%s\" failed"
msgstr ""
-#: Src/wptGPG.cpp:1114
+#: Src/wptGPG.cpp:1055
#, c-format
msgid ""
"The backup drive '%s' does not seems to accessable.\n"
"Please insert/check the drive to continue."
msgstr ""
-#: Src/wptGPG.cpp:1126
+#: Src/wptGPG.cpp:1067
#, c-format
msgid "Invalid backup mode %d"
msgstr ""
-#: Src/wptGPG.cpp:1154
+#: Src/wptGPG.cpp:1095
msgid "No GPG error description available."
msgstr ""
@@ -1585,93 +1587,79 @@
"Are you sure?"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:64 Src/wptKeyManagerDlg.cpp:1360
+#: Src/wptGPGPrefsDlg.cpp:127 Src/wptKeyManagerDlg.cpp:1443
#: Src/wptMainProc.cpp:587
msgid "GnuPG Preferences"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:66
+#: Src/wptGPGPrefsDlg.cpp:129
msgid "GnuPG home directory (where both keyrings are located)"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:68
-msgid "GnuPG config file (default: use gpg.conf)"
-msgstr ""
-
-#: Src/wptGPGPrefsDlg.cpp:70
+#: Src/wptGPGPrefsDlg.cpp:131
msgid "GnuPG exe file location (full path with added gpg.exe)"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:72
+#: Src/wptGPGPrefsDlg.cpp:133
msgid "Locale directory (to access the translation files)"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:73
+#: Src/wptGPGPrefsDlg.cpp:134
msgid "Ask for the signature class during key sign"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:74
+#: Src/wptGPGPrefsDlg.cpp:135
msgid "Comment in armored files"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:75
+#: Src/wptGPGPrefsDlg.cpp:136
msgid "Encrypt to this key"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:76
+#: Src/wptGPGPrefsDlg.cpp:137
msgid "General GPG options"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:118
+#: Src/wptGPGPrefsDlg.cpp:176
msgid "Please enter the GnuPG home directory."
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:130
-msgid ""
-"Could not find GPG config file.\n"
-"Do you want to create a config file?"
-msgstr ""
-
-#: Src/wptGPGPrefsDlg.cpp:152
-msgid "Could not save 'OptFile' in the registry."
-msgstr ""
-
-#: Src/wptGPGPrefsDlg.cpp:164
+#: Src/wptGPGPrefsDlg.cpp:188
msgid "Could not save 'HomeDir' in the registry."
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:168
+#: Src/wptGPGPrefsDlg.cpp:194
msgid "Please enter where GPG.exe is located."
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:172
+#: Src/wptGPGPrefsDlg.cpp:199
msgid "Could not find the GPG program in this directory."
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:176
+#: Src/wptGPGPrefsDlg.cpp:204
msgid "Could not save 'gpgProgram' in the registry"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:192
+#: Src/wptGPGPrefsDlg.cpp:223
msgid "Could not get GPG config file"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:225
+#: Src/wptGPGPrefsDlg.cpp:256
msgid "Choose GPG home directory"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:242
+#: Src/wptGPGPrefsDlg.cpp:275
+msgid "Choose locale directory"
+msgstr ""
+
+#: Src/wptGPGPrefsDlg.cpp:281
msgid "Choose GPG binary"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:243
+#: Src/wptGPGPrefsDlg.cpp:282
msgid "Executable Files (*.exe)"
msgstr ""
-#: Src/wptGPGPrefsDlg.cpp:250
-msgid "Choose GPG config file"
-msgstr ""
-
#: Src/wptGroupsDlg.cpp:53
msgid "New Group"
msgstr ""
@@ -1720,52 +1708,52 @@
msgid "Unknown Hotkey"
msgstr ""
-#: Src/wptImagelist.cpp:50 Src/wptKeyManager.cpp:142 Src/wptKeyManager.cpp:147
-#: Src/wptKeyManager.cpp:197 Src/wptKeyManager.cpp:276
-#: Src/wptKeyManager.cpp:283 Src/wptKeyManager.cpp:312
-#: Src/wptKeyManager.cpp:317 Src/wptKeyManager.cpp:324
-#: Src/wptKeyManager.cpp:326 Src/wptKeyManager.cpp:347
-#: Src/wptKeyManager.cpp:364 Src/wptKeyManager.cpp:368
-#: Src/wptKeyManager.cpp:374 Src/wptKeyManager.cpp:392
-#: Src/wptKeyManager.cpp:414 Src/wptKeyManager.cpp:419
-#: Src/wptKeyManager.cpp:422 Src/wptKeyManager.cpp:427
-#: Src/wptKeyManager.cpp:433 Src/wptKeyManager.cpp:438
-#: Src/wptKeyManager.cpp:524 Src/wptKeyManager.cpp:532
-#: Src/wptKeyManager.cpp:585 Src/wptKeyManager.cpp:612
-#: Src/wptKeyManager.cpp:623 Src/wptKeyManager.cpp:635
-#: Src/wptKeyManager.cpp:661 Src/wptKeyManager.cpp:686
-#: Src/wptKeyManager.cpp:691 Src/wptKeyManager.cpp:719
-#: Src/wptKeyManager.cpp:724 Src/wptKeyManager.cpp:750
-#: Src/wptKeyManager.cpp:792 Src/wptKeyManager.cpp:798
-#: Src/wptKeyManager.cpp:902 Src/wptKeyManager.cpp:932
-#: Src/wptKeyManagerDlg.cpp:773 Src/wptKeyManagerDlg.cpp:835
-#: Src/wptKeyManagerDlg.cpp:1138 Src/wptKeyManagerDlg.cpp:1166
-#: Src/wptKeyManagerDlg.cpp:1185 Src/wptKeyManagerDlg.cpp:1192
-#: Src/wptKeyManagerDlg.cpp:1202 Src/wptKeyManagerDlg.cpp:1218
-#: Src/wptKeyManagerDlg.cpp:1224 Src/wptKeyManagerDlg.cpp:1237
-#: Src/wptKeyManagerDlg.cpp:1253 Src/wptKeyManagerDlg.cpp:1285
-#: Src/wptKeyManagerDlg.cpp:1324 Src/wptKeyManagerDlg.cpp:1385
-#: Src/wptKeyManagerDlg.cpp:1403 Src/wptKeyManagerDlg.cpp:1408
-#: Src/wptKeyManagerDlg.cpp:1413 Src/wptKeyManagerDlg.cpp:1487
-#: Src/wptKeyManagerDlg.cpp:1648 Src/wptKeysigDlg.cpp:88
-#: Src/wptKeysigDlg.cpp:99 Src/wptKeysigDlg.cpp:320 Src/wptKeysigDlg.cpp:326
-#: Src/wptKeysigDlg.cpp:370 Src/wptKeysigDlg.cpp:429 Src/wptMainProc.cpp:400
+#: Src/wptImagelist.cpp:50 Src/wptKeyManager.cpp:166 Src/wptKeyManager.cpp:171
+#: Src/wptKeyManager.cpp:222 Src/wptKeyManager.cpp:301
+#: Src/wptKeyManager.cpp:308 Src/wptKeyManager.cpp:337
+#: Src/wptKeyManager.cpp:342 Src/wptKeyManager.cpp:349
+#: Src/wptKeyManager.cpp:351 Src/wptKeyManager.cpp:372
+#: Src/wptKeyManager.cpp:389 Src/wptKeyManager.cpp:393
+#: Src/wptKeyManager.cpp:399 Src/wptKeyManager.cpp:417
+#: Src/wptKeyManager.cpp:439 Src/wptKeyManager.cpp:444
+#: Src/wptKeyManager.cpp:447 Src/wptKeyManager.cpp:452
+#: Src/wptKeyManager.cpp:458 Src/wptKeyManager.cpp:463
+#: Src/wptKeyManager.cpp:549 Src/wptKeyManager.cpp:557
+#: Src/wptKeyManager.cpp:612 Src/wptKeyManager.cpp:639
+#: Src/wptKeyManager.cpp:649 Src/wptKeyManager.cpp:660
+#: Src/wptKeyManager.cpp:686 Src/wptKeyManager.cpp:710
+#: Src/wptKeyManager.cpp:717 Src/wptKeyManager.cpp:741
+#: Src/wptKeyManager.cpp:746 Src/wptKeyManager.cpp:772
+#: Src/wptKeyManager.cpp:809 Src/wptKeyManager.cpp:815
+#: Src/wptKeyManager.cpp:919 Src/wptKeyManager.cpp:949
+#: Src/wptKeyManagerDlg.cpp:947 Src/wptKeyManagerDlg.cpp:968
+#: Src/wptKeyManagerDlg.cpp:1222 Src/wptKeyManagerDlg.cpp:1250
+#: Src/wptKeyManagerDlg.cpp:1268 Src/wptKeyManagerDlg.cpp:1275
+#: Src/wptKeyManagerDlg.cpp:1285 Src/wptKeyManagerDlg.cpp:1301
+#: Src/wptKeyManagerDlg.cpp:1307 Src/wptKeyManagerDlg.cpp:1320
+#: Src/wptKeyManagerDlg.cpp:1336 Src/wptKeyManagerDlg.cpp:1368
+#: Src/wptKeyManagerDlg.cpp:1407 Src/wptKeyManagerDlg.cpp:1468
+#: Src/wptKeyManagerDlg.cpp:1486 Src/wptKeyManagerDlg.cpp:1491
+#: Src/wptKeyManagerDlg.cpp:1496 Src/wptKeyManagerDlg.cpp:1571
+#: Src/wptKeyManagerDlg.cpp:1732 Src/wptKeysigDlg.cpp:88
+#: Src/wptKeysigDlg.cpp:99 Src/wptKeysigDlg.cpp:321 Src/wptKeysigDlg.cpp:327
+#: Src/wptKeysigDlg.cpp:370 Src/wptKeysigDlg.cpp:432 Src/wptMainProc.cpp:400
#: Src/wptMainProc.cpp:558
msgid "Key Manager"
msgstr ""
-#: Src/wptImportList.cpp:264 Src/wptKeyEditDlgs.cpp:209
-#: Src/wptKeyEditDlgs.cpp:1004 Src/wptKeyEditDlgs.cpp:1065
-#: Src/wptKeyEditDlgs.cpp:1337 Src/wptKeyEditDlgs.cpp:1357
-#: Src/wptKeyEditDlgs.cpp:1394 Src/wptKeyEditDlgs.cpp:1423
-#: Src/wptKeylist.cpp:363 Src/wptKeyPropsDlg.cpp:147 Src/wptKeysigDlg.cpp:136
+#: Src/wptImportList.cpp:264 Src/wptKeyEditDlgs.cpp:205
+#: Src/wptKeyEditDlgs.cpp:1025 Src/wptKeyEditDlgs.cpp:1086
+#: Src/wptKeyEditDlgs.cpp:1358 Src/wptKeyEditDlgs.cpp:1378
+#: Src/wptKeyEditDlgs.cpp:1415 Src/wptKeyEditDlgs.cpp:1444
+#: Src/wptKeylist.cpp:374 Src/wptKeyPropsDlg.cpp:146 Src/wptKeysigDlg.cpp:136
#: Src/wptKeysigDlg.cpp:201
msgid "Revoked"
msgstr ""
-#: Src/wptImportList.cpp:266 Src/wptKeyEditDlgs.cpp:210
-#: Src/wptKeyEditDlgs.cpp:1002 Src/wptKeyEditDlgs.cpp:1258
-#: Src/wptKeylist.cpp:365 Src/wptKeyPropsDlg.cpp:144 Src/wptKeysigDlg.cpp:135
+#: Src/wptImportList.cpp:266 Src/wptKeyEditDlgs.cpp:206
+#: Src/wptKeyEditDlgs.cpp:1023 Src/wptKeyEditDlgs.cpp:1279
+#: Src/wptKeylist.cpp:376 Src/wptKeyPropsDlg.cpp:143 Src/wptKeysigDlg.cpp:135
#: Src/wptKeysigDlg.cpp:202
msgid "Expired"
msgstr ""
@@ -1778,35 +1766,35 @@
msgid "public key"
msgstr ""
-#: Src/wptImportList.cpp:303 Src/wptKeyEditDlgs.cpp:1082
+#: Src/wptImportList.cpp:303 Src/wptKeyEditDlgs.cpp:1103
msgid "Invalid user ID"
msgstr ""
-#: Src/wptImportList.cpp:352 Src/wptKeylist.cpp:526 Src/wptKeylist.cpp:535
-#: Src/wptKeyManagerDlg.cpp:788 Src/wptKeyserverSearchDlg.cpp:48
+#: Src/wptImportList.cpp:352 Src/wptKeylist.cpp:536 Src/wptKeylist.cpp:545
+#: Src/wptKeyManagerDlg.cpp:845 Src/wptKeyserverSearchDlg.cpp:48
#: Src/wptSigList.cpp:51 Src/wptVerifyList.cpp:91 Src/wptVerifyList.cpp:100
msgid "User ID"
msgstr ""
-#: Src/wptImportList.cpp:353 Src/wptKeylist.cpp:528 Src/wptKeylist.cpp:538
+#: Src/wptImportList.cpp:353 Src/wptKeylist.cpp:538 Src/wptKeylist.cpp:548
#: Src/wptKeyserverSearchDlg.cpp:45
msgid "Size"
msgstr ""
-#: Src/wptImportList.cpp:354 Src/wptKeyEditDlgs.cpp:928 Src/wptKeylist.cpp:527
-#: Src/wptKeylist.cpp:536 Src/wptKeyRevokersDlg.cpp:51
+#: Src/wptImportList.cpp:354 Src/wptKeyEditDlgs.cpp:949 Src/wptKeylist.cpp:537
+#: Src/wptKeylist.cpp:546 Src/wptKeyRevokersDlg.cpp:51
#: Src/wptKeyserverSearchDlg.cpp:46 Src/wptSigList.cpp:55
#: Src/wptVerifyList.cpp:99
msgid "Key ID"
msgstr ""
-#: Src/wptImportList.cpp:355 Src/wptKeyEditDlgs.cpp:929
-#: Src/wptKeyEditDlgs.cpp:1034 Src/wptKeylist.cpp:542
+#: Src/wptImportList.cpp:355 Src/wptKeyEditDlgs.cpp:950
+#: Src/wptKeyEditDlgs.cpp:1055 Src/wptKeylist.cpp:552
#: Src/wptKeyserverSearchDlg.cpp:47 Src/wptSigList.cpp:54
msgid "Creation"
msgstr ""
-#: Src/wptImportList.cpp:356 Src/wptKeylist.cpp:537
+#: Src/wptImportList.cpp:356 Src/wptKeylist.cpp:547
msgid "Type"
msgstr ""
@@ -1832,269 +1820,274 @@
msgid "Key Cache"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:183
+#: Src/wptKeyEditDlgs.cpp:179
msgid "Ultimate"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:198 Src/wptKeyEditDlgs.cpp:999
-#: Src/wptKeylist.cpp:222 Src/wptKeylist.cpp:324 Src/wptKeylist.cpp:884
+#: Src/wptKeyEditDlgs.cpp:194 Src/wptKeyEditDlgs.cpp:1020
+#: Src/wptKeylist.cpp:234 Src/wptKeylist.cpp:336 Src/wptKeylist.cpp:894
msgid "Never"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:211 Src/wptKeyEditDlgs.cpp:1006
+#: Src/wptKeyEditDlgs.cpp:207 Src/wptKeyEditDlgs.cpp:1027
msgid "OK"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:233
+#: Src/wptKeyEditDlgs.cpp:229
msgid "user ID"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:234
+#: Src/wptKeyEditDlgs.cpp:230
#, c-format
msgid ""
"Could not get key information for: \"%s\":\n"
"%s"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:269
+#: Src/wptKeyEditDlgs.cpp:285
msgid ""
"Remember that the image is stored within your public key. If you use a very "
"large picture, your key will become very large as well! Keeping the image "
"close to 240x288 is a good size to use."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:270
+#: Src/wptKeyEditDlgs.cpp:286
msgid ""
"Pick an image to use for your photo ID.\n"
"The image must be a JPEG file."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:271 Src/wptKeyEditDlgs.cpp:365
+#: Src/wptKeyEditDlgs.cpp:287 Src/wptKeyEditDlgs.cpp:387
#: Src/wptKeysignDlg.cpp:257
msgid "Passphrase"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:273
+#: Src/wptKeyEditDlgs.cpp:289
msgid "Add Photo ID"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:289
+#: Src/wptKeyEditDlgs.cpp:305
msgid "Select Image File"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:289
+#: Src/wptKeyEditDlgs.cpp:306
msgid "JPEG Files (*.jpg, *.jpeg)"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:296 Src/wptKeyRevokeDlg.cpp:135
-msgid "Please enter a file name."
+#: Src/wptKeyEditDlgs.cpp:309 Src/wptKeyEditDlgs.cpp:319
+#: Src/wptKeyEditDlgs.cpp:325 Src/wptKeyEditDlgs.cpp:331
+#: Src/wptKeyEditDlgs.cpp:343 Src/wptKeyEditDlgs.cpp:840
+msgid "Add Photo"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:296 Src/wptKeyEditDlgs.cpp:302
-#: Src/wptKeyEditDlgs.cpp:308 Src/wptKeyEditDlgs.cpp:322
-#: Src/wptKeyEditDlgs.cpp:819
-msgid "Add Photo"
+#: Src/wptKeyEditDlgs.cpp:310
+#, c-format
+msgid "'%s' is not a valid JPEG file."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:300
+#: Src/wptKeyEditDlgs.cpp:319 Src/wptKeyRevokeDlg.cpp:135
+msgid "Please enter a file name."
+msgstr ""
+
+#: Src/wptKeyEditDlgs.cpp:323
msgid ""
"The JPEG is really large.\n"
"Are you sure you want to use it?"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:308
+#: Src/wptKeyEditDlgs.cpp:331
msgid "Please enter a passphrase."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:327
+#: Src/wptKeyEditDlgs.cpp:348
msgid "Photo successfully added."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:327 Src/wptKeyEditDlgs.cpp:405
-#: Src/wptKeyEditDlgs.cpp:488 Src/wptKeyEditDlgs.cpp:652
-#: Src/wptKeyEditDlgs.cpp:1359 Src/wptKeyEditDlgs.cpp:1425
-#: Src/wptKeyEditDlgs.cpp:1505 Src/wptKeyEditDlgs.cpp:1678
+#: Src/wptKeyEditDlgs.cpp:349 Src/wptKeyEditDlgs.cpp:427
+#: Src/wptKeyEditDlgs.cpp:509 Src/wptKeyEditDlgs.cpp:673
+#: Src/wptKeyEditDlgs.cpp:1380 Src/wptKeyEditDlgs.cpp:1446
+#: Src/wptKeyEditDlgs.cpp:1526 Src/wptKeyEditDlgs.cpp:1700
#: Src/wptKeygenDlg.cpp:547 Src/wptKeygenDlg.cpp:663
-#: Src/wptKeyPropsDlg.cpp:340 Src/wptKeyRevokeDlg.cpp:164
+#: Src/wptKeyPropsDlg.cpp:338 Src/wptKeyRevokeDlg.cpp:164
#: Src/wptOwnertrustDlg.cpp:124 Src/wptOwnertrustDlg.cpp:136
msgid "GnuPG Status"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:363
+#: Src/wptKeyEditDlgs.cpp:385
msgid "Appointing a key as designated revoker cannot be undone."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:364
+#: Src/wptKeyEditDlgs.cpp:386
msgid "Public key"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:367 Src/wptKeyEditDlgs.cpp:383
-#: Src/wptKeyEditDlgs.cpp:389 Src/wptKeyEditDlgs.cpp:400
-#: Src/wptKeyEditDlgs.cpp:832
+#: Src/wptKeyEditDlgs.cpp:389 Src/wptKeyEditDlgs.cpp:405
+#: Src/wptKeyEditDlgs.cpp:411 Src/wptKeyEditDlgs.cpp:422
+#: Src/wptKeyEditDlgs.cpp:853
msgid "Add Revoker"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:383 Src/wptKeyEditDlgs.cpp:1389
-#: Src/wptKeyEditDlgs.cpp:1442 Src/wptKeyEditDlgs.cpp:1484
-#: Src/wptKeyEditDlgs.cpp:1622 Src/wptKeyEditDlgs.cpp:1651
+#: Src/wptKeyEditDlgs.cpp:405 Src/wptKeyEditDlgs.cpp:1410
+#: Src/wptKeyEditDlgs.cpp:1463 Src/wptKeyEditDlgs.cpp:1505
+#: Src/wptKeyEditDlgs.cpp:1644 Src/wptKeyEditDlgs.cpp:1673
msgid "Please select a user ID."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:389 Src/wptKeygenDlg.cpp:475
+#: Src/wptKeyEditDlgs.cpp:411 Src/wptKeygenDlg.cpp:475
#: Src/wptKeyRevokeDlg.cpp:143
msgid "Please enter the passphrase."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:405
+#: Src/wptKeyEditDlgs.cpp:427
msgid "Revoker successfully addded."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:437
+#: Src/wptKeyEditDlgs.cpp:458
msgid "Add new User ID"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:439
+#: Src/wptKeyEditDlgs.cpp:460
msgid "&Email"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:440
+#: Src/wptKeyEditDlgs.cpp:461
msgid "&Comment"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:456
+#: Src/wptKeyEditDlgs.cpp:477
msgid "Please enter a name (min. 5 chars.)"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:456 Src/wptKeyEditDlgs.cpp:460
-#: Src/wptKeyEditDlgs.cpp:465 Src/wptKeyEditDlgs.cpp:469
-#: Src/wptKeyEditDlgs.cpp:486
+#: Src/wptKeyEditDlgs.cpp:477 Src/wptKeyEditDlgs.cpp:481
+#: Src/wptKeyEditDlgs.cpp:486 Src/wptKeyEditDlgs.cpp:490
+#: Src/wptKeyEditDlgs.cpp:507
msgid "UserID"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:460
+#: Src/wptKeyEditDlgs.cpp:481
msgid ""
"Please enter the email address in the email field and not in the name field"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:465
+#: Src/wptKeyEditDlgs.cpp:486
msgid "Please enter an email address."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:469
+#: Src/wptKeyEditDlgs.cpp:490
msgid "Invalid email address."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:488
+#: Src/wptKeyEditDlgs.cpp:509
msgid "user ID successfully added."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:571 Src/wptKeyEditDlgs.cpp:768
+#: Src/wptKeyEditDlgs.cpp:592 Src/wptKeyEditDlgs.cpp:789
msgid "Add new Subkey"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:572
+#: Src/wptKeyEditDlgs.cpp:593
msgid "Key type"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:573
+#: Src/wptKeyEditDlgs.cpp:594
msgid "Size in bits"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:574
+#: Src/wptKeyEditDlgs.cpp:595
msgid "Key expiration"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:617
+#: Src/wptKeyEditDlgs.cpp:638
msgid "Please select one entry."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:617 Src/wptKeyEditDlgs.cpp:622
-#: Src/wptKeyEditDlgs.cpp:650 Src/wptKeyEditDlgs.cpp:752
+#: Src/wptKeyEditDlgs.cpp:638 Src/wptKeyEditDlgs.cpp:643
+#: Src/wptKeyEditDlgs.cpp:671 Src/wptKeyEditDlgs.cpp:773
msgid "Add Subkey"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:622
+#: Src/wptKeyEditDlgs.cpp:643
msgid "DSS uses a fixed keysize of 1024. Size changed."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:652
+#: Src/wptKeyEditDlgs.cpp:673
msgid "Subkey successfully added."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:680 Src/wptKeyEditDlgs.cpp:752
-#: Src/wptKeyEditDlgs.cpp:819 Src/wptKeyEditDlgs.cpp:832
-#: Src/wptKeyEditDlgs.cpp:872 Src/wptKeyEditDlgs.cpp:1247
-#: Src/wptKeyEditDlgs.cpp:1320 Src/wptKeyEditDlgs.cpp:1379
-#: Src/wptKeyManagerDlg.cpp:1191
+#: Src/wptKeyEditDlgs.cpp:701 Src/wptKeyEditDlgs.cpp:773
+#: Src/wptKeyEditDlgs.cpp:840 Src/wptKeyEditDlgs.cpp:853
+#: Src/wptKeyEditDlgs.cpp:893 Src/wptKeyEditDlgs.cpp:1268
+#: Src/wptKeyEditDlgs.cpp:1341 Src/wptKeyEditDlgs.cpp:1400
+#: Src/wptKeyManagerDlg.cpp:1274
msgid "There is no secret key available!"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:680 Src/wptKeyEditDlgs.cpp:696
+#: Src/wptKeyEditDlgs.cpp:701 Src/wptKeyEditDlgs.cpp:717
msgid "Add user ID"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:804
+#: Src/wptKeyEditDlgs.cpp:825
msgid "Preferred keyserver successfully set."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:877
+#: Src/wptKeyEditDlgs.cpp:898
msgid ""
"Cannot change passphrase because the key\n"
"is protected with the IDEA encryption algorithm."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:884
+#: Src/wptKeyEditDlgs.cpp:905
msgid "Current (old) Passphrase"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:888
+#: Src/wptKeyEditDlgs.cpp:909
msgid "New Passphrase"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:895 Src/wptKeygenDlg.cpp:503
+#: Src/wptKeyEditDlgs.cpp:916 Src/wptKeygenDlg.cpp:503
#: Src/wptPassphraseDlg.cpp:175
msgid ""
"The passphrase contains 8-bit characters.\n"
"It is not suggested to use charset specific characters."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:910
+#: Src/wptKeyEditDlgs.cpp:931
msgid "Change Passwd"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:912
+#: Src/wptKeyEditDlgs.cpp:933
msgid "Passphrase successfully changed."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:927
+#: Src/wptKeyEditDlgs.cpp:948
msgid "Description"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:930
+#: Src/wptKeyEditDlgs.cpp:951
msgid "Expires"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:944 Src/wptKeyEditDlgs.cpp:1040
+#: Src/wptKeyEditDlgs.cpp:965 Src/wptKeyEditDlgs.cpp:1061
msgid "Could not find key."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:949
+#: Src/wptKeyEditDlgs.cpp:970
msgid "No subkey(s) found."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1031 Src/wptKeylist.cpp:530 Src/wptKeylist.cpp:540
+#: Src/wptKeyEditDlgs.cpp:1052 Src/wptKeylist.cpp:540 Src/wptKeylist.cpp:550
msgid "Validity"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1033
+#: Src/wptKeyEditDlgs.cpp:1054
msgid "Email"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1046
+#: Src/wptKeyEditDlgs.cpp:1067
msgid "No user ID(s) found."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1161
+#: Src/wptKeyEditDlgs.cpp:1182
msgid ""
"ADDUID \t\tadd a user ID\r\n"
"ADDPHOTO \t\tadd a photo ID\r\n"
@@ -2113,19 +2106,19 @@
"ENABLE \t\tenable a key\r\n"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1182
+#: Src/wptKeyEditDlgs.cpp:1203
msgid "Key Edit Help"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1198
+#: Src/wptKeyEditDlgs.cpp:1219
msgid "Primary key can not be deleted!"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1206
+#: Src/wptKeyEditDlgs.cpp:1227
msgid "Primary subkey can not be deleted!"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1212
+#: Src/wptKeyEditDlgs.cpp:1233
#, c-format
msgid ""
"\"Subkey %s.\"\n"
@@ -2136,34 +2129,34 @@
"Do you really want to delete this subkey?"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1224
+#: Src/wptKeyEditDlgs.cpp:1245
msgid "Delete Subkey"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1228
+#: Src/wptKeyEditDlgs.cpp:1249
msgid "Subkey successfully deleted."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1259
+#: Src/wptKeyEditDlgs.cpp:1280
msgid ""
"Key already expired.\n"
"\n"
"Do you want to change the expiration date?"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1268 Src/wptKeyEditDlgs.cpp:1271
+#: Src/wptKeyEditDlgs.cpp:1289 Src/wptKeyEditDlgs.cpp:1292
msgid "Key Expiration Date"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1292
+#: Src/wptKeyEditDlgs.cpp:1313
msgid "Expire Subkey"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1298
+#: Src/wptKeyEditDlgs.cpp:1319
msgid "Subkey expire date successfully set."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1329
+#: Src/wptKeyEditDlgs.cpp:1350
msgid ""
"No subkeys were found, if you want to revoke the\n"
"whole key, please use the Key Manager command directly.\n"
@@ -2171,31 +2164,31 @@
"This command is only available to revoke single subkeys"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1338
+#: Src/wptKeyEditDlgs.cpp:1359
msgid "Key already revoked."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1355
+#: Src/wptKeyEditDlgs.cpp:1376
msgid "Revoke Subkey"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1359
+#: Src/wptKeyEditDlgs.cpp:1380
msgid "Subkey successfully revoked."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1379
+#: Src/wptKeyEditDlgs.cpp:1400
msgid "Revoke user ID"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1384
+#: Src/wptKeyEditDlgs.cpp:1405
msgid "Key has only one user ID."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1395
+#: Src/wptKeyEditDlgs.cpp:1416
msgid "This user ID has been already revoked."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1400
+#: Src/wptKeyEditDlgs.cpp:1421
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -2203,39 +2196,39 @@
"Do you really want to revoke this user ID?"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1421
+#: Src/wptKeyEditDlgs.cpp:1442
msgid "Revoke Signature"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1425
+#: Src/wptKeyEditDlgs.cpp:1446
msgid "User ID successfully revoked"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1502
+#: Src/wptKeyEditDlgs.cpp:1523
msgid "Primary"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1505
+#: Src/wptKeyEditDlgs.cpp:1526
msgid "User ID successfully flagged"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1589
+#: Src/wptKeyEditDlgs.cpp:1611
msgid "No preferences available."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1595 Src/wptKeyeditSetPrefDlg.cpp:116
-msgid "Key Preferences"
+#: Src/wptKeyEditDlgs.cpp:1617
+msgid "MDC feature"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1596
-msgid "MDC feature"
+#: Src/wptKeyEditDlgs.cpp:1619 Src/wptKeyeditSetPrefDlg.cpp:116
+msgid "Key Preferences"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1647
+#: Src/wptKeyEditDlgs.cpp:1669
msgid "Primary user ID can not be deleted!"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1657
+#: Src/wptKeyEditDlgs.cpp:1679
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -2243,55 +2236,55 @@
"Do you really want to delete this user ID?"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1674
+#: Src/wptKeyEditDlgs.cpp:1696
msgid "Delete user ID"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1678
+#: Src/wptKeyEditDlgs.cpp:1700
msgid "User ID successfully deleted"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1760
+#: Src/wptKeyEditDlgs.cpp:1782
msgid "Could not set subkey window procedure."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1770
+#: Src/wptKeyEditDlgs.cpp:1792
msgid "Could not set user ID window procedure."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1778
+#: Src/wptKeyEditDlgs.cpp:1800
msgid "Command>"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1811
+#: Src/wptKeyEditDlgs.cpp:1832
msgid "Please select a command."
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1816
+#: Src/wptKeyEditDlgs.cpp:1837
msgid "This command cannot be used with PGP 2 (v3) keys.\n"
msgstr ""
-#: Src/wptKeyEditOwnertrustDlg.cpp:55 Src/wptKeyPropsDlg.cpp:330
+#: Src/wptKeyEditOwnertrustDlg.cpp:55 Src/wptKeyPropsDlg.cpp:328
msgid "Change Ownertrust"
msgstr ""
-#: Src/wptKeyEditOwnertrustDlg.cpp:57 Src/wptKeyPropsDlg.cpp:61
+#: Src/wptKeyEditOwnertrustDlg.cpp:57 Src/wptKeyPropsDlg.cpp:60
msgid "Don't know"
msgstr ""
-#: Src/wptKeyEditOwnertrustDlg.cpp:58 Src/wptKeyPropsDlg.cpp:62
+#: Src/wptKeyEditOwnertrustDlg.cpp:58 Src/wptKeyPropsDlg.cpp:61
msgid "I do NOT trust"
msgstr ""
-#: Src/wptKeyEditOwnertrustDlg.cpp:59 Src/wptKeyPropsDlg.cpp:63
+#: Src/wptKeyEditOwnertrustDlg.cpp:59 Src/wptKeyPropsDlg.cpp:62
msgid "I trust marginally"
msgstr ""
-#: Src/wptKeyEditOwnertrustDlg.cpp:60 Src/wptKeyPropsDlg.cpp:64
+#: Src/wptKeyEditOwnertrustDlg.cpp:60 Src/wptKeyPropsDlg.cpp:63
msgid "I trust fully"
msgstr ""
-#: Src/wptKeyEditOwnertrustDlg.cpp:61 Src/wptKeyPropsDlg.cpp:66
+#: Src/wptKeyEditOwnertrustDlg.cpp:61 Src/wptKeyPropsDlg.cpp:65
msgid "I trust ultimately"
msgstr ""
@@ -2307,8 +2300,8 @@
msgstr ""
#: Src/wptKeyEditOwnertrustDlg.cpp:88 Src/wptKeyEditOwnertrustDlg.cpp:95
-#: Src/wptKeyEditOwnertrustDlg.cpp:104 Src/wptKeyManagerDlg.cpp:782
-#: Src/wptKeyManagerDlg.cpp:1445 Src/wptKeyPropsDlg.cpp:276
+#: Src/wptKeyEditOwnertrustDlg.cpp:104 Src/wptKeyManagerDlg.cpp:839
+#: Src/wptKeyManagerDlg.cpp:1528 Src/wptKeyPropsDlg.cpp:275
#: Src/wptOwnertrustDlg.cpp:97 Src/wptOwnertrustDlg.cpp:121
#: Src/wptOwnertrustDlg.cpp:133
msgid "Ownertrust"
@@ -2332,7 +2325,7 @@
#: Src/wptKeygenDlg.cpp:462 Src/wptKeygenDlg.cpp:476 Src/wptKeygenDlg.cpp:483
#: Src/wptKeygenDlg.cpp:492 Src/wptKeygenDlg.cpp:497 Src/wptKeygenDlg.cpp:505
#: Src/wptKeygenDlg.cpp:544 Src/wptKeygenDlg.cpp:637
-#: Src/wptKeyManagerDlg.cpp:1313 Src/wptPassphraseDlg.cpp:95
+#: Src/wptKeyManagerDlg.cpp:1396 Src/wptPassphraseDlg.cpp:95
msgid "Key Generation"
msgstr ""
@@ -2495,7 +2488,7 @@
#: Src/wptKeygenDlg.cpp:596 Src/wptKeygenDlg.cpp:618 Src/wptKeygenDlg.cpp:623
#: Src/wptKeygenDlg.cpp:629 Src/wptKeygenDlg.cpp:634 Src/wptKeygenDlg.cpp:658
-#: Src/wptKeyManagerDlg.cpp:1339
+#: Src/wptKeyManagerDlg.cpp:1422
msgid "Key Generation Wizard"
msgstr ""
@@ -2555,57 +2548,57 @@
msgid "No keys updated."
msgstr ""
-#: Src/wptKeylist.cpp:236
+#: Src/wptKeylist.cpp:248
msgid "Key Pair"
msgstr ""
-#: Src/wptKeylist.cpp:238
+#: Src/wptKeylist.cpp:250
msgid "Key Pair (Card)"
msgstr ""
-#: Src/wptKeylist.cpp:239
+#: Src/wptKeylist.cpp:251
msgid "Public Key"
msgstr ""
-#: Src/wptKeylist.cpp:322 Src/wptKeylist.cpp:885
+#: Src/wptKeylist.cpp:334 Src/wptKeylist.cpp:895
msgid "None"
msgstr ""
-#: Src/wptKeylist.cpp:326
+#: Src/wptKeylist.cpp:338
msgid "Marginal"
msgstr ""
-#: Src/wptKeylist.cpp:329 Src/wptKeylist.cpp:490
+#: Src/wptKeylist.cpp:341 Src/wptKeylist.cpp:500
msgid "Full"
msgstr ""
-#: Src/wptKeylist.cpp:367 Src/wptKeyPropsDlg.cpp:150
+#: Src/wptKeylist.cpp:378 Src/wptKeyPropsDlg.cpp:149
msgid "Disabled"
msgstr ""
-#: Src/wptKeylist.cpp:529 Src/wptKeylist.cpp:539
+#: Src/wptKeylist.cpp:539 Src/wptKeylist.cpp:549
msgid "Cipher"
msgstr ""
-#: Src/wptKeylist.cpp:541 Src/wptVerifyList.cpp:90 Src/wptVerifyList.cpp:98
+#: Src/wptKeylist.cpp:551 Src/wptVerifyList.cpp:90 Src/wptVerifyList.cpp:98
msgid "Trust"
msgstr ""
-#: Src/wptKeylist.cpp:707 Src/wptPassphraseCB.cpp:110
+#: Src/wptKeylist.cpp:717 Src/wptPassphraseCB.cpp:110
#: Src/wptVerifyList.cpp:181
msgid "Invalid User ID"
msgstr ""
-#: Src/wptKeylist.cpp:882 Src/wptKeyPropsDlg.cpp:67 Src/wptVerifyList.cpp:159
+#: Src/wptKeylist.cpp:892 Src/wptKeyPropsDlg.cpp:66 Src/wptVerifyList.cpp:159
#: Src/wptVerifyList.cpp:235
msgid "Unknown"
msgstr ""
-#: Src/wptKeylist.cpp:883
+#: Src/wptKeylist.cpp:893
msgid "Undefined"
msgstr ""
-#: Src/wptKeylist.cpp:926
+#: Src/wptKeylist.cpp:936
#, c-format
msgid ""
"It is NOT certain that the key belongs to the person\n"
@@ -2615,106 +2608,105 @@
"Use \"%s\" anyway?"
msgstr ""
-#: Src/wptKeylist.cpp:934 Src/wptKeylist.cpp:1010
+#: Src/wptKeylist.cpp:944 Src/wptKeylist.cpp:1020
msgid "Recipients"
msgstr ""
-#: Src/wptKeylist.cpp:1009
+#: Src/wptKeylist.cpp:1019
#, c-format
msgid ""
"KeyID %s.\n"
"Do you really want to export a revoked key?"
msgstr ""
-#: Src/wptKeylist.cpp:1111
+#: Src/wptKeylist.cpp:1121
msgid "Secret Key List"
msgstr ""
-#: Src/wptKeyManager.cpp:141
+#: Src/wptKeyManager.cpp:165
msgid ""
"This key has expired!\n"
"Key check failed."
msgstr ""
-#: Src/wptKeyManager.cpp:146
+#: Src/wptKeyManager.cpp:170
msgid ""
"This key has been revoked by its owner!\n"
"Key check failed."
msgstr ""
-#: Src/wptKeyManager.cpp:195
+#: Src/wptKeyManager.cpp:220
msgid "Key status changed."
msgstr ""
-#: Src/wptKeyManager.cpp:316
+#: Src/wptKeyManager.cpp:341
msgid "Only one secret key can be exported."
msgstr ""
-#: Src/wptKeyManager.cpp:327
+#: Src/wptKeyManager.cpp:352
#, c-format
msgid "Secret key successfully saved in '%s'."
msgstr ""
-#: Src/wptKeyManager.cpp:369
+#: Src/wptKeyManager.cpp:394
#, c-format
msgid "Key(s) successfully saved in '%s'."
msgstr ""
-#: Src/wptKeyManager.cpp:375
+#: Src/wptKeyManager.cpp:400
#, c-format
msgid "Could not save data to '%s'."
msgstr ""
-#: Src/wptKeyManager.cpp:426
+#: Src/wptKeyManager.cpp:451
msgid "No valid OpenPGP keys found."
msgstr ""
-#: Src/wptKeyManager.cpp:431
+#: Src/wptKeyManager.cpp:456
msgid ""
"The key you want to import is dash escacped.\n"
"Do you want to extract the key?"
msgstr ""
-#: Src/wptKeyManager.cpp:437
+#: Src/wptKeyManager.cpp:462
msgid "Cannot import dash escaped OpenPGP keys."
msgstr ""
-#: Src/wptKeyManager.cpp:461 Src/wptKeyManager.cpp:472
-#: Src/wptKeyManager.cpp:486
+#: Src/wptKeyManager.cpp:486 Src/wptKeyManager.cpp:497
+#: Src/wptKeyManager.cpp:511
msgid "Key Import HTTP"
msgstr ""
-#: Src/wptKeyManager.cpp:461
+#: Src/wptKeyManager.cpp:486
#, c-format
msgid "Invalid HTTP URL: %s"
msgstr ""
-#: Src/wptKeyManager.cpp:512
+#: Src/wptKeyManager.cpp:537
msgid "File Import"
msgstr ""
-#: Src/wptKeyManager.cpp:523
+#: Src/wptKeyManager.cpp:548
msgid "Could not read key-data from file."
msgstr ""
-#: Src/wptKeyManager.cpp:590
+#: Src/wptKeyManager.cpp:617
msgid "Do you really want to confirm each key?"
msgstr ""
-#: Src/wptKeyManager.cpp:591
+#: Src/wptKeyManager.cpp:618
msgid "Delete Confirmation"
msgstr ""
-#: Src/wptKeyManager.cpp:613
+#: Src/wptKeyManager.cpp:640
#, c-format
msgid ""
"Do you really want to delete this key?\n"
"\n"
-"pub %s %s %s\n"
-" \"%s\""
+"%s"
msgstr ""
-#: Src/wptKeyManager.cpp:624
+#: Src/wptKeyManager.cpp:650
#, c-format
msgid ""
"Do you really want to delete this KEY PAIR?\n"
@@ -2722,349 +2714,337 @@
"Please remember that you are not able to decrypt\n"
"messages you stored with this key any longer.\n"
"\n"
-"pub/sec %s %s %s\n"
-" \"%s\""
+"%s"
msgstr ""
-#: Src/wptKeyManager.cpp:632
+#: Src/wptKeyManager.cpp:657
msgid ""
"The actual secret key is stored on a smartcard.\n"
"Only the public key and the secret key \n"
"placeholder will be deleted.\n"
msgstr ""
-#: Src/wptKeyManager.cpp:692
+#: Src/wptKeyManager.cpp:718
#, c-format
msgid "Do you really want to send '%s' to keyserver %s?"
msgstr ""
-#: Src/wptKeyManager.cpp:718
+#: Src/wptKeyManager.cpp:740
msgid "Please only select one key."
msgstr ""
-#: Src/wptKeyManager.cpp:791
+#: Src/wptKeyManager.cpp:808
msgid "Could not connect to keyserver, abort procedure."
msgstr ""
-#: Src/wptKeyManager.cpp:797
+#: Src/wptKeyManager.cpp:814
msgid "Do you really want to refresh all keys in the keyring?"
msgstr ""
-#: Src/wptKeyManager.cpp:857
+#: Src/wptKeyManager.cpp:873
#, c-format
msgid "Default Key: %s"
msgstr ""
-#: Src/wptKeyManager.cpp:859
+#: Src/wptKeyManager.cpp:875
#, c-format
msgid "Default Key: 0x%s"
msgstr ""
-#: Src/wptKeyManager.cpp:879
+#: Src/wptKeyManager.cpp:895
#, c-format
msgid "%d secret keys"
msgstr ""
-#: Src/wptKeyManager.cpp:880
+#: Src/wptKeyManager.cpp:896
#, c-format
msgid "%d keys"
msgstr ""
-#: Src/wptKeyManager.cpp:916
+#: Src/wptKeyManager.cpp:933
msgid "Search"
msgstr ""
-#: Src/wptKeyManager.cpp:916
+#: Src/wptKeyManager.cpp:933
msgid "Search for:"
msgstr ""
-#: Src/wptKeyManager.cpp:927
+#: Src/wptKeyManager.cpp:944
#, c-format
msgid "String pattern \"%s\" not found."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:344 Src/wptKeyManagerDlg.cpp:991
+#: Src/wptKeyManagerDlg.cpp:428 Src/wptKeyManagerDlg.cpp:884
msgid "Paste Key from Clipboard"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:778
+#: Src/wptKeyManagerDlg.cpp:834
msgid "Key"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:779 Src/wptKeyManagerDlg.cpp:851
+#: Src/wptKeyManagerDlg.cpp:835 Src/wptKeyManagerDlg.cpp:981
msgid "Groups"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:781
+#: Src/wptKeyManagerDlg.cpp:838
msgid "Send Mail..."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:783
+#: Src/wptKeyManagerDlg.cpp:840
msgid "&Copy\tCtrl+C"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:784
+#: Src/wptKeyManagerDlg.cpp:841
msgid "&Paste\tCtrl+V"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:785
+#: Src/wptKeyManagerDlg.cpp:842
msgid "Search...\tCtrl+F"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:786
+#: Src/wptKeyManagerDlg.cpp:843
msgid "Select All\tCtrl+A"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:787
+#: Src/wptKeyManagerDlg.cpp:844
msgid "&Quit"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:789
+#: Src/wptKeyManagerDlg.cpp:846
msgid "&Expert"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:790
+#: Src/wptKeyManagerDlg.cpp:847
msgid "&Normal"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:793 Src/wptKeyManagerDlg.cpp:794
-#: Src/wptKeyManagerDlg.cpp:997
+#: Src/wptKeyManagerDlg.cpp:850 Src/wptKeyManagerDlg.cpp:851
+#: Src/wptKeyManagerDlg.cpp:890
msgid "&Delete"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:795 Src/wptKeyManagerDlg.cpp:998
+#: Src/wptKeyManagerDlg.cpp:852 Src/wptKeyManagerDlg.cpp:891
msgid "&Revoke"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:796 Src/wptKeyManagerDlg.cpp:994
+#: Src/wptKeyManagerDlg.cpp:853 Src/wptKeyManagerDlg.cpp:887
msgid "&List Signatures"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:797 Src/wptKeyManagerDlg.cpp:1232
+#: Src/wptKeyManagerDlg.cpp:854 Src/wptKeyManagerDlg.cpp:1315
#: Src/wptKeyTrustPathDlg.cpp:130
msgid "List Trust Path"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:798
+#: Src/wptKeyManagerDlg.cpp:855
msgid "&Export..."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:799
+#: Src/wptKeyManagerDlg.cpp:856
msgid "&Import..."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:800 Src/wptKeysigDlg.cpp:356
+#: Src/wptKeyManagerDlg.cpp:857 Src/wptKeyManagerDlg.cpp:888
+#: Src/wptKeysigDlg.cpp:356
msgid "&Properties"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:801
+#: Src/wptKeyManagerDlg.cpp:858
msgid "Options"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:804
+#: Src/wptKeyManagerDlg.cpp:861
msgid "E&xport Secret Key"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:805
+#: Src/wptKeyManagerDlg.cpp:862
msgid "Re&load Key Cache"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:806
+#: Src/wptKeyManagerDlg.cpp:863
msgid "R&everify Signatures"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:807
+#: Src/wptKeyManagerDlg.cpp:864
msgid "Refresh &Keys (Keyserver)"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:808 Src/wptTextInputDlg.cpp:49
+#: Src/wptKeyManagerDlg.cpp:865 Src/wptTextInputDlg.cpp:49
msgid "Info"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:834 Src/wptKeysigDlg.cpp:369
-msgid "Could not set keylist window procedure."
-msgstr ""
-
-#: Src/wptKeyManagerDlg.cpp:947
-msgid "Delete key from keyring"
-msgstr ""
-
-#: Src/wptKeyManagerDlg.cpp:951
-msgid "Show key properties"
-msgstr ""
-
-#: Src/wptKeyManagerDlg.cpp:955
-msgid "Sign key"
-msgstr ""
-
-#: Src/wptKeyManagerDlg.cpp:959
-msgid "Import key to keyring"
-msgstr ""
-
-#: Src/wptKeyManagerDlg.cpp:963
-msgid "Export key to a file"
-msgstr ""
-
-#: Src/wptKeyManagerDlg.cpp:986
+#: Src/wptKeyManagerDlg.cpp:879
msgid "Copy User ID to Clipboard"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:987
+#: Src/wptKeyManagerDlg.cpp:880
msgid "Copy Key ID to Clipboard"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:988
+#: Src/wptKeyManagerDlg.cpp:881
msgid "Copy Fingerprint to Clipboard"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:989
+#: Src/wptKeyManagerDlg.cpp:882
msgid "Copy Key Info to Clipboard"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:990
+#: Src/wptKeyManagerDlg.cpp:883
msgid "Copy Key to Clipboard"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:992
+#: Src/wptKeyManagerDlg.cpp:885
msgid "Refresh from Keyserver"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:993
+#: Src/wptKeyManagerDlg.cpp:886
msgid "Set Implicit &Trust"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:995
-msgid "&Key Properties"
-msgstr ""
-
-#: Src/wptKeyManagerDlg.cpp:1000
+#: Src/wptKeyManagerDlg.cpp:893
msgid "&Enable"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1001
+#: Src/wptKeyManagerDlg.cpp:894
msgid "&Disable"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1002
+#: Src/wptKeyManagerDlg.cpp:895
msgid "Re&fresh from Keyserver"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1003
+#: Src/wptKeyManagerDlg.cpp:896
msgid "Set preferred Keyserver URL"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1004
+#: Src/wptKeyManagerDlg.cpp:897
msgid "Send Key to Mail Recipient"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1005
+#: Src/wptKeyManagerDlg.cpp:898
msgid "Set as Default Key"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1007
+#: Src/wptKeyManagerDlg.cpp:900
msgid "Key..."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1008
+#: Src/wptKeyManagerDlg.cpp:901
msgid "User ID..."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1009
+#: Src/wptKeyManagerDlg.cpp:902
msgid "Photo ID..."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1010
+#: Src/wptKeyManagerDlg.cpp:903
msgid "Revoker..."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1013
+#: Src/wptKeyManagerDlg.cpp:906
msgid "Key Attributes"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1014
+#: Src/wptKeyManagerDlg.cpp:907
msgid "Add"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1015
+#: Src/wptKeyManagerDlg.cpp:908
msgid "Send to Keyserver"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1068
-msgid "Paste into this group"
+#: Src/wptKeyManagerDlg.cpp:967 Src/wptKeysigDlg.cpp:369
+msgid "Could not set keylist window procedure."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1069
-msgid "Delete"
+#: Src/wptKeyManagerDlg.cpp:1079
+msgid "Delete key from keyring"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1130
+#: Src/wptKeyManagerDlg.cpp:1083
+msgid "Show key properties"
+msgstr ""
+
+#: Src/wptKeyManagerDlg.cpp:1087
+msgid "Sign key"
+msgstr ""
+
+#: Src/wptKeyManagerDlg.cpp:1091
+msgid "Import key to keyring"
+msgstr ""
+
+#: Src/wptKeyManagerDlg.cpp:1095
+msgid "Export key to a file"
+msgstr ""
+
+#: Src/wptKeyManagerDlg.cpp:1214
msgid "New"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1137
+#: Src/wptKeyManagerDlg.cpp:1221
msgid "Could not access public keyring"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1178 Src/wptKeysignDlg.cpp:230
+#: Src/wptKeyManagerDlg.cpp:1261 Src/wptKeysignDlg.cpp:230
#: Src/wptKeysignDlg.cpp:249 Src/wptKeysignDlg.cpp:326
#: Src/wptKeysignDlg.cpp:343 Src/wptKeysignDlg.cpp:347
msgid "Key Signing"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1201
+#: Src/wptKeyManagerDlg.cpp:1284
msgid "Key already revoked!"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1213 Src/wptKeyRevokeDlg.cpp:67
+#: Src/wptKeyManagerDlg.cpp:1296 Src/wptKeyRevokeDlg.cpp:67
#: Src/wptKeyRevokeDlg.cpp:89 Src/wptKeyRevokeDlg.cpp:131
#: Src/wptKeyRevokeDlg.cpp:136 Src/wptKeyRevokeDlg.cpp:143
#: Src/wptKeyRevokeDlg.cpp:159
msgid "Key Revocation"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1224
+#: Src/wptKeyManagerDlg.cpp:1307
msgid "It does not make any sense with a key pair!"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1248
+#: Src/wptKeyManagerDlg.cpp:1331
msgid "Key Signature List"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1268 Src/wptKeyPropsDlg.cpp:272
+#: Src/wptKeyManagerDlg.cpp:1351 Src/wptKeyPropsDlg.cpp:271
msgid "Key Properties"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1282
+#: Src/wptKeyManagerDlg.cpp:1365
msgid ""
"This is only useful when the keyring has been modified (sign a key...).\n"
"Do you really want to reload the keycache?"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1323
+#: Src/wptKeyManagerDlg.cpp:1406
msgid "Smart Card support is not available."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1350 Src/wptKeyserverDlg.cpp:437
+#: Src/wptKeyManagerDlg.cpp:1433 Src/wptKeyserverDlg.cpp:437
msgid "Keyserver Access"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1366
+#: Src/wptKeyManagerDlg.cpp:1449
msgid "GnuPG Options"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1371
+#: Src/wptKeyManagerDlg.cpp:1454
msgid "Choose Name of the Key File"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1407
+#: Src/wptKeyManagerDlg.cpp:1490
msgid "There is no corresponding secret key for this key."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1412
+#: Src/wptKeyManagerDlg.cpp:1495
msgid "You can only export one secret key."
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1417
+#: Src/wptKeyManagerDlg.cpp:1500
msgid ""
"This operation will export your *SECRET* key!\n"
"\n"
@@ -3075,26 +3055,26 @@
"Do you really want to export the key?"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1422
+#: Src/wptKeyManagerDlg.cpp:1505
msgid "WARNING"
msgstr ""
-#: Src/wptKeyManagerDlg.cpp:1487
+#: Src/wptKeyManagerDlg.cpp:1570
msgid "No key was selected, select all by default."
msgstr ""
-#: Src/wptKeyPropsDlg.cpp:197
+#: Src/wptKeyPropsDlg.cpp:196
#, c-format
msgid "Card-Type: %s\r\n"
msgstr ""
-#: Src/wptKeyPropsDlg.cpp:226
+#: Src/wptKeyPropsDlg.cpp:225
#, c-format
msgid ""
"Type: %s\r\n"
"Key ID: %s\r\n"
"Algorithm: %s\r\n"
-"Size: %s\r\n"
+"Size: %s bits\r\n"
"Created: %s\r\n"
"Expires: %s\r\n"
"Validity: %s\r\n"
@@ -3102,33 +3082,33 @@
"%s\r\n"
msgstr ""
-#: Src/wptKeyPropsDlg.cpp:273
+#: Src/wptKeyPropsDlg.cpp:272
msgid "&Change"
msgstr ""
-#: Src/wptKeyPropsDlg.cpp:274
+#: Src/wptKeyPropsDlg.cpp:273
msgid "&Revokers"
msgstr ""
-#: Src/wptKeyPropsDlg.cpp:275
+#: Src/wptKeyPropsDlg.cpp:274
msgid "Change &Passwd"
msgstr ""
-#: Src/wptKeyPropsDlg.cpp:282
+#: Src/wptKeyPropsDlg.cpp:281
msgid "Photo-ID not validated."
msgstr ""
-#: Src/wptKeyPropsDlg.cpp:314
+#: Src/wptKeyPropsDlg.cpp:313
msgid ""
"The status of this key is 'revoked' or 'expired'.\n"
"You cannot change the ownertrust of such keys."
msgstr ""
-#: Src/wptKeyPropsDlg.cpp:316 Src/wptKeyPropsDlg.cpp:323
+#: Src/wptKeyPropsDlg.cpp:315 Src/wptKeyPropsDlg.cpp:322
msgid "WinPT Warning"
msgstr ""
-#: Src/wptKeyPropsDlg.cpp:320
+#: Src/wptKeyPropsDlg.cpp:319
msgid ""
"This is a non-valid key.\n"
"Modifying the ownertrust has no effect on such keys.\n"
@@ -3136,11 +3116,11 @@
"Do you really want to continue?"
msgstr ""
-#: Src/wptKeyPropsDlg.cpp:339
+#: Src/wptKeyPropsDlg.cpp:337
msgid "Ownertrust successfully changed."
msgstr ""
-#: Src/wptKeyPropsDlg.cpp:357 Src/wptKeyRevokersDlg.cpp:134
+#: Src/wptKeyPropsDlg.cpp:355 Src/wptKeyRevokersDlg.cpp:134
msgid "Key Revokers"
msgstr ""
@@ -3444,23 +3424,23 @@
msgid "Non-exportable"
msgstr ""
-#: Src/wptKeysigDlg.cpp:295
+#: Src/wptKeysigDlg.cpp:296
msgid "Signature &Properties"
msgstr ""
-#: Src/wptKeysigDlg.cpp:296
+#: Src/wptKeysigDlg.cpp:297
msgid "Signing &Key Properties"
msgstr ""
-#: Src/wptKeysigDlg.cpp:319
+#: Src/wptKeysigDlg.cpp:320
msgid "Key not found in keyring, please get it from the keyserver first."
msgstr ""
-#: Src/wptKeysigDlg.cpp:326
+#: Src/wptKeysigDlg.cpp:327
msgid "Key not found in keyring."
msgstr ""
-#: Src/wptKeysigDlg.cpp:352
+#: Src/wptKeysigDlg.cpp:353
#, c-format
msgid "Signature List for \"%s\""
msgstr ""
@@ -3469,7 +3449,7 @@
msgid "&Receive Key"
msgstr ""
-#: Src/wptKeysigDlg.cpp:428
+#: Src/wptKeysigDlg.cpp:431
msgid "Really receive all missing keys?"
msgstr ""
@@ -3604,7 +3584,7 @@
msgid "Remove all passphrases from cache?"
msgstr ""
-#: Src/wptMainProc.cpp:488 Src/wptProgressDlg.cpp:122 Src/wptRegistry.cpp:162
+#: Src/wptMainProc.cpp:488 Src/wptProgressDlg.cpp:122 Src/wptRegistry.cpp:181
msgid "WinPT"
msgstr ""
@@ -3941,18 +3921,18 @@
msgid "Please fill out all required fields for authentication."
msgstr ""
-#: Src/wptRegistry.cpp:160
+#: Src/wptRegistry.cpp:179
msgid ""
"WinPT can register some GPG file types for you so they can be processed with "
"a double click in the explorer.\n"
"Do you want to continue?"
msgstr ""
-#: Src/wptRegistry.cpp:171
+#: Src/wptRegistry.cpp:190
msgid "WinPT WARNING"
msgstr ""
-#: Src/wptRegistry.cpp:172
+#: Src/wptRegistry.cpp:191
#, c-format
msgid ""
"It seems there was already a '%s' file type registered by another "
@@ -3960,7 +3940,7 @@
"Do you want to overwrite it?"
msgstr ""
-#: Src/wptRegistry.cpp:590
+#: Src/wptRegistry.cpp:608
msgid "Could not write to Registry."
msgstr ""
Modified: trunk/Src/ChangeLog
===================================================================
--- trunk/Src/ChangeLog 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/ChangeLog 2005-12-19 13:05:59 UTC (rev 128)
@@ -1,3 +1,32 @@
+2005-12-18 Timo Schulz <ts at g10code.com>
+
+ * wptKeyManagerDlg.cpp (save_column_size): New.
+ (restore_column_size): New.
+ (keymanager_dlg_proc): Save and restore column sizes for
+ the listview control.
+ * wptKeyManager.cpp (key_get_info): New.
+ (km_delete_keys): Use it here to have a consistent message.
+ Use stored key context and not the column data.
+ (km_enable_disable_key): Likewise.
+ (km_send_to_keyserver): Likewise.
+ (km_set_implicit_trust): Likewise.
+ * wptKeylist.cpp (get_key_pubalgo2): New.
+
+2005-12-17 Timo Schulz <ts at g10code.com>
+
+ * wptUTF8.cpp: Removed unused charset array.
+ * wptSigList.cpp (siglist_build): Increase size for 'class'
+ column.
+ * wptGPG.cpp (get_gnupg_path): Simplified.
+ * WinPT.cpp (load_gpg_env): New.
+ (check_crypto_engine): Return type is now bool.
+ * wptRegistry.cpp (is_gpg4win_installed): New.
+ * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): More consistent
+ dialog design.
+ * wptKeyManagerDlg.cpp (translate_menu_strings): New.
+ (translate_popupmenu_strings): New.
+ * wptKeyEditDlgs.cpp (is_jpg_file): New.
+
2005-12-13 Timo Schulz <ts at g10code.com>
* wptCommonDlg.cpp (http_dlg_proc): Localized missing elements.
Modified: trunk/Src/WinPT-en.rc
===================================================================
--- trunk/Src/WinPT-en.rc 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/WinPT-en.rc 2005-12-19 13:05:59 UTC (rev 128)
@@ -519,40 +519,37 @@
PUSHBUTTON "&Cancel",IDCANCEL,227,174,54,15
END
-IDD_WINPT_GPGPREFS DIALOG DISCARDABLE 0, 0, 227, 241
+IDD_WINPT_GPGPREFS DIALOG DISCARDABLE 0, 0, 227, 213
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "GnuPG Preferences"
FONT 8, "MS Sans Serif"
BEGIN
- GROUPBOX "",IDC_STATIC,5,4,208,65
+ GROUPBOX "",IDC_STATIC,5,4,208,39
LTEXT "GnuPG home directory (where both keyrings are located)",
IDC_GPGPREFS_HOMEINF,12,12,181,8
EDITTEXT IDC_GPGPREFS_HOMEDIR,12,22,171,12,ES_AUTOHSCROLL
- PUSHBUTTON "..",IDC_GPGPREFS_HOMEDLG,186,23,23,12
- LTEXT "GnuPG options file (default: use gpg.conf)",
- IDC_GPGPREFS_OPTINF,12,42,132,8
- EDITTEXT IDC_GPGPREFS_OPTFILE,12,53,171,12,ES_AUTOHSCROLL
- PUSHBUTTON "..",IDC_GPGPREFS_OPTDLG,186,53,24,11
+ PUSHBUTTON "..",IDC_GPGPREFS_HOMEDLG,188,23,20,13
LTEXT "GnuPG exe file location (full path with added gpg.exe)",
- IDC_GPGPREFS_EXEINF,12,77,170,8
- EDITTEXT IDC_GPGPREFS_EXEDIR,12,88,173,12,ES_AUTOHSCROLL
- PUSHBUTTON "..",IDC_GPGREFS_EXEDLG,186,88,23,11
+ IDC_GPGPREFS_EXEINF,12,51,170,8
+ EDITTEXT IDC_GPGPREFS_EXEDIR,12,62,173,12,ES_AUTOHSCROLL
+ PUSHBUTTON "..",IDC_GPGREFS_EXEDLG,188,62,20,13
+ GROUPBOX "",IDC_STATIC,6,44,209,34
LTEXT "Locale directory (to access the translation files)",
- IDC_GPGPREFS_LOCALINF,12,111,148,8
- EDITTEXT IDC_GPGPREFS_LOCALE,12,122,195,12,ES_AUTOHSCROLL
- GROUPBOX "General GPG options",IDC_GPGPREFS_ALLOPTINF,5,142,210,
+ IDC_GPGPREFS_LOCALINF,12,85,148,8
+ EDITTEXT IDC_GPGPREFS_LOCALE,12,96,172,12,ES_AUTOHSCROLL
+ PUSHBUTTON "..",IDC_GPGPREFS_LOCDLG,188,96,20,13
+ GROUPBOX "General GPG options",IDC_GPGPREFS_ALLOPTINF,5,116,210,
74
CONTROL "Ask for the signature class during key sign",
IDC_GPGPREFS_ASKLEVEL,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,11,156,166,10
- LTEXT "Comment in armored files",IDC_GPGPREFS_CMTINF,11,169,
+ WS_TABSTOP,11,130,166,10
+ LTEXT "Comment in armored files",IDC_GPGPREFS_CMTINF,11,143,
124,8
- EDITTEXT IDC_GPGPREFS_COMMENT,11,180,188,12,ES_AUTOHSCROLL
- LTEXT "Encrypt to this key",IDC_GPGPREFS_ENCINF,11,199,66,8
- EDITTEXT IDC_GPGPREFS_ENCTO,78,197,121,13,ES_AUTOHSCROLL
- PUSHBUTTON "&OK",IDC_GPGPREFS_SAVE,159,219,55,14
- GROUPBOX "",IDC_STATIC,6,70,209,34
- GROUPBOX "",IDC_STATIC,6,103,209,36
+ EDITTEXT IDC_GPGPREFS_COMMENT,11,154,188,12,ES_AUTOHSCROLL
+ LTEXT "Encrypt to this key",IDC_GPGPREFS_ENCINF,11,173,66,8
+ EDITTEXT IDC_GPGPREFS_ENCTO,78,171,121,13,ES_AUTOHSCROLL
+ PUSHBUTTON "&OK",IDC_GPGPREFS_SAVE,159,193,55,14
+ GROUPBOX "",IDC_STATIC,6,77,209,36
END
IDD_WINPT_IMPORT DIALOG DISCARDABLE 0, 0, 321, 118
@@ -581,7 +578,7 @@
IDD_WINPT_KEYSIG DIALOG DISCARDABLE 0, 0, 351, 170
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Signature list for key ..."
+CAPTION "Signature List for key ..."
FONT 8, "MS Sans Serif"
BEGIN
CONTROL "List1",IDC_KEYSIG_LIST,"SysListView32",LVS_REPORT |
@@ -856,7 +853,7 @@
IDD_WINPT_DATE DIALOG DISCARDABLE 0, 0, 93, 58
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Universal date dialog"
+CAPTION "Universal Date Dialog"
FONT 8, "MS Sans Serif"
BEGIN
CONTROL "DateTimePicker2",IDC_DATE_DTP,"SysDateTimePick32",
@@ -1399,7 +1396,7 @@
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "Enter URL to retrieve the public key",IDC_HTTP_TITLE,6,
- 6,114,8
+ 6,166,8
EDITTEXT IDC_HTTP_URL,6,18,170,12,ES_AUTOHSCROLL
DEFPUSHBUTTON "OK",IDOK,77,73,50,14
PUSHBUTTON "Cancel",IDCANCEL,129,73,50,14
@@ -1536,7 +1533,7 @@
LEFTMARGIN, 3
RIGHTMARGIN, 220
TOPMARGIN, 4
- BOTTOMMARGIN, 236
+ BOTTOMMARGIN, 208
END
IDD_WINPT_IMPORT, DIALOG
@@ -2090,6 +2087,7 @@
BEGIN
MENUITEM "&Copy\tCtrl+C", ID_KEYMISC_COPY
MENUITEM "&Paste\tCtrl+P", ID_KEYMISC_PASTE
+ MENUITEM "&Delete", ID_KEYMISC_DELETE2
MENUITEM SEPARATOR
MENUITEM "Search...\tCtrl+F", ID_KEYMISC_FIND
MENUITEM SEPARATOR
@@ -2193,7 +2191,7 @@
MENUITEM SEPARATOR
MENUITEM "Set as Default Key", ID_KEYCTX_SETDEFKEY, GRAYED
MENUITEM SEPARATOR
- MENUITEM "&Key Properties", ID_KEYCTX_PROPS
+ MENUITEM "&Properties", ID_KEYCTX_PROPS
END
END
@@ -2221,7 +2219,7 @@
BEGIN
POPUP "Context menu"
BEGIN
- MENUITEM "Paste into this group", ID_GROUP_PASTE
+ MENUITEM "Paste into this Group", ID_GROUP_PASTE
MENUITEM "Delete", ID_GROUP_DELETE
END
END
Modified: trunk/Src/WinPT.cpp
===================================================================
--- trunk/Src/WinPT.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/WinPT.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -114,6 +114,48 @@
}
+/* 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.
+ >0 fatal error.
+ -1 public keyring is empty or does not exist. */
+static int
+load_gpg_env (void)
+{
+ SECURITY_ATTRIBUTES sec_attr;
+ char *p;
+ char *pkr;
+
+ p = get_reg_entry_gpg4win ("gpg.exe");
+ if (!p)
+ return (1);
+ if (file_exist_check (p)) {
+ free_if_alloc (p);
+ return (1);
+ }
+ 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);
+ if (!CreateDirectory (p, &sec_attr)) {
+ msg_box (NULL, _("Could not create GPG home directory"),
+ _("WinPT Error"), MB_ERR);
+ free_if_alloc (p);
+ return (2);
+ }
+ }
+ pkr = make_filename (p, "pubring", "gpg");
+ free_if_alloc (p);
+ if (!pkr)
+ return -1;
+ if (get_file_size (pkr) == 0) {
+ free_if_alloc (pkr);
+ return -1;
+ }
+ return 0;
+}
+
/* check if the default key from the gpg.conf file is available in the
keyring. if not, bail out because encryption won't work properly then. */
static int
@@ -121,7 +163,7 @@
{
gpgme_key_t key;
gpgme_error_t err = GPG_ERR_NO_ERROR;
- char * defkey;
+ char *defkey;
defkey = get_gnupg_default_key ();
if (defkey)
@@ -169,7 +211,7 @@
/* Check that the underlying crypto engine fullfills the minimal
requirements so all commands work properly. */
-static int
+static bool
check_crypto_engine (void)
{
int ma=1, mi=4, pa=2; /* GPG 1.4.2 */
@@ -179,14 +221,14 @@
if (rc == -1) {
msg_box (NULL, _("Could not read GnuPG version."),
_("WinPT Error"), MB_ERR);
- return rc;
+ return false;
}
else if (rc) {
log_box (_("WinPT Error"), MB_ERR,
_("Sorry, you need a newer GPG version.\n"
"GPG version %d.%d.%d required GPG version "MIN_GPG_VER),
ma, mi, pa);
- return rc;
+ return false;
}
/* We enable smartcard support for GPG: >= 2 or >= 1.4.3 */
if (ma > 1 || pa >= 3)
@@ -195,7 +237,7 @@
gpgver[0] = ma;
gpgver[1] = mi;
gpgver[2] = pa;
- return rc;
+ return true;
}
@@ -289,6 +331,7 @@
return 0;
}
*/
+
if (gpg_md_selftest ()) {
msg_box (NULL, _("Cryptographic selftest failed."),
_("WinPT Error"), MB_ERR);
@@ -335,6 +378,9 @@
gnupg_load_config ();
}
+ if (is_gpg4win_installed ())
+ load_gpg_env (); /* XXX: check return code. */
+
rc = gnupg_check_homedir ();
if (rc) {
log_box (_("WinPT Error"), MB_ERR,
@@ -485,8 +531,7 @@
if (!first_start && !start_gpgprefs) {
gnupg_backup_options ();
- rc = check_crypto_engine ();
- if (rc) {
+ if (!check_crypto_engine ()) {
DestroyWindow (hwnd);
free_gnupg_table ();
return 0;
Modified: trunk/Src/resource.h
===================================================================
--- trunk/Src/resource.h 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/resource.h 2005-12-19 13:05:59 UTC (rev 128)
@@ -608,6 +608,7 @@
#define IDC_IMPSTAT_NSUBKINF 1494
#define IDC_IMPSTAT_NSIGINF 1495
#define IDC_SHOWPREF_PREFINF 1496
+#define IDC_GPGPREFS_LOCDLG 1497
#define ID_GPG_ENCRYPT 40003
#define ID_GPG_DECRYPT 40004
#define ID_GPG_SIGN 40005
@@ -779,7 +780,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 230
#define _APS_NEXT_COMMAND_VALUE 40177
-#define _APS_NEXT_CONTROL_VALUE 1497
+#define _APS_NEXT_CONTROL_VALUE 1498
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Modified: trunk/Src/wptGPG.cpp
===================================================================
--- trunk/Src/wptGPG.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/wptGPG.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -62,7 +62,7 @@
/* Return the application data folder of the current user. */
-static char*
+char*
multi_gnupg_path (int strict)
{
static char buf[256+64];
@@ -84,24 +84,21 @@
}
-/* Return the full path of the GnuPG application. First the registry is scanned
- for the entry 'HomeDir'. If it wasn't set, the default dir C:\GNUPG is used.
-*/
+/* Return the full path to the GPG home directory. First the 'HomeDir' entry
+ from the registry is used. Then the default $APPDATA\gnupg path. */
char*
get_gnupg_path (void)
{
- char *p = NULL;
- char *path = NULL;
-
- p = get_reg_entry_gpg (GPG_REG_HOME);
- if (p) {
- path = m_strdup (p);
- free_if_alloc (p);
- return path;
+ char *path;
+
+ path = get_reg_entry_gpg (GPG_REG_HOME);
+ if (path) {
+ if (dir_exist_check (path) == 0)
+ return path;
+ free_if_alloc (path);
}
- else
- return multi_gnupg_path (1);
- return m_strdup ("c:\\gnupg");
+ path = multi_gnupg_path (1);
+ return path;
}
@@ -293,8 +290,6 @@
} /* get_gnupg_default_key */
-char* get_reg_entry_gpg4win (const char *path);
-
/* Check if GPG4WIN is available and if so, use the
install path to figure out where the gpg.exe is. */
char*
@@ -782,7 +777,7 @@
/* XXX: does not work with write-protected floppies */
static int
-my_access (const char * fname)
+my_access (const char *fname)
{
HANDLE hd;
hd = CreateFile (fname, GENERIC_WRITE, FILE_SHARE_WRITE,
@@ -801,14 +796,13 @@
int
gpg_check_permissions (int showmsg)
{
- char * p, * name = NULL;
+ char *p = NULL;
+ char *name = NULL;
int failed = 0, ans=0, attrs=0;
p = get_gnupg_path ();
- check_keyring (&p);
- if (p) {
+ if (check_keyring (&p) && p) {
name = make_filename (p, "pubring", "gpg");
- free_if_alloc (p);
if ((attrs=GetFileAttributes (name)) & FILE_ATTRIBUTE_READONLY) {
ans = msg_box (NULL,
_("The selected keyring has the read-only file\n"
@@ -840,41 +834,36 @@
failed = 2;
}
}
+ free_if_alloc (p);
free_if_alloc (name);
return failed;
}
-/* Check the GPG home dir. If all methods failed, try to
- create the default folder. */
-static int
-check_homedir (void)
+/* Check the GPG home dir. First try to read the 'HomeDir' registry entry,
+ then check for $APPDATA\gnupg. Create the dir if it does not exists. */
+int
+gnupg_check_homedir (void)
{
char *homedir = NULL;
- int yes = 0, set_reg=0;
+ int val = 0;
int rc = 0;
homedir = get_reg_entry_gpg (GPG_REG_HOME);
- if (!homedir) {
- set_reg = 1;
- homedir = multi_gnupg_path (0);
- }
if (!homedir)
- homedir = m_strdup ("c:\\gnupg");
+ homedir = multi_gnupg_path (0);
if (homedir) {
if (GetFileAttributes (homedir) == 0xFFFFFFFF) {
- yes = log_box (_("Preferences"), MB_YESNO,
+ val = log_box (_("Preferences"), MB_YESNO,
_("%s does not exit.\n"
"Do you want to create this directory?"), homedir);
- if (yes == IDYES) {
+ if (val == IDYES) {
if (!CreateDirectory (homedir, NULL))
rc = WPTERR_DIR_CREAT;
}
else
rc = WPTERR_DIR_OPEN;
}
- if (set_reg)
- set_reg_entry_gpg (GPG_REG_HOME, homedir);
free_if_alloc (homedir);
}
return rc;
@@ -882,58 +871,6 @@
int
-gnupg_check_homedir (void)
-{
- char *homedir = NULL;
- char *prog = NULL;
- int rc = 0;
-
- rc = check_homedir ();
- if (rc)
- return rc;
- if ((homedir = get_reg_entry_gpg (GPG_REG_HOME)) &&
- !(prog = get_reg_entry_gpg (GPG_REG_EXE ))) {
- prog = make_filename (homedir, "gpg", "exe");
- if (file_exist_check (prog) == 0) {
- rc = set_reg_entry_gpg (GPG_REG_EXE, prog);
- if (rc)
- goto fail;
- }
- free_if_alloc (homedir);
- free_if_alloc (prog);
- return rc;
- }
- if ((prog = get_reg_entry_gpg (GPG_REG_EXE))
- && file_exist_check (prog)) {
- free_if_alloc (prog);
- homedir = get_reg_entry_gpg (GPG_REG_HOME);
- if (!homedir) {
- rc = WPTERR_GENERAL;
- goto fail;
- }
- prog = make_filename (homedir, "gpg", "exe");
- if (file_exist_check (prog) == 0) {
- rc = set_reg_entry_gpg (GPG_REG_EXE, prog);
- if (rc)
- goto fail;
- free_if_alloc (prog);
- return rc;
- }
- }
-
- /* Change the return code if homedir doesn't exist or if the program
- doesn't exist. Note that exist_checks return 0 to suggest existance. */
- if ((!homedir || dir_exist_check (homedir)))
- rc = WPTERR_GENERAL;
-
-fail:
- free_if_alloc (homedir);
- free_if_alloc (prog);
- return rc;
-} /* gnupg_check_homedir */
-
-
-int
gnupg_copy_keyrings (void)
{
const char * pring, * sring;
@@ -990,6 +927,7 @@
} /* gnupg_import_keyrings */
+/* Backup the gpg.conf file. */
void
gnupg_backup_options (void)
{
@@ -997,15 +935,14 @@
char bak[512];
cfgfile = get_gnupg_cfgfile ();
- if (cfgfile == NULL)
+ if (!cfgfile)
return;
_snprintf (bak, DIM (bak)-1, "%s.bak", cfgfile);
CopyFile (cfgfile, bak, FALSE);
free_if_alloc (cfgfile);
-} /* gnupg_backup_options */
+}
-
static int
backup_one_file (const char *srcpath, const char *srcn,
const char *dstpath, const char *dstn)
@@ -1031,16 +968,19 @@
} /* backup_one_file */
+/* Figure out first public keyring which is not empty.
+ Return value: 1 on success. */
static int
-check_keyring (char ** r_path)
+check_keyring (char **r_path)
{
- char * p;
- char * opt, * name;
+ char *p;
+ char *opt;
+ char *name;
if (!*r_path)
return 0;
p = make_filename (*r_path, "pubring", "gpg");
- if (!p || get_file_size (p) > 0)
+ if (!p || get_file_size (p) <= 0)
return 0;
opt = get_gnupg_cfgfile ();
@@ -1052,8 +992,7 @@
if (!name)
return 0;
p = strrchr (name, '\\');
- if (!p)
- {
+ if (!p) {
free_if_alloc (name);
return 0;
}
@@ -1066,13 +1005,15 @@
}
+/* Return a temp name based on the day of the week. */
static char*
get_backup_name (const char *templ)
{
struct tm *tm;
char *p;
+ time_t t;
- time_t t = time (NULL);
+ t = time (NULL);
tm = localtime (&t);
p = new char [strlen (templ) + 8 + 1];
if (!p)
@@ -1151,7 +1092,8 @@
return;
fp = fopen( tmpath, "rb" );
if (!fp) {
- msg_box( NULL, _("No GPG error description available."), _("GPG Error"), MB_INFO );
+ msg_box (NULL, _("No GPG error description available."),
+ _("GPG Error"), MB_INFO);
return;
}
errstr = new char[size+1];
Modified: trunk/Src/wptGPGPrefsDlg.cpp
===================================================================
--- trunk/Src/wptGPGPrefsDlg.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/wptGPGPrefsDlg.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -1,4 +1,4 @@
-/* wptGPGPrefsDlg.cpp - WinPT GnuPG Preferences
+/* wptGPGPrefsDlg.cpp - GnuPG Preferences
* Copyright (C) 2001-2005 Timo Schulz
*
* This file is part of WinPT.
@@ -17,6 +17,7 @@
* along with WinPT; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@@ -30,31 +31,93 @@
#include "wptGPG.h"
#include "wptRegistry.h"
#include "wptCommonCtl.h"
-#include "wptContext.h" /* for passphrase_s */
-#include "wptDlgs.h"
#include "wptW32API.h"
-#include "wptVersion.h"
-static struct {
- const char *name;
- int id;
-} opts[] = {
- {"HomeDir", IDC_GPGPREFS_HOMEDIR},
- {"gpgProgram", IDC_GPGPREFS_EXEDIR},
- {"OptFile", IDC_GPGPREFS_OPTFILE},
- {NULL, 0}
-};
+/* Load the GPG4WIN default values and disabled the
+ dialog items to indicate these are fixed values.
+ Return value: true if GPG4win was found. */
+static bool
+load_gpg4win_values (HWND dlg)
+{
+ char *path;
+ char *p;
+
+ path = get_reg_entry_gpg4win (NULL);
+ if (!path)
+ return false;
+ p = make_filename (path, "gpg", "exe");
+ if (p) {
+ if (file_exist_check (p) == 0) {
+ SetDlgItemText (dlg, IDC_GPGPREFS_EXEDIR, p);
+ EnableWindow (GetDlgItem (dlg, IDC_GPGPREFS_EXEDIR), FALSE);
+ EnableWindow (GetDlgItem (dlg, IDC_GPGREFS_EXEDLG), FALSE);
+ }
+ free_if_alloc (p);
+ }
+
+ p = get_reg_entry_mo ();
+ if (p) {
+ if (dir_exist_check (p) == 0) {
+ SetDlgItemText (dlg, IDC_GPGPREFS_LOCALE, p);
+ EnableWindow (GetDlgItem (dlg, IDC_GPGPREFS_LOCALE), FALSE);
+ }
+ free_if_alloc (p);
+ }
+
+ p = multi_gnupg_path (1);
+ if (p) {
+ SetDlgItemText (dlg, IDC_GPGPREFS_HOMEDIR, p);
+ EnableWindow (GetDlgItem (dlg, IDC_GPGPREFS_HOMEDIR), FALSE);
+ EnableWindow (GetDlgItem (dlg, IDC_GPGPREFS_HOMEDLG), FALSE);
+ free_if_alloc (p);
+ }
+
+ return true;
+}
+
+
+/* Load the GPG values direct from the registry. */
+static void
+load_registry_values (HWND dlg)
+{
+ char *p;
+
+ p = get_reg_entry_gpg ("HomeDir");
+ if (p) {
+ SetDlgItemText (dlg, IDC_GPGPREFS_HOMEDIR, p);
+ free_if_alloc (p);
+ }
+ p = get_reg_entry_gpg ("gpgProgram");
+ if (p) {
+ SetDlgItemText (dlg, IDC_GPGPREFS_EXEDIR, p);
+ free_if_alloc (p);
+ }
+ p = get_reg_entry_mo ();
+ if (p) {
+ SetDlgItemText (dlg, IDC_GPGPREFS_LOCALE, p);
+ free_if_alloc (p);
+ }
+ if (!item_get_text_length (dlg, IDC_GPGPREFS_HOMEDIR)) {
+ p = multi_gnupg_path (0);
+ if (p && dir_exist_check (p) == 0)
+ SetDlgItemText (dlg, IDC_GPGPREFS_HOMEDIR, p);
+ free_if_alloc (p);
+ }
+}
+
+
/* Dialog box procedure for the GPG preferences. */
BOOL CALLBACK
gpgprefs_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
- char exedir[512], homedir[512], optfile[512];
+ static int gpg4win = false;
+ char exedir[512];
+ char homedir[512];
char locale_dir[512];
char *p = NULL, t[256];
const char *s;
- const char *file;
- int have_optfile = 0;
+ const char *folder;
gpg_optfile_t opt = NULL;
gpg_option_t e;
UINT n;
@@ -64,8 +127,6 @@
SetWindowText (dlg, _("GnuPG Preferences"));
SetDlgItemText (dlg, IDC_GPGPREFS_HOMEINF,
_("GnuPG home directory (where both keyrings are located)"));
- SetDlgItemText ( dlg, IDC_GPGPREFS_OPTINF,
- _("GnuPG config file (default: use gpg.conf)"));
SetDlgItemText ( dlg, IDC_GPGPREFS_EXEINF,
_("GnuPG exe file location (full path with added gpg.exe)"));
SetDlgItemText ( dlg, IDC_GPGPREFS_LOCALINF,
@@ -75,47 +136,45 @@
SetDlgItemText (dlg, IDC_GPGPREFS_ENCINF, _("Encrypt to this key"));
SetDlgItemText (dlg, IDC_GPGPREFS_ALLOPTINF, _("General GPG options"));
- for (n=0; (s = opts[n].name); n++) {
- p = get_reg_entry_gpg (s);
- if (p) {
- SetDlgItemText (dlg, opts[n].id, p);
- free_if_alloc (p);
- }
- }
-
- p = get_reg_entry_mo ();
- if (p) {
- SetDlgItemText (dlg, IDC_GPGPREFS_LOCALE, p);
- free_if_alloc (p);
- }
+ gpg4win = load_gpg4win_values (dlg);
+ if (!gpg4win)
+ load_registry_values (dlg);
+
p = get_gnupg_cfgfile ();
if (p) {
parse_gpg_options (p, &opt);
free_if_alloc (p);
- if (opt && find_option( opt, "ask-cert-level" ) )
- CheckDlgButton( dlg, IDC_GPGPREFS_ASKLEVEL, BST_CHECKED );
- if (opt && (e=find_option( opt, "comment" )) )
+ if (opt) {
+ if (find_option (opt, "ask-cert-level"))
+ CheckDlgButton (dlg, IDC_GPGPREFS_ASKLEVEL, BST_CHECKED);
+ if ((e=find_option (opt, "comment")))
SetDlgItemText (dlg, IDC_GPGPREFS_COMMENT, e->val);
- if (opt && (e=find_option( opt, "encrypt-to")))
- SetDlgItemText (dlg, IDC_GPGPREFS_ENCTO, e->val);
- if (opt)
+ if ((e=find_option (opt, "encrypt-to")))
+ SetDlgItemText (dlg, IDC_GPGPREFS_ENCTO, e->val);
release_gpg_options (opt);
+ }
}
center_window (dlg, NULL);
SetForegroundWindow (dlg);
return TRUE;
-
+
+ case WM_DESTROY:
+ gpg4win = false;
+ break;
+
case WM_SYSCOMMAND:
- if( LOWORD( wparam ) == SC_CLOSE )
- EndDialog( dlg, TRUE );
+ if (LOWORD (wparam) == SC_CLOSE)
+ EndDialog (dlg, TRUE);
return FALSE;
case WM_COMMAND:
- switch ( LOWORD( wparam ) ) {
+ switch (LOWORD (wparam)) {
case IDC_GPGPREFS_SAVE:
- if( !GetDlgItemText( dlg, IDC_GPGPREFS_HOMEDIR, homedir, sizeof homedir -1 ) ) {
- msg_box( dlg, _("Please enter the GnuPG home directory."), _("Preferences"), MB_ERR );
+ if (!GetDlgItemText (dlg, IDC_GPGPREFS_HOMEDIR,
+ homedir, sizeof (homedir) -1)) {
+ msg_box (dlg, _("Please enter the GnuPG home directory."),
+ _("Preferences"), MB_ERR);
return FALSE;
}
if (dir_exist_check (homedir)) {
@@ -125,81 +184,54 @@
return FALSE;
}
- if( GetDlgItemText( dlg, IDC_GPGPREFS_OPTFILE, optfile, sizeof optfile - 1 ) ) {
- if ( file_exist_check( optfile ) ) {
- n = msg_box(dlg, _("Could not find GPG config file.\n"
- "Do you want to create a config file?"),
- _("Preferences"), MB_INFO|MB_YESNO );
- if( n == IDNO ) {
- SetDlgItemText( dlg, IDC_GPGPREFS_OPTFILE, "" );
- return FALSE;
- }
- else if( n == IDYES ) {
- FILE * fp = fopen( optfile, "wb" );
- if( fp )
- fclose( fp );
- if( file_exist_check( optfile ) ) {
- log_box( _("Preferences"), MB_ERR, "%s: %s", optfile, winpt_strerror( WPTERR_FILE_CREAT ) );
- return FALSE;
- }
- have_optfile = 1;
- }
- }
- else
- have_optfile = 1;
- if( have_optfile ) {
- if( set_reg_entry_gpg( "OptFile", optfile ) ) {
- msg_box( dlg, _("Could not save 'OptFile' in the registry."), _("Preferences"), MB_ERR );
- return FALSE;
- }
- }
- }
- else {
- char *cfg = get_gnupg_cfgfile ();
- if (cfg && !file_exist_check (cfg))
- set_reg_entry_gpg( "OptFile", cfg);
- free_if_alloc (cfg);
- }
- if ( set_reg_entry_gpg( "HomeDir", homedir ) ) {
- msg_box( dlg, _("Could not save 'HomeDir' in the registry."), _("Preferences"), MB_ERR );
+ if (!gpg4win && set_reg_entry_gpg ("HomeDir", homedir)) {
+ msg_box (dlg, _("Could not save 'HomeDir' in the registry."),
+ _("Preferences"), MB_ERR);
return FALSE;
}
- if( !GetDlgItemText( dlg, IDC_GPGPREFS_EXEDIR, exedir, sizeof exedir -1 ) ) {
- msg_box( dlg, _("Please enter where GPG.exe is located."), _("Preferences"), MB_ERR );
+ if( !GetDlgItemText (dlg, IDC_GPGPREFS_EXEDIR,
+ exedir, sizeof (exedir) -1)) {
+ msg_box (dlg, _("Please enter where GPG.exe is located."),
+ _("Preferences"), MB_ERR);
return FALSE;
}
- if( file_exist_check( exedir ) ) {
- msg_box( dlg, _("Could not find the GPG program in this directory."), _("Preferences"), MB_ERR );
+ if (file_exist_check (exedir)) {
+ msg_box (dlg, _("Could not find the GPG program in this directory."),
+ _("Preferences"), MB_ERR);
return FALSE;
}
- if( set_reg_entry_gpg("gpgProgram", exedir ) ) {
- msg_box( dlg, _("Could not save 'gpgProgram' in the registry"), _("Preferences"), MB_ERR );
+ if (!gpg4win && set_reg_entry_gpg ("gpgProgram", exedir)) {
+ msg_box (dlg, _("Could not save 'gpgProgram' in the registry"),
+ _("Preferences"), MB_ERR);
return FALSE;
}
- if( GetDlgItemText( dlg, IDC_GPGPREFS_LOCALE, locale_dir, sizeof (locale_dir) -1 ) ) {
+ if (GetDlgItemText (dlg, IDC_GPGPREFS_LOCALE, locale_dir, sizeof (locale_dir) -1)) {
if (dir_exist_check (locale_dir)) {
- log_box( _("Preferences"), MB_ERR, "%s: %s", locale_dir, winpt_strerror (WPTERR_DIR_OPEN));
+ log_box ( _("Preferences"), MB_ERR, "%s: %s", locale_dir,
+ winpt_strerror (WPTERR_DIR_OPEN));
return FALSE;
}
- set_reg_entry_mo (locale_dir);
+ if (!gpg4win)
+ set_reg_entry_mo (locale_dir);
set_gettext_file ("winpt", locale_dir);
}
- else
+ else if (!gpg4win)
set_reg_entry_mo ("");
p = get_gnupg_cfgfile ();
- if( !p ) {
- msg_box( dlg, _("Could not get GPG config file"), _("Preferences"), MB_ERR );
- EndDialog( dlg, FALSE );
+ if (!p) {
+ msg_box (dlg, _("Could not get GPG config file"),
+ _("Preferences"), MB_ERR);
+ EndDialog (dlg, FALSE);
}
- parse_gpg_options( p, &opt );
+ parse_gpg_options (p, &opt);
if( IsDlgButtonChecked( dlg, IDC_GPGPREFS_ASKLEVEL ) ) {
modify_entry( opt, ENTRY_SINGLE, "ask-cert-level", NULL );
reg_prefs.gpg.ask_cert_level = 1;
}
else {
- delete_option( opt, "ask-cert-level" );
+ delete_option (opt, "ask-cert-level");
reg_prefs.gpg.ask_cert_level = 0;
}
@@ -215,43 +247,43 @@
else
delete_option( opt, "encrypt-to" );
- commit_gpg_options( p, opt );
+ commit_gpg_options (p, opt);
release_gpg_options (opt);
- EndDialog( dlg, TRUE );
+ EndDialog (dlg, TRUE);
return TRUE;
case IDC_GPGPREFS_HOMEDLG:
- const char *home;
- home = get_folder_dlg (dlg, _("Choose GPG home directory"), NULL);
- if (home) {
- SetDlgItemText (dlg, IDC_GPGPREFS_HOMEDIR, home);
+ folder = get_folder_dlg (dlg, _("Choose GPG home directory"), NULL);
+ if (folder) {
+ char *name;
+
+ SetDlgItemText (dlg, IDC_GPGPREFS_HOMEDIR, folder);
if (GetDlgItemText (dlg, IDC_GPGPREFS_EXEDIR, exedir, DIM (exedir)-1) > 0)
break;
- char *name = make_filename (home, "gpg", "exe");
+ name = make_filename (folder, "gpg", "exe");
if (file_exist_check (name) == 0)
SetDlgItemText (dlg, IDC_GPGPREFS_EXEDIR, name);
free_if_alloc (name);
- name = make_filename (home, "gpg", "conf");
+ name = make_filename (folder, "gpg", "conf");
if (file_exist_check (name) == 0)
SetDlgItemText (dlg, IDC_GPGPREFS_OPTFILE, name);
free_if_alloc (name);
}
- break;
+ return TRUE;
+ case IDC_GPGPREFS_LOCDLG:
+ folder = get_folder_dlg (dlg, _("Choose locale directory"), NULL);
+ if (folder)
+ SetDlgItemText (dlg, IDC_GPGPREFS_LOCALE, folder);
+ return TRUE;
+
case IDC_GPGREFS_EXEDLG:
- file = get_fileopen_dlg (dlg, _("Choose GPG binary"),
- _("Executable Files (*.exe)\0*.exe\0\0"),
- NULL);
- if (file)
- SetDlgItemText (dlg, IDC_GPGPREFS_EXEDIR, file);
+ s = get_fileopen_dlg (dlg, _("Choose GPG binary"),
+ _("Executable Files (*.exe)\0*.exe\0\0"),
+ NULL);
+ if (s)
+ SetDlgItemText (dlg, IDC_GPGPREFS_EXEDIR, s);
return TRUE;
-
- case IDC_GPGPREFS_OPTDLG:
- file = get_fileopen_dlg (dlg, _("Choose GPG config file"),
- NULL, NULL);
- if (file)
- SetDlgItemText (dlg, IDC_GPGPREFS_OPTFILE, file);
- return TRUE;
}
break;
}
Modified: trunk/Src/wptKeyEditDlgs.cpp
===================================================================
--- trunk/Src/wptKeyEditDlgs.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/wptKeyEditDlgs.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -17,16 +17,13 @@
* along with WinPT; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
-
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <windows.h>
-#include <oleauto.h>
#include <commctrl.h>
#include <time.h>
-
#include "resource.h"
#include "wptTypes.h"
@@ -126,8 +123,8 @@
{
gpg_keycache_t pub;
gpgme_key_t key;
- const char * s, * kid;
- char * u;
+ const char *s, *kid;
+ char *u;
int i, n;
pub = keycache_get_ctx (1);
@@ -135,11 +132,10 @@
BUG (0);
gpg_keycache_rewind (pub);
- while( !gpg_keycache_next_key( pub, 0, &key ) ) {
- if (key->expired || key->revoked ||
+ while( !gpg_keycache_next_key (pub, 0, &key)) {
+ if (key->expired || key->revoked ||
key->disabled || key->invalid)
continue;
-
s = key->uids->uid;
kid = key->subkeys->keyid;
if (!s || !strcmp (kid+8, k->keyid+2))
@@ -250,6 +246,26 @@
}
+/* Return true if @fname is a JPEG file. */
+bool
+is_jpg_file (const char *fname)
+{
+ FILE *fp;
+ BYTE buf[10];
+ int n;
+
+ fp = fopen (fname, "rb");
+ if (!fp)
+ return false;
+ n = fread (buf, 1, 10, fp);
+ fclose (fp);
+ if (n < 10)
+ return false;
+ return buf[6] == 'J' && buf[7] == 'F' &&
+ buf[8] == 'I' && buf[9] == 'F';
+}
+
+
/* Dialog box procedure to add a photo. */
BOOL CALLBACK
keyedit_addphoto_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
@@ -270,7 +286,7 @@
SetDlgItemText (dlg, IDC_ADDPHOTO_FILEINF, _("Pick an image to use for your photo ID.\nThe image must be a JPEG file."));
SetDlgItemText (dlg, IDC_ADDPHOTO_PWDINF, _("Passphrase"));
SetDlgItemText (dlg, IDCANCEL, _("&Cancel"));
- SetWindowText (dlg, _("Add Photo ID"));
+ SetWindowText (dlg, _("Add Photo ID"));
SetForegroundWindow (dlg);
break;
@@ -278,53 +294,59 @@
break;
case WM_SYSCOMMAND:
- if( LOWORD (wparam) == SC_CLOSE )
- EndDialog( dlg, TRUE );
+ if (LOWORD (wparam) == SC_CLOSE)
+ EndDialog (dlg, TRUE);
break;
case WM_COMMAND:
switch( LOWORD( wparam ) ) {
case IDC_ADDPHOTO_SELFILE:
- s = get_fileopen_dlg( dlg, _("Select Image File"), _("JPEG Files (*.jpg, *.jpeg)\0*.jpg;*.jpeg\0\0"), NULL );
- if( s && *s )
- SetDlgItemText( dlg, IDC_ADDPHOTO_FILE, s );
+ s = get_fileopen_dlg (dlg, _("Select Image File"),
+ _("JPEG Files (*.jpg, *.jpeg)\0*.jpg;*.jpeg\0\0"),
+ NULL);
+ if (s && !is_jpg_file (s)) {
+ log_box (_("Add Photo"), MB_ERR,
+ _("'%s' is not a valid JPEG file."), s);
+ return FALSE;
+ }
+ if (s && *s)
+ SetDlgItemText (dlg, IDC_ADDPHOTO_FILE, s);
break;
case IDOK:
- if( !GetDlgItemText( dlg, IDC_ADDPHOTO_FILE, file, sizeof file-1 ) ){
- msg_box( dlg, _("Please enter a file name."), _("Add Photo"), MB_ERR );
+ if (!GetDlgItemText (dlg, IDC_ADDPHOTO_FILE, file, sizeof (file)-1)){
+ msg_box( dlg, _("Please enter a file name."), _("Add Photo"), MB_ERR);
return FALSE;
}
- if( get_file_size( file ) == 0 || get_file_size( file ) > 6144 ) {
- id = msg_box( dlg, _("The JPEG is really large.\n"
+ if (get_file_size (file) == 0 || get_file_size (file) > 6144 ) {
+ id = msg_box (dlg, _("The JPEG is really large.\n"
"Are you sure you want to use it?"),
- _("Add Photo"), MB_YESNO|MB_INFO );
- if( id == IDNO )
+ _("Add Photo"), MB_YESNO|MB_INFO);
+ if (id == IDNO)
return TRUE;
}
- if( k->is_protected ) {
- if( !GetDlgItemText( dlg, IDC_ADDPHOTO_PASS, pwd, sizeof pwd-1 ) ) {
- msg_box( dlg, _("Please enter a passphrase."), _("Add Photo"), MB_ERR );
- return FALSE;
- }
+ if (k->is_protected &&
+ !GetDlgItemText (dlg, IDC_ADDPHOTO_PASS, pwd, sizeof (pwd)-1)) {
+ msg_box (dlg, _("Please enter a passphrase."), _("Add Photo"), MB_ERR);
+ return FALSE;
}
ke = new GpgKeyEdit (k->keyid);
if (!ke)
BUG (NULL);
-
if (k->is_protected)
ke->setPassphrase (pwd);
ec = ke->addPhotoid (file);
delete ke;
- memset (pwd, 0, sizeof pwd);
+ wipememory (pwd, sizeof (pwd));
if (ec) {
msg_box (dlg, gpgme_strerror (ec), _("Add Photo"), MB_ERR );
return FALSE;
}
else {
k->update = 1;
- msg_box (dlg, _("Photo successfully added."), _("GnuPG Status"), MB_OK);
+ msg_box (dlg, _("Photo successfully added."),
+ _("GnuPG Status"), MB_OK);
}
EndDialog (dlg, TRUE);
break;
@@ -364,7 +386,7 @@
SetDlgItemText (dlg, IDC_ADDREV_KEYINF, _("Public key"));
SetDlgItemText (dlg, IDC_ADDREV_PWDINF, _("Passphrase"));
SetDlgItemText (dlg, IDCANCEL, _("&Cancel"));
- SetWindowText (dlg, _("Add Revoker"));
+ SetWindowText (dlg, _("Add Revoker"));
SetForegroundWindow (dlg);
break;
@@ -433,7 +455,6 @@
ctx = (KEYEDIT_CB *)lparam;
if( !ctx )
dlg_fatal_error(dlg, "Could not get dialog param!");
-
SetWindowText (dlg, _("Add new User ID"));
SetDlgItemText (dlg, IDC_ADDUID_INFNAME, _("&Name"));
SetDlgItemText (dlg, IDC_ADDUID_INFEMAIL, _("&Email"));
@@ -882,7 +903,7 @@
if( k->is_protected ) {
old_pass = request_passphrase( _("Current (old) Passphrase"), 1, &cancel );
- if( cancel )
+ if (cancel)
return FALSE;
}
new_pass = request_passphrase( _("New Passphrase" ), 1, &cancel );
@@ -1490,7 +1511,7 @@
BUG (dlg);
if (k->is_protected) {
pass = request_passphrase (_("Key Edit"), 1, &cancel);
- if( cancel )
+ if (cancel)
return FALSE;
}
@@ -1511,20 +1532,21 @@
}
-#define CIPHER 11
-#define HASH 11
-#define COMPR 4
+#define CIPHER 11
+#define HASH 11
+#define COMPR 4
+
static int
parse_preflist (HWND dlg, const char *list)
{
char buf[128] = {0};
char *p, *pbuf = buf;
const char *ciphers[CIPHER] = {"", "IDEA", "3DES",
- "CAST5", "BLOWFISH", "", "",
- "AES", "AES192", "AES256", "TWOFISH"};
- const char *hash[HASH] = {"", "MD5", "SHA1", "RMD160", "",
- "", "", "", "SHA256", "SHA384", "SHA512"};
+ "CAST5", "BLOWFISH", "", "",
+ "AES", "AES192", "AES256", "TWOFISH"};
+ const char *hash[HASH] = {"", "MD5", "SHA1", "RMD160", "",
+ "", "", "", "SHA256", "SHA384", "SHA512"};
const char *compress[COMPR] = {"", "ZIP", "ZLIB", "BZIP2"};
int n=0;
@@ -1592,9 +1614,9 @@
if (inf->flags.mdc)
CheckDlgButton (dlg, IDC_SHOWPREF_MDC, BST_CHECKED);
}
+ SetDlgItemText (dlg, IDC_SHOWPREF_MDC, _("MDC feature"));
+ SetDlgItemText (dlg, IDC_SHOWPREF_PREFINF, _("Preferences"));
SetWindowText (dlg, _("Key Preferences"));
- SetDlgItemText (dlg, IDC_SHOWPREF_MDC, _("MDC feature"));
- SetDlgItemText (dlg, IDC_SHOWPREF_PREFINF, _("Preferences"));
SetForegroundWindow (dlg);
break;
@@ -1779,7 +1801,6 @@
SetDlgItemText (dlg, IDCANCEL, _("&Close"));
SetDlgItemText (dlg, IDC_KEYEDIT_HELP, _("&Help"));
SetWindowText (dlg, _("Key Edit"));
-
SetForegroundWindow( dlg );
center_window( dlg, NULL );
return TRUE;
Modified: trunk/Src/wptKeyManager.cpp
===================================================================
--- trunk/Src/wptKeyManager.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/wptKeyManager.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -62,7 +62,7 @@
"pub %04d%s/%s %s %s\r\n"
" Primary key fingerprint: %s\r\n",
pk->subkeys->length,
- get_key_pubalgo (pk->subkeys->pubkey_algo),
+ get_key_pubalgo2 (pk->subkeys->pubkey_algo),
pk->subkeys->keyid+8,
get_key_created (pk->subkeys->timestamp),
pk->uids->uid,
@@ -70,6 +70,27 @@
}
+/* Return a general description of the key @key. */
+static char*
+key_get_info (gpgme_key_t pk, int is_sec)
+{
+ const char *fmt = "%s %04d%s/0x%s %s\n \"%s\"";
+ char *p;
+ int n;
+
+ n = strlen (fmt) + 8 + 2 + 16 + 12 + strlen (pk->uids->uid) + 32;
+ p = new char[n+1];
+ if (!p)
+ BUG (NULL);
+ _snprintf (p, n, fmt, is_sec? "sec" : "pub",
+ pk->subkeys->length,
+ get_key_pubalgo2 (pk->subkeys->pubkey_algo),
+ pk->subkeys->keyid+8, get_key_created (pk->subkeys->timestamp),
+ pk->uids->uid);
+ return p;
+}
+
+
#if 0
/* Quoted the user-id given by @uid. If @uid is already
quoted @uid is returned without any modifications.
@@ -96,20 +117,23 @@
int
km_check_for_seckey (listview_ctrl_t lv, int pos, int *utrust)
{
- char t[32], t2[64];
+ gpgme_key_t key;
+ winpt_key_s sk;
int type = 0;
+ key = (gpgme_key_t)listview_get_item2 (lv, pos);
+ if (!key)
+ BUG (NULL);
if (utrust)
*utrust = 0;
- listview_get_item_text (lv, pos, 5, t, DIM (t)-1);
- listview_get_item_text (lv, pos, 2, t2, DIM (t2)-1);
- if (!strcmp (t2, "pub/sec"))
+ memset (&sk, 0, sizeof (sk));
+ if (!winpt_get_seckey (key->subkeys->keyid+8, &sk))
type = 1;
- else if (!strcmp (t2, "pub/crd"))
+ if (sk.ext && sk.ext->gloflags.divert_to_card)
type = 2;
- if ((strstr (t, "Expired") || strstr (t, "Revoked")) && utrust)
+ if (utrust && (key->expired || key->revoked))
*utrust = -1;
- else if (stristr (t, "Ultimate") && utrust)
+ else if (utrust && key->owner_trust == GPGME_VALIDITY_ULTIMATE)
*utrust = 1;
return type;
}
@@ -180,13 +204,14 @@
int
km_enable_disable_key (listview_ctrl_t lv, HWND dlg, int pos, int enable)
{
+ gpgme_error_t err;
+ gpgme_key_t key;
GpgKeyEdit *ke;
- gpgme_error_t err;
- char keyid[32];
- listview_get_item_text (lv, pos, 1, keyid, DIM (keyid)-1);
-
- ke = new GpgKeyEdit (keyid);
+ key = (gpgme_key_t)listview_get_item2 (lv, pos);
+ if (!key)
+ BUG (NULL);
+ ke = new GpgKeyEdit (key->subkeys->keyid);
if (!ke)
BUG (NULL);
@@ -576,8 +601,10 @@
{
gpgme_error_t err;
gpgme_ctx_t ctx;
- gpgme_key_t *rset, k;
- char keyid[32], uid[256], date[64], keylen[64];
+ gpgme_key_t *rset;
+ gpgme_key_t key;
+ char keyid[32];
+ char *p;
int with_seckey=0, seckey_type=0, confirm=0;
int i, rc, n, k_pos=0;
@@ -602,46 +629,44 @@
if (!rset)
BUG (NULL);
for (i = 0; i < n; i++) {
- if( listview_get_item_state(lv, i)) {
- listview_get_item_text (lv, i, 0, uid, sizeof uid - 1);
- listview_get_item_text (lv, i, 1, keyid, sizeof keyid - 1);
- listview_get_item_text (lv, i, 3, keylen, sizeof keylen - 1);
- listview_get_item_text (lv, i, 7, date, sizeof date - 1);
+ if (listview_get_item_state(lv, i)) {
+ key = (gpgme_key_t)listview_get_item2 (lv, i);
+ if (!key)
+ BUG (NULL);
seckey_type = km_check_for_seckey (lv, i, NULL);
if (confirm && !seckey_type) {
+ p = key_get_info (key, 0);
rc = log_box( _("Key Manager"), MB_YESNO|MB_ICONWARNING,
_("Do you really want to delete this key?\n\n"
- "pub %s %s %s\n"
- " \"%s\""), keylen, keyid, date, uid );
- if (rc == IDYES) {
- get_pubkey (keyid, &k);
- rset[k_pos++] = k;
- }
+ "%s"), p);
+ if (rc == IDYES)
+ rset[k_pos++] = key;
with_seckey = 0;
+ free_if_alloc (p);
}
else if (confirm) {
+ p = key_get_info (key, 1);
rc = log_box (_("Key Manager"), MB_YESNO|MB_ICONWARNING,
_("Do you really want to delete this KEY PAIR?\n\n"
"Please remember that you are not able to decrypt\n"
"messages you stored with this key any longer.\n"
"\n"
- "pub/sec %s %s %s\n"
- " \"%s\""), keylen, keyid, date, uid);
+ "%s"), p);
if( rc == IDYES ) {
if (seckey_type == 2)
msg_box (dlg, _("The actual secret key is stored on a smartcard.\n"
"Only the public key and the secret key \n"
"placeholder will be deleted.\n"),
_("Key Manager"), MB_OK);
- get_pubkey (keyid, &k);
- rset[k_pos++] = k;
+ rset[k_pos++] = key;
}
with_seckey = 1;
+ free_if_alloc (p);
}
else {
with_seckey = 1;
- get_pubkey (keyid, &k);
- rset[k_pos++] = k;
+ get_pubkey (keyid, &key);
+ rset[k_pos++] = key;
}
}
}
@@ -654,7 +679,7 @@
err = gpgme_new (&ctx);
if (err)
BUG (NULL);
- n=k_pos;
+ n = k_pos;
for (i=0; i < k_pos; i++) {
err = gpgme_op_delete (ctx, rset[i], with_seckey);
if (err)
@@ -677,8 +702,7 @@
int
km_send_to_keyserver (listview_ctrl_t lv, HWND dlg, const char *host, u16 port)
{
- char keyid[32];
- const char *t;
+ gpgme_key_t key;
int id;
id = listview_get_curr_pos (lv);
@@ -687,16 +711,14 @@
return WPTERR_GENERAL;
}
- listview_get_item_text (lv, id, 1, keyid, sizeof keyid - 1);
+ key = (gpgme_key_t)listview_get_item2 (lv, id);
+ if (!key)
+ BUG (NULL);
id = log_box (_("Key Manager"), MB_YESNO,
_("Do you really want to send '%s' to keyserver %s?"),
- keyid, host);
- if (id == IDYES) {
- t = keyid;
- if (!strncmp (keyid, "0x", 2))
- t += 2;
- hkp_send_key (dlg, host, port, t);
- }
+ key->subkeys->keyid+8, host);
+ if (id == IDYES)
+ hkp_send_key (dlg, host, port, key->subkeys->keyid+8);
return 0;
}
@@ -710,7 +732,7 @@
gpgme_ctx_t ctx=NULL;
gpgme_data_t out;
gpgme_error_t rc;
- char keyid[32], tmp[128];
+ char tmp[128];
char *fname;
int pos;
@@ -724,8 +746,8 @@
msg_box (dlg, _("Please select a key."), _("Key Manager"), MB_ERR);
return WPTERR_GENERAL;
}
- listview_get_item_text(lv, pos, 1, keyid, sizeof (keyid)-1);
- if (get_pubkey (keyid, &key))
+ key = (gpgme_key_t)listview_get_item2 (lv, pos);
+ if (!key)
BUG (NULL);
GetTempPath (sizeof (tmp)-1, tmp);
@@ -749,7 +771,7 @@
if (rc)
msg_box (dlg, gpgme_strerror (rc), _("Key Manager"), MB_ERR);
else
- mapi_send_pubkey (keyid, fname);
+ mapi_send_pubkey (key->subkeys->keyid+8, fname);
gpg_data_release_and_set_file (out, fname);
gpgme_release (ctx);
@@ -761,21 +783,17 @@
static void
km_refresh_one_key (listview_ctrl_t lv, HWND dlg, int pos)
{
+ gpgme_key_t key;
int idx;
- char keyid[32];
- const char *t;
if (pos != 0)
idx = pos;
else
idx = listview_get_curr_pos (lv);
if (idx != -1) {
- listview_get_item_text (lv, idx, 1, keyid, sizeof (keyid) - 1);
- t = keyid;
- if (!strncmp (keyid, "0x", 2))
- t += 2;
+ key = (gpgme_key_t)listview_get_item2 (lv, idx);
hkp_recv_key (dlg, default_keyserver, default_keyserver_port,
- t, 0, KM_KS_REFRESH);
+ key->subkeys->keyid+8, 0, KM_KS_REFRESH);
}
}
@@ -786,8 +804,7 @@
{
int idx, id, i;
- if (kserver_check_inet_connection ())
- {
+ if (kserver_check_inet_connection ()) {
msg_box (dlg, _("Could not connect to keyserver, abort procedure."),
_("Key Manager"), MB_ERR);
return;
@@ -829,10 +846,9 @@
km_key_is_v3 (listview_ctrl_t lv, int pos)
{
gpgme_key_t pk;
- char keyid[32];
- listview_get_item_text (lv, pos, 1, keyid, sizeof keyid-1);
- if (get_pubkey (keyid, &pk))
+ pk = (gpgme_key_t)listview_get_item2 (lv, pos);
+ if (!pk)
BUG (NULL);
if (strlen (pk->subkeys->fpr) == 32 &&
pk->subkeys->pubkey_algo == GPGME_PK_RSA)
@@ -887,13 +903,14 @@
int
km_set_implicit_trust (HWND dlg, listview_ctrl_t lv, int pos)
{
+ gpgme_error_t err;
+ gpgme_key_t key;
GpgKeyEdit *ke;
- gpgme_error_t err;
- char keyid[32];
- listview_get_item_text (lv, pos, 1, keyid, 31);
-
- ke = new GpgKeyEdit (keyid);
+ key = (gpgme_key_t)listview_get_item2 (lv, pos);
+ if (!key)
+ BUG (NULL);
+ ke = new GpgKeyEdit (key->subkeys->keyid);
if (!ke)
BUG (0);
Modified: trunk/Src/wptKeyManagerDlg.cpp
===================================================================
--- trunk/Src/wptKeyManagerDlg.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/wptKeyManagerDlg.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -190,13 +190,97 @@
}
+/* Restore the width of the columns from the registry.
+ If no bitstring was found, the default size is used. */
+int
+restore_column_size (listview_ctrl_t hd)
+{
+ WORD *buf;
+ HKEY root;
+ DWORD type;
+ DWORD size = hd->cols*sizeof (WORD), i;
+ LONG ec;
+
+ ec = RegOpenKeyEx (HKEY_CURRENT_USER, "Software\\WinPT", 0,
+ KEY_ALL_ACCESS, &root);
+ if (ec != ERROR_SUCCESS)
+ return -1;
+
+ buf = new WORD[size/2];
+ if (!buf)
+ BUG (NULL);
+ ec = RegQueryValueEx (root, "KMColumnSize", NULL, &type,
+ (BYTE*)buf, &size);
+ RegCloseKey (root);
+ if (ec != ERROR_SUCCESS) {
+ free_if_alloc (buf);
+ return -1;
+ }
+
+ /* check for garbled values. */
+ for (i=0; i < size/2; i++) {
+ if (buf[i] > 512) {
+ free_if_alloc (buf);
+ return -1;
+ }
+ }
+ for (i=0; i < size/2; i++) {
+ LVCOLUMN lvc;
+
+ memset (&lvc, 0, sizeof (lvc));
+ lvc.mask = LVCF_WIDTH;
+ lvc.cx = buf[i];
+ ListView_SetColumn (hd->ctrl, i, &lvc);
+ }
+ free_if_alloc (buf);
+ return 0;
+}
+
+
+/* Save the current column width to the registry. */
+int
+save_column_size (listview_ctrl_t hd)
+{
+ WORD *buf;
+ HKEY root;
+ LONG ec;
+ int i;
+
+ buf = new WORD[hd->cols];
+ if (!buf)
+ BUG (NULL);
+ for (i=0; i < hd->cols; i++) {
+ LVCOLUMN lvc;
+
+ memset (&lvc, 0, sizeof (lvc));
+ lvc.mask = LVCF_WIDTH;
+ ListView_GetColumn (hd->ctrl, i, &lvc);
+ buf[i] = lvc.cx;
+ }
+
+ ec = RegOpenKeyEx (HKEY_CURRENT_USER, "Software\\WinPT", 0,
+ KEY_ALL_ACCESS, &root);
+ if (ec != ERROR_SUCCESS) {
+ free_if_alloc (buf);
+ return -1;
+ }
+
+ ec = RegSetValueEx (root, "KMColumnSize", 0, REG_BINARY,
+ (const BYTE*)buf, 2*hd->cols);
+ RegCloseKey (root);
+ free_if_alloc (buf);
+ return ec == ERROR_SUCCESS? 0 : -1;
+}
+
+
/* Center window @dlg. */
static void
do_center_window (HWND dlg, struct km_info *kmi)
{
RECT rect;
char *p;
- int pos_x = 0, pos_y = 0;
+ int pos_x = 0;
+ int pos_y = 0;
/* Find bottom of keylist */
GetWindowRect (GetDlgItem(dlg, IDC_KEYMISC_KEYLIST), &rect);
@@ -513,7 +597,7 @@
int key_inv = 0;
int mult_resids[] = {ID_KEYMISC_PROPS, ID_KEYMISC_SIGN, ID_KEYMISC_EDITKEY,
ID_KEYMISC_CHECKSIGS, ID_KEYMISC_REVCERT, 0};
- int i;
+ int i, state=0;
/* Get some states */
key_selected = SendMessage (GetDlgItem (hwnd, IDC_KEYMISC_KEYLIST),
@@ -535,15 +619,16 @@
enable_button (hwnd_child, ID_KEYMISC_EXPORT);
/* Enable / disable menu items */
+ state = key_selected? MF_ENABLED : MF_DISABLED|MF_GRAYED;
hmenu = GetMenu (hwnd);
- set_menu_state (hmenu, ID_KEYMISC_EXPORT, key_selected ? MF_ENABLED : MF_GRAYED);
- set_menu_state (hmenu, ID_KEYMISC_EXPORT_PRIVKEY, key_has_sec ? MF_ENABLED : MF_GRAYED);
- set_menu_state (hmenu, ID_KEYMISC_REVCERT, key_has_sec ? MF_ENABLED : MF_GRAYED);
- set_menu_state (hmenu, ID_KEYMISC_DELETE, key_selected ? MF_ENABLED : MF_GRAYED);
- set_menu_state (hmenu, ID_KEYMISC_PROPS, key_selected ? MF_ENABLED : MF_GRAYED);
+ set_menu_state (hmenu, ID_KEYMISC_EXPORT, state);
+ set_menu_state (hmenu, ID_KEYMISC_EXPORT_PRIVKEY, state);
+ set_menu_state (hmenu, ID_KEYMISC_REVCERT, state);
+ set_menu_state (hmenu, ID_KEYMISC_DELETE, state);
+ set_menu_state (hmenu, ID_KEYMISC_PROPS, state);
+ set_menu_state (hmenu, ID_KEYMISC_EDITKEY, state);
+ set_menu_state (hmenu, ID_KEYMISC_CHECKSIGS, state);
set_menu_state (hmenu, ID_KEYMISC_SIGN, key_selected && !key_inv ? MF_ENABLED : MF_GRAYED);
- set_menu_state (hmenu, ID_KEYMISC_EDITKEY, key_selected? MF_ENABLED : MF_GRAYED);
- set_menu_state (hmenu, ID_KEYMISC_CHECKSIGS, key_selected? MF_ENABLED : MF_GRAYED);
/* Disable some menu items when multiple keys are selected. */
if (listview_count_items (lv, 1) > 1) {
@@ -610,9 +695,10 @@
static void
change_edit_menu (listview_ctrl_t lv, HMENU hm, int id)
{
+ enum item { EDIT_MENU = 1 };
int no_sel;
- if (id != 1 /*EDIT_MENU*/)
+ if (id != EDIT_MENU)
return;
if (!clip_contains_pgpkey ())
@@ -735,12 +821,99 @@
}
+/* Translate all menu strings. */
+static void
+translate_menu_strings (HWND dlg)
+{
+ HMENU menu;
+
+ menu = LoadMenu (glob_hinst, (LPCSTR)IDR_WINPT_KEYMISC);
+ set_menu_text_bypos (menu, 0, _("File"));
+ set_menu_text_bypos (menu, 1, _("Edit"));
+ set_menu_text_bypos (menu, 2, _("View"));
+ set_menu_text_bypos (menu, 3, _("Key"));
+ set_menu_text_bypos (menu, 4, _("Groups"));
+
+ set_menu_text (menu, ID_KEYMISC_EDITKEY, _("Edit"));
+ set_menu_text (menu, ID_KEYMISC_MAIL, _("Send Mail..."));
+ set_menu_text (menu, ID_KEYMISC_OT, _("Ownertrust")); /* XXX */
+ set_menu_text (menu, ID_KEYMISC_COPY, _("&Copy\tCtrl+C"));
+ set_menu_text (menu, ID_KEYMISC_PASTE, _("&Paste\tCtrl+V"));
+ set_menu_text (menu, ID_KEYMISC_FIND, _("Search...\tCtrl+F"));
+ set_menu_text (menu, ID_KEYMISC_SELALL, _("Select All\tCtrl+A"));
+ set_menu_text (menu, ID_KEYMISC_QUIT, _("&Quit"));
+ set_menu_text (menu, ID_KEYMISC_UID, _("User ID"));
+ set_menu_text (menu, ID_KEYMISC_NEWKEY, _("&Expert"));
+ set_menu_text (menu, ID_KEYMISC_KEYWIZARD, _("&Normal"));
+ set_menu_text (menu, ID_KEYMISC_EDIT, _("Edit"));
+ set_menu_text (menu, ID_KEYMISC_SIGN, _("&Sign"));
+ set_menu_text (menu, ID_KEYMISC_DELETE, _("&Delete"));
+ set_menu_text (menu, ID_KEYMISC_DELETE2, _("&Delete"));
+ set_menu_text (menu, ID_KEYMISC_REVCERT, _("&Revoke"));
+ set_menu_text (menu, ID_KEYMISC_CHECKSIGS, _("&List Signatures"));
+ set_menu_text (menu, ID_KEYMISC_TRUSTPATH, _("List Trust Path"));
+ set_menu_text (menu, ID_KEYMISC_EXPORT, _("&Export..."));
+ set_menu_text (menu, ID_KEYMISC_IMPORT, _("&Import..."));
+ set_menu_text (menu, ID_KEYMISC_PROPS, _("&Properties"));
+ set_menu_text (menu, ID_KEYMISC_GPGOPT, _("Options"));
+ set_menu_text (menu, ID_KEYMISC_GPGPREFS, _("Preferences"));
+ set_menu_text (menu, ID_KEYMISC_SENDRECV, _("Keyserver") );
+ set_menu_text (menu, ID_KEYMISC_EXPORT_PRIVKEY, _("E&xport Secret Key"));
+ set_menu_text (menu, ID_KEYMISC_RECACHE, _("Re&load Key Cache"));
+ set_menu_text (menu, ID_KEYMISC_REBUILD, _("R&everify Signatures"));
+ set_menu_text (menu, ID_KEYMISC_REFRESH_KEYS, _("Refresh &Keys (Keyserver)"));
+ set_menu_text (menu, ID_KEYMISC_INFO, _("Info") );
+ set_menu_text (menu, ID_KEYMISC_HELP, _("&Help"));
+
+ /* XXX: implement help code. */
+ set_menu_state (menu, ID_KEYMISC_HELP, MF_GRAYED);
+
+ SetMenu (dlg, menu);
+}
+
+
+/* Translate popup menu strings. */
+static void
+translate_popupmenu_strings (HMENU popup)
+{
+ set_menu_text (popup, ID_KEYCTX_UID_COPY, _("Copy User ID to Clipboard"));
+ set_menu_text (popup, ID_KEYCTX_KEYID_COPY, _("Copy Key ID to Clipboard"));
+ set_menu_text (popup, ID_KEYCTX_FPR_COPY, _("Copy Fingerprint to Clipboard"));
+ set_menu_text (popup, ID_KEYCTX_KINFO_COPY, _("Copy Key Info to Clipboard"));
+ set_menu_text (popup, ID_KEYCTX_COPY, _("Copy Key to Clipboard"));
+ set_menu_text (popup, ID_KEYCTX_PASTE, _("Paste Key from Clipboard"));
+ set_menu_text (popup, ID_KEYCTX_RECVFROM, _("Refresh from Keyserver"));
+ set_menu_text (popup, ID_KEYCTX_MAXTRUST, _("Set Implicit &Trust"));
+ set_menu_text (popup, ID_KEYCTX_LISTSIGS, _("&List Signatures"));
+ set_menu_text (popup, ID_KEYCTX_PROPS, _("&Properties"));
+ set_menu_text (popup, ID_KEYCTX_EDIT, _("Key Edit"));
+ set_menu_text (popup, ID_KEYCTX_DEL, _("&Delete"));
+ set_menu_text (popup, ID_KEYCTX_REV, _("&Revoke"));
+ set_menu_text (popup, ID_KEYCTX_SIGN, _("&Sign"));
+ set_menu_text (popup, ID_KEYCTX_ENABLE, _("&Enable"));
+ set_menu_text (popup, ID_KEYCTX_DISABLE, _("&Disable"));
+ set_menu_text (popup, ID_KEYCTX_RECVFROM, _("Re&fresh from Keyserver"));
+ set_menu_text (popup, ID_KEYCTX_SETPREFKS, _("Set preferred Keyserver URL"));
+ set_menu_text (popup, ID_KEYCTX_SENDMAIL, _("Send Key to Mail Recipient"));
+ set_menu_text (popup, ID_KEYCTX_SETDEFKEY, _("Set as Default Key"));
+
+ set_menu_text (popup, ID_KEYCTX_ADDKEY, _("Key..."));
+ set_menu_text (popup, ID_KEYCTX_ADDUID, _("User ID..."));
+ set_menu_text (popup, ID_KEYCTX_ADDPHOTO, _("Photo ID..."));
+ set_menu_text (popup, ID_KEYCTX_ADDREV, _("Revoker..."));
+
+ /* change popup texts */
+ set_menu_text_bypos (popup, 0, _("Key Attributes"));
+ set_menu_text_bypos (popup, 6, _("Add"));
+ set_menu_text_bypos (popup, 19, _("Send to Keyserver"));
+}
+
+
/* Dialog box procedure for the Key Manager. */
BOOL CALLBACK
keymanager_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
struct km_info *kmi;
- static HMENU menu = NULL;
static int refresh_keys = 0;
INITCOMMONCONTROLSEX icex;
HWND kl;
@@ -770,48 +943,9 @@
InitCommonControlsEx (&icex);
kmi->hwnd_sep = regist_sep_wnd (dlg, kmi);
imagelist_load (dlg);
+ translate_menu_strings (dlg);
SetWindowText (dlg, _("Key Manager"));
- menu = LoadMenu (glob_hinst, (LPCSTR)IDR_WINPT_KEYMISC);
- set_menu_text_bypos (menu, 0, _("File"));
- set_menu_text_bypos (menu, 1, _("Edit"));
- set_menu_text_bypos (menu, 2, _("View"));
- set_menu_text_bypos (menu, 3, _("Key"));
- set_menu_text_bypos (menu, 4, _("Groups"));
- set_menu_text (menu, ID_KEYMISC_EDITKEY, _("Edit"));
- set_menu_text (menu, ID_KEYMISC_MAIL, _("Send Mail..."));
- set_menu_text (menu, ID_KEYMISC_OT, _("Ownertrust")); /* XXX */
- set_menu_text (menu, ID_KEYMISC_COPY, _("&Copy\tCtrl+C"));
- set_menu_text (menu, ID_KEYMISC_PASTE, _("&Paste\tCtrl+V"));
- set_menu_text (menu, ID_KEYMISC_FIND, _("Search...\tCtrl+F"));
- set_menu_text (menu, ID_KEYMISC_SELALL, _("Select All\tCtrl+A"));
- set_menu_text (menu, ID_KEYMISC_QUIT, _("&Quit"));
- set_menu_text (menu, ID_KEYMISC_UID, _("User ID"));
- set_menu_text (menu, ID_KEYMISC_NEWKEY, _("&Expert"));
- set_menu_text (menu, ID_KEYMISC_KEYWIZARD, _("&Normal"));
- set_menu_text (menu, ID_KEYMISC_EDIT, _("Edit"));
- set_menu_text (menu, ID_KEYMISC_SIGN, _("&Sign"));
- set_menu_text (menu, ID_KEYMISC_DELETE, _("&Delete"));
- set_menu_text (menu, ID_KEYMISC_DELETE2, _("&Delete"));
- set_menu_text (menu, ID_KEYMISC_REVCERT, _("&Revoke"));
- set_menu_text (menu, ID_KEYMISC_CHECKSIGS, _("&List Signatures"));
- set_menu_text (menu, ID_KEYMISC_TRUSTPATH, _("List Trust Path"));
- set_menu_text (menu, ID_KEYMISC_EXPORT, _("&Export..."));
- set_menu_text (menu, ID_KEYMISC_IMPORT, _("&Import..."));
- set_menu_text (menu, ID_KEYMISC_PROPS, _("&Properties"));
- set_menu_text (menu, ID_KEYMISC_GPGOPT, _("Options"));
- set_menu_text (menu, ID_KEYMISC_GPGPREFS, _("Preferences"));
- set_menu_text (menu, ID_KEYMISC_SENDRECV, _("Keyserver") );
- set_menu_text (menu, ID_KEYMISC_EXPORT_PRIVKEY, _("E&xport Secret Key"));
- set_menu_text (menu, ID_KEYMISC_RECACHE, _("Re&load Key Cache"));
- set_menu_text (menu, ID_KEYMISC_REBUILD, _("R&everify Signatures"));
- set_menu_text (menu, ID_KEYMISC_REFRESH_KEYS, _("Refresh &Keys (Keyserver)"));
- set_menu_text (menu, ID_KEYMISC_INFO, _("Info") );
- set_menu_text (menu, ID_KEYMISC_HELP, _("&Help"));
-
- /* XXX: implement help code. */
- set_menu_state (menu, ID_KEYMISC_HELP, MF_GRAYED);
-
- SetMenu (dlg, menu);
+
if (keyring_check_last_access ())
keycache_set_reload (1);
if (keycache_get_reload ())
@@ -819,13 +953,12 @@
c = keycache_get_ctx (KEYCACHE_PUB);
if (!c)
BUG (NULL);
+ kl = GetDlgItem (dlg, IDC_KEYMISC_KEYLIST);
kmi->keylist_sortby = KEY_SORT_USERID;
- Header_SetImageList(ListView_GetHeader (GetDlgItem (dlg, IDC_KEYMISC_KEYLIST)),
- glob_imagelist);
+ Header_SetImageList(ListView_GetHeader (kl), glob_imagelist);
kmi->lv = keylist_load (GetDlgItem (dlg, IDC_KEYMISC_KEYLIST), c,
NULL, KEYLIST_LIST, kmi->keylist_sortby);
/* init subclassing for the listview */
- kl = GetDlgItem (dlg, IDC_KEYMISC_KEYLIST);
keylist_proc.dlg = dlg;
keylist_proc.current = (WNDPROC)keylist_subclass_proc;
keylist_proc.old = (WNDPROC)GetWindowLong( kl, GWL_WNDPROC );
@@ -836,10 +969,6 @@
BUG (NULL);
}
}
- #if 0
- km_groups_new (&gc, GetDlgItem (dlg, IDC_KEYMISC_GROUP));
- km_groups_load (gc);
- #endif
kmi->statbar = setup_status_bar (dlg, kmi->lv);
SetWindowLong (dlg, GWL_USERDATA, (LONG)kmi);
kmi->toolbar = load_toolbar (dlg, kmi);
@@ -847,6 +976,7 @@
do_center_window (dlg, kmi);
do_resize_window (dlg, kmi);
update_ui_items (dlg, kmi->lv);
+ restore_column_size (kmi->lv);
SetDlgItemText (dlg, IDC_KEYMISC_GTEXT, _("Groups"));
SetClassLong (dlg, GCL_HICON, (LONG)LoadIcon (glob_hinst,
@@ -855,6 +985,7 @@
return TRUE;
case WM_DESTROY:
+ save_column_size (kmi->lv);
if (kmi->lv) {
keylist_delete (kmi->lv);
kmi->lv = NULL;
@@ -865,6 +996,7 @@
set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_X", type);
ltoa (kmi->pos_y, type, 10);
set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y", type);
+
/* Remove runtime information. This should be the last action taken here. */
delete kmi; kmi = NULL;
SetWindowLong (dlg, GWL_USERDATA, 0);
@@ -982,38 +1114,8 @@
GetCursorPos (&p);
hm = LoadMenu (glob_hinst, MAKEINTRESOURCE (IDR_WINPT_KEYMISC_CTX));
popup = GetSubMenu (hm, 0);
+ translate_popupmenu_strings (popup);
- set_menu_text (popup, ID_KEYCTX_UID_COPY, _("Copy User ID to Clipboard"));
- set_menu_text (popup, ID_KEYCTX_KEYID_COPY, _("Copy Key ID to Clipboard"));
- set_menu_text (popup, ID_KEYCTX_FPR_COPY, _("Copy Fingerprint to Clipboard"));
- set_menu_text (popup, ID_KEYCTX_KINFO_COPY, _("Copy Key Info to Clipboard"));
- set_menu_text (popup, ID_KEYCTX_COPY, _("Copy Key to Clipboard"));
- set_menu_text (popup, ID_KEYCTX_PASTE, _("Paste Key from Clipboard"));
- set_menu_text (popup, ID_KEYCTX_RECVFROM, _("Refresh from Keyserver"));
- set_menu_text (popup, ID_KEYCTX_MAXTRUST, _("Set Implicit &Trust"));
- set_menu_text (popup, ID_KEYCTX_LISTSIGS, _("&List Signatures"));
- set_menu_text (popup, ID_KEYCTX_PROPS, _("&Key Properties"));
- set_menu_text (popup, ID_KEYCTX_EDIT, _("Key Edit"));
- set_menu_text (popup, ID_KEYCTX_DEL, _("&Delete"));
- set_menu_text (popup, ID_KEYCTX_REV, _("&Revoke"));
- set_menu_text (popup, ID_KEYCTX_SIGN, _("&Sign"));
- set_menu_text (popup, ID_KEYCTX_ENABLE, _("&Enable"));
- set_menu_text (popup, ID_KEYCTX_DISABLE, _("&Disable"));
- set_menu_text (popup, ID_KEYCTX_RECVFROM, _("Re&fresh from Keyserver"));
- set_menu_text (popup, ID_KEYCTX_SETPREFKS, _("Set preferred Keyserver URL"));
- set_menu_text (popup, ID_KEYCTX_SENDMAIL, _("Send Key to Mail Recipient"));
- set_menu_text (popup, ID_KEYCTX_SETDEFKEY, _("Set as Default Key"));
-
- set_menu_text (popup, ID_KEYCTX_ADDKEY, _("Key..."));
- set_menu_text (popup, ID_KEYCTX_ADDUID, _("User ID..."));
- set_menu_text (popup, ID_KEYCTX_ADDPHOTO, _("Photo ID..."));
- set_menu_text (popup, ID_KEYCTX_ADDREV, _("Revoker..."));
-
- /* change popup texts */
- set_menu_text_bypos (popup, 0, _("Key Attributes"));
- set_menu_text_bypos (popup, 6, _("Add"));
- set_menu_text_bypos (popup, 19, _("Send to Keyserver"));
-
if (km_check_for_seckey (kmi->lv, l_idx, &i))
set_menu_state (popup, ID_KEYCTX_SETDEFKEY, MF_ENABLED);
if (i == 0)
@@ -1056,24 +1158,6 @@
DestroyMenu (hm);
return TRUE;
}
- #if 0 /* XXX */
- if( notify->idFrom == IDC_KEYMISC_GROUP ) {
- HWND tree = GetDlgItem( dlg, IDC_KEYMISC_GROUP );
- if( TreeView_GetSelection( tree ) ) {
- GetCursorPos( &p );
- hm = LoadMenu( glob_hinst, MAKEINTRESOURCE(IDR_WINPT_GROUP_CTX) );
- popup = GetSubMenu (hm, 0);
- if (km_index == -1) /* XXX */
- set_menu_state( popup, ID_GROUP_PASTE, MF_DISABLED|MF_GRAYED );
- set_menu_text( popup, ID_GROUP_PASTE, _("Paste into this group") );
- set_menu_text( popup, ID_GROUP_DELETE, _("Delete") );
- TrackPopupMenu( popup, TPM_RIGHTALIGN, p.x, p.y, 0, dlg, NULL );
- DestroyMenu( popup );
- DestroyMenu( hm );
- return TRUE;
- }
- }
- #endif
break;
case LVN_COLUMNCLICK:
@@ -1164,15 +1248,14 @@
if (kmi->lv_idx == -1) {
msg_box (dlg, _("Please select a key."),
_("Key Manager"), MB_ERR);
- return TRUE;;
+ return TRUE;
}
if (km_check_key_status (kmi->lv, kmi->lv_idx))
return TRUE;
key = (gpgme_key_t)listview_get_item2 (kmi->lv, kmi->lv_idx);
- listview_get_item_text (kmi->lv, kmi->lv_idx, 1, keyid, DIM (keyid)-1);
memset (&k, 0, sizeof (k));
k.ctx = key;
- k.keyid = keyid;
+ k.keyid = key->subkeys->keyid;
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYSIGN, dlg,
keysign_dlg_proc, (LPARAM)&k,
_("Key Signing"), IDS_WINPT_KEYSIGN);
@@ -1484,7 +1567,8 @@
case ID_KEYMISC_REFRESH_KEYS:
if (listview_count_items (kmi->lv, 1) == 0) {
- msg_box (dlg, _("No key was selected, select all by default."), _("Key Manager"), MB_INFO);
+ msg_box (dlg, _("No key was selected, select all by default."),
+ _("Key Manager"), MB_INFO);
listview_select_all (kmi->lv);
}
km_refresh_from_keyserver (kmi->lv, dlg);
@@ -1662,6 +1746,3 @@
return FALSE;
}
-
-
-
Modified: trunk/Src/wptKeyPropsDlg.cpp
===================================================================
--- trunk/Src/wptKeyPropsDlg.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/wptKeyPropsDlg.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -17,7 +17,6 @@
* along with WinPT; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
-
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@@ -208,14 +207,14 @@
gpgme_key_t sk, key;
char info[512];
const char *inf;
- u32 created, expires;
+ u32 created, expires;
memset (&k2, 0, sizeof (k2));
if (k->key_pair)
winpt_get_seckey (k->keyid, &k2);
else
winpt_get_pubkey (k->keyid, &k2);
- sk = k2.ctx;
+ sk = k2.ctx;
if (sk)
k->is_protected = k2.is_protected;
if (get_pubkey (k->keyid, &key))
@@ -226,7 +225,7 @@
_("Type: %s\r\n"
"Key ID: %s\r\n"
"Algorithm: %s\r\n"
- "Size: %s\r\n"
+ "Size: %s bits\r\n"
"Created: %s\r\n"
"Expires: %s\r\n"
"Validity: %s\r\n"
@@ -324,7 +323,6 @@
if (rc == IDNO)
return TRUE;
}
-
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYEDIT_OWNERTRUST,
dlg, (DLGPROC)keyedit_ownertrust_dlg_proc,
(LPARAM)k, _("Change Ownertrust"),
Modified: trunk/Src/wptKeylist.cpp
===================================================================
--- trunk/Src/wptKeylist.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/wptKeylist.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -18,6 +18,7 @@
* along with WinPT; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@@ -168,6 +169,17 @@
}
+const char*
+get_key_pubalgo2 (gpgme_pubkey_algo_t alg)
+{
+ switch (alg) {
+ case GPGME_PK_DSA: return "D";
+ case GPGME_PK_RSA: return "R";
+ case GPGME_PK_ELG: return "G";
+ default: return "?";
+ }
+ return "?";
+}
const char*
get_key_algo (gpgme_key_t key, int keyidx)
@@ -358,7 +370,6 @@
uididx = 0;
if (listmode) {
const char *s;
-
if (key->revoked)
s = _("Revoked");
else if (key->expired)
@@ -367,7 +378,6 @@
s = _("Disabled");
else
s = "";
-
/* if the key has a special status, we don't continue to figure out
what any user-id validities. */
if (*s)
@@ -472,7 +482,7 @@
static const char*
calc_validity (gpg_group_t grp)
{
- int valid=0;
+ int valid = 0;
gpg_member_t mbr;
gpgme_key_t key;
@@ -675,21 +685,21 @@
/* we check the pubkey algorithm here to make sure that no ElGamal
sign+encrypt key is used in _any_ mode */
if (list != 1 && key->subkeys->pubkey_algo == GPGME_PK_ELG) {
- log_debug ("ElGamal (E+S) key found: %s (%s)\n",
+ log_debug ("ElGamal (E+S) key found: %s (%s)\n",
key->uids->name, key->subkeys->keyid);
return 0;
}
- if (listview_add_item2 (lv, " ", (void *)key))
+ if (listview_add_item2 (lv, " ", (void *)key))
return WPTERR_GENERAL;
-
+
attr = key->uids->uid;
memset (&lvi, 0, sizeof lvi);
lvi.mask = LVIF_TEXT | LVIF_PARAM;
lvi.pszText = (char *)attr;
lvi.lParam = (LPARAM )key;
- if (ListView_SetItem( lv->ctrl, &lvi ) == FALSE)
+ if (ListView_SetItem (lv->ctrl, &lvi) == FALSE)
return WPTERR_GENERAL;
if (uididx == -1) { /* request the primary user-id of the key. */
@@ -825,7 +835,7 @@
if (mode & KEYLIST_ALL) {
uids = count_userids (key);
rc = do_addkey (lv, key, uids, i, 0);
- if( rc )
+ if (rc)
return rc;
}
else if (mode & KEYLIST_LIST)
@@ -838,9 +848,9 @@
return rc;
}
else {
- for( uids = 0; uids < count_userids (key); uids++ ) {
- rc = do_addkey( lv, key, uids, i, -1 );
- if( rc )
+ for (uids = 0; uids < count_userids (key); uids++) {
+ rc = do_addkey (lv, key, uids, i, -1);
+ if (rc)
return rc;
}
}
Modified: trunk/Src/wptKeysigDlg.cpp
===================================================================
--- trunk/Src/wptKeysigDlg.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/wptKeysigDlg.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -46,13 +46,13 @@
static int
is_sig (listview_ctrl_t lv, int pos)
{
- char tmpbuf[256];
+ char tmpbuf[200];
if (pos == -1)
pos = listview_get_curr_pos (lv);
if (pos == -1)
return 0;
- listview_get_item_text (lv, pos, 0, tmpbuf, 200);
+ listview_get_item_text (lv, pos, 0, tmpbuf, sizeof (tmpbuf)-1);
if (*tmpbuf == ' ')
return -1;
return 0;
@@ -268,10 +268,11 @@
n = listview_count_items (lv, 0);
for( i = 0; i < n; i++ ) {
- listview_get_item_text( lv, i, 1, id, sizeof id - 1 );
+ listview_get_item_text (lv, i, 1, id, sizeof (id) - 1);
if( !strncmp( id, "NOKEY", 5 ) ) {
- listview_get_item_text( lv, i, 4, keyid, sizeof keyid -1 );
- rc = hkp_recv_key( dlg, default_keyserver, default_keyserver_port, keyid, 0, 0 );
+ listview_get_item_text( lv, i, 4, keyid, sizeof (keyid) -1);
+ rc = hkp_recv_key (dlg, default_keyserver,
+ default_keyserver_port, keyid, 0, 0);
if( rc )
break;
}
@@ -351,10 +352,9 @@
if (k->uid)
_snprintf (inf, DIM (inf)-1, _("Signature List for \"%s\""), k->uid);
SetWindowText (dlg, inf);
- #ifndef LANG_DE
SetDlgItemText (dlg, IDC_KEYSIG_RECVKEY, _("&Receive Key"));
SetDlgItemText (dlg, IDC_KEYSIG_SIGPROPS, _("&Properties"));
- #endif
+
lv = siglist_load (GetDlgItem (dlg, IDC_KEYSIG_LIST), k->keyid);
if (!check_for_missing_keys (lv))
EnableWindow (GetDlgItem (dlg, IDC_KEYSIG_RECVKEY), FALSE);
@@ -398,7 +398,8 @@
&& notify->idFrom == IDC_KEYSIG_LIST)
do_load_keyprops (dlg, lv);
if (notify && notify->code == NM_RCLICK &&
- notify->idFrom == IDC_KEYSIG_LIST)
+ notify->idFrom == IDC_KEYSIG_LIST &&
+ is_sig (lv, -1))
do_create_popup (dlg);
if (notify && notify->code == LVN_ITEMCHANGED &&
((LPNMLISTVIEW)lparam)->uNewState) {
@@ -406,6 +407,8 @@
listview_get_item_text (lv, idx, 1, inf, DIM (inf)-1);
EnableWindow (GetDlgItem (dlg, IDC_KEYSIG_RECVKEY),
strcmp (inf, "NOKEY") == 0? TRUE: FALSE);
+ EnableWindow (GetDlgItem (dlg, IDC_KEYSIG_SIGPROPS),
+ is_sig (lv, -1)? TRUE : FALSE);
}
break;
Modified: trunk/Src/wptRegistry.cpp
===================================================================
--- trunk/Src/wptRegistry.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/wptRegistry.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -61,6 +61,24 @@
#define WINPT_REG "Software\\WinPT"
+/* Return != 0 if GPG4win is installed. */
+int
+is_gpg4win_installed (void)
+{
+ char *p;
+
+ p = get_reg_entry_gpg4win (NULL);
+ if (!p)
+ return 0;
+ if (dir_exist_check (p)) {
+ free_if_alloc (p);
+ return 0;
+ }
+ free_if_alloc (p);
+ return -1;
+}
+
+
/* Return != 0 if GPGee is installed. */
int
is_gpgee_installed (void)
@@ -93,7 +111,8 @@
static int
regist_single_filetype (gpg_filetype *gfile)
{
- char icon[256], prog[256];
+ char icon[256];
+ char prog[256];
memset (&icon, 0, sizeof (icon));
GetModuleFileName (glob_hinst, prog, sizeof (prog)-1);
@@ -132,7 +151,7 @@
}
return 0;
-} /* regist_inst_gpg */
+}
/* Install WinPT into the W32 registry, if the entry already
@@ -197,7 +216,7 @@
}
free_if_alloc (p);
if (n)
- set_reg_entry (HKEY_CURRENT_USER, WINPT_REG, "Extensions", "1");
+ set_reg_entry( HKEY_CURRENT_USER, WINPT_REG, "Extensions", "1" );
return 0;
}
rc = RegCreateKey (HKEY_CURRENT_USER, WINPT_REG, ®);
@@ -224,7 +243,8 @@
/* Create a new filetype in the W32 registry.
We should really care of errors! Otherwise we can damage the registry! */
int
-create_file_type( const char *exefile, const char *ext, const char *extname, char *iconfile )
+create_file_type (const char *exefile, const char *ext,
+ const char *extname, char *iconfile)
{
int rc;
HKEY reg = NULL;
@@ -290,7 +310,7 @@
return NULL;
len += 1;
p = new char[len+1];
- if( !p )
+ if (!p)
return NULL;
len = ExpandEnvironmentStrings (path, p, len);
if (!len) {
@@ -298,7 +318,7 @@
return NULL;
}
return p;
-} /* expand_path */
+}
/* Retrieve a registry entry with the directory given in @dir
@@ -311,7 +331,7 @@
char text[384] = {0};
DWORD nbytes, type;
HKEY reg_key = NULL;
- char *p = NULL;
+ char * p = NULL;
rc = RegOpenKeyEx (root_key, dir, 0, KEY_QUERY_VALUE, ®_key);
if( !rc_ok( rc ) )
@@ -397,8 +417,6 @@
}
-
-
int
set_reg_entry_mo (const char * value)
{
@@ -493,7 +511,7 @@
int
get_reg_winpt_single (int id)
{
- char *buf = NULL;
+ char * buf = NULL;
int val = 0;
buf = get_reg_entry (HKEY_CURRENT_USER, WINPT_REG, cfg[id]);
Modified: trunk/Src/wptSigList.cpp
===================================================================
--- trunk/Src/wptSigList.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/wptSigList.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -50,7 +50,7 @@
struct listview_column_s implist[] = {
{0, 240, (char *)_("User ID")},
{1, 50, (char *)_("Valid")},
- {2, 40, (char *)_("Class")},
+ {2, 44, (char *)_("Class")},
{3, 68, (char *)_("Creation")},
{4, 80, (char *)_("Key ID")},
{5, 68, (char *)_("Expiration")},
@@ -75,8 +75,8 @@
void
siglist_delete( listview_ctrl_t lv )
{
- if( lv ) {
- listview_release( lv );
+ if (lv) {
+ listview_release (lv);
}
}
@@ -115,7 +115,7 @@
return 0;
rc = listview_add_item (lv, " ");
- if( rc )
+ if (rc)
return rc;
attr = NULL;
Modified: trunk/Src/wptUTF8.cpp
===================================================================
--- trunk/Src/wptUTF8.cpp 2005-12-16 13:12:40 UTC (rev 127)
+++ trunk/Src/wptUTF8.cpp 2005-12-19 13:05:59 UTC (rev 128)
@@ -1,6 +1,6 @@
/* wptUTF8.cpp - UTF8 conversation
* Copyright (C) 1994, 1998-2001 Free Software Foundation, Inc.
- * Copyright (C) 2002, 2004 Timo Schulz
+ * Copyright (C) 2002, 2004, 2005 Timo Schulz
*
* This file is part of WinPT.
*
@@ -32,24 +32,6 @@
#include "wptTypes.h"
#include "wptErrors.h"
-static u16 koi8_unicode[128] = {
- 0x2500,0x2502,0x250c,0x2510,0x2514,0x2518,0x251c,0x2524,
- 0x252c,0x2534,0x253c,0x2580,0x2584,0x2588,0x258c,0x2590,
- 0x2591,0x2592,0x2593,0x2320,0x25a0,0x2219,0x221a,0x2248,
- 0x2264,0x2265,0x00a0,0x2321,0x00b0,0x00b2,0x00b7,0x00f7,
- 0x2550,0x2551,0x2552,0x0451,0x2553,0x2554,0x2555,0x2556,
- 0x2557,0x2558,0x2559,0x255a,0x255b,0x255c,0x255d,0x255e,
- 0x255f,0x2560,0x2561,0x0401,0x2562,0x2563,0x2564,0x2565,
- 0x2566,0x2567,0x2568,0x2569,0x256a,0x256b,0x256c,0x00a9,
- 0x044e,0x0430,0x0431,0x0446,0x0434,0x0435,0x0444,0x0433,
- 0x0445,0x0438,0x0439,0x043a,0x043b,0x043c,0x043d,0x043e,
- 0x043f,0x044f,0x0440,0x0441,0x0442,0x0443,0x0436,0x0432,
- 0x044c,0x044b,0x0437,0x0448,0x044d,0x0449,0x0447,0x044a,
- 0x042e,0x0410,0x0411,0x0426,0x0414,0x0415,0x0424,0x0413,
- 0x0425,0x0418,0x0419,0x041a,0x041b,0x041c,0x041d,0x041e,
- 0x041f,0x042f,0x0420,0x0421,0x0422,0x0423,0x0416,0x0412,
- 0x042c,0x042b,0x0417,0x0428,0x042d,0x0429,0x0427,0x042a
-};
static u16 latin2_unicode[128] = {
0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
@@ -75,6 +57,7 @@
static u16 *active_charset = NULL;
static int no_translation = 0;
+
static int
ascii_strcasecmp( const char *a, const char *b )
{
@@ -87,7 +70,7 @@
}
return *a == *b? 0 : (toupper (*a) - toupper (*b));
-} /* ascii_strcasecmp */
+}
int
set_native_charset( const char *newset )
@@ -101,11 +84,6 @@
active_charset_name = "iso-8859-2";
no_translation = 0;
active_charset = latin2_unicode;
- }
- else if( !ascii_strcasecmp( newset, "koi8-r" ) ) {
- active_charset_name = "koi8-r";
- no_translation = 0;
- active_charset = koi8_unicode;
}
else if( !ascii_strcasecmp (newset, "utf8" )
|| !ascii_strcasecmp(newset, "utf-8") ) {
@@ -117,14 +95,15 @@
return WPTERR_GENERAL;
return 0;
-} /* set_native_charset */
+}
const char*
get_native_charset( void )
{
return active_charset_name;
-} /* get_native_charset */
+}
+
/****************
* Convert string, which is in native encoding to UTF8 and return the
* new allocated UTF8 string.
@@ -579,17 +558,20 @@
} /* conv_charset */
-char *
+/* XXX: the conv_charset() call fails when the user-id was created
+ with iso-8859-1 but it is assumed that CP850 (gpg console) is used. */
+
+char*
utf8_to_wincp (const char * s, size_t len)
{
- char * decs;
+ char *decs;
decs = utf8_to_native (s, len, 0);
conv_charset ((byte *)decs, strlen (decs), 1);
return decs;
}
-char *
+char*
wincp_to_utf8 (const char * s, size_t len)
{
char * encs;
@@ -609,4 +591,4 @@
return -1;
}
return 0;
-} /* is_8bit_string */
+}
More information about the Winpt-commits
mailing list