[Winpt-commits] r176 - in trunk: . Include Po Src icons
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Mon Feb 13 10:38:09 CET 2006
Author: twoaday
Date: 2006-02-13 10:38:03 +0100 (Mon, 13 Feb 2006)
New Revision: 176
Added:
trunk/icons/ChangeLog
trunk/icons/keysig.ico
trunk/icons/userid.ico
Modified:
trunk/Include/wptKeyEdit.h
trunk/Include/wptKeylist.h
trunk/Include/wptNLS.h
trunk/Include/wptRegistry.h
trunk/NEWS
trunk/Po/de.po
trunk/Src/ChangeLog
trunk/Src/WinPT-en.rc
trunk/Src/WinPT.cpp
trunk/Src/resource.h
trunk/Src/wptClipEncryptDlg.cpp
trunk/Src/wptClipSignEncDlg.cpp
trunk/Src/wptFileManagerDlg.cpp
trunk/Src/wptKeyEdit.cpp
trunk/Src/wptKeyEditCB.cpp
trunk/Src/wptKeyEditDlgs.cpp
trunk/Src/wptKeyManagerDlg.cpp
trunk/Src/wptKeyPropsDlg.cpp
trunk/Src/wptKeylist.cpp
trunk/Src/wptKeysigDlg.cpp
trunk/Src/wptKeysignDlg.cpp
trunk/Src/wptNLS.c
trunk/Src/wptPreferencesDlg.cpp
trunk/Src/wptRegistry.cpp
trunk/Src/wptSigTreeDlg.cpp
trunk/icons/Makefile.am
Log:
Modified: trunk/Include/wptKeyEdit.h
===================================================================
--- trunk/Include/wptKeyEdit.h 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Include/wptKeyEdit.h 2006-02-13 09:38:03 UTC (rev 176)
@@ -91,10 +91,14 @@
int resval;
int type;
+ bool key_has_passwd;
+
int sig_index;
int key_index;
int uid_index;
+ int valid;
+
public:
int cnt;
int cmd_sent;
@@ -106,7 +110,6 @@
const char *exp_date; /* XXX */
gpgme_pubkey_algo_t pubkey_algo;
int pubkey_size;
- int valid; /* XXX */
int flags;
int sig_class;
int reason;
@@ -122,6 +125,7 @@
void clear (void);
void clearPassphrase (void);
+ void setNoPassphrase (bool val);
void setPassphrase (const char *pass);
void setKey (gpgme_key_t key);
void setKeyID (const char *keyid);
@@ -135,6 +139,7 @@
int getUseridIndex (void);
int getKeyIndex (void);
int getSigIndex (void);
+ int getValidDays (void);
gpgme_error_t signUserid (int uid_idx, int mode, int sig_class,
const char *exp_date);
Modified: trunk/Include/wptKeylist.h
===================================================================
--- trunk/Include/wptKeylist.h 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Include/wptKeylist.h 2006-02-13 09:38:03 UTC (rev 176)
@@ -39,8 +39,8 @@
/* Valid keylist modes. */
enum keylist_mode_t {
KEYLIST_ALL = 0,
- KEYLIST_LIST = 1,
- KEYLIST_ENCRYPT = 2,
+ KEYLIST_LIST = 1,
+ KEYLIST_ENCRYPT = 2, /* obsolete */
KEYLIST_ENCRYPT_MIN = 4,
KEYLIST_SIGN = 8,
KEYLIST_FLAG_FILE = 16,
Modified: trunk/Include/wptNLS.h
===================================================================
--- trunk/Include/wptNLS.h 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Include/wptNLS.h 2006-02-13 09:38:03 UTC (rev 176)
@@ -25,12 +25,19 @@
extern "C" {
#endif
+struct gettext_tab_s {
+ int ctlid;
+ const char *trans;
+};
+
#define _(a) gettext (a)
#define N_(a) (a)
int set_gettext_file (const char * filename, const char * nls_dir);
const char *gettext (const char * msgid);
const char *get_gettext_langid (void);
+void gettext_localize_dialog (HWND dlg, struct gettext_tab_s *tab,
+ const char *title);
#ifdef __cplusplus
}
Modified: trunk/Include/wptRegistry.h
===================================================================
--- trunk/Include/wptRegistry.h 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Include/wptRegistry.h 2006-02-13 09:38:03 UTC (rev 176)
@@ -28,7 +28,6 @@
CFG_WORDWRAP,
CFG_FASTMODE,
CFG_VIEWER,
- CFG_KEYLISTMODE,
CFG_WIPEMODE,
CFG_ALWAYSTRUST,
CFG_AUTOBACKUP,
@@ -57,7 +56,6 @@
int use_tmpfiles; /* use tempfiles for gpg communication */
int use_viewer; /* use clipboard viewer for displaying plaintext */
int no_zip_mmedia; /* disable compression for multi-media files (movies, music) */
- int keylist_mode; /* normal=0 minimal=1 or */
int wipe_mode; /* simple=0, dod=1, gutmann=2 */
int always_trust; /* skip key validation (1 means yes) */
int auto_backup; /* automatic backup (1 means activated) */
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/NEWS 2006-02-13 09:38:03 UTC (rev 176)
@@ -751,4 +751,6 @@
different OS systems.
* Check for ultimately trusted keys and issue a warning
if appropriate.
-
\ No newline at end of file
+* The program can now handle keys without a passphrase (again).
+* New tree based dialog to list the signatures.
+
Modified: trunk/Po/de.po
===================================================================
--- trunk/Po/de.po 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Po/de.po 2006-02-13 09:38:03 UTC (rev 176)
@@ -15,7 +15,7 @@
msgstr ""
"Project-Id-Version: WinPT 0.11.6\n"
"Report-Msgid-Bugs-To: winpt at freakmail.de\n"
-"POT-Creation-Date: 2006-02-06 20:54+0100\n"
+"POT-Creation-Date: 2006-02-09 15:39+0100\n"
"PO-Revision-Date: 2005-12-28 16:10+0100\n"
"Last-Translator: Timo Schulz <ts at g10code.de>\n"
"Language-Team: DE <twoaday at freakmail.de>\n"
@@ -28,9 +28,9 @@
msgstr "Konnte GPG-Heimatverzeichnis nicht erstellen"
#: Src/WinPT.cpp:185 Src/WinPT.cpp:217 Src/WinPT.cpp:267 Src/WinPT.cpp:271
-#: Src/WinPT.cpp:434 Src/WinPT.cpp:441 Src/WinPT.cpp:486 Src/WinPT.cpp:514
-#: Src/WinPT.cpp:523 Src/WinPT.cpp:527 Src/WinPT.cpp:544 Src/WinPT.cpp:614
-#: Src/WinPT.cpp:627 Src/WinPT.cpp:674 Src/WinPT.cpp:700 Src/WinPT.cpp:718
+#: Src/WinPT.cpp:433 Src/WinPT.cpp:440 Src/WinPT.cpp:482 Src/WinPT.cpp:510
+#: Src/WinPT.cpp:519 Src/WinPT.cpp:523 Src/WinPT.cpp:540 Src/WinPT.cpp:610
+#: Src/WinPT.cpp:623 Src/WinPT.cpp:670 Src/WinPT.cpp:696 Src/WinPT.cpp:714
#: Src/wptErrors.cpp:141 Src/wptGPG.cpp:912 Src/wptGPG.cpp:923
#: Src/wptGPG.cpp:932 Src/wptGPG.cpp:942 Src/wptMainProc.cpp:346
#: Src/wptMainProc.cpp:530
@@ -77,16 +77,16 @@
msgstr "Das Kopieren der keyserver.conf ist fehlgeschlagen"
# c:\oss\winpt-gpgme\src\WinPT.cpp:245
-#: Src/WinPT.cpp:433
+#: Src/WinPT.cpp:432
msgid "Cryptographic selftest failed."
msgstr "Kryptographischer Selbsttest ist fehlgeschlagen."
# c:\oss\winpt-gpgme\src\WinPT.cpp:252
-#: Src/WinPT.cpp:440
+#: Src/WinPT.cpp:439
msgid "A newer GPGME version is needed; at least "
msgstr "Eine neuere GPGME version wird benötigt; mindestens "
-#: Src/WinPT.cpp:487
+#: Src/WinPT.cpp:483
#, c-format
msgid ""
"GPG home directory is not set correctly.\n"
@@ -97,17 +97,17 @@
"Bitte überprüfen Sie die GPG Registryseinträge:\n"
"%s"
-#: Src/WinPT.cpp:491
+#: Src/WinPT.cpp:487
msgid "Select GPG Public Keyring"
msgstr "Öffentlichen GPG-Schlüsselbund auswählen"
# XXX: the \0\0 problem
# c:\oss\winpt-gpgme\src\WinPT.cpp:313
-#: Src/WinPT.cpp:513
+#: Src/WinPT.cpp:509
msgid "GPG home directory could not be determited."
msgstr "GPG-Home-Dir konnte nicht bestimmt werden."
-#: Src/WinPT.cpp:521
+#: Src/WinPT.cpp:517
msgid ""
"Could not find the GPG binary (gpg.exe).\n"
"Do you want to start the GPG preferences to correct this problem?"
@@ -116,7 +116,7 @@
"öffnen um das Problem zu beheben?"
# c:\oss\winpt-gpgme\src\WinPT.cpp:339
-#: Src/WinPT.cpp:536
+#: Src/WinPT.cpp:532
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"
@@ -131,20 +131,20 @@
# c:\oss\winpt-gpgme\src\WinPT.cpp:376
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:426
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:711
-#: Src/WinPT.cpp:569 Src/wptFileManagerDlg.cpp:487
-#: Src/wptFileManagerDlg.cpp:801
+#: Src/WinPT.cpp:565 Src/wptFileManagerDlg.cpp:488
+#: Src/wptFileManagerDlg.cpp:802
msgid "Wipe Free Space"
msgstr "Freien Speicher Löschen"
-#: Src/WinPT.cpp:613
+#: Src/WinPT.cpp:609
msgid "Could not register window class"
msgstr "Konnte keine Fensterklasse registrieren"
-#: Src/WinPT.cpp:627
+#: Src/WinPT.cpp:623
msgid "Could not create window"
msgstr "Konnte Fenster nicht erstellen"
-#: Src/WinPT.cpp:698
+#: Src/WinPT.cpp:694
msgid ""
"The keycache was not initialized or is empty.\n"
"Please check your GPG config (keyrings, pathes...)"
@@ -152,7 +152,7 @@
"Der Schlüsselspeicher wurde nicht initialisiert oder ist leer.\n"
"Bitte checken Sie die GPG Konfiguration (Schlüsselbunde, Pfade)"
-#: Src/WinPT.cpp:701
+#: Src/WinPT.cpp:697
msgid ""
"It seems that GPG is not set properly.\n"
"Do you want to start the GPG preferences dialog?"
@@ -160,7 +160,7 @@
"GPG ist nicht richtig konfiguriert.\n"
"Den GPG-Einstellungsdialog starten?"
-#: Src/WinPT.cpp:719
+#: Src/WinPT.cpp:715
#, c-format
msgid ""
"Default key (from the GPG config file) could not be found.\n"
@@ -232,7 +232,7 @@
msgstr "Über &GPG"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:700
-#: Src/wptAboutDlgs.cpp:113 Src/wptKeyEditDlgs.cpp:1953
+#: Src/wptAboutDlgs.cpp:113 Src/wptKeyEditDlgs.cpp:1981
#: Src/wptKeyManagerDlg.cpp:963
msgid "&Help"
msgstr "&Hilfe"
@@ -318,7 +318,7 @@
"Diese Operation wird die Schlüssel auf der Karte überschreiben.\n"
"Trotzdem fortfahren?"
-#: Src/wptCardDlg.cpp:600 Src/wptKeyEditDlgs.cpp:505
+#: Src/wptCardDlg.cpp:600 Src/wptKeyEditDlgs.cpp:513
msgid "&Name"
msgstr "&Name"
@@ -334,7 +334,7 @@
msgid "Off-card passphrase"
msgstr "\"Off-card\" Passwort"
-#: Src/wptCardDlg.cpp:604 Src/wptKeyEditDlgs.cpp:640 Src/wptKeygenDlg.cpp:382
+#: Src/wptCardDlg.cpp:604 Src/wptKeyEditDlgs.cpp:649 Src/wptKeygenDlg.cpp:382
msgid "&Never"
msgstr "&Niemals"
@@ -379,7 +379,7 @@
msgid "Please use plain ASCII charset for the fields."
msgstr "Bitte nur den 7-bit ASCII Zeichensatz verwenden."
-#: Src/wptCardDlg.cpp:683 Src/wptKeyEditDlgs.cpp:1340
+#: Src/wptCardDlg.cpp:683 Src/wptKeyEditDlgs.cpp:1355
msgid "The date you have chosen lies in the past."
msgstr "Das gewählte Datum ist in der Vergangenheit."
@@ -475,9 +475,9 @@
msgstr ""
"Ungültige OpenPGP Nachricht (vielleicht: \"quoted printable\" im Armorteil)."
-#: Src/wptClipDecryptDlg.cpp:164 Src/wptClipEncryptDlg.cpp:207
+#: Src/wptClipDecryptDlg.cpp:164 Src/wptClipEncryptDlg.cpp:206
#: Src/wptClipSignDlg.cpp:122 Src/wptClipSignDlg.cpp:262
-#: Src/wptClipSignEncDlg.cpp:198 Src/wptKeyManager.cpp:329
+#: Src/wptClipSignEncDlg.cpp:197 Src/wptKeyManager.cpp:329
#: Src/wptKeyManager.cpp:792 Src/wptKeyManager.cpp:979 Src/wptSymEnc.cpp:90
msgid "GnuPG Status: Finished"
msgstr "GnuPG-Status: Abgeschlossen"
@@ -519,7 +519,7 @@
#: Src/wptClipEditDlg.cpp:58 Src/wptClipEditDlg.cpp:111
#: Src/wptClipEditDlg.cpp:119 Src/wptClipEditDlg.cpp:158
#: Src/wptClipEditDlg.cpp:167 Src/wptClipEditDlg.cpp:238
-#: Src/wptClipEditDlg.cpp:243 Src/wptFileManagerDlg.cpp:211
+#: Src/wptClipEditDlg.cpp:243 Src/wptFileManagerDlg.cpp:212
#: Src/wptMainProc.cpp:159 Src/wptMainProc.cpp:227 Src/wptMainProc.cpp:270
#: Src/wptMainProc.cpp:431 Src/wptMainProc.cpp:512 Src/wptMainProc.cpp:516
msgid "Clipboard"
@@ -577,7 +577,7 @@
msgid "Add quotes"
msgstr "'>' hinzufügen"
-#: Src/wptClipEditDlg.cpp:200 Src/wptKeyEditDlgs.cpp:1952
+#: Src/wptClipEditDlg.cpp:200 Src/wptKeyEditDlgs.cpp:1980
#: Src/wptKeyserverDlg.cpp:610 Src/wptMDSumDlg.cpp:104
#: Src/wptOwnertrustDlg.cpp:103
msgid "&Close"
@@ -588,38 +588,38 @@
msgid "Recipients unsuable for encryption:\n"
msgstr "Empfänger nicht geeignet für Verschlüsselung\n"
-#: Src/wptClipEncryptDlg.cpp:120 Src/wptClipEncryptDlg.cpp:141
-#: Src/wptClipEncryptDlg.cpp:193 Src/wptClipEncryptDlg.cpp:200
-#: Src/wptClipEncryptDlg.cpp:231 Src/wptMainProc.cpp:141
+#: Src/wptClipEncryptDlg.cpp:120 Src/wptClipEncryptDlg.cpp:140
+#: Src/wptClipEncryptDlg.cpp:192 Src/wptClipEncryptDlg.cpp:199
+#: Src/wptClipEncryptDlg.cpp:230 Src/wptMainProc.cpp:141
#: Src/wptMainProc.cpp:209
msgid "Encryption"
msgstr "Verschlüsseln"
-#: Src/wptClipEncryptDlg.cpp:142
+#: Src/wptClipEncryptDlg.cpp:141
msgid "&Find"
msgstr "&Suche"
-#: Src/wptClipEncryptDlg.cpp:143 Src/wptClipSignEncDlg.cpp:113
+#: Src/wptClipEncryptDlg.cpp:142 Src/wptClipSignEncDlg.cpp:112
#: Src/wptCommonDlg.cpp:68 Src/wptFileManagerDlg.cpp:84
-#: Src/wptFileManagerDlg.cpp:217 Src/wptFileManagerDlg.cpp:285
+#: Src/wptFileManagerDlg.cpp:218 Src/wptFileManagerDlg.cpp:286
#: Src/wptFileSaveDlg.cpp:58 Src/wptFirstRunDlg.cpp:47
-#: Src/wptKeyEditDlgs.cpp:333 Src/wptKeyEditDlgs.cpp:433
-#: Src/wptKeyEditDlgs.cpp:508 Src/wptKeyEditDlgs.cpp:641
+#: Src/wptKeyEditDlgs.cpp:337 Src/wptKeyEditDlgs.cpp:439
+#: Src/wptKeyEditDlgs.cpp:516 Src/wptKeyEditDlgs.cpp:650
#: Src/wptKeyEditOwnertrustDlg.cpp:67 Src/wptKeygenDlg.cpp:383
#: Src/wptKeygenDlg.cpp:546 Src/wptKeyRevokeDlg.cpp:101
#: Src/wptKeyserverDlg.cpp:542 Src/wptKeyserverSearchDlg.cpp:68
-#: Src/wptKeysignDlg.cpp:268 Src/wptPassphraseCB.cpp:83
+#: Src/wptKeysignDlg.cpp:269 Src/wptPassphraseCB.cpp:83
#: Src/wptPassphraseDlg.cpp:68 Src/wptPINDlg.cpp:55
-#: Src/wptPreferencesDlg.cpp:151 Src/wptTextInputDlg.cpp:84
+#: Src/wptPreferencesDlg.cpp:132 Src/wptTextInputDlg.cpp:84
msgid "&Cancel"
msgstr "&Abbrechen"
-#: Src/wptClipEncryptDlg.cpp:193 Src/wptClipSignEncDlg.cpp:158
+#: Src/wptClipEncryptDlg.cpp:192 Src/wptClipSignEncDlg.cpp:157
msgid "You must select at least one key."
msgstr "Sie müssen wenigstens einen Schlüssel auswählen."
# c:\oss\winpt-gpgme\src\wptClipEncryptDlg.cpp:229
-#: Src/wptClipEncryptDlg.cpp:231
+#: Src/wptClipEncryptDlg.cpp:230
#, c-format
msgid "No recipient found with '%s'"
msgstr "Keine Empfaenger mit '%s' gefunden"
@@ -629,7 +629,7 @@
msgstr "Schlüsselimport-Statistiken"
#: Src/wptClipSignDlg.cpp:104 Src/wptClipSignDlg.cpp:219
-#: Src/wptClipSignEncDlg.cpp:177
+#: Src/wptClipSignEncDlg.cpp:176
msgid "Could not get default key."
msgstr "Konnte den Standardschlüssel nicht finden"
@@ -637,7 +637,7 @@
#: Src/wptClipSignDlg.cpp:120 Src/wptClipSignDlg.cpp:175
#: Src/wptClipSignDlg.cpp:219 Src/wptClipSignDlg.cpp:227
#: Src/wptClipSignDlg.cpp:246 Src/wptClipSignDlg.cpp:257
-#: Src/wptClipSignEncDlg.cpp:167 Src/wptClipSignEncDlg.cpp:177
+#: Src/wptClipSignEncDlg.cpp:166 Src/wptClipSignEncDlg.cpp:176
#: Src/wptFileManager.cpp:1086 Src/wptFileManager.cpp:1104
#: Src/wptFileManager.cpp:1366 Src/wptMainProc.cpp:153 Src/wptMainProc.cpp:215
msgid "Signing"
@@ -652,22 +652,22 @@
"Kein Schlüssel ausgewählt.\n"
"GPG-Standard-Schlüssel '%s' benutzen?"
-#: Src/wptClipSignEncDlg.cpp:112 Src/wptClipSignEncDlg.cpp:159
-#: Src/wptClipSignEncDlg.cpp:186 Src/wptClipSignEncDlg.cpp:195
+#: Src/wptClipSignEncDlg.cpp:111 Src/wptClipSignEncDlg.cpp:158
+#: Src/wptClipSignEncDlg.cpp:185 Src/wptClipSignEncDlg.cpp:194
#: Src/wptMainProc.cpp:147 Src/wptMainProc.cpp:221
msgid "Sign & Encrypt"
msgstr "Signieren & Verschlüsseln"
# c:\oss\winpt-gpgme\src\wptClipSignEncDlg.cpp:121
-#: Src/wptClipSignEncDlg.cpp:122
+#: Src/wptClipSignEncDlg.cpp:121
msgid "Select key for signing"
msgstr "Schlüssel zum Signieren auswählen"
-#: Src/wptClipSignEncDlg.cpp:123
+#: Src/wptClipSignEncDlg.cpp:122
msgid "Signing key:"
msgstr "Signierer Schlüssel:"
-#: Src/wptClipSignEncDlg.cpp:167 Src/wptKeylist.cpp:1179
+#: Src/wptClipSignEncDlg.cpp:166 Src/wptKeylist.cpp:1179
msgid "No key was selected."
msgstr "Kein Schlüssel ausgewählt."
@@ -679,7 +679,7 @@
#: Src/wptClipVerifyDlg.cpp:186 Src/wptClipVerifyDlg.cpp:193
#: Src/wptClipVerifyDlg.cpp:225 Src/wptClipVerifyDlg.cpp:236
#: Src/wptFileManager.cpp:1552 Src/wptFileManager.cpp:1607
-#: Src/wptFileManagerDlg.cpp:550 Src/wptFileVerifyDlg.cpp:81
+#: Src/wptFileManagerDlg.cpp:551 Src/wptFileVerifyDlg.cpp:81
#: Src/wptFileVerifyDlg.cpp:145 Src/wptMainProc.cpp:179
#: Src/wptMainProc.cpp:245 Src/wptMainProc.cpp:257 Src/wptMainProc.cpp:265
#: Src/wptMainProc.cpp:419
@@ -730,33 +730,33 @@
msgid "Please enter a valid URL."
msgstr "Bitte eine gültige URL eingeben."
-#: Src/wptCommonDlg.cpp:124 Src/wptKeyEditDlgs.cpp:756
-#: Src/wptKeyEditDlgs.cpp:814 Src/wptKeyEditDlgs.cpp:852
-#: Src/wptKeyEditDlgs.cpp:865 Src/wptKeyEditDlgs.cpp:915
-#: Src/wptKeyEditDlgs.cpp:955 Src/wptKeyEditDlgs.cpp:962
-#: Src/wptKeyEditDlgs.cpp:980 Src/wptKeyEditDlgs.cpp:1029
-#: Src/wptKeyEditDlgs.cpp:1036 Src/wptKeyEditDlgs.cpp:1127
-#: Src/wptKeyEditDlgs.cpp:1133 Src/wptKeyEditDlgs.cpp:1262
-#: Src/wptKeyEditDlgs.cpp:1266 Src/wptKeyEditDlgs.cpp:1270
-#: Src/wptKeyEditDlgs.cpp:1275 Src/wptKeyEditDlgs.cpp:1312
-#: Src/wptKeyEditDlgs.cpp:1316 Src/wptKeyEditDlgs.cpp:1326
-#: Src/wptKeyEditDlgs.cpp:1341 Src/wptKeyEditDlgs.cpp:1345
-#: Src/wptKeyEditDlgs.cpp:1385 Src/wptKeyEditDlgs.cpp:1390
-#: Src/wptKeyEditDlgs.cpp:1397 Src/wptKeyEditDlgs.cpp:1403
-#: Src/wptKeyEditDlgs.cpp:1408 Src/wptKeyEditDlgs.cpp:1451
-#: Src/wptKeyEditDlgs.cpp:1456 Src/wptKeyEditDlgs.cpp:1463
-#: Src/wptKeyEditDlgs.cpp:1470 Src/wptKeyEditDlgs.cpp:1473
-#: Src/wptKeyEditDlgs.cpp:1511 Src/wptKeyEditDlgs.cpp:1519
-#: Src/wptKeyEditDlgs.cpp:1553 Src/wptKeyEditDlgs.cpp:1561
-#: Src/wptKeyEditDlgs.cpp:1660 Src/wptKeyEditDlgs.cpp:1693
-#: Src/wptKeyEditDlgs.cpp:1720 Src/wptKeyEditDlgs.cpp:1724
-#: Src/wptKeyEditDlgs.cpp:1733 Src/wptKeyEditDlgs.cpp:1852
-#: Src/wptKeyEditDlgs.cpp:1857 Src/wptKeyEditDlgs.cpp:1866
-#: Src/wptKeyEditDlgs.cpp:1878 Src/wptKeyEditDlgs.cpp:1882
-#: Src/wptKeyEditDlgs.cpp:1933 Src/wptKeyEditDlgs.cpp:1943
-#: Src/wptKeyEditDlgs.cpp:1954 Src/wptKeyEditDlgs.cpp:1983
-#: Src/wptKeyEditDlgs.cpp:1988 Src/wptKeyManagerDlg.cpp:991
-#: Src/wptKeyManagerDlg.cpp:1791
+#: Src/wptCommonDlg.cpp:124 Src/wptKeyEditDlgs.cpp:767
+#: Src/wptKeyEditDlgs.cpp:826 Src/wptKeyEditDlgs.cpp:865
+#: Src/wptKeyEditDlgs.cpp:880 Src/wptKeyEditDlgs.cpp:930
+#: Src/wptKeyEditDlgs.cpp:970 Src/wptKeyEditDlgs.cpp:977
+#: Src/wptKeyEditDlgs.cpp:995 Src/wptKeyEditDlgs.cpp:1044
+#: Src/wptKeyEditDlgs.cpp:1051 Src/wptKeyEditDlgs.cpp:1142
+#: Src/wptKeyEditDlgs.cpp:1148 Src/wptKeyEditDlgs.cpp:1277
+#: Src/wptKeyEditDlgs.cpp:1281 Src/wptKeyEditDlgs.cpp:1285
+#: Src/wptKeyEditDlgs.cpp:1290 Src/wptKeyEditDlgs.cpp:1327
+#: Src/wptKeyEditDlgs.cpp:1331 Src/wptKeyEditDlgs.cpp:1341
+#: Src/wptKeyEditDlgs.cpp:1356 Src/wptKeyEditDlgs.cpp:1360
+#: Src/wptKeyEditDlgs.cpp:1402 Src/wptKeyEditDlgs.cpp:1407
+#: Src/wptKeyEditDlgs.cpp:1414 Src/wptKeyEditDlgs.cpp:1420
+#: Src/wptKeyEditDlgs.cpp:1425 Src/wptKeyEditDlgs.cpp:1470
+#: Src/wptKeyEditDlgs.cpp:1475 Src/wptKeyEditDlgs.cpp:1482
+#: Src/wptKeyEditDlgs.cpp:1489 Src/wptKeyEditDlgs.cpp:1492
+#: Src/wptKeyEditDlgs.cpp:1532 Src/wptKeyEditDlgs.cpp:1540
+#: Src/wptKeyEditDlgs.cpp:1557 Src/wptKeyEditDlgs.cpp:1577
+#: Src/wptKeyEditDlgs.cpp:1585 Src/wptKeyEditDlgs.cpp:1686
+#: Src/wptKeyEditDlgs.cpp:1719 Src/wptKeyEditDlgs.cpp:1746
+#: Src/wptKeyEditDlgs.cpp:1750 Src/wptKeyEditDlgs.cpp:1759
+#: Src/wptKeyEditDlgs.cpp:1878 Src/wptKeyEditDlgs.cpp:1883
+#: Src/wptKeyEditDlgs.cpp:1892 Src/wptKeyEditDlgs.cpp:1906
+#: Src/wptKeyEditDlgs.cpp:1910 Src/wptKeyEditDlgs.cpp:1961
+#: Src/wptKeyEditDlgs.cpp:1971 Src/wptKeyEditDlgs.cpp:1982
+#: Src/wptKeyEditDlgs.cpp:2011 Src/wptKeyEditDlgs.cpp:2016
+#: Src/wptKeyManagerDlg.cpp:991 Src/wptKeyManagerDlg.cpp:1791
msgid "Key Edit"
msgstr "Schlüssel bearbeiten"
@@ -773,8 +773,8 @@
msgid "No"
msgstr "&Nein"
-#: Src/wptCommonDlg.cpp:215 Src/wptKeyEditDlgs.cpp:233
-#: Src/wptKeyEditDlgs.cpp:1093
+#: Src/wptCommonDlg.cpp:215 Src/wptKeyEditDlgs.cpp:237
+#: Src/wptKeyEditDlgs.cpp:1108
msgid "OK"
msgstr "OK"
@@ -1059,7 +1059,7 @@
#: Src/wptFileManager.cpp:814 Src/wptFileManager.cpp:928
#: Src/wptFileManager.cpp:1457 Src/wptFileManager.cpp:1484
#: Src/wptFileManager.cpp:1503 Src/wptFileManager.cpp:1761
-#: Src/wptFileManager.cpp:1823 Src/wptFileManagerDlg.cpp:497
+#: Src/wptFileManager.cpp:1823 Src/wptFileManagerDlg.cpp:498
#: Src/wptFileStatDlg.cpp:137 Src/wptMainProc.cpp:400 Src/wptMDSumDlg.cpp:153
msgid "File Manager"
msgstr "Dateimanager"
@@ -1091,12 +1091,12 @@
"\n"
"Möchten Sie die Kompression ausschalten?"
-#: Src/wptFileManager.cpp:383 Src/wptKeyEditDlgs.cpp:1016
+#: Src/wptFileManager.cpp:383 Src/wptKeyEditDlgs.cpp:1031
#: Src/wptVerifyList.cpp:98 Src/wptVerifyList.cpp:106
msgid "Status"
msgstr "Status"
-#: Src/wptFileManager.cpp:384 Src/wptKeyEditDlgs.cpp:1119
+#: Src/wptFileManager.cpp:384 Src/wptKeyEditDlgs.cpp:1134
#: Src/wptKeyRevokersDlg.cpp:57 Src/wptMDSumDlg.cpp:73
#: Src/wptVerifyList.cpp:97
msgid "Name"
@@ -1138,12 +1138,12 @@
msgstr "Konnte den geheimen Standardschlüssel nicht finden."
#: Src/wptFileManager.cpp:1118 Src/wptFileManager.cpp:1402
-#: Src/wptFileManagerDlg.cpp:548 Src/wptMainProc.cpp:197
+#: Src/wptFileManagerDlg.cpp:549 Src/wptMainProc.cpp:197
#: Src/wptMainProc.cpp:416 Src/wptMainProc.cpp:423
msgid "Sign"
msgstr "Signieren"
-#: Src/wptFileManager.cpp:1131 Src/wptFileManagerDlg.cpp:546
+#: Src/wptFileManager.cpp:1131 Src/wptFileManagerDlg.cpp:547
#: Src/wptMainProc.cpp:415 Src/wptMainProc.cpp:420
msgid "Encrypt"
msgstr "Verschlüsseln"
@@ -1186,7 +1186,7 @@
msgid "Please enter filename for plaintext file"
msgstr "Wählen Sie einen Namen für die Klartext-Datei"
-#: Src/wptFileManager.cpp:1331 Src/wptFileManagerDlg.cpp:547
+#: Src/wptFileManager.cpp:1331 Src/wptFileManagerDlg.cpp:548
msgid "Decrypt"
msgstr "Entschlüsseln"
@@ -1225,7 +1225,7 @@
msgstr "Ungültiger Dateiname. Abbruch"
#: Src/wptFileManager.cpp:1654 Src/wptFileManager.cpp:1665
-#: Src/wptFileManagerDlg.cpp:242 Src/wptImportList.cpp:413
+#: Src/wptFileManagerDlg.cpp:243 Src/wptImportList.cpp:413
#: Src/wptImportList.cpp:419 Src/wptImportList.cpp:429
#: Src/wptImportList.cpp:437 Src/wptImportList.cpp:446
#: Src/wptKeyManager.cpp:501 Src/wptKeyManager.cpp:512
@@ -1260,8 +1260,8 @@
msgid "Choose Name for Key File"
msgstr "Den Namen der Schlüsseldatei wählen"
-#: Src/wptFileManager.cpp:1715 Src/wptKeyEditDlgs.cpp:995
-#: Src/wptKeyEditDlgs.cpp:1292 Src/wptKeyEditDlgs.cpp:1364
+#: Src/wptFileManager.cpp:1715 Src/wptKeyEditDlgs.cpp:1010
+#: Src/wptKeyEditDlgs.cpp:1307 Src/wptKeyEditDlgs.cpp:1381
#: Src/wptKeyserverDlg.cpp:106
msgid "GnuPG status"
msgstr "GnuPG Status"
@@ -1300,11 +1300,11 @@
msgid "Could not create zip archive."
msgstr "Konnte ZIP-Datei nicht erstellen."
-#: Src/wptFileManagerDlg.cpp:79 Src/wptFileManagerDlg.cpp:145
+#: Src/wptFileManagerDlg.cpp:79 Src/wptFileManagerDlg.cpp:146
msgid "File Encrypt"
msgstr "Datei verschlüsseln"
-#: Src/wptFileManagerDlg.cpp:80 Src/wptFileManagerDlg.cpp:279
+#: Src/wptFileManagerDlg.cpp:80 Src/wptFileManagerDlg.cpp:280
msgid "&Text Output"
msgstr "&Textausgabe"
@@ -1320,31 +1320,31 @@
msgid "&Select Key for signing"
msgstr "&Schlüssel zum Signieren"
-#: Src/wptFileManagerDlg.cpp:144
+#: Src/wptFileManagerDlg.cpp:145
msgid "Please select at least one recipient."
msgstr "Bitte wählen Sie wenigstens einen Empfänger"
-#: Src/wptFileManagerDlg.cpp:202 Src/wptFileStatDlg.cpp:266
+#: Src/wptFileManagerDlg.cpp:203 Src/wptFileStatDlg.cpp:266
#: Src/wptKeyManager.cpp:465
msgid "No valid OpenPGP data found."
msgstr "Keine gültigen OpenPGP-Daten gefunden."
-#: Src/wptFileManagerDlg.cpp:202 Src/wptFileManagerDlg.cpp:216
+#: Src/wptFileManagerDlg.cpp:203 Src/wptFileManagerDlg.cpp:217
#: Src/wptKeyManager.cpp:490
msgid "Key Import"
msgstr "Schlüsselimport"
-#: Src/wptFileManagerDlg.cpp:207
+#: Src/wptFileManagerDlg.cpp:208
#, c-format
msgid "%s contain(s) %d key(s)."
msgstr "%s enthält %d Schlüssel."
-#: Src/wptFileManagerDlg.cpp:211 Src/wptFileManagerDlg.cpp:466
+#: Src/wptFileManagerDlg.cpp:212 Src/wptFileManagerDlg.cpp:467
#: Src/wptKeyManagerDlg.cpp:928 Src/wptOwnertrustDlg.cpp:98
msgid "File"
msgstr "Datei"
-#: Src/wptFileManagerDlg.cpp:239
+#: Src/wptFileManagerDlg.cpp:240
msgid ""
"Some of the imported keys are secret keys.\n"
"\n"
@@ -1356,32 +1356,32 @@
"Die Vertrauensstellungen dieser Schlüssel müssen Sie\n"
"manuell in den Schlüsseleigenschaften setzen."
-#: Src/wptFileManagerDlg.cpp:278 Src/wptFileManagerDlg.cpp:330
+#: Src/wptFileManagerDlg.cpp:279 Src/wptFileManagerDlg.cpp:331
msgid "File Sign"
msgstr "Datei signieren"
-#: Src/wptFileManagerDlg.cpp:280
+#: Src/wptFileManagerDlg.cpp:281
msgid "&Normal Signature"
msgstr "&Normale Signatur"
-#: Src/wptFileManagerDlg.cpp:281
+#: Src/wptFileManagerDlg.cpp:282
msgid "&Detached Signature"
msgstr "&Angehängte Signatur"
-#: Src/wptFileManagerDlg.cpp:282
+#: Src/wptFileManagerDlg.cpp:283
msgid "&Cleartext Signature"
msgstr "&Klartextsignatur"
-#: Src/wptFileManagerDlg.cpp:283
+#: Src/wptFileManagerDlg.cpp:284
msgid "Signature mode"
msgstr "Signaturmodus"
-#: Src/wptFileManagerDlg.cpp:284 Src/wptKeyManagerDlg.cpp:955
+#: Src/wptFileManagerDlg.cpp:285 Src/wptKeyManagerDlg.cpp:955
msgid "Options"
msgstr "Optionen"
-#: Src/wptFileManagerDlg.cpp:330 Src/wptKeyEditDlgs.cpp:1266
-#: Src/wptKeyEditDlgs.cpp:1316 Src/wptKeyEditDlgs.cpp:1390
+#: Src/wptFileManagerDlg.cpp:331 Src/wptKeyEditDlgs.cpp:1281
+#: Src/wptKeyEditDlgs.cpp:1331 Src/wptKeyEditDlgs.cpp:1407
#: Src/wptKeyManager.cpp:710 Src/wptKeyManager.cpp:811
#: Src/wptKeyManager.cpp:847 Src/wptKeyManagerDlg.cpp:1495
#: Src/wptKeyManagerDlg.cpp:1515 Src/wptKeyManagerDlg.cpp:1549
@@ -1391,149 +1391,149 @@
msgid "Please select a key."
msgstr "Bitte Schlüssel wählen."
-#: Src/wptFileManagerDlg.cpp:390
+#: Src/wptFileManagerDlg.cpp:391
msgid "0 Objects marked"
msgstr "0 Objekte markiert"
-#: Src/wptFileManagerDlg.cpp:394
+#: Src/wptFileManagerDlg.cpp:395
#, c-format
msgid "%d Object(s) marked"
msgstr "%d Objekt(e) markiert"
-#: Src/wptFileManagerDlg.cpp:464 Src/wptMainProc.cpp:543
+#: Src/wptFileManagerDlg.cpp:465 Src/wptMainProc.cpp:543
msgid "File Manager (use drag & drop to add files)"
msgstr "Dateimanager (Drag & Drop möglich)"
-#: Src/wptFileManagerDlg.cpp:467 Src/wptKeyManagerDlg.cpp:929
+#: Src/wptFileManagerDlg.cpp:468 Src/wptKeyManagerDlg.cpp:929
#: Src/wptKeyManagerDlg.cpp:934 Src/wptKeyManagerDlg.cpp:945
msgid "Edit"
msgstr "Bearbeiten"
-#: Src/wptFileManagerDlg.cpp:468 Src/wptKeyManagerDlg.cpp:930
+#: Src/wptFileManagerDlg.cpp:469 Src/wptKeyManagerDlg.cpp:930
msgid "View"
msgstr "Ansicht"
-#: Src/wptFileManagerDlg.cpp:469
+#: Src/wptFileManagerDlg.cpp:470
msgid "&Open..."
msgstr "Ö&ffnen.."
-#: Src/wptFileManagerDlg.cpp:470
+#: Src/wptFileManagerDlg.cpp:471
msgid "&Encrypt"
msgstr "&Verschlüsseln"
-#: Src/wptFileManagerDlg.cpp:471 Src/wptFileManagerDlg.cpp:545
+#: Src/wptFileManagerDlg.cpp:472 Src/wptFileManagerDlg.cpp:546
msgid "Encrypt into ZIP"
msgstr "Verschlüsseln in ZIP"
-#: Src/wptFileManagerDlg.cpp:472
+#: Src/wptFileManagerDlg.cpp:473
msgid "&Decrypt"
msgstr "&Entschlüsseln"
-#: Src/wptFileManagerDlg.cpp:473 Src/wptKeyManagerDlg.cpp:946
+#: Src/wptFileManagerDlg.cpp:474 Src/wptKeyManagerDlg.cpp:946
#: Src/wptKeyManagerDlg.cpp:994
msgid "&Sign"
msgstr "&Signieren"
-#: Src/wptFileManagerDlg.cpp:474 Src/wptFileManagerDlg.cpp:549
+#: Src/wptFileManagerDlg.cpp:475 Src/wptFileManagerDlg.cpp:550
#: Src/wptMainProc.cpp:417 Src/wptMainProc.cpp:421
msgid "Sign && Encrypt"
msgstr "Signieren && Verschlüsseln"
-#: Src/wptFileManagerDlg.cpp:475
+#: Src/wptFileManagerDlg.cpp:476
msgid "&Verify"
msgstr "Über&prüfen"
-#: Src/wptFileManagerDlg.cpp:476
+#: Src/wptFileManagerDlg.cpp:477
msgid "S&ymmetric"
msgstr "S&ymmetrisch"
-#: Src/wptFileManagerDlg.cpp:477
+#: Src/wptFileManagerDlg.cpp:478
msgid "&Import"
msgstr "&Importieren"
-#: Src/wptFileManagerDlg.cpp:478
+#: Src/wptFileManagerDlg.cpp:479
msgid "E&xport"
msgstr "E&xportieren"
# msgid "Executable Files (*.exe)"
# msgstr ""
# XXX \0\0 problem again
-#: Src/wptFileManagerDlg.cpp:479 Src/wptMainProc.cpp:413
+#: Src/wptFileManagerDlg.cpp:480 Src/wptMainProc.cpp:413
msgid "Exit"
msgstr "Beenden"
-#: Src/wptFileManagerDlg.cpp:480
+#: Src/wptFileManagerDlg.cpp:481
msgid "&Reset"
msgstr "&Reset"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:421
-#: Src/wptFileManagerDlg.cpp:481
+#: Src/wptFileManagerDlg.cpp:482
msgid "Always on Top"
msgstr "Immer im Vordergrund"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:422
-#: Src/wptFileManagerDlg.cpp:482
+#: Src/wptFileManagerDlg.cpp:483
msgid "&Paste"
msgstr "&Einfügen"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:423
-#: Src/wptFileManagerDlg.cpp:483
+#: Src/wptFileManagerDlg.cpp:484
msgid "&Select All"
msgstr "Alles &markieren"
-#: Src/wptFileManagerDlg.cpp:484
+#: Src/wptFileManagerDlg.cpp:485
msgid "&Preferences"
msgstr "&Einstellungen"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:478
-#: Src/wptFileManagerDlg.cpp:485 Src/wptFileManagerDlg.cpp:552
+#: Src/wptFileManagerDlg.cpp:486 Src/wptFileManagerDlg.cpp:553
msgid "Send as Mail"
msgstr "Als Mail versenden"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:425
-#: Src/wptFileManagerDlg.cpp:486
+#: Src/wptFileManagerDlg.cpp:487
msgid "&List Packets"
msgstr "Pakete an&zeigen"
-#: Src/wptFileManagerDlg.cpp:488
+#: Src/wptFileManagerDlg.cpp:489
msgid "&Wipe"
msgstr "&Löschen"
-#: Src/wptFileManagerDlg.cpp:551
+#: Src/wptFileManagerDlg.cpp:552
msgid "Wipe"
msgstr "Löschen"
-#: Src/wptFileManagerDlg.cpp:553
+#: Src/wptFileManagerDlg.cpp:554
msgid "List Packets"
msgstr "Pakete anzeigen"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:429
-#: Src/wptFileManagerDlg.cpp:598
+#: Src/wptFileManagerDlg.cpp:599
msgid "&Calc Digest"
msgstr "Digest &berechnen"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:671
-#: Src/wptFileManagerDlg.cpp:753
+#: Src/wptFileManagerDlg.cpp:754
msgid "Are you sure you want to secure delete these files?"
msgstr "Sollen diese Dateien wirklich sicher gelöscht werden?"
-#: Src/wptFileManagerDlg.cpp:754 Src/wptMainProc.cpp:97
+#: Src/wptFileManagerDlg.cpp:755 Src/wptMainProc.cpp:97
msgid "&Yes"
msgstr "&Ja"
-#: Src/wptFileManagerDlg.cpp:755 Src/wptMainProc.cpp:98
+#: Src/wptFileManagerDlg.cpp:756 Src/wptMainProc.cpp:98
msgid "&No"
msgstr "&Nein"
-#: Src/wptFileManagerDlg.cpp:798
+#: Src/wptFileManagerDlg.cpp:799
msgid "Operation Status: Error"
msgstr "Prozess-Status: Fehler"
-#: Src/wptFileManagerDlg.cpp:799
+#: Src/wptFileManagerDlg.cpp:800
msgid "Operation Status: Done."
msgstr "Prozess-Status: Fertig"
-#: Src/wptFileManagerDlg.cpp:842
+#: Src/wptFileManagerDlg.cpp:843
#, c-format
msgid ""
"Total Capacity: %12sk\n"
@@ -1633,11 +1633,11 @@
#: Src/wptGPGPrefsDlg.cpp:222 Src/wptGPGPrefsDlg.cpp:228
#: Src/wptGPGPrefsDlg.cpp:233 Src/wptGPGPrefsDlg.cpp:238
#: Src/wptGPGPrefsDlg.cpp:244 Src/wptGPGPrefsDlg.cpp:258
-#: Src/wptKeyEditDlgs.cpp:1667 Src/wptKeyManagerDlg.cpp:956
-#: Src/wptMainProc.cpp:433 Src/wptPreferencesDlg.cpp:209
-#: Src/wptPreferencesDlg.cpp:252 Src/wptPreferencesDlg.cpp:263
-#: Src/wptPreferencesDlg.cpp:275 Src/wptPreferencesDlg.cpp:308
-#: Src/wptRegistry.cpp:596
+#: Src/wptKeyEditDlgs.cpp:1693 Src/wptKeyManagerDlg.cpp:956
+#: Src/wptMainProc.cpp:433 Src/wptPreferencesDlg.cpp:210
+#: Src/wptPreferencesDlg.cpp:253 Src/wptPreferencesDlg.cpp:265
+#: Src/wptPreferencesDlg.cpp:277 Src/wptPreferencesDlg.cpp:307
+#: Src/wptRegistry.cpp:592
msgid "Preferences"
msgstr "Einstellungen"
@@ -1806,8 +1806,8 @@
msgstr "Allgemeine GPG Optionen"
#: Src/wptGPGPrefsDlg.cpp:152 Src/wptGPGPrefsDlg.cpp:153
-#: Src/wptGPGPrefsDlg.cpp:154 Src/wptPreferencesDlg.cpp:149
-#: Src/wptPreferencesDlg.cpp:150
+#: Src/wptGPGPrefsDlg.cpp:154 Src/wptPreferencesDlg.cpp:130
+#: Src/wptPreferencesDlg.cpp:131
msgid "Browse..."
msgstr "Ändern..."
@@ -1933,17 +1933,17 @@
msgid "Key Manager"
msgstr "Schlüsselverwaltung"
-#: Src/wptImportList.cpp:263 Src/wptKeyEditDlgs.cpp:229
-#: Src/wptKeyEditDlgs.cpp:1091 Src/wptKeyEditDlgs.cpp:1152
-#: Src/wptKeyEditDlgs.cpp:1402 Src/wptKeyEditDlgs.cpp:1422
-#: Src/wptKeyEditDlgs.cpp:1461 Src/wptKeyEditDlgs.cpp:1492
+#: Src/wptImportList.cpp:263 Src/wptKeyEditDlgs.cpp:233
+#: Src/wptKeyEditDlgs.cpp:1106 Src/wptKeyEditDlgs.cpp:1167
+#: Src/wptKeyEditDlgs.cpp:1419 Src/wptKeyEditDlgs.cpp:1441
+#: Src/wptKeyEditDlgs.cpp:1480 Src/wptKeyEditDlgs.cpp:1513
#: Src/wptKeylist.cpp:392 Src/wptKeylist.cpp:426 Src/wptKeyPropsDlg.cpp:163
#: Src/wptKeysigDlg.cpp:143 Src/wptKeysigDlg.cpp:208
msgid "Revoked"
msgstr "Widerrufen"
-#: Src/wptImportList.cpp:265 Src/wptKeyEditDlgs.cpp:231
-#: Src/wptKeyEditDlgs.cpp:1089 Src/wptKeyEditDlgs.cpp:1323
+#: Src/wptImportList.cpp:265 Src/wptKeyEditDlgs.cpp:235
+#: Src/wptKeyEditDlgs.cpp:1104 Src/wptKeyEditDlgs.cpp:1338
#: Src/wptKeylist.cpp:394 Src/wptKeylist.cpp:424 Src/wptKeyPropsDlg.cpp:160
#: Src/wptKeysigDlg.cpp:142 Src/wptKeysigDlg.cpp:209
msgid "Expired"
@@ -1957,7 +1957,7 @@
msgid "public key"
msgstr "öffentlicher Schlüssel"
-#: Src/wptImportList.cpp:302 Src/wptKeyEditDlgs.cpp:1169
+#: Src/wptImportList.cpp:302 Src/wptKeyEditDlgs.cpp:1184
msgid "Invalid user ID"
msgstr "Ungültige Benutzerkennung"
@@ -1973,7 +1973,7 @@
msgid "Size"
msgstr "Größe"
-#: Src/wptImportList.cpp:353 Src/wptKeyEditDlgs.cpp:1013
+#: Src/wptImportList.cpp:353 Src/wptKeyEditDlgs.cpp:1028
#: Src/wptKeylist.cpp:545 Src/wptKeylist.cpp:553 Src/wptKeyManagerDlg.cpp:874
#: Src/wptKeyManagerDlg.cpp:965 Src/wptKeyRevokersDlg.cpp:58
#: Src/wptKeyserverSearchDlg.cpp:52 Src/wptSigList.cpp:55
@@ -1981,8 +1981,8 @@
msgid "Key ID"
msgstr "Schlüssel-ID"
-#: Src/wptImportList.cpp:354 Src/wptKeyEditDlgs.cpp:1014
-#: Src/wptKeyEditDlgs.cpp:1121 Src/wptKeylist.cpp:559
+#: Src/wptImportList.cpp:354 Src/wptKeyEditDlgs.cpp:1029
+#: Src/wptKeyEditDlgs.cpp:1136 Src/wptKeylist.cpp:559
#: Src/wptKeyManagerDlg.cpp:880 Src/wptKeyManagerDlg.cpp:968
#: Src/wptKeyserverSearchDlg.cpp:53 Src/wptSigList.cpp:54
msgid "Creation"
@@ -2019,20 +2019,20 @@
msgid "Key Cache"
msgstr "Schlüssel Cache"
-#: Src/wptKeyEditDlgs.cpp:202
+#: Src/wptKeyEditDlgs.cpp:206
msgid "Ultimate"
msgstr "Absolut"
-#: Src/wptKeyEditDlgs.cpp:217 Src/wptKeyEditDlgs.cpp:1086
+#: Src/wptKeyEditDlgs.cpp:221 Src/wptKeyEditDlgs.cpp:1101
#: Src/wptKeylist.cpp:235 Src/wptKeylist.cpp:354
msgid "Never"
msgstr "Niemals"
-#: Src/wptKeyEditDlgs.cpp:257
+#: Src/wptKeyEditDlgs.cpp:261
msgid "user ID"
msgstr "Benutzerkennung"
-#: Src/wptKeyEditDlgs.cpp:258
+#: Src/wptKeyEditDlgs.cpp:262
#, c-format
msgid ""
"Could not get key information for: \"%s\":\n"
@@ -2042,7 +2042,7 @@
"%s"
# c:\oss\winpt-gpgme\src\wptKeyEditDlgs.cpp:258
-#: Src/wptKeyEditDlgs.cpp:330
+#: Src/wptKeyEditDlgs.cpp:334
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 "
@@ -2053,7 +2053,7 @@
"240x288 grosses Bild ist eine gute Größe."
# c:\oss\winpt-gpgme\src\wptKeyEditDlgs.cpp:259
-#: Src/wptKeyEditDlgs.cpp:331
+#: Src/wptKeyEditDlgs.cpp:335
msgid ""
"Pick an image to use for your photo ID.\n"
"The image must be a JPEG file."
@@ -2061,39 +2061,39 @@
"Bitte ein Bild auswaehlen fuer die photo ID.\n"
"Das Bild muss eine JPEG Datei sein."
-#: Src/wptKeyEditDlgs.cpp:332 Src/wptKeyEditDlgs.cpp:432
-#: Src/wptKeysignDlg.cpp:267
+#: Src/wptKeyEditDlgs.cpp:336 Src/wptKeyEditDlgs.cpp:438
+#: Src/wptKeysignDlg.cpp:268
msgid "Passphrase"
msgstr "Passwort"
-#: Src/wptKeyEditDlgs.cpp:334
+#: Src/wptKeyEditDlgs.cpp:338
msgid "Add Photo ID"
msgstr "Photo ID hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:350
+#: Src/wptKeyEditDlgs.cpp:354
msgid "Select Image File"
msgstr "Bilddatei auswählen"
-#: Src/wptKeyEditDlgs.cpp:351
+#: Src/wptKeyEditDlgs.cpp:355
msgid "JPEG Files (*.jpg, *.jpeg)"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:354 Src/wptKeyEditDlgs.cpp:364
-#: Src/wptKeyEditDlgs.cpp:370 Src/wptKeyEditDlgs.cpp:376
-#: Src/wptKeyEditDlgs.cpp:388 Src/wptKeyEditDlgs.cpp:880
+#: Src/wptKeyEditDlgs.cpp:358 Src/wptKeyEditDlgs.cpp:368
+#: Src/wptKeyEditDlgs.cpp:374 Src/wptKeyEditDlgs.cpp:380
+#: Src/wptKeyEditDlgs.cpp:394 Src/wptKeyEditDlgs.cpp:895
msgid "Add Photo"
msgstr "Foto hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:355
+#: Src/wptKeyEditDlgs.cpp:359
#, c-format
msgid "'%s' is not a valid JPEG file."
msgstr "'%s' is keine gültige JPEG Datei."
-#: Src/wptKeyEditDlgs.cpp:364 Src/wptKeyRevokeDlg.cpp:142
+#: Src/wptKeyEditDlgs.cpp:368 Src/wptKeyRevokeDlg.cpp:142
msgid "Please enter a file name."
msgstr "Bitte Dateinamen eingeben."
-#: Src/wptKeyEditDlgs.cpp:368
+#: Src/wptKeyEditDlgs.cpp:372
msgid ""
"The JPEG is really large.\n"
"Are you sure you want to use it?"
@@ -2101,18 +2101,18 @@
"Das JPEG ist sehr groß.\n"
"Sind Sie sicher, dass Sie es benutzen wollen?"
-#: Src/wptKeyEditDlgs.cpp:376
+#: Src/wptKeyEditDlgs.cpp:380
msgid "Please enter a passphrase."
msgstr "Bitte ein Passwort eingeben."
-#: Src/wptKeyEditDlgs.cpp:393
+#: Src/wptKeyEditDlgs.cpp:399
msgid "Photo successfully added."
msgstr "Foto erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:394 Src/wptKeyEditDlgs.cpp:473
-#: Src/wptKeyEditDlgs.cpp:556 Src/wptKeyEditDlgs.cpp:723
-#: Src/wptKeyEditDlgs.cpp:1424 Src/wptKeyEditDlgs.cpp:1494
-#: Src/wptKeyEditDlgs.cpp:1574 Src/wptKeyEditDlgs.cpp:1752
+#: Src/wptKeyEditDlgs.cpp:400 Src/wptKeyEditDlgs.cpp:481
+#: Src/wptKeyEditDlgs.cpp:565 Src/wptKeyEditDlgs.cpp:734
+#: Src/wptKeyEditDlgs.cpp:1443 Src/wptKeyEditDlgs.cpp:1515
+#: Src/wptKeyEditDlgs.cpp:1600 Src/wptKeyEditDlgs.cpp:1778
#: Src/wptKeygenDlg.cpp:496 Src/wptKeygenDlg.cpp:612
#: Src/wptKeyPropsDlg.cpp:361 Src/wptOwnertrustDlg.cpp:124
#: Src/wptOwnertrustDlg.cpp:136
@@ -2120,137 +2120,137 @@
msgstr "GnuPG-Status"
# c:\oss\winpt-gpgme\src\wptKeyEditDlgs.cpp:350
-#: Src/wptKeyEditDlgs.cpp:430
+#: Src/wptKeyEditDlgs.cpp:436
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:431
+#: Src/wptKeyEditDlgs.cpp:437
msgid "Public key"
msgstr "öff. Schlüssel"
-#: Src/wptKeyEditDlgs.cpp:434 Src/wptKeyEditDlgs.cpp:450
-#: Src/wptKeyEditDlgs.cpp:456 Src/wptKeyEditDlgs.cpp:467
-#: Src/wptKeyEditDlgs.cpp:893
+#: Src/wptKeyEditDlgs.cpp:440 Src/wptKeyEditDlgs.cpp:456
+#: Src/wptKeyEditDlgs.cpp:462 Src/wptKeyEditDlgs.cpp:475
+#: Src/wptKeyEditDlgs.cpp:908
msgid "Add Revoker"
msgstr "\"Revoker\" hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:450 Src/wptKeyEditDlgs.cpp:1456
-#: Src/wptKeyEditDlgs.cpp:1511 Src/wptKeyEditDlgs.cpp:1553
-#: Src/wptKeyEditDlgs.cpp:1693 Src/wptKeyEditDlgs.cpp:1724
-#: Src/wptKeyEditDlgs.cpp:1852
+#: Src/wptKeyEditDlgs.cpp:456 Src/wptKeyEditDlgs.cpp:1475
+#: Src/wptKeyEditDlgs.cpp:1532 Src/wptKeyEditDlgs.cpp:1577
+#: Src/wptKeyEditDlgs.cpp:1719 Src/wptKeyEditDlgs.cpp:1750
+#: Src/wptKeyEditDlgs.cpp:1878
msgid "Please select a user ID."
msgstr "Bitte eine Benutzerkennung wählen."
-#: Src/wptKeyEditDlgs.cpp:456 Src/wptKeygenDlg.cpp:457
+#: Src/wptKeyEditDlgs.cpp:462 Src/wptKeygenDlg.cpp:457
#: Src/wptKeyRevokeDlg.cpp:150
msgid "Please enter the passphrase."
msgstr "Bitte das Passwort eingeben."
-#: Src/wptKeyEditDlgs.cpp:472
+#: Src/wptKeyEditDlgs.cpp:480
msgid "Revoker successfully addded."
msgstr "Widerrufer erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:504
+#: Src/wptKeyEditDlgs.cpp:512
msgid "Add new User ID"
msgstr "Neue Benutzerkennung hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:506
+#: Src/wptKeyEditDlgs.cpp:514
msgid "&Email"
msgstr "&E-Mail"
-#: Src/wptKeyEditDlgs.cpp:507
+#: Src/wptKeyEditDlgs.cpp:515
msgid "&Comment"
msgstr "&Kommentar"
-#: Src/wptKeyEditDlgs.cpp:523
+#: Src/wptKeyEditDlgs.cpp:530
msgid "Please enter a name (min. 5 chars.)"
msgstr "Bitte Namen eingeben (mindestens 5 Zeichen)"
-#: Src/wptKeyEditDlgs.cpp:523 Src/wptKeyEditDlgs.cpp:527
-#: Src/wptKeyEditDlgs.cpp:532 Src/wptKeyEditDlgs.cpp:536
-#: Src/wptKeyEditDlgs.cpp:554
+#: Src/wptKeyEditDlgs.cpp:530 Src/wptKeyEditDlgs.cpp:534
+#: Src/wptKeyEditDlgs.cpp:539 Src/wptKeyEditDlgs.cpp:543
+#: Src/wptKeyEditDlgs.cpp:563
msgid "UserID"
msgstr "Benutzerkennung"
-#: Src/wptKeyEditDlgs.cpp:527
+#: Src/wptKeyEditDlgs.cpp:534
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:532
+#: Src/wptKeyEditDlgs.cpp:539
msgid "Please enter an email address."
msgstr "Bitte eine E-Mail-Adresse eingeben."
-#: Src/wptKeyEditDlgs.cpp:536
+#: Src/wptKeyEditDlgs.cpp:543
msgid "Invalid email address."
msgstr "Ungültige E-Mail-Adresse"
-#: Src/wptKeyEditDlgs.cpp:556
+#: Src/wptKeyEditDlgs.cpp:565
msgid "user ID successfully added."
msgstr "Benutzerkennung erfolgreich hinzugefügt"
-#: Src/wptKeyEditDlgs.cpp:636 Src/wptKeyEditDlgs.cpp:827
+#: Src/wptKeyEditDlgs.cpp:645 Src/wptKeyEditDlgs.cpp:840
msgid "Add new Subkey"
msgstr "Neuen Unterschlüssel hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:637
+#: Src/wptKeyEditDlgs.cpp:646
msgid "Key type"
msgstr "Schlüssel Typ"
-#: Src/wptKeyEditDlgs.cpp:638
+#: Src/wptKeyEditDlgs.cpp:647
msgid "Size in bits"
msgstr "Größe in Bits"
-#: Src/wptKeyEditDlgs.cpp:639
+#: Src/wptKeyEditDlgs.cpp:648
msgid "Key expiration"
msgstr "Key Ablaufdatum"
-#: Src/wptKeyEditDlgs.cpp:684
+#: Src/wptKeyEditDlgs.cpp:693
msgid "Please select one entry."
msgstr "Bitte einen Eintrag wählen."
-#: Src/wptKeyEditDlgs.cpp:684 Src/wptKeyEditDlgs.cpp:690
-#: Src/wptKeyEditDlgs.cpp:721 Src/wptKeyEditDlgs.cpp:810
+#: Src/wptKeyEditDlgs.cpp:693 Src/wptKeyEditDlgs.cpp:699
+#: Src/wptKeyEditDlgs.cpp:732 Src/wptKeyEditDlgs.cpp:822
msgid "Add Subkey"
msgstr "Unterschlüssel hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:689
+#: Src/wptKeyEditDlgs.cpp:698
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:723
+#: Src/wptKeyEditDlgs.cpp:734
msgid "Subkey successfully added."
msgstr "Unterschlüssel erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:751 Src/wptKeyEditDlgs.cpp:810
-#: Src/wptKeyEditDlgs.cpp:880 Src/wptKeyEditDlgs.cpp:893
-#: Src/wptKeyEditDlgs.cpp:954 Src/wptKeyEditDlgs.cpp:1312
-#: Src/wptKeyEditDlgs.cpp:1385 Src/wptKeyEditDlgs.cpp:1445
+#: Src/wptKeyEditDlgs.cpp:762 Src/wptKeyEditDlgs.cpp:822
+#: Src/wptKeyEditDlgs.cpp:895 Src/wptKeyEditDlgs.cpp:908
+#: Src/wptKeyEditDlgs.cpp:969 Src/wptKeyEditDlgs.cpp:1327
+#: Src/wptKeyEditDlgs.cpp:1402 Src/wptKeyEditDlgs.cpp:1464
#: Src/wptKeyManagerDlg.cpp:1522
msgid "There is no secret key available!"
msgstr "Kein geheimer Schlüssel vorhanden!"
-#: Src/wptKeyEditDlgs.cpp:751 Src/wptKeyEditDlgs.cpp:767
+#: Src/wptKeyEditDlgs.cpp:762 Src/wptKeyEditDlgs.cpp:779
msgid "Add user ID"
msgstr "Benutzerkennung hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:865
+#: Src/wptKeyEditDlgs.cpp:880
msgid "Preferred keyserver successfully set."
msgstr "Bevorzugter Keyserver wurde erfolgreich gesetzt."
-#: Src/wptKeyEditDlgs.cpp:912 Src/wptKeyEditOwnertrustDlg.cpp:55
+#: Src/wptKeyEditDlgs.cpp:927 Src/wptKeyEditOwnertrustDlg.cpp:55
#: Src/wptKeyPropsDlg.cpp:353
msgid "Change Ownertrust"
msgstr "Besitzervertrauen ändern"
-#: Src/wptKeyEditDlgs.cpp:915 Src/wptKeyManager.cpp:232
+#: Src/wptKeyEditDlgs.cpp:930 Src/wptKeyManager.cpp:232
msgid "Key status changed."
msgstr "Schlüsselstatus geändert"
-#: Src/wptKeyEditDlgs.cpp:960
+#: Src/wptKeyEditDlgs.cpp:975
msgid ""
"Cannot change passphrase because the key\n"
"is protected with the IDEA encryption algorithm."
@@ -2258,15 +2258,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:967
+#: Src/wptKeyEditDlgs.cpp:982
msgid "Current (old) Passphrase"
msgstr "Aktuelles (altes) Passwort"
-#: Src/wptKeyEditDlgs.cpp:971
+#: Src/wptKeyEditDlgs.cpp:986
msgid "New Passphrase"
msgstr "Neues Passwort"
-#: Src/wptKeyEditDlgs.cpp:978 Src/wptPassphraseDlg.cpp:175
+#: Src/wptKeyEditDlgs.cpp:993 Src/wptPassphraseDlg.cpp:175
msgid ""
"The passphrase contains 8-bit characters.\n"
"It is not suggested to use charset specific characters."
@@ -2274,44 +2274,44 @@
"Das Passwort enthält 8-bit Zeichen.\n"
"Es ist nicht zu empfehlen zeichensatzspezifische Zeichen zu benutzen."
-#: Src/wptKeyEditDlgs.cpp:993
+#: Src/wptKeyEditDlgs.cpp:1008
msgid "Change Passwd"
msgstr "Passwort ändern"
-#: Src/wptKeyEditDlgs.cpp:995
+#: Src/wptKeyEditDlgs.cpp:1010
msgid "Passphrase successfully changed."
msgstr "Passwort erfolgreich geändert."
-#: Src/wptKeyEditDlgs.cpp:1012 Src/wptKeyManagerDlg.cpp:881
+#: Src/wptKeyEditDlgs.cpp:1027 Src/wptKeyManagerDlg.cpp:881
msgid "Description"
msgstr "Beschreibung"
-#: Src/wptKeyEditDlgs.cpp:1015
+#: Src/wptKeyEditDlgs.cpp:1030
msgid "Expires"
msgstr "Verfällt"
-#: Src/wptKeyEditDlgs.cpp:1029 Src/wptKeyEditDlgs.cpp:1127
+#: Src/wptKeyEditDlgs.cpp:1044 Src/wptKeyEditDlgs.cpp:1142
msgid "Could not find key."
msgstr "Konnte Schlüssel nicht finden"
-#: Src/wptKeyEditDlgs.cpp:1036
+#: Src/wptKeyEditDlgs.cpp:1051
msgid "No subkey(s) found."
msgstr "Kein(e) Unterschlüssel gefunden."
-#: Src/wptKeyEditDlgs.cpp:1118 Src/wptKeylist.cpp:548 Src/wptKeylist.cpp:557
+#: Src/wptKeyEditDlgs.cpp:1133 Src/wptKeylist.cpp:548 Src/wptKeylist.cpp:557
#: Src/wptKeyManagerDlg.cpp:878
msgid "Validity"
msgstr "Gültigkeit"
-#: Src/wptKeyEditDlgs.cpp:1120
+#: Src/wptKeyEditDlgs.cpp:1135
msgid "Email"
msgstr "Email"
-#: Src/wptKeyEditDlgs.cpp:1133
+#: Src/wptKeyEditDlgs.cpp:1148
msgid "No user ID(s) found."
msgstr "Keine Benutzerkennung(en) gefunden."
-#: Src/wptKeyEditDlgs.cpp:1227
+#: Src/wptKeyEditDlgs.cpp:1242
msgid ""
"ADDUID \t\tadd a user ID\r\n"
"ADDPHOTO \t\tadd a photo ID\r\n"
@@ -2351,19 +2351,19 @@
"SIGN\t \t\tBenutzerkennung signieren (exportierbar)\r\n"
"LSIGN\t \t\tBenutzerkennung signieren (nicht-exportierbar)\r\n"
-#: Src/wptKeyEditDlgs.cpp:1246
+#: Src/wptKeyEditDlgs.cpp:1261
msgid "Key Edit Help"
msgstr "Hilfe zum Schlüssel bearbeiten"
-#: Src/wptKeyEditDlgs.cpp:1262
+#: Src/wptKeyEditDlgs.cpp:1277
msgid "Primary key can not be deleted!"
msgstr "Primärer Schlüssel kann nicht gelöscht werden!"
-#: Src/wptKeyEditDlgs.cpp:1270
+#: Src/wptKeyEditDlgs.cpp:1285
msgid "Primary subkey can not be deleted!"
msgstr "Primärer Unterschlüssel kann nicht gelöscht werden!"
-#: Src/wptKeyEditDlgs.cpp:1276
+#: Src/wptKeyEditDlgs.cpp:1291
#, c-format
msgid ""
"\"Subkey %s.\"\n"
@@ -2380,15 +2380,15 @@
"\n"
"Möchten Sie diesen Unterschlüssel wirklich löschen?"
-#: Src/wptKeyEditDlgs.cpp:1288
+#: Src/wptKeyEditDlgs.cpp:1303
msgid "Delete Subkey"
msgstr "Unterschlüssel löschen"
-#: Src/wptKeyEditDlgs.cpp:1292
+#: Src/wptKeyEditDlgs.cpp:1307
msgid "Subkey successfully deleted."
msgstr "Unterschlüssel erfolgreich gelöscht."
-#: Src/wptKeyEditDlgs.cpp:1324
+#: Src/wptKeyEditDlgs.cpp:1339
msgid ""
"Key already expired.\n"
"\n"
@@ -2398,19 +2398,19 @@
"\n"
"Wollen Sie das Ablaufdatum ändern?"
-#: Src/wptKeyEditDlgs.cpp:1333 Src/wptKeyEditDlgs.cpp:1336
+#: Src/wptKeyEditDlgs.cpp:1348 Src/wptKeyEditDlgs.cpp:1351
msgid "Key Expiration Date"
msgstr "Ablaufdatum"
-#: Src/wptKeyEditDlgs.cpp:1357
+#: Src/wptKeyEditDlgs.cpp:1374
msgid "Expire Subkey"
msgstr "Untschlüssel Ablauf"
-#: Src/wptKeyEditDlgs.cpp:1363
+#: Src/wptKeyEditDlgs.cpp:1380
msgid "Subkey expire date successfully set."
msgstr "Unterschlüsselablaufdatum erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:1394
+#: Src/wptKeyEditDlgs.cpp:1411
msgid ""
"No subkeys were found, if you want to revoke the\n"
"whole key, please use the Key Manager command directly.\n"
@@ -2422,31 +2422,31 @@
"\n"
"Diese Funktion ist nur für das Widerrufen einzelner Unterschlüssel gedacht."
-#: Src/wptKeyEditDlgs.cpp:1403
+#: Src/wptKeyEditDlgs.cpp:1420
msgid "Key already revoked."
msgstr "Der Schlüssel ist bereits widerrufen."
-#: Src/wptKeyEditDlgs.cpp:1420
+#: Src/wptKeyEditDlgs.cpp:1439
msgid "Revoke Subkey"
msgstr "Unterschlüssel widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1424
+#: Src/wptKeyEditDlgs.cpp:1443
msgid "Subkey successfully revoked."
msgstr "Unterschlüssel erfolgreich widerrufen."
-#: Src/wptKeyEditDlgs.cpp:1446
+#: Src/wptKeyEditDlgs.cpp:1465
msgid "Revoke user ID"
msgstr "Benutzerkennung widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1451
+#: Src/wptKeyEditDlgs.cpp:1470
msgid "Key has only one user ID."
msgstr "Schlüssel hat nur eine Benutzerkennung."
-#: Src/wptKeyEditDlgs.cpp:1462
+#: Src/wptKeyEditDlgs.cpp:1481
msgid "This user ID has been already revoked."
msgstr "Diese Benutzerkennung wurde bereits widerrufen."
-#: Src/wptKeyEditDlgs.cpp:1468
+#: Src/wptKeyEditDlgs.cpp:1487
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -2456,39 +2456,43 @@
"Benutzerkennung %s.\r\n"
"Diese Benutzerkennung wirklich widerrufen?"
-#: Src/wptKeyEditDlgs.cpp:1490
+#: Src/wptKeyEditDlgs.cpp:1511
msgid "Revoke User ID"
msgstr "Benutzerkennung widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1494
+#: Src/wptKeyEditDlgs.cpp:1515
msgid "User ID successfully revoked"
msgstr "Benutzerkennung erfolgreich widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1571
+#: Src/wptKeyEditDlgs.cpp:1557
+msgid "Could not set user ID preferences"
+msgstr "Konnte die veränderter Benutzerkennung nicht speichern"
+
+#: Src/wptKeyEditDlgs.cpp:1597
msgid "Primary"
msgstr "Primär"
-#: Src/wptKeyEditDlgs.cpp:1574
+#: Src/wptKeyEditDlgs.cpp:1600
msgid "User ID successfully flagged"
msgstr "Benutzerkennung erfolgreich gekennzeichnet"
-#: Src/wptKeyEditDlgs.cpp:1660
+#: Src/wptKeyEditDlgs.cpp:1686
msgid "No preferences available."
msgstr "Keine Präferenzen verfübar."
-#: Src/wptKeyEditDlgs.cpp:1666
+#: Src/wptKeyEditDlgs.cpp:1692
msgid "MDC feature"
msgstr "Unterstützt MDC"
-#: Src/wptKeyEditDlgs.cpp:1668 Src/wptKeyeditSetPrefDlg.cpp:116
+#: Src/wptKeyEditDlgs.cpp:1694 Src/wptKeyeditSetPrefDlg.cpp:116
msgid "Key Preferences"
msgstr "Schlüsseleinstellungen"
-#: Src/wptKeyEditDlgs.cpp:1719
+#: Src/wptKeyEditDlgs.cpp:1745
msgid "Primary user ID can not be deleted!"
msgstr "Primäre Benutzerkennung kann nicht gelöscht werden!"
-#: Src/wptKeyEditDlgs.cpp:1730
+#: Src/wptKeyEditDlgs.cpp:1756
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -2498,40 +2502,40 @@
"Benutzerkennung %s.\r\n"
"Diese Benutzerkennung wirklich löschen?"
-#: Src/wptKeyEditDlgs.cpp:1748
+#: Src/wptKeyEditDlgs.cpp:1774
msgid "Delete user ID"
msgstr "Benutzerkennung löschen"
-#: Src/wptKeyEditDlgs.cpp:1752
+#: Src/wptKeyEditDlgs.cpp:1778
msgid "User ID successfully deleted"
msgstr "Benutzerkennung erfolgreich gelöscht"
-#: Src/wptKeyEditDlgs.cpp:1856
+#: Src/wptKeyEditDlgs.cpp:1882
msgid "Do you really want to make this sig exportable?"
msgstr "Wollen Sie diese Signatur wirklich exportierbar machen?"
-#: Src/wptKeyEditDlgs.cpp:1878 Src/wptKeysignDlg.cpp:358
+#: Src/wptKeyEditDlgs.cpp:1906 Src/wptKeysignDlg.cpp:359
msgid "Key successfully signed."
msgstr "Schlüssel erfolgreich signiert."
-#: Src/wptKeyEditDlgs.cpp:1933
+#: Src/wptKeyEditDlgs.cpp:1961
msgid "Could not set subkey window procedure."
msgstr "Konnte \"subkey window procedure\" nicht setzen."
-#: Src/wptKeyEditDlgs.cpp:1943
+#: Src/wptKeyEditDlgs.cpp:1971
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:1951
+#: Src/wptKeyEditDlgs.cpp:1979
msgid "Command>"
msgstr "Kommando>"
-#: Src/wptKeyEditDlgs.cpp:1983
+#: Src/wptKeyEditDlgs.cpp:2011
msgid "Please select a command."
msgstr "Bitte einen Befehl auswählen."
-#: Src/wptKeyEditDlgs.cpp:1987
+#: Src/wptKeyEditDlgs.cpp:2015
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"
@@ -3314,9 +3318,9 @@
msgstr "Konnte nicht auf öffentlichen Schlüsselbund zugreifen"
#: Src/wptKeyManagerDlg.cpp:1508 Src/wptKeysignDlg.cpp:241
-#: Src/wptKeysignDlg.cpp:259 Src/wptKeysignDlg.cpp:334
-#: Src/wptKeysignDlg.cpp:351 Src/wptKeysignDlg.cpp:356
-#: Src/wptKeysignDlg.cpp:358
+#: Src/wptKeysignDlg.cpp:259 Src/wptKeysignDlg.cpp:335
+#: Src/wptKeysignDlg.cpp:352 Src/wptKeysignDlg.cpp:357
+#: Src/wptKeysignDlg.cpp:359
msgid "Key Signing"
msgstr "Schlüsselsignierung"
@@ -3893,7 +3897,7 @@
msgid "&Receive Key"
msgstr "&Schlüssel empfangen"
-#: Src/wptKeysignDlg.cpp:165 Src/wptKeysignDlg.cpp:308
+#: Src/wptKeysignDlg.cpp:165 Src/wptKeysignDlg.cpp:309
msgid "Choose Signature Class"
msgstr "Signaturklasse auswählen"
@@ -3955,32 +3959,32 @@
msgid "No valid secret key found."
msgstr "Keine gültigen geheimen Schlüssel gefunden."
-#: Src/wptKeysignDlg.cpp:263
+#: Src/wptKeysignDlg.cpp:264
msgid "Sign local only (non exportable signature)"
msgstr "Nur lokal Signieren (nicht exportierbare Signatur)"
-#: Src/wptKeysignDlg.cpp:264
+#: Src/wptKeysignDlg.cpp:265
msgid "Signature expires on"
msgstr "Signatur läuft ab am"
# c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:250
-#: Src/wptKeysignDlg.cpp:265
+#: Src/wptKeysignDlg.cpp:266
msgid "Sign non-revocably"
msgstr "Nicht-widerrufbar signieren"
-#: Src/wptKeysignDlg.cpp:266
+#: Src/wptKeysignDlg.cpp:267
msgid "&Ask for certification level"
msgstr "Zertifizierungslevel erfragen"
-#: Src/wptKeysignDlg.cpp:269
+#: Src/wptKeysignDlg.cpp:270
msgid "&Show photo"
msgstr "&Photo anzeigen"
-#: Src/wptKeysignDlg.cpp:334
+#: Src/wptKeysignDlg.cpp:335
msgid "Could not get Key ID from key."
msgstr "Schlüssel-ID konnte nicht aus dem Schlüssel gelesen werden."
-#: Src/wptKeysignDlg.cpp:355
+#: Src/wptKeysignDlg.cpp:356
msgid "This key is already signed by your key"
msgstr "Der Schlüssel ist bereits mit Ihrem Schlüssel signiert"
@@ -4057,7 +4061,7 @@
"Stellen Sie sicher, dass das Fenster Text enthält.\n"
"%s."
-#: Src/wptMainProc.cpp:585 Src/wptPreferencesDlg.cpp:132
+#: Src/wptMainProc.cpp:585 Src/wptPreferencesDlg.cpp:136
msgid "WinPT Preferences"
msgstr "WinPT Einstellungen"
@@ -4243,71 +4247,71 @@
msgid "'User PIN' must be at least 6 characters long."
msgstr "Die 'Benutzer PIN' muss mindestens 6 Zeichen lang sein."
-#: Src/wptPreferencesDlg.cpp:133
+#: Src/wptPreferencesDlg.cpp:114
msgid "Do not use any &temporary files"
msgstr "Keine &temporären Dateien benutzen"
-#: Src/wptPreferencesDlg.cpp:134
+#: Src/wptPreferencesDlg.cpp:115
msgid "Use clipboard &viewer to display the plaintext"
msgstr "Benutze den &Clipboard-Betrachter zu Klartext-Anzeige"
-#: Src/wptPreferencesDlg.cpp:135
+#: Src/wptPreferencesDlg.cpp:116
msgid "Word wrap cleartext &signatures at column"
msgstr "Breche Zeilen in &Klartextsignaturen ab"
-#: Src/wptPreferencesDlg.cpp:136
+#: Src/wptPreferencesDlg.cpp:117
msgid "&Disable hotkeys (Not recommended!)"
msgstr "&Hotkeys deaktivieren (Nicht empfohlen!)"
-#: Src/wptPreferencesDlg.cpp:137
+#: Src/wptPreferencesDlg.cpp:118
msgid "Skip key validation and assume that keys are always fully trusted"
msgstr "Benutze Trust-Model 'immer gültig' und prüfe Schlüssel nie"
-#: Src/wptPreferencesDlg.cpp:138
+#: Src/wptPreferencesDlg.cpp:119
msgid "&Automatic keyring backup when WinPT closes"
msgstr "&Automatisch Backups erstellen wenn WinPT beendet wird"
-#: Src/wptPreferencesDlg.cpp:139
+#: Src/wptPreferencesDlg.cpp:120
msgid "Backup to &keyring folder"
msgstr "Backup in &Schlüsselbund-Ordner"
-#: Src/wptPreferencesDlg.cpp:140
+#: Src/wptPreferencesDlg.cpp:121
msgid "Backup to:"
msgstr "Backup nach:"
-#: Src/wptPreferencesDlg.cpp:141
+#: Src/wptPreferencesDlg.cpp:122
msgid "Select &key list mode"
msgstr "Key List-Modus auswählen"
-#: Src/wptPreferencesDlg.cpp:142
+#: Src/wptPreferencesDlg.cpp:123
msgid "Select &wipe mode"
msgstr "Lösch-Modus auswählen"
-#: Src/wptPreferencesDlg.cpp:143
+#: Src/wptPreferencesDlg.cpp:124
msgid "Keyserver &config"
msgstr "Keyserver &Config"
-#: Src/wptPreferencesDlg.cpp:144
+#: Src/wptPreferencesDlg.cpp:125
msgid "Cache &passphrases for 'n' seconds"
msgstr "&Passphrase für 'n' Sekunden cachen"
-#: Src/wptPreferencesDlg.cpp:145
+#: Src/wptPreferencesDlg.cpp:126
msgid "(CTRL+ALT+F to clear the cache)"
msgstr "(STRG+ALT+F löscht den Cache)"
-#: Src/wptPreferencesDlg.cpp:146
+#: Src/wptPreferencesDlg.cpp:127
msgid "General options"
msgstr "Allgemeine Optionen"
-#: Src/wptPreferencesDlg.cpp:147
+#: Src/wptPreferencesDlg.cpp:128
msgid "Clipboard hotkeys"
msgstr "Zwischenablage Hotkeys"
-#: Src/wptPreferencesDlg.cpp:148
+#: Src/wptPreferencesDlg.cpp:129
msgid "Current window hotkeys"
msgstr "Aktuelle Fenster Hotkeys"
-#: Src/wptPreferencesDlg.cpp:206
+#: Src/wptPreferencesDlg.cpp:207
msgid ""
"In most cases it is not a good idea to enable this setting.\n"
"If you know what you are doing let this flag enabled, otherwise\n"
@@ -4318,11 +4322,11 @@
"Wenn Sie unsicher sind, dann lassen Sie diese Funktion besser deaktiviert."
# c:\oss\winpt-gpgme\src\wptPreferencesDlg.cpp:214
-#: Src/wptPreferencesDlg.cpp:240
+#: Src/wptPreferencesDlg.cpp:241
msgid "Select GPG backup path"
msgstr "GPG Backup-Pfad auswählen"
-#: Src/wptPreferencesDlg.cpp:250
+#: Src/wptPreferencesDlg.cpp:251
msgid ""
"Please enter a value that is between 1-3600.\n"
"It is not a good idea to cache the passphrase more than one hour."
@@ -4330,15 +4334,15 @@
"Bitte geben Sie einen Wert von 1-3600 ein.\n"
"Es ist nicht zu empfehlen, das Passwort länger als eine Stunde zu speichern."
-#: Src/wptPreferencesDlg.cpp:263
+#: Src/wptPreferencesDlg.cpp:264
msgid "Please enter a value between 1-80."
msgstr "Bitte geben Sie einen Wert von 1-380 ein"
-#: Src/wptPreferencesDlg.cpp:274
+#: Src/wptPreferencesDlg.cpp:276
msgid "The specified backup folder is invalid."
msgstr "Der angegebene Sicherungsordner ist ungültig."
-#: Src/wptPreferencesDlg.cpp:314
+#: Src/wptPreferencesDlg.cpp:313
msgid "Hotkeys"
msgstr "Tastenkürzel"
@@ -4424,7 +4428,7 @@
"Der Dateityp '%s' scheint mit einer anderen Anwendung verknüpft zu sein.\n"
"Überschreiben?"
-#: Src/wptRegistry.cpp:596
+#: Src/wptRegistry.cpp:592
msgid "Could not write to Registry."
msgstr "Konnte Werte in Registry nicht speichern"
Modified: trunk/Src/ChangeLog
===================================================================
--- trunk/Src/ChangeLog 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/ChangeLog 2006-02-13 09:38:03 UTC (rev 176)
@@ -1,3 +1,41 @@
+2006-02-10 Timo Schulz <ts at g10code.de>
+
+ * wptKeyPropsDlg.cpp (props_dlg_proc): Removed unused vars.
+ * wptKeyEditDlgs.cpp (do_editkey_check): Use winpt_key_t
+ for the dialog param.
+ * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use new list
+ signature dialog by default.
+ * wptKeysigDlg.cpp (sigprops_dlg_proc): Use directly
+ gpgme_key_sig_t as param.
+ (keysig_dlg_proc): Change param for property dialog.
+ * wptSigTreeDlg.cpp (sigtree_load): Skip revoked user-ids
+ and use icons.
+ (sigtree_dlg_proc): Allow to execute old list dialog to
+ edit the signatures.
+
+2006-02-09 Timo Schulz <ts at g10code.de>
+
+ * wptRegistry.cpp (set_winpt_reg_prefs): Removed keylist mode.
+ * wptNLS.c (gettext_localize_dialog): New.
+ * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Add 'Cancel' button
+ to avoid to reload the key cache.
+ * wptClipEncryptDlg.cpp (clipenc_dlg_proc): Drop old 'normal'
+ list mode.
+ * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Likewise.
+ * wptPreferencesDlg.cpp (on_init_dialog): New. Move dialog
+ initiation code to this function.
+ (prefs_dlg_proc): Use it here.
+
+2006-02-07 Timo Schulz <ts at g10code.de>
+
+ * wptKeyEdit.cpp (setNoPassphrase): New.
+ (getValidDays): New.
+ * wptKeysignDlg.cpp (keysign_dlg_proc): Check on init
+ if the key is protected.
+ * wptKeyEditDlgs.cpp (keyedit_addphoto_dlg_proc): Handle
+ keys without a passphrase.
+ (keyedit_addrevoker_dlg_proc): Likewise.
+
2006-02-04 Timo Schulz <ts at g10code.de>
* wptKeyManagerDlg.cpp (keymanager_dlg_proc): Check for
Modified: trunk/Src/WinPT-en.rc
===================================================================
--- trunk/Src/WinPT-en.rc 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/WinPT-en.rc 2006-02-13 09:38:03 UTC (rev 176)
@@ -68,6 +68,8 @@
IDI_KEY_NEW ICON DISCARDABLE "key_new.ico"
IDI_COMPUTER ICON DISCARDABLE "computer.ico"
IDI_KEY_DELETE ICON DISCARDABLE "key_delete.ico"
+IDI_KEY_SIG ICON DISCARDABLE "keysig.ico"
+IDI_USERID ICON DISCARDABLE "userid.ico"
/////////////////////////////////////////////////////////////////////////////
//
@@ -491,6 +493,8 @@
IDC_GPGPREFS_LOCALINF,12,85,148,8
EDITTEXT IDC_GPGPREFS_LOCALE,12,96,152,12,ES_AUTOHSCROLL
PUSHBUTTON "Browse...",IDC_GPGPREFS_LOCDLG,167,95,41,14
+ CONTROL "&Overwrite default settings",IDC_GPGPREFS_OVRDEFAULT,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,115,121,10
GROUPBOX "General GPG options",IDC_GPGPREFS_ALLOPTINF,5,130,210,
74
CONTROL "Ask for the signature class during key sign",
@@ -501,9 +505,8 @@
EDITTEXT IDC_GPGPREFS_COMMENT,11,168,188,12,ES_AUTOHSCROLL
LTEXT "Encrypt to this key",IDC_GPGPREFS_ENCINF,11,187,66,8
EDITTEXT IDC_GPGPREFS_ENCTO,78,185,121,13,ES_AUTOHSCROLL
- PUSHBUTTON "&OK",IDC_GPGPREFS_SAVE,159,207,55,14
- CONTROL "&Overwrite default settings",IDC_GPGPREFS_OVRDEFAULT,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,115,121,10
+ PUSHBUTTON "&OK",IDC_GPGPREFS_SAVE,101,207,55,14
+ PUSHBUTTON "&Cancel",IDCANCEL,159,206,55,14
END
IDD_WINPT_IMPORT DIALOG DISCARDABLE 0, 0, 321, 118
@@ -602,68 +605,65 @@
PUSHBUTTON "&Cancel",IDCANCEL,119,107,50,14
END
-IDD_WINPT_PREFS DIALOG DISCARDABLE 0, 0, 292, 271
+IDD_WINPT_PREFS DIALOG DISCARDABLE 0, 0, 292, 255
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "WinPT Preferences"
FONT 8, "MS Sans Serif"
BEGIN
- LTEXT "Cache &passphrases for 'n' seconds",IDC_PREFS_CACHEINF,
- 5,9,117,8
- EDITTEXT IDC_PREFS_CACHETIME,124,7,25,13
- LTEXT "(CTRL+ALT+F to clear the cache)",IDC_PREFS_CACHEHINT,
- 151,9,108,8
- GROUPBOX "General options",IDC_PREFS_ALLOPTINF,8,23,271,97
- LTEXT "Word wrap cleartext &signatures at column",
- IDC_PREFS_WWINFO,13,34,139,8
- EDITTEXT IDC_PREFS_WORDWRAP,156,32,14,13
+ GROUPBOX "General options",IDC_PREFS_ALLOPTINF,8,2,271,101
CONTROL "Do not use any &temporary files",IDC_PREFS_SECMODE,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,47,232,10
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,13,232,10
CONTROL "Use clipboard &viewer to display the plaintext",
IDC_PREFS_VIEWER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
- 13,60,229,10
+ 13,26,229,10
CONTROL "Skip key validation and assume that keys are always fully trusted",
IDC_PREFS_TRUST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,
- 74,234,8
- LTEXT "Select &key list mode",IDC_PREFS_KEYLISTINF,13,88,85,8
- COMBOBOX IDC_PREFS_LISTMODE,100,86,64,35,CBS_DROPDOWNLIST |
+ 40,234,8
+ LTEXT "Word wrap cleartext &signatures at column",
+ IDC_PREFS_WWINFO,13,56,139,8
+ EDITTEXT IDC_PREFS_WORDWRAP,155,55,14,13
+ LTEXT "Cache &passphrases for 'n' seconds",IDC_PREFS_CACHEINF,
+ 12,73,117,8
+ EDITTEXT IDC_PREFS_CACHETIME,155,71,25,13
+ LTEXT "(CTRL+ALT+F to clear cache)",IDC_PREFS_CACHEHINT,182,73,
+ 96,8
+ LTEXT "Select &wipe mode",IDC_PREFS_WIPEINF,13,88,79,8
+ COMBOBOX IDC_PREFS_WIPEMODE,155,87,64,40,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
- LTEXT "Select &wipe mode",IDC_PREFS_WIPEINF,13,104,79,8
- COMBOBOX IDC_PREFS_WIPEMODE,100,103,64,40,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
- GROUPBOX "Clipboard hotkeys",IDC_PREFS_CLIPINF,8,122,112,70
- LTEXT "Encrypt CTRL+ALT+",IDC_STATIC,13,137,67,8
- EDITTEXT IDC_PREFS_CLIP_ENCRYPT,83,135,10,12
- LTEXT "Decrypt/verify CTRL+ALT+",IDC_STATIC,13,149,88,8
- EDITTEXT IDC_PREFS_CLIP_DECRYPT_VERIFY,103,147,9,12
- LTEXT "Sign CTRL+ALT+",IDC_STATIC,13,162,57,8
- EDITTEXT IDC_PREFS_CLIP_SIGNENC,73,160,9,12
- LTEXT "Sign && Encrypt CTRL+ALT+",IDC_STATIC,13,176,89,8
- EDITTEXT IDC_PREFS_CLIP_SIGN,103,174,9,13
- GROUPBOX "Current window hotkeys",IDC_PREFS_CURRINF,127,122,152,
+ GROUPBOX "Clipboard hotkeys",IDC_PREFS_CLIPINF,8,105,112,70
+ LTEXT "Encrypt CTRL+ALT+",IDC_STATIC,13,120,67,8
+ EDITTEXT IDC_PREFS_CLIP_ENCRYPT,83,118,10,12
+ LTEXT "Decrypt/verify CTRL+ALT+",IDC_STATIC,13,132,88,8
+ EDITTEXT IDC_PREFS_CLIP_DECRYPT_VERIFY,103,130,9,12
+ LTEXT "Sign CTRL+ALT+",IDC_STATIC,13,145,57,8
+ EDITTEXT IDC_PREFS_CLIP_SIGNENC,73,143,9,12
+ LTEXT "Sign && Encrypt CTRL+ALT+",IDC_STATIC,13,159,89,8
+ EDITTEXT IDC_PREFS_CLIP_SIGN,103,157,9,13
+ GROUPBOX "Current window hotkeys",IDC_PREFS_CURRINF,127,105,152,
70
- LTEXT "Encrypt ALT+SHIFT+",IDC_STATIC,134,137,69,8
- EDITTEXT IDC_PREFS_CWS_ENCRYPT,210,135,9,12
- LTEXT "Decrypt/verify ALT+SHIFT+",IDC_STATIC,134,150,90,8
- EDITTEXT IDC_PREFS_CWS_DECRYPT_VERIFY,227,149,9,12
- LTEXT "Sign ALT+SHIFT+",IDC_STATIC,134,163,59,8
- EDITTEXT IDC_PREFS_CWS_SIGN,196,162,9,12
- LTEXT "Sign && Encrypt ALT+SHIFT+",IDC_STATIC,134,176,91,8
- EDITTEXT IDC_PREFS_CWS_SIGNENC,227,174,10,12
+ LTEXT "Encrypt ALT+SHIFT+",IDC_STATIC,134,120,69,8
+ EDITTEXT IDC_PREFS_CWS_ENCRYPT,210,118,9,12
+ LTEXT "Decrypt/verify ALT+SHIFT+",IDC_STATIC,134,133,90,8
+ EDITTEXT IDC_PREFS_CWS_DECRYPT_VERIFY,227,132,9,12
+ LTEXT "Sign ALT+SHIFT+",IDC_STATIC,134,146,59,8
+ EDITTEXT IDC_PREFS_CWS_SIGN,196,145,9,12
+ LTEXT "Sign && Encrypt ALT+SHIFT+",IDC_STATIC,134,159,91,8
+ EDITTEXT IDC_PREFS_CWS_SIGNENC,227,157,10,12
CONTROL "&Disable hotkeys (Not recommended!)",
IDC_PREFS_DISABLE_HOTKEYS,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,8,195,159,10
- GROUPBOX "",IDC_STATIC,8,214,271,38
+ WS_TABSTOP,8,178,159,10
+ GROUPBOX "",IDC_STATIC,8,197,271,38
CONTROL "&Automatic keyring backup when WinPT closes",
IDC_PREFS_AUTOBACKUP,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,14,213,195,11
+ WS_TABSTOP,14,196,195,11
CONTROL "Backup to &keyring folder",IDC_PREFS_BAKHOME,"Button",
- BS_AUTORADIOBUTTON,24,225,150,10
+ BS_AUTORADIOBUTTON,24,208,150,10
CONTROL "Backup to:",IDC_PREFS_BAKUSER,"Button",
- BS_AUTORADIOBUTTON,24,237,55,10
- EDITTEXT IDC_PREFS_BAKPATH,80,236,130,12,ES_AUTOHSCROLL
- PUSHBUTTON "Browse...",IDC_PREFS_BAKSELECT,212,235,47,14
- DEFPUSHBUTTON "&OK",IDOK,176,255,50,14
- PUSHBUTTON "&Cancel",IDCANCEL,228,255,50,14
+ BS_AUTORADIOBUTTON,24,220,55,10
+ EDITTEXT IDC_PREFS_BAKPATH,80,219,130,12,ES_AUTOHSCROLL
+ PUSHBUTTON "Browse...",IDC_PREFS_BAKSELECT,212,218,47,14
+ DEFPUSHBUTTON "&OK",IDOK,176,238,50,14
+ PUSHBUTTON "&Cancel",IDCANCEL,228,238,50,14
END
IDD_WINPT_HKPSEARCH DIALOG DISCARDABLE 0, 0, 359, 157
@@ -1378,15 +1378,16 @@
PUSHBUTTON "&Cancel",IDCANCEL,131,83,50,14
END
-IDD_WINPT_KEYSIG_TREE DIALOG DISCARDABLE 0, 0, 234, 129
+IDD_WINPT_KEYSIG_TREE DIALOG DISCARDABLE 0, 0, 234, 205
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Key Signature Tree"
FONT 8, "MS Sans Serif"
BEGIN
- DEFPUSHBUTTON "OK",IDOK,177,110,50,14
CONTROL "Tree1",IDC_VKEYSIG_TREE,"SysTreeView32",TVS_HASBUTTONS |
TVS_HASLINES | TVS_LINESATROOT | WS_BORDER | WS_TABSTOP,
- 2,5,225,90
+ 2,5,225,174
+ PUSHBUTTON "Edit..",IDC_VKEYSIG_EDIT,1,186,54,14
+ DEFPUSHBUTTON "OK",IDOK,177,186,50,14
END
@@ -1571,7 +1572,7 @@
LEFTMARGIN, 3
RIGHTMARGIN, 286
TOPMARGIN, 3
- BOTTOMMARGIN, 269
+ BOTTOMMARGIN, 253
END
IDD_WINPT_HKPSEARCH, DIALOG
@@ -1915,7 +1916,7 @@
LEFTMARGIN, 2
RIGHTMARGIN, 227
TOPMARGIN, 3
- BOTTOMMARGIN, 124
+ BOTTOMMARGIN, 200
END
END
#endif // APSTUDIO_INVOKED
Modified: trunk/Src/WinPT.cpp
===================================================================
--- trunk/Src/WinPT.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/WinPT.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -368,7 +368,6 @@
reg_prefs.auto_backup = 0;
reg_prefs.cache_time = 0;
reg_prefs.expert = 0;
- reg_prefs.keylist_mode = 1;
reg_prefs.kserv_conf = m_strdup ("keyserver.conf");
reg_prefs.no_zip_mmedia = 1;
reg_prefs.use_tmpfiles = 1;
@@ -474,9 +473,6 @@
hotkeys_modify ();
gnupg_load_config ();
}
- else { /* default settings. */
- reg_prefs.keylist_mode = 1;
- }
if (is_gpg4win_installed ())
load_gpg_env (); /* XXX: check return code. */
Modified: trunk/Src/resource.h
===================================================================
--- trunk/Src/resource.h 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/resource.h 2006-02-13 09:38:03 UTC (rev 176)
@@ -162,6 +162,8 @@
#define IDD_WINPT_KEYSERVER_ADD 238
#define IDR_WINPT_KEYSERVER_CTX 239
#define IDD_WINPT_KEYSIG_TREE 241
+#define IDI_KEY_SIG 242
+#define IDI_USERID 243
#define IDC_CLIPEDIT_SEND 1000
#define IDC_CLIPEDIT_CLEAR 1001
#define IDC_CLIPEDIT_CLIPTEXT 1002
@@ -634,6 +636,7 @@
#define IDC_GPGPREFS_OVRDEFAULT 1510
#define IDC_MDSUM_TOCLIP 1511
#define IDC_VKEYSIG_TREE 1512
+#define IDC_VKEYSIG_EDIT 1514
#define ID_GPG_ENCRYPT 40003
#define ID_GPG_DECRYPT 40004
#define ID_GPG_SIGN 40005
@@ -812,9 +815,9 @@
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 242
+#define _APS_NEXT_RESOURCE_VALUE 244
#define _APS_NEXT_COMMAND_VALUE 40186
-#define _APS_NEXT_CONTROL_VALUE 1513
+#define _APS_NEXT_CONTROL_VALUE 1515
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Modified: trunk/Src/wptClipEncryptDlg.cpp
===================================================================
--- trunk/Src/wptClipEncryptDlg.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptClipEncryptDlg.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -133,7 +133,6 @@
gpgme_ctx_t ctx=NULL;
gpgme_error_t err;
int force_trust = 0;
- int kmode = reg_prefs.keylist_mode? KEYLIST_ENCRYPT_MIN : KEYLIST_ENCRYPT;
int n;
switch( msg ) {
@@ -145,7 +144,7 @@
if( !kc )
BUG( NULL );
lv = keylist_load (GetDlgItem( dlg, IDC_ENCRYPT_KEYLIST ), kc, NULL,
- kmode, KEY_SORT_USERID);
+ KEYLIST_ENCRYPT_MIN, KEY_SORT_USERID);
center_window( dlg, NULL );
SetForegroundWindow( dlg );
return TRUE;
Modified: trunk/Src/wptClipSignEncDlg.cpp
===================================================================
--- trunk/Src/wptClipSignEncDlg.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptClipSignEncDlg.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -104,7 +104,6 @@
passphrase_cb_s pwd;
char *signer = NULL;
int force_trust = 0;
- int kmode = reg_prefs.keylist_mode? KEYLIST_ENCRYPT_MIN : KEYLIST_ENCRYPT;
int n;
switch( msg ) {
@@ -115,7 +114,7 @@
if (!kc)
BUG (NULL);
lv = keylist_load (GetDlgItem (dlg, IDC_SIGNENC_KEYLIST),
- kc, NULL, kmode, KEY_SORT_USERID);
+ kc, NULL, KEYLIST_ENCRYPT_MIN, KEY_SORT_USERID);
seclist_init (dlg, IDC_SIGNENC_SECLIST, KEYLIST_FLAG_SHORT, &list);
center_window (dlg, NULL);
EnableWindow (GetDlgItem (dlg, IDC_SIGNENC_SECLIST), FALSE);
Modified: trunk/Src/wptFileManagerDlg.cpp
===================================================================
--- trunk/Src/wptFileManagerDlg.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptFileManagerDlg.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -91,7 +91,8 @@
seclist_init (dlg, IDC_ENCRYPT_SECLIST, KEYLIST_FLAG_SHORT, &list);
}
lv = keylist_load (GetDlgItem (dlg, IDC_ENCRYPT_LIST), kc, NULL,
- KEYLIST_ENCRYPT|KEYLIST_FLAG_FILE, KEY_SORT_USERID);
+ KEYLIST_ENCRYPT_MIN|KEYLIST_FLAG_FILE,
+ KEY_SORT_USERID);
SetForegroundWindow (dlg);
return TRUE;
Modified: trunk/Src/wptKeyEdit.cpp
===================================================================
--- trunk/Src/wptKeyEdit.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptKeyEdit.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -338,6 +338,7 @@
cmd_sent = 0;
resval = 0;
uid_index = sig_index = key_index = -1;
+ key_has_passwd = true;
}
@@ -411,6 +412,14 @@
}
+
+/* Inidicate that a key is protected by a passphrase or not. */
+void
+GpgKeyEdit::setNoPassphrase (bool val)
+{
+ key_has_passwd = !val;
+}
+
/* Set the passphrase to @pass. */
void
GpgKeyEdit::setPassphrase (const char *_pass)
@@ -458,7 +467,14 @@
}
+/* Return the amount of days the key is valid. */
+int
+GpgKeyEdit::getValidDays (void)
+{
+ return valid;
+}
+
int
GpgKeyEdit::getType (void)
{
@@ -471,8 +487,10 @@
gpgme_error_t
GpgKeyEdit::signKey (int mode, int _sig_class, const char *_exp_date)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
type = mode;
this->exp_date = _exp_date;
@@ -488,8 +506,11 @@
GpgKeyEdit::signUserid (int _uid_idx, int mode, int _sig_class,
const char *_exp_date)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
+
this->uid_index = _uid_idx;
type = mode;
this->exp_date = _exp_date;
@@ -518,8 +539,10 @@
gpgme_error_t
GpgKeyEdit::addUserid (const char *_name, const char *_cmt, const char *_email)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
type = GPG_EDITKEY_ADDUID;
free_if_alloc (this->name);
@@ -570,8 +593,10 @@
GpgKeyEdit::addSubkey (gpgme_pubkey_algo_t _pubkey_algo,
unsigned int _pubkey_size, long _valid)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
type = GPG_EDITKEY_ADDKEY;
this->pubkey_algo = _pubkey_algo;
@@ -586,8 +611,10 @@
gpgme_error_t
GpgKeyEdit::changePassphrase (const char *_new_pass, int allow_empty)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
type = GPG_EDITKEY_PASSWD;
this->new_pass = _new_pass;
@@ -601,8 +628,10 @@
gpgme_error_t
GpgKeyEdit::setPrimaryUserid (int _uid_index)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
type = GPG_EDITKEY_PRIMARY;
this->uid_index = _uid_index;
@@ -617,8 +646,10 @@
GpgKeyEdit::setKeyExpireDate (int _key_index, long exp_timestamp,
bool exp_days)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
if (!exp_days && exp_timestamp > 0 && exp_timestamp < time (NULL))
return gpg_error (GPG_ERR_INV_ARG);
@@ -638,8 +669,10 @@
gpgme_error_t
GpgKeyEdit::revokeUserid (int _uid_index)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
type = GPG_EDITKEY_REVUID;
this->uid_index = _uid_index;
@@ -653,8 +686,10 @@
gpgme_error_t
GpgKeyEdit::revokeSignature (int _uid_index, int _sig_index)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
type = GPG_EDITKEY_REVSIG;
this->uid_index = _uid_index;
@@ -670,8 +705,10 @@
gpgme_error_t
GpgKeyEdit::revokeSubkey (int _key_index, int _reason, const char *_cmt)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
type = GPG_EDITKEY_REVKEY;
this->key_index = _key_index;
@@ -691,8 +728,10 @@
gpgme_error_t
GpgKeyEdit::addDesignatedRevoker (const char *uid)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
type = GPG_EDITKEY_ADDREV;
free_if_alloc (this->name);
@@ -706,8 +745,10 @@
gpgme_error_t
GpgKeyEdit::addPhotoid (const char *jpg_file)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
type = GPG_EDITKEY_ADDPHOTO;
this->url = jpg_file;
@@ -752,8 +793,10 @@
gpgme_error_t
GpgKeyEdit::setUseridPreferences (int _uid_index, const char *new_prefs)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
return 0;
}
@@ -777,10 +820,13 @@
gpgme_error_t
GpgKeyEdit::setPreferredKeyserver (int _uid_index, const char *_url)
{
- if (!this->key || !this->pass)
+ if (!this->key)
return gpg_error (GPG_ERR_INV_OBJ);
- if (!url)
+ if (key_has_passwd && !this->pass)
+ return gpg_error (GPG_ERR_INV_PASSPHRASE);
+ if (!_url)
return gpg_error (GPG_ERR_INV_ARG);
+
type = GPG_EDITKEY_KEYSERV;
this->url = _url;
this->uid_index = _uid_index;
Modified: trunk/Src/wptKeyEditCB.cpp
===================================================================
--- trunk/Src/wptKeyEditCB.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptKeyEditCB.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -293,7 +293,7 @@
return buf;
}
if (!strcmp (key, "keygen.valid")) {
- _snprintf (buf, sizeof (buf)-1, "%d", ctx->valid);
+ _snprintf (buf, sizeof (buf)-1, "%d", ctx->getValidDays ());
return buf;
}
if (!strcmp (key, "keyedit.prompt")) {
@@ -410,7 +410,7 @@
}
if( step == 2 && !strcmp ( key, "keygen.valid" ) ) {
*r_step = step = 3;
- sprintf (buf, "%d", ctx->valid);
+ sprintf (buf, "%d", ctx->getValidDays ());
return buf;
}
if (step == 3 && !strcmp (key, "passphrase.enter")) {
Modified: trunk/Src/wptKeyEditDlgs.cpp
===================================================================
--- trunk/Src/wptKeyEditDlgs.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptKeyEditDlgs.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -113,22 +113,26 @@
UID_COL_CREATION = 3
};
-struct keyedit_callback_s {
+/* Key edit callback context. */
+struct keyedit_cb_s {
const char *keyid;
const char *pass;
listview_ctrl_t lv;
void *opaque;
unsigned int finished:1;
+ unsigned int is_protected:1;
};
-typedef struct keyedit_callback_s KEYEDIT_CB;
+typedef struct keyedit_cb_s *keyedit_cb_t;
-struct keygen_callback_s {
+
+/* Key generation callback context. */
+struct keygen_cb_s {
int bits;
int algo;
u32 expire;
char *fpr;
};
-typedef struct keygen_callback_s KEYGEN_CB;
+typedef struct keygen_cb_s *keygen_cb_t;
static subclass_s keyedit_subkey_proc;
@@ -208,7 +212,7 @@
static void
-do_add_new_subkey (listview_ctrl_t lv, KEYGEN_CB *keygen, unsigned int flags)
+do_add_new_subkey (listview_ctrl_t lv, keygen_cb_t keygen, unsigned int flags)
{
char info[128], keyid[32];
const char * expdate, * s;
@@ -381,6 +385,8 @@
BUG (NULL);
if (k->is_protected)
ke->setPassphrase (pwd);
+ else
+ ke->setNoPassphrase (true);
ec = ke->addPhotoid (file);
delete ke;
wipememory (pwd, sizeof (pwd));
@@ -460,6 +466,8 @@
ke = new GpgKeyEdit (k->keyid);
if (k->is_protected)
ke->setPassphrase (pwd);
+ else
+ ke->setNoPassphrase (true);
err = ke->addDesignatedRevoker (uid);
delete ke;
wipememory (pwd, sizeof (pwd));
@@ -489,16 +497,16 @@
BOOL CALLBACK
keyedit_adduid_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
- static KEYEDIT_CB *ctx;
+ static keyedit_cb_t ctx;
gpgme_error_t err;
GpgKeyEdit *ke;
char *utf8_name = NULL;
char name[128], email[128], comment[128];
int rc;
- switch ( msg ) {
+ switch (msg) {
case WM_INITDIALOG:
- ctx = (KEYEDIT_CB *)lparam;
+ ctx = (keyedit_cb_t)lparam;
if( !ctx )
dlg_fatal_error(dlg, "Could not get dialog param!");
SetWindowText (dlg, _("Add new User ID"));
@@ -510,9 +518,8 @@
return FALSE;
case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE) {
+ if (LOWORD (wparam) == SC_CLOSE)
EndDialog(dlg, TRUE);
- }
return FALSE;
case WM_COMMAND:
@@ -546,8 +553,10 @@
ke = new GpgKeyEdit (ctx->keyid);
if (!ke)
BUG (NULL);
- if (ctx->pass)
+ if (ctx->is_protected)
ke->setPassphrase (ctx->pass);
+ else
+ ke->setNoPassphrase (true);
err = ke->addUserid (utf8_name? utf8_name : name,
rc > 0? comment : NULL, email);
if (err)
@@ -618,8 +627,8 @@
BOOL CALLBACK
keyedit_addsubkey_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
- static KEYEDIT_CB *ctx;
- static KEYGEN_CB *keygen;
+ static keyedit_cb_t ctx;
+ static keygen_cb_t keygen;
GpgKeyEdit *ke;
gpgme_error_t err;
SYSTEMTIME st;
@@ -628,10 +637,10 @@
switch (msg) {
case WM_INITDIALOG:
- ctx = (KEYEDIT_CB *)lparam;
+ ctx = (keyedit_cb_t)lparam;
if (!ctx)
dlg_fatal_error (dlg, "Could not get dialog param!");
- keygen = (KEYGEN_CB *)ctx->opaque;
+ keygen = (keygen_cb_t)ctx->opaque;
SetWindowText (dlg, _("Add new Subkey"));
SetDlgItemText (dlg, IDC_ADDSUBKEY_INFALGO, _("Key type"));
@@ -709,8 +718,10 @@
if (!ke)
BUG (NULL);
ke->setCallback (keygen_cb, NULL);
- if (ctx->pass)
+ if (ctx->is_protected)
ke->setPassphrase (ctx->pass);
+ else
+ ke->setNoPassphrase (true);
keygen_cb_dlg_create ();
err = ke->addSubkey ((gpgme_pubkey_algo_t)index, size, valid);
@@ -743,7 +754,7 @@
BOOL
keyedit_add_userid (winpt_key_t k, HWND dlg, listview_ctrl_t lv)
{
- KEYEDIT_CB cb;
+ keyedit_cb_s cb;
char *pass = NULL;
int cancel = 0;
@@ -759,7 +770,8 @@
}
memset (&cb, 0, sizeof cb);
- cb.pass = k->is_protected? pass : NULL;
+ cb.is_protected = k->is_protected;
+ cb.pass = pass;
cb.lv = lv;
cb.keyid = k->keyid;
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYEDIT_ADDUID,
@@ -801,8 +813,8 @@
BOOL
keyedit_add_subkey (winpt_key_t k, HWND dlg, listview_ctrl_t lv)
{
- KEYEDIT_CB cb;
- KEYGEN_CB keygen;
+ keyedit_cb_s cb;
+ keygen_cb_s keygen;
char *pass = NULL;
int cancel = 0;
@@ -820,7 +832,8 @@
memset (&cb, 0, sizeof (cb));
cb.lv = lv;
cb.keyid = k->keyid;
- cb.pass = k->is_protected? pass : NULL;
+ cb.is_protected = k->is_protected;
+ cb.pass = pass;
cb.opaque = &keygen;
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYEDIT_ADDSUBKEY,
dlg, keyedit_addsubkey_dlg_proc,
@@ -860,6 +873,8 @@
BUG (NULL);
if (k->is_protected)
ke->setPassphrase (pass);
+ else
+ ke->setNoPassphrase (true);
err = ke->setPreferredKeyserver (0 /* XXX */, url->url);
if (!err)
msg_box (dlg, _("Preferred keyserver successfully set."), _("Key Edit"), MB_OK);
@@ -1352,6 +1367,8 @@
BUG (NULL);
if (k->is_protected)
ke->setPassphrase (pass);
+ else
+ ke->setNoPassphrase (true);
err = ke->setKeyExpireDate (j, w32_mktime (&udd.st), false);
if (err)
msg_box (dlg, gpgme_strerror (err), _("Expire Subkey"), MB_ERR);
@@ -1415,6 +1432,8 @@
BUG (NULL);
if (k->is_protected)
ke->setPassphrase (pass);
+ else
+ ke->setNoPassphrase (true);
err = ke->revokeSubkey (j, 0, NULL);
if (err)
msg_box( dlg, gpgme_strerror (err), _("Revoke Subkey"), MB_ERR);
@@ -1485,6 +1504,8 @@
BUG (NULL);
if (k->is_protected)
ke->setPassphrase (pass);
+ else
+ ke->setNoPassphrase (true);
err = ke->revokeUserid (id);
if (err)
msg_box (dlg, gpgme_strerror (err), _("Revoke User ID"), MB_ERR);
@@ -1526,11 +1547,14 @@
BUG (NULL);
if (k->is_protected)
ke->setPassphrase (pass);
+ else
+ ke->setNoPassphrase (true);
get_userid_preflist (&prefs, &flags);
rc = ke->setUseridPreferences (id, prefs);
- /* XXX */
+ if (rc)
+ msg_box (dlg, _("Could not set user ID preferences"), _("Key Edit"), MB_ERR);
sfree_if_alloc (pass);
free_if_alloc (prefs);
@@ -1566,6 +1590,8 @@
ke = new GpgKeyEdit (k->keyid);
if (k->is_protected)
ke->setPassphrase (pass);
+ else
+ ke->setNoPassphrase (true);
err = ke->setPrimaryUserid (id);
if (err)
msg_box (dlg, gpgme_strerror (err), _("Primary"), MB_ERR);
@@ -1632,14 +1658,14 @@
BOOL CALLBACK
showpref_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
- static keyedit_callback_s *cb = NULL;
+ static keyedit_cb_t cb = NULL;
gpg_uid_info_t inf=NULL;
char buf[128];
int pos;
switch (msg) {
case WM_INITDIALOG:
- cb = (keyedit_callback_s *)lparam;
+ cb = (keyedit_cb_t)lparam;
if (cb == NULL)
BUG (dlg);
pos = listview_get_curr_pos (cb->lv);
@@ -1684,7 +1710,7 @@
static int
do_editkey_showpref (winpt_key_t k, HWND dlg, listview_ctrl_t lv)
{
- struct keyedit_callback_s cb;
+ struct keyedit_cb_s cb;
if (k->is_v3)
return TRUE;
@@ -1829,11 +1855,12 @@
static void
do_editkey_check (winpt_key_t k, HWND dlg)
{
- gpgme_key_t key;
-
- get_pubkey (k->keyid, &key);
+ if (!k->ctx)
+ get_pubkey (k->keyid, &k->ctx);
+ if (!k->uid && k->ctx)
+ k->uid = k->ctx->uids->uid;
DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_KEYSIG_TREE, dlg,
- sigtree_dlg_proc, (LPARAM)key);
+ sigtree_dlg_proc, (LPARAM)k);
}
@@ -1870,6 +1897,8 @@
ke = new GpgKeyEdit (k->keyid);
if (k->is_protected)
ke->setPassphrase (pass);
+ else
+ ke->setNoPassphrase (true);
ke->setLocalUser (get_default_key ());
err = ke->signUserid (uid_index,
mode == CMD_SIGN? GPG_EDITKEY_SIGN : GPG_EDITKEY_LSIGN,
Modified: trunk/Src/wptKeyManagerDlg.cpp
===================================================================
--- trunk/Src/wptKeyManagerDlg.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptKeyManagerDlg.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -1576,9 +1576,9 @@
k.keyid = k.tmp_keyid;
k.uid = key->uids->uid;
k.ctx = (gpgme_key_t)listview_get_item2 (kmi->lv, kmi->lv_idx);
- dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYSIG, dlg,
- keysig_dlg_proc, (LPARAM)&k,
- _("Key Signature List" ), IDS_WINPT_KEYSIG);
+ dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYSIG_TREE, dlg,
+ sigtree_dlg_proc, (LPARAM)&k,
+ _("Key Signature List"), IDS_WINPT_KEYSIG);
if (k.update)
update_key (kmi->lv, kmi->lv_idx, k.tmp_keyid, 0);
return TRUE;
Modified: trunk/Src/wptKeyPropsDlg.cpp
===================================================================
--- trunk/Src/wptKeyPropsDlg.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptKeyPropsDlg.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -274,9 +274,7 @@
static winpt_key_t k;
static gpgme_key_t key;
gpgme_validity_t valid;
- refresh_cache_s rcs = {0};
const char *inf;
- int cancel = 0;
int rc;
/* XXX: static variable (k) prevent that the dialog can
Modified: trunk/Src/wptKeylist.cpp
===================================================================
--- trunk/Src/wptKeylist.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptKeylist.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -570,7 +570,7 @@
return rc;
lv->ctrl = ctrl;
- if ((mode & KEYLIST_ENCRYPT) || (mode & KEYLIST_ENCRYPT_MIN)) {
+ if (mode & KEYLIST_ENCRYPT_MIN) {
col = klist_enc;
n = (DIM(klist_enc) -1);
ext_chk = 1;
@@ -641,7 +641,7 @@
return NULL;
keylist_load_keycache (lv, mode, pubkc, seckc);
keylist_sort (lv, sortby);
- if ((mode & KEYLIST_ENCRYPT) || (mode & KEYLIST_ENCRYPT_MIN))
+ if (mode & KEYLIST_ENCRYPT_MIN)
keylist_add_groups (lv);
return lv;
}
Modified: trunk/Src/wptKeysigDlg.cpp
===================================================================
--- trunk/Src/wptKeysigDlg.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptKeysigDlg.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -113,18 +113,18 @@
/* Dialog box procedure to display the signature properties. */
-static BOOL CALLBACK
+BOOL CALLBACK
sigprops_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
- static listview_ctrl_t lv;
+ static gpgme_key_sig_t ks;
+ gpgme_key_t issuer;
char tmpbuf[256];
- int n;
struct {
unsigned int exportable:1;
unsigned int expired:1;
unsigned int nrev:1;
unsigned int rev:1;
- const char * alg;
+ const char *alg;
int _class;
} ctx;
const char *fmt_templ = _("%s %s signature");
@@ -145,51 +145,51 @@
SetDlgItemText (dlg, IDC_SIGPROPS_EXPSTR, _("Expire date"));
SetDlgItemText (dlg, IDC_SIGPROPS_KEYINF, _("Issuer key"));
SetDlgItemText (dlg, IDC_SIGPROPS_KEYIDINF, _("Issuer key ID"));
- lv = (listview_ctrl_t)lparam;
- if (!lv)
- dlg_fatal_error (dlg, "could not get dialog param");
+ ks = (gpgme_key_sig_t)lparam;
+ if (!ks)
+ BUG (0);
memset (&ctx, 0, sizeof ctx);
- n = listview_get_curr_pos (lv);
- listview_get_item_text (lv, n, SL_COL_CLASS, tmpbuf, DIM (tmpbuf)-1);
- if (!strstr (tmpbuf, "L"))
- ctx.exportable = 1;
- ctx._class = atoi (tmpbuf);
+ ctx._class = ks->sig_class;
if (ctx._class == 0)
- ctx._class = 10;
- else if (ctx._class < 10)
- ctx._class += 10;
- listview_get_item_text (lv, n, SL_COL_ALGO, tmpbuf, DIM (tmpbuf)-1);
- if (strstr (tmpbuf, "DSA"))
+ ctx._class = 16;
+ ctx._class -= 6;
+ if (ks->pubkey_algo == GPGME_PK_DSA)
ctx.alg = "DSA";
- else if (strstr (tmpbuf, "RSA"))
+ else if (ks->pubkey_algo == GPGME_PK_RSA)
ctx.alg = "RSA";
else
ctx.alg = "ELG";
+ ctx.exportable = ks->exportable;
_snprintf (tmpbuf, DIM (tmpbuf)-1, fmt_templ,
ctx.exportable? _("Exportable") : _("Non-exportable"), ctx.alg);
SetDlgItemText (dlg, IDC_SIGPROPS_INFO, tmpbuf);
- listview_get_item_text (lv, n, SL_COL_KEYID, tmpbuf, DIM (tmpbuf)-1);
- SetDlgItemText (dlg, IDC_SIGPROPS_KEYID, tmpbuf);
+
+ SetDlgItemText (dlg, IDC_SIGPROPS_KEYID, ks->keyid+8);
SetDlgItemInt (dlg, IDC_SIGPROPS_CLASS, ctx._class, FALSE);
if (ctx.exportable)
CheckDlgButton (dlg, IDC_SIGPROPS_EXP, BST_CHECKED);
- listview_get_item_text (lv, n, SL_COL_UID, tmpbuf, DIM (tmpbuf)-1);
- SetDlgItemText (dlg, IDC_SIGPROPS_ISSUER, tmpbuf+1);
- tmpbuf[0] = 0;
- listview_get_item_text (lv, n, SL_COL_EXPIRE, tmpbuf, DIM (tmpbuf)-1);
- if (strlen (tmpbuf) == 0) {
+ if (!get_pubkey (ks->keyid+8, &issuer)) {
+ char *uid = utf8_to_wincp2 (issuer->uids->uid);
+ SetDlgItemText (dlg, IDC_SIGPROPS_ISSUER, uid);
+ safe_free (uid);
+ }
+ else
+ SetDlgItemText (dlg, IDC_SIGPROPS_ISSUER, _(" user ID not found"));
+ if (ks->expires == 0) {
ShowWindow (GetDlgItem (dlg, IDC_SIGPROPS_EXPSTR), SW_HIDE);
ShowWindow (GetDlgItem (dlg, IDC_SIGPROPS_EXPDATE), SW_HIDE);
}
else {
SYSTEMTIME st;
- struct tm * tm;
+ struct tm *tm;
time_t t = time (NULL);
+ time_t tmp = ks->expires;
+ tm = localtime (&tmp);
memset (&st, 0, sizeof st);
- st.wYear = atoi (tmpbuf);
- st.wMonth = atoi (tmpbuf+5);
- st.wDay = atoi (tmpbuf+8);
+ st.wYear = tm->tm_year+1900;
+ st.wMonth = tm->tm_mon;
+ st.wDay = tm->tm_mday;
DateTime_SetSystemtime (GetDlgItem (dlg, IDC_SIGPROPS_EXPDATE),
GDT_VALID, &st);
@@ -217,6 +217,10 @@
case IDOK:
EndDialog (dlg, TRUE);
break;
+
+ case IDCANCEL:
+ EndDialog (dlg, FALSE);
+ break;
}
}
@@ -229,6 +233,7 @@
{
listview_ctrl_t lv;
winpt_key_t key;
+ gpgme_key_sig_t ks;
switch (msg) {
case WM_KEYUP:
@@ -236,9 +241,11 @@
key = (winpt_key_t)siglist_proc.opaque;
lv = key->callback.ctl;
if (virt_key == VK_SPACE) {
- if (is_sig (lv, -1))
+ if (is_sig (lv, -1)) {
+ ks = (gpgme_key_sig_t)listview_get_item2 (lv, listview_get_curr_pos (lv));
DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_SIGPROPS, dlg,
- sigprops_dlg_proc, (LPARAM)lv);
+ sigprops_dlg_proc, (LPARAM)ks);
+ }
}
else if (virt_key == VK_DELETE)
do_delsig (dlg, lv, key);
@@ -307,12 +314,9 @@
GetCursorPos (&p);
hm = LoadMenu (glob_hinst, MAKEINTRESOURCE (IDR_WINPT_KEYSIG_CTX));
sm = GetSubMenu (hm, 0);
-
set_menu_text (sm, ID_SIGCTX_PROPS, _("Signature &Properties"));
set_menu_text (sm, ID_SIGCTX_KEYPROPS, _("Signing &Key Properties"));
-
TrackPopupMenu (sm, TPM_RIGHTALIGN, p.x, p.y, 0, dlg, NULL);
-
DestroyMenu (hm);
DestroyMenu (sm);
}
@@ -376,9 +380,10 @@
{
static listview_ctrl_t lv = NULL;
static struct winpt_key_s *k;
+ gpgme_key_sig_t ks;
+ HWND sl;
char inf[384];
- int idx = 0;
- HWND sl;
+ int idx = 0;
switch (msg) {
case WM_INITDIALOG:
@@ -470,9 +475,11 @@
break;
case ID_SIGCTX_PROPS:
- if (is_sig (lv, -1))
+ if (is_sig (lv, -1)) {
+ ks = (gpgme_key_sig_t)listview_get_item2 (lv, listview_get_curr_pos (lv));
DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_SIGPROPS, dlg,
- sigprops_dlg_proc, (LPARAM)lv);
+ sigprops_dlg_proc, (LPARAM)ks);
+ }
break;
case IDC_KEYSIG_RECVKEY:
@@ -484,9 +491,11 @@
return TRUE;
case IDC_KEYSIG_SIGPROPS:
- if (is_sig (lv, -1))
+ if (is_sig (lv, -1)) {
+ ks = ks = (gpgme_key_sig_t)listview_get_item2 (lv, listview_get_curr_pos (lv));
DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_SIGPROPS, dlg,
- sigprops_dlg_proc, (LPARAM)lv);
+ sigprops_dlg_proc, (LPARAM)ks);
+ }
return TRUE;
case IDOK:
Modified: trunk/Src/wptKeysignDlg.cpp
===================================================================
--- trunk/Src/wptKeysignDlg.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptKeysignDlg.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -253,12 +253,13 @@
get_expire_date (key->ctx),
get_printable_fpr (key->ctx->subkeys->fpr),
uid);
- free (uid);
+ safe_free (uid);
s = key->ctx->subkeys->keyid;
if (do_fill_seckeylist (dlg, s)) {
msg_box (dlg, _("No valid secret key found."), _("Key Signing"), MB_ERR);
EndDialog (dlg, FALSE);
}
+ do_check_protection (dlg);
SetDlgItemText (dlg, IDC_KEYSIGN_INFOS, keymsg);
SetDlgItemText (dlg, IDC_KEYSIGN_LOCAL, _("Sign local only (non exportable signature)"));
SetDlgItemText (dlg, IDC_KEYSIGN_EXPSIG, _("Signature expires on"));
@@ -290,7 +291,7 @@
return FALSE;
case WM_COMMAND:
- if (HIWORD( wparam ) == CBN_SELCHANGE) {
+ if (HIWORD (wparam) == CBN_SELCHANGE) {
do_check_protection (dlg);
break;
}
Modified: trunk/Src/wptNLS.c
===================================================================
--- trunk/Src/wptNLS.c 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptNLS.c 2006-02-13 09:38:03 UTC (rev 176)
@@ -1,5 +1,5 @@
/* wptNLS.cpp - W32 Native Language Support
- * Copyright (C) 2001, 2002, 2003 Timo Schulz
+ * Copyright (C) 2001, 2002, 2003, 2006 Timo Schulz
* Copyright (C) 1995-1999 Free Software Foundation, Inc.
*
* This code based on the simple-gettext.c code from the GnuPG
@@ -25,7 +25,6 @@
#endif
#include <stdio.h>
-#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
@@ -36,17 +35,17 @@
#include "wptTypes.h"
#include "wptNLS.h"
+
/* Missing W32 functions. */
static char *
w32_stpcpy (char *a,const char *b)
{
- while (*b)
+ while( *b )
*a++ = *b++;
*a = 0;
return (char*)a;
}
-
/* The magic number of the GNU message catalog format. */
#define MAGIC 0x950412de
#define MAGIC_SWAPPED 0xde120495
@@ -270,7 +269,6 @@
return (const char*)p;
} /* get_string */
-
const char *
gettext( const char *msgid )
{
@@ -341,6 +339,7 @@
return msgid;
} /* gettext */
+
/* Map the user specific language ID to a
gettext conform language string.
Example: LANG_GERMAN -> "de" */
@@ -356,9 +355,9 @@
};
LANGID lang;
int i;
-
+
lang = GetUserDefaultLangID ();
-
+
for (i=0; lang_table[i].id; i++) {
if (PRIMARYLANGID (lang) == lang_table[i].langid)
return lang_table[i].id;
@@ -367,6 +366,21 @@
}
+/* Take a table with control item IDs and their translation
+ and set each text to the translated value. */
+void
+gettext_localize_dialog (HWND dlg, struct gettext_tab_s *tab,
+ const char *title)
+{
+ int i;
+
+ for (i=0; tab[i].trans != NULL; i++)
+ SetDlgItemText (dlg, tab[i].ctlid, tab[i].trans);
+ if (title)
+ SetWindowText (dlg, title);
+}
+
+
/* XXX: this has to be placed in a .c file but not here */
#include <shlobj.h>
Modified: trunk/Src/wptPreferencesDlg.cpp
===================================================================
--- trunk/Src/wptPreferencesDlg.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptPreferencesDlg.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -94,17 +94,6 @@
}
-/* Initialize the combox in the dialog @dlg with the valid list modes. */
-static void
-init_keylist_modes (HWND dlg)
-{
- HWND cb = GetDlgItem (dlg, IDC_PREFS_LISTMODE);
- combox_add_string (cb, (char *)"NORMAL");
- combox_add_string (cb, (char *)"MINIMAL");
- SendMessage (cb, CB_SETCURSEL, (WPARAM)reg_prefs.keylist_mode, 0);
-}
-
-
/* Initialize the combobox in the dialog @dlg with the valid wipe modes. */
static void
init_wipe_modes (HWND dlg)
@@ -117,77 +106,89 @@
}
+/* Helper function to prepare dialog. */
+static void
+on_init_dialog (HWND dlg)
+{
+ struct gettext_tab_s prefs[] = {
+ {IDC_PREFS_SECMODE, _("Do not use any &temporary files")},
+ {IDC_PREFS_VIEWER, _("Use clipboard &viewer to display the plaintext")},
+ {IDC_PREFS_WWINFO, _("Word wrap cleartext &signatures at column")},
+ {IDC_PREFS_DISABLE_HOTKEYS, _("&Disable hotkeys (Not recommended!)")},
+ {IDC_PREFS_TRUST, _("Skip key validation and assume that keys are always fully trusted")},
+ {IDC_PREFS_AUTOBACKUP, _("&Automatic keyring backup when WinPT closes")},
+ {IDC_PREFS_BAKHOME, _("Backup to &keyring folder")},
+ {IDC_PREFS_BAKUSER, _("Backup to:")},
+ {IDC_PREFS_KEYLISTINF, _("Select &key list mode")},
+ {IDC_PREFS_WIPEINF, _("Select &wipe mode")},
+ {IDC_PREFS_KSINF, _("Keyserver &config")},
+ {IDC_PREFS_CACHEINF, _("Cache &passphrases for 'n' seconds")},
+ {IDC_PREFS_CACHEHINT, _("(CTRL+ALT+F to clear the cache)")},
+ {IDC_PREFS_ALLOPTINF, _("General options")},
+ {IDC_PREFS_CLIPINF, _("Clipboard hotkeys")},
+ {IDC_PREFS_CURRINF, _("Current window hotkeys")},
+ {IDC_PREFS_KSELFILE, _("Browse...")},
+ {IDC_PREFS_BAKSELECT, _("Browse...")},
+ {IDCANCEL, _("&Cancel")},
+ {0, NULL}};
+ int i;
+
+ gettext_localize_dialog (dlg, prefs, _("WinPT Preferences"));
+ SetDlgItemInt (dlg, IDC_PREFS_CACHETIME, reg_prefs.cache_time, TRUE);
+
+ SetDlgItemInt (dlg, IDC_PREFS_WORDWRAP, reg_prefs.word_wrap, TRUE);
+ if (reg_prefs.backup.path)
+ SetDlgItemText (dlg, IDC_PREFS_BAKPATH, reg_prefs.backup.path);
+
+
+ for (i=0; hotkeys[i]; i++)
+ SetDlgItemText (dlg, hotkeys[i], reg_hotkeys[i].key);
+ CheckDlgButton (dlg, IDC_PREFS_DISABLE_HOTKEYS,
+ reg_prefs.no_hotkeys ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton (dlg, IDC_PREFS_SECMODE,
+ reg_prefs.use_tmpfiles ? BST_UNCHECKED : BST_CHECKED);
+ CheckDlgButton (dlg, IDC_PREFS_VIEWER,
+ reg_prefs.use_viewer ? BST_CHECKED: BST_UNCHECKED);
+ CheckDlgButton (dlg, IDC_PREFS_TRUST,
+ reg_prefs.always_trust? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton (dlg, IDC_PREFS_AUTOBACKUP,
+ reg_prefs.auto_backup? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton (dlg, IDC_PREFS_BAKHOME,
+ reg_prefs.backup.mode==1? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton (dlg, IDC_PREFS_BAKUSER,
+ reg_prefs.backup.mode==2? BST_CHECKED : BST_UNCHECKED);
+ if (reg_prefs.no_hotkeys)
+ disable_hotkey_items (dlg, 1);
+ if (!reg_prefs.auto_backup)
+ enable_backup_items (dlg, 0);
+ EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKPATH),
+ reg_prefs.backup.mode==1?FALSE : TRUE);
+ EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKSELECT),
+ reg_prefs.backup.mode==1? FALSE : TRUE);
+ init_wipe_modes (dlg);
+ center_window (dlg, NULL);
+ SetForegroundWindow (dlg);
+}
+
+
/* Dialog box procedure for the WinPT preferences. */
BOOL CALLBACK
prefs_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
int rc;
- int i, id;
+ int i;
char t[2];
- char path[256], * p;
+ char path[256], *p;
HWND cb;
switch (msg) {
case WM_INITDIALOG:
- SetWindowText (dlg, _("WinPT Preferences"));
- SetDlgItemText (dlg, IDC_PREFS_SECMODE, _("Do not use any &temporary files"));
- SetDlgItemText (dlg, IDC_PREFS_VIEWER, _("Use clipboard &viewer to display the plaintext"));
- SetDlgItemText (dlg, IDC_PREFS_WWINFO, _("Word wrap cleartext &signatures at column"));
- SetDlgItemText (dlg, IDC_PREFS_DISABLE_HOTKEYS, _("&Disable hotkeys (Not recommended!)"));
- SetDlgItemText (dlg, IDC_PREFS_TRUST, _("Skip key validation and assume that keys are always fully trusted"));
- SetDlgItemText (dlg, IDC_PREFS_AUTOBACKUP, _("&Automatic keyring backup when WinPT closes"));
- SetDlgItemText (dlg, IDC_PREFS_BAKHOME, _("Backup to &keyring folder"));
- SetDlgItemText (dlg, IDC_PREFS_BAKUSER, _("Backup to:"));
- SetDlgItemText (dlg, IDC_PREFS_KEYLISTINF, _("Select &key list mode"));
- SetDlgItemText (dlg, IDC_PREFS_WIPEINF, _("Select &wipe mode"));
- SetDlgItemText (dlg, IDC_PREFS_KSINF, _("Keyserver &config"));
- SetDlgItemText (dlg, IDC_PREFS_CACHEINF, _("Cache &passphrases for 'n' seconds"));
- SetDlgItemText (dlg, IDC_PREFS_CACHEHINT, _("(CTRL+ALT+F to clear the cache)"));
- SetDlgItemText (dlg, IDC_PREFS_ALLOPTINF, _("General options"));
- SetDlgItemText (dlg, IDC_PREFS_CLIPINF, _("Clipboard hotkeys"));
- SetDlgItemText (dlg, IDC_PREFS_CURRINF, _("Current window hotkeys"));
- SetDlgItemText (dlg, IDC_PREFS_KSELFILE, _("Browse..."));
- SetDlgItemText (dlg, IDC_PREFS_BAKSELECT, _("Browse..."));
- SetDlgItemText (dlg, IDCANCEL, _("&Cancel"));
-
- SetDlgItemInt (dlg, IDC_PREFS_CACHETIME, reg_prefs.cache_time, TRUE);
- SetDlgItemInt (dlg, IDC_PREFS_WORDWRAP, reg_prefs.word_wrap, TRUE);
- if (reg_prefs.backup.path)
- SetDlgItemText (dlg, IDC_PREFS_BAKPATH, reg_prefs.backup.path);
-
- for (i=0; (id=hotkeys[i]); i++)
- SetDlgItemText (dlg, id, reg_hotkeys[i].key);
- CheckDlgButton( dlg, IDC_PREFS_DISABLE_HOTKEYS,
- reg_prefs.no_hotkeys ? BST_CHECKED : BST_UNCHECKED );
- CheckDlgButton( dlg, IDC_PREFS_SECMODE,
- reg_prefs.use_tmpfiles ? BST_UNCHECKED : BST_CHECKED );
- CheckDlgButton( dlg, IDC_PREFS_VIEWER,
- reg_prefs.use_viewer ? BST_CHECKED: BST_UNCHECKED );
- CheckDlgButton( dlg, IDC_PREFS_TRUST,
- reg_prefs.always_trust? BST_CHECKED : BST_UNCHECKED );
- CheckDlgButton( dlg, IDC_PREFS_AUTOBACKUP,
- reg_prefs.auto_backup? BST_CHECKED : BST_UNCHECKED );
- CheckDlgButton( dlg, IDC_PREFS_BAKHOME,
- reg_prefs.backup.mode==1? BST_CHECKED : BST_UNCHECKED );
- CheckDlgButton( dlg, IDC_PREFS_BAKUSER,
- reg_prefs.backup.mode==2? BST_CHECKED : BST_UNCHECKED );
- if (reg_prefs.no_hotkeys)
- disable_hotkey_items (dlg, 1);
- if (!reg_prefs.auto_backup)
- enable_backup_items (dlg, 0);
- EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKPATH),
- reg_prefs.backup.mode==1?FALSE : TRUE);
- EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKSELECT),
- reg_prefs.backup.mode==1? FALSE : TRUE);
- init_keylist_modes (dlg);
- init_wipe_modes (dlg);
- center_window (dlg, NULL);
- SetForegroundWindow (dlg);
+ on_init_dialog (dlg);
return TRUE;
case WM_SYSCOMMAND:
if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, TRUE);
+ EndDialog (dlg, FALSE);
return FALSE;
case WM_COMMAND:
@@ -260,7 +261,8 @@
if (!rc)
reg_prefs.word_wrap = 0;
else if (rc > 80) {
- msg_box (dlg, _("Please enter a value between 1-80."), _("Preferences"), MB_ERR);
+ msg_box (dlg, _("Please enter a value between 1-80."),
+ _("Preferences"), MB_ERR);
return TRUE;
}
reg_prefs.word_wrap = rc;
@@ -281,9 +283,6 @@
BUG (0);
}
- cb = GetDlgItem( dlg, IDC_PREFS_LISTMODE );
- reg_prefs.keylist_mode = SendMessage( cb, CB_GETCURSEL, 0, 0 );
-
cb = GetDlgItem( dlg, IDC_PREFS_WIPEMODE );
reg_prefs.wipe_mode = SendMessage( cb, CB_GETCURSEL, 0, 0 );
@@ -293,8 +292,8 @@
}
else {
reg_prefs.no_hotkeys = 0;
- for( i = 0; (id = hotkeys[i]); i++ ) {
- rc = GetDlgItemText( dlg, id, t, 2 );
+ for( i = 0; hotkeys[i]; i++ ) {
+ rc = GetDlgItemText (dlg, hotkeys[i], t, 2);
if( rc && check_hotkey( &t[0] ) )
hotkey_enable( ®_hotkeys[i], t );
else
Modified: trunk/Src/wptRegistry.cpp
===================================================================
--- trunk/Src/wptRegistry.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptRegistry.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -472,22 +472,21 @@
/* All valid configuration commands. */
-static const char * cfg [] = {
- NULL,
- "CacheTime",
- "WordWrap",
- "FastMode",
- "Viewer",
- "KeylistMode",
- "WipeMode",
- "AlwaysTrust",
- "AutoBackup",
- "BackupMode",
- "DisableHotkeys",
- "NoCompressMultiMedia",
- "Expert",
- "FMProgressBar",
- };
+static const char *cfg [] = {
+ NULL,
+ "CacheTime",
+ "WordWrap",
+ "FastMode",
+ "Viewer",
+ "WipeMode",
+ "AlwaysTrust",
+ "AutoBackup",
+ "BackupMode",
+ "DisableHotkeys",
+ "NoCompressMultiMedia",
+ "Expert",
+ "FMProgressBar",
+};
int
@@ -546,9 +545,6 @@
case CFG_VIEWER:
sprintf (buf, "%d", opt->use_viewer);
break;
- case CFG_KEYLISTMODE:
- sprintf (buf, "%d", opt->keylist_mode);
- break;
case CFG_ALWAYSTRUST:
sprintf (buf, "%d", opt->always_trust);
break;
@@ -657,9 +653,6 @@
case CFG_VIEWER:
opt->use_viewer = atol (val);
break;
- case CFG_KEYLISTMODE:
- opt->keylist_mode = atol (val);
- break;
case CFG_WIPEMODE:
opt->wipe_mode = atol (val);
break;
Modified: trunk/Src/wptSigTreeDlg.cpp
===================================================================
--- trunk/Src/wptSigTreeDlg.cpp 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/Src/wptSigTreeDlg.cpp 2006-02-13 09:38:03 UTC (rev 176)
@@ -1,4 +1,4 @@
-/* wptSigTreeDlg.cpp
+/* wptSigTreeDlg.cpp - List signatures in a tree view
* Copyright (C) 2006 Timo Schulz
*
* This file is part of WinPT.
@@ -24,7 +24,16 @@
#include "resource.h"
#include "wptGPG.h"
#include "wptNLS.h"
+#include "wptVersion.h"
+#include "wptTypes.h"
+#include "wptCommonCtl.h"
+#include "wptContext.h"
+BOOL CALLBACK sigprops_dlg_proc (HWND dlg, UINT msg,
+ WPARAM wparam, LPARAM lparam);
+BOOL CALLBACK
+keysig_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam);
+
/* Initialize the signature tree based on the given key @key. */
static void
sigtree_load (HWND dlg, gpgme_key_t key)
@@ -39,18 +48,24 @@
memset (&tvi, 0, sizeof (tvi));
memset (&ctx, 0, sizeof (ctx));
for (u=key->uids; u; u = u->next) {
+ if (u->revoked)
+ continue;
tvi.pszText = u->uid;
tvi.state = TVIS_BOLD;
- tvi.mask = TVIF_TEXT |TVIF_STATE;
+ tvi.mask = TVIF_TEXT;
+ tvi.iImage = 0;
+ tvi.iSelectedImage = 0;
ctx.hParent = TVI_ROOT;
ctx.item = tvi;
uid = TreeView_InsertItem (dlg, &ctx);
for (s = u->signatures; s; s=s->next) {
if (get_pubkey (s->keyid+8, &signer))
continue;
- tvi.state = 0;
tvi.pszText = signer->uids->uid;
- tvi.mask = TVIF_TEXT;
+ tvi.mask = TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_PARAM;
+ tvi.iImage = 1;
+ tvi.iSelectedImage = 1;
+ tvi.lParam = (LPARAM)s;
ctx.hParent = uid;
ctx.item = tvi;
TreeView_InsertItem (dlg, &ctx);
@@ -59,27 +74,75 @@
}
+/* Associate a signature list based on the icons @ico with
+ the treeview control @tree. */
+HIMAGELIST
+treeview_set_image_list (HWND tree, HICON *ico, DWORD nicons)
+{
+ HIMAGELIST hil;
+ DWORD i;
+
+ hil = ImageList_Create (16, 16, ILC_COLOR8|ILC_MASK, nicons, 1);
+ ImageList_SetBkColor (hil, CLR_NONE);
+ for (i=0; i < nicons; i++)
+ ImageList_AddIcon (hil, ico[i]);
+ TreeView_SetImageList (tree, hil, TVSIL_NORMAL);
+ return hil;
+}
+
+
/* Dialog box procedure for the tree based signature listing. */
BOOL CALLBACK
sigtree_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
- static gpgme_key_t key;
+ static winpt_key_t key;
static HWND tree;
+ static HIMAGELIST hil;
+
+ HICON ico[2];
+ NMHDR *nft;
+ char inf[256];
switch (msg) {
case WM_INITDIALOG:
- key = (gpgme_key_t)lparam;
+ key = (winpt_key_t)lparam;
if (!key)
- abort ();
+ BUG (0);
+ ico[0] = LoadIcon (glob_hinst, (LPCTSTR)IDI_USERID);
+ ico[1] = LoadIcon (glob_hinst, (LPCTSTR)IDI_KEY_SIG);
tree = GetDlgItem (dlg, IDC_VKEYSIG_TREE);
- sigtree_load (tree, key);
- SetWindowText (dlg, _("Key Signature Tree"));
+ hil = treeview_set_image_list (tree, ico, 2);
+ sigtree_load (tree, key->ctx);
+ _snprintf (inf, sizeof (inf)-1, _("Signature Tree for \"%s\""),
+ key->ctx->uids->uid);
+ SetWindowText (dlg, inf);
SetForegroundWindow (dlg);
break;
+ case WM_DESTROY:
+ ImageList_Destroy (hil);
+ break;
+
+ case WM_NOTIFY:
+ nft = (NMHDR*)lparam;
+ if (nft->code == NM_DBLCLK) {
+ HTREEITEM hti;
+ TVITEM tvi;
+
+ memset (&tvi, 0, sizeof (tvi));
+ tree = GetDlgItem (dlg, IDC_VKEYSIG_TREE);
+ hti = TreeView_GetSelection (tree);
+ tvi.mask = TVIF_PARAM;
+ tvi.hItem = hti;
+ TreeView_GetItem (tree, &tvi);
+ if (tvi.lParam != 0)
+ DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_SIGPROPS, dlg,
+ sigprops_dlg_proc, tvi.lParam);
+ }
+ break;
+
case WM_COMMAND:
switch (LOWORD (wparam)) {
-
case IDOK:
EndDialog (dlg, 1);
break;
@@ -87,6 +150,10 @@
case IDCANCEL:
EndDialog (dlg, 0);
break;
+
+ case IDC_VKEYSIG_EDIT:
+ DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_KEYSIG, dlg,
+ keysig_dlg_proc, (LPARAM)key);
}
break;
}
Added: trunk/icons/ChangeLog
===================================================================
--- trunk/icons/ChangeLog 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/icons/ChangeLog 2006-02-13 09:38:03 UTC (rev 176)
@@ -0,0 +1,5 @@
+2006-02-09 Timo Schulz <ts at g10code.de>
+
+ * userid.ico: New.
+ * keysig.ico: New.
+
\ No newline at end of file
Modified: trunk/icons/Makefile.am
===================================================================
--- trunk/icons/Makefile.am 2006-02-07 08:58:04 UTC (rev 175)
+++ trunk/icons/Makefile.am 2006-02-13 09:38:03 UTC (rev 176)
@@ -15,7 +15,7 @@
key_delete.ico key_export.ico key_import.ico key_props.ico \
key_sign.ico sort_downarrow.ico sort_uparrow.ico \
key_file_export.ico key_file_import.ico key_new.ico \
- key_search.ico computer.ico
+ key_search.ico computer.ico keysig.ico userid.ico
\ No newline at end of file
Added: trunk/icons/keysig.ico
===================================================================
(Binary files differ)
Property changes on: trunk/icons/keysig.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/icons/userid.ico
===================================================================
(Binary files differ)
Property changes on: trunk/icons/userid.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
More information about the Winpt-commits
mailing list