[Winpt-commits] r225 - in trunk: . Doc Include PTD Po Src
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Tue Jun 6 15:38:10 CEST 2006
Author: twoaday
Date: 2006-06-06 15:37:59 +0200 (Tue, 06 Jun 2006)
New Revision: 225
Modified:
trunk/Doc/winpt.texi
trunk/Include/wptGPG.h
trunk/NEWS
trunk/PTD/resource.rc
trunk/Po/ChangeLog
trunk/Po/de.po
trunk/Po/jp.po
trunk/Src/ChangeLog
trunk/Src/WinPT-en.rc
trunk/Src/resource.h
trunk/Src/wptClipEditDlg.cpp
trunk/Src/wptClipEncryptDlg.cpp
trunk/Src/wptClipSignDlg.cpp
trunk/Src/wptClipSignEncDlg.cpp
trunk/Src/wptClipVerifyDlg.cpp
trunk/Src/wptCurrWnd.cpp
trunk/Src/wptFileStatDlg.cpp
trunk/Src/wptGPGOptDlg.cpp
trunk/Src/wptGPGPrefsDlg.cpp
trunk/Src/wptKeyEdit.cpp
trunk/Src/wptKeyEditCB.cpp
trunk/Src/wptKeyEditDlgs.cpp
trunk/Src/wptKeyEditOwnertrustDlg.cpp
trunk/Src/wptKeyPropsDlg.cpp
trunk/Src/wptKeyRevokeDlg.cpp
trunk/Src/wptKeyRevokersDlg.cpp
trunk/Src/wptKeygenDlg.cpp
trunk/Src/wptKeyserver.cpp
trunk/Src/wptKeyserverDlg.cpp
trunk/Src/wptKeysigDlg.cpp
trunk/Src/wptKeysignDlg.cpp
trunk/Src/wptMDSumDlg.cpp
trunk/Src/wptMainProc.cpp
trunk/Src/wptOwnertrustDlg.cpp
trunk/Src/wptPINDlg.cpp
trunk/Src/wptPassphraseDlg.cpp
trunk/Src/wptProxySettingsDlg.cpp
trunk/Src/wptSigTreeDlg.cpp
trunk/Src/wptTextInputDlg.cpp
trunk/Src/wptUtil.cpp
trunk/THANKS
Log:
Modified: trunk/Doc/winpt.texi
===================================================================
--- trunk/Doc/winpt.texi 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Doc/winpt.texi 2006-06-06 13:37:59 UTC (rev 225)
@@ -25,6 +25,7 @@
for these OS versions any longer.
@section A short Introduction
+
WinPT is a graphical GnuPG front-end which resides in the task bar.
It is divided into several, so-called, managers. There is a manager
for the keyring, for files and for smart cards. The aim of the program
@@ -94,6 +95,21 @@
speaking users, I recommend the light version because it does not
contain the 2 German PDF manuals.
+ at subsection Getting the Source of the Program
+As free software, according to the GNU General Public License,
+WinPT also offers the source code for the program. It can be used
+for reviews, to compile your own binary and/or to modify and/or
+redistribute it or just to learn how it works. The source is available
+at the same place you downloaded the binary. If not, you should
+contact the author of the site.
+The entire program can be build with free software; the default
+environment is a cross-compiler hosted on a Linux box. All you
+need is the mingw32 packages, a working autoconf environment
+and the libs WinPT depends on (currently gpgme and libgpg-error).
+It is also possible to build the binary with cygwin/mingw32 on
+Windows but this environment is not actively supported and propably
+needs adjustment of the source.
+
@subsection Configure the Program
After the installation not much of the default settings need to
be changed. If you prefer a special keyserver, it is propably a good
@@ -121,6 +137,7 @@
@section The First Start
+
This section is only important for people who never installed
and/or used WinPT before.
@@ -143,6 +160,7 @@
secret keyring, at a @strong{safe} place.
@section Keyserver Access
+
An easy way to retrieve keys is the keyserver. You can think of
it like a huge database with a lot of keys as its content. It is
possible to search keys by a pattern, a keyid or even a fingerprint.
@@ -220,6 +238,7 @@
item and a popup menu will be shown with ("Edit", "Remove" and "New").
@section Using the Clipboard
+
A major aim from the first day was, that the program does not
depend on a special mailer client. For this reason it uses the
clipboard to encrypt and/or sign data.
@@ -244,6 +263,7 @@
@subsection Sign the Clipboard
@section The Key Manager
+
This part of the program is propably most important for many users.
It contains function to manage your keyring and to perform actions
which are required and/or useful in the OpenPGP environment.
@@ -274,8 +294,25 @@
the expert key generation. It allows you to set the public key
algorithm and/or the size of the key directly.
+ at item
+Most of the list view based dialogs allow to use the right
+mouse button, to show popup menus with available commands.
+
@end itemize
+ at subsection Create a Revocation Certificate
+
+It is very important to do this step early as possible. With this
+certificate, you can revoke your entire key. The reason for this
+can be for example, that your key is no longer used or even compromised.
+After you generated the revoc cert, you should move it to a secure place
+because anybody who gets access to it, can render your key unuseable.
+
+Just right-click on your key and select "Revoke Cert". If you do this
+step directly after key generation, there is no need to change the
+default values. Just select a file name and enter the passphrase.
+The program issues a warning which should be read carefully.
+
@subsection Adding a new secondary key
For most users the existing keys in the key pair are enough
Modified: trunk/Include/wptGPG.h
===================================================================
--- trunk/Include/wptGPG.h 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Include/wptGPG.h 2006-06-06 13:37:59 UTC (rev 225)
@@ -205,8 +205,10 @@
void release_gpg_passphrase_cb (passphrase_cb_s *cb);
void release_gpg_recipients (gpgme_recipient_t *recipients);
-char * request_passphrase (const char *title, int flags, int *ret_cancel);
-char * request_passphrase2 (const char *title, int flags, int *ret_cancel);
+char *request_passphrase (const char *title, int flags, int *ret_cancel);
+char *request_passphrase2 (const char *title, int flags, int *ret_cancel);
+char *request_key_passphrase (gpgme_key_t key, const char *title,
+ int *ret_cancel);
const char * passphrase_cb (void *opaque, const char * desc, void *r_hd);
char * get_key_userid (const char *keyid);
int check_passwd_quality (const char *pass, int strict);
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/NEWS 2006-06-06 13:37:59 UTC (rev 225)
@@ -839,3 +839,11 @@
Noteworthy changes in version 1.0.0 (2006-06-XX)
================================================
+* The passphrase dialog now contains an additional
+ hint for which key the passphrase is.
+
+* Do sanity checks to avoid that the user can mark
+ a revoked user id as the primary ID. And similar
+ that a fully trusted user ID cannot be signed again.
+
+
\ No newline at end of file
Modified: trunk/PTD/resource.rc
===================================================================
--- trunk/PTD/resource.rc 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/PTD/resource.rc 2006-06-06 13:37:59 UTC (rev 225)
@@ -47,14 +47,14 @@
VALUE "Comments", "This is free software under the tems of the GNU GPL V2\0"
VALUE "CompanyName", "\0"
VALUE "FileDescription", "PTD - Privacy Tray Dynamic\0"
- VALUE "FileVersion", "0.12.2\0"
+ VALUE "FileVersion", "1.0.0-pre0\0"
VALUE "InternalName", "PTD\0"
VALUE "LegalCopyright", "Copyright © 2006 Timo Schulz\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "PTD.dll\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "PTD\0"
- VALUE "ProductVersion", "0.12.2\0"
+ VALUE "ProductVersion", "1.0.0-pre0\0"
VALUE "SpecialBuild", "\0"
END
END
Modified: trunk/Po/ChangeLog
===================================================================
--- trunk/Po/ChangeLog 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Po/ChangeLog 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,3 +1,7 @@
+2006-06-04 Timo Schulz <ts at g10code.de>
+
+ * de.po: Updated.
+
2006-05-22 Timo Schulz <ts at g10code.de>
* LINGUAS: Removed 'fr' because is too unfinished.
Modified: trunk/Po/de.po
===================================================================
--- trunk/Po/de.po 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Po/de.po 2006-06-06 13:37:59 UTC (rev 225)
@@ -12,9 +12,9 @@
# BUG: GetOpenFileName needs \0\0. gettext does not support it.
msgid ""
msgstr ""
-"Project-Id-Version: WinPT 0.12.1\n"
+"Project-Id-Version: WinPT 1.0.0\n"
"Report-Msgid-Bugs-To: winpt at freakmail.de\n"
-"POT-Creation-Date: 2006-06-01 08:33+0200\n"
+"POT-Creation-Date: 2006-06-06 15:30+0200\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"
@@ -32,7 +32,7 @@
#: Src/WinPT.cpp:720 Src/WinPT.cpp:750 Src/WinPT.cpp:768
#: Src/wptCommonDlg.cpp:220 Src/wptErrors.cpp:141 Src/wptGPG.cpp:921
#: Src/wptGPG.cpp:933 Src/wptGPG.cpp:943 Src/wptGPG.cpp:954
-#: Src/wptMainProc.cpp:351 Src/wptMainProc.cpp:529
+#: Src/wptMainProc.cpp:353 Src/wptMainProc.cpp:531
msgid "WinPT Error"
msgstr "WinPT Fehler"
@@ -40,7 +40,7 @@
msgid "No useable secret key found."
msgstr "Kein benutzbarer geheimer Schlüssel gefunden."
-#: Src/WinPT.cpp:221 Src/wptKeyPropsDlg.cpp:357 Src/wptKeyPropsDlg.cpp:364
+#: Src/WinPT.cpp:221 Src/wptKeyPropsDlg.cpp:359 Src/wptKeyPropsDlg.cpp:366
msgid "WinPT Warning"
msgstr "WinPT Warnung"
@@ -62,15 +62,15 @@
msgstr "Konnte WinPT-Verzeichnis nicht erstellen"
#: Src/WinPT.cpp:305 Src/WinPT.cpp:322 Src/WinPT.cpp:333
-#: Src/wptKeyManagerDlg.cpp:959 Src/wptKeyserver.cpp:600
-#: Src/wptKeyserverDlg.cpp:68 Src/wptKeyserverDlg.cpp:70
-#: Src/wptKeyserverDlg.cpp:187 Src/wptKeyserverDlg.cpp:195
-#: Src/wptKeyserverDlg.cpp:211 Src/wptKeyserverDlg.cpp:352
-#: Src/wptKeyserverDlg.cpp:358 Src/wptKeyserverDlg.cpp:460
-#: Src/wptKeyserverDlg.cpp:520 Src/wptKeyserverDlg.cpp:525
-#: Src/wptKeyserverDlg.cpp:645 Src/wptKeyserverDlg.cpp:670
-#: Src/wptKeyserverDlg.cpp:686 Src/wptKeyserverDlg.cpp:691
-#: Src/wptKeyserverDlg.cpp:697 Src/wptKeyserverDlg.cpp:703
+#: Src/wptKeyManagerDlg.cpp:959 Src/wptKeyserver.cpp:601
+#: Src/wptKeyserverDlg.cpp:70 Src/wptKeyserverDlg.cpp:72
+#: Src/wptKeyserverDlg.cpp:189 Src/wptKeyserverDlg.cpp:197
+#: Src/wptKeyserverDlg.cpp:213 Src/wptKeyserverDlg.cpp:360
+#: Src/wptKeyserverDlg.cpp:366 Src/wptKeyserverDlg.cpp:468
+#: Src/wptKeyserverDlg.cpp:528 Src/wptKeyserverDlg.cpp:533
+#: Src/wptKeyserverDlg.cpp:653 Src/wptKeyserverDlg.cpp:678
+#: Src/wptKeyserverDlg.cpp:694 Src/wptKeyserverDlg.cpp:699
+#: Src/wptKeyserverDlg.cpp:705 Src/wptKeyserverDlg.cpp:711
msgid "Keyserver"
msgstr "Schlüsselserver"
@@ -189,7 +189,7 @@
"Die Datei AUTHORS enthält eine Liste aller Co-Autoren und aller Beitragenden"
#: Src/wptAboutDlgs.cpp:96 Src/wptKeyManagerDlg.cpp:1790
-#: Src/wptMainProc.cpp:578
+#: Src/wptMainProc.cpp:580
msgid "About WinPT"
msgstr "Über WinPT"
@@ -238,12 +238,12 @@
msgstr "Über &GPG..."
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:700
-#: Src/wptAboutDlgs.cpp:115 Src/wptKeyEditDlgs.cpp:2166
+#: Src/wptAboutDlgs.cpp:115 Src/wptKeyEditDlgs.cpp:2129
#: Src/wptKeyManagerDlg.cpp:965
msgid "&Help"
msgstr "&Hilfe"
-#: Src/wptCardDlg.cpp:141 Src/wptMainProc.cpp:406
+#: Src/wptCardDlg.cpp:141 Src/wptMainProc.cpp:408
msgid "Card Manager"
msgstr "Kartenmanager"
@@ -267,7 +267,7 @@
#: Src/wptCardDlg.cpp:696 Src/wptCardDlg.cpp:699 Src/wptCardDlg.cpp:724
#: Src/wptCardDlg.cpp:726 Src/wptCardDlg.cpp:731 Src/wptCardDlg.cpp:736
#: Src/wptCardDlg.cpp:800 Src/wptCardDlg.cpp:815 Src/wptCardDlg.cpp:818
-#: Src/wptMainProc.cpp:291
+#: Src/wptMainProc.cpp:293
msgid "Card Edit"
msgstr "Karten-Editor"
@@ -300,7 +300,7 @@
msgid "Please enter the 'User PIN'"
msgstr "Bitte 'Benutzer PIN' eingeben"
-#: Src/wptCardDlg.cpp:421 Src/wptPINDlg.cpp:53
+#: Src/wptCardDlg.cpp:421 Src/wptPINDlg.cpp:51
msgid "Please enter the PIN"
msgstr "Bitte PIN eingeben"
@@ -324,15 +324,15 @@
"Diese Operation wird die Schlüssel auf der Karte überschreiben.\n"
"Trotzdem fortfahren?"
-#: Src/wptCardDlg.cpp:580 Src/wptKeyEditDlgs.cpp:516
+#: Src/wptCardDlg.cpp:580 Src/wptKeyEditDlgs.cpp:502
msgid "&Name"
msgstr "&Name"
-#: Src/wptCardDlg.cpp:581 Src/wptKeygenDlg.cpp:375
+#: Src/wptCardDlg.cpp:581 Src/wptKeygenDlg.cpp:377
msgid "&Comment (optional)"
msgstr "&Kommentar (optional)"
-#: Src/wptCardDlg.cpp:582 Src/wptKeygenDlg.cpp:377
+#: Src/wptCardDlg.cpp:582 Src/wptKeygenDlg.cpp:379
msgid "&Expire date"
msgstr "&Ablaufdatum"
@@ -340,11 +340,11 @@
msgid "Off-card passphrase"
msgstr "\"Off-card\" Passwort"
-#: Src/wptCardDlg.cpp:584 Src/wptKeyEditDlgs.cpp:654 Src/wptKeygenDlg.cpp:379
+#: Src/wptCardDlg.cpp:584 Src/wptKeyEditDlgs.cpp:639 Src/wptKeygenDlg.cpp:381
msgid "&Never"
msgstr "&Niemals"
-#: Src/wptCardDlg.cpp:585 Src/wptKeygenDlg.cpp:376
+#: Src/wptCardDlg.cpp:585 Src/wptKeygenDlg.cpp:378
msgid "Email &address"
msgstr "E-Mail-&Adresse"
@@ -385,7 +385,7 @@
msgid "Please use plain ASCII charset for the fields."
msgstr "Bitte nur den 7-bit ASCII Zeichensatz verwenden."
-#: Src/wptCardDlg.cpp:663 Src/wptKeyEditDlgs.cpp:1401
+#: Src/wptCardDlg.cpp:663 Src/wptKeyEditDlgs.cpp:1377 Src/wptKeygenDlg.cpp:453
msgid "The date you have chosen lies in the past."
msgstr "Das gewählte Datum liegt in der Vergangenheit."
@@ -423,7 +423,7 @@
msgid "Change Card PIN"
msgstr "Karten PIN Ändern"
-#: Src/wptCardDlg.cpp:799 Src/wptPassphraseDlg.cpp:184
+#: Src/wptCardDlg.cpp:799 Src/wptPassphraseDlg.cpp:241
msgid "Passphrases do not match. Please try again."
msgstr "Passwörter nicht identisch. Versuchen Sie es erneut."
@@ -449,7 +449,7 @@
"OK zum Fortfahren oder Abbrechen"
#: Src/wptClipDecryptDlg.cpp:57 Src/wptClipDecryptDlg.cpp:130
-#: Src/wptKeyRevokersDlg.cpp:128 Src/wptKeyRevokersDlg.cpp:175
+#: Src/wptKeyRevokersDlg.cpp:129 Src/wptKeyRevokersDlg.cpp:173
#: Src/wptVerifyList.cpp:243 Src/wptVerifyList.cpp:303
msgid "user ID not found"
msgstr "Benutzerkennung nicht gefunden"
@@ -492,13 +492,13 @@
"%s"
#: Src/wptClipDecryptDlg.cpp:169 Src/wptClipVerifyDlg.cpp:157
-#: Src/wptClipVerifyDlg.cpp:170 Src/wptClipVerifyDlg.cpp:183
-#: Src/wptClipVerifyDlg.cpp:190 Src/wptClipVerifyDlg.cpp:222
-#: Src/wptClipVerifyDlg.cpp:234 Src/wptFileManager.cpp:1567
+#: Src/wptClipVerifyDlg.cpp:165 Src/wptClipVerifyDlg.cpp:196
+#: Src/wptClipVerifyDlg.cpp:207 Src/wptClipVerifyDlg.cpp:225
+#: Src/wptClipVerifyDlg.cpp:237 Src/wptFileManager.cpp:1567
#: Src/wptFileManager.cpp:1620 Src/wptFileManagerDlg.cpp:590
#: Src/wptFileVerifyDlg.cpp:82 Src/wptFileVerifyDlg.cpp:149
-#: Src/wptMainProc.cpp:182 Src/wptMainProc.cpp:248 Src/wptMainProc.cpp:260
-#: Src/wptMainProc.cpp:268 Src/wptMainProc.cpp:417
+#: Src/wptMainProc.cpp:182 Src/wptMainProc.cpp:248 Src/wptMainProc.cpp:262
+#: Src/wptMainProc.cpp:270 Src/wptMainProc.cpp:419
msgid "Verify"
msgstr "Überprüfen"
@@ -546,27 +546,27 @@
msgid "*** IMPORTANT ***"
msgstr "*** WICHTIG ***"
-#: Src/wptClipDecryptDlg.cpp:219 Src/wptClipEncryptDlg.cpp:202
-#: Src/wptClipSignDlg.cpp:121 Src/wptClipSignDlg.cpp:265
-#: Src/wptClipSignEncDlg.cpp:197 Src/wptKeyManager.cpp:286
+#: Src/wptClipDecryptDlg.cpp:219 Src/wptClipEncryptDlg.cpp:210
+#: Src/wptClipSignDlg.cpp:121 Src/wptClipSignDlg.cpp:267
+#: Src/wptClipSignEncDlg.cpp:190 Src/wptKeyManager.cpp:286
#: Src/wptKeyManager.cpp:763 Src/wptKeyManager.cpp:955 Src/wptSymEnc.cpp:91
msgid "GnuPG Status: Finished"
msgstr "GnuPG-Status: Abgeschlossen"
-#: Src/wptClipEditDlg.cpp:58 Src/wptClipEditDlg.cpp:111
-#: Src/wptClipEditDlg.cpp:119 Src/wptClipEditDlg.cpp:158
-#: Src/wptClipEditDlg.cpp:167 Src/wptClipEditDlg.cpp:242
-#: Src/wptClipEditDlg.cpp:247 Src/wptFileManagerDlg.cpp:225
-#: Src/wptMainProc.cpp:162 Src/wptMainProc.cpp:230 Src/wptMainProc.cpp:273
-#: Src/wptMainProc.cpp:429 Src/wptMainProc.cpp:510 Src/wptMainProc.cpp:515
+#: Src/wptClipEditDlg.cpp:59 Src/wptClipEditDlg.cpp:112
+#: Src/wptClipEditDlg.cpp:120 Src/wptClipEditDlg.cpp:159
+#: Src/wptClipEditDlg.cpp:168 Src/wptClipEditDlg.cpp:238
+#: Src/wptClipEditDlg.cpp:243 Src/wptFileManagerDlg.cpp:225
+#: Src/wptMainProc.cpp:162 Src/wptMainProc.cpp:230 Src/wptMainProc.cpp:275
+#: Src/wptMainProc.cpp:431 Src/wptMainProc.cpp:512 Src/wptMainProc.cpp:517
msgid "Clipboard"
msgstr "Zwischenablage"
-#: Src/wptClipEditDlg.cpp:101 Src/wptFileManager.cpp:569
+#: Src/wptClipEditDlg.cpp:102 Src/wptFileManager.cpp:569
msgid "File Open"
msgstr "Datei öffnen"
-#: Src/wptClipEditDlg.cpp:110
+#: Src/wptClipEditDlg.cpp:111
msgid ""
"The file you want to add is very large.\n"
"Still proceed?"
@@ -574,11 +574,11 @@
"Die Datei, die Sie hinzufügen wollen, ist sehr groß!\n"
"Wirklich fortfahren?"
-#: Src/wptClipEditDlg.cpp:149
+#: Src/wptClipEditDlg.cpp:150
msgid "File Save"
msgstr "Datei speichern"
-#: Src/wptClipEditDlg.cpp:159 Src/wptFileManager.cpp:108
+#: Src/wptClipEditDlg.cpp:160 Src/wptFileManager.cpp:108
#, c-format
msgid ""
"\"%s\" already exists.\n"
@@ -587,77 +587,81 @@
"\"%s\" existiert bereits.\n"
"Vorhandene Datei überschreiben?"
-#: Src/wptClipEditDlg.cpp:194 Src/wptMainProc.cpp:172 Src/wptMainProc.cpp:238
-#: Src/wptMainProc.cpp:572
+#: Src/wptClipEditDlg.cpp:195 Src/wptMainProc.cpp:172 Src/wptMainProc.cpp:238
+#: Src/wptMainProc.cpp:574
msgid "Clipboard Editor"
msgstr "Zwischenablagen-Editor"
-#: Src/wptClipEditDlg.cpp:195
+#: Src/wptClipEditDlg.cpp:196
msgid "&Copy"
msgstr "&Kopieren"
-#: Src/wptClipEditDlg.cpp:196
+#: Src/wptClipEditDlg.cpp:197
msgid "Clea&r"
msgstr "&Löschen"
-#: Src/wptClipEditDlg.cpp:197 Src/wptGPGOptDlg.cpp:53
-#: Src/wptTextInputDlg.cpp:85
+#: Src/wptClipEditDlg.cpp:198 Src/wptGPGOptDlg.cpp:56
+#: Src/wptTextInputDlg.cpp:87
msgid "&Load"
msgstr "&Laden"
-#: Src/wptClipEditDlg.cpp:198 Src/wptClipVerifyDlg.cpp:158
-#: Src/wptFileVerifyDlg.cpp:51 Src/wptGPGOptDlg.cpp:52
+#: Src/wptClipEditDlg.cpp:199 Src/wptClipVerifyDlg.cpp:197
+#: Src/wptFileVerifyDlg.cpp:51 Src/wptGPGOptDlg.cpp:55
msgid "&Save"
msgstr "&Speichern"
-#: Src/wptClipEditDlg.cpp:199
+#: Src/wptClipEditDlg.cpp:200
msgid "Add quotes"
msgstr "'>' hinzufügen"
-#: Src/wptClipEditDlg.cpp:200 Src/wptKeyEditDlgs.cpp:2165
-#: Src/wptKeyserverDlg.cpp:577 Src/wptMDSumDlg.cpp:122
+#: Src/wptClipEditDlg.cpp:201 Src/wptKeyEditDlgs.cpp:2128
+#: Src/wptKeyserverDlg.cpp:585 Src/wptMDSumDlg.cpp:130
#: Src/wptOwnertrustDlg.cpp:103
msgid "&Close"
msgstr "&Schliessen"
+#: Src/wptClipEncryptDlg.cpp:99
+msgid "key not found"
+msgstr "Schlüssel nicht gefunden"
+
# c:\oss\winpt-gpgme\src\wptClipEncryptDlg.cpp:108
-#: Src/wptClipEncryptDlg.cpp:115
+#: Src/wptClipEncryptDlg.cpp:118
msgid "Recipients unsuable for encryption:\n"
msgstr "Empfänger nicht geeignet für Verschlüsselung:\n"
-#: Src/wptClipEncryptDlg.cpp:126 Src/wptClipEncryptDlg.cpp:146
-#: Src/wptClipEncryptDlg.cpp:192 Src/wptClipEncryptDlg.cpp:199
-#: Src/wptClipEncryptDlg.cpp:228 Src/wptMainProc.cpp:144
+#: Src/wptClipEncryptDlg.cpp:134 Src/wptClipEncryptDlg.cpp:154
+#: Src/wptClipEncryptDlg.cpp:200 Src/wptClipEncryptDlg.cpp:207
+#: Src/wptClipEncryptDlg.cpp:236 Src/wptMainProc.cpp:144
#: Src/wptMainProc.cpp:212
msgid "Encryption"
msgstr "Verschlüsseln"
-#: Src/wptClipEncryptDlg.cpp:147
+#: Src/wptClipEncryptDlg.cpp:155
msgid "&Find"
msgstr "&Suche"
-#: Src/wptClipEncryptDlg.cpp:148 Src/wptClipSignEncDlg.cpp:112
+#: Src/wptClipEncryptDlg.cpp:156 Src/wptClipSignEncDlg.cpp:112
#: Src/wptCommonDlg.cpp:76 Src/wptCommonDlg.cpp:253
#: Src/wptFileManagerDlg.cpp:97 Src/wptFileManagerDlg.cpp:231
#: Src/wptFileManagerDlg.cpp:300 Src/wptFileSaveDlg.cpp:58
#: Src/wptFirstRunDlg.cpp:47 Src/wptGPGPrefsDlg.cpp:157
-#: Src/wptKeyEditDlgs.cpp:360 Src/wptKeyEditDlgs.cpp:448
-#: Src/wptKeyEditDlgs.cpp:519 Src/wptKeyEditDlgs.cpp:655
-#: Src/wptKeyEditOwnertrustDlg.cpp:67 Src/wptKeygenDlg.cpp:380
-#: Src/wptKeygenDlg.cpp:538 Src/wptKeyRevokeDlg.cpp:81
-#: Src/wptKeyserverDlg.cpp:509 Src/wptKeyserverSearchDlg.cpp:66
-#: Src/wptKeysignDlg.cpp:285 Src/wptPassphraseCB.cpp:93
-#: Src/wptPassphraseDlg.cpp:69 Src/wptPINDlg.cpp:55
-#: Src/wptPreferencesDlg.cpp:134 Src/wptTextInputDlg.cpp:84
+#: Src/wptKeyEditDlgs.cpp:358 Src/wptKeyEditDlgs.cpp:439
+#: Src/wptKeyEditDlgs.cpp:505 Src/wptKeyEditDlgs.cpp:640
+#: Src/wptKeyEditOwnertrustDlg.cpp:67 Src/wptKeygenDlg.cpp:382
+#: Src/wptKeygenDlg.cpp:544 Src/wptKeyRevokeDlg.cpp:81
+#: Src/wptKeyserverDlg.cpp:517 Src/wptKeyserverSearchDlg.cpp:66
+#: Src/wptKeysignDlg.cpp:293 Src/wptPassphraseCB.cpp:93
+#: Src/wptPassphraseDlg.cpp:102 Src/wptPINDlg.cpp:54
+#: Src/wptPreferencesDlg.cpp:134 Src/wptTextInputDlg.cpp:86
msgid "&Cancel"
msgstr "&Abbrechen"
-#: Src/wptClipEncryptDlg.cpp:191 Src/wptClipSignEncDlg.cpp:157
+#: Src/wptClipEncryptDlg.cpp:199 Src/wptClipSignEncDlg.cpp:150
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:228
+#: Src/wptClipEncryptDlg.cpp:236
#, c-format
msgid "No recipient found with '%s'"
msgstr "Keine Empfaenger mit '%s' gefunden"
@@ -666,27 +670,27 @@
msgid "Key Import Statistics"
msgstr "Statistiken für Schlüsselimport"
-#: Src/wptClipSignDlg.cpp:103 Src/wptClipSignDlg.cpp:222
-#: Src/wptClipSignEncDlg.cpp:176
+#: Src/wptClipSignDlg.cpp:103 Src/wptClipSignDlg.cpp:226
+#: Src/wptClipSignEncDlg.cpp:170
msgid "Could not get default key."
msgstr "Konnte den Standardschlüssel nicht finden"
#: Src/wptClipSignDlg.cpp:103 Src/wptClipSignDlg.cpp:111
#: Src/wptClipSignDlg.cpp:119 Src/wptClipSignDlg.cpp:153
-#: Src/wptClipSignDlg.cpp:163 Src/wptClipSignDlg.cpp:222
-#: Src/wptClipSignDlg.cpp:230 Src/wptClipSignDlg.cpp:249
-#: Src/wptClipSignDlg.cpp:260 Src/wptClipSignEncDlg.cpp:166
-#: Src/wptClipSignEncDlg.cpp:176 Src/wptFileManager.cpp:1081
+#: Src/wptClipSignDlg.cpp:159 Src/wptClipSignDlg.cpp:227
+#: Src/wptClipSignDlg.cpp:231 Src/wptClipSignDlg.cpp:251
+#: Src/wptClipSignDlg.cpp:262 Src/wptClipSignEncDlg.cpp:159
+#: Src/wptClipSignEncDlg.cpp:170 Src/wptFileManager.cpp:1081
#: Src/wptFileManager.cpp:1097 Src/wptFileManager.cpp:1387
#: Src/wptMainProc.cpp:156 Src/wptMainProc.cpp:218
msgid "Signing"
msgstr "Signieren"
-#: Src/wptClipSignDlg.cpp:163
+#: Src/wptClipSignDlg.cpp:159
msgid "No useable signing key found"
msgstr "Kein benutzbarer Schlüssel zum Signieren gefunden."
-#: Src/wptClipSignDlg.cpp:231
+#: Src/wptClipSignDlg.cpp:232
#, c-format
msgid ""
"No key was chosen.\n"
@@ -695,30 +699,30 @@
"Kein Schlüssel ausgewählt.\n"
"GPG-Standardschlüssel '%s' benutzen?"
-#: Src/wptClipSignEncDlg.cpp:111 Src/wptClipSignEncDlg.cpp:158
-#: Src/wptClipSignEncDlg.cpp:185 Src/wptClipSignEncDlg.cpp:194
+#: Src/wptClipSignEncDlg.cpp:111 Src/wptClipSignEncDlg.cpp:151
+#: Src/wptClipSignEncDlg.cpp:179 Src/wptClipSignEncDlg.cpp:188
#: Src/wptMainProc.cpp:150 Src/wptMainProc.cpp:224
msgid "Sign & Encrypt"
msgstr "Signieren & Verschlüsseln"
# c:\oss\winpt-gpgme\src\wptClipSignEncDlg.cpp:121
-#: Src/wptClipSignEncDlg.cpp:121
+#: Src/wptClipSignEncDlg.cpp:119
msgid "Select key for signing"
msgstr "Schlüssel zum Signieren auswählen"
-#: Src/wptClipSignEncDlg.cpp:122
+#: Src/wptClipSignEncDlg.cpp:120
msgid "Signing key:"
msgstr "Signierer Schlüssel:"
-#: Src/wptClipSignEncDlg.cpp:166 Src/wptKeylist.cpp:1202
+#: Src/wptClipSignEncDlg.cpp:159 Src/wptKeylist.cpp:1202
msgid "No key was selected."
msgstr "Kein Schlüssel ausgewählt."
-#: Src/wptClipVerifyDlg.cpp:136
+#: Src/wptClipVerifyDlg.cpp:140
msgid "Signature Information"
msgstr "Signaturinformationen"
-#: Src/wptClipVerifyDlg.cpp:184
+#: Src/wptClipVerifyDlg.cpp:158
#, c-format
msgid ""
"Signature made %s using %s key ID 0x%s\n"
@@ -731,15 +735,15 @@
"\n"
"Möchten Sie versuchen, den Schlüssel vom Schlüsselserver zu importieren?"
-#: Src/wptClipVerifyDlg.cpp:222
+#: Src/wptClipVerifyDlg.cpp:225
msgid "Invalid signature state."
msgstr "Ungültige Signatur."
-#: Src/wptClipVerifyDlg.cpp:233
+#: Src/wptClipVerifyDlg.cpp:236
msgid "Could not extract key or signature information."
msgstr "Konnte Schlüssel- oder Signaturinfos nicht extrahieren."
-#: Src/wptClipVerifyDlg.cpp:262 Src/wptFileSaveDlg.cpp:57
+#: Src/wptClipVerifyDlg.cpp:272 Src/wptFileSaveDlg.cpp:57
#: Src/wptFileSaveDlg.cpp:84 Src/wptFileSaveDlg.cpp:89
#: Src/wptFileSaveDlg.cpp:95 Src/wptFileSaveDlg.cpp:99
#: Src/wptFileSaveDlg.cpp:104 Src/wptFileSaveDlg.cpp:110
@@ -758,36 +762,35 @@
msgid "Enter URL to retrieve the public key"
msgstr "Bitte URL eingeben um öff. Schlüssel zu empfangen"
-#: Src/wptCommonDlg.cpp:134 Src/wptKeyEditDlgs.cpp:774
-#: Src/wptKeyEditDlgs.cpp:842 Src/wptKeyEditDlgs.cpp:882
-#: Src/wptKeyEditDlgs.cpp:895 Src/wptKeyEditDlgs.cpp:897
-#: Src/wptKeyEditDlgs.cpp:923 Src/wptKeyEditDlgs.cpp:954
-#: Src/wptKeyEditDlgs.cpp:987 Src/wptKeyEditDlgs.cpp:1031
-#: Src/wptKeyEditDlgs.cpp:1038 Src/wptKeyEditDlgs.cpp:1056
-#: Src/wptKeyEditDlgs.cpp:1067 Src/wptKeyEditDlgs.cpp:1115
-#: Src/wptKeyEditDlgs.cpp:1202 Src/wptKeyEditDlgs.cpp:1322
-#: Src/wptKeyEditDlgs.cpp:1326 Src/wptKeyEditDlgs.cpp:1330
-#: Src/wptKeyEditDlgs.cpp:1337 Src/wptKeyEditDlgs.cpp:1373
-#: Src/wptKeyEditDlgs.cpp:1377 Src/wptKeyEditDlgs.cpp:1387
-#: Src/wptKeyEditDlgs.cpp:1402 Src/wptKeyEditDlgs.cpp:1406
-#: Src/wptKeyEditDlgs.cpp:1448 Src/wptKeyEditDlgs.cpp:1453
-#: Src/wptKeyEditDlgs.cpp:1460 Src/wptKeyEditDlgs.cpp:1466
-#: Src/wptKeyEditDlgs.cpp:1471 Src/wptKeyEditDlgs.cpp:1516
-#: Src/wptKeyEditDlgs.cpp:1521 Src/wptKeyEditDlgs.cpp:1528
-#: Src/wptKeyEditDlgs.cpp:1535 Src/wptKeyEditDlgs.cpp:1538
-#: Src/wptKeyEditDlgs.cpp:1578 Src/wptKeyEditDlgs.cpp:1586
-#: Src/wptKeyEditDlgs.cpp:1603 Src/wptKeyEditDlgs.cpp:1623
-#: Src/wptKeyEditDlgs.cpp:1631 Src/wptKeyEditDlgs.cpp:1740
-#: Src/wptKeyEditDlgs.cpp:1778 Src/wptKeyEditDlgs.cpp:1813
-#: Src/wptKeyEditDlgs.cpp:1817 Src/wptKeyEditDlgs.cpp:1828
-#: Src/wptKeyEditDlgs.cpp:1950 Src/wptKeyEditDlgs.cpp:1952
-#: Src/wptKeyEditDlgs.cpp:1968 Src/wptKeyEditDlgs.cpp:1970
-#: Src/wptKeyEditDlgs.cpp:2003 Src/wptKeyEditDlgs.cpp:2008
-#: Src/wptKeyEditDlgs.cpp:2017 Src/wptKeyEditDlgs.cpp:2031
-#: Src/wptKeyEditDlgs.cpp:2035 Src/wptKeyEditDlgs.cpp:2102
-#: Src/wptKeyEditDlgs.cpp:2143 Src/wptKeyEditDlgs.cpp:2156
-#: Src/wptKeyEditDlgs.cpp:2170 Src/wptKeyEditDlgs.cpp:2210
-#: Src/wptKeyEditDlgs.cpp:2215 Src/wptKeyManagerDlg.cpp:993
+#: Src/wptCommonDlg.cpp:134 Src/wptKeyEditDlgs.cpp:754
+#: Src/wptKeyEditDlgs.cpp:822 Src/wptKeyEditDlgs.cpp:863
+#: Src/wptKeyEditDlgs.cpp:876 Src/wptKeyEditDlgs.cpp:878
+#: Src/wptKeyEditDlgs.cpp:904 Src/wptKeyEditDlgs.cpp:934
+#: Src/wptKeyEditDlgs.cpp:967 Src/wptKeyEditDlgs.cpp:1011
+#: Src/wptKeyEditDlgs.cpp:1018 Src/wptKeyEditDlgs.cpp:1036
+#: Src/wptKeyEditDlgs.cpp:1047 Src/wptKeyEditDlgs.cpp:1298
+#: Src/wptKeyEditDlgs.cpp:1303 Src/wptKeyEditDlgs.cpp:1307
+#: Src/wptKeyEditDlgs.cpp:1314 Src/wptKeyEditDlgs.cpp:1348
+#: Src/wptKeyEditDlgs.cpp:1353 Src/wptKeyEditDlgs.cpp:1363
+#: Src/wptKeyEditDlgs.cpp:1378 Src/wptKeyEditDlgs.cpp:1382
+#: Src/wptKeyEditDlgs.cpp:1422 Src/wptKeyEditDlgs.cpp:1427
+#: Src/wptKeyEditDlgs.cpp:1434 Src/wptKeyEditDlgs.cpp:1440
+#: Src/wptKeyEditDlgs.cpp:1445 Src/wptKeyEditDlgs.cpp:1488
+#: Src/wptKeyEditDlgs.cpp:1493 Src/wptKeyEditDlgs.cpp:1500
+#: Src/wptKeyEditDlgs.cpp:1507 Src/wptKeyEditDlgs.cpp:1510
+#: Src/wptKeyEditDlgs.cpp:1548 Src/wptKeyEditDlgs.cpp:1556
+#: Src/wptKeyEditDlgs.cpp:1571 Src/wptKeyEditDlgs.cpp:1592
+#: Src/wptKeyEditDlgs.cpp:1603 Src/wptKeyEditDlgs.cpp:1712
+#: Src/wptKeyEditDlgs.cpp:1750 Src/wptKeyEditDlgs.cpp:1785
+#: Src/wptKeyEditDlgs.cpp:1790 Src/wptKeyEditDlgs.cpp:1800
+#: Src/wptKeyEditDlgs.cpp:1905 Src/wptKeyEditDlgs.cpp:1907
+#: Src/wptKeyEditDlgs.cpp:1923 Src/wptKeyEditDlgs.cpp:1925
+#: Src/wptKeyEditDlgs.cpp:1960 Src/wptKeyEditDlgs.cpp:1968
+#: Src/wptKeyEditDlgs.cpp:1984 Src/wptKeyEditDlgs.cpp:1998
+#: Src/wptKeyEditDlgs.cpp:2002 Src/wptKeyEditDlgs.cpp:2069
+#: Src/wptKeyEditDlgs.cpp:2106 Src/wptKeyEditDlgs.cpp:2119
+#: Src/wptKeyEditDlgs.cpp:2133 Src/wptKeyEditDlgs.cpp:2173
+#: Src/wptKeyEditDlgs.cpp:2178 Src/wptKeyManagerDlg.cpp:993
#: Src/wptKeyManagerDlg.cpp:1814
msgid "Key Edit"
msgstr "Schlüssel bearbeiten"
@@ -797,7 +800,7 @@
msgid "Enter preferred keyserver URL"
msgstr "Bevorzugte Keyserver URL eingeben"
-#: Src/wptCommonDlg.cpp:211 Src/wptGPGPrefsDlg.cpp:334
+#: Src/wptCommonDlg.cpp:211 Src/wptGPGPrefsDlg.cpp:330
msgid "Choose Locale Directory"
msgstr "Verzeichnis für Sprachdateien auswählen"
@@ -813,7 +816,7 @@
msgid "Please select a language"
msgstr "Bitte eine Sprache auswählen"
-#: Src/wptCommonDlg.cpp:252
+#: Src/wptCommonDlg.cpp:252 Src/wptPassphraseDlg.cpp:103 Src/wptPINDlg.cpp:55
msgid "&OK"
msgstr "&OK"
@@ -1004,8 +1007,8 @@
#: Src/wptFileManager.cpp:1473 Src/wptFileManager.cpp:1500
#: Src/wptFileManager.cpp:1519 Src/wptFileManager.cpp:1771
#: Src/wptFileManager.cpp:1833 Src/wptFileManagerDlg.cpp:536
-#: Src/wptFileManagerDlg.cpp:635 Src/wptFileStatDlg.cpp:152
-#: Src/wptMainProc.cpp:404 Src/wptMDSumDlg.cpp:181
+#: Src/wptFileManagerDlg.cpp:635 Src/wptFileStatDlg.cpp:149
+#: Src/wptMainProc.cpp:406 Src/wptMDSumDlg.cpp:184
msgid "File Manager"
msgstr "Dateimanager"
@@ -1036,13 +1039,13 @@
"\n"
"Möchten Sie die Kompression ausschalten?"
-#: Src/wptFileManager.cpp:382 Src/wptKeyEditDlgs.cpp:1101
+#: Src/wptFileManager.cpp:382 Src/wptKeyEditDlgs.cpp:1081
#: Src/wptVerifyList.cpp:161
msgid "Status"
msgstr "Status"
-#: Src/wptFileManager.cpp:383 Src/wptKeyEditDlgs.cpp:1193
-#: Src/wptKeyRevokersDlg.cpp:57 Src/wptMDSumDlg.cpp:104
+#: Src/wptFileManager.cpp:383 Src/wptKeyEditDlgs.cpp:1171
+#: Src/wptKeyRevokersDlg.cpp:57 Src/wptMDSumDlg.cpp:112
#: Src/wptVerifyList.cpp:160
msgid "Name"
msgstr "Name"
@@ -1069,8 +1072,8 @@
msgid "\"%s\" does not exist"
msgstr "\"%s\" existiert nicht"
-#: Src/wptFileManager.cpp:1007 Src/wptFileStatDlg.cpp:274
-#: Src/wptFileStatDlg.cpp:281
+#: Src/wptFileManager.cpp:1007 Src/wptFileStatDlg.cpp:273
+#: Src/wptFileStatDlg.cpp:279
msgid "File Status"
msgstr "Dateistatus"
@@ -1084,17 +1087,17 @@
#: Src/wptFileManager.cpp:1111 Src/wptFileManager.cpp:1423
#: Src/wptFileManagerDlg.cpp:588 Src/wptMainProc.cpp:200
-#: Src/wptMainProc.cpp:414 Src/wptMainProc.cpp:421
+#: Src/wptMainProc.cpp:416 Src/wptMainProc.cpp:423
msgid "Sign"
msgstr "Signieren"
#: Src/wptFileManager.cpp:1124 Src/wptFileManagerDlg.cpp:586
-#: Src/wptMainProc.cpp:413 Src/wptMainProc.cpp:418
+#: Src/wptMainProc.cpp:415 Src/wptMainProc.cpp:420
msgid "Encrypt"
msgstr "Verschlüsseln"
#: Src/wptFileManager.cpp:1151 Src/wptFileManager.cpp:1184
-#: Src/wptFileManager.cpp:1189 Src/wptMainProc.cpp:412
+#: Src/wptFileManager.cpp:1189 Src/wptMainProc.cpp:414
msgid "Symmetric"
msgstr "Symmetrisch"
@@ -1165,7 +1168,7 @@
#: Src/wptImportList.cpp:410 Src/wptImportList.cpp:420
#: Src/wptImportList.cpp:428 Src/wptImportList.cpp:437
#: Src/wptKeyManager.cpp:460 Src/wptKeyManager.cpp:471
-#: Src/wptKeyManager.cpp:599 Src/wptKeyserverDlg.cpp:219
+#: Src/wptKeyManager.cpp:599 Src/wptKeyserverDlg.cpp:221
msgid "Import"
msgstr "Importieren"
@@ -1187,7 +1190,7 @@
msgstr "Kein Schlüssel zum Exportieren ausgewählt."
#: Src/wptFileManager.cpp:1699 Src/wptFileManager.cpp:1722
-#: Src/wptKeyserverDlg.cpp:90
+#: Src/wptKeyserverDlg.cpp:92
msgid "Export"
msgstr "Exportieren"
@@ -1196,9 +1199,9 @@
msgid "Choose Name for Key File"
msgstr "Den Namen der Schlüsseldatei wählen"
-#: Src/wptFileManager.cpp:1726 Src/wptKeyEditDlgs.cpp:1081
-#: Src/wptKeyEditDlgs.cpp:1354 Src/wptKeyEditDlgs.cpp:1427
-#: Src/wptKeyserverDlg.cpp:102
+#: Src/wptFileManager.cpp:1726 Src/wptKeyEditDlgs.cpp:1061
+#: Src/wptKeyEditDlgs.cpp:1329 Src/wptKeyEditDlgs.cpp:1401
+#: Src/wptKeyserverDlg.cpp:104
msgid "GnuPG status"
msgstr "GnuPG Status"
@@ -1265,7 +1268,7 @@
msgid "Please select at least one recipient."
msgstr "Bitte wählen Sie wenigstens einen Empfänger."
-#: Src/wptFileManagerDlg.cpp:216 Src/wptFileStatDlg.cpp:281
+#: Src/wptFileManagerDlg.cpp:216 Src/wptFileStatDlg.cpp:279
#: Src/wptKeyManager.cpp:424
msgid "No valid OpenPGP data found."
msgstr "Keine gültigen OpenPGP-Daten gefunden."
@@ -1317,8 +1320,8 @@
msgid "Signature mode"
msgstr "Signaturmodus"
-#: Src/wptFileManagerDlg.cpp:345 Src/wptKeyEditDlgs.cpp:1326
-#: Src/wptKeyEditDlgs.cpp:1377 Src/wptKeyEditDlgs.cpp:1453
+#: Src/wptFileManagerDlg.cpp:345 Src/wptKeyEditDlgs.cpp:1303
+#: Src/wptKeyEditDlgs.cpp:1353 Src/wptKeyEditDlgs.cpp:1427
#: Src/wptKeyManager.cpp:683 Src/wptKeyManager.cpp:784
#: Src/wptKeyManager.cpp:818 Src/wptKeyManagerDlg.cpp:1558
#: Src/wptKeyManagerDlg.cpp:1574 Src/wptKeyManagerDlg.cpp:1602
@@ -1337,7 +1340,7 @@
msgid "%d Object(s) marked"
msgstr "%d Objekt(e) markiert"
-#: Src/wptFileManagerDlg.cpp:503 Src/wptMainProc.cpp:542
+#: Src/wptFileManagerDlg.cpp:503 Src/wptMainProc.cpp:544
msgid "File Manager (use drag & drop to add files)"
msgstr "Dateimanager (Drag & Drop möglich)"
@@ -1372,7 +1375,7 @@
msgstr "&Signieren"
#: Src/wptFileManagerDlg.cpp:513 Src/wptFileManagerDlg.cpp:589
-#: Src/wptMainProc.cpp:415 Src/wptMainProc.cpp:419
+#: Src/wptMainProc.cpp:417 Src/wptMainProc.cpp:421
msgid "Sign && Encrypt"
msgstr "Signieren && Verschlüsseln"
@@ -1392,7 +1395,7 @@
msgid "E&xport"
msgstr "E&xportieren"
-#: Src/wptFileManagerDlg.cpp:518 Src/wptMainProc.cpp:411
+#: Src/wptFileManagerDlg.cpp:518 Src/wptMainProc.cpp:413
msgid "Exit"
msgstr "Beenden"
@@ -1567,12 +1570,12 @@
msgid "GPG Warning"
msgstr "GPG Warnung"
-#: Src/wptGPG.cpp:888 Src/wptGPGPrefsDlg.cpp:216 Src/wptGPGPrefsDlg.cpp:222
-#: Src/wptGPGPrefsDlg.cpp:228 Src/wptGPGPrefsDlg.cpp:234
-#: Src/wptGPGPrefsDlg.cpp:239 Src/wptGPGPrefsDlg.cpp:244
-#: Src/wptGPGPrefsDlg.cpp:250 Src/wptGPGPrefsDlg.cpp:264
-#: Src/wptKeyEditDlgs.cpp:1745 Src/wptKeyManagerDlg.cpp:958
-#: Src/wptMainProc.cpp:431 Src/wptPreferencesDlg.cpp:225
+#: Src/wptGPG.cpp:888 Src/wptGPGPrefsDlg.cpp:211 Src/wptGPGPrefsDlg.cpp:217
+#: Src/wptGPGPrefsDlg.cpp:223 Src/wptGPGPrefsDlg.cpp:229
+#: Src/wptGPGPrefsDlg.cpp:234 Src/wptGPGPrefsDlg.cpp:239
+#: Src/wptGPGPrefsDlg.cpp:245 Src/wptGPGPrefsDlg.cpp:259
+#: Src/wptKeyEditDlgs.cpp:1717 Src/wptKeyManagerDlg.cpp:958
+#: Src/wptMainProc.cpp:433 Src/wptPreferencesDlg.cpp:225
#: Src/wptPreferencesDlg.cpp:270 Src/wptPreferencesDlg.cpp:282
#: Src/wptPreferencesDlg.cpp:295 Src/wptPreferencesDlg.cpp:326
#: Src/wptRegistry.cpp:596
@@ -1672,37 +1675,38 @@
msgid "Good Signature (Revoked Key)"
msgstr "Gültige Signatur (Widerrufener Schlüssel)"
-#: Src/wptGPGOptDlg.cpp:49 Src/wptGPGOptDlg.cpp:99
+#: Src/wptGPGOptDlg.cpp:48 Src/wptGPGOptDlg.cpp:97
msgid "Could not load GnuPG config file!"
msgstr "Konnte GnuPG Konfigurationsdatei nicht laden!"
+#: Src/wptGPGOptDlg.cpp:49 Src/wptGPGOptDlg.cpp:69 Src/wptGPGOptDlg.cpp:75
+#: Src/wptGPGOptDlg.cpp:80 Src/wptGPGOptDlg.cpp:84 Src/wptGPGOptDlg.cpp:91
+#: Src/wptGPGOptDlg.cpp:97
+msgid "GPG Config"
+msgstr "GPG Konfiguration"
+
# c:\oss\winpt-gpgme\src\wptGPGOptDlg.cpp:47
-#: Src/wptGPGOptDlg.cpp:51
+#: Src/wptGPGOptDlg.cpp:54
msgid "GnuPG Configuration File"
msgstr "GnuPG Konfigurationsdatei"
-#: Src/wptGPGOptDlg.cpp:71
+#: Src/wptGPGOptDlg.cpp:69
msgid "The 'gpg.conf' file is not loaded."
msgstr "Die 'gpg.conf' wurde nicht geladen"
-#: Src/wptGPGOptDlg.cpp:71 Src/wptGPGOptDlg.cpp:77 Src/wptGPGOptDlg.cpp:82
-#: Src/wptGPGOptDlg.cpp:86 Src/wptGPGOptDlg.cpp:93 Src/wptGPGOptDlg.cpp:99
-msgid "GPG Config"
-msgstr "GPG Konfiguration"
-
-#: Src/wptGPGOptDlg.cpp:77
+#: Src/wptGPGOptDlg.cpp:75
msgid "File contains invalid GnuPG keywords!"
msgstr "Datei enthält ungültige GnuPG-Schlüsselwörter!"
-#: Src/wptGPGOptDlg.cpp:82
+#: Src/wptGPGOptDlg.cpp:80
msgid "Could not save GnuPG config file."
msgstr "Konnte GnuPG Konfigurationsdatei nicht speichern."
-#: Src/wptGPGOptDlg.cpp:86
+#: Src/wptGPGOptDlg.cpp:84
msgid "Successfully saved."
msgstr "Erfolgreich gespeichert."
-#: Src/wptGPGOptDlg.cpp:92
+#: Src/wptGPGOptDlg.cpp:90
msgid ""
"Current data will be lost!\n"
"Are you sure?"
@@ -1711,7 +1715,7 @@
"Sind Sie sicher?"
#: Src/wptGPGPrefsDlg.cpp:141 Src/wptKeyManagerDlg.cpp:1712
-#: Src/wptMainProc.cpp:590
+#: Src/wptMainProc.cpp:592
msgid "GnuPG Preferences"
msgstr "GnuPG-Einstellungen"
@@ -1757,35 +1761,35 @@
msgid "&Overwrite default settings"
msgstr "&Überschreibe Voreinstellungen"
-#: Src/wptGPGPrefsDlg.cpp:215
+#: Src/wptGPGPrefsDlg.cpp:210
msgid "Please enter the GnuPG home directory."
msgstr "Bitte geben Sie das GnuPG-Heimatverzeichnis ein."
-#: Src/wptGPGPrefsDlg.cpp:227
+#: Src/wptGPGPrefsDlg.cpp:222
msgid "Could not save 'HomeDir' in the registry."
msgstr "Konnte 'Heinmatverzeichnis' nicht in der Registrierung speichern."
-#: Src/wptGPGPrefsDlg.cpp:233
+#: Src/wptGPGPrefsDlg.cpp:228
msgid "Please enter where GPG.exe is located."
msgstr "Bitte geben Sie den Pfad zu GPG.EXE ein."
-#: Src/wptGPGPrefsDlg.cpp:238
+#: Src/wptGPGPrefsDlg.cpp:233
msgid "Could not find the GPG program in this directory."
msgstr "Konnte GPG-Programm nicht in diesem Verzeichnis finden."
-#: Src/wptGPGPrefsDlg.cpp:243
+#: Src/wptGPGPrefsDlg.cpp:238
msgid "Could not save 'gpgProgram' in the registry"
msgstr "Konnte 'gpgProgram' nicht in der Registrierung speichern."
-#: Src/wptGPGPrefsDlg.cpp:263
+#: Src/wptGPGPrefsDlg.cpp:258
msgid "Could not get GPG config file"
msgstr "Konnte Konfigurationsdatei von GPG nicht öffnen"
-#: Src/wptGPGPrefsDlg.cpp:312
+#: Src/wptGPGPrefsDlg.cpp:308
msgid "Choose GPG Home Directory"
msgstr "Heimatverzeichnis von GPG auswählen"
-#: Src/wptGPGPrefsDlg.cpp:340
+#: Src/wptGPGPrefsDlg.cpp:336
msgid "Choose GPG Binary"
msgstr "Wählen Sie GPG.EXE Datei aus"
@@ -1818,10 +1822,10 @@
#: Src/wptKeyManagerDlg.cpp:1741 Src/wptKeyManagerDlg.cpp:1759
#: Src/wptKeyManagerDlg.cpp:1764 Src/wptKeyManagerDlg.cpp:1769
#: Src/wptKeyManagerDlg.cpp:1840 Src/wptKeyManagerDlg.cpp:1845
-#: Src/wptKeyManagerDlg.cpp:1978 Src/wptKeysigDlg.cpp:93
-#: Src/wptKeysigDlg.cpp:105 Src/wptKeysigDlg.cpp:314 Src/wptKeysigDlg.cpp:387
-#: Src/wptKeysigDlg.cpp:397 Src/wptKeysigDlg.cpp:440 Src/wptMainProc.cpp:405
-#: Src/wptMainProc.cpp:553 Src/wptMainProc.cpp:561
+#: Src/wptKeyManagerDlg.cpp:1978 Src/wptKeysigDlg.cpp:94
+#: Src/wptKeysigDlg.cpp:106 Src/wptKeysigDlg.cpp:309 Src/wptKeysigDlg.cpp:381
+#: Src/wptKeysigDlg.cpp:391 Src/wptKeysigDlg.cpp:434 Src/wptMainProc.cpp:407
+#: Src/wptMainProc.cpp:555 Src/wptMainProc.cpp:563
msgid "Key Manager"
msgstr "Schlüsselverwaltung"
@@ -1895,20 +1899,21 @@
msgid "Unknown Hotkey"
msgstr "Unbekanntes Tastenkürzel"
-#: Src/wptImportList.cpp:266 Src/wptKeyEditDlgs.cpp:258
-#: Src/wptKeyEditDlgs.cpp:1166 Src/wptKeyEditDlgs.cpp:1218
-#: Src/wptKeyEditDlgs.cpp:1465 Src/wptKeyEditDlgs.cpp:1487
-#: Src/wptKeyEditDlgs.cpp:1526 Src/wptKeyEditDlgs.cpp:1559
-#: Src/wptKeyEditDlgs.cpp:1790 Src/wptKeylist.cpp:421 Src/wptKeylist.cpp:455
-#: Src/wptKeyPropsDlg.cpp:161 Src/wptKeysigDlg.cpp:144
-#: Src/wptKeysigDlg.cpp:214
+#: Src/wptImportList.cpp:266 Src/wptKeyEditDlgs.cpp:256
+#: Src/wptKeyEditDlgs.cpp:1144 Src/wptKeyEditDlgs.cpp:1194
+#: Src/wptKeyEditDlgs.cpp:1439 Src/wptKeyEditDlgs.cpp:1459
+#: Src/wptKeyEditDlgs.cpp:1498 Src/wptKeyEditDlgs.cpp:1529
+#: Src/wptKeyEditDlgs.cpp:1596 Src/wptKeyEditDlgs.cpp:1762
+#: Src/wptKeyEditDlgs.cpp:1964 Src/wptKeylist.cpp:421 Src/wptKeylist.cpp:455
+#: Src/wptKeyPropsDlg.cpp:161 Src/wptKeysigDlg.cpp:142
+#: Src/wptKeysigDlg.cpp:207
msgid "Revoked"
msgstr "Widerrufen"
-#: Src/wptImportList.cpp:268 Src/wptKeyEditDlgs.cpp:260
-#: Src/wptKeyEditDlgs.cpp:1164 Src/wptKeyEditDlgs.cpp:1384
+#: Src/wptImportList.cpp:268 Src/wptKeyEditDlgs.cpp:258
+#: Src/wptKeyEditDlgs.cpp:1142 Src/wptKeyEditDlgs.cpp:1360
#: Src/wptKeylist.cpp:423 Src/wptKeylist.cpp:453 Src/wptKeyPropsDlg.cpp:159
-#: Src/wptKeysigDlg.cpp:143 Src/wptKeysigDlg.cpp:215
+#: Src/wptKeysigDlg.cpp:141 Src/wptKeysigDlg.cpp:208
msgid "Expired"
msgstr "Abgelaufen"
@@ -1920,7 +1925,7 @@
msgid "public key"
msgstr "öffentlicher Schlüssel"
-#: Src/wptImportList.cpp:304 Src/wptKeyEditDlgs.cpp:1226
+#: Src/wptImportList.cpp:304 Src/wptKeyEditDlgs.cpp:1202
msgid "Invalid user ID"
msgstr "Ungültige Benutzerkennung"
@@ -1936,7 +1941,7 @@
msgid "Size"
msgstr "Größe"
-#: Src/wptImportList.cpp:347 Src/wptKeyEditDlgs.cpp:1098
+#: Src/wptImportList.cpp:347 Src/wptKeyEditDlgs.cpp:1078
#: Src/wptKeylist.cpp:577 Src/wptKeylist.cpp:585 Src/wptKeyManagerDlg.cpp:876
#: Src/wptKeyManagerDlg.cpp:967 Src/wptKeyRevokersDlg.cpp:58
#: Src/wptKeyserverSearchDlg.cpp:56 Src/wptSigList.cpp:57
@@ -1944,8 +1949,8 @@
msgid "Key ID"
msgstr "Schlüssel-ID"
-#: Src/wptImportList.cpp:348 Src/wptKeyEditDlgs.cpp:1099
-#: Src/wptKeyEditDlgs.cpp:1195 Src/wptKeylist.cpp:591
+#: Src/wptImportList.cpp:348 Src/wptKeyEditDlgs.cpp:1079
+#: Src/wptKeyEditDlgs.cpp:1173 Src/wptKeylist.cpp:591
#: Src/wptKeyManagerDlg.cpp:882 Src/wptKeyManagerDlg.cpp:970
#: Src/wptKeyserverSearchDlg.cpp:57 Src/wptSigList.cpp:56
msgid "Creation"
@@ -1982,24 +1987,24 @@
msgid "Key Cache"
msgstr "Schlüsselcache"
-#: Src/wptKeyEditDlgs.cpp:230 Src/wptKeylist.cpp:388
+#: Src/wptKeyEditDlgs.cpp:228 Src/wptKeylist.cpp:388
msgid "Ultimate"
msgstr "Absolut"
-#: Src/wptKeyEditDlgs.cpp:245 Src/wptKeyEditDlgs.cpp:1161
+#: Src/wptKeyEditDlgs.cpp:243 Src/wptKeyEditDlgs.cpp:1139
#: Src/wptKeylist.cpp:243 Src/wptKeylist.cpp:382
msgid "Never"
msgstr "Niemals"
-#: Src/wptKeyEditDlgs.cpp:262 Src/wptKeyEditDlgs.cpp:1168
+#: Src/wptKeyEditDlgs.cpp:260 Src/wptKeyEditDlgs.cpp:1146
msgid "OK"
msgstr "OK"
-#: Src/wptKeyEditDlgs.cpp:284
+#: Src/wptKeyEditDlgs.cpp:282
msgid "user ID"
msgstr "Benutzerkennung"
-#: Src/wptKeyEditDlgs.cpp:285
+#: Src/wptKeyEditDlgs.cpp:283
#, c-format
msgid ""
"Could not get key information for: \"%s\":\n"
@@ -2009,7 +2014,7 @@
"%s"
# c:\oss\winpt-gpgme\src\wptKeyEditDlgs.cpp:258
-#: Src/wptKeyEditDlgs.cpp:357
+#: Src/wptKeyEditDlgs.cpp:355
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 "
@@ -2020,7 +2025,7 @@
"240x288 grosses Bild ist eine gute Größe."
# c:\oss\winpt-gpgme\src\wptKeyEditDlgs.cpp:259
-#: Src/wptKeyEditDlgs.cpp:358
+#: Src/wptKeyEditDlgs.cpp:356
msgid ""
"Pick an image to use for your photo ID.\n"
"The image must be a JPEG file."
@@ -2028,35 +2033,35 @@
"Bitte ein Bild auswählen fuer die photo ID.\n"
"Das Bild muss eine JPEG Datei sein."
-#: Src/wptKeyEditDlgs.cpp:359 Src/wptKeyEditDlgs.cpp:447
-#: Src/wptKeysignDlg.cpp:284
+#: Src/wptKeyEditDlgs.cpp:357 Src/wptKeyEditDlgs.cpp:438
+#: Src/wptKeysignDlg.cpp:292
msgid "Passphrase"
msgstr "Passwort"
-#: Src/wptKeyEditDlgs.cpp:361
+#: Src/wptKeyEditDlgs.cpp:359
msgid "Add Photo ID"
msgstr "Photo ID hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:376
+#: Src/wptKeyEditDlgs.cpp:366
msgid "Select Image File"
msgstr "Bilddatei auswählen"
-#: Src/wptKeyEditDlgs.cpp:380 Src/wptKeyEditDlgs.cpp:390
-#: Src/wptKeyEditDlgs.cpp:396 Src/wptKeyEditDlgs.cpp:408
-#: Src/wptKeyEditDlgs.cpp:917
+#: Src/wptKeyEditDlgs.cpp:370 Src/wptKeyEditDlgs.cpp:381
+#: Src/wptKeyEditDlgs.cpp:387 Src/wptKeyEditDlgs.cpp:399
+#: Src/wptKeyEditDlgs.cpp:898
msgid "Add Photo"
msgstr "Foto hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:381
+#: Src/wptKeyEditDlgs.cpp:371
#, c-format
msgid "'%s' is not a valid JPEG file."
msgstr "'%s' is keine gültige JPEG Datei."
-#: Src/wptKeyEditDlgs.cpp:390 Src/wptKeyRevokeDlg.cpp:173
+#: Src/wptKeyEditDlgs.cpp:380 Src/wptKeyRevokeDlg.cpp:168
msgid "Please enter a file name."
msgstr "Bitte Dateinamen eingeben."
-#: Src/wptKeyEditDlgs.cpp:394
+#: Src/wptKeyEditDlgs.cpp:385
msgid ""
"The JPEG is really large.\n"
"Are you sure you want to use it?"
@@ -2064,146 +2069,146 @@
"Das JPEG ist sehr groß.\n"
"Sind Sie sicher, dass Sie es benutzen wollen?"
-#: Src/wptKeyEditDlgs.cpp:413
+#: Src/wptKeyEditDlgs.cpp:404
msgid "Photo successfully added."
msgstr "Foto erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:414 Src/wptKeyEditDlgs.cpp:482
-#: Src/wptKeyEditDlgs.cpp:566 Src/wptKeyEditDlgs.cpp:741
-#: Src/wptKeyEditDlgs.cpp:1489 Src/wptKeyEditDlgs.cpp:1561
-#: Src/wptKeyEditDlgs.cpp:1646 Src/wptKeyEditDlgs.cpp:1847
-#: Src/wptKeygenDlg.cpp:488 Src/wptKeygenDlg.cpp:604
-#: Src/wptKeyPropsDlg.cpp:380 Src/wptOwnertrustDlg.cpp:124
-#: Src/wptOwnertrustDlg.cpp:136
+#: Src/wptKeyEditDlgs.cpp:405 Src/wptKeyEditDlgs.cpp:468
+#: Src/wptKeyEditDlgs.cpp:550 Src/wptKeyEditDlgs.cpp:721
+#: Src/wptKeyEditDlgs.cpp:1461 Src/wptKeyEditDlgs.cpp:1531
+#: Src/wptKeyEditDlgs.cpp:1618 Src/wptKeyEditDlgs.cpp:1816
+#: Src/wptKeygenDlg.cpp:494 Src/wptKeygenDlg.cpp:603
+#: Src/wptKeyPropsDlg.cpp:382 Src/wptOwnertrustDlg.cpp:119
+#: Src/wptOwnertrustDlg.cpp:131
msgid "GnuPG Status"
msgstr "GnuPG-Status"
# c:\oss\winpt-gpgme\src\wptKeyEditDlgs.cpp:350
-#: Src/wptKeyEditDlgs.cpp:445
+#: Src/wptKeyEditDlgs.cpp:436
msgid "Appointing a key as designated revoker cannot be undone."
msgstr ""
"Hinzufügen eines Widerrufers kann nicht mehr\n"
"rückgängig gemacht werden."
-#: Src/wptKeyEditDlgs.cpp:446
+#: Src/wptKeyEditDlgs.cpp:437
msgid "Public key"
msgstr "öff. Schlüssel"
-#: Src/wptKeyEditDlgs.cpp:449 Src/wptKeyEditDlgs.cpp:463
-#: Src/wptKeyEditDlgs.cpp:476 Src/wptKeyEditDlgs.cpp:949
+#: Src/wptKeyEditDlgs.cpp:440 Src/wptKeyEditDlgs.cpp:449
+#: Src/wptKeyEditDlgs.cpp:462 Src/wptKeyEditDlgs.cpp:929
msgid "Add Revoker"
msgstr "Wiederrufer hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:463 Src/wptKeyEditDlgs.cpp:1521
-#: Src/wptKeyEditDlgs.cpp:1578 Src/wptKeyEditDlgs.cpp:1623
-#: Src/wptKeyEditDlgs.cpp:1778 Src/wptKeyEditDlgs.cpp:1817
-#: Src/wptKeyEditDlgs.cpp:2003
+#: Src/wptKeyEditDlgs.cpp:449 Src/wptKeyEditDlgs.cpp:1493
+#: Src/wptKeyEditDlgs.cpp:1548 Src/wptKeyEditDlgs.cpp:1592
+#: Src/wptKeyEditDlgs.cpp:1750 Src/wptKeyEditDlgs.cpp:1790
+#: Src/wptKeyEditDlgs.cpp:1960
msgid "Please select a user ID."
msgstr "Bitte eine Benutzerkennung wählen."
-#: Src/wptKeyEditDlgs.cpp:481
+#: Src/wptKeyEditDlgs.cpp:467
msgid "Revoker successfully addded."
msgstr "Widerrufer erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:515
+#: Src/wptKeyEditDlgs.cpp:501
msgid "Add new User ID"
msgstr "Neue Benutzerkennung hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:517
+#: Src/wptKeyEditDlgs.cpp:503
msgid "&Email"
msgstr "&E-Mail"
-#: Src/wptKeyEditDlgs.cpp:518
+#: Src/wptKeyEditDlgs.cpp:504
msgid "&Comment"
msgstr "&Kommentar"
-#: Src/wptKeyEditDlgs.cpp:535
+#: Src/wptKeyEditDlgs.cpp:516
msgid "Please enter a name (min. 5 chars.)"
msgstr "Bitte Namen eingeben (min. 5 Zeichen)"
-#: Src/wptKeyEditDlgs.cpp:536 Src/wptKeyEditDlgs.cpp:542
-#: Src/wptKeyEditDlgs.cpp:547 Src/wptKeyEditDlgs.cpp:551
-#: Src/wptKeyEditDlgs.cpp:564
+#: Src/wptKeyEditDlgs.cpp:517 Src/wptKeyEditDlgs.cpp:523
+#: Src/wptKeyEditDlgs.cpp:529 Src/wptKeyEditDlgs.cpp:534
+#: Src/wptKeyEditDlgs.cpp:548
msgid "UserID"
msgstr "Benutzerkennung"
-#: Src/wptKeyEditDlgs.cpp:541
+#: Src/wptKeyEditDlgs.cpp:522
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:547
+#: Src/wptKeyEditDlgs.cpp:529
msgid "Please enter an email address."
msgstr "Bitte eine E-Mail-Adresse eingeben."
-#: Src/wptKeyEditDlgs.cpp:551
+#: Src/wptKeyEditDlgs.cpp:534
msgid "Invalid email address."
msgstr "Ungültige E-Mail-Adresse"
-#: Src/wptKeyEditDlgs.cpp:566
+#: Src/wptKeyEditDlgs.cpp:550
msgid "user ID successfully added."
msgstr "Benutzerkennung erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:650 Src/wptKeyEditDlgs.cpp:855
+#: Src/wptKeyEditDlgs.cpp:635 Src/wptKeyEditDlgs.cpp:835
msgid "Add new Subkey"
msgstr "Neuen Unterschlüssel hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:651
+#: Src/wptKeyEditDlgs.cpp:636
msgid "Key type"
msgstr "Schlüssel-Typ"
-#: Src/wptKeyEditDlgs.cpp:652
+#: Src/wptKeyEditDlgs.cpp:637
msgid "Size in bits"
msgstr "Größe in Bits"
-#: Src/wptKeyEditDlgs.cpp:653
+#: Src/wptKeyEditDlgs.cpp:638
msgid "Key expiration"
msgstr "Key Ablaufdatum"
-#: Src/wptKeyEditDlgs.cpp:700
+#: Src/wptKeyEditDlgs.cpp:680
msgid "Please select one entry."
msgstr "Bitte wählen Sie einen Eintrag aus."
-#: Src/wptKeyEditDlgs.cpp:701 Src/wptKeyEditDlgs.cpp:707
-#: Src/wptKeyEditDlgs.cpp:738 Src/wptKeyEditDlgs.cpp:838
+#: Src/wptKeyEditDlgs.cpp:681 Src/wptKeyEditDlgs.cpp:687
+#: Src/wptKeyEditDlgs.cpp:718 Src/wptKeyEditDlgs.cpp:818
msgid "Add Subkey"
msgstr "Unterschlüssel hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:706
+#: Src/wptKeyEditDlgs.cpp:686
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:740
+#: Src/wptKeyEditDlgs.cpp:720
msgid "Subkey successfully added."
msgstr "Unterschlüssel erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:768 Src/wptKeyEditDlgs.cpp:837
-#: Src/wptKeyEditDlgs.cpp:916 Src/wptKeyEditDlgs.cpp:949
-#: Src/wptKeyEditDlgs.cpp:1030 Src/wptKeyEditDlgs.cpp:1373
-#: Src/wptKeyEditDlgs.cpp:1448 Src/wptKeyEditDlgs.cpp:1510
+#: Src/wptKeyEditDlgs.cpp:748 Src/wptKeyEditDlgs.cpp:817
+#: Src/wptKeyEditDlgs.cpp:897 Src/wptKeyEditDlgs.cpp:929
+#: Src/wptKeyEditDlgs.cpp:1010 Src/wptKeyEditDlgs.cpp:1348
+#: Src/wptKeyEditDlgs.cpp:1422 Src/wptKeyEditDlgs.cpp:1482
#: Src/wptKeyManagerDlg.cpp:1591
msgid "There is no secret key available!"
msgstr "Kein geheimer Schlüssel vorhanden!"
-#: Src/wptKeyEditDlgs.cpp:769 Src/wptKeyEditDlgs.cpp:788
+#: Src/wptKeyEditDlgs.cpp:749 Src/wptKeyEditDlgs.cpp:768
msgid "Add user ID"
msgstr "Benutzerkennung hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:895
+#: Src/wptKeyEditDlgs.cpp:876
msgid "Preferred keyserver successfully set."
msgstr "Bevorzugter Keyserver wurde erfolgreich gesetzt."
-#: Src/wptKeyEditDlgs.cpp:984 Src/wptKeyEditOwnertrustDlg.cpp:55
-#: Src/wptKeyPropsDlg.cpp:371
+#: Src/wptKeyEditDlgs.cpp:964 Src/wptKeyEditOwnertrustDlg.cpp:55
+#: Src/wptKeyPropsDlg.cpp:373
msgid "Change Ownertrust"
msgstr "Besitzervertrauen ändern"
-#: Src/wptKeyEditDlgs.cpp:987 Src/wptKeyManager.cpp:220
+#: Src/wptKeyEditDlgs.cpp:967 Src/wptKeyManager.cpp:220
msgid "Key status changed."
msgstr "Schlüsselstatus geändert."
-#: Src/wptKeyEditDlgs.cpp:1036
+#: Src/wptKeyEditDlgs.cpp:1016
msgid ""
"Cannot change passphrase because the key\n"
"is protected with the IDEA encryption algorithm."
@@ -2211,21 +2216,21 @@
"Kann das Passwort das Schlüssels nicht ändern, da der \n"
"Schlüssel mit dem IDEA Verschlüsselungs-Algorithmus gesichert ist."
-#: Src/wptKeyEditDlgs.cpp:1043
+#: Src/wptKeyEditDlgs.cpp:1023
msgid "Current (old) Passphrase"
msgstr "Aktuelles (altes) Passwort"
-#: Src/wptKeyEditDlgs.cpp:1047
+#: Src/wptKeyEditDlgs.cpp:1027
msgid "New Passphrase"
msgstr "Neues Passwort"
-#: Src/wptKeyEditDlgs.cpp:1054
+#: Src/wptKeyEditDlgs.cpp:1034
msgid ""
"Are you sure that you really don't want a passphrase?\n"
"This is propably a bad idea, still proceed?"
msgstr ""
-#: Src/wptKeyEditDlgs.cpp:1065 Src/wptPassphraseDlg.cpp:191
+#: Src/wptKeyEditDlgs.cpp:1045 Src/wptPassphraseDlg.cpp:248
msgid ""
"The passphrase contains 8-bit characters.\n"
"It is not suggested to use charset specific characters."
@@ -2233,40 +2238,32 @@
"Das Passwort enthält 8-bit Zeichen.\n"
"Es ist nicht zu empfehlen zeichensatzspezifische Zeichen zu benutzen."
-#: Src/wptKeyEditDlgs.cpp:1079
+#: Src/wptKeyEditDlgs.cpp:1059
msgid "Change Passwd"
msgstr "Passwort ändern"
-#: Src/wptKeyEditDlgs.cpp:1081
+#: Src/wptKeyEditDlgs.cpp:1061
msgid "Passphrase successfully changed."
msgstr "Passwort erfolgreich geändert."
-#: Src/wptKeyEditDlgs.cpp:1097 Src/wptKeyManagerDlg.cpp:883
+#: Src/wptKeyEditDlgs.cpp:1077 Src/wptKeyManagerDlg.cpp:883
msgid "Description"
msgstr "Beschreibung"
-#: Src/wptKeyEditDlgs.cpp:1100
+#: Src/wptKeyEditDlgs.cpp:1080
msgid "Expires"
msgstr "Verfällt"
-#: Src/wptKeyEditDlgs.cpp:1115
-msgid "No subkey(s) found."
-msgstr "Kein(e) Unterschlüssel gefunden."
-
-#: Src/wptKeyEditDlgs.cpp:1192 Src/wptKeylist.cpp:580 Src/wptKeylist.cpp:589
+#: Src/wptKeyEditDlgs.cpp:1170 Src/wptKeylist.cpp:580 Src/wptKeylist.cpp:589
#: Src/wptKeyManagerDlg.cpp:880
msgid "Validity"
msgstr "Gültigkeit"
-#: Src/wptKeyEditDlgs.cpp:1194
+#: Src/wptKeyEditDlgs.cpp:1172
msgid "Email"
msgstr "E-Mail"
-#: Src/wptKeyEditDlgs.cpp:1202
-msgid "No user ID(s) found."
-msgstr "Keine Benutzerkennung(en) gefunden."
-
-#: Src/wptKeyEditDlgs.cpp:1284
+#: Src/wptKeyEditDlgs.cpp:1260
msgid ""
"ADDUID \t\tadd a user ID\r\n"
"ADDPHOTO \t\tadd a photo ID\r\n"
@@ -2310,19 +2307,15 @@
"CLEAN \t\tEntferne unbrauchbare Signaturen vom Schlüssel\r\n"
"MINIMIZE \t\tEntferne alle Signaturen vom Schlüssel\r\n"
-#: Src/wptKeyEditDlgs.cpp:1306
+#: Src/wptKeyEditDlgs.cpp:1282
msgid "Key Edit Help"
msgstr "Hilfe zum Schlüssel bearbeiten"
-#: Src/wptKeyEditDlgs.cpp:1322
+#: Src/wptKeyEditDlgs.cpp:1298 Src/wptKeyEditDlgs.cpp:1307
msgid "Primary key can not be deleted!"
msgstr "Primärer Schlüssel kann nicht gelöscht werden!"
-#: Src/wptKeyEditDlgs.cpp:1330
-msgid "Primary subkey can not be deleted!"
-msgstr "Primärer Unterschlüssel kann nicht gelöscht werden!"
-
-#: Src/wptKeyEditDlgs.cpp:1338
+#: Src/wptKeyEditDlgs.cpp:1315
#, c-format
msgid ""
"\"Subkey %s.\"\n"
@@ -2339,15 +2332,15 @@
"\n"
"Möchten Sie diesen Unterschlüssel wirklich löschen?"
-#: Src/wptKeyEditDlgs.cpp:1350
+#: Src/wptKeyEditDlgs.cpp:1325
msgid "Delete Subkey"
msgstr "Unterschlüssel löschen"
-#: Src/wptKeyEditDlgs.cpp:1354
+#: Src/wptKeyEditDlgs.cpp:1329
msgid "Subkey successfully deleted."
msgstr "Unterschlüssel erfolgreich gelöscht."
-#: Src/wptKeyEditDlgs.cpp:1385
+#: Src/wptKeyEditDlgs.cpp:1361
msgid ""
"Key already expired.\n"
"\n"
@@ -2357,19 +2350,19 @@
"\n"
"Wollen Sie das Ablaufdatum ändern?"
-#: Src/wptKeyEditDlgs.cpp:1394 Src/wptKeyEditDlgs.cpp:1397
+#: Src/wptKeyEditDlgs.cpp:1370 Src/wptKeyEditDlgs.cpp:1373
msgid "Key Expiration Date"
msgstr "Ablaufdatum"
-#: Src/wptKeyEditDlgs.cpp:1420
+#: Src/wptKeyEditDlgs.cpp:1394
msgid "Expire Subkey"
msgstr "Untschlüssel Ablauf"
-#: Src/wptKeyEditDlgs.cpp:1426
+#: Src/wptKeyEditDlgs.cpp:1400
msgid "Subkey expire date successfully set."
msgstr "Unterschlüsselablaufdatum erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:1457
+#: Src/wptKeyEditDlgs.cpp:1431
msgid ""
"No subkeys were found, if you want to revoke the\n"
"whole key, please use the Key Manager command directly.\n"
@@ -2381,31 +2374,31 @@
"\n"
"Diese Funktion ist nur für das Widerrufen einzelner Unterschlüssel gedacht."
-#: Src/wptKeyEditDlgs.cpp:1466
+#: Src/wptKeyEditDlgs.cpp:1440
msgid "Key already revoked."
msgstr "Der Schlüssel ist bereits widerrufen."
-#: Src/wptKeyEditDlgs.cpp:1485
+#: Src/wptKeyEditDlgs.cpp:1457
msgid "Revoke Subkey"
msgstr "Unterschlüssel widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1489
+#: Src/wptKeyEditDlgs.cpp:1461
msgid "Subkey successfully revoked."
msgstr "Unterschlüssel erfolgreich widerrufen."
-#: Src/wptKeyEditDlgs.cpp:1511
+#: Src/wptKeyEditDlgs.cpp:1483
msgid "Revoke user ID"
msgstr "Benutzerkennung widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1516
+#: Src/wptKeyEditDlgs.cpp:1488
msgid "Key has only one user ID."
msgstr "Schlüssel hat nur eine Benutzerkennung."
-#: Src/wptKeyEditDlgs.cpp:1527
+#: Src/wptKeyEditDlgs.cpp:1499
msgid "This user ID has been already revoked."
msgstr "Diese Benutzerkennung wurde bereits widerrufen."
-#: Src/wptKeyEditDlgs.cpp:1533
+#: Src/wptKeyEditDlgs.cpp:1505
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -2415,47 +2408,47 @@
"Benutzerkennung %s.\r\n"
"Diese Benutzerkennung wirklich widerrufen?"
-#: Src/wptKeyEditDlgs.cpp:1557
+#: Src/wptKeyEditDlgs.cpp:1527
msgid "Revoke User ID"
msgstr "Benutzerkennung widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1561
+#: Src/wptKeyEditDlgs.cpp:1531
msgid "User ID successfully revoked"
msgstr "Benutzerkennung erfolgreich widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1603
+#: Src/wptKeyEditDlgs.cpp:1571
msgid "Could not set user ID preferences"
msgstr "Konnte die veränderter Benutzerkennung nicht speichern"
-#: Src/wptKeyEditDlgs.cpp:1643
+#: Src/wptKeyEditDlgs.cpp:1615
msgid "Primary"
msgstr "Primär"
-#: Src/wptKeyEditDlgs.cpp:1646
+#: Src/wptKeyEditDlgs.cpp:1618
msgid "User ID successfully flagged"
msgstr "Benutzerkennung erfolgreich gekennzeichnet"
-#: Src/wptKeyEditDlgs.cpp:1740
+#: Src/wptKeyEditDlgs.cpp:1712
msgid "No preferences available."
msgstr "Keine Präferenzen verfübar."
-#: Src/wptKeyEditDlgs.cpp:1744
+#: Src/wptKeyEditDlgs.cpp:1716
msgid "MDC feature"
msgstr "Unterstützt MDC"
-#: Src/wptKeyEditDlgs.cpp:1746
+#: Src/wptKeyEditDlgs.cpp:1718
msgid "user ID:"
msgstr "Benutzerkennung:"
-#: Src/wptKeyEditDlgs.cpp:1747 Src/wptKeyeditSetPrefDlg.cpp:116
+#: Src/wptKeyEditDlgs.cpp:1719 Src/wptKeyeditSetPrefDlg.cpp:116
msgid "Key Preferences"
msgstr "Schlüsseleinstellungen"
-#: Src/wptKeyEditDlgs.cpp:1812
+#: Src/wptKeyEditDlgs.cpp:1784
msgid "Primary user ID can not be deleted!"
msgstr "Primäre Benutzerkennung kann nicht gelöscht werden!"
-#: Src/wptKeyEditDlgs.cpp:1823
+#: Src/wptKeyEditDlgs.cpp:1795
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -2470,27 +2463,27 @@
"\n"
"Diese Benutzerkennung wirklich löschen?"
-#: Src/wptKeyEditDlgs.cpp:1843
-msgid "Delete user ID"
+#: Src/wptKeyEditDlgs.cpp:1812
+msgid "Delete User ID"
msgstr "Benutzerkennung löschen"
-#: Src/wptKeyEditDlgs.cpp:1847
+#: Src/wptKeyEditDlgs.cpp:1816
msgid "User ID successfully deleted"
msgstr "Benutzerkennung erfolgreich gelöscht"
-#: Src/wptKeyEditDlgs.cpp:1952 Src/wptKeyEditDlgs.cpp:1970
+#: Src/wptKeyEditDlgs.cpp:1907 Src/wptKeyEditDlgs.cpp:1925
msgid "Finished to compact key."
msgstr "Schlüssel erfolgreich bearbeitet."
-#: Src/wptKeyEditDlgs.cpp:2007
+#: Src/wptKeyEditDlgs.cpp:1967
msgid "Do you really want to make this sig exportable?"
msgstr "Wollen Sie diese Signatur wirklich exportierbar machen?"
-#: Src/wptKeyEditDlgs.cpp:2031 Src/wptKeysignDlg.cpp:393
+#: Src/wptKeyEditDlgs.cpp:1998 Src/wptKeysignDlg.cpp:401
msgid "Key successfully signed."
msgstr "Schlüssel erfolgreich signiert."
-#: Src/wptKeyEditDlgs.cpp:2094
+#: Src/wptKeyEditDlgs.cpp:2061
#, c-format
msgid ""
"Your keys is listed as a designated revoker for the key\n"
@@ -2508,28 +2501,28 @@
"erstellen wollen welches es erlaubt den gelisteten Schlüssel\n"
"zu widerrufen?"
-#: Src/wptKeyEditDlgs.cpp:2142
+#: Src/wptKeyEditDlgs.cpp:2105
msgid "Could not set subkey window procedure."
msgstr "Konnte \"subkey window procedure\" nicht setzen."
-#: Src/wptKeyEditDlgs.cpp:2155
+#: Src/wptKeyEditDlgs.cpp:2118
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:2164
+#: Src/wptKeyEditDlgs.cpp:2127
msgid "Command>"
msgstr "Kommando>"
-#: Src/wptKeyEditDlgs.cpp:2167
+#: Src/wptKeyEditDlgs.cpp:2130
msgid "&Revoke..."
msgstr "&Widerrufen..."
-#: Src/wptKeyEditDlgs.cpp:2210
+#: Src/wptKeyEditDlgs.cpp:2173
msgid "Please select a command."
msgstr "Bitte einen Befehl auswählen."
-#: Src/wptKeyEditDlgs.cpp:2214
+#: Src/wptKeyEditDlgs.cpp:2177
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"
@@ -2563,19 +2556,19 @@
"Bitte entscheiden Sie wie sehr sie dem Nutzer zutrauen andere "
"Nutzerschlüssel zu überprüfen (mittels Personalausweis, Fingerprint, ...)?"
-#: Src/wptKeyEditOwnertrustDlg.cpp:88
+#: Src/wptKeyEditOwnertrustDlg.cpp:82
msgid "Please choose one entry."
msgstr "Bitte wählen Sie einen Eintrag."
-#: Src/wptKeyEditOwnertrustDlg.cpp:88 Src/wptKeyEditOwnertrustDlg.cpp:95
-#: Src/wptKeyEditOwnertrustDlg.cpp:104 Src/wptKeyManagerDlg.cpp:938
-#: Src/wptKeyManagerDlg.cpp:1806 Src/wptKeyPropsDlg.cpp:292
-#: Src/wptOwnertrustDlg.cpp:97 Src/wptOwnertrustDlg.cpp:121
-#: Src/wptOwnertrustDlg.cpp:133
+#: Src/wptKeyEditOwnertrustDlg.cpp:83 Src/wptKeyEditOwnertrustDlg.cpp:89
+#: Src/wptKeyEditOwnertrustDlg.cpp:98 Src/wptKeyManagerDlg.cpp:938
+#: Src/wptKeyManagerDlg.cpp:1806 Src/wptKeyPropsDlg.cpp:294
+#: Src/wptOwnertrustDlg.cpp:97 Src/wptOwnertrustDlg.cpp:116
+#: Src/wptOwnertrustDlg.cpp:128
msgid "Ownertrust"
msgstr "Besitzervertrauen"
-#: Src/wptKeyEditOwnertrustDlg.cpp:94
+#: Src/wptKeyEditOwnertrustDlg.cpp:88
msgid "Do you really want to set this key to ultimate trust?"
msgstr "Diesen Schlüssel wirklich auf absolutes Vertrauen setzen?"
@@ -2587,16 +2580,16 @@
msgid "Key Generation - Progress Dialog"
msgstr "Schlüsselerzeugung - Fortschrittsdialog"
-#: Src/wptKeygenCBDlg.cpp:85 Src/wptKeygenDlg.cpp:297 Src/wptKeygenDlg.cpp:306
-#: Src/wptKeygenDlg.cpp:369 Src/wptKeygenDlg.cpp:408 Src/wptKeygenDlg.cpp:413
-#: Src/wptKeygenDlg.cpp:418 Src/wptKeygenDlg.cpp:423 Src/wptKeygenDlg.cpp:430
-#: Src/wptKeygenDlg.cpp:438 Src/wptKeygenDlg.cpp:452 Src/wptKeygenDlg.cpp:461
-#: Src/wptKeygenDlg.cpp:485 Src/wptKeygenDlg.cpp:581
-#: Src/wptKeyManagerDlg.cpp:1673 Src/wptPassphraseDlg.cpp:109
+#: Src/wptKeygenCBDlg.cpp:85 Src/wptKeygenDlg.cpp:298 Src/wptKeygenDlg.cpp:307
+#: Src/wptKeygenDlg.cpp:371 Src/wptKeygenDlg.cpp:410 Src/wptKeygenDlg.cpp:415
+#: Src/wptKeygenDlg.cpp:420 Src/wptKeygenDlg.cpp:425 Src/wptKeygenDlg.cpp:432
+#: Src/wptKeygenDlg.cpp:440 Src/wptKeygenDlg.cpp:454 Src/wptKeygenDlg.cpp:461
+#: Src/wptKeygenDlg.cpp:470 Src/wptKeygenDlg.cpp:491 Src/wptKeygenDlg.cpp:583
+#: Src/wptKeyManagerDlg.cpp:1673 Src/wptPassphraseDlg.cpp:145
msgid "Key Generation"
msgstr "Schlüsselerzeugung"
-#: Src/wptKeygenDlg.cpp:285
+#: Src/wptKeygenDlg.cpp:286
msgid ""
"It is STRONGLY recommend that you backup your keyrings because they both "
"contain VERY important data.\n"
@@ -2614,48 +2607,48 @@
"\n"
"Backup der Schlüsselbunde erstellen?"
-#: Src/wptKeygenDlg.cpp:290
+#: Src/wptKeygenDlg.cpp:291
msgid "WARNING - Important hint"
msgstr "WARNUNG - Wichtiger Hinweis"
-#: Src/wptKeygenDlg.cpp:292
+#: Src/wptKeygenDlg.cpp:293
msgid "Destination for Public Keyring"
msgstr "Speicherort für öff. Schlüsselbund"
-#: Src/wptKeygenDlg.cpp:298 Src/wptKeygenDlg.cpp:307
+#: Src/wptKeygenDlg.cpp:299 Src/wptKeygenDlg.cpp:308
#, c-format
msgid "Could not copy %s -> %s"
msgstr "Konnte %s nicht -> %s kopieren"
-#: Src/wptKeygenDlg.cpp:301
+#: Src/wptKeygenDlg.cpp:302
msgid "Destination for Secret Keyring"
msgstr "Speicherort für geheimen Schlüsselbund"
-#: Src/wptKeygenDlg.cpp:323
+#: Src/wptKeygenDlg.cpp:324
msgid "DSA and ELG (default)"
msgstr "DSA und ELG (Standard)"
-#: Src/wptKeygenDlg.cpp:324
+#: Src/wptKeygenDlg.cpp:325
msgid "DSA and RSA"
msgstr "DSA und RSA"
-#: Src/wptKeygenDlg.cpp:325
+#: Src/wptKeygenDlg.cpp:326
msgid "DSA sign only"
msgstr "DSA nur signieren"
-#: Src/wptKeygenDlg.cpp:326
+#: Src/wptKeygenDlg.cpp:327
msgid "RSA sign only"
msgstr "RSA nur signieren"
-#: Src/wptKeygenDlg.cpp:327
+#: Src/wptKeygenDlg.cpp:328
msgid "RSA sign and encrypt"
msgstr "RSA signieren + verschlüsseln"
-#: Src/wptKeygenDlg.cpp:328
+#: Src/wptKeygenDlg.cpp:329
msgid "RSA and RSA (PGP)"
msgstr "RSA und RSA (PGP)"
-#: Src/wptKeygenDlg.cpp:371
+#: Src/wptKeygenDlg.cpp:373
msgid ""
"NOTE: Key generation can be a lengthy process! Please wait until you get the "
"message that key generation was finished."
@@ -2663,70 +2656,70 @@
"Die Schlüsselerstellung kann eine Weile dauern! Bitte warten Sie, bis eine "
"Meldung über die Beendigung der Schlüsselerzeugung erscheint."
-#: Src/wptKeygenDlg.cpp:373
+#: Src/wptKeygenDlg.cpp:375
msgid "Subkey size in &bits"
msgstr "&Schlüsselgröße in Bits"
-#: Src/wptKeygenDlg.cpp:374
+#: Src/wptKeygenDlg.cpp:376
msgid "&Real name"
msgstr "&Ihr Name"
-#: Src/wptKeygenDlg.cpp:378
+#: Src/wptKeygenDlg.cpp:380
msgid "Key &type"
msgstr "Schlüssel &Typ"
-#: Src/wptKeygenDlg.cpp:407
+#: Src/wptKeygenDlg.cpp:409
msgid "Invalid value. Allowed values 1024-4096 bits."
msgstr "Ungültige Eingabe. Erlaubte Werte sind 1024-4096 Bit."
-#: Src/wptKeygenDlg.cpp:412
+#: Src/wptKeygenDlg.cpp:414
msgid "Do you really need such a large key?"
msgstr "Benötigen Sie wirklich solch einen großen Schlüssel?"
-#: Src/wptKeygenDlg.cpp:418 Src/wptKeygenDlg.cpp:558
+#: Src/wptKeygenDlg.cpp:420 Src/wptKeygenDlg.cpp:560
msgid "Please enter the name."
msgstr "Bitte geben Sie einen Namen ein."
-#: Src/wptKeygenDlg.cpp:422 Src/wptKeygenDlg.cpp:563
+#: Src/wptKeygenDlg.cpp:424 Src/wptKeygenDlg.cpp:565
msgid "Please do not enter the email address in the name field."
msgstr "Bitte geben Sie nicht die E-Mail-Adresse im Kommentarfeld ein."
-#: Src/wptKeygenDlg.cpp:429 Src/wptKeygenDlg.cpp:570
+#: Src/wptKeygenDlg.cpp:431 Src/wptKeygenDlg.cpp:572
msgid "Please enter a valid email address."
msgstr "Bitte geben Sie eine E-Mail-Adresse ein."
-#: Src/wptKeygenDlg.cpp:437
+#: Src/wptKeygenDlg.cpp:439
msgid "Please do NOT enter the email address in the comment field."
msgstr "Bitte geben Sie die E-Mail-Adresse NICHT im Kommentarfeld ein."
-#: Src/wptKeygenDlg.cpp:460 Src/wptKeyRevokeDlg.cpp:181
+#: Src/wptKeygenDlg.cpp:469 Src/wptKeyRevokeDlg.cpp:176
msgid "Please enter the passphrase."
msgstr "Bitte das Passwort eingeben."
-#: Src/wptKeygenDlg.cpp:488 Src/wptKeygenDlg.cpp:604
+#: Src/wptKeygenDlg.cpp:494 Src/wptKeygenDlg.cpp:603
msgid "Key Generation completed"
msgstr "Schlüsselerzeugung abgeschlossen"
# c:\oss\winpt-gpgme\src\wptKeygenDlg.cpp:589
-#: Src/wptKeygenDlg.cpp:531
+#: Src/wptKeygenDlg.cpp:537
msgid "&Prefer RSA keys"
msgstr "RSA Schlüssel &bervorzugen"
-#: Src/wptKeygenDlg.cpp:532
+#: Src/wptKeygenDlg.cpp:538
msgid "Real name:"
msgstr "Ihr Name:"
-#: Src/wptKeygenDlg.cpp:533
+#: Src/wptKeygenDlg.cpp:539
msgid "Email address:"
msgstr "E-Mail-&Adresse:"
# c:\oss\winpt-gpgme\src\wptKeygenDlg.cpp:592
-#: Src/wptKeygenDlg.cpp:534
+#: Src/wptKeygenDlg.cpp:540
msgid "Name and E-Mail Assignment"
msgstr "Name und E-Mail Zuweisung"
# c:\oss\winpt-gpgme\src\wptKeygenDlg.cpp:593
-#: Src/wptKeygenDlg.cpp:535
+#: Src/wptKeygenDlg.cpp:541
msgid ""
"Every key pair must have a name associated with it. The name and\n"
"email address let your correspondents that your public key they are\n"
@@ -2737,7 +2730,7 @@
"Schlüssel zu Ihen gehört."
# c:\oss\winpt-gpgme\src\wptKeygenDlg.cpp:594
-#: Src/wptKeygenDlg.cpp:536
+#: Src/wptKeygenDlg.cpp:542
msgid ""
"By accosiating an email address with your key pair, you will enable WinPT to "
"assist your correspondents in selecting the correct public\n"
@@ -2748,17 +2741,17 @@
"Schlüssel auswählen\n"
"wenn dise mit Ihnen kommunizieren wollen."
-#: Src/wptKeygenDlg.cpp:537 Src/wptKeygenDlg.cpp:559 Src/wptKeygenDlg.cpp:564
-#: Src/wptKeygenDlg.cpp:571 Src/wptKeygenDlg.cpp:577 Src/wptKeygenDlg.cpp:600
+#: Src/wptKeygenDlg.cpp:543 Src/wptKeygenDlg.cpp:561 Src/wptKeygenDlg.cpp:566
+#: Src/wptKeygenDlg.cpp:573 Src/wptKeygenDlg.cpp:579 Src/wptKeygenDlg.cpp:599
#: Src/wptKeyManagerDlg.cpp:1696
msgid "Key Generation Wizard"
msgstr "Schlüsselerzeugungs-Assistent"
-#: Src/wptKeygenDlg.cpp:539
+#: Src/wptKeygenDlg.cpp:545
msgid "E&xpert"
msgstr "E&xperte"
-#: Src/wptKeygenDlg.cpp:576
+#: Src/wptKeygenDlg.cpp:578
msgid "Please do not add '<' or '>' to the email address."
msgstr "Bitte nicht '<' oder '>' zu der E-Mail-Adresse hinzufueen."
@@ -3163,7 +3156,7 @@
msgstr "&Importieren..."
#: Src/wptKeyManagerDlg.cpp:956 Src/wptKeyManagerDlg.cpp:992
-#: Src/wptKeysigDlg.cpp:425
+#: Src/wptKeysigDlg.cpp:419
msgid "&Properties"
msgstr "&Eigenschaften"
@@ -3345,10 +3338,10 @@
msgid "Could not access public keyring"
msgstr "Konnte nicht auf öffentlichen Schlüsselbund zugreifen"
-#: Src/wptKeyManagerDlg.cpp:1567 Src/wptKeysignDlg.cpp:259
-#: Src/wptKeysignDlg.cpp:274 Src/wptKeysignDlg.cpp:354
-#: Src/wptKeysignDlg.cpp:369 Src/wptKeysignDlg.cpp:386
-#: Src/wptKeysignDlg.cpp:391 Src/wptKeysignDlg.cpp:393
+#: Src/wptKeyManagerDlg.cpp:1567 Src/wptKeysignDlg.cpp:282
+#: Src/wptKeysignDlg.cpp:296 Src/wptKeysignDlg.cpp:358
+#: Src/wptKeysignDlg.cpp:374 Src/wptKeysignDlg.cpp:391
+#: Src/wptKeysignDlg.cpp:396 Src/wptKeysignDlg.cpp:401
msgid "Key Signing"
msgstr "Schlüsselsignierung"
@@ -3357,9 +3350,9 @@
msgstr "Schlüssel ist bereits widerrufen!"
#: Src/wptKeyManagerDlg.cpp:1597 Src/wptKeyRevokeDlg.cpp:70
-#: Src/wptKeyRevokeDlg.cpp:80 Src/wptKeyRevokeDlg.cpp:169
-#: Src/wptKeyRevokeDlg.cpp:174 Src/wptKeyRevokeDlg.cpp:182
-#: Src/wptKeyRevokeDlg.cpp:191 Src/wptKeyRevokeDlg.cpp:196
+#: Src/wptKeyRevokeDlg.cpp:80 Src/wptKeyRevokeDlg.cpp:164
+#: Src/wptKeyRevokeDlg.cpp:169 Src/wptKeyRevokeDlg.cpp:177
+#: Src/wptKeyRevokeDlg.cpp:186 Src/wptKeyRevokeDlg.cpp:192
msgid "Key Revocation Cert"
msgstr "Schlüsselwiderruf Zertifikat"
@@ -3371,7 +3364,7 @@
msgid "Key Signature List"
msgstr "Schlüssel-Signatur-Liste"
-#: Src/wptKeyManagerDlg.cpp:1641 Src/wptKeyPropsDlg.cpp:288
+#: Src/wptKeyManagerDlg.cpp:1641 Src/wptKeyPropsDlg.cpp:290
msgid "Key Properties"
msgstr "Schlüsseleigenschaften"
@@ -3388,7 +3381,7 @@
msgid "Smart Card support is not available."
msgstr "SmartCard-Unterstützung ist nicht verfügbar."
-#: Src/wptKeyManagerDlg.cpp:1704 Src/wptKeyserverDlg.cpp:568
+#: Src/wptKeyManagerDlg.cpp:1704 Src/wptKeyserverDlg.cpp:576
msgid "Keyserver Access"
msgstr "Schlüsselserver-Zugriff"
@@ -3443,13 +3436,17 @@
msgid "Unknown"
msgstr "Unbekannt"
-#: Src/wptKeyPropsDlg.cpp:211
+#: Src/wptKeyPropsDlg.cpp:165
+msgid "Invalid"
+msgstr "Ungültig"
+
+#: Src/wptKeyPropsDlg.cpp:213
#, c-format
msgid "Card-Type: %s\r\n"
msgstr "Karten-Typ: %s\r\n"
# c:\oss\winpt-gpgme\src\wptKeyPropsDlg.cpp:214
-#: Src/wptKeyPropsDlg.cpp:250
+#: Src/wptKeyPropsDlg.cpp:252
#, c-format
msgid ""
"Type: %s\r\n"
@@ -3472,25 +3469,25 @@
"Cipher: %s\r\n"
"%s\r\n"
-#: Src/wptKeyPropsDlg.cpp:289
+#: Src/wptKeyPropsDlg.cpp:291
msgid "&Change"
msgstr "&Ändern"
-#: Src/wptKeyPropsDlg.cpp:290
+#: Src/wptKeyPropsDlg.cpp:292
msgid "&Revokers"
msgstr "&Widerrufer"
-#: Src/wptKeyPropsDlg.cpp:291
+#: Src/wptKeyPropsDlg.cpp:293
msgid "Change &Password"
msgstr "&Passwort ändern"
-#: Src/wptKeyPropsDlg.cpp:298
+#: Src/wptKeyPropsDlg.cpp:300
msgid "Photo-ID not validated."
msgstr "Foto-ID nicht geprüft."
# msgid "Unknown"
# msgstr "Unbekannt"
-#: Src/wptKeyPropsDlg.cpp:355
+#: Src/wptKeyPropsDlg.cpp:357
msgid ""
"The status of this key is 'revoked' or 'expired'.\n"
"You cannot change the ownertrust of such keys."
@@ -3498,7 +3495,7 @@
"Der Status dieses Schlüssels ist 'widerrufen' oder 'abgelaufen'.\n"
"Sie können das Vertrauen in solche Schlüssel nicht ändern."
-#: Src/wptKeyPropsDlg.cpp:361
+#: Src/wptKeyPropsDlg.cpp:363
msgid ""
"This is a non-valid key.\n"
"Modifying the ownertrust has no effect on such keys.\n"
@@ -3509,11 +3506,11 @@
"Das Vertrauen solcher Schlüssel zu ändern hat keinerlei Effekt.\n"
"Trotzdem fortfahren?"
-#: Src/wptKeyPropsDlg.cpp:379
+#: Src/wptKeyPropsDlg.cpp:381
msgid "Ownertrust successfully changed."
msgstr "Besitzervertrauen erfolgreich geändert."
-#: Src/wptKeyPropsDlg.cpp:392 Src/wptKeyRevokersDlg.cpp:162
+#: Src/wptKeyPropsDlg.cpp:394 Src/wptKeyRevokersDlg.cpp:160
msgid "Key Revokers"
msgstr "Schlüsselwiderrufer"
@@ -3545,15 +3542,15 @@
"Wenn jemand darauf Zugriff bekommt, kann er Ihren Schlüssel unbrauchbar "
"machen!"
-#: Src/wptKeyRevokeDlg.cpp:159
+#: Src/wptKeyRevokeDlg.cpp:154
msgid "Choose File to save the Certificate"
msgstr "Dateinamen für Zertifikat auswählen"
-#: Src/wptKeyRevokeDlg.cpp:168
+#: Src/wptKeyRevokeDlg.cpp:163
msgid "Please select a reason."
msgstr "Bitte geben Sie einen Grund an."
-#: Src/wptKeyRevokeDlg.cpp:195
+#: Src/wptKeyRevokeDlg.cpp:191
msgid "Revocation certificate generated."
msgstr "Widerrufzertifikat wurde erstellt."
@@ -3562,52 +3559,52 @@
msgid "Algorithm"
msgstr "Algorithmus"
-#: Src/wptKeyRevokersDlg.cpp:121 Src/wptKeyRevokersDlg.cpp:176
+#: Src/wptKeyRevokersDlg.cpp:121 Src/wptKeyRevokersDlg.cpp:174
msgid "Designated Key Revokers"
msgstr "Designierte Schlüsselwiderrufer"
-#: Src/wptKeyRevokersDlg.cpp:161
+#: Src/wptKeyRevokersDlg.cpp:159
msgid "Designated Revoker Keys"
msgstr "Liste der Schlüsselwiderrufer"
-#: Src/wptKeyRevokersDlg.cpp:177
+#: Src/wptKeyRevokersDlg.cpp:175
#, c-format
msgid "Do you want to retrieve %s via the default keyserver?"
msgstr "Wollen Sie '0x%s' wirklich vom Standard-Schlüsselserver empfangen?"
-#: Src/wptKeyserver.cpp:401
+#: Src/wptKeyserver.cpp:402
msgid "Network unreachable"
msgstr "Netzwerk unerreichbar"
-#: Src/wptKeyserver.cpp:404
+#: Src/wptKeyserver.cpp:405
msgid "Host unreachable"
msgstr "Rechner unerreichbar"
-#: Src/wptKeyserver.cpp:407
+#: Src/wptKeyserver.cpp:408
msgid "Could not resolve host name"
msgstr "Konnte Rechnernamen nicht auflösen"
-#: Src/wptKeyserver.cpp:410
+#: Src/wptKeyserver.cpp:411
msgid "Connection refused"
msgstr "Verbindung abgelehnt"
-#: Src/wptKeyserver.cpp:414
+#: Src/wptKeyserver.cpp:415
msgid "Connection timeout"
msgstr "Verbindung Time-Out"
-#: Src/wptKeyserver.cpp:418
+#: Src/wptKeyserver.cpp:419
msgid "Connection resetted by peer"
msgstr "Verbindung wurde zurückgesetzt"
-#: Src/wptKeyserver.cpp:421
+#: Src/wptKeyserver.cpp:422
msgid "Socket has been shutdown"
msgstr "Socket wurde runtergefahren"
-#: Src/wptKeyserver.cpp:599
+#: Src/wptKeyserver.cpp:600
msgid "Could not save keyserver.conf file"
msgstr "Konnte keyserver.conf Datei nicht speichern"
-#: Src/wptKeyserver.cpp:644
+#: Src/wptKeyserver.cpp:645
msgid ""
"Invalid proxy configuration.You need to set a user and a passwordto use "
"proxy authentication!"
@@ -3615,11 +3612,11 @@
"Ungültige Proxy-Konfiguration. Sie müssen einen Benutzernamen und ein "
"Passwort setzen, um Proxy-Authentifizierung nutzen zu können!"
-#: Src/wptKeyserver.cpp:647
+#: Src/wptKeyserver.cpp:648
msgid "Proxy Error"
msgstr "Proxyfehler"
-#: Src/wptKeyserver.cpp:672
+#: Src/wptKeyserver.cpp:673
msgid ""
"All entries of this file must have a valid prefix.\n"
"Currently HKP/HTTP, LDAP and FINGER are supported.\n"
@@ -3627,25 +3624,25 @@
"Alle Eintraäge in dieser Datei müssen über einen gültigen Präfix verfügen.\n"
"Aktuell werden HKP/HTTP, LDAP and FINGER unterstützt.\n"
-#: Src/wptKeyserver.cpp:674
+#: Src/wptKeyserver.cpp:675
msgid "Keyserver Error"
msgstr "Schlüsselserver-Fehler"
# c:\oss\winpt-gpgme\src\wptKeyserver.cpp:548
-#: Src/wptKeyserver.cpp:693
+#: Src/wptKeyserver.cpp:694
msgid "The keyserver limit is exceeded"
msgstr "Das Limit der Keyserver wurde erreicht"
-#: Src/wptKeyserver.cpp:694
+#: Src/wptKeyserver.cpp:695
msgid "Keyserver Warning"
msgstr "Keyserver Warnung"
-#: Src/wptKeyserverDlg.cpp:101
+#: Src/wptKeyserverDlg.cpp:103
#, c-format
msgid "Key '%s' successfully sent"
msgstr "Schlüssel '%s' erfolgreich versendet"
-#: Src/wptKeyserverDlg.cpp:135
+#: Src/wptKeyserverDlg.cpp:137
msgid ""
"WARNING: multiple keys matched request.\n"
"\n"
@@ -3653,19 +3650,19 @@
"WARNUNG: Mehrere Schlüssel wurden gefunden.\n"
"\n"
-#: Src/wptKeyserverDlg.cpp:140
+#: Src/wptKeyserverDlg.cpp:142
msgid "Key(s) successfully received but nothing was changed."
msgstr "Schlüssel erfolgreich empfangen, aber keine Änderungen durchgeführt."
-#: Src/wptKeyserverDlg.cpp:142
+#: Src/wptKeyserverDlg.cpp:144
msgid "Key(s) sucessfully received and imported."
msgstr "Schlüssel erfolgreich empfangen und importiert."
-#: Src/wptKeyserverDlg.cpp:158
+#: Src/wptKeyserverDlg.cpp:160
msgid "Imported Keys"
msgstr "Importierte Schlüssel"
-#: Src/wptKeyserverDlg.cpp:184
+#: Src/wptKeyserverDlg.cpp:186
msgid ""
"LDAP key import failed.\n"
"Please make sure you have an online connection and gpgkeys_ldap.exe is "
@@ -3675,134 +3672,134 @@
"Bitte stellen Sie sicher, dass Sie eine Internetverbindung hergestellt haben "
"und gpgkeys_ldap.exe installiert ist."
-#: Src/wptKeyserverDlg.cpp:196
+#: Src/wptKeyserverDlg.cpp:198
#, c-format
msgid "Finger key import failed: %s\n"
msgstr "Finger Schlüsselimport fehlgeschlagen: %s\n"
-#: Src/wptKeyserverDlg.cpp:210
+#: Src/wptKeyserverDlg.cpp:212
msgid "This is not a valid OpenPGP key."
msgstr "Dies ist kein gültiger OpenPGP-Schlüssel."
-#: Src/wptKeyserverDlg.cpp:352
+#: Src/wptKeyserverDlg.cpp:360
msgid "Please select one of the servers."
msgstr "Bitte einen der Server auswählen."
-#: Src/wptKeyserverDlg.cpp:357
+#: Src/wptKeyserverDlg.cpp:365
msgid "Only HTTP keyserver can be used."
msgstr "Nur HTTP-Schlüsselserver können benutzt werden."
-#: Src/wptKeyserverDlg.cpp:374
+#: Src/wptKeyserverDlg.cpp:382
msgid "DNS Name"
msgstr "DNS Name"
-#: Src/wptKeyserverDlg.cpp:375
+#: Src/wptKeyserverDlg.cpp:383
msgid "Port"
msgstr "Port"
-#: Src/wptKeyserverDlg.cpp:459
+#: Src/wptKeyserverDlg.cpp:467
msgid "No space for new keyserver entry"
msgstr "Kein Platz für neuen Keserver-Eintrag"
-#: Src/wptKeyserverDlg.cpp:480
+#: Src/wptKeyserverDlg.cpp:488
msgid "HKP Keyserver"
msgstr "HKP-Schlüsselserver"
-#: Src/wptKeyserverDlg.cpp:481
+#: Src/wptKeyserverDlg.cpp:489
msgid "LDAP Keyserver"
msgstr "LDAP-Schlüsselserver"
-#: Src/wptKeyserverDlg.cpp:482
+#: Src/wptKeyserverDlg.cpp:490
msgid "Finger Keyserver"
msgstr "Finger-Keyserver"
-#: Src/wptKeyserverDlg.cpp:507 Src/wptKeyserverDlg.cpp:724
-#: Src/wptKeyserverDlg.cpp:744
+#: Src/wptKeyserverDlg.cpp:515 Src/wptKeyserverDlg.cpp:732
+#: Src/wptKeyserverDlg.cpp:752
msgid "Edit Keyserver"
msgstr "Editiere Keyserver"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:707
-#: Src/wptKeyserverDlg.cpp:508 Src/wptKeyserverDlg.cpp:600
+#: Src/wptKeyserverDlg.cpp:516 Src/wptKeyserverDlg.cpp:608
msgid "&Add"
msgstr "&Hinzufügen"
-#: Src/wptKeyserverDlg.cpp:510
+#: Src/wptKeyserverDlg.cpp:518
msgid "Type:"
msgstr "Typ:"
-#: Src/wptKeyserverDlg.cpp:511
+#: Src/wptKeyserverDlg.cpp:519
msgid "Port:"
msgstr "Port:"
-#: Src/wptKeyserverDlg.cpp:512
+#: Src/wptKeyserverDlg.cpp:520
msgid "Host name:"
msgstr "Rechnername:"
-#: Src/wptKeyserverDlg.cpp:520
+#: Src/wptKeyserverDlg.cpp:528
msgid "Please enter a host name"
msgstr "Bitte einen Rechnernamen eingeben."
-#: Src/wptKeyserverDlg.cpp:525
+#: Src/wptKeyserverDlg.cpp:533
msgid "Invalid port, valid numbers are < 65535"
msgstr "Ungültiger Port, gültige Nummern sind < 65535"
-#: Src/wptKeyserverDlg.cpp:569 Src/wptKeyserverSearchDlg.cpp:65
+#: Src/wptKeyserverDlg.cpp:577 Src/wptKeyserverSearchDlg.cpp:65
msgid "&Receive"
msgstr "&Empfangen"
-#: Src/wptKeyserverDlg.cpp:571
+#: Src/wptKeyserverDlg.cpp:579
msgid "Send key (default is receiving)"
msgstr "Schlüssel senden (sonst empfangen)"
-#: Src/wptKeyserverDlg.cpp:573
+#: Src/wptKeyserverDlg.cpp:581
msgid "Please enter the key ID or email address you search for"
msgstr "Bitte die key ID oder E-Mail-Adresse angeben die gesucht wird"
-#: Src/wptKeyserverDlg.cpp:574
+#: Src/wptKeyserverDlg.cpp:582
msgid "&Search"
msgstr "&Suchen"
-#: Src/wptKeyserverDlg.cpp:575
+#: Src/wptKeyserverDlg.cpp:583
msgid "C&hange proxy"
msgstr "Proxy Ä&ndern"
-#: Src/wptKeyserverDlg.cpp:576
+#: Src/wptKeyserverDlg.cpp:584
msgid "Set &default"
msgstr "Als &Standard"
-#: Src/wptKeyserverDlg.cpp:601
+#: Src/wptKeyserverDlg.cpp:609
msgid "&Remove"
msgstr "&Entfernen"
-#: Src/wptKeyserverDlg.cpp:602
+#: Src/wptKeyserverDlg.cpp:610
msgid "&Edit"
msgstr "&Edtieren"
-#: Src/wptKeyserverDlg.cpp:636 Src/wptProxySettingsDlg.cpp:69
-#: Src/wptProxySettingsDlg.cpp:79 Src/wptProxySettingsDlg.cpp:84
-#: Src/wptProxySettingsDlg.cpp:91 Src/wptProxySettingsDlg.cpp:96
-#: Src/wptProxySettingsDlg.cpp:101 Src/wptProxySettingsDlg.cpp:157
-#: Src/wptProxySettingsDlg.cpp:197
+#: Src/wptKeyserverDlg.cpp:644 Src/wptProxySettingsDlg.cpp:73
+#: Src/wptProxySettingsDlg.cpp:83 Src/wptProxySettingsDlg.cpp:88
+#: Src/wptProxySettingsDlg.cpp:95 Src/wptProxySettingsDlg.cpp:100
+#: Src/wptProxySettingsDlg.cpp:105 Src/wptProxySettingsDlg.cpp:164
+#: Src/wptProxySettingsDlg.cpp:199
msgid "Proxy Settings"
msgstr "Proxy-Einstellungen"
-#: Src/wptKeyserverDlg.cpp:644 Src/wptKeyserverDlg.cpp:685
+#: Src/wptKeyserverDlg.cpp:652 Src/wptKeyserverDlg.cpp:693
msgid "Please enter the search pattern."
msgstr "Bitte Suchmuster eingeben."
-#: Src/wptKeyserverDlg.cpp:669
+#: Src/wptKeyserverDlg.cpp:677
msgid "Please select one of the keyservers."
msgstr "Bitte einen Keyserver auswählen."
-#: Src/wptKeyserverDlg.cpp:690
+#: Src/wptKeyserverDlg.cpp:698
msgid "Only keyids are allowed."
msgstr "Nur Schlüssel-IDs zulässig"
-#: Src/wptKeyserverDlg.cpp:696
+#: Src/wptKeyserverDlg.cpp:704
msgid "Only enter the name of the user."
msgstr "Nur den Namen des Benutzers eingeben."
-#: Src/wptKeyserverDlg.cpp:702
+#: Src/wptKeyserverDlg.cpp:710
msgid "Only email addresses or keyids are allowed."
msgstr "Es sind nur E-Mail-Adressen oder Schlüssel-IDs zulässig"
@@ -3831,7 +3828,7 @@
"\n"
"Wollen Sie wirklich fortfahren?"
-#: Src/wptKeysigDlg.cpp:94
+#: Src/wptKeysigDlg.cpp:95
#, c-format
msgid ""
"Are you really sure you want to delete this %s from\n"
@@ -3842,105 +3839,105 @@
"\n"
" \"%s\""
-#: Src/wptKeysigDlg.cpp:95
+#: Src/wptKeysigDlg.cpp:96
msgid "self signature"
msgstr "Selbstsignatur"
-#: Src/wptKeysigDlg.cpp:95
+#: Src/wptKeysigDlg.cpp:96
msgid "signature"
msgstr "Signatur"
-#: Src/wptKeysigDlg.cpp:130
+#: Src/wptKeysigDlg.cpp:131
#, c-format
msgid "%s %s signature"
msgstr "%s %s Signatur"
-#: Src/wptKeysigDlg.cpp:140 Src/wptKeysigDlg.cpp:216
-msgid "Signature Properties"
-msgstr "Signatureigenschaften"
-
-#: Src/wptKeysigDlg.cpp:141 Src/wptKeysigDlg.cpp:166 Src/wptKeysigDlg.cpp:212
+#: Src/wptKeysigDlg.cpp:139 Src/wptKeysigDlg.cpp:163 Src/wptKeysigDlg.cpp:205
msgid "Exportable"
msgstr "Exportierbar"
# c:\oss\winpt-gpgme\src\wptKeysigDlg.cpp:183
-#: Src/wptKeysigDlg.cpp:142 Src/wptKeysigDlg.cpp:213
+#: Src/wptKeysigDlg.cpp:140 Src/wptKeysigDlg.cpp:206
msgid "Non-revocably"
msgstr "Nicht widerrufbar"
# c:\oss\winpt-gpgme\src\wptSigList.cpp:49
-#: Src/wptKeysigDlg.cpp:145 Src/wptSigList.cpp:55
+#: Src/wptKeysigDlg.cpp:143 Src/wptSigList.cpp:55
msgid "Class"
msgstr "Klasse"
-#: Src/wptKeysigDlg.cpp:146
+#: Src/wptKeysigDlg.cpp:144
msgid "Expire date"
msgstr "Ablaufdatum"
-#: Src/wptKeysigDlg.cpp:147
+#: Src/wptKeysigDlg.cpp:145
msgid "Issuer key"
msgstr "Schlüssel des Ausstellers"
-#: Src/wptKeysigDlg.cpp:148
+#: Src/wptKeysigDlg.cpp:146
msgid "Issuer key ID"
msgstr "Key ID des Ausstellers"
-#: Src/wptKeysigDlg.cpp:149
+#: Src/wptKeysigDlg.cpp:147
msgid "Policy URL"
msgstr "Policy URL"
-#: Src/wptKeysigDlg.cpp:166
+#: Src/wptKeysigDlg.cpp:148 Src/wptKeysigDlg.cpp:209
+msgid "Signature Properties"
+msgstr "Signatureigenschaften"
+
+#: Src/wptKeysigDlg.cpp:163
msgid "Non-exportable"
msgstr "Nicht-exportierbar"
-#: Src/wptKeysigDlg.cpp:178 Src/wptSigList.cpp:153
+#: Src/wptKeysigDlg.cpp:176 Src/wptSigList.cpp:153
msgid " user ID not found"
msgstr " Benutzerkennung nicht gefunden"
-#: Src/wptKeysigDlg.cpp:313
+#: Src/wptKeysigDlg.cpp:308
msgid "Really receive all missing keys?"
msgstr "Alle fehlenden Schlüssel empfangen?"
-#: Src/wptKeysigDlg.cpp:347 Src/wptSigTreeDlg.cpp:112
+#: Src/wptKeysigDlg.cpp:342 Src/wptSigTreeDlg.cpp:115
msgid "Signature &Properties"
msgstr "Signatur-&Eigenschaften"
-#: Src/wptKeysigDlg.cpp:348
+#: Src/wptKeysigDlg.cpp:343
msgid "Signing &Key Properties"
msgstr "Signing Key-Eigenschaften"
# c:\oss\winpt-gpgme\src\wptKeysigDlg.cpp:294
-#: Src/wptKeysigDlg.cpp:386
+#: Src/wptKeysigDlg.cpp:380
msgid "Key not found in keyring, do you want to fetch it from the keyserver?"
msgstr ""
"Schlüssel nicht im Schlüsselbund gefunden, wollen Sie den Schlüssel "
"runterladen?"
# c:\oss\winpt-gpgme\src\wptKeysigDlg.cpp:301
-#: Src/wptKeysigDlg.cpp:397
+#: Src/wptKeysigDlg.cpp:391
msgid "Key not found in keyring."
msgstr "Schlüssel im Keyring nicht gefunden."
-#: Src/wptKeysigDlg.cpp:422
+#: Src/wptKeysigDlg.cpp:416
#, c-format
msgid "Signature List for \"%s\""
msgstr "Signaturliste für \"%s\""
-#: Src/wptKeysigDlg.cpp:424
+#: Src/wptKeysigDlg.cpp:418
msgid "&Receive Key"
msgstr "&Schlüssel empfangen"
-#: Src/wptKeysignDlg.cpp:72
+#: Src/wptKeysignDlg.cpp:73
#, c-format
msgid "%d-bit %s key, ID 0x%s"
msgstr "%d-bit %s Schlüssel, ID 0x%s"
-#: Src/wptKeysignDlg.cpp:167 Src/wptKeysignDlg.cpp:337
+#: Src/wptKeysignDlg.cpp:170 Src/wptKeysignDlg.cpp:341
msgid "Choose Signature Class"
msgstr "Signaturklasse auswählen"
# c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:156
-#: Src/wptKeysignDlg.cpp:168
+#: Src/wptKeysignDlg.cpp:172
msgid ""
"How carefully have you verified the key you are about to sign actually "
"belongs to the person? If you don't know what to anwser, use \"0\"."
@@ -3949,30 +3946,30 @@
"gehört? Wenn Sie nicht antworten wollen, bitte \"0\" benutzen."
# c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:157
-#: Src/wptKeysignDlg.cpp:169
+#: Src/wptKeysignDlg.cpp:174
msgid "(0) I will not answer (default)"
msgstr "(0) Ich möchte nicht darauf antworten"
# c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:158
-#: Src/wptKeysignDlg.cpp:170
+#: Src/wptKeysignDlg.cpp:176
msgid "(1) I have not checked at all."
msgstr "(1) Ich habe keine Überprüfung gemacht."
# c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:159
-#: Src/wptKeysignDlg.cpp:171
+#: Src/wptKeysignDlg.cpp:178
msgid "(2) I have done causal checking."
msgstr "(2) Ich habe einige Überprüfungen gemacht."
# c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:160
-#: Src/wptKeysignDlg.cpp:172
+#: Src/wptKeysignDlg.cpp:180
msgid "(3) I have done very careful checkings."
msgstr "(3) Ich habe gründliche Überprüfungen gemacht."
-#: Src/wptKeysignDlg.cpp:211
+#: Src/wptKeysignDlg.cpp:219
msgid "never"
msgstr "niemals"
-#: Src/wptKeysignDlg.cpp:262
+#: Src/wptKeysignDlg.cpp:270
#, c-format
msgid ""
"pub %d/%s created: %s expires: %s\n"
@@ -3993,47 +3990,47 @@
"\n"
"Wollen Sie diesen Schlüssel wirklich mit Ihrem eigenen Schlüssel signieren?\n"
-#: Src/wptKeysignDlg.cpp:274
+#: Src/wptKeysignDlg.cpp:282
msgid "No valid secret key found."
msgstr "Keine gültigen geheimen Schlüssel gefunden."
-#: Src/wptKeysignDlg.cpp:280
+#: Src/wptKeysignDlg.cpp:288
msgid "Sign local only (non exportable signature)"
msgstr "Nur lokal Signieren (nicht exportierbare Signatur)"
-#: Src/wptKeysignDlg.cpp:281
+#: Src/wptKeysignDlg.cpp:289
msgid "Signature expires on"
msgstr "Signatur läuft ab am"
# c:\oss\winpt-gpgme\src\wptKeysignDlg.cpp:250
-#: Src/wptKeysignDlg.cpp:282
+#: Src/wptKeysignDlg.cpp:290
msgid "Sign non-revocably"
msgstr "Nicht-widerrufbar signieren"
-#: Src/wptKeysignDlg.cpp:283
+#: Src/wptKeysignDlg.cpp:291
msgid "&Ask for certification level"
msgstr "Zertifizierungslevel erfragen"
-#: Src/wptKeysignDlg.cpp:286
+#: Src/wptKeysignDlg.cpp:294
msgid "&Show photo"
msgstr "&Photo anzeigen"
# c:\oss\winpt-gpgme\src\wptKeygenDlg.cpp:391
-#: Src/wptKeysignDlg.cpp:287 Src/wptPassphraseCB.cpp:96
-#: Src/wptPassphraseCB.cpp:102 Src/wptPassphraseDlg.cpp:68
-#: Src/wptPINDlg.cpp:54
+#: Src/wptKeysignDlg.cpp:295 Src/wptPassphraseCB.cpp:96
+#: Src/wptPassphraseCB.cpp:102 Src/wptPassphraseDlg.cpp:101
+#: Src/wptPINDlg.cpp:53
msgid "&Hide Typing"
msgstr "&Maskiere Eingabe"
-#: Src/wptKeysignDlg.cpp:353
+#: Src/wptKeysignDlg.cpp:357
msgid "You cannot select today as the expiration date."
msgstr "Das Ablaufdatum kann nicht auf den heutigen Tag gesetzt werden."
-#: Src/wptKeysignDlg.cpp:369
+#: Src/wptKeysignDlg.cpp:374
msgid "Could not get Key ID from key."
msgstr "Schlüssel-ID konnte nicht aus dem Schlüssel gelesen werden."
-#: Src/wptKeysignDlg.cpp:390
+#: Src/wptKeysignDlg.cpp:395
msgid "This key is already signed by your key"
msgstr "Der Schlüssel ist bereits mit Ihrem Schlüssel signiert"
@@ -4058,50 +4055,50 @@
msgid "Could not access secret keyring."
msgstr "Auf denn geheimen Schlüsselbund konnte nicht zugegriffen werden."
-#: Src/wptMainProc.cpp:254 Src/wptTextInputDlg.cpp:78
+#: Src/wptMainProc.cpp:254 Src/wptTextInputDlg.cpp:79
msgid "Text Input"
msgstr "Texteingabe"
-#: Src/wptMainProc.cpp:273
+#: Src/wptMainProc.cpp:275
msgid "Unknown OpenPGP type."
msgstr "Unbekannter OpenPGP-Typ."
-#: Src/wptMainProc.cpp:350
+#: Src/wptMainProc.cpp:352
msgid "Could not set current window mode hooks."
msgstr "Konnte \"Current Window\" Hooks nicht setzen."
-#: Src/wptMainProc.cpp:409
+#: Src/wptMainProc.cpp:411
msgid "Edit Clipboard"
msgstr "Zwischenablage bearbeiten"
-#: Src/wptMainProc.cpp:410
+#: Src/wptMainProc.cpp:412
msgid "About..."
msgstr "Über..."
-#: Src/wptMainProc.cpp:416 Src/wptMainProc.cpp:420
+#: Src/wptMainProc.cpp:418 Src/wptMainProc.cpp:422
msgid "Decrypt/Verify"
msgstr "Entschlüsseln/Überprüfen"
# c:\oss\winpt-gpgme\src\wptMainProc.cpp:414
-#: Src/wptMainProc.cpp:430
+#: Src/wptMainProc.cpp:432
msgid "Current Window"
msgstr "Aktuelles Fenster"
-#: Src/wptMainProc.cpp:486
+#: Src/wptMainProc.cpp:488
msgid "Remove all passphrases from cache?"
msgstr "Alle Passwörter aus Zwischenspeicher entfernen?"
-#: Src/wptMainProc.cpp:487 Src/wptProgressDlg.cpp:122 Src/wptRegistry.cpp:198
+#: Src/wptMainProc.cpp:489 Src/wptProgressDlg.cpp:122 Src/wptRegistry.cpp:198
msgid "WinPT"
msgstr "WinPT"
-#: Src/wptMainProc.cpp:497
+#: Src/wptMainProc.cpp:499
msgid "Could not access public keyring, exit WinPT?"
msgstr ""
"Auf den öffentlichen Schlüsselbund kann nicht zugegriffen werden.\n"
"WinPT beenden?"
-#: Src/wptMainProc.cpp:530
+#: Src/wptMainProc.cpp:532
#, c-format
msgid ""
"Make sure that the window contains text.\n"
@@ -4110,7 +4107,7 @@
"Stellen Sie sicher, dass das Fenster Text enthält.\n"
"%s."
-#: Src/wptMainProc.cpp:584 Src/wptPreferencesDlg.cpp:139
+#: Src/wptMainProc.cpp:586 Src/wptPreferencesDlg.cpp:139
msgid "WinPT Preferences"
msgstr "WinPT Einstellungen"
@@ -4124,28 +4121,28 @@
msgid "Could not sent mail."
msgstr "Konnte E-Mail nicht versenden."
-#: Src/wptMDSumDlg.cpp:103
+#: Src/wptMDSumDlg.cpp:111
msgid "Digest"
msgstr "Prüfsumme"
-#: Src/wptMDSumDlg.cpp:121
+#: Src/wptMDSumDlg.cpp:129
msgid "&Save..."
msgstr "&Speichern..."
-#: Src/wptMDSumDlg.cpp:123
+#: Src/wptMDSumDlg.cpp:131
msgid "Save to clipboard"
msgstr "In Ablage speichern"
-#: Src/wptMDSumDlg.cpp:124
+#: Src/wptMDSumDlg.cpp:132
msgid "Print Message Digest"
msgstr "Ausgabe Prüfsummen"
# c:\oss\winpt-gpgme\src\wptMDSumDlg.cpp:114
-#: Src/wptMDSumDlg.cpp:177
-msgid "Select file to save checksums"
+#: Src/wptMDSumDlg.cpp:180
+msgid "Select File to Save Checksums"
msgstr "Datei auswählen zum Speichern der Prüfsummen"
-#: Src/wptMDSumDlg.cpp:182
+#: Src/wptMDSumDlg.cpp:185
#, c-format
msgid "Checksums successfully saved in '%s'"
msgstr "Prüfsummen erfolgreich in '%s' gespeichert."
@@ -4160,19 +4157,19 @@
"speichern oder widerherzustellen. Dies könnte nützlich sein, da die Werte "
"nicht im Schlüsselbund gespeichert werden."
-#: Src/wptOwnertrustDlg.cpp:116
-msgid "Select file name for output"
-msgstr "Namen der Ausgabedatei wählen"
+#: Src/wptOwnertrustDlg.cpp:111
+msgid "Select File Name for Output"
+msgstr "Namen der Datei für Ausgabe wählen"
-#: Src/wptOwnertrustDlg.cpp:124
+#: Src/wptOwnertrustDlg.cpp:119
msgid "Ownertrust successfully exported."
msgstr "Besitzervertrauen erfolgreich exportiert."
-#: Src/wptOwnertrustDlg.cpp:128
-msgid "Select file name for input"
+#: Src/wptOwnertrustDlg.cpp:123
+msgid "Select File Name for Input"
msgstr "Wählen Sie einen Namen für die Eingabedatei"
-#: Src/wptOwnertrustDlg.cpp:136
+#: Src/wptOwnertrustDlg.cpp:131
msgid "Ownertrust succefully imported."
msgstr "Besitzervertrauen erfolgreich importiert."
@@ -4235,23 +4232,23 @@
"Schlüssel\n"
"Karte: %s"
-#: Src/wptPassphraseDlg.cpp:60 Src/wptPassphraseDlg.cpp:99
+#: Src/wptPassphraseDlg.cpp:89 Src/wptPassphraseDlg.cpp:135
msgid "Passphrase Dialog"
msgstr "Passwort Dialog"
-#: Src/wptPassphraseDlg.cpp:65
+#: Src/wptPassphraseDlg.cpp:94
msgid "Repeat Passphrase"
msgstr "Passwort erneut eingeben"
-#: Src/wptPassphraseDlg.cpp:67
+#: Src/wptPassphraseDlg.cpp:96
msgid "Enter Passphrase"
msgstr "Passwort eingeben"
-#: Src/wptPassphraseDlg.cpp:99
+#: Src/wptPassphraseDlg.cpp:134
msgid "Please enter a passphrase."
msgstr "Bitte ein Passwort eingeben."
-#: Src/wptPassphraseDlg.cpp:106
+#: Src/wptPassphraseDlg.cpp:142
msgid ""
"Your passphrase should be at least 8 characters long\n"
"and should contain non-alphabetic characters.\n"
@@ -4397,57 +4394,57 @@
msgid "Could not create progress thread."
msgstr "Konnte Fortschrittsthread nicht erstellen."
-#: Src/wptProxySettingsDlg.cpp:69
+#: Src/wptProxySettingsDlg.cpp:73
msgid "Invalid host/IP address."
msgstr "Ungültige IP-Adresse."
-#: Src/wptProxySettingsDlg.cpp:78
+#: Src/wptProxySettingsDlg.cpp:82
msgid "Please enter the proxy hostname."
msgstr "Bitte geben Sie den Proxy-Hostname ein."
-#: Src/wptProxySettingsDlg.cpp:84
+#: Src/wptProxySettingsDlg.cpp:88
msgid "Invalid port number."
msgstr "Ungültige Portnummer."
-#: Src/wptProxySettingsDlg.cpp:90
+#: Src/wptProxySettingsDlg.cpp:94
msgid "Please select a value from 0-65535 for the port"
msgstr "Bitte geben Sie für den Port einen Wert von 0-65535 ein"
-#: Src/wptProxySettingsDlg.cpp:95
+#: Src/wptProxySettingsDlg.cpp:99
msgid "When you want to use authentication, please fill out both fields."
msgstr ""
"Wenn Sie Authentifizierung nutzen wollen, füllen Sie bitte beide Felder aus."
-#: Src/wptProxySettingsDlg.cpp:100
+#: Src/wptProxySettingsDlg.cpp:104
msgid "Please enter a host name and a port."
msgstr "Bitte geben Sie den Hostname und Port ein."
-#: Src/wptProxySettingsDlg.cpp:151
+#: Src/wptProxySettingsDlg.cpp:158
msgid "Proxy host name or IP address"
msgstr "Proxy Rechnername oder IP Adresse"
-#: Src/wptProxySettingsDlg.cpp:152
+#: Src/wptProxySettingsDlg.cpp:159
msgid "Server requires &authentication"
msgstr "Server benötigt &Authentifikation"
-#: Src/wptProxySettingsDlg.cpp:153
+#: Src/wptProxySettingsDlg.cpp:160
msgid "User name"
msgstr "Benutzername"
-#: Src/wptProxySettingsDlg.cpp:154
+#: Src/wptProxySettingsDlg.cpp:161
msgid "Password"
msgstr "Passwort"
-#: Src/wptProxySettingsDlg.cpp:155
+#: Src/wptProxySettingsDlg.cpp:162
msgid "Proxy type"
msgstr "Proxy-Type"
-#: Src/wptProxySettingsDlg.cpp:156
+#: Src/wptProxySettingsDlg.cpp:163
msgid "Authentication"
msgstr "Authentifizierung"
# c:\oss\winpt-gpgme\src\wptProxySettingsDlg.cpp:156
-#: Src/wptProxySettingsDlg.cpp:196
+#: Src/wptProxySettingsDlg.cpp:198
msgid "Please fill out all required fields for authentication."
msgstr "Bitte füllen Sie alle benötigen Felder für die Authentifizierung aus."
@@ -4499,12 +4496,12 @@
msgid "Expiration"
msgstr "Ablauf"
-#: Src/wptSigTreeDlg.cpp:160
+#: Src/wptSigTreeDlg.cpp:164
#, c-format
msgid "Signature Tree for \"%s\" (0x%s)"
msgstr "Signaturliste für \"%s\" (0x%s)"
-#: Src/wptSigTreeDlg.cpp:162
+#: Src/wptSigTreeDlg.cpp:166
msgid "Edit..."
msgstr "Edit..."
@@ -4516,7 +4513,7 @@
msgid "Data is too large for copying."
msgstr "Die Daten sind zu groß zum Kopieren."
-#: Src/wptTextInputDlg.cpp:81
+#: Src/wptTextInputDlg.cpp:83
msgid "Enter the text that was signed"
msgstr "Geben Sie den signierten Text ein"
@@ -4544,6 +4541,15 @@
msgid "Signed"
msgstr "Signiert"
+#~ msgid "No subkey(s) found."
+#~ msgstr "Kein(e) Unterschlüssel gefunden."
+
+#~ msgid "No user ID(s) found."
+#~ msgstr "Keine Benutzerkennung(en) gefunden."
+
+#~ msgid "Primary subkey can not be deleted!"
+#~ msgstr "Primärer Unterschlüssel kann nicht gelöscht werden!"
+
#~ msgid "WinPT Verify"
#~ msgstr "WinPT Verifikation"
Modified: trunk/Po/jp.po
===================================================================
--- trunk/Po/jp.po 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Po/jp.po 2006-06-06 13:37:59 UTC (rev 225)
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: WinPT 0.10.2\n"
"Report-Msgid-Bugs-To: winpt at freakmail.de\n"
-"POT-Creation-Date: 2006-06-01 08:33+0200\n"
+"POT-Creation-Date: 2006-06-06 15:30+0200\n"
"PO-Revision-Date: 2005-12-22 07:28+0100\n"
"Last-Translator: Davar Pishva <dpishva at andrew.cmu.edu>\n"
"Language-Team: jp <jp at li.org>\n"
@@ -35,7 +35,7 @@
#: Src/WinPT.cpp:720 Src/WinPT.cpp:750 Src/WinPT.cpp:768
#: Src/wptCommonDlg.cpp:220 Src/wptErrors.cpp:141 Src/wptGPG.cpp:921
#: Src/wptGPG.cpp:933 Src/wptGPG.cpp:943 Src/wptGPG.cpp:954
-#: Src/wptMainProc.cpp:351 Src/wptMainProc.cpp:529
+#: Src/wptMainProc.cpp:353 Src/wptMainProc.cpp:531
msgid "WinPT Error"
msgstr "WinPT G["
@@ -46,7 +46,7 @@
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:173
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:180
-#: Src/WinPT.cpp:221 Src/wptKeyPropsDlg.cpp:357 Src/wptKeyPropsDlg.cpp:364
+#: Src/WinPT.cpp:221 Src/wptKeyPropsDlg.cpp:359 Src/wptKeyPropsDlg.cpp:366
msgid "WinPT Warning"
msgstr "WinPT x"
@@ -86,15 +86,15 @@
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:72
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:115
#: Src/WinPT.cpp:305 Src/WinPT.cpp:322 Src/WinPT.cpp:333
-#: Src/wptKeyManagerDlg.cpp:959 Src/wptKeyserver.cpp:600
-#: Src/wptKeyserverDlg.cpp:68 Src/wptKeyserverDlg.cpp:70
-#: Src/wptKeyserverDlg.cpp:187 Src/wptKeyserverDlg.cpp:195
-#: Src/wptKeyserverDlg.cpp:211 Src/wptKeyserverDlg.cpp:352
-#: Src/wptKeyserverDlg.cpp:358 Src/wptKeyserverDlg.cpp:460
-#: Src/wptKeyserverDlg.cpp:520 Src/wptKeyserverDlg.cpp:525
-#: Src/wptKeyserverDlg.cpp:645 Src/wptKeyserverDlg.cpp:670
-#: Src/wptKeyserverDlg.cpp:686 Src/wptKeyserverDlg.cpp:691
-#: Src/wptKeyserverDlg.cpp:697 Src/wptKeyserverDlg.cpp:703
+#: Src/wptKeyManagerDlg.cpp:959 Src/wptKeyserver.cpp:601
+#: Src/wptKeyserverDlg.cpp:70 Src/wptKeyserverDlg.cpp:72
+#: Src/wptKeyserverDlg.cpp:189 Src/wptKeyserverDlg.cpp:197
+#: Src/wptKeyserverDlg.cpp:213 Src/wptKeyserverDlg.cpp:360
+#: Src/wptKeyserverDlg.cpp:366 Src/wptKeyserverDlg.cpp:468
+#: Src/wptKeyserverDlg.cpp:528 Src/wptKeyserverDlg.cpp:533
+#: Src/wptKeyserverDlg.cpp:653 Src/wptKeyserverDlg.cpp:678
+#: Src/wptKeyserverDlg.cpp:694 Src/wptKeyserverDlg.cpp:699
+#: Src/wptKeyserverDlg.cpp:705 Src/wptKeyserverDlg.cpp:711
msgid "Keyserver"
msgstr "L[T[o["
@@ -223,7 +223,7 @@
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:1152
# c:\oss\winpt\src\wptMainProc.cpp:560
#: Src/wptAboutDlgs.cpp:96 Src/wptKeyManagerDlg.cpp:1790
-#: Src/wptMainProc.cpp:578
+#: Src/wptMainProc.cpp:580
msgid "About WinPT"
msgstr "WinPTÉ¢Ä"
@@ -274,14 +274,14 @@
msgid "&About GPG..."
msgstr "GPGÉ¢Ä..."
-#: Src/wptAboutDlgs.cpp:115 Src/wptKeyEditDlgs.cpp:2166
+#: Src/wptAboutDlgs.cpp:115 Src/wptKeyEditDlgs.cpp:2129
#: Src/wptKeyManagerDlg.cpp:965
msgid "&Help"
msgstr "wv(&H)"
# c:\oss\winpt\src\WinPT.cpp:340 c:\oss\winpt\src\wptCardDlg.cpp:98
# c:\oss\winpt\src\wptCardDlg.cpp:125 c:\oss\winpt\src\wptMainProc.cpp:389
-#: Src/wptCardDlg.cpp:141 Src/wptMainProc.cpp:406
+#: Src/wptCardDlg.cpp:141 Src/wptMainProc.cpp:408
msgid "Card Manager"
msgstr "J[h}l[W["
@@ -318,7 +318,7 @@
#: Src/wptCardDlg.cpp:696 Src/wptCardDlg.cpp:699 Src/wptCardDlg.cpp:724
#: Src/wptCardDlg.cpp:726 Src/wptCardDlg.cpp:731 Src/wptCardDlg.cpp:736
#: Src/wptCardDlg.cpp:800 Src/wptCardDlg.cpp:815 Src/wptCardDlg.cpp:818
-#: Src/wptMainProc.cpp:291
+#: Src/wptMainProc.cpp:293
msgid "Card Edit"
msgstr "J[hÒW"
@@ -359,7 +359,7 @@
msgstr "'User PIN'ðü͵ľ³¢B"
# c:\oss\winpt\src\wptCardDlg.cpp:366 c:\oss\winpt\src\wptPINDlg.cpp:47
-#: Src/wptCardDlg.cpp:421 Src/wptPINDlg.cpp:53
+#: Src/wptCardDlg.cpp:421 Src/wptPINDlg.cpp:51
msgid "Please enter the PIN"
msgstr "ÃØÔðü͵ľ³¢B"
@@ -385,12 +385,12 @@
"ܾ±¯Ü·©H"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:395
-#: Src/wptCardDlg.cpp:580 Src/wptKeyEditDlgs.cpp:516
+#: Src/wptCardDlg.cpp:580 Src/wptKeyEditDlgs.cpp:502
msgid "&Name"
msgstr "¼O(&N)"
# c:\oss\winpt\src\wptKeygenDlg.cpp:148
-#: Src/wptCardDlg.cpp:581 Src/wptKeygenDlg.cpp:375
+#: Src/wptCardDlg.cpp:581 Src/wptKeygenDlg.cpp:377
msgid "&Comment (optional)"
msgstr "IvViRg(&C)"
@@ -399,7 +399,7 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:886
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1141
# c:\oss\winpt\src\wptKeysigDlg.cpp:192
-#: Src/wptCardDlg.cpp:582 Src/wptKeygenDlg.cpp:377
+#: Src/wptCardDlg.cpp:582 Src/wptKeygenDlg.cpp:379
msgid "&Expire date"
msgstr "LøúÀ(&E)"
@@ -409,12 +409,12 @@
msgstr "J[hOpXt[Y"
# c:\oss\winpt\src\wptKeygenDlg.cpp:154
-#: Src/wptCardDlg.cpp:584 Src/wptKeyEditDlgs.cpp:654 Src/wptKeygenDlg.cpp:379
+#: Src/wptCardDlg.cpp:584 Src/wptKeyEditDlgs.cpp:639 Src/wptKeygenDlg.cpp:381
msgid "&Never"
msgstr "͸ÍÈ¢(&N)"
# c:\oss\winpt\src\wptKeygenDlg.cpp:149
-#: Src/wptCardDlg.cpp:585 Src/wptKeygenDlg.cpp:376
+#: Src/wptCardDlg.cpp:585 Src/wptKeygenDlg.cpp:378
msgid "Email &address"
msgstr "[AhX(&A)"
@@ -464,7 +464,7 @@
# c:\oss\winpt\src\wptCardDlg.cpp:580
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1153
# c:\oss\winpt\src\wptKeygenDlg.cpp:310
-#: Src/wptCardDlg.cpp:663 Src/wptKeyEditDlgs.cpp:1401
+#: Src/wptCardDlg.cpp:663 Src/wptKeyEditDlgs.cpp:1377 Src/wptKeygenDlg.cpp:453
msgid "The date you have chosen lies in the past."
msgstr " ȽÍIÎê½útªßÌàÌÅ·B"
@@ -508,7 +508,7 @@
msgstr "J[hÌÃØÔðÏX·é"
# c:\oss\winpt\src\wptPassphraseDlg.cpp:146
-#: Src/wptCardDlg.cpp:799 Src/wptPassphraseDlg.cpp:184
+#: Src/wptCardDlg.cpp:799 Src/wptPassphraseDlg.cpp:241
msgid "Passphrases do not match. Please try again."
msgstr "pXt[Yª}b`µÜ¹ñBà¤êxgCµÄ¾³¢B"
@@ -551,7 +551,7 @@
# c:\oss\winpt\src\wptClipDecryptDlg.cpp:48
#: Src/wptClipDecryptDlg.cpp:57 Src/wptClipDecryptDlg.cpp:130
-#: Src/wptKeyRevokersDlg.cpp:128 Src/wptKeyRevokersDlg.cpp:175
+#: Src/wptKeyRevokersDlg.cpp:129 Src/wptKeyRevokersDlg.cpp:173
#: Src/wptVerifyList.cpp:243 Src/wptVerifyList.cpp:303
msgid "user ID not found"
msgstr "[U[IDª©Â©èܹñŵ½B"
@@ -612,13 +612,13 @@
# c:\oss\winpt\src\wptMainProc.cpp:271 c:\oss\winpt\src\wptMainProc.cpp:279
# c:\oss\winpt\src\wptMainProc.cpp:406
#: Src/wptClipDecryptDlg.cpp:169 Src/wptClipVerifyDlg.cpp:157
-#: Src/wptClipVerifyDlg.cpp:170 Src/wptClipVerifyDlg.cpp:183
-#: Src/wptClipVerifyDlg.cpp:190 Src/wptClipVerifyDlg.cpp:222
-#: Src/wptClipVerifyDlg.cpp:234 Src/wptFileManager.cpp:1567
+#: Src/wptClipVerifyDlg.cpp:165 Src/wptClipVerifyDlg.cpp:196
+#: Src/wptClipVerifyDlg.cpp:207 Src/wptClipVerifyDlg.cpp:225
+#: Src/wptClipVerifyDlg.cpp:237 Src/wptFileManager.cpp:1567
#: Src/wptFileManager.cpp:1620 Src/wptFileManagerDlg.cpp:590
#: Src/wptFileVerifyDlg.cpp:82 Src/wptFileVerifyDlg.cpp:149
-#: Src/wptMainProc.cpp:182 Src/wptMainProc.cpp:248 Src/wptMainProc.cpp:260
-#: Src/wptMainProc.cpp:268 Src/wptMainProc.cpp:417
+#: Src/wptMainProc.cpp:182 Src/wptMainProc.cpp:248 Src/wptMainProc.cpp:262
+#: Src/wptMainProc.cpp:270 Src/wptMainProc.cpp:419
msgid "Verify"
msgstr "mF·é"
@@ -683,9 +683,9 @@
# c:\oss\winpt\src\wptKeyManager.cpp:274
# c:\oss\winpt\src\wptKeyManager.cpp:610
# c:\oss\winpt\src\wptKeyManager.cpp:852 c:\oss\winpt\src\wptSymEnc.cpp:52
-#: Src/wptClipDecryptDlg.cpp:219 Src/wptClipEncryptDlg.cpp:202
-#: Src/wptClipSignDlg.cpp:121 Src/wptClipSignDlg.cpp:265
-#: Src/wptClipSignEncDlg.cpp:197 Src/wptKeyManager.cpp:286
+#: Src/wptClipDecryptDlg.cpp:219 Src/wptClipEncryptDlg.cpp:210
+#: Src/wptClipSignDlg.cpp:121 Src/wptClipSignDlg.cpp:267
+#: Src/wptClipSignEncDlg.cpp:190 Src/wptKeyManager.cpp:286
#: Src/wptKeyManager.cpp:763 Src/wptKeyManager.cpp:955 Src/wptSymEnc.cpp:91
msgid "GnuPG Status: Finished"
msgstr "GunPGÌóÔFI¹µÜµ½"
@@ -700,23 +700,23 @@
# c:\oss\winpt\src\wptMainProc.cpp:171 c:\oss\winpt\src\wptMainProc.cpp:241
# c:\oss\winpt\src\wptMainProc.cpp:284 c:\oss\winpt\src\wptMainProc.cpp:489
# c:\oss\winpt\src\wptMainProc.cpp:493
-#: Src/wptClipEditDlg.cpp:58 Src/wptClipEditDlg.cpp:111
-#: Src/wptClipEditDlg.cpp:119 Src/wptClipEditDlg.cpp:158
-#: Src/wptClipEditDlg.cpp:167 Src/wptClipEditDlg.cpp:242
-#: Src/wptClipEditDlg.cpp:247 Src/wptFileManagerDlg.cpp:225
-#: Src/wptMainProc.cpp:162 Src/wptMainProc.cpp:230 Src/wptMainProc.cpp:273
-#: Src/wptMainProc.cpp:429 Src/wptMainProc.cpp:510 Src/wptMainProc.cpp:515
+#: Src/wptClipEditDlg.cpp:59 Src/wptClipEditDlg.cpp:112
+#: Src/wptClipEditDlg.cpp:120 Src/wptClipEditDlg.cpp:159
+#: Src/wptClipEditDlg.cpp:168 Src/wptClipEditDlg.cpp:238
+#: Src/wptClipEditDlg.cpp:243 Src/wptFileManagerDlg.cpp:225
+#: Src/wptMainProc.cpp:162 Src/wptMainProc.cpp:230 Src/wptMainProc.cpp:275
+#: Src/wptMainProc.cpp:431 Src/wptMainProc.cpp:512 Src/wptMainProc.cpp:517
msgid "Clipboard"
msgstr "Nbv{[h"
# c:\oss\winpt\src\wptClipEditDlg.cpp:114
# c:\oss\winpt\src\wptFileManager.cpp:309
-#: Src/wptClipEditDlg.cpp:101 Src/wptFileManager.cpp:569
+#: Src/wptClipEditDlg.cpp:102 Src/wptFileManager.cpp:569
msgid "File Open"
msgstr "t@CðJ"
# c:\oss\winpt\src\wptClipEditDlg.cpp:122
-#: Src/wptClipEditDlg.cpp:110
+#: Src/wptClipEditDlg.cpp:111
msgid ""
"The file you want to add is very large.\n"
"Still proceed?"
@@ -725,12 +725,12 @@
"»êÅ౯ܷ©H"
# c:\oss\winpt\src\wptClipEditDlg.cpp:149
-#: Src/wptClipEditDlg.cpp:149
+#: Src/wptClipEditDlg.cpp:150
msgid "File Save"
msgstr "t@CðÛ¶·é"
# c:\oss\winpt\src\wptKeyRevokeDlg.cpp:152
-#: Src/wptClipEditDlg.cpp:159 Src/wptFileManager.cpp:108
+#: Src/wptClipEditDlg.cpp:160 Src/wptFileManager.cpp:108
#, c-format
msgid ""
"\"%s\" already exists.\n"
@@ -741,31 +741,31 @@
# c:\oss\winpt\src\wptClipEditDlg.cpp:45 c:\oss\winpt\src\wptMainProc.cpp:181
# c:\oss\winpt\src\wptMainProc.cpp:249 c:\oss\winpt\src\wptMainProc.cpp:554
-#: Src/wptClipEditDlg.cpp:194 Src/wptMainProc.cpp:172 Src/wptMainProc.cpp:238
-#: Src/wptMainProc.cpp:572
+#: Src/wptClipEditDlg.cpp:195 Src/wptMainProc.cpp:172 Src/wptMainProc.cpp:238
+#: Src/wptMainProc.cpp:574
msgid "Clipboard Editor"
msgstr "Nbv{[hGfB^["
# c:\oss\winpt\src\wptClipEditDlg.cpp:46
-#: Src/wptClipEditDlg.cpp:195
+#: Src/wptClipEditDlg.cpp:196
msgid "&Copy"
msgstr "Rs[(&C)"
# c:\oss\winpt\src\wptClipEditDlg.cpp:47
-#: Src/wptClipEditDlg.cpp:196
+#: Src/wptClipEditDlg.cpp:197
msgid "Clea&r"
msgstr "ú»(&R)"
# c:\oss\winpt\src\wptClipEditDlg.cpp:48 c:\oss\winpt\src\wptGPGOptDlg.cpp:49
# c:\oss\winpt\src\wptTextInputDlg.cpp:83
-#: Src/wptClipEditDlg.cpp:197 Src/wptGPGOptDlg.cpp:53
-#: Src/wptTextInputDlg.cpp:85
+#: Src/wptClipEditDlg.cpp:198 Src/wptGPGOptDlg.cpp:56
+#: Src/wptTextInputDlg.cpp:87
msgid "&Load"
msgstr "[h(&L)"
# c:\oss\winpt\src\wptClipEditDlg.cpp:49 c:\oss\winpt\src\wptGPGOptDlg.cpp:48
-#: Src/wptClipEditDlg.cpp:198 Src/wptClipVerifyDlg.cpp:158
-#: Src/wptFileVerifyDlg.cpp:51 Src/wptGPGOptDlg.cpp:52
+#: Src/wptClipEditDlg.cpp:199 Src/wptClipVerifyDlg.cpp:197
+#: Src/wptFileVerifyDlg.cpp:51 Src/wptGPGOptDlg.cpp:55
msgid "&Save"
msgstr "Û¶(&S)"
@@ -774,17 +774,23 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:260
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:275
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:695
-#: Src/wptClipEditDlg.cpp:199
+#: Src/wptClipEditDlg.cpp:200
msgid "Add quotes"
msgstr "øpðÇÁ·é"
-#: Src/wptClipEditDlg.cpp:200 Src/wptKeyEditDlgs.cpp:2165
-#: Src/wptKeyserverDlg.cpp:577 Src/wptMDSumDlg.cpp:122
+#: Src/wptClipEditDlg.cpp:201 Src/wptKeyEditDlgs.cpp:2128
+#: Src/wptKeyserverDlg.cpp:585 Src/wptMDSumDlg.cpp:130
#: Src/wptOwnertrustDlg.cpp:103
msgid "&Close"
msgstr "妎(&C)"
-#: Src/wptClipEncryptDlg.cpp:115
+# c:\oss\winpt\src\wptClipDecryptDlg.cpp:48
+#: Src/wptClipEncryptDlg.cpp:99
+#, fuzzy
+msgid "key not found"
+msgstr "[U[IDª©Â©èܹñŵ½B"
+
+#: Src/wptClipEncryptDlg.cpp:118
msgid "Recipients unsuable for encryption:\n"
msgstr "óMÒ½¿ÍûgpÉK³È¢:\n"
@@ -794,44 +800,44 @@
# c:\oss\winpt\src\wptClipEncryptDlg.cpp:134
# c:\oss\winpt\src\wptClipEncryptDlg.cpp:168
# c:\oss\winpt\src\wptMainProc.cpp:153 c:\oss\winpt\src\wptMainProc.cpp:223
-#: Src/wptClipEncryptDlg.cpp:126 Src/wptClipEncryptDlg.cpp:146
-#: Src/wptClipEncryptDlg.cpp:192 Src/wptClipEncryptDlg.cpp:199
-#: Src/wptClipEncryptDlg.cpp:228 Src/wptMainProc.cpp:144
+#: Src/wptClipEncryptDlg.cpp:134 Src/wptClipEncryptDlg.cpp:154
+#: Src/wptClipEncryptDlg.cpp:200 Src/wptClipEncryptDlg.cpp:207
+#: Src/wptClipEncryptDlg.cpp:236 Src/wptMainProc.cpp:144
#: Src/wptMainProc.cpp:212
msgid "Encryption"
msgstr "û"
# c:\oss\winpt\src\wptFileSaveDlg.cpp:88
# c:\oss\winpt\src\wptFileSaveDlg.cpp:103
-#: Src/wptClipEncryptDlg.cpp:147
+#: Src/wptClipEncryptDlg.cpp:155
msgid "&Find"
msgstr "@(&F)"
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:114
-#: Src/wptClipEncryptDlg.cpp:148 Src/wptClipSignEncDlg.cpp:112
+#: Src/wptClipEncryptDlg.cpp:156 Src/wptClipSignEncDlg.cpp:112
#: Src/wptCommonDlg.cpp:76 Src/wptCommonDlg.cpp:253
#: Src/wptFileManagerDlg.cpp:97 Src/wptFileManagerDlg.cpp:231
#: Src/wptFileManagerDlg.cpp:300 Src/wptFileSaveDlg.cpp:58
#: Src/wptFirstRunDlg.cpp:47 Src/wptGPGPrefsDlg.cpp:157
-#: Src/wptKeyEditDlgs.cpp:360 Src/wptKeyEditDlgs.cpp:448
-#: Src/wptKeyEditDlgs.cpp:519 Src/wptKeyEditDlgs.cpp:655
-#: Src/wptKeyEditOwnertrustDlg.cpp:67 Src/wptKeygenDlg.cpp:380
-#: Src/wptKeygenDlg.cpp:538 Src/wptKeyRevokeDlg.cpp:81
-#: Src/wptKeyserverDlg.cpp:509 Src/wptKeyserverSearchDlg.cpp:66
-#: Src/wptKeysignDlg.cpp:285 Src/wptPassphraseCB.cpp:93
-#: Src/wptPassphraseDlg.cpp:69 Src/wptPINDlg.cpp:55
-#: Src/wptPreferencesDlg.cpp:134 Src/wptTextInputDlg.cpp:84
+#: Src/wptKeyEditDlgs.cpp:358 Src/wptKeyEditDlgs.cpp:439
+#: Src/wptKeyEditDlgs.cpp:505 Src/wptKeyEditDlgs.cpp:640
+#: Src/wptKeyEditOwnertrustDlg.cpp:67 Src/wptKeygenDlg.cpp:382
+#: Src/wptKeygenDlg.cpp:544 Src/wptKeyRevokeDlg.cpp:81
+#: Src/wptKeyserverDlg.cpp:517 Src/wptKeyserverSearchDlg.cpp:66
+#: Src/wptKeysignDlg.cpp:293 Src/wptPassphraseCB.cpp:93
+#: Src/wptPassphraseDlg.cpp:102 Src/wptPINDlg.cpp:54
+#: Src/wptPreferencesDlg.cpp:134 Src/wptTextInputDlg.cpp:86
msgid "&Cancel"
msgstr "LZ(&C)"
# c:\oss\winpt\src\wptClipEncryptDlg.cpp:109
# c:\oss\winpt\src\wptClipSignEncDlg.cpp:110
-#: Src/wptClipEncryptDlg.cpp:191 Src/wptClipSignEncDlg.cpp:157
+#: Src/wptClipEncryptDlg.cpp:199 Src/wptClipSignEncDlg.cpp:150
msgid "You must select at least one key."
msgstr "ÈÄàêÂÌL[ðIð·éKvª èÜ·B"
# c:\oss\winpt\src\wptClipEncryptDlg.cpp:168
-#: Src/wptClipEncryptDlg.cpp:228
+#: Src/wptClipEncryptDlg.cpp:236
#, c-format
msgid "No recipient found with '%s'"
msgstr "'%s'ÉæéóMÒª©Â©èܹñŵ½B"
@@ -844,8 +850,8 @@
# c:\oss\winpt\src\wptClipSignDlg.cpp:53
# c:\oss\winpt\src\wptClipSignDlg.cpp:138
# c:\oss\winpt\src\wptClipSignEncDlg.cpp:129
-#: Src/wptClipSignDlg.cpp:103 Src/wptClipSignDlg.cpp:222
-#: Src/wptClipSignEncDlg.cpp:176
+#: Src/wptClipSignDlg.cpp:103 Src/wptClipSignDlg.cpp:226
+#: Src/wptClipSignEncDlg.cpp:170
msgid "Could not get default key."
msgstr "KèL[ðæ¾·é±ÆªÅ«Ü¹ñŵ½B"
@@ -865,22 +871,22 @@
# c:\oss\winpt\src\wptMainProc.cpp:165 c:\oss\winpt\src\wptMainProc.cpp:229
#: Src/wptClipSignDlg.cpp:103 Src/wptClipSignDlg.cpp:111
#: Src/wptClipSignDlg.cpp:119 Src/wptClipSignDlg.cpp:153
-#: Src/wptClipSignDlg.cpp:163 Src/wptClipSignDlg.cpp:222
-#: Src/wptClipSignDlg.cpp:230 Src/wptClipSignDlg.cpp:249
-#: Src/wptClipSignDlg.cpp:260 Src/wptClipSignEncDlg.cpp:166
-#: Src/wptClipSignEncDlg.cpp:176 Src/wptFileManager.cpp:1081
+#: Src/wptClipSignDlg.cpp:159 Src/wptClipSignDlg.cpp:227
+#: Src/wptClipSignDlg.cpp:231 Src/wptClipSignDlg.cpp:251
+#: Src/wptClipSignDlg.cpp:262 Src/wptClipSignEncDlg.cpp:159
+#: Src/wptClipSignEncDlg.cpp:170 Src/wptFileManager.cpp:1081
#: Src/wptFileManager.cpp:1097 Src/wptFileManager.cpp:1387
#: Src/wptMainProc.cpp:156 Src/wptMainProc.cpp:218
msgid "Signing"
msgstr "¼"
# c:\oss\winpt\src\wptGPG.cpp:178
-#: Src/wptClipSignDlg.cpp:163
+#: Src/wptClipSignDlg.cpp:159
msgid "No useable signing key found"
msgstr "gpÅ«é¼·éL[ª©Â©èܹñŵ½B"
# c:\oss\winpt\src\wptClipSignDlg.cpp:147
-#: Src/wptClipSignDlg.cpp:231
+#: Src/wptClipSignDlg.cpp:232
#, c-format
msgid ""
"No key was chosen.\n"
@@ -894,35 +900,35 @@
# c:\oss\winpt\src\wptClipSignEncDlg.cpp:138
# c:\oss\winpt\src\wptClipSignEncDlg.cpp:148
# c:\oss\winpt\src\wptMainProc.cpp:159 c:\oss\winpt\src\wptMainProc.cpp:235
-#: Src/wptClipSignEncDlg.cpp:111 Src/wptClipSignEncDlg.cpp:158
-#: Src/wptClipSignEncDlg.cpp:185 Src/wptClipSignEncDlg.cpp:194
+#: Src/wptClipSignEncDlg.cpp:111 Src/wptClipSignEncDlg.cpp:151
+#: Src/wptClipSignEncDlg.cpp:179 Src/wptClipSignEncDlg.cpp:188
#: Src/wptMainProc.cpp:150 Src/wptMainProc.cpp:224
msgid "Sign & Encrypt"
msgstr "¼yÑû"
# c:\oss\winpt\src\wptClipSignEncDlg.cpp:71
-#: Src/wptClipSignEncDlg.cpp:121
+#: Src/wptClipSignEncDlg.cpp:119
msgid "Select key for signing"
msgstr "¼pÌL[ðIð"
# c:\oss\winpt\src\wptClipSignEncDlg.cpp:72
-#: Src/wptClipSignEncDlg.cpp:122
+#: Src/wptClipSignEncDlg.cpp:120
msgid "Signing key:"
msgstr "¼pÌL[:"
# c:\oss\winpt\src\wptClipSignEncDlg.cpp:119
# c:\oss\winpt\src\wptKeylist.cpp:923
-#: Src/wptClipSignEncDlg.cpp:166 Src/wptKeylist.cpp:1202
+#: Src/wptClipSignEncDlg.cpp:159 Src/wptKeylist.cpp:1202
msgid "No key was selected."
msgstr "L[ªIð³êÄܹñB"
# c:\oss\winpt\src\wptClipVerifyDlg.cpp:136
-#: Src/wptClipVerifyDlg.cpp:136
+#: Src/wptClipVerifyDlg.cpp:140
msgid "Signature Information"
msgstr "VOj`[Ìîñ"
# c:\oss\winpt\src\wptClipVerifyDlg.cpp:81
-#: Src/wptClipVerifyDlg.cpp:184
+#: Src/wptClipVerifyDlg.cpp:158
#, c-format
msgid ""
"Signature made %s using %s key ID 0x%s\n"
@@ -936,12 +942,12 @@
"L[T[o[©çL[ð澵ܷ©H"
# c:\oss\winpt\src\wptClipVerifyDlg.cpp:106
-#: Src/wptClipVerifyDlg.cpp:222
+#: Src/wptClipVerifyDlg.cpp:225
msgid "Invalid signature state."
msgstr "¼ÌóµÍ³øÅ·B"
# c:\oss\winpt\src\wptClipVerifyDlg.cpp:118
-#: Src/wptClipVerifyDlg.cpp:233
+#: Src/wptClipVerifyDlg.cpp:236
msgid "Could not extract key or signature information."
msgstr "L[ܽͼîñðæèo·±ÆªÅ«Ü¹ñŵ½B"
@@ -953,7 +959,7 @@
# c:\oss\winpt\src\wptFileSaveDlg.cpp:92
# c:\oss\winpt\src\wptFileSaveDlg.cpp:97
# c:\oss\winpt\src\wptFileSaveDlg.cpp:103
-#: Src/wptClipVerifyDlg.cpp:262 Src/wptFileSaveDlg.cpp:57
+#: Src/wptClipVerifyDlg.cpp:272 Src/wptFileSaveDlg.cpp:57
#: Src/wptFileSaveDlg.cpp:84 Src/wptFileSaveDlg.cpp:89
#: Src/wptFileSaveDlg.cpp:95 Src/wptFileSaveDlg.cpp:99
#: Src/wptFileSaveDlg.cpp:104 Src/wptFileSaveDlg.cpp:110
@@ -1015,36 +1021,35 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1561
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1568
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:1173
-#: Src/wptCommonDlg.cpp:134 Src/wptKeyEditDlgs.cpp:774
-#: Src/wptKeyEditDlgs.cpp:842 Src/wptKeyEditDlgs.cpp:882
-#: Src/wptKeyEditDlgs.cpp:895 Src/wptKeyEditDlgs.cpp:897
-#: Src/wptKeyEditDlgs.cpp:923 Src/wptKeyEditDlgs.cpp:954
-#: Src/wptKeyEditDlgs.cpp:987 Src/wptKeyEditDlgs.cpp:1031
-#: Src/wptKeyEditDlgs.cpp:1038 Src/wptKeyEditDlgs.cpp:1056
-#: Src/wptKeyEditDlgs.cpp:1067 Src/wptKeyEditDlgs.cpp:1115
-#: Src/wptKeyEditDlgs.cpp:1202 Src/wptKeyEditDlgs.cpp:1322
-#: Src/wptKeyEditDlgs.cpp:1326 Src/wptKeyEditDlgs.cpp:1330
-#: Src/wptKeyEditDlgs.cpp:1337 Src/wptKeyEditDlgs.cpp:1373
-#: Src/wptKeyEditDlgs.cpp:1377 Src/wptKeyEditDlgs.cpp:1387
-#: Src/wptKeyEditDlgs.cpp:1402 Src/wptKeyEditDlgs.cpp:1406
-#: Src/wptKeyEditDlgs.cpp:1448 Src/wptKeyEditDlgs.cpp:1453
-#: Src/wptKeyEditDlgs.cpp:1460 Src/wptKeyEditDlgs.cpp:1466
-#: Src/wptKeyEditDlgs.cpp:1471 Src/wptKeyEditDlgs.cpp:1516
-#: Src/wptKeyEditDlgs.cpp:1521 Src/wptKeyEditDlgs.cpp:1528
-#: Src/wptKeyEditDlgs.cpp:1535 Src/wptKeyEditDlgs.cpp:1538
-#: Src/wptKeyEditDlgs.cpp:1578 Src/wptKeyEditDlgs.cpp:1586
-#: Src/wptKeyEditDlgs.cpp:1603 Src/wptKeyEditDlgs.cpp:1623
-#: Src/wptKeyEditDlgs.cpp:1631 Src/wptKeyEditDlgs.cpp:1740
-#: Src/wptKeyEditDlgs.cpp:1778 Src/wptKeyEditDlgs.cpp:1813
-#: Src/wptKeyEditDlgs.cpp:1817 Src/wptKeyEditDlgs.cpp:1828
-#: Src/wptKeyEditDlgs.cpp:1950 Src/wptKeyEditDlgs.cpp:1952
-#: Src/wptKeyEditDlgs.cpp:1968 Src/wptKeyEditDlgs.cpp:1970
-#: Src/wptKeyEditDlgs.cpp:2003 Src/wptKeyEditDlgs.cpp:2008
-#: Src/wptKeyEditDlgs.cpp:2017 Src/wptKeyEditDlgs.cpp:2031
-#: Src/wptKeyEditDlgs.cpp:2035 Src/wptKeyEditDlgs.cpp:2102
-#: Src/wptKeyEditDlgs.cpp:2143 Src/wptKeyEditDlgs.cpp:2156
-#: Src/wptKeyEditDlgs.cpp:2170 Src/wptKeyEditDlgs.cpp:2210
-#: Src/wptKeyEditDlgs.cpp:2215 Src/wptKeyManagerDlg.cpp:993
+#: Src/wptCommonDlg.cpp:134 Src/wptKeyEditDlgs.cpp:754
+#: Src/wptKeyEditDlgs.cpp:822 Src/wptKeyEditDlgs.cpp:863
+#: Src/wptKeyEditDlgs.cpp:876 Src/wptKeyEditDlgs.cpp:878
+#: Src/wptKeyEditDlgs.cpp:904 Src/wptKeyEditDlgs.cpp:934
+#: Src/wptKeyEditDlgs.cpp:967 Src/wptKeyEditDlgs.cpp:1011
+#: Src/wptKeyEditDlgs.cpp:1018 Src/wptKeyEditDlgs.cpp:1036
+#: Src/wptKeyEditDlgs.cpp:1047 Src/wptKeyEditDlgs.cpp:1298
+#: Src/wptKeyEditDlgs.cpp:1303 Src/wptKeyEditDlgs.cpp:1307
+#: Src/wptKeyEditDlgs.cpp:1314 Src/wptKeyEditDlgs.cpp:1348
+#: Src/wptKeyEditDlgs.cpp:1353 Src/wptKeyEditDlgs.cpp:1363
+#: Src/wptKeyEditDlgs.cpp:1378 Src/wptKeyEditDlgs.cpp:1382
+#: Src/wptKeyEditDlgs.cpp:1422 Src/wptKeyEditDlgs.cpp:1427
+#: Src/wptKeyEditDlgs.cpp:1434 Src/wptKeyEditDlgs.cpp:1440
+#: Src/wptKeyEditDlgs.cpp:1445 Src/wptKeyEditDlgs.cpp:1488
+#: Src/wptKeyEditDlgs.cpp:1493 Src/wptKeyEditDlgs.cpp:1500
+#: Src/wptKeyEditDlgs.cpp:1507 Src/wptKeyEditDlgs.cpp:1510
+#: Src/wptKeyEditDlgs.cpp:1548 Src/wptKeyEditDlgs.cpp:1556
+#: Src/wptKeyEditDlgs.cpp:1571 Src/wptKeyEditDlgs.cpp:1592
+#: Src/wptKeyEditDlgs.cpp:1603 Src/wptKeyEditDlgs.cpp:1712
+#: Src/wptKeyEditDlgs.cpp:1750 Src/wptKeyEditDlgs.cpp:1785
+#: Src/wptKeyEditDlgs.cpp:1790 Src/wptKeyEditDlgs.cpp:1800
+#: Src/wptKeyEditDlgs.cpp:1905 Src/wptKeyEditDlgs.cpp:1907
+#: Src/wptKeyEditDlgs.cpp:1923 Src/wptKeyEditDlgs.cpp:1925
+#: Src/wptKeyEditDlgs.cpp:1960 Src/wptKeyEditDlgs.cpp:1968
+#: Src/wptKeyEditDlgs.cpp:1984 Src/wptKeyEditDlgs.cpp:1998
+#: Src/wptKeyEditDlgs.cpp:2002 Src/wptKeyEditDlgs.cpp:2069
+#: Src/wptKeyEditDlgs.cpp:2106 Src/wptKeyEditDlgs.cpp:2119
+#: Src/wptKeyEditDlgs.cpp:2133 Src/wptKeyEditDlgs.cpp:2173
+#: Src/wptKeyEditDlgs.cpp:2178 Src/wptKeyManagerDlg.cpp:993
#: Src/wptKeyManagerDlg.cpp:1814
msgid "Key Edit"
msgstr "L[ÌÒW"
@@ -1054,7 +1059,7 @@
msgstr "ó]·éL[T[o[ðüÍ·é"
# c:\oss\winpt\src\wptGPGPrefsDlg.cpp:210
-#: Src/wptCommonDlg.cpp:211 Src/wptGPGPrefsDlg.cpp:334
+#: Src/wptCommonDlg.cpp:211 Src/wptGPGPrefsDlg.cpp:330
msgid "Choose Locale Directory"
msgstr "'Locale'ÃÞ¨Ú¸ÄØðIðµÄ¾³¢"
@@ -1075,7 +1080,7 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:144
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:166
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:890
-#: Src/wptCommonDlg.cpp:252
+#: Src/wptCommonDlg.cpp:252 Src/wptPassphraseDlg.cpp:103 Src/wptPINDlg.cpp:55
msgid "&OK"
msgstr "&OK"
@@ -1319,8 +1324,8 @@
#: Src/wptFileManager.cpp:1473 Src/wptFileManager.cpp:1500
#: Src/wptFileManager.cpp:1519 Src/wptFileManager.cpp:1771
#: Src/wptFileManager.cpp:1833 Src/wptFileManagerDlg.cpp:536
-#: Src/wptFileManagerDlg.cpp:635 Src/wptFileStatDlg.cpp:152
-#: Src/wptMainProc.cpp:404 Src/wptMDSumDlg.cpp:181
+#: Src/wptFileManagerDlg.cpp:635 Src/wptFileStatDlg.cpp:149
+#: Src/wptMainProc.cpp:406 Src/wptMDSumDlg.cpp:184
msgid "File Manager"
msgstr "t@C}l[W["
@@ -1356,7 +1361,7 @@
# c:\oss\winpt\src\wptFileManager.cpp:179
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:810
# c:\oss\winpt\src\wptVerifyList.cpp:76 c:\oss\winpt\src\wptVerifyList.cpp:84
-#: Src/wptFileManager.cpp:382 Src/wptKeyEditDlgs.cpp:1101
+#: Src/wptFileManager.cpp:382 Src/wptKeyEditDlgs.cpp:1081
#: Src/wptVerifyList.cpp:161
msgid "Status"
msgstr "óµ"
@@ -1365,8 +1370,8 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:919
# c:\oss\winpt\src\wptKeyRevokersDlg.cpp:43
# c:\oss\winpt\src\wptMDSumDlg.cpp:53 c:\oss\winpt\src\wptVerifyList.cpp:75
-#: Src/wptFileManager.cpp:383 Src/wptKeyEditDlgs.cpp:1193
-#: Src/wptKeyRevokersDlg.cpp:57 Src/wptMDSumDlg.cpp:104
+#: Src/wptFileManager.cpp:383 Src/wptKeyEditDlgs.cpp:1171
+#: Src/wptKeyRevokersDlg.cpp:57 Src/wptMDSumDlg.cpp:112
#: Src/wptVerifyList.cpp:160
msgid "Name"
msgstr "¼O"
@@ -1399,8 +1404,8 @@
# c:\oss\winpt\src\wptFileManager.cpp:779
# c:\oss\winpt\src\wptFileStatDlg.cpp:225
-#: Src/wptFileManager.cpp:1007 Src/wptFileStatDlg.cpp:274
-#: Src/wptFileStatDlg.cpp:281
+#: Src/wptFileManager.cpp:1007 Src/wptFileStatDlg.cpp:273
+#: Src/wptFileStatDlg.cpp:279
msgid "File Status"
msgstr "t@CÌóÔ"
@@ -1421,7 +1426,7 @@
# c:\oss\winpt\src\wptMainProc.cpp:211 c:\oss\winpt\src\wptMainProc.cpp:410
#: Src/wptFileManager.cpp:1111 Src/wptFileManager.cpp:1423
#: Src/wptFileManagerDlg.cpp:588 Src/wptMainProc.cpp:200
-#: Src/wptMainProc.cpp:414 Src/wptMainProc.cpp:421
+#: Src/wptMainProc.cpp:416 Src/wptMainProc.cpp:423
msgid "Sign"
msgstr "¼"
@@ -1429,7 +1434,7 @@
# c:\oss\winpt\src\wptFileManagerDlg.cpp:401
# c:\oss\winpt\src\wptMainProc.cpp:403 c:\oss\winpt\src\wptMainProc.cpp:407
#: Src/wptFileManager.cpp:1124 Src/wptFileManagerDlg.cpp:586
-#: Src/wptMainProc.cpp:413 Src/wptMainProc.cpp:418
+#: Src/wptMainProc.cpp:415 Src/wptMainProc.cpp:420
msgid "Encrypt"
msgstr "öJû"
@@ -1438,7 +1443,7 @@
# c:\oss\winpt\src\wptFileManager.cpp:919
# c:\oss\winpt\src\wptMainProc.cpp:401
#: Src/wptFileManager.cpp:1151 Src/wptFileManager.cpp:1184
-#: Src/wptFileManager.cpp:1189 Src/wptMainProc.cpp:412
+#: Src/wptFileManager.cpp:1189 Src/wptMainProc.cpp:414
msgid "Symmetric"
msgstr "¤Êû"
@@ -1532,7 +1537,7 @@
#: Src/wptImportList.cpp:410 Src/wptImportList.cpp:420
#: Src/wptImportList.cpp:428 Src/wptImportList.cpp:437
#: Src/wptKeyManager.cpp:460 Src/wptKeyManager.cpp:471
-#: Src/wptKeyManager.cpp:599 Src/wptKeyserverDlg.cpp:219
+#: Src/wptKeyManager.cpp:599 Src/wptKeyserverDlg.cpp:221
msgid "Import"
msgstr "C|[g"
@@ -1563,7 +1568,7 @@
# c:\oss\winpt\src\wptFileManager.cpp:1335
# c:\oss\winpt\src\wptKeyserverDlg.cpp:79
#: Src/wptFileManager.cpp:1699 Src/wptFileManager.cpp:1722
-#: Src/wptKeyserverDlg.cpp:90
+#: Src/wptKeyserverDlg.cpp:92
msgid "Export"
msgstr "GLX|[g"
@@ -1580,9 +1585,9 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1113
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1177
# c:\oss\winpt\src\wptKeyserverDlg.cpp:90
-#: Src/wptFileManager.cpp:1726 Src/wptKeyEditDlgs.cpp:1081
-#: Src/wptKeyEditDlgs.cpp:1354 Src/wptKeyEditDlgs.cpp:1427
-#: Src/wptKeyserverDlg.cpp:102
+#: Src/wptFileManager.cpp:1726 Src/wptKeyEditDlgs.cpp:1061
+#: Src/wptKeyEditDlgs.cpp:1329 Src/wptKeyEditDlgs.cpp:1401
+#: Src/wptKeyserverDlg.cpp:104
msgid "GnuPG status"
msgstr "GnuPGÌóÔ"
@@ -1670,7 +1675,7 @@
# c:\oss\winpt\src\wptFileManagerDlg.cpp:190
# c:\oss\winpt\src\wptKeyManager.cpp:408
-#: Src/wptFileManagerDlg.cpp:216 Src/wptFileStatDlg.cpp:281
+#: Src/wptFileManagerDlg.cpp:216 Src/wptFileStatDlg.cpp:279
#: Src/wptKeyManager.cpp:424
msgid "No valid OpenPGP data found."
msgstr "LøÈOpenPGPf[^ª©Â©èܹñŵ½B"
@@ -1747,8 +1752,8 @@
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:1097
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:1115
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:115
-#: Src/wptFileManagerDlg.cpp:345 Src/wptKeyEditDlgs.cpp:1326
-#: Src/wptKeyEditDlgs.cpp:1377 Src/wptKeyEditDlgs.cpp:1453
+#: Src/wptFileManagerDlg.cpp:345 Src/wptKeyEditDlgs.cpp:1303
+#: Src/wptKeyEditDlgs.cpp:1353 Src/wptKeyEditDlgs.cpp:1427
#: Src/wptKeyManager.cpp:683 Src/wptKeyManager.cpp:784
#: Src/wptKeyManager.cpp:818 Src/wptKeyManagerDlg.cpp:1558
#: Src/wptKeyManagerDlg.cpp:1574 Src/wptKeyManagerDlg.cpp:1602
@@ -1768,7 +1773,7 @@
msgstr "%d IuWFNgª}[N³êܵ½B"
# c:\oss\winpt\src\wptFileManagerDlg.cpp:350
-#: Src/wptFileManagerDlg.cpp:503 Src/wptMainProc.cpp:542
+#: Src/wptFileManagerDlg.cpp:503 Src/wptMainProc.cpp:544
msgid "File Manager (use drag & drop to add files)"
msgstr "t@C}l[W[(hbOEAhEhbvðgpµÄÇÁ·é)"
@@ -1818,7 +1823,7 @@
# c:\oss\winpt\src\wptFileManagerDlg.cpp:404
# c:\oss\winpt\src\wptMainProc.cpp:404 c:\oss\winpt\src\wptMainProc.cpp:408
#: Src/wptFileManagerDlg.cpp:513 Src/wptFileManagerDlg.cpp:589
-#: Src/wptMainProc.cpp:415 Src/wptMainProc.cpp:419
+#: Src/wptMainProc.cpp:417 Src/wptMainProc.cpp:421
msgid "Sign && Encrypt"
msgstr "¼yÑû"
@@ -1845,7 +1850,7 @@
# c:\oss\winpt\src\wptFileManagerDlg.cpp:364
# c:\oss\winpt\src\wptMainProc.cpp:400
-#: Src/wptFileManagerDlg.cpp:518 Src/wptMainProc.cpp:411
+#: Src/wptFileManagerDlg.cpp:518 Src/wptMainProc.cpp:413
msgid "Exit"
msgstr "I¹"
@@ -2077,12 +2082,12 @@
# c:\oss\winpt\src\wptPreferencesDlg.cpp:270
# c:\oss\winpt\src\wptPreferencesDlg.cpp:317
# c:\oss\winpt\src\wptRegistry.cpp:492
-#: Src/wptGPG.cpp:888 Src/wptGPGPrefsDlg.cpp:216 Src/wptGPGPrefsDlg.cpp:222
-#: Src/wptGPGPrefsDlg.cpp:228 Src/wptGPGPrefsDlg.cpp:234
-#: Src/wptGPGPrefsDlg.cpp:239 Src/wptGPGPrefsDlg.cpp:244
-#: Src/wptGPGPrefsDlg.cpp:250 Src/wptGPGPrefsDlg.cpp:264
-#: Src/wptKeyEditDlgs.cpp:1745 Src/wptKeyManagerDlg.cpp:958
-#: Src/wptMainProc.cpp:431 Src/wptPreferencesDlg.cpp:225
+#: Src/wptGPG.cpp:888 Src/wptGPGPrefsDlg.cpp:211 Src/wptGPGPrefsDlg.cpp:217
+#: Src/wptGPGPrefsDlg.cpp:223 Src/wptGPGPrefsDlg.cpp:229
+#: Src/wptGPGPrefsDlg.cpp:234 Src/wptGPGPrefsDlg.cpp:239
+#: Src/wptGPGPrefsDlg.cpp:245 Src/wptGPGPrefsDlg.cpp:259
+#: Src/wptKeyEditDlgs.cpp:1717 Src/wptKeyManagerDlg.cpp:958
+#: Src/wptMainProc.cpp:433 Src/wptPreferencesDlg.cpp:225
#: Src/wptPreferencesDlg.cpp:270 Src/wptPreferencesDlg.cpp:282
#: Src/wptPreferencesDlg.cpp:295 Src/wptPreferencesDlg.cpp:326
#: Src/wptRegistry.cpp:596
@@ -2200,43 +2205,44 @@
msgstr "Løȼi³øÈL[j"
# c:\oss\winpt\src\wptGPGOptDlg.cpp:44
-#: Src/wptGPGOptDlg.cpp:49 Src/wptGPGOptDlg.cpp:99
+#: Src/wptGPGOptDlg.cpp:48 Src/wptGPGOptDlg.cpp:97
msgid "Could not load GnuPG config file!"
msgstr "GnuPG±¤¹¢t@Cðæ¾·é±ÆªÅ«Ü¹ñŵ½B"
+# c:\oss\winpt\src\wptGPG.cpp:762
+#: Src/wptGPGOptDlg.cpp:49 Src/wptGPGOptDlg.cpp:69 Src/wptGPGOptDlg.cpp:75
+#: Src/wptGPGOptDlg.cpp:80 Src/wptGPGOptDlg.cpp:84 Src/wptGPGOptDlg.cpp:91
+#: Src/wptGPGOptDlg.cpp:97
+msgid "GPG Config"
+msgstr "GPG±¤¹¢"
+
# c:\oss\winpt\src\wptGPG.cpp:737
-#: Src/wptGPGOptDlg.cpp:51
+#: Src/wptGPGOptDlg.cpp:54
msgid "GnuPG Configuration File"
msgstr "GnuPG±¤¹¢t@C"
# c:\oss\winpt\src\wptGPGOptDlg.cpp:68
-#: Src/wptGPGOptDlg.cpp:71
+#: Src/wptGPGOptDlg.cpp:69
msgid "The 'gpg.conf' file is not loaded."
msgstr "'gpg.conf' t@Cª[h³êܹñŵ½B"
-# c:\oss\winpt\src\wptGPG.cpp:762
-#: Src/wptGPGOptDlg.cpp:71 Src/wptGPGOptDlg.cpp:77 Src/wptGPGOptDlg.cpp:82
-#: Src/wptGPGOptDlg.cpp:86 Src/wptGPGOptDlg.cpp:93 Src/wptGPGOptDlg.cpp:99
-msgid "GPG Config"
-msgstr "GPG±¤¹¢"
-
# c:\oss\winpt\src\wptGPGOptDlg.cpp:74
-#: Src/wptGPGOptDlg.cpp:77
+#: Src/wptGPGOptDlg.cpp:75
msgid "File contains invalid GnuPG keywords!"
msgstr "t@CɳøÈGnuPGL[[hªüÁĢܷI"
# c:\oss\winpt\src\wptGPGOptDlg.cpp:44
-#: Src/wptGPGOptDlg.cpp:82
+#: Src/wptGPGOptDlg.cpp:80
msgid "Could not save GnuPG config file."
msgstr "GnuPG±¤¹¢t@CðÛ¶·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptGPGOptDlg.cpp:83
-#: Src/wptGPGOptDlg.cpp:86
+#: Src/wptGPGOptDlg.cpp:84
msgid "Successfully saved."
msgstr "³µÛ¶³êܵ½B"
# c:\oss\winpt\src\wptGPGOptDlg.cpp:89
-#: Src/wptGPGOptDlg.cpp:92
+#: Src/wptGPGOptDlg.cpp:90
msgid ""
"Current data will be lost!\n"
"Are you sure?"
@@ -2248,7 +2254,7 @@
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:1071
# c:\oss\winpt\src\wptMainProc.cpp:572
#: Src/wptGPGPrefsDlg.cpp:141 Src/wptKeyManagerDlg.cpp:1712
-#: Src/wptMainProc.cpp:590
+#: Src/wptMainProc.cpp:592
msgid "GnuPG Preferences"
msgstr "GnuPGJX^Ýè"
@@ -2304,42 +2310,42 @@
msgstr "KèÝèðãµÜ·(&O)"
# c:\oss\winpt\src\wptGPGPrefsDlg.cpp:107
-#: Src/wptGPGPrefsDlg.cpp:215
+#: Src/wptGPGPrefsDlg.cpp:210
msgid "Please enter the GnuPG home directory."
msgstr "GnuPGz[fBNgðü͵ľ³¢B"
# c:\oss\winpt\src\wptGPGPrefsDlg.cpp:154
-#: Src/wptGPGPrefsDlg.cpp:227
+#: Src/wptGPGPrefsDlg.cpp:222
msgid "Could not save 'HomeDir' in the registry."
msgstr "WXgÉ'HomeDir'ðÛ¶·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptGPGPrefsDlg.cpp:158
-#: Src/wptGPGPrefsDlg.cpp:233
+#: Src/wptGPGPrefsDlg.cpp:228
msgid "Please enter where GPG.exe is located."
msgstr "GPG.exet@CÌ éêðü͵ľ³¢B"
# c:\oss\winpt\src\wptGPGPrefsDlg.cpp:162
-#: Src/wptGPGPrefsDlg.cpp:238
+#: Src/wptGPGPrefsDlg.cpp:233
msgid "Could not find the GPG program in this directory."
msgstr "GPGvOª±ÌfBNgÉüÁĢܹñB"
# c:\oss\winpt\src\wptGPGPrefsDlg.cpp:166
-#: Src/wptGPGPrefsDlg.cpp:243
+#: Src/wptGPGPrefsDlg.cpp:238
msgid "Could not save 'gpgProgram' in the registry"
msgstr "WXgÉ'gpgProgram'ðÛ¶·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptGPGPrefsDlg.cpp:180
-#: Src/wptGPGPrefsDlg.cpp:263
+#: Src/wptGPGPrefsDlg.cpp:258
msgid "Could not get GPG config file"
msgstr "GPG±¤¹¢t@Cðæ¾·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptGPGPrefsDlg.cpp:210
-#: Src/wptGPGPrefsDlg.cpp:312
+#: Src/wptGPGPrefsDlg.cpp:308
msgid "Choose GPG Home Directory"
msgstr "GPGÌz[fBNgðIð·é"
# c:\oss\winpt\src\wptGPGPrefsDlg.cpp:217
-#: Src/wptGPGPrefsDlg.cpp:340
+#: Src/wptGPGPrefsDlg.cpp:336
msgid "Choose GPG Binary"
msgstr "GPGoCiðIð·é"
@@ -2439,10 +2445,10 @@
#: Src/wptKeyManagerDlg.cpp:1741 Src/wptKeyManagerDlg.cpp:1759
#: Src/wptKeyManagerDlg.cpp:1764 Src/wptKeyManagerDlg.cpp:1769
#: Src/wptKeyManagerDlg.cpp:1840 Src/wptKeyManagerDlg.cpp:1845
-#: Src/wptKeyManagerDlg.cpp:1978 Src/wptKeysigDlg.cpp:93
-#: Src/wptKeysigDlg.cpp:105 Src/wptKeysigDlg.cpp:314 Src/wptKeysigDlg.cpp:387
-#: Src/wptKeysigDlg.cpp:397 Src/wptKeysigDlg.cpp:440 Src/wptMainProc.cpp:405
-#: Src/wptMainProc.cpp:553 Src/wptMainProc.cpp:561
+#: Src/wptKeyManagerDlg.cpp:1978 Src/wptKeysigDlg.cpp:94
+#: Src/wptKeysigDlg.cpp:106 Src/wptKeysigDlg.cpp:309 Src/wptKeysigDlg.cpp:381
+#: Src/wptKeysigDlg.cpp:391 Src/wptKeysigDlg.cpp:434 Src/wptMainProc.cpp:407
+#: Src/wptMainProc.cpp:555 Src/wptMainProc.cpp:563
msgid "Key Manager"
msgstr "L[}l[W["
@@ -2540,13 +2546,14 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1273
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1303
# c:\oss\winpt\src\wptKeysigDlg.cpp:191
-#: Src/wptImportList.cpp:266 Src/wptKeyEditDlgs.cpp:258
-#: Src/wptKeyEditDlgs.cpp:1166 Src/wptKeyEditDlgs.cpp:1218
-#: Src/wptKeyEditDlgs.cpp:1465 Src/wptKeyEditDlgs.cpp:1487
-#: Src/wptKeyEditDlgs.cpp:1526 Src/wptKeyEditDlgs.cpp:1559
-#: Src/wptKeyEditDlgs.cpp:1790 Src/wptKeylist.cpp:421 Src/wptKeylist.cpp:455
-#: Src/wptKeyPropsDlg.cpp:161 Src/wptKeysigDlg.cpp:144
-#: Src/wptKeysigDlg.cpp:214
+#: Src/wptImportList.cpp:266 Src/wptKeyEditDlgs.cpp:256
+#: Src/wptKeyEditDlgs.cpp:1144 Src/wptKeyEditDlgs.cpp:1194
+#: Src/wptKeyEditDlgs.cpp:1439 Src/wptKeyEditDlgs.cpp:1459
+#: Src/wptKeyEditDlgs.cpp:1498 Src/wptKeyEditDlgs.cpp:1529
+#: Src/wptKeyEditDlgs.cpp:1596 Src/wptKeyEditDlgs.cpp:1762
+#: Src/wptKeyEditDlgs.cpp:1964 Src/wptKeylist.cpp:421 Src/wptKeylist.cpp:455
+#: Src/wptKeyPropsDlg.cpp:161 Src/wptKeysigDlg.cpp:142
+#: Src/wptKeysigDlg.cpp:207
msgid "Revoked"
msgstr "³øÉÈèܵ½"
@@ -2555,10 +2562,10 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:886
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1141
# c:\oss\winpt\src\wptKeysigDlg.cpp:192
-#: Src/wptImportList.cpp:268 Src/wptKeyEditDlgs.cpp:260
-#: Src/wptKeyEditDlgs.cpp:1164 Src/wptKeyEditDlgs.cpp:1384
+#: Src/wptImportList.cpp:268 Src/wptKeyEditDlgs.cpp:258
+#: Src/wptKeyEditDlgs.cpp:1142 Src/wptKeyEditDlgs.cpp:1360
#: Src/wptKeylist.cpp:423 Src/wptKeylist.cpp:453 Src/wptKeyPropsDlg.cpp:159
-#: Src/wptKeysigDlg.cpp:143 Src/wptKeysigDlg.cpp:215
+#: Src/wptKeysigDlg.cpp:141 Src/wptKeysigDlg.cpp:208
msgid "Expired"
msgstr "úÀØê"
@@ -2574,7 +2581,7 @@
# c:\oss\winpt\src\wptImportList.cpp:84
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:967
-#: Src/wptImportList.cpp:304 Src/wptKeyEditDlgs.cpp:1226
+#: Src/wptImportList.cpp:304 Src/wptKeyEditDlgs.cpp:1202
msgid "Invalid user ID"
msgstr "³øÈ[U[ID"
@@ -2606,7 +2613,7 @@
# c:\oss\winpt\src\wptKeylist.cpp:39 c:\oss\winpt\src\wptKeylist.cpp:49
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:43
# c:\oss\winpt\src\wptSigList.cpp:45 c:\oss\winpt\src\wptVerifyList.cpp:87
-#: Src/wptImportList.cpp:347 Src/wptKeyEditDlgs.cpp:1098
+#: Src/wptImportList.cpp:347 Src/wptKeyEditDlgs.cpp:1078
#: Src/wptKeylist.cpp:577 Src/wptKeylist.cpp:585 Src/wptKeyManagerDlg.cpp:876
#: Src/wptKeyManagerDlg.cpp:967 Src/wptKeyRevokersDlg.cpp:58
#: Src/wptKeyserverSearchDlg.cpp:56 Src/wptSigList.cpp:57
@@ -2619,8 +2626,8 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:920 c:\oss\winpt\src\wptKeylist.cpp:55
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:44
# c:\oss\winpt\src\wptSigList.cpp:44
-#: Src/wptImportList.cpp:348 Src/wptKeyEditDlgs.cpp:1099
-#: Src/wptKeyEditDlgs.cpp:1195 Src/wptKeylist.cpp:591
+#: Src/wptImportList.cpp:348 Src/wptKeyEditDlgs.cpp:1079
+#: Src/wptKeyEditDlgs.cpp:1173 Src/wptKeylist.cpp:591
#: Src/wptKeyManagerDlg.cpp:882 Src/wptKeyManagerDlg.cpp:970
#: Src/wptKeyserverSearchDlg.cpp:57 Src/wptSigList.cpp:56
msgid "Creation"
@@ -2663,14 +2670,14 @@
msgstr "L[LbV
"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:142
-#: Src/wptKeyEditDlgs.cpp:230 Src/wptKeylist.cpp:388
+#: Src/wptKeyEditDlgs.cpp:228 Src/wptKeylist.cpp:388
msgid "Ultimate"
msgstr "ÅII"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:155
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:883 c:\oss\winpt\src\wptKeylist.cpp:154
# c:\oss\winpt\src\wptKeylist.cpp:703
-#: Src/wptKeyEditDlgs.cpp:245 Src/wptKeyEditDlgs.cpp:1161
+#: Src/wptKeyEditDlgs.cpp:243 Src/wptKeyEditDlgs.cpp:1139
#: Src/wptKeylist.cpp:243 Src/wptKeylist.cpp:382
msgid "Never"
msgstr "͸ÍÈ¢"
@@ -2678,17 +2685,17 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:144
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:166
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:890
-#: Src/wptKeyEditDlgs.cpp:262 Src/wptKeyEditDlgs.cpp:1168
+#: Src/wptKeyEditDlgs.cpp:260 Src/wptKeyEditDlgs.cpp:1146
msgid "OK"
msgstr "OK"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:186
-#: Src/wptKeyEditDlgs.cpp:284
+#: Src/wptKeyEditDlgs.cpp:282
msgid "user ID"
msgstr "[U[ID"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:186
-#: Src/wptKeyEditDlgs.cpp:285
+#: Src/wptKeyEditDlgs.cpp:283
#, c-format
msgid ""
"Could not get key information for: \"%s\":\n"
@@ -2696,7 +2703,7 @@
msgstr "L[ÌîñðȺÉεÄæèo·±ÆªÅ«Ü¹ñŵ½: \"%s\"%s"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:223
-#: Src/wptKeyEditDlgs.cpp:357
+#: Src/wptKeyEditDlgs.cpp:355
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 "
@@ -2707,7 +2714,7 @@
"·B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:224
-#: Src/wptKeyEditDlgs.cpp:358
+#: Src/wptKeyEditDlgs.cpp:356
msgid ""
"Pick an image to use for your photo ID.\n"
"The image must be a JPEG file."
@@ -2717,8 +2724,8 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:225
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:320
-#: Src/wptKeyEditDlgs.cpp:359 Src/wptKeyEditDlgs.cpp:447
-#: Src/wptKeysignDlg.cpp:284
+#: Src/wptKeyEditDlgs.cpp:357 Src/wptKeyEditDlgs.cpp:438
+#: Src/wptKeysignDlg.cpp:292
msgid "Passphrase"
msgstr "pXt[Y"
@@ -2727,12 +2734,12 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:260
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:275
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:695
-#: Src/wptKeyEditDlgs.cpp:361
+#: Src/wptKeyEditDlgs.cpp:359
msgid "Add Photo ID"
msgstr "tHgðÇÁ·é"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:241
-#: Src/wptKeyEditDlgs.cpp:376
+#: Src/wptKeyEditDlgs.cpp:366
msgid "Select Image File"
msgstr "æt@CðIð"
@@ -2741,25 +2748,25 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:260
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:275
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:695
-#: Src/wptKeyEditDlgs.cpp:380 Src/wptKeyEditDlgs.cpp:390
-#: Src/wptKeyEditDlgs.cpp:396 Src/wptKeyEditDlgs.cpp:408
-#: Src/wptKeyEditDlgs.cpp:917
+#: Src/wptKeyEditDlgs.cpp:370 Src/wptKeyEditDlgs.cpp:381
+#: Src/wptKeyEditDlgs.cpp:387 Src/wptKeyEditDlgs.cpp:399
+#: Src/wptKeyEditDlgs.cpp:898
msgid "Add Photo"
msgstr "tHgðÇÁ·é"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:141
-#: Src/wptKeyEditDlgs.cpp:381
+#: Src/wptKeyEditDlgs.cpp:371
#, c-format
msgid "'%s' is not a valid JPEG file."
msgstr "Ìt@C'%s'ªLøÈJPEGÅÍ èܹñB"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:248
-#: Src/wptKeyEditDlgs.cpp:390 Src/wptKeyRevokeDlg.cpp:173
+#: Src/wptKeyEditDlgs.cpp:380 Src/wptKeyRevokeDlg.cpp:168
msgid "Please enter a file name."
msgstr "t@C¼ðü͵ľ³¢B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:252
-#: Src/wptKeyEditDlgs.cpp:394
+#: Src/wptKeyEditDlgs.cpp:385
msgid ""
"The JPEG is really large.\n"
"Are you sure you want to use it?"
@@ -2768,7 +2775,7 @@
"gp·é±ÆÉÔᢪ èܹñ©H"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:281
-#: Src/wptKeyEditDlgs.cpp:413
+#: Src/wptKeyEditDlgs.cpp:404
msgid "Photo successfully added."
msgstr "tHgª³µÇÁ³êܵ½B"
@@ -2787,23 +2794,23 @@
# c:\oss\winpt\src\wptKeyserverDlg.cpp:167
# c:\oss\winpt\src\wptOwnertrustDlg.cpp:75
# c:\oss\winpt\src\wptOwnertrustDlg.cpp:89
-#: Src/wptKeyEditDlgs.cpp:414 Src/wptKeyEditDlgs.cpp:482
-#: Src/wptKeyEditDlgs.cpp:566 Src/wptKeyEditDlgs.cpp:741
-#: Src/wptKeyEditDlgs.cpp:1489 Src/wptKeyEditDlgs.cpp:1561
-#: Src/wptKeyEditDlgs.cpp:1646 Src/wptKeyEditDlgs.cpp:1847
-#: Src/wptKeygenDlg.cpp:488 Src/wptKeygenDlg.cpp:604
-#: Src/wptKeyPropsDlg.cpp:380 Src/wptOwnertrustDlg.cpp:124
-#: Src/wptOwnertrustDlg.cpp:136
+#: Src/wptKeyEditDlgs.cpp:405 Src/wptKeyEditDlgs.cpp:468
+#: Src/wptKeyEditDlgs.cpp:550 Src/wptKeyEditDlgs.cpp:721
+#: Src/wptKeyEditDlgs.cpp:1461 Src/wptKeyEditDlgs.cpp:1531
+#: Src/wptKeyEditDlgs.cpp:1618 Src/wptKeyEditDlgs.cpp:1816
+#: Src/wptKeygenDlg.cpp:494 Src/wptKeygenDlg.cpp:603
+#: Src/wptKeyPropsDlg.cpp:382 Src/wptOwnertrustDlg.cpp:119
+#: Src/wptOwnertrustDlg.cpp:131
msgid "GnuPG Status"
msgstr "GnuPGÌóÔ"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:318
-#: Src/wptKeyEditDlgs.cpp:445
+#: Src/wptKeyEditDlgs.cpp:436
msgid "Appointing a key as designated revoker cannot be undone."
msgstr "L[ð³ø»«Ì¤wè³ê½ãA³Éß³êܹñB"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:319
-#: Src/wptKeyEditDlgs.cpp:446
+#: Src/wptKeyEditDlgs.cpp:437
msgid "Public key"
msgstr "öJ®"
@@ -2811,8 +2818,8 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:342
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:358
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:708
-#: Src/wptKeyEditDlgs.cpp:449 Src/wptKeyEditDlgs.cpp:463
-#: Src/wptKeyEditDlgs.cpp:476 Src/wptKeyEditDlgs.cpp:949
+#: Src/wptKeyEditDlgs.cpp:440 Src/wptKeyEditDlgs.cpp:449
+#: Src/wptKeyEditDlgs.cpp:462 Src/wptKeyEditDlgs.cpp:929
msgid "Add Revoker"
msgstr "³ø»«Ì¤ðÇÁ·é"
@@ -2821,35 +2828,35 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1324
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1365
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1415
-#: Src/wptKeyEditDlgs.cpp:463 Src/wptKeyEditDlgs.cpp:1521
-#: Src/wptKeyEditDlgs.cpp:1578 Src/wptKeyEditDlgs.cpp:1623
-#: Src/wptKeyEditDlgs.cpp:1778 Src/wptKeyEditDlgs.cpp:1817
-#: Src/wptKeyEditDlgs.cpp:2003
+#: Src/wptKeyEditDlgs.cpp:449 Src/wptKeyEditDlgs.cpp:1493
+#: Src/wptKeyEditDlgs.cpp:1548 Src/wptKeyEditDlgs.cpp:1592
+#: Src/wptKeyEditDlgs.cpp:1750 Src/wptKeyEditDlgs.cpp:1790
+#: Src/wptKeyEditDlgs.cpp:1960
msgid "Please select a user ID."
msgstr "[U[IDðIñž³¢B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:363
-#: Src/wptKeyEditDlgs.cpp:481
+#: Src/wptKeyEditDlgs.cpp:467
msgid "Revoker successfully addded."
msgstr "³ø»·é«Ì¤ÌÇÁɬ÷µÜµ½B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:394
-#: Src/wptKeyEditDlgs.cpp:515
+#: Src/wptKeyEditDlgs.cpp:501
msgid "Add new User ID"
msgstr "Vµ¢[U[IDðÇÁ·é"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:396
-#: Src/wptKeyEditDlgs.cpp:517
+#: Src/wptKeyEditDlgs.cpp:503
msgid "&Email"
msgstr "dq[(&E)"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:397
-#: Src/wptKeyEditDlgs.cpp:518
+#: Src/wptKeyEditDlgs.cpp:504
msgid "&Comment"
msgstr "Rg(&C)"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:414
-#: Src/wptKeyEditDlgs.cpp:535
+#: Src/wptKeyEditDlgs.cpp:516
msgid "Please enter a name (min. 5 chars.)"
msgstr "¼Oðü͵ľ³¢B(Åá·³T¶)"
@@ -2857,14 +2864,14 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:418
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:423
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:427
-#: Src/wptKeyEditDlgs.cpp:536 Src/wptKeyEditDlgs.cpp:542
-#: Src/wptKeyEditDlgs.cpp:547 Src/wptKeyEditDlgs.cpp:551
-#: Src/wptKeyEditDlgs.cpp:564
+#: Src/wptKeyEditDlgs.cpp:517 Src/wptKeyEditDlgs.cpp:523
+#: Src/wptKeyEditDlgs.cpp:529 Src/wptKeyEditDlgs.cpp:534
+#: Src/wptKeyEditDlgs.cpp:548
msgid "UserID"
msgstr "[U[ID"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:418
-#: Src/wptKeyEditDlgs.cpp:541
+#: Src/wptKeyEditDlgs.cpp:522
msgid ""
"Please enter the email address in the email field and not in the name field"
msgstr ""
@@ -2872,43 +2879,43 @@
"¢B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:423
-#: Src/wptKeyEditDlgs.cpp:547
+#: Src/wptKeyEditDlgs.cpp:529
msgid "Please enter an email address."
msgstr "dq[AhXðü͵ľ³¢B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:427
-#: Src/wptKeyEditDlgs.cpp:551
+#: Src/wptKeyEditDlgs.cpp:534
msgid "Invalid email address."
msgstr "³øÈ[AhXB"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:615
-#: Src/wptKeyEditDlgs.cpp:566
+#: Src/wptKeyEditDlgs.cpp:550
msgid "user ID successfully added."
msgstr "[U[IDð³µÇÁµÜµ½B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:472
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:656
-#: Src/wptKeyEditDlgs.cpp:650 Src/wptKeyEditDlgs.cpp:855
+#: Src/wptKeyEditDlgs.cpp:635 Src/wptKeyEditDlgs.cpp:835
msgid "Add new Subkey"
msgstr "Vµ¢TuL[ðÇÁ·é"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:473
-#: Src/wptKeyEditDlgs.cpp:651
+#: Src/wptKeyEditDlgs.cpp:636
msgid "Key type"
msgstr "L[ÌíÞ"
# c:\oss\winpt\src\wptKeygenDlg.cpp:146
-#: Src/wptKeyEditDlgs.cpp:652
+#: Src/wptKeyEditDlgs.cpp:637
msgid "Size in bits"
msgstr "rbgPÊÌ嫳"
# c:\oss\winpt\src\wptKeygenDlg.cpp:150
-#: Src/wptKeyEditDlgs.cpp:653
+#: Src/wptKeyEditDlgs.cpp:638
msgid "Key expiration"
msgstr "L[ÌLøúÀ"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:508
-#: Src/wptKeyEditDlgs.cpp:700
+#: Src/wptKeyEditDlgs.cpp:680
msgid "Please select one entry."
msgstr "IðÚ©çêÂIñž³¢B"
@@ -2921,18 +2928,18 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:540
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:637
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:676
-#: Src/wptKeyEditDlgs.cpp:701 Src/wptKeyEditDlgs.cpp:707
-#: Src/wptKeyEditDlgs.cpp:738 Src/wptKeyEditDlgs.cpp:838
+#: Src/wptKeyEditDlgs.cpp:681 Src/wptKeyEditDlgs.cpp:687
+#: Src/wptKeyEditDlgs.cpp:718 Src/wptKeyEditDlgs.cpp:818
msgid "Add Subkey"
msgstr "TuL[ðÇÁ·é"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:521
-#: Src/wptKeyEditDlgs.cpp:706
+#: Src/wptKeyEditDlgs.cpp:686
msgid "DSS uses a fixed keysize of 1024. Size changed."
msgstr "DSSÍÅèL[TCY1024ªgpµÜ·BTCYªÏX³êܵ½B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:678
-#: Src/wptKeyEditDlgs.cpp:740
+#: Src/wptKeyEditDlgs.cpp:720
msgid "Subkey successfully added."
msgstr "TuL[ª³µÇÁ³êܵ½B"
@@ -2945,10 +2952,10 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1196
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1258
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:918
-#: Src/wptKeyEditDlgs.cpp:768 Src/wptKeyEditDlgs.cpp:837
-#: Src/wptKeyEditDlgs.cpp:916 Src/wptKeyEditDlgs.cpp:949
-#: Src/wptKeyEditDlgs.cpp:1030 Src/wptKeyEditDlgs.cpp:1373
-#: Src/wptKeyEditDlgs.cpp:1448 Src/wptKeyEditDlgs.cpp:1510
+#: Src/wptKeyEditDlgs.cpp:748 Src/wptKeyEditDlgs.cpp:817
+#: Src/wptKeyEditDlgs.cpp:897 Src/wptKeyEditDlgs.cpp:929
+#: Src/wptKeyEditDlgs.cpp:1010 Src/wptKeyEditDlgs.cpp:1348
+#: Src/wptKeyEditDlgs.cpp:1422 Src/wptKeyEditDlgs.cpp:1482
#: Src/wptKeyManagerDlg.cpp:1591
msgid "There is no secret key available!"
msgstr "駮ª èܹñB"
@@ -2956,29 +2963,29 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:579
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:599
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:613
-#: Src/wptKeyEditDlgs.cpp:769 Src/wptKeyEditDlgs.cpp:788
+#: Src/wptKeyEditDlgs.cpp:749 Src/wptKeyEditDlgs.cpp:768
msgid "Add user ID"
msgstr "[U[IDðÇÁ·é"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1177
-#: Src/wptKeyEditDlgs.cpp:895
+#: Src/wptKeyEditDlgs.cpp:876
msgid "Preferred keyserver successfully set."
msgstr "ó]ÌL[T[o[ª³µÝèūܵ½B"
# c:\oss\winpt\src\wptKeyEditOwnertrustDlg.cpp:58
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:189
-#: Src/wptKeyEditDlgs.cpp:984 Src/wptKeyEditOwnertrustDlg.cpp:55
-#: Src/wptKeyPropsDlg.cpp:371
+#: Src/wptKeyEditDlgs.cpp:964 Src/wptKeyEditOwnertrustDlg.cpp:55
+#: Src/wptKeyPropsDlg.cpp:373
msgid "Change Ownertrust"
msgstr "LÒÌM(ownertrust)ÌÏX"
# c:\oss\winpt\src\wptKeyManager.cpp:156
-#: Src/wptKeyEditDlgs.cpp:987 Src/wptKeyManager.cpp:220
+#: Src/wptKeyEditDlgs.cpp:967 Src/wptKeyManager.cpp:220
msgid "Key status changed."
msgstr "L[ÌóÔªÏX³êĢܷB"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:753
-#: Src/wptKeyEditDlgs.cpp:1036
+#: Src/wptKeyEditDlgs.cpp:1016
msgid ""
"Cannot change passphrase because the key\n"
"is protected with the IDEA encryption algorithm."
@@ -2987,16 +2994,16 @@
"IDEAûASYÅÛì³êÄ¢é©çÅ·B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:760
-#: Src/wptKeyEditDlgs.cpp:1043
+#: Src/wptKeyEditDlgs.cpp:1023
msgid "Current (old) Passphrase"
msgstr "Jg(â)pXt[Y"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:764
-#: Src/wptKeyEditDlgs.cpp:1047
+#: Src/wptKeyEditDlgs.cpp:1027
msgid "New Passphrase"
msgstr "Vµ¢pXt[Y"
-#: Src/wptKeyEditDlgs.cpp:1054
+#: Src/wptKeyEditDlgs.cpp:1034
msgid ""
"Are you sure that you really don't want a passphrase?\n"
"This is propably a bad idea, still proceed?"
@@ -3005,7 +3012,7 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:771
# c:\oss\winpt\src\wptKeygenDlg.cpp:250
# c:\oss\winpt\src\wptPassphraseDlg.cpp:153
-#: Src/wptKeyEditDlgs.cpp:1065 Src/wptPassphraseDlg.cpp:191
+#: Src/wptKeyEditDlgs.cpp:1045 Src/wptPassphraseDlg.cpp:248
msgid ""
"The passphrase contains 8-bit characters.\n"
"It is not suggested to use charset specific characters."
@@ -3014,49 +3021,39 @@
"'charset' êp¶ÌgpÍEµÄ¨èܹñB"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:789
-#: Src/wptKeyEditDlgs.cpp:1079
+#: Src/wptKeyEditDlgs.cpp:1059
msgid "Change Passwd"
msgstr "pX[hÌÏX"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:791
-#: Src/wptKeyEditDlgs.cpp:1081
+#: Src/wptKeyEditDlgs.cpp:1061
msgid "Passphrase successfully changed."
msgstr "pXt[YÌÏXͳµÅ«Üµ½B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:806
-#: Src/wptKeyEditDlgs.cpp:1097 Src/wptKeyManagerDlg.cpp:883
+#: Src/wptKeyEditDlgs.cpp:1077 Src/wptKeyManagerDlg.cpp:883
msgid "Description"
msgstr "Ú×"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:809
-#: Src/wptKeyEditDlgs.cpp:1100
+#: Src/wptKeyEditDlgs.cpp:1080
msgid "Expires"
msgstr "úÀØê·é"
-# c:\oss\winpt\src\wptKeyEditDlgs.cpp:829
-#: Src/wptKeyEditDlgs.cpp:1115
-msgid "No subkey(s) found."
-msgstr "TuL[ª©Â©èܹñB"
-
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:918 c:\oss\winpt\src\wptKeylist.cpp:42
# c:\oss\winpt\src\wptKeylist.cpp:53
-#: Src/wptKeyEditDlgs.cpp:1192 Src/wptKeylist.cpp:580 Src/wptKeylist.cpp:589
+#: Src/wptKeyEditDlgs.cpp:1170 Src/wptKeylist.cpp:580 Src/wptKeylist.cpp:589
#: Src/wptKeyManagerDlg.cpp:880
msgid "Validity"
msgstr "Lø«"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:396
-#: Src/wptKeyEditDlgs.cpp:1194
+#: Src/wptKeyEditDlgs.cpp:1172
msgid "Email"
msgstr "dq["
-# c:\oss\winpt\src\wptKeyEditDlgs.cpp:932
-#: Src/wptKeyEditDlgs.cpp:1202
-msgid "No user ID(s) found."
-msgstr "[U[IDª©Â©èܹñŵ½B"
-
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1043
-#: Src/wptKeyEditDlgs.cpp:1284
+#: Src/wptKeyEditDlgs.cpp:1260
#, fuzzy
msgid ""
"ADDUID \t\tadd a user ID\r\n"
@@ -3103,22 +3100,17 @@
"CLEAN \t\tsÀè̼ðL[©çO·\r\n"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1064
-#: Src/wptKeyEditDlgs.cpp:1306
+#: Src/wptKeyEditDlgs.cpp:1282
msgid "Key Edit Help"
msgstr "L[ÒWÌwv"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1078
-#: Src/wptKeyEditDlgs.cpp:1322
+#: Src/wptKeyEditDlgs.cpp:1298 Src/wptKeyEditDlgs.cpp:1307
msgid "Primary key can not be deleted!"
msgstr "vC}[L[ªíūܹñI"
-# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1086
-#: Src/wptKeyEditDlgs.cpp:1330
-msgid "Primary subkey can not be deleted!"
-msgstr "vC}[TuL[ªíūܹñI"
-
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1092
-#: Src/wptKeyEditDlgs.cpp:1338
+#: Src/wptKeyEditDlgs.cpp:1315
#, c-format
msgid ""
"\"Subkey %s.\"\n"
@@ -3136,16 +3128,16 @@
"±ÌTuL[ð{ÉíµÜ·©H"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1109
-#: Src/wptKeyEditDlgs.cpp:1350
+#: Src/wptKeyEditDlgs.cpp:1325
msgid "Delete Subkey"
msgstr "TuL[Ìí"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1113
-#: Src/wptKeyEditDlgs.cpp:1354
+#: Src/wptKeyEditDlgs.cpp:1329
msgid "Subkey successfully deleted."
msgstr "TuL[ð³µí³êܵ½B"
-#: Src/wptKeyEditDlgs.cpp:1385
+#: Src/wptKeyEditDlgs.cpp:1361
msgid ""
"Key already expired.\n"
"\n"
@@ -3158,22 +3150,22 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1146
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1149
# c:\oss\winpt\src\wptKeygenDlg.cpp:303 c:\oss\winpt\src\wptKeygenDlg.cpp:306
-#: Src/wptKeyEditDlgs.cpp:1394 Src/wptKeyEditDlgs.cpp:1397
+#: Src/wptKeyEditDlgs.cpp:1370 Src/wptKeyEditDlgs.cpp:1373
msgid "Key Expiration Date"
msgstr "L[ÌLøúÀ"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1173
-#: Src/wptKeyEditDlgs.cpp:1420
+#: Src/wptKeyEditDlgs.cpp:1394
msgid "Expire Subkey"
msgstr "úÀÌØê½TuL["
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1177
-#: Src/wptKeyEditDlgs.cpp:1426
+#: Src/wptKeyEditDlgs.cpp:1400
msgid "Subkey expire date successfully set."
msgstr "TuL[̸øúª³µÝèūܵ½B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1206
-#: Src/wptKeyEditDlgs.cpp:1457
+#: Src/wptKeyEditDlgs.cpp:1431
msgid ""
"No subkeys were found, if you want to revoke the\n"
"whole key, please use the Key Manager command directly.\n"
@@ -3186,37 +3178,37 @@
"±ÌR}hÍVOTuL[ÌÝð³øÉ·é½ßg¦Ü·B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1215
-#: Src/wptKeyEditDlgs.cpp:1466
+#: Src/wptKeyEditDlgs.cpp:1440
msgid "Key already revoked."
msgstr "L[ªùɳøÆÈÁĢܷB"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1235
-#: Src/wptKeyEditDlgs.cpp:1485
+#: Src/wptKeyEditDlgs.cpp:1457
msgid "Revoke Subkey"
msgstr "TuL[ð³ø·é"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1239
-#: Src/wptKeyEditDlgs.cpp:1489
+#: Src/wptKeyEditDlgs.cpp:1461
msgid "Subkey successfully revoked."
msgstr "TuL[ð³µ³øɵܵ½B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1258
-#: Src/wptKeyEditDlgs.cpp:1511
+#: Src/wptKeyEditDlgs.cpp:1483
msgid "Revoke user ID"
msgstr "[U[IDð³ø·é"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1263
-#: Src/wptKeyEditDlgs.cpp:1516
+#: Src/wptKeyEditDlgs.cpp:1488
msgid "Key has only one user ID."
msgstr "L[Ì[U[IDªÐƵ© èܹñB"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1274
-#: Src/wptKeyEditDlgs.cpp:1527
+#: Src/wptKeyEditDlgs.cpp:1499
msgid "This user ID has been already revoked."
msgstr "±Ì[U[IDª³øÆÈÁĢܷB"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1279
-#: Src/wptKeyEditDlgs.cpp:1533
+#: Src/wptKeyEditDlgs.cpp:1505
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -3228,55 +3220,55 @@
"±Ì[U[IDð{ɳøɵܷ©H"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1258
-#: Src/wptKeyEditDlgs.cpp:1557
+#: Src/wptKeyEditDlgs.cpp:1527
msgid "Revoke User ID"
msgstr "[U[IDð³ø·é"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1305
-#: Src/wptKeyEditDlgs.cpp:1561
+#: Src/wptKeyEditDlgs.cpp:1531
msgid "User ID successfully revoked"
msgstr "[U[IDð³øÉ·é±Æª¬÷µÜµ½"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1535
-#: Src/wptKeyEditDlgs.cpp:1603
+#: Src/wptKeyEditDlgs.cpp:1571
msgid "Could not set user ID preferences"
msgstr "[U[IDIvVðZbg·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1388
-#: Src/wptKeyEditDlgs.cpp:1643
+#: Src/wptKeyEditDlgs.cpp:1615
msgid "Primary"
msgstr "vC}["
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1391
-#: Src/wptKeyEditDlgs.cpp:1646
+#: Src/wptKeyEditDlgs.cpp:1618
msgid "User ID successfully flagged"
msgstr "[U[IDɳµtOð¯ܵ½B"
-#: Src/wptKeyEditDlgs.cpp:1740
+#: Src/wptKeyEditDlgs.cpp:1712
msgid "No preferences available."
msgstr "JX^Ýèª èܹñB"
-#: Src/wptKeyEditDlgs.cpp:1744
+#: Src/wptKeyEditDlgs.cpp:1716
msgid "MDC feature"
msgstr "MDC«Ì¤"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:186
-#: Src/wptKeyEditDlgs.cpp:1746
+#: Src/wptKeyEditDlgs.cpp:1718
msgid "user ID:"
msgstr "[U[IDF"
# c:\oss\winpt\src\wptKeyeditSetPrefDlg.cpp:112
-#: Src/wptKeyEditDlgs.cpp:1747 Src/wptKeyeditSetPrefDlg.cpp:116
+#: Src/wptKeyEditDlgs.cpp:1719 Src/wptKeyeditSetPrefDlg.cpp:116
msgid "Key Preferences"
msgstr "L[ÌJX^Ýè"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1411
-#: Src/wptKeyEditDlgs.cpp:1812
+#: Src/wptKeyEditDlgs.cpp:1784
msgid "Primary user ID can not be deleted!"
msgstr "vC}[[U[IDªíūܹñI"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1420
-#: Src/wptKeyEditDlgs.cpp:1823
+#: Src/wptKeyEditDlgs.cpp:1795
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -3292,30 +3284,31 @@
"±Ì[U[IDð{ÉíµÜ·©H"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1438
-#: Src/wptKeyEditDlgs.cpp:1843
-msgid "Delete user ID"
+#: Src/wptKeyEditDlgs.cpp:1812
+#, fuzzy
+msgid "Delete User ID"
msgstr "[U[IDðí·éB"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1442
-#: Src/wptKeyEditDlgs.cpp:1847
+#: Src/wptKeyEditDlgs.cpp:1816
msgid "User ID successfully deleted"
msgstr "[U[IDð³µíµÜµ½B"
-#: Src/wptKeyEditDlgs.cpp:1952 Src/wptKeyEditDlgs.cpp:1970
+#: Src/wptKeyEditDlgs.cpp:1907 Src/wptKeyEditDlgs.cpp:1925
msgid "Finished to compact key."
msgstr "L[ðRpNg·é±Æª®¬µÜµ½B"
# c:\oss\winpt\src\wptKeyManager.cpp:1064
-#: Src/wptKeyEditDlgs.cpp:2007
+#: Src/wptKeyEditDlgs.cpp:1967
msgid "Do you really want to make this sig exportable?"
msgstr "±Ì¼ð{ÉGLX|[gÅéà̵ܷ©H"
# c:\oss\winpt\src\wptKeysignDlg.cpp:325
-#: Src/wptKeyEditDlgs.cpp:2031 Src/wptKeysignDlg.cpp:393
+#: Src/wptKeyEditDlgs.cpp:1998 Src/wptKeysignDlg.cpp:401
msgid "Key successfully signed."
msgstr "L[ð¼·é±Æɬ÷µÜµ½B"
-#: Src/wptKeyEditDlgs.cpp:2094
+#: Src/wptKeyEditDlgs.cpp:2061
#, c-format
msgid ""
"Your keys is listed as a designated revoker for the key\n"
@@ -3327,33 +3320,33 @@
msgstr ""
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1525
-#: Src/wptKeyEditDlgs.cpp:2142
+#: Src/wptKeyEditDlgs.cpp:2105
msgid "Could not set subkey window procedure."
msgstr "TuL[EBhvV[WðZbg·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1535
-#: Src/wptKeyEditDlgs.cpp:2155
+#: Src/wptKeyEditDlgs.cpp:2118
msgid "Could not set user ID window procedure."
msgstr "[U[IDEBhvV[WðZbg·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:397
-#: Src/wptKeyEditDlgs.cpp:2164
+#: Src/wptKeyEditDlgs.cpp:2127
msgid "Command>"
msgstr "R}h"
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:115
-#: Src/wptKeyEditDlgs.cpp:2167
+#: Src/wptKeyEditDlgs.cpp:2130
#, fuzzy
msgid "&Revoke..."
msgstr "³ø»«Ì¤"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1561
-#: Src/wptKeyEditDlgs.cpp:2210
+#: Src/wptKeyEditDlgs.cpp:2173
msgid "Please select a command."
msgstr "R}hðIñž³¢B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1566
-#: Src/wptKeyEditDlgs.cpp:2214
+#: Src/wptKeyEditDlgs.cpp:2177
msgid "This command cannot be used with PGP 2 (v3) keys.\n"
msgstr "±ÌR}hÍ PGP 2 (v3) ÌL[Æg¦Ü¹ñB\n"
@@ -3399,7 +3392,7 @@
"vgÆ`FbNµ½èÈÇû@Å...)H"
# c:\oss\winpt\src\wptKeyEditOwnertrustDlg.cpp:86
-#: Src/wptKeyEditOwnertrustDlg.cpp:88
+#: Src/wptKeyEditOwnertrustDlg.cpp:82
msgid "Please choose one entry."
msgstr "üÍðIñž³¢B"
@@ -3412,16 +3405,16 @@
# c:\oss\winpt\src\wptOwnertrustDlg.cpp:72
# c:\oss\winpt\src\wptOwnertrustDlg.cpp:81
# c:\oss\winpt\src\wptOwnertrustDlg.cpp:86
-#: Src/wptKeyEditOwnertrustDlg.cpp:88 Src/wptKeyEditOwnertrustDlg.cpp:95
-#: Src/wptKeyEditOwnertrustDlg.cpp:104 Src/wptKeyManagerDlg.cpp:938
-#: Src/wptKeyManagerDlg.cpp:1806 Src/wptKeyPropsDlg.cpp:292
-#: Src/wptOwnertrustDlg.cpp:97 Src/wptOwnertrustDlg.cpp:121
-#: Src/wptOwnertrustDlg.cpp:133
+#: Src/wptKeyEditOwnertrustDlg.cpp:83 Src/wptKeyEditOwnertrustDlg.cpp:89
+#: Src/wptKeyEditOwnertrustDlg.cpp:98 Src/wptKeyManagerDlg.cpp:938
+#: Src/wptKeyManagerDlg.cpp:1806 Src/wptKeyPropsDlg.cpp:294
+#: Src/wptOwnertrustDlg.cpp:97 Src/wptOwnertrustDlg.cpp:116
+#: Src/wptOwnertrustDlg.cpp:128
msgid "Ownertrust"
msgstr "LÒÌM(ownertrust)"
# c:\oss\winpt\src\wptKeyEditOwnertrustDlg.cpp:90
-#: Src/wptKeyEditOwnertrustDlg.cpp:94
+#: Src/wptKeyEditOwnertrustDlg.cpp:88
msgid "Do you really want to set this key to ultimate trust?"
msgstr "±ÌL[ð{ÉÅMpÒƵÄÝèµÜ·©H"
@@ -3447,17 +3440,17 @@
# c:\oss\winpt\src\wptKeygenDlg.cpp:244 c:\oss\winpt\src\wptKeygenDlg.cpp:252
# c:\oss\winpt\src\wptKeygenDlg.cpp:289 c:\oss\winpt\src\wptKeygenDlg.cpp:311
# c:\oss\winpt\src\wptKeygenDlg.cpp:392
-#: Src/wptKeygenCBDlg.cpp:85 Src/wptKeygenDlg.cpp:297 Src/wptKeygenDlg.cpp:306
-#: Src/wptKeygenDlg.cpp:369 Src/wptKeygenDlg.cpp:408 Src/wptKeygenDlg.cpp:413
-#: Src/wptKeygenDlg.cpp:418 Src/wptKeygenDlg.cpp:423 Src/wptKeygenDlg.cpp:430
-#: Src/wptKeygenDlg.cpp:438 Src/wptKeygenDlg.cpp:452 Src/wptKeygenDlg.cpp:461
-#: Src/wptKeygenDlg.cpp:485 Src/wptKeygenDlg.cpp:581
-#: Src/wptKeyManagerDlg.cpp:1673 Src/wptPassphraseDlg.cpp:109
+#: Src/wptKeygenCBDlg.cpp:85 Src/wptKeygenDlg.cpp:298 Src/wptKeygenDlg.cpp:307
+#: Src/wptKeygenDlg.cpp:371 Src/wptKeygenDlg.cpp:410 Src/wptKeygenDlg.cpp:415
+#: Src/wptKeygenDlg.cpp:420 Src/wptKeygenDlg.cpp:425 Src/wptKeygenDlg.cpp:432
+#: Src/wptKeygenDlg.cpp:440 Src/wptKeygenDlg.cpp:454 Src/wptKeygenDlg.cpp:461
+#: Src/wptKeygenDlg.cpp:470 Src/wptKeygenDlg.cpp:491 Src/wptKeygenDlg.cpp:583
+#: Src/wptKeyManagerDlg.cpp:1673 Src/wptPassphraseDlg.cpp:145
msgid "Key Generation"
msgstr "L[Ìì¬"
# c:\oss\winpt\src\wptKeygenDlg.cpp:60
-#: Src/wptKeygenDlg.cpp:285
+#: Src/wptKeygenDlg.cpp:286
msgid ""
"It is STRONGLY recommend that you backup your keyrings because they both "
"contain VERY important data.\n"
@@ -3475,58 +3468,58 @@
"©ªÌL[OðobNAbvµÜ·©H"
# c:\oss\winpt\src\wptKeygenDlg.cpp:65
-#: Src/wptKeygenDlg.cpp:290
+#: Src/wptKeygenDlg.cpp:291
msgid "WARNING - Important hint"
msgstr "x - dvÈqg"
# c:\oss\winpt\src\wptKeygenDlg.cpp:67
-#: Src/wptKeygenDlg.cpp:292
+#: Src/wptKeygenDlg.cpp:293
msgid "Destination for Public Keyring"
msgstr "öJL[OÌ Äæ"
# c:\oss\winpt\src\wptKeygenDlg.cpp:72 c:\oss\winpt\src\wptKeygenDlg.cpp:80
-#: Src/wptKeygenDlg.cpp:298 Src/wptKeygenDlg.cpp:307
+#: Src/wptKeygenDlg.cpp:299 Src/wptKeygenDlg.cpp:308
#, c-format
msgid "Could not copy %s -> %s"
msgstr "ȺðRs[·é±ÆªÅ«Ü¹ñŵ½ %s -> %s"
# c:\oss\winpt\src\wptKeygenDlg.cpp:75
-#: Src/wptKeygenDlg.cpp:301
+#: Src/wptKeygenDlg.cpp:302
msgid "Destination for Secret Keyring"
msgstr "é§L[OÌ Äæ"
# c:\oss\winpt\src\wptKeygenDlg.cpp:95
-#: Src/wptKeygenDlg.cpp:323
+#: Src/wptKeygenDlg.cpp:324
msgid "DSA and ELG (default)"
msgstr "DSA yÑ ELG (ùè)"
# c:\oss\winpt\src\wptKeygenDlg.cpp:96
-#: Src/wptKeygenDlg.cpp:324
+#: Src/wptKeygenDlg.cpp:325
msgid "DSA and RSA"
msgstr "DSA yÑ RSA"
# c:\oss\winpt\src\wptKeygenDlg.cpp:97
-#: Src/wptKeygenDlg.cpp:325
+#: Src/wptKeygenDlg.cpp:326
msgid "DSA sign only"
msgstr "DSA¼ÌÝ"
# c:\oss\winpt\src\wptKeygenDlg.cpp:98
-#: Src/wptKeygenDlg.cpp:326
+#: Src/wptKeygenDlg.cpp:327
msgid "RSA sign only"
msgstr "RSA¼ÌÝ"
# c:\oss\winpt\src\wptKeygenDlg.cpp:99
-#: Src/wptKeygenDlg.cpp:327
+#: Src/wptKeygenDlg.cpp:328
msgid "RSA sign and encrypt"
msgstr "RSA ¼yÑû"
# c:\oss\winpt\src\wptKeygenDlg.cpp:100
-#: Src/wptKeygenDlg.cpp:328
+#: Src/wptKeygenDlg.cpp:329
msgid "RSA and RSA (PGP)"
msgstr "RSA yÑ RSA (PGP)"
# c:\oss\winpt\src\wptKeygenDlg.cpp:144
-#: Src/wptKeygenDlg.cpp:371
+#: Src/wptKeygenDlg.cpp:373
msgid ""
"NOTE: Key generation can be a lengthy process! Please wait until you get the "
"message that key generation was finished."
@@ -3535,84 +3528,84 @@
"Z[WªÐ夶·éÜŨҿ¾³¢B"
# c:\oss\winpt\src\wptKeygenDlg.cpp:146
-#: Src/wptKeygenDlg.cpp:373
+#: Src/wptKeygenDlg.cpp:375
msgid "Subkey size in &bits"
msgstr "TuL[ÌrbgPÊÅÌ嫳(&B)"
# c:\oss\winpt\src\wptKeygenDlg.cpp:147
-#: Src/wptKeygenDlg.cpp:374
+#: Src/wptKeygenDlg.cpp:376
msgid "&Real name"
msgstr "À¼(&R)"
# c:\oss\winpt\src\wptKeygenDlg.cpp:153
-#: Src/wptKeygenDlg.cpp:378
+#: Src/wptKeygenDlg.cpp:380
msgid "Key &type"
msgstr "L[ÌíÞ(&T)"
# c:\oss\winpt\src\wptKeygenDlg.cpp:189
-#: Src/wptKeygenDlg.cpp:407
+#: Src/wptKeygenDlg.cpp:409
msgid "Invalid value. Allowed values 1024-4096 bits."
msgstr "³øÈlBLøÍÍÍ1024`4096rbgÅ·B"
# c:\oss\winpt\src\wptKeygenDlg.cpp:194
-#: Src/wptKeygenDlg.cpp:412
+#: Src/wptKeygenDlg.cpp:414
msgid "Do you really need such a large key?"
msgstr "±Ìæ¤È·¢L[ð{É¢èÜ·©H"
# c:\oss\winpt\src\wptKeygenDlg.cpp:200 c:\oss\winpt\src\wptKeygenDlg.cpp:377
-#: Src/wptKeygenDlg.cpp:418 Src/wptKeygenDlg.cpp:558
+#: Src/wptKeygenDlg.cpp:420 Src/wptKeygenDlg.cpp:560
msgid "Please enter the name."
msgstr "¼Oðü͵ľ³¢B"
# c:\oss\winpt\src\wptKeygenDlg.cpp:382
-#: Src/wptKeygenDlg.cpp:422 Src/wptKeygenDlg.cpp:563
+#: Src/wptKeygenDlg.cpp:424 Src/wptKeygenDlg.cpp:565
msgid "Please do not enter the email address in the name field."
msgstr "¼O̪Édq[AhXðüêȢž³¢B"
# c:\oss\winpt\src\wptKeygenDlg.cpp:205 c:\oss\winpt\src\wptKeygenDlg.cpp:388
-#: Src/wptKeygenDlg.cpp:429 Src/wptKeygenDlg.cpp:570
+#: Src/wptKeygenDlg.cpp:431 Src/wptKeygenDlg.cpp:572
msgid "Please enter a valid email address."
msgstr "LøÈdq[AhXðü͵ľ³¢B"
# c:\oss\winpt\src\wptKeygenDlg.cpp:211
-#: Src/wptKeygenDlg.cpp:437
+#: Src/wptKeygenDlg.cpp:439
msgid "Please do NOT enter the email address in the comment field."
msgstr "Rg̪Édq[AhXðüêȢž³¢B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:342
# c:\oss\winpt\src\wptKeyRevokeDlg.cpp:118
# c:\oss\winpt\src\wptKeygenDlg.cpp:222
-#: Src/wptKeygenDlg.cpp:460 Src/wptKeyRevokeDlg.cpp:181
+#: Src/wptKeygenDlg.cpp:469 Src/wptKeyRevokeDlg.cpp:176
msgid "Please enter the passphrase."
msgstr "pXt[Yðü͵ľ³¢B"
# c:\oss\winpt\src\wptKeygenDlg.cpp:292 c:\oss\winpt\src\wptKeygenDlg.cpp:416
-#: Src/wptKeygenDlg.cpp:488 Src/wptKeygenDlg.cpp:604
+#: Src/wptKeygenDlg.cpp:494 Src/wptKeygenDlg.cpp:603
msgid "Key Generation completed"
msgstr "L[Ì쬪®¹µÜµ½B"
# c:\oss\winpt\src\wptKeygenDlg.cpp:354
-#: Src/wptKeygenDlg.cpp:531
+#: Src/wptKeygenDlg.cpp:537
msgid "&Prefer RSA keys"
msgstr "RSAL[ðDæ·é(&P)"
# c:\oss\winpt\src\wptKeygenDlg.cpp:355
-#: Src/wptKeygenDlg.cpp:532
+#: Src/wptKeygenDlg.cpp:538
msgid "Real name:"
msgstr "³®¼"
# c:\oss\winpt\src\wptKeygenDlg.cpp:356
-#: Src/wptKeygenDlg.cpp:533
+#: Src/wptKeygenDlg.cpp:539
msgid "Email address:"
msgstr "[AhXF"
# c:\oss\winpt\src\wptKeygenDlg.cpp:357
-#: Src/wptKeygenDlg.cpp:534
+#: Src/wptKeygenDlg.cpp:540
msgid "Name and E-Mail Assignment"
msgstr "¼OÆ[Ìwè"
# c:\oss\winpt\src\wptKeygenDlg.cpp:358
-#: Src/wptKeygenDlg.cpp:535
+#: Src/wptKeygenDlg.cpp:541
msgid ""
"Every key pair must have a name associated with it. The name and\n"
"email address let your correspondents that your public key they are\n"
@@ -3623,7 +3616,7 @@
"½¿ÌàÌÅ é±ÆðF¯µÜ·B"
# c:\oss\winpt\src\wptKeygenDlg.cpp:359
-#: Src/wptKeygenDlg.cpp:536
+#: Src/wptKeygenDlg.cpp:542
msgid ""
"By accosiating an email address with your key pair, you will enable WinPT to "
"assist your correspondents in selecting the correct public\n"
@@ -3636,19 +3629,19 @@
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:1057
# c:\oss\winpt\src\wptKeygenDlg.cpp:378 c:\oss\winpt\src\wptKeygenDlg.cpp:383
# c:\oss\winpt\src\wptKeygenDlg.cpp:389 c:\oss\winpt\src\wptKeygenDlg.cpp:413
-#: Src/wptKeygenDlg.cpp:537 Src/wptKeygenDlg.cpp:559 Src/wptKeygenDlg.cpp:564
-#: Src/wptKeygenDlg.cpp:571 Src/wptKeygenDlg.cpp:577 Src/wptKeygenDlg.cpp:600
+#: Src/wptKeygenDlg.cpp:543 Src/wptKeygenDlg.cpp:561 Src/wptKeygenDlg.cpp:566
+#: Src/wptKeygenDlg.cpp:573 Src/wptKeygenDlg.cpp:579 Src/wptKeygenDlg.cpp:599
#: Src/wptKeyManagerDlg.cpp:1696
msgid "Key Generation Wizard"
msgstr "L[ì¬ÌEBU[h"
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:571
-#: Src/wptKeygenDlg.cpp:539
+#: Src/wptKeygenDlg.cpp:545
msgid "E&xpert"
msgstr "GNXp[g(&E)"
# c:\oss\winpt\src\wptGroupsDlg.cpp:65
-#: Src/wptKeygenDlg.cpp:576
+#: Src/wptKeygenDlg.cpp:578
msgid "Please do not add '<' or '>' to the email address."
msgstr "dq[AhXÉ'<' Ü½Í '>'ðÇÁȢž³¢B"
@@ -4134,7 +4127,7 @@
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:579
# c:\oss\winpt\src\wptKeysigDlg.cpp:334
#: Src/wptKeyManagerDlg.cpp:956 Src/wptKeyManagerDlg.cpp:992
-#: Src/wptKeysigDlg.cpp:425
+#: Src/wptKeysigDlg.cpp:419
msgid "&Properties"
msgstr "®«(&P)"
@@ -4364,10 +4357,10 @@
# c:\oss\winpt\src\wptKeysignDlg.cpp:318
# c:\oss\winpt\src\wptKeysignDlg.cpp:320
# c:\oss\winpt\src\wptKeysignDlg.cpp:322
-#: Src/wptKeyManagerDlg.cpp:1567 Src/wptKeysignDlg.cpp:259
-#: Src/wptKeysignDlg.cpp:274 Src/wptKeysignDlg.cpp:354
-#: Src/wptKeysignDlg.cpp:369 Src/wptKeysignDlg.cpp:386
-#: Src/wptKeysignDlg.cpp:391 Src/wptKeysignDlg.cpp:393
+#: Src/wptKeyManagerDlg.cpp:1567 Src/wptKeysignDlg.cpp:282
+#: Src/wptKeysignDlg.cpp:296 Src/wptKeysignDlg.cpp:358
+#: Src/wptKeysignDlg.cpp:374 Src/wptKeysignDlg.cpp:391
+#: Src/wptKeysignDlg.cpp:396 Src/wptKeysignDlg.cpp:401
msgid "Key Signing"
msgstr "L[ð¼·é"
@@ -4384,9 +4377,9 @@
# c:\oss\winpt\src\wptKeyRevokeDlg.cpp:140
# c:\oss\winpt\src\wptKeyRevokeDlg.cpp:151
#: Src/wptKeyManagerDlg.cpp:1597 Src/wptKeyRevokeDlg.cpp:70
-#: Src/wptKeyRevokeDlg.cpp:80 Src/wptKeyRevokeDlg.cpp:169
-#: Src/wptKeyRevokeDlg.cpp:174 Src/wptKeyRevokeDlg.cpp:182
-#: Src/wptKeyRevokeDlg.cpp:191 Src/wptKeyRevokeDlg.cpp:196
+#: Src/wptKeyRevokeDlg.cpp:80 Src/wptKeyRevokeDlg.cpp:164
+#: Src/wptKeyRevokeDlg.cpp:169 Src/wptKeyRevokeDlg.cpp:177
+#: Src/wptKeyRevokeDlg.cpp:186 Src/wptKeyRevokeDlg.cpp:192
msgid "Key Revocation Cert"
msgstr "L[̳ø»Ø¾"
@@ -4402,7 +4395,7 @@
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:992
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:113
-#: Src/wptKeyManagerDlg.cpp:1641 Src/wptKeyPropsDlg.cpp:288
+#: Src/wptKeyManagerDlg.cpp:1641 Src/wptKeyPropsDlg.cpp:290
msgid "Key Properties"
msgstr "L[Ì®«"
@@ -4422,7 +4415,7 @@
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:1065
# c:\oss\winpt\src\wptKeyserverDlg.cpp:298
-#: Src/wptKeyManagerDlg.cpp:1704 Src/wptKeyserverDlg.cpp:568
+#: Src/wptKeyManagerDlg.cpp:1704 Src/wptKeyserverDlg.cpp:576
msgid "Keyserver Access"
msgstr "L[T[o[ÌANZX"
@@ -4489,12 +4482,18 @@
msgid "Unknown"
msgstr "³¼"
-#: Src/wptKeyPropsDlg.cpp:211
+# c:\oss\winpt\src\wptKeyManager.cpp:444
+#: Src/wptKeyPropsDlg.cpp:165
+#, fuzzy
+msgid "Invalid"
+msgstr "³øÈURLB"
+
+#: Src/wptKeyPropsDlg.cpp:213
#, c-format
msgid "Card-Type: %s\r\n"
msgstr "J[h^Cv: %s\r\n"
-#: Src/wptKeyPropsDlg.cpp:250
+#: Src/wptKeyPropsDlg.cpp:252
#, fuzzy, c-format
msgid ""
"Type: %s\r\n"
@@ -4518,26 +4517,26 @@
"%s\r\n"
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:114
-#: Src/wptKeyPropsDlg.cpp:289
+#: Src/wptKeyPropsDlg.cpp:291
msgid "&Change"
msgstr "ÏX(&C)"
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:115
-#: Src/wptKeyPropsDlg.cpp:290
+#: Src/wptKeyPropsDlg.cpp:292
msgid "&Revokers"
msgstr "³ø»«Ì¤(&R)"
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:116
-#: Src/wptKeyPropsDlg.cpp:291
+#: Src/wptKeyPropsDlg.cpp:293
msgid "Change &Password"
msgstr "pX[hÌÏX(&P)"
-#: Src/wptKeyPropsDlg.cpp:298
+#: Src/wptKeyPropsDlg.cpp:300
msgid "Photo-ID not validated."
msgstr "tHgIDLø³êĢܹñB"
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:171
-#: Src/wptKeyPropsDlg.cpp:355
+#: Src/wptKeyPropsDlg.cpp:357
msgid ""
"The status of this key is 'revoked' or 'expired'.\n"
"You cannot change the ownertrust of such keys."
@@ -4546,7 +4545,7 @@
"±êçÌL[ÌLÒÌM(ownertrust)ðÏXūܹñB"
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:177
-#: Src/wptKeyPropsDlg.cpp:361
+#: Src/wptKeyPropsDlg.cpp:363
msgid ""
"This is a non-valid key.\n"
"Modifying the ownertrust has no effect on such keys.\n"
@@ -4558,12 +4557,12 @@
"{Ép±µÜ·©H"
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:208
-#: Src/wptKeyPropsDlg.cpp:379
+#: Src/wptKeyPropsDlg.cpp:381
msgid "Ownertrust successfully changed."
msgstr "LÒÌM(ownertrust)ͳµÏXµÜµ½B"
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:226
-#: Src/wptKeyPropsDlg.cpp:392 Src/wptKeyRevokersDlg.cpp:162
+#: Src/wptKeyPropsDlg.cpp:394 Src/wptKeyRevokersDlg.cpp:160
msgid "Key Revokers"
msgstr "L[ð³ø»«Ì¤"
@@ -4598,17 +4597,17 @@
"ªÅ«Ü·I"
# c:\oss\winpt\src\wptKeyRevokeDlg.cpp:98
-#: Src/wptKeyRevokeDlg.cpp:159
+#: Src/wptKeyRevokeDlg.cpp:154
msgid "Choose File to save the Certificate"
msgstr "ؾðÛ¶·ét@CðIð·é"
# c:\oss\winpt\src\wptKeyRevokeDlg.cpp:107
-#: Src/wptKeyRevokeDlg.cpp:168
+#: Src/wptKeyRevokeDlg.cpp:163
msgid "Please select a reason."
msgstr "RðIñž³¢B"
# c:\oss\winpt\src\wptKeyRevokeDlg.cpp:148
-#: Src/wptKeyRevokeDlg.cpp:195
+#: Src/wptKeyRevokeDlg.cpp:191
msgid "Revocation certificate generated."
msgstr "³ø»Ø¾ªì¬³êܵ½B"
@@ -4619,59 +4618,59 @@
msgstr "ASY"
# c:\oss\winpt\src\wptKeyRevokersDlg.cpp:122
-#: Src/wptKeyRevokersDlg.cpp:121 Src/wptKeyRevokersDlg.cpp:176
+#: Src/wptKeyRevokersDlg.cpp:121 Src/wptKeyRevokersDlg.cpp:174
msgid "Designated Key Revokers"
msgstr "wèÌL[ð³ø»«Ì¤"
# c:\oss\winpt\src\wptKeyRevokersDlg.cpp:122
-#: Src/wptKeyRevokersDlg.cpp:161
+#: Src/wptKeyRevokersDlg.cpp:159
msgid "Designated Revoker Keys"
msgstr "wè̳ø»·éL["
# c:\oss\winpt\src\wptKeyRevokersDlg.cpp:123
-#: Src/wptKeyRevokersDlg.cpp:177
+#: Src/wptKeyRevokersDlg.cpp:175
#, fuzzy, c-format
msgid "Do you want to retrieve %s via the default keyserver?"
msgstr "KèL[T[o[oRÅ 0x%s ðæèoµ½¢Å·©H"
-#: Src/wptKeyserver.cpp:401
+#: Src/wptKeyserver.cpp:402
msgid "Network unreachable"
msgstr ""
-#: Src/wptKeyserver.cpp:404
+#: Src/wptKeyserver.cpp:405
#, fuzzy
msgid "Host unreachable"
msgstr "zXg"
# c:\oss\winpt\src\wptErrors.cpp:84
-#: Src/wptKeyserver.cpp:407
+#: Src/wptKeyserver.cpp:408
#, fuzzy
msgid "Could not resolve host name"
msgstr "zXg¼ðÅJ·é±ÆªÅ«Ü¹ñŵ½B"
-#: Src/wptKeyserver.cpp:410
+#: Src/wptKeyserver.cpp:411
msgid "Connection refused"
msgstr ""
-#: Src/wptKeyserver.cpp:414
+#: Src/wptKeyserver.cpp:415
msgid "Connection timeout"
msgstr ""
-#: Src/wptKeyserver.cpp:418
+#: Src/wptKeyserver.cpp:419
msgid "Connection resetted by peer"
msgstr ""
-#: Src/wptKeyserver.cpp:421
+#: Src/wptKeyserver.cpp:422
msgid "Socket has been shutdown"
msgstr ""
# c:\oss\winpt\src\wptPreferencesDlg.cpp:221
-#: Src/wptKeyserver.cpp:599
+#: Src/wptKeyserver.cpp:600
msgid "Could not save keyserver.conf file"
msgstr "keyserver.conft@CðÛ¶·é±Æªoܹñŵ½B"
# c:\oss\winpt\src\wptKeyserver.cpp:436
-#: Src/wptKeyserver.cpp:644
+#: Src/wptKeyserver.cpp:645
msgid ""
"Invalid proxy configuration.You need to set a user and a passwordto use "
"proxy authentication!"
@@ -4680,12 +4679,12 @@
"vNV[ÌFØI"
# c:\oss\winpt\src\wptKeyserver.cpp:438
-#: Src/wptKeyserver.cpp:647
+#: Src/wptKeyserver.cpp:648
msgid "Proxy Error"
msgstr "vNV[G["
# c:\oss\winpt\src\wptKeyserver.cpp:462
-#: Src/wptKeyserver.cpp:672
+#: Src/wptKeyserver.cpp:673
msgid ""
"All entries of this file must have a valid prefix.\n"
"Currently HKP/HTTP, LDAP and FINGER are supported.\n"
@@ -4708,27 +4707,27 @@
# c:\oss\winpt\src\wptKeyserverDlg.cpp:420
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:72
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:115
-#: Src/wptKeyserver.cpp:674
+#: Src/wptKeyserver.cpp:675
msgid "Keyserver Error"
msgstr "L[T[o[G["
# c:\oss\winpt\src\wptKeyserver.cpp:473
-#: Src/wptKeyserver.cpp:693
+#: Src/wptKeyserver.cpp:694
msgid "The keyserver limit is exceeded"
msgstr "L[T[o[̧Àª´¦Ä¢Ü·B"
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:59
-#: Src/wptKeyserver.cpp:694
+#: Src/wptKeyserver.cpp:695
msgid "Keyserver Warning"
msgstr "L[T[o[x"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:89
-#: Src/wptKeyserverDlg.cpp:101
+#: Src/wptKeyserverDlg.cpp:103
#, c-format
msgid "Key '%s' successfully sent"
msgstr "'%s' L[ÌMª¬÷µÜµ½B"
-#: Src/wptKeyserverDlg.cpp:135
+#: Src/wptKeyserverDlg.cpp:137
msgid ""
"WARNING: multiple keys matched request.\n"
"\n"
@@ -4737,12 +4736,12 @@
"\n"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:161
-#: Src/wptKeyserverDlg.cpp:140
+#: Src/wptKeyserverDlg.cpp:142
msgid "Key(s) successfully received but nothing was changed."
msgstr "L[ÌóMɬ÷µÜµ½ªAÅà½àÏíÁĢܹñB"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:166
-#: Src/wptKeyserverDlg.cpp:142
+#: Src/wptKeyserverDlg.cpp:144
msgid "Key(s) sucessfully received and imported."
msgstr "L[ÌóMª¬÷µAC|[g³êܵ½B"
@@ -4757,12 +4756,12 @@
# c:\oss\winpt\src\wptImportList.cpp:220
# c:\oss\winpt\src\wptKeyManager.cpp:516
# c:\oss\winpt\src\wptKeyserverDlg.cpp:150
-#: Src/wptKeyserverDlg.cpp:158
+#: Src/wptKeyserverDlg.cpp:160
msgid "Imported Keys"
msgstr "C|[gµ½L["
# c:\oss\winpt\src\wptKeyserverDlg.cpp:116
-#: Src/wptKeyserverDlg.cpp:184
+#: Src/wptKeyserverDlg.cpp:186
msgid ""
"LDAP key import failed.\n"
"Please make sure you have an online connection and gpgkeys_ldap.exe is "
@@ -4773,36 +4772,36 @@
"FµÄ¾³¢B"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:127
-#: Src/wptKeyserverDlg.cpp:196
+#: Src/wptKeyserverDlg.cpp:198
#, c-format
msgid "Finger key import failed: %s\n"
msgstr "FINGERL[ÌC|[gɸsµÜµ½: %s\n"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:141
-#: Src/wptKeyserverDlg.cpp:210
+#: Src/wptKeyserverDlg.cpp:212
msgid "This is not a valid OpenPGP key."
msgstr "±êÍLøÈOpenPGPL[ÅÍ èܹñB"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:261
-#: Src/wptKeyserverDlg.cpp:352
+#: Src/wptKeyserverDlg.cpp:360
msgid "Please select one of the servers."
msgstr "êÂÌT[o[ðIñž³¢B"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:266
-#: Src/wptKeyserverDlg.cpp:357
+#: Src/wptKeyserverDlg.cpp:365
msgid "Only HTTP keyserver can be used."
msgstr "HTTPT[o[L[Ìݪgp©Ì¤Å·B"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:289
-#: Src/wptKeyserverDlg.cpp:374
+#: Src/wptKeyserverDlg.cpp:382
msgid "DNS Name"
msgstr "DNS¼"
-#: Src/wptKeyserverDlg.cpp:375
+#: Src/wptKeyserverDlg.cpp:383
msgid "Port"
msgstr "|[g"
-#: Src/wptKeyserverDlg.cpp:459
+#: Src/wptKeyserverDlg.cpp:467
msgid "No space for new keyserver entry"
msgstr "Vµ¢L[T[o[ÌQÁÉ]Tª èܹñB"
@@ -4821,12 +4820,12 @@
# c:\oss\winpt\src\wptKeyserverDlg.cpp:420
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:72
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:115
-#: Src/wptKeyserverDlg.cpp:480
+#: Src/wptKeyserverDlg.cpp:488
msgid "HKP Keyserver"
msgstr "HKPL[T[o["
# c:\oss\winpt\src\wptKeyserverDlg.cpp:411
-#: Src/wptKeyserverDlg.cpp:481
+#: Src/wptKeyserverDlg.cpp:489
msgid "LDAP Keyserver"
msgstr "LDAPL[T[o["
@@ -4845,7 +4844,7 @@
# c:\oss\winpt\src\wptKeyserverDlg.cpp:420
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:72
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:115
-#: Src/wptKeyserverDlg.cpp:482
+#: Src/wptKeyserverDlg.cpp:490
msgid "Finger Keyserver"
msgstr "tBK[L[T[o["
@@ -4864,74 +4863,74 @@
# c:\oss\winpt\src\wptKeyserverDlg.cpp:420
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:72
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:115
-#: Src/wptKeyserverDlg.cpp:507 Src/wptKeyserverDlg.cpp:724
-#: Src/wptKeyserverDlg.cpp:744
+#: Src/wptKeyserverDlg.cpp:515 Src/wptKeyserverDlg.cpp:732
+#: Src/wptKeyserverDlg.cpp:752
msgid "Edit Keyserver"
msgstr "L[T[o[ÒW"
-#: Src/wptKeyserverDlg.cpp:508 Src/wptKeyserverDlg.cpp:600
+#: Src/wptKeyserverDlg.cpp:516 Src/wptKeyserverDlg.cpp:608
msgid "&Add"
msgstr "ÇÁ(&A)"
# c:\oss\winpt\src\wptImportList.cpp:135 c:\oss\winpt\src\wptKeylist.cpp:50
-#: Src/wptKeyserverDlg.cpp:510
+#: Src/wptKeyserverDlg.cpp:518
msgid "Type:"
msgstr "íÞ"
-#: Src/wptKeyserverDlg.cpp:511
+#: Src/wptKeyserverDlg.cpp:519
msgid "Port:"
msgstr "|[g"
-#: Src/wptKeyserverDlg.cpp:512
+#: Src/wptKeyserverDlg.cpp:520
msgid "Host name:"
msgstr "zXg"
# c:\oss\winpt\src\wptKeygenDlg.cpp:200 c:\oss\winpt\src\wptKeygenDlg.cpp:377
-#: Src/wptKeyserverDlg.cpp:520
+#: Src/wptKeyserverDlg.cpp:528
msgid "Please enter a host name"
msgstr "zXg¼ðü͵ľ³¢B"
-#: Src/wptKeyserverDlg.cpp:525
+#: Src/wptKeyserverDlg.cpp:533
msgid "Invalid port, valid numbers are < 65535"
msgstr "³øÈ|[gBLøÈlÍ <65535 Å·B"
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:61
-#: Src/wptKeyserverDlg.cpp:569 Src/wptKeyserverSearchDlg.cpp:65
+#: Src/wptKeyserverDlg.cpp:577 Src/wptKeyserverSearchDlg.cpp:65
msgid "&Receive"
msgstr "óM(&R)"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:300
-#: Src/wptKeyserverDlg.cpp:571
+#: Src/wptKeyserverDlg.cpp:579
msgid "Send key (default is receiving)"
msgstr "L[ðM·é(KèÍóM·é±ÆÅ·)"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:302
-#: Src/wptKeyserverDlg.cpp:573
+#: Src/wptKeyserverDlg.cpp:581
msgid "Please enter the key ID or email address you search for"
msgstr "õ·éàÌÌL[IDܽÍdq[AhXðü͵ľ³¢B"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:304
-#: Src/wptKeyserverDlg.cpp:574
+#: Src/wptKeyserverDlg.cpp:582
msgid "&Search"
msgstr "õ(&S)"
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:114
-#: Src/wptKeyserverDlg.cpp:575
+#: Src/wptKeyserverDlg.cpp:583
msgid "C&hange proxy"
msgstr "vNV[ÏX(&C)"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:291
-#: Src/wptKeyserverDlg.cpp:576
+#: Src/wptKeyserverDlg.cpp:584
msgid "Set &default"
msgstr "KèÝè(&D)"
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:576
-#: Src/wptKeyserverDlg.cpp:601
+#: Src/wptKeyserverDlg.cpp:609
msgid "&Remove"
msgstr "æè(&R)"
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:573
-#: Src/wptKeyserverDlg.cpp:602
+#: Src/wptKeyserverDlg.cpp:610
msgid "&Edit"
msgstr "ÒW(&E)"
@@ -4939,38 +4938,38 @@
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:52
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:57
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:61
-#: Src/wptKeyserverDlg.cpp:636 Src/wptProxySettingsDlg.cpp:69
-#: Src/wptProxySettingsDlg.cpp:79 Src/wptProxySettingsDlg.cpp:84
-#: Src/wptProxySettingsDlg.cpp:91 Src/wptProxySettingsDlg.cpp:96
-#: Src/wptProxySettingsDlg.cpp:101 Src/wptProxySettingsDlg.cpp:157
-#: Src/wptProxySettingsDlg.cpp:197
+#: Src/wptKeyserverDlg.cpp:644 Src/wptProxySettingsDlg.cpp:73
+#: Src/wptProxySettingsDlg.cpp:83 Src/wptProxySettingsDlg.cpp:88
+#: Src/wptProxySettingsDlg.cpp:95 Src/wptProxySettingsDlg.cpp:100
+#: Src/wptProxySettingsDlg.cpp:105 Src/wptProxySettingsDlg.cpp:164
+#: Src/wptProxySettingsDlg.cpp:199
msgid "Proxy Settings"
msgstr "vNV[Ýè"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:381
# c:\oss\winpt\src\wptKeyserverDlg.cpp:407
-#: Src/wptKeyserverDlg.cpp:644 Src/wptKeyserverDlg.cpp:685
+#: Src/wptKeyserverDlg.cpp:652 Src/wptKeyserverDlg.cpp:693
msgid "Please enter the search pattern."
msgstr "õp^[ðü͵ľ³¢B"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:370
# c:\oss\winpt\src\wptKeyserverDlg.cpp:395
-#: Src/wptKeyserverDlg.cpp:669
+#: Src/wptKeyserverDlg.cpp:677
msgid "Please select one of the keyservers."
msgstr "êÂÌL[T[o[ðIñž³¢B"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:411
-#: Src/wptKeyserverDlg.cpp:690
+#: Src/wptKeyserverDlg.cpp:698
msgid "Only keyids are allowed."
msgstr "L[IDÌݪgp©Ì¤Å·B"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:416
-#: Src/wptKeyserverDlg.cpp:696
+#: Src/wptKeyserverDlg.cpp:704
msgid "Only enter the name of the user."
msgstr "[U[̼O¾¯ðüÍ·é"
# c:\oss\winpt\src\wptKeyserverDlg.cpp:420
-#: Src/wptKeyserverDlg.cpp:702
+#: Src/wptKeyserverDlg.cpp:710
msgid "Only email addresses or keyids are allowed."
msgstr "[AhXܽÍL[IDÌÝÍgp©Ì¤Å·B"
@@ -5004,7 +5003,7 @@
"{Ép±µÜ·©H"
# c:\oss\winpt\src\wptKeysigDlg.cpp:82
-#: Src/wptKeysigDlg.cpp:94
+#: Src/wptKeysigDlg.cpp:95
#, c-format
msgid ""
"Are you really sure you want to delete this %s from\n"
@@ -5015,39 +5014,33 @@
" \"%s\""
# c:\oss\winpt\src\wptFileManager.cpp:1019
-#: Src/wptKeysigDlg.cpp:95
+#: Src/wptKeysigDlg.cpp:96
msgid "self signature"
msgstr "©È¼"
# c:\oss\winpt\src\wptFileManager.cpp:1019
-#: Src/wptKeysigDlg.cpp:95
+#: Src/wptKeysigDlg.cpp:96
msgid "signature"
msgstr "¼"
# c:\oss\winpt\src\wptFileManager.cpp:1019
-#: Src/wptKeysigDlg.cpp:130
+#: Src/wptKeysigDlg.cpp:131
#, c-format
msgid "%s %s signature"
msgstr "%s %s ¼"
-# c:\oss\winpt\src\wptKeyManagerDlg.cpp:992
-# c:\oss\winpt\src\wptKeyPropsDlg.cpp:113
-#: Src/wptKeysigDlg.cpp:140 Src/wptKeysigDlg.cpp:216
-msgid "Signature Properties"
-msgstr "¼Ì®«"
-
# c:\oss\winpt\src\wptKeysigDlg.cpp:189
-#: Src/wptKeysigDlg.cpp:141 Src/wptKeysigDlg.cpp:166 Src/wptKeysigDlg.cpp:212
+#: Src/wptKeysigDlg.cpp:139 Src/wptKeysigDlg.cpp:163 Src/wptKeysigDlg.cpp:205
msgid "Exportable"
msgstr "GLX|[gÅ«éàÌ"
# c:\oss\winpt\src\wptKeysigDlg.cpp:190
-#: Src/wptKeysigDlg.cpp:142 Src/wptKeysigDlg.cpp:213
+#: Src/wptKeysigDlg.cpp:140 Src/wptKeysigDlg.cpp:206
msgid "Non-revocably"
msgstr "³øÉoÈ¢æ"
# c:\oss\winpt\src\wptSigList.cpp:43
-#: Src/wptKeysigDlg.cpp:145 Src/wptSigList.cpp:55
+#: Src/wptKeysigDlg.cpp:143 Src/wptSigList.cpp:55
msgid "Class"
msgstr "NX"
@@ -5056,87 +5049,93 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:886
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1141
# c:\oss\winpt\src\wptKeysigDlg.cpp:192
-#: Src/wptKeysigDlg.cpp:146
+#: Src/wptKeysigDlg.cpp:144
msgid "Expire date"
msgstr "LøúÀ"
# c:\oss\winpt\src\wptImportList.cpp:55
-#: Src/wptKeysigDlg.cpp:147
+#: Src/wptKeysigDlg.cpp:145
msgid "Issuer key"
msgstr "sÒL["
# c:\oss\winpt\src\wptImportList.cpp:55
-#: Src/wptKeysigDlg.cpp:148
+#: Src/wptKeysigDlg.cpp:146
msgid "Issuer key ID"
msgstr "sÒL[ID"
# c:\oss\winpt\src\wptClipVerifyDlg.cpp:135
-#: Src/wptKeysigDlg.cpp:149
+#: Src/wptKeysigDlg.cpp:147
#, fuzzy
msgid "Policy URL"
msgstr "|V[URL:"
+# c:\oss\winpt\src\wptKeyManagerDlg.cpp:992
+# c:\oss\winpt\src\wptKeyPropsDlg.cpp:113
+#: Src/wptKeysigDlg.cpp:148 Src/wptKeysigDlg.cpp:209
+msgid "Signature Properties"
+msgstr "¼Ì®«"
+
# c:\oss\winpt\src\wptKeysigDlg.cpp:189
-#: Src/wptKeysigDlg.cpp:166
+#: Src/wptKeysigDlg.cpp:163
msgid "Non-exportable"
msgstr "GLX|[gÅ«È¢àÌ"
# c:\oss\winpt\src\wptSigList.cpp:118
-#: Src/wptKeysigDlg.cpp:178 Src/wptSigList.cpp:153
+#: Src/wptKeysigDlg.cpp:176 Src/wptSigList.cpp:153
msgid " user ID not found"
msgstr "[U[IDª©Â©èܹñŵ½B"
# c:\oss\winpt\src\wptKeysigDlg.cpp:396
-#: Src/wptKeysigDlg.cpp:313
+#: Src/wptKeysigDlg.cpp:308
msgid "Really receive all missing keys?"
msgstr "·×Ä̸Á½L[ð{ÉóMµÜ·©H"
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:579
# c:\oss\winpt\src\wptKeysigDlg.cpp:334
-#: Src/wptKeysigDlg.cpp:347 Src/wptSigTreeDlg.cpp:112
+#: Src/wptKeysigDlg.cpp:342 Src/wptSigTreeDlg.cpp:115
msgid "Signature &Properties"
msgstr "¼Ì®«(&P)"
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:992
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:113
-#: Src/wptKeysigDlg.cpp:348
+#: Src/wptKeysigDlg.cpp:343
msgid "Signing &Key Properties"
msgstr "L[Ì®«ð¼·é(&K)"
# c:\oss\winpt\src\wptKeysigDlg.cpp:301
-#: Src/wptKeysigDlg.cpp:386
+#: Src/wptKeysigDlg.cpp:380
msgid "Key not found in keyring, do you want to fetch it from the keyserver?"
msgstr "L[ªL[OÉ èܹñBL[T[o[æèóM³êÜ·©H"
-#: Src/wptKeysigDlg.cpp:397
+#: Src/wptKeysigDlg.cpp:391
msgid "Key not found in keyring."
msgstr "L[ªL[OÉ èܹñB"
# c:\oss\winpt\src\wptKeysigDlg.cpp:330
-#: Src/wptKeysigDlg.cpp:422
+#: Src/wptKeysigDlg.cpp:416
#, c-format
msgid "Signature List for \"%s\""
msgstr "¼êÐå¤\"%s\"p"
# c:\oss\winpt\src\wptKeysigDlg.cpp:333
-#: Src/wptKeysigDlg.cpp:424
+#: Src/wptKeysigDlg.cpp:418
msgid "&Receive Key"
msgstr "L[ðóM·é(&R)"
# c:\oss\winpt\src\wptFileManager.cpp:1026
-#: Src/wptKeysignDlg.cpp:72
+#: Src/wptKeysignDlg.cpp:73
#, fuzzy, c-format
msgid "%d-bit %s key, ID 0x%s"
msgstr "%s L[IDðgp 0x%s"
# c:\oss\winpt\src\wptKeysignDlg.cpp:152
# c:\oss\winpt\src\wptKeysignDlg.cpp:266
-#: Src/wptKeysignDlg.cpp:167 Src/wptKeysignDlg.cpp:337
+#: Src/wptKeysignDlg.cpp:170 Src/wptKeysignDlg.cpp:341
msgid "Choose Signature Class"
msgstr "¼NXðIð·é"
# c:\oss\winpt\src\wptKeysignDlg.cpp:153
-#: Src/wptKeysignDlg.cpp:168
+#: Src/wptKeysignDlg.cpp:172
msgid ""
"How carefully have you verified the key you are about to sign actually "
"belongs to the person? If you don't know what to anwser, use \"0\"."
@@ -5145,34 +5144,34 @@
"ð»çÈ¢êÍȺðgpµÄº³¢B\"0\""
# c:\oss\winpt\src\wptKeysignDlg.cpp:154
-#: Src/wptKeysignDlg.cpp:169
+#: Src/wptKeysignDlg.cpp:174
msgid "(0) I will not answer (default)"
msgstr "(0)ÍÔðµÜ¹ñ(Kè)"
# c:\oss\winpt\src\wptKeysignDlg.cpp:155
-#: Src/wptKeysignDlg.cpp:170
+#: Src/wptKeysignDlg.cpp:176
msgid "(1) I have not checked at all."
msgstr "(1) ÜÁ½`FbNµÄ¢Ü¹ñB"
# c:\oss\winpt\src\wptKeysignDlg.cpp:156
-#: Src/wptKeysignDlg.cpp:171
+#: Src/wptKeysignDlg.cpp:178
msgid "(2) I have done causal checking."
msgstr "(2) ³è°È`FbNµÄ¢Ü·B"
# c:\oss\winpt\src\wptKeysignDlg.cpp:157
-#: Src/wptKeysignDlg.cpp:172
+#: Src/wptKeysignDlg.cpp:180
msgid "(3) I have done very careful checkings."
msgstr "(3) TdÉ`FbNµÄ¢Ü·B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:155
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:883 c:\oss\winpt\src\wptKeylist.cpp:154
# c:\oss\winpt\src\wptKeylist.cpp:703
-#: Src/wptKeysignDlg.cpp:211
+#: Src/wptKeysignDlg.cpp:219
msgid "never"
msgstr "͸ÍÈ¢"
# c:\oss\winpt\src\wptKeysignDlg.cpp:214
-#: Src/wptKeysignDlg.cpp:262
+#: Src/wptKeysignDlg.cpp:270
#, c-format
msgid ""
"pub %d/%s created: %s expires: %s\n"
@@ -5194,52 +5193,52 @@
"±ÌL[ð©ªÌL[Æ{ɼµÜ·©H\n"
# c:\oss\winpt\src\wptKeysignDlg.cpp:226
-#: Src/wptKeysignDlg.cpp:274
+#: Src/wptKeysignDlg.cpp:282
msgid "No valid secret key found."
msgstr "LøÈ駮ª©Â©èܹñŵ½B"
# c:\oss\winpt\src\wptKeysignDlg.cpp:231
-#: Src/wptKeysignDlg.cpp:280
+#: Src/wptKeysignDlg.cpp:288
msgid "Sign local only (non exportable signature)"
msgstr "[JpVOj`[(GLX|[gūȢVOj`[)"
# c:\oss\winpt\src\wptKeysignDlg.cpp:232
-#: Src/wptKeysignDlg.cpp:281
+#: Src/wptKeysignDlg.cpp:289
msgid "Signature expires on"
msgstr "¼ÌLøúÀÍ"
# c:\oss\winpt\src\wptKeysignDlg.cpp:233
-#: Src/wptKeysignDlg.cpp:282
+#: Src/wptKeysignDlg.cpp:290
msgid "Sign non-revocably"
msgstr "³ø»Å«È¢æ¤É¼·é"
-#: Src/wptKeysignDlg.cpp:283
+#: Src/wptKeysignDlg.cpp:291
msgid "&Ask for certification level"
msgstr "¼·éxðv·é(&A)"
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:765
-#: Src/wptKeysignDlg.cpp:286
+#: Src/wptKeysignDlg.cpp:294
msgid "&Show photo"
msgstr "tHgð©¹é(&S)"
# c:\oss\winpt\src\wptKeygenDlg.cpp:155
-#: Src/wptKeysignDlg.cpp:287 Src/wptPassphraseCB.cpp:96
-#: Src/wptPassphraseCB.cpp:102 Src/wptPassphraseDlg.cpp:68
-#: Src/wptPINDlg.cpp:54
+#: Src/wptKeysignDlg.cpp:295 Src/wptPassphraseCB.cpp:96
+#: Src/wptPassphraseCB.cpp:102 Src/wptPassphraseDlg.cpp:101
+#: Src/wptPINDlg.cpp:53
msgid "&Hide Typing"
msgstr "üÍðB·(&H)"
-#: Src/wptKeysignDlg.cpp:353
+#: Src/wptKeysignDlg.cpp:357
msgid "You cannot select today as the expiration date."
msgstr "¡úÌútðLøúÀúƵÄIðūܹñB"
# c:\oss\winpt\src\wptKeysignDlg.cpp:288
-#: Src/wptKeysignDlg.cpp:369
+#: Src/wptKeysignDlg.cpp:374
msgid "Could not get Key ID from key."
msgstr "L[ÌIDðL[©çæèo·±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptKeysignDlg.cpp:318
-#: Src/wptKeysignDlg.cpp:390
+#: Src/wptKeysignDlg.cpp:395
msgid "This key is already signed by your key"
msgstr "L[ª ȽÌL[ÆùɼµÄ¢Ü·B"
@@ -5268,60 +5267,60 @@
# c:\oss\winpt\src\wptMainProc.cpp:265
# c:\oss\winpt\src\wptTextInputDlg.cpp:76
-#: Src/wptMainProc.cpp:254 Src/wptTextInputDlg.cpp:78
+#: Src/wptMainProc.cpp:254 Src/wptTextInputDlg.cpp:79
msgid "Text Input"
msgstr "eLXgüÍ"
# c:\oss\winpt\src\wptMainProc.cpp:284
-#: Src/wptMainProc.cpp:273
+#: Src/wptMainProc.cpp:275
msgid "Unknown OpenPGP type."
msgstr "¢mÌOpenPGP^Cv"
# c:\oss\winpt\src\wptMainProc.cpp:336
-#: Src/wptMainProc.cpp:350
+#: Src/wptMainProc.cpp:352
msgid "Could not set current window mode hooks."
msgstr ""
"»ÝÌEBh[hÉtbNXuhooksvðZbg·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptMainProc.cpp:398
-#: Src/wptMainProc.cpp:409
+#: Src/wptMainProc.cpp:411
msgid "Edit Clipboard"
msgstr "Nbv{[hÌÒW"
# c:\oss\winpt\src\wptMainProc.cpp:399
-#: Src/wptMainProc.cpp:410
+#: Src/wptMainProc.cpp:412
msgid "About..."
msgstr "WinPTÉ¢Ä..."
# c:\oss\winpt\src\wptMainProc.cpp:405 c:\oss\winpt\src\wptMainProc.cpp:409
-#: Src/wptMainProc.cpp:416 Src/wptMainProc.cpp:420
+#: Src/wptMainProc.cpp:418 Src/wptMainProc.cpp:422
msgid "Decrypt/Verify"
msgstr "/mF"
-#: Src/wptMainProc.cpp:430
+#: Src/wptMainProc.cpp:432
msgid "Current Window"
msgstr "»ÝÌEBhE"
# c:\oss\winpt\src\wptMainProc.cpp:465
-#: Src/wptMainProc.cpp:486
+#: Src/wptMainProc.cpp:488
msgid "Remove all passphrases from cache?"
msgstr "·×ÄÌpXt[YðLbV
©çO¹Ü·B"
# c:\oss\winpt\src\wptClipImportDlg.cpp:112
# c:\oss\winpt\src\wptMainProc.cpp:466 c:\oss\winpt\src\wptProgressDlg.cpp:98
# c:\oss\winpt\src\wptRegistry.cpp:133
-#: Src/wptMainProc.cpp:487 Src/wptProgressDlg.cpp:122 Src/wptRegistry.cpp:198
+#: Src/wptMainProc.cpp:489 Src/wptProgressDlg.cpp:122 Src/wptRegistry.cpp:198
msgid "WinPT"
msgstr "WinPT"
# c:\oss\winpt\src\wptMainProc.cpp:476
-#: Src/wptMainProc.cpp:497
+#: Src/wptMainProc.cpp:499
msgid "Could not access public keyring, exit WinPT?"
msgstr ""
"öJL[OðANZX·é±ÆªÅ«Ü¹ñŵ½BWinPTðI¹µÜ·©H"
# c:\oss\winpt\src\wptMainProc.cpp:510
-#: Src/wptMainProc.cpp:530
+#: Src/wptMainProc.cpp:532
#, c-format
msgid ""
"Make sure that the window contains text.\n"
@@ -5332,7 +5331,7 @@
# c:\oss\winpt\src\wptMainProc.cpp:566
# c:\oss\winpt\src\wptPreferencesDlg.cpp:121
-#: Src/wptMainProc.cpp:584 Src/wptPreferencesDlg.cpp:139
+#: Src/wptMainProc.cpp:586 Src/wptPreferencesDlg.cpp:139
msgid "WinPT Preferences"
msgstr "WinPTJX^Ýè"
@@ -5347,30 +5346,31 @@
msgstr "[ðM·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptMDSumDlg.cpp:52
-#: Src/wptMDSumDlg.cpp:103
+#: Src/wptMDSumDlg.cpp:111
msgid "Digest"
msgstr "_CWFXg"
# c:\oss\winpt\src\wptClipEditDlg.cpp:49 c:\oss\winpt\src\wptGPGOptDlg.cpp:48
-#: Src/wptMDSumDlg.cpp:121
+#: Src/wptMDSumDlg.cpp:129
msgid "&Save..."
msgstr "Û¶...(&S)"
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:762
-#: Src/wptMDSumDlg.cpp:123
+#: Src/wptMDSumDlg.cpp:131
msgid "Save to clipboard"
msgstr "Nbv{[hÉÛ¶·é"
-#: Src/wptMDSumDlg.cpp:124
+#: Src/wptMDSumDlg.cpp:132
msgid "Print Message Digest"
msgstr "bZ[W_CWFXgðóü·éB"
-#: Src/wptMDSumDlg.cpp:177
-msgid "Select file to save checksums"
+#: Src/wptMDSumDlg.cpp:180
+#, fuzzy
+msgid "Select File to Save Checksums"
msgstr "`FbNTðÛ¶·é½ßÌt@CðIð·é"
# c:\oss\winpt\src\wptKeyManager.cpp:360
-#: Src/wptMDSumDlg.cpp:182
+#: Src/wptMDSumDlg.cpp:185
#, c-format
msgid "Checksums successfully saved in '%s'"
msgstr "`FbNTð³µ'%s'ÉÛ¶·é±Æªoܵ½B"
@@ -5386,22 +5386,24 @@
"¶·é±ÆªÅ«Ü·BlªL[OÉÛ¶³êÈ¢½ßAåÏLøÅ·B"
# c:\oss\winpt\src\wptFileManager.cpp:963
-#: Src/wptOwnertrustDlg.cpp:116
-msgid "Select file name for output"
+#: Src/wptOwnertrustDlg.cpp:111
+#, fuzzy
+msgid "Select File Name for Output"
msgstr "oÍt@C¼ðIð·é"
# c:\oss\winpt\src\wptOwnertrustDlg.cpp:75
-#: Src/wptOwnertrustDlg.cpp:124
+#: Src/wptOwnertrustDlg.cpp:119
msgid "Ownertrust successfully exported."
msgstr "LÒÌM(ownertrust)ÌGLX|[gɬ÷µÜµ½B"
# c:\oss\winpt\src\wptFileManager.cpp:963
-#: Src/wptOwnertrustDlg.cpp:128
-msgid "Select file name for input"
+#: Src/wptOwnertrustDlg.cpp:123
+#, fuzzy
+msgid "Select File Name for Input"
msgstr "üÍt@C¼ðIð·é"
# c:\oss\winpt\src\wptOwnertrustDlg.cpp:89
-#: Src/wptOwnertrustDlg.cpp:136
+#: Src/wptOwnertrustDlg.cpp:131
msgid "Ownertrust succefully imported."
msgstr "LÒÌM(ownertrust)ÌC|[gɬ÷µÜµ½B"
@@ -5470,27 +5472,27 @@
"J[hF %s"
# c:\oss\winpt\src\wptPassphraseDlg.cpp:56
-#: Src/wptPassphraseDlg.cpp:60 Src/wptPassphraseDlg.cpp:99
+#: Src/wptPassphraseDlg.cpp:89 Src/wptPassphraseDlg.cpp:135
msgid "Passphrase Dialog"
msgstr "pXt[Y_CO"
# c:\oss\winpt\src\wptPassphraseDlg.cpp:62
-#: Src/wptPassphraseDlg.cpp:65
+#: Src/wptPassphraseDlg.cpp:94
msgid "Repeat Passphrase"
msgstr "pXt[YðÄxüÍ·é"
# c:\oss\winpt\src\wptPassphraseDlg.cpp:64
-#: Src/wptPassphraseDlg.cpp:67
+#: Src/wptPassphraseDlg.cpp:96
msgid "Enter Passphrase"
msgstr "pXt[YðüÍ·é"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:260
-#: Src/wptPassphraseDlg.cpp:99
+#: Src/wptPassphraseDlg.cpp:134
msgid "Please enter a passphrase."
msgstr "pXt[Yðü͵ľ³¢B"
# c:\oss\winpt\src\wptKeygenDlg.cpp:227
-#: Src/wptPassphraseDlg.cpp:106
+#: Src/wptPassphraseDlg.cpp:142
msgid ""
"Your passphrase should be at least 8 characters long\n"
"and should contain non-alphabetic characters.\n"
@@ -5679,63 +5681,63 @@
msgstr "isXbhð쬻é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:427
-#: Src/wptProxySettingsDlg.cpp:69
+#: Src/wptProxySettingsDlg.cpp:73
msgid "Invalid host/IP address."
msgstr "³øÈzXgܽÍIPAhXB"
# c:\oss\winpt\src\wptKeygenDlg.cpp:200 c:\oss\winpt\src\wptKeygenDlg.cpp:377
-#: Src/wptProxySettingsDlg.cpp:78
+#: Src/wptProxySettingsDlg.cpp:82
msgid "Please enter the proxy hostname."
msgstr "vNV[zXg¼ðü͵ľ³¢B"
# c:\oss\winpt\src\wptImportList.cpp:84
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:967
-#: Src/wptProxySettingsDlg.cpp:84
+#: Src/wptProxySettingsDlg.cpp:88
msgid "Invalid port number."
msgstr "³øÈ|[gÔ"
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:52
-#: Src/wptProxySettingsDlg.cpp:90
+#: Src/wptProxySettingsDlg.cpp:94
msgid "Please select a value from 0-65535 for the port"
msgstr "O`UTTRTÌÍÍÌlðü͵ľ³¢B"
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:56
-#: Src/wptProxySettingsDlg.cpp:95
+#: Src/wptProxySettingsDlg.cpp:99
msgid "When you want to use authentication, please fill out both fields."
msgstr "FØðgp·éêÍA¼ûÌtB[hðgÁľ³¢B"
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:61
-#: Src/wptProxySettingsDlg.cpp:100
+#: Src/wptProxySettingsDlg.cpp:104
msgid "Please enter a host name and a port."
msgstr "zXg¼Æ|[gðü͵ľ³¢B"
-#: Src/wptProxySettingsDlg.cpp:151
+#: Src/wptProxySettingsDlg.cpp:158
msgid "Proxy host name or IP address"
msgstr "vbNV[zXg¼Ü½ÍIPAhX"
-#: Src/wptProxySettingsDlg.cpp:152
+#: Src/wptProxySettingsDlg.cpp:159
msgid "Server requires &authentication"
msgstr "T[o[ÉFتKvÅ·(&A)"
# c:\oss\winpt\src\wptKeygenDlg.cpp:147
-#: Src/wptProxySettingsDlg.cpp:153
+#: Src/wptProxySettingsDlg.cpp:160
msgid "User name"
msgstr "[U[¼"
-#: Src/wptProxySettingsDlg.cpp:154
+#: Src/wptProxySettingsDlg.cpp:161
msgid "Password"
msgstr "pX[h"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:473
-#: Src/wptProxySettingsDlg.cpp:155
+#: Src/wptProxySettingsDlg.cpp:162
msgid "Proxy type"
msgstr "vNV[ÌíÞ"
-#: Src/wptProxySettingsDlg.cpp:156
+#: Src/wptProxySettingsDlg.cpp:163
msgid "Authentication"
msgstr "FØ"
-#: Src/wptProxySettingsDlg.cpp:196
+#: Src/wptProxySettingsDlg.cpp:198
msgid "Please fill out all required fields for authentication."
msgstr "FØ·é½ÉßSÚðü͵ľ³¢B"
@@ -5795,13 +5797,13 @@
msgstr "úÀ"
# c:\oss\winpt\src\wptKeysigDlg.cpp:330
-#: Src/wptSigTreeDlg.cpp:160
+#: Src/wptSigTreeDlg.cpp:164
#, c-format
msgid "Signature Tree for \"%s\" (0x%s)"
msgstr "Ⱥp̼c[\"%s\" (0x%s)"
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:573
-#: Src/wptSigTreeDlg.cpp:162
+#: Src/wptSigTreeDlg.cpp:166
msgid "Edit..."
msgstr "ÒW..."
@@ -5816,7 +5818,7 @@
msgstr "f[^ÍRs[·éÌÉå«·¬Ü·B"
# c:\oss\winpt\src\wptTextInputDlg.cpp:80
-#: Src/wptTextInputDlg.cpp:81
+#: Src/wptTextInputDlg.cpp:83
msgid "Enter the text that was signed"
msgstr "¼µ½eLXgðüÍ·é"
@@ -5847,6 +5849,18 @@
msgid "Signed"
msgstr "¼µÜµ½"
+# c:\oss\winpt\src\wptKeyEditDlgs.cpp:829
+#~ msgid "No subkey(s) found."
+#~ msgstr "TuL[ª©Â©èܹñB"
+
+# c:\oss\winpt\src\wptKeyEditDlgs.cpp:932
+#~ msgid "No user ID(s) found."
+#~ msgstr "[U[IDª©Â©èܹñŵ½B"
+
+# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1086
+#~ msgid "Primary subkey can not be deleted!"
+#~ msgstr "vC}[TuL[ªíūܹñI"
+
# c:\oss\winpt\src\wptClipDecryptDlg.cpp:187
#~ msgid "WinPT Verify"
#~ msgstr "WinPT mF"
Modified: trunk/Src/ChangeLog
===================================================================
--- trunk/Src/ChangeLog 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/ChangeLog 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,3 +1,31 @@
+2006-06-06 Timo Schulz <ts at g10code.de>
+
+ * wptKeyEditCB.cpp (cmd_sign_handler): Return 0 by default
+ if no expire date were given.
+
+2006-06-05 Timo Schulz <ts at g10code.de>
+
+ * wptPassphraseDlg.cpp (request_passphrase): Release mem
+ in case of errors.
+ (request_key_passphrase): New.
+ (set_passphrase_hint): New.
+ * wptKeyEditDlgs.cpp (do_editkey_sign_userid): Show passphrase
+ hint. Suggested by vedaal.
+
+2006-06-03 Timo Schulz <ts at g10code.de>
+
+ * wptPINDlg.cpp (pin_dlg_proc): Remove static var.
+ * wptClipEncryptDlg.cpp (show_invalid_recipients): Handle
+ the case that 'encrypt-to' points to a non-existing item.
+ * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Do not close
+ the dialog if an error occurred.
+ * wptKeygenDlg.cpp (keygn_dlg_proc): Check expirate date.
+ * wptKeyEditDlgs.cpp (keyedit_adduid_dlg_proc): Release mem
+ in case of errors.
+ * wptKeyserverDlg.cpp (check_pattern): Improved code.
+ (keyserver_dlg_proc): All comparisons are case insentensive.
+ * wptKeyserver.cpp (parse_uid_record): utf8 decode user id.
+
2006-06-02 Timo Schulz <ts at g10code.de>
* wptKeygenDlg.cpp (keygen_dlg_proc): Forgot to apply patch.
Modified: trunk/Src/WinPT-en.rc
===================================================================
--- trunk/Src/WinPT-en.rc 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/WinPT-en.rc 2006-06-06 13:37:59 UTC (rev 225)
@@ -484,10 +484,10 @@
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,109,112,10
CONTROL "Sign &non-revocably",IDC_KEYSIGN_NREV,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,5,122,100,10
- COMBOBOX IDC_KEYSIGN_KEYLIST,5,137,192,49,CBS_DROPDOWNLIST |
+ COMBOBOX IDC_KEYSIGN_KEYLIST,5,137,219,49,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
LTEXT "Passphrase",IDC_KEYSIGN_PWDINF,5,155,44,8
- EDITTEXT IDC_KEYSIGN_PASSPHRASE,53,153,144,13,ES_PASSWORD |
+ EDITTEXT IDC_KEYSIGN_PASSPHRASE,53,153,170,13,ES_PASSWORD |
ES_AUTOHSCROLL
CONTROL "&Hide typing",IDC_KEYSIGN_HIDE,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,127,168,74,9
@@ -582,6 +582,7 @@
LVS_SINGLESEL | WS_BORDER | WS_TABSTOP,6,4,377,46
EDITTEXT IDC_VERIFY_INFO,6,53,377,21,ES_MULTILINE |
ES_AUTOHSCROLL | ES_WANTRETURN | WS_DISABLED
+ PUSHBUTTON "Notation data",IDC_VERIFY_SIGNOT,6,82,61,14
END
IDD_WINPT_OWNERTRUST DIALOG DISCARDABLE 0, 0, 182, 76
@@ -819,17 +820,19 @@
PUSHBUTTON "&Cancel",IDCANCEL,119,130,50,14
END
-IDD_WINPT_PASSWD DIALOG DISCARDABLE 0, 0, 219, 71
+IDD_WINPT_PASSWD DIALOG DISCARDABLE 0, 0, 235, 87
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Passphrase Dialog"
FONT 8, "MS Sans Serif"
BEGIN
- LTEXT "Enter passphrase",IDC_PASSWD_INFO,9,7,108,8
- EDITTEXT IDC_PASSWD_PWD,9,18,202,12,ES_PASSWORD | ES_AUTOHSCROLL
- DEFPUSHBUTTON "&OK",IDOK,107,50,50,14
- PUSHBUTTON "&Cancel",IDCANCEL,160,50,50,14
+ LTEXT "Enter passphrase",IDC_PASSWD_INFO,4,19,195,10
+ EDITTEXT IDC_PASSWD_PWD,4,32,224,12,ES_PASSWORD | ES_AUTOHSCROLL
+ DEFPUSHBUTTON "&OK",IDOK,125,66,50,14
+ PUSHBUTTON "&Cancel",IDCANCEL,178,66,50,14
CONTROL "&Hide Typing",IDC_PASSWD_HIDE,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,134,31,78,10
+ WS_TABSTOP,150,46,78,10
+ COMBOBOX IDC_PASSWD_KEYINF,4,3,224,57,CBS_DROPDOWNLIST |
+ WS_VSCROLL | WS_TABSTOP
END
IDD_WINPT_DATE DIALOG DISCARDABLE 0, 0, 93, 58
@@ -1652,9 +1655,9 @@
IDD_WINPT_PASSWD, DIALOG
BEGIN
LEFTMARGIN, 4
- RIGHTMARGIN, 212
+ RIGHTMARGIN, 228
TOPMARGIN, 3
- BOTTOMMARGIN, 65
+ BOTTOMMARGIN, 81
END
IDD_WINPT_DATE, DIALOG
@@ -1958,14 +1961,14 @@
VALUE "Comments", "This is free software under the terms of the GNU GPL v2\0"
VALUE "CompanyName", "\0"
VALUE "FileDescription", "Windows Privacy Tray (WinPT)\0"
- VALUE "FileVersion", "0.12.3\0"
+ VALUE "FileVersion", "1.0.0-pre0\0"
VALUE "InternalName", "WinPT\0"
VALUE "LegalCopyright", " Copyright (C) 2006 Timo Schulz\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "WinPT.exe\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "Windows Privacy Tray\0"
- VALUE "ProductVersion", "0.12.3\0"
+ VALUE "ProductVersion", "1.0.0-pre0\0"
VALUE "SpecialBuild", "\0"
END
END
Modified: trunk/Src/resource.h
===================================================================
--- trunk/Src/resource.h 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/resource.h 2006-06-06 13:37:59 UTC (rev 225)
@@ -655,6 +655,8 @@
#define IDC_PREFS_EXTINF 1530
#define IDC_PREFS_DEFEXT 1531
#define IDC_PREFS_BAKSECRING 1532
+#define IDC_VERIFY_SIGNOT 1533
+#define IDC_PASSWD_KEYINF 1534
#define ID_GPG_ENCRYPT 40003
#define ID_GPG_DECRYPT 40004
#define ID_GPG_SIGN 40005
@@ -839,7 +841,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 247
#define _APS_NEXT_COMMAND_VALUE 40190
-#define _APS_NEXT_CONTROL_VALUE 1533
+#define _APS_NEXT_CONTROL_VALUE 1535
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Modified: trunk/Src/wptClipEditDlg.cpp
===================================================================
--- trunk/Src/wptClipEditDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptClipEditDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,5 +1,5 @@
/* wptClipEditDlg.cpp - Clipboard Editor dialog
- * Copyright (C) 2000-2005 Timo Schulz
+ * Copyright (C) 2000-2006 Timo Schulz
*
* This file is part of WinPT.
*
@@ -44,6 +44,7 @@
0, 0};
#endif
+
/* Load the clipboard contents into the text field in @dlg.
Return value: 0 on success. */
static int
@@ -76,8 +77,8 @@
strcpy (p, cliptext);
GlobalUnlock (clipmem);
- CloseClipboard ();
- SetDlgItemText (dlg, IDC_CLIPEDIT_CLIPTEXT2, p);
+ CloseClipboard ();
+ SetDlgItemText (dlg, IDC_CLIPEDIT_CLIPTEXT2, p);
free_if_alloc (p);
return 0;
@@ -96,17 +97,17 @@
int id;
memset (&open, 0, sizeof (open));
- open.lStructSize = sizeof (OPENFILENAME);
- open.hInstance = glob_hinst;
- open.lpstrTitle = _("File Open");
- open.lpstrFilter = (char *)"All Files (*.*)\0*.*\0\0";
+ open.lStructSize = sizeof (OPENFILENAME);
+ open.hInstance = glob_hinst;
+ open.lpstrTitle = _("File Open");
+ open.lpstrFilter = "All Files (*.*)\0*.*\0\0";
open.hwndOwner = dlg;
open.lpstrFile = file;
open.nMaxFile = sizeof (file)-1;
open.Flags = OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST;
if (GetOpenFileName (&open)) {
- if( (size=get_file_size (file)) > MAX_CLIPTEXT_SIZE) {
+ if( (size=get_file_size (file)) > MAX_CLIPTEXT_SIZE) {
id = msg_box (dlg, _("The file you want to add is very large.\n"
"Still proceed?"), _("Clipboard"),
MB_INFO|MB_YESNO);
@@ -122,8 +123,8 @@
p = new char[size+1];
if (!p)
BUG (0);
- fread (p, 1, size, fp);
- p[size] = '\0';
+ memset (p, 0, size+1);
+ size = fread (p, 1, size, fp);
fclose (fp);
SetDlgItemText (dlg, IDC_CLIPEDIT_CLIPTEXT2, p);
free_if_alloc (p);
@@ -152,9 +153,9 @@
save.lpstrFile = file;
save.nMaxFile = sizeof (file) - 1;
save.Flags = OFN_OVERWRITEPROMPT;
-
- if( GetSaveFileName( &save ) ) {
- if( file_exist_check( file ) == 0 ) {
+
+ if (GetSaveFileName (&save)) {
+ if (file_exist_check (file) == 0) {
id = log_box (_("Clipboard"), MB_YESNO,
_("\"%s\" already exists.\n"
"Replace existing file?"), file);
@@ -207,11 +208,6 @@
case WM_HELP:
html_help_dispatch (lparam, "winpt.chm::winpt_texts.txt", help_arr);
break;
-
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, TRUE);
- return TRUE;
case WM_COMMAND:
switch (LOWORD (wparam)) {
@@ -252,8 +248,8 @@
case IDC_CLIPEDIT_LOAD:
if (!load_clipboard_from_file (dlg)) {
- /* XXX: for some files the code produces a crash! */
- PostMessage (dlg, WM_COMMAND, MAKEWPARAM(IDC_CLIPEDIT_SEND, 0), 0);
+ CheckDlgButton (dlg, IDC_CLIPEDIT_QUOTE, BST_UNCHECKED);
+ PostMessage (dlg, WM_COMMAND, MAKEWPARAM (IDC_CLIPEDIT_SEND, 0), 0);
}
return TRUE;
Modified: trunk/Src/wptClipEncryptDlg.cpp
===================================================================
--- trunk/Src/wptClipEncryptDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptClipEncryptDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -95,6 +95,8 @@
gpgme_invalid_key_t k;
gpgme_key_t key;
size_t len=0;
+ const char *keyid;
+ const char *warn = _("key not found");
char *uid, *p;
if (!ctx)
@@ -104,9 +106,10 @@
return -1;
for (k=res->invalid_recipients; k; k = k->next) {
- if (get_pubkey (k->fpr, &key))
- continue;
- len += (32 + 16 + strlen (key->uids->name) + 2) + 4;
+ if (!get_pubkey (k->fpr, &key))
+ len += (32 + strlen (k->fpr)+8 + strlen (key->uids->name) + 2) + 4;
+ else
+ len += strlen (warn) + strlen (k->fpr)+8 + 2 + 4;
}
p = (char *)calloc (1, len+64);
@@ -114,10 +117,15 @@
BUG (NULL);
strcpy (p, _("Recipients unsuable for encryption:\n"));
for (k = res->invalid_recipients; k; k = k->next) {
- if (get_pubkey (k->fpr, &key))
- continue;
- uid = utf8_to_native (key->uids->name);
- strcat (p, key->subkeys->keyid+8);
+ if (!get_pubkey (k->fpr, &key)) {
+ uid = utf8_to_native (key->uids->name);
+ keyid = key->subkeys->keyid+8;
+ }
+ else {
+ uid = strdup (warn);
+ keyid = k->fpr;
+ }
+ strcat (p, keyid);
strcat (p, " : ");
strcat (p, uid);
strcat (p, "\n");
Modified: trunk/Src/wptClipSignDlg.cpp
===================================================================
--- trunk/Src/wptClipSignDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptClipSignDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -148,15 +148,11 @@
{
listview_ctrl_t lv;
gpg_keycache_t kc, sec_kc;
- int nkeys = 0;
+ int nkeys;
SetWindowText (dlg, _("Signing"));
kc = keycache_get_ctx (KEYCACHE_PUB);
- if (!kc)
- BUG (0);
sec_kc = keycache_get_ctx (KEYCACHE_PRV);
- if (!sec_kc)
- BUG (0);
nkeys = count_useable_seckeys (sec_kc);
if (nkeys < 1) {
@@ -175,6 +171,18 @@
}
+static const char*
+lookup_key_userid (const char *patt)
+{
+ winpt_key_s key;
+
+ memset (&key, 0, sizeof (key));
+ if (winpt_get_pubkey (patt, &key))
+ return patt;
+ return key.ext->uids->uid;
+}
+
+
/* Dialog box procedure for clipboard signing. */
BOOL CALLBACK
clip_sign_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
@@ -184,7 +192,7 @@
gpgme_error_t err;
passphrase_cb_s pwd;
int lv_idx = 0;
- int rc = 0, no_signer = 0;
+ int rc = 0, sel_signer = 0;
char *signer = NULL;
switch (msg) {
@@ -202,50 +210,44 @@
return FALSE;
case WM_NOTIFY:
- NMHDR * notify;
+ NMHDR *notify;
notify = (NMHDR *)lparam;
- if( notify && notify->code == NM_DBLCLK
- && notify->idFrom == IDC_SIGN_KEYLIST )
- PostMessage (dlg, WM_COMMAND, MAKEWPARAM(IDOK, 0), 0);
+ if (notify && notify->code == NM_DBLCLK
+ && notify->idFrom == IDC_SIGN_KEYLIST)
+ PostMessage (dlg, WM_COMMAND, MAKEWPARAM (IDOK, 0), 0);
return TRUE;
- case WM_SYSCOMMAND:
- if( LOWORD (wparam) == SC_CLOSE )
- EndDialog(dlg, TRUE);
- return FALSE;
-
case WM_COMMAND:
switch (LOWORD (wparam)) {
case IDOK:
+ sel_signer = 1;
signer = get_gnupg_default_key ();
if (!signer) {
- msg_box( dlg, _("Could not get default key."), _("Signing"), MB_ERR );
+ msg_box (dlg, _("Could not get default key."),
+ _("Signing"), MB_ERR);
return FALSE;
}
- if (listview_count_items (lv, 0) == 1) {
- listview_get_item_text (lv, 0, 1, signer, sizeof signer-1);
- no_signer = 0;
- }
else if ((lv_idx = listview_get_selected_item (lv)) == -1) {
rc = log_box (_("Signing"), MB_YESNO,
- _("No key was chosen.\nUse the GPG default key '%s'?"),
- signer);
+ _("No key was chosen.\n"
+ "Use the GPG default key '%s'?"),
+ lookup_key_userid (signer));
if (rc == IDNO) {
free_if_alloc (signer);
return FALSE;
}
- no_signer = 1;
+ sel_signer = 0;
}
- if (!no_signer) {
+ if (sel_signer) {
free_if_alloc (signer);
signer = new char[32+1];
if (!signer)
BUG (NULL);
- listview_get_item_text (lv, lv_idx, 1, signer, 32);
+ listview_get_item_text (lv, lv_idx, KM_COL_KEYID, signer, 32);
}
err = gpgme_new (&ctx);
if (err)
- BUG (dlg);
+ BUG (NULL);
set_gpg_passphrase_cb (&pwd, ctx, GPG_CMD_SIGN, dlg, _("Signing"));
err = gpg_clip_sign (ctx, signer, reg_prefs.word_wrap);
free_if_alloc (signer);
@@ -259,10 +261,10 @@
if (err) {
msg_box (dlg, gpgme_strerror (err), _("Signing"), MB_ERR);
gpgme_release (ctx);
- return FALSE;
+ return TRUE;
}
- else
- show_msg( dlg, 1500, _("GnuPG Status: Finished") );
+ else
+ show_msg (dlg, 1500, _("GnuPG Status: Finished"));
gpgme_release (ctx);
EndDialog (dlg, TRUE);
return TRUE;
Modified: trunk/Src/wptClipSignEncDlg.cpp
===================================================================
--- trunk/Src/wptClipSignEncDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptClipSignEncDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,5 +1,5 @@
/* wptSignEncDlg.cpp - Sign & encrypt dialog
- * Copyright (C) 2000-2005 Timo Schulz
+ * Copyright (C) 2000-2006 Timo Schulz
*
* This file is part of WinPT.
*
@@ -106,13 +106,11 @@
int force_trust = 0;
int n;
- switch( msg ) {
+ switch (msg) {
case WM_INITDIALOG:
SetWindowText (dlg, _("Sign & Encrypt"));
SetDlgItemText (dlg, IDCANCEL, _("&Cancel"));
kc = keycache_get_ctx (KEYCACHE_PUB);
- if (!kc)
- BUG (NULL);
lv = keylist_load (GetDlgItem (dlg, IDC_SIGNENC_KEYLIST),
kc, NULL, KEYLIST_ENCRYPT_MIN, KEY_SORT_USERID);
seclist_init (dlg, IDC_SIGNENC_SECLIST, KEYLIST_FLAG_SHORT, &list);
@@ -132,18 +130,13 @@
return FALSE;
case WM_NOTIFY:
- NMHDR * notify;
+ NMHDR *notify;
notify = (NMHDR *)lparam;
if (notify && notify->code == NM_DBLCLK
&& notify->idFrom == IDC_SIGNENC_KEYLIST)
PostMessage (dlg, WM_COMMAND, MAKEWPARAM (IDOK, 0), 0);
return TRUE;
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, TRUE);
- return FALSE;
-
case WM_COMMAND:
if (HIWORD (wparam) == BN_CLICKED
&& LOWORD (wparam) == IDC_SIGNENC_SELKEY) {
@@ -158,12 +151,13 @@
_("Sign & Encrypt"), MB_ERR);
return FALSE;
}
- if( IsDlgButtonChecked( dlg, IDC_SIGNENC_SELKEY ) ) {
+ if (IsDlgButtonChecked (dlg, IDC_SIGNENC_SELKEY)) {
gpgme_key_t key;
- const char * s;
+ const char *s;
- if( seclist_select_key( dlg, IDC_SIGNENC_SECLIST, &key ) ) {
+ if (seclist_select_key (dlg, IDC_SIGNENC_SECLIST, &key)) {
msg_box (dlg, _("No key was selected."), _("Signing"), MB_ERR);
+ safe_free (rset);
return FALSE;
}
s = key->subkeys->keyid;
@@ -174,6 +168,7 @@
signer = get_gnupg_default_key ();
if (!signer) {
msg_box (dlg, _("Could not get default key."), _("Signing"), MB_ERR);
+ safe_free (rset);
return FALSE;
}
}
@@ -181,25 +176,24 @@
err = gpgme_new (&ctx);
if (err)
BUG (NULL);
-
set_gpg_passphrase_cb (&pwd, ctx, GPG_CMD_SIGN, dlg, _("Sign & Encrypt"));
err = gpg_clip_sign_encrypt (ctx, signer, rset, force_trust);
release_gpg_passphrase_cb (&pwd);
- free (rset);
+ safe_free (rset);
free_if_alloc (signer);
gpgme_release (ctx);
if (gpgme_err_code (err) == GPG_ERR_BAD_PASSPHRASE)
agent_del_cache (pwd.keyid);
- if (err) {
- msg_box (dlg, gpgme_strerror (err), _("Sign & Encrypt"), MB_ERR );
- return FALSE;
+ if (err)
+ msg_box (dlg, gpgme_strerror (err), _("Sign & Encrypt"), MB_ERR);
+ else {
+ show_msg (dlg, 1500, _("GnuPG Status: Finished"));
+ EndDialog (dlg, TRUE);
}
- show_msg (dlg, 1500, _("GnuPG Status: Finished"));
- EndDialog (dlg, TRUE);
return TRUE;
case IDCANCEL:
- EndDialog( dlg, FALSE );
+ EndDialog (dlg, FALSE);
return FALSE;
}
break;
Modified: trunk/Src/wptClipVerifyDlg.cpp
===================================================================
--- trunk/Src/wptClipVerifyDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptClipVerifyDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -99,16 +99,20 @@
}
-/* Display the policy URL and the notation data of a signature.
- If @not is NULL, it is assumed there is no data.
- @dlg is the handle to the calling dialog. */
+/* Display the policy URL and the notation data of a signature. */
static void
-show_notation_data (HWND dlg, gpgme_sig_notation_t nota)
+show_notation_data (HWND dlg, gpgme_ctx_t ctx)
{
+ gpgme_sig_notation_t nota;
gpgme_sig_notation_t n;
+ gpgme_verify_result_t res;
size_t len=0;
char *p;
+ res = gpgme_op_verify_result (ctx);
+ if (!res || !res->signatures || !res->signatures->notations)
+ return;
+ nota = res->signatures->notations;
for (n=nota; n; n = n->next) {
if (n->name)
len += strlen (n->name) + 1 + 2;
@@ -134,22 +138,57 @@
}
msg_box (dlg, p, _("Signature Information"), MB_INFO);
- free (p);
+ safe_free (p);
}
+/* Ask the user whether to fetch the missing key from the keyserver. */
+static BOOL
+fetch_key_from_keyserver (HWND dlg, gpgme_signature_t sig)
+{
+ const char *keyid;
+ const char *kserv;
+ WORD port;
+ int id;
+
+ if (!sig->fpr)
+ return FALSE;
+ keyid = get_keyid_from_fpr (sig->fpr);
+ id = log_box (_("Verify"), MB_INFO|MB_YESNO,
+ _("Signature made %s using %s key ID 0x%s\n"
+ "Cannot check signature: public key not found\n\n"
+ "Do you want to try to retrieve the key from the keyserver?"),
+ strtimestamp (sig->timestamp),
+ get_key_pubalgo (sig->pubkey_algo), keyid);
+ if (id == IDNO) {
+ msg_box (dlg, get_gpg_sigstat (GPGME_SIGSUM_KEY_MISSING),
+ _("Verify"), MB_WARN);
+ return FALSE;
+ }
+
+ kserv = default_keyserver;
+ port = default_keyserver_port;
+
+ /* XXX: gpgme currently does not include to return the preferred
+ keyserver that might be stored within the signature. */
+
+ if (!hkp_recv_key (dlg, kserv, port, keyid+8, 0, 0))
+ keycache_update (0, keyid+8);
+ return TRUE;
+}
+
+
/* Dialog procedure for the clipboard verification. */
BOOL CALLBACK
clip_verify_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
static verlist_ctrl_t vlv = NULL;
+ static gpgme_ctx_t c = NULL;
text_input_s *ctx;
gpgme_error_t err;
gpgme_signature_t sig = NULL, s;
gpg_keycache_t kc = NULL;
- gpgme_ctx_t c=NULL;
const char *det_data=NULL;
- WORD port = HKP_PORT;
int rc = 0, det_len=0;
switch (msg) {
@@ -157,14 +196,12 @@
SetWindowText (dlg, _("Verify"));
SetDlgItemText (dlg, IDC_VERIFY_SAVE, _("&Save"));
kc = keycache_get_ctx (KEYCACHE_PUB);
- if (!kc)
- BUG (NULL);
ctx = (text_input_s *)lparam;
if (ctx) {
det_data = ctx->data;
det_len = ctx->length;
}
- err = gpg_clip_verify (ctx && ctx->length > 0,
+ err = gpg_clip_verify (ctx && ctx->length > 0,
det_data, det_len, &c, &sig);
if (err) {
msg_box (dlg, gpgme_strerror (err), _("Verify"), MB_ERR);
@@ -175,46 +212,12 @@
}
if (gpgme_err_code (sig->status) == GPG_ERR_NO_PUBKEY) {
- const char *keyid;
- const char *kserv;
- if (!sig->fpr)
- BUG (NULL);
- keyid = get_keyid_from_fpr (sig->fpr);
- rc = log_box (_("Verify"), MB_INFO|MB_YESNO,
- _("Signature made %s using %s key ID 0x%s\n"
- "Cannot check signature: public key not found\n\n"
- "Do you want to try to retrieve the key from the keyserver?"),
- strtimestamp (sig->timestamp),
- get_key_pubalgo (sig->pubkey_algo), keyid);
- if (rc == IDNO) {
- msg_box (dlg, get_gpg_sigstat (GPGME_SIGSUM_KEY_MISSING), _("Verify"), MB_WARN);
+ if (fetch_key_from_keyserver (dlg, sig)) {
gpgme_release (c);
- EndDialog (dlg, FALSE);
- return FALSE;
- }
- if (0) {
- /* FIXME: does GPGME include the keyserver status
- kserv = gpgme_sig_get_string_attr (sig, GPGME_ATTR_KEYSERVER);
- if (kserv && strncmp (kserv, "hkp://", 6)) {
- rc = log_box (_("Verify"), MB_INFO|MB_YESNO,
- _("The users preferred keyserver is '%s'.\n"
- "Do you want to use it to fetch the key?"), kserv);
- if (rc == IDNO) {
- kserv = default_keyserver;
- port = default_keyserver_port;
- }*/
+ EndDialog (dlg, FALSE);
+ return TRUE;
}
- else {
- kserv = default_keyserver;
- port = default_keyserver_port;
- }
- if (!hkp_recv_key (dlg, kserv, port, keyid+8, 0, 0)) {
- keycache_update (0, keyid+8);
- kc = keycache_get_ctx (KEYCACHE_PUB);
- if (!kc)
- BUG (dlg);
- }
- }
+ }
else if (gpgme_err_code (sig->status) == GPG_ERR_BAD_SIGNATURE &&
!sig->timestamp)
;
@@ -234,14 +237,17 @@
_("Verify"), MB_ERR);
}
- if (sig->notations)
- show_notation_data (dlg, sig->notations);
- gpgme_release (c);
+ if (!sig->notations)
+ ShowWindow (GetDlgItem (dlg, IDC_VERIFY_SIGNOT), SW_HIDE);
SetForegroundWindow (dlg);
return TRUE;
case WM_DESTROY:
- if (vlv) {
+ if (c != NULL) {
+ gpgme_release (c);
+ c = NULL;
+ }
+ if (vlv != NULL) {
verlist_delete (vlv);
vlv = NULL;
}
@@ -251,11 +257,15 @@
switch (LOWORD (wparam )) {
case IDCANCEL:
EndDialog (dlg, FALSE);
- break;
+ return TRUE;
case IDOK:
EndDialog (dlg, TRUE);
- return FALSE;
+ return TRUE;
+
+ case IDC_VERIFY_SIGNOT:
+ show_notation_data (dlg, c);
+ return TRUE;
case IDC_VERIFY_SAVE:
dialog_box_param (glob_hinst, (LPCTSTR)IDD_WINPT_FILE_SAVE, dlg,
Modified: trunk/Src/wptCurrWnd.cpp
===================================================================
--- trunk/Src/wptCurrWnd.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptCurrWnd.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -32,9 +32,9 @@
#define KEYUP( vcode, scode) keybd_event( (vcode), (scode), KEYEVENTF_KEYUP, 0 )
-extern HWND PTD_get_curr_hwnd( void );
-extern BOOL PTD_keyb_send( UINT *keys, UINT n_keys );
-int PTD_is_used( void );
+extern "C" HWND PTD_get_curr_hwnd( void );
+extern "C" BOOL PTD_keyb_send( UINT *keys, UINT n_keys );
+extern "C" int PTD_is_used( void );
static void
clip_clear (void)
@@ -65,8 +65,9 @@
return 0;
} /* clip_check */
+
static void
-wnd_msg_markall( HWND hwnd )
+wnd_msg_markall (void)
{
unsigned keys[4] = {0};
@@ -84,11 +85,11 @@
KEYUP( (BYTE)'A', 0x1e );
KEYUP( VK_CONTROL, 0x1d );
}
-} /* msg_wm_markall */
+}
static void
-wnd_msg_paste( HWND hwnd )
+wnd_msg_paste (void)
{
unsigned keys[4] = {0};
@@ -105,15 +106,15 @@
KEYUP( (BYTE)'V', 0x2f );
KEYUP( VK_CONTROL, 0x1d );
}
-} /* msg_wm_paste */
+}
static void
-wnd_msg_copy( HWND hwnd )
+wnd_msg_copy (void)
{
unsigned keys[4] = {0};
- if( PTD_is_used() ) {
+ if (PTD_is_used ()) {
keys[0] = VK_CONTROL | 0x8000;
keys[1] = 'C' | 0x8000;
keys[2] = 'C';
@@ -202,8 +203,8 @@
}
/* The last try is to send a mark all and copy to clipboard command */
- wnd_msg_markall( hwnd );
- wnd_msg_copy( hwnd );
+ wnd_msg_markall ();
+ wnd_msg_copy ();
if( !clip_check( ) )
rc = 0;
@@ -235,7 +236,7 @@
lost = SetFocus( hwnd );
wnd_msg_em_set_pos( hwnd, 0 );
- wnd_msg_paste( hwnd );
+ wnd_msg_paste ();
wnd_msg_em_set_pos( hwnd, 1 );
AttachThreadInput( GetCurrentThreadId(),
Modified: trunk/Src/wptFileStatDlg.cpp
===================================================================
--- trunk/Src/wptFileStatDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptFileStatDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,5 +1,5 @@
-/* wptFileStatDlg.cpp - (File Manager) Show file statistics
- * Copyright (C) 2002, 2003, 2005 Timo Schulz
+/* wptFileStatDlg.cpp - List the status of an OpenPGP file
+ * Copyright (C) 2002, 2003, 2005, 2006 Timo Schulz
*
* This file is part of WinPT.
*
@@ -27,15 +27,25 @@
#include "resource.h"
#include "wptTypes.h"
-#include "wptNLS.h"
#include "wptGPG.h"
#include "wptCommonCtl.h"
#include "wptContext.h"
-#include "wptDlgs.h"
#include "wptErrors.h"
#include "wptW32API.h"
+#include "wptUTF8.h"
#include "openpgp.h"
+
+const char*
+get_fmt_date (long timest)
+{
+ static char buf[64];
+
+ get_locale_date (timest, buf, sizeof (buf)-1);
+ return buf;
+}
+
+
static const char*
get_pubkey_algo (int algo)
{
@@ -60,7 +70,7 @@
case 4: return "BLOWFISH";
case 5: return "RESERVED";
case 6: return "RESERVED";
- case 7: return "AES";
+ case 7: return "AES-128";
case 8: return "AES-192";
case 9: return "AES-256";
default: break;
@@ -117,20 +127,7 @@
}
-static const char*
-get_timestring (long timestamp)
-{
- static char ts[64];
- struct tm *ltm;
-
- ltm = localtime (×tamp);
- _snprintf(ts, sizeof ts -1, "%04d-%02d-%02d",
- ltm->tm_year + 1900, ltm->tm_mon + 1, ltm->tm_mday);
- return ts;
-}
-
-
-/* List all PGP packets from the file @file.
+/* List all OpenPGP packets from the file @file.
Return value: number of packets. */
static int
do_list_packets (HWND list, const char *file)
@@ -140,7 +137,7 @@
armor_filter_context_t afx;
size_t n=0;
int rc = 0;
- char inf[1024];
+ char inf[1024], *p;
if (!list || !file) {
log_debug ("do_list_packets: !list || !file");
@@ -178,8 +175,9 @@
break;
_snprintf (inf, sizeof(inf)-1,
"symmetric key encrypted packet: version %d, cipher %s, s2k %s, hash %s",
- enc->version, get_symkey_algo(enc->cipher_algo),
- get_s2k_algo (enc->s2k.mode), get_digest_algo(enc->s2k.hash_algo));
+ enc->version, get_symkey_algo (enc->cipher_algo),
+ get_s2k_algo (enc->s2k.mode),
+ get_digest_algo (enc->s2k.hash_algo));
listbox_add_string (list, inf); }
break;
@@ -188,10 +186,10 @@
{PKT_encrypted *enc = pkt->pkt.encrypted; n++;
if (!enc)
break;
- _snprintf( inf, sizeof(inf)-1,
- "encrypted data packet: mdc method %d, length %d",
- enc->mdc_method, enc->len );
- listbox_add_string( list, inf ); }
+ _snprintf (inf, sizeof(inf)-1,
+ "encrypted data packet: mdc method %d, length %d",
+ enc->mdc_method, enc->len);
+ listbox_add_string (list, inf); }
break;
case PKT_PUBLIC_KEY:
@@ -201,9 +199,9 @@
break;
_snprintf( inf, sizeof(inf)-1,
"public key packet: version %d, algo %s, created %s",
- pk->version, get_pubkey_algo(pk->pubkey_algo),
- get_timestring(pk->timestamp));
- listbox_add_string( list, inf ); }
+ pk->version, get_pubkey_algo (pk->pubkey_algo),
+ get_fmt_date (pk->timestamp));
+ listbox_add_string (list, inf); }
break;
case PKT_SECRET_KEY:
@@ -213,13 +211,12 @@
break;
_snprintf( inf, sizeof(inf)-1,
"secret key packet: version %d, algo %s, created %s mode %d",
- sk->version, get_pubkey_algo( sk->pubkey_algo ),
- get_timestring( sk->timestamp ),
- sk->protect.s2k.mode );
- listbox_add_string( list, inf ); }
+ sk->version, get_pubkey_algo (sk->pubkey_algo),
+ get_fmt_date (sk->timestamp),
+ sk->protect.s2k.mode);
+ listbox_add_string (list, inf); }
break;
-
-
+
case PKT_SIGNATURE:
{PKT_signature *sig = pkt->pkt.signature; n++;
if (!sig)
@@ -227,8 +224,8 @@
_snprintf( inf, sizeof(inf)-1,
"signature packet: version %d, algo %s, keyid 0x%08X, created %s",
sig->version, get_pubkey_algo(sig->pubkey_algo), sig->keyid[1],
- get_timestring(sig->timestamp));
- listbox_add_string( list, inf ); }
+ get_fmt_date (sig->timestamp));
+ listbox_add_string (list, inf); }
break;
@@ -236,17 +233,20 @@
{PKT_user_id *id = pkt->pkt.user_id; n++;
if (!id)
break;
- _snprintf( inf, sizeof(inf)-1, "user id packet: %s", id->name );
- listbox_add_string( list, inf ); }
+ p = utf8_to_native (id->name);
+ _snprintf (inf, sizeof (inf)-1, "user id packet: %s", p);
+ free_if_alloc (p);
+ listbox_add_string (list, inf); }
break;
case PKT_COMPRESSED:
{PKT_compressed *zip = pkt->pkt.compressed; n++;
if (!zip)
break;
- _snprintf( inf, sizeof(inf)-1, "compressed packet: algo %s, length %d",
- get_compress_algo(zip->algorithm), zip->len );
- listbox_add_string( list, inf ); }
+ _snprintf (inf, sizeof(inf)-1,
+ "compressed packet: algo %s, length %d",
+ get_compress_algo(zip->algorithm), zip->len);
+ listbox_add_string (list, inf); }
break;
default:
@@ -270,25 +270,19 @@
switch (msg) {
case WM_INITDIALOG:
- #ifndef LANG_DE
SetWindowText (dlg, _("File Status"));
- #endif
file = (const char*)lparam;
- if (file == NULL)
- dlg_fatal_error( dlg, "Could not get dialog state!" );
+ if (!file)
+ BUG (0);
n = do_list_packets (GetDlgItem (dlg, IDC_FILE_STAT_LIST), file);
if (n < 1) {
msg_box (dlg, _("No valid OpenPGP data found."), _("File Status"), MB_ERR);
EndDialog (dlg, FALSE);
+ return TRUE;
}
SetForegroundWindow (dlg);
break;
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, TRUE);
- return TRUE;
-
case WM_COMMAND:
switch (LOWORD (wparam)) {
case IDOK:
Modified: trunk/Src/wptGPGOptDlg.cpp
===================================================================
--- trunk/Src/wptGPGOptDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptGPGOptDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -17,7 +17,6 @@
* along with WinPT; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
-
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@@ -45,31 +44,30 @@
switch (msg) {
case WM_INITDIALOG:
optbuf = get_gnupg_config ();
- if (!optbuf)
- dlg_fatal_error (dlg, _("Could not load GnuPG config file!"));
+ if (!optbuf) {
+ msg_box (dlg, _("Could not load GnuPG config file!"),
+ _("GPG Config"), MB_ERR);
+ EndDialog (dlg, FALSE);
+ return TRUE;
+ }
SetDlgItemText (dlg, IDC_GPGOPT_FILE, optbuf);
SetWindowText (dlg, _("GnuPG Configuration File" ));
SetDlgItemText (dlg, IDC_GPGOPT_SAVE, _("&Save"));
SetDlgItemText (dlg, IDC_GPGOPT_LOAD, _("&Load"));
- free_if_alloc( optbuf );
- SetForegroundWindow( dlg );
+ free_if_alloc (optbuf);
+ SetForegroundWindow (dlg);
return TRUE;
- case WM_SYSCOMMAND:
- if( LOWORD (wparam) == SC_CLOSE )
- EndDialog(dlg, TRUE);
- return FALSE;
-
case WM_COMMAND:
switch( LOWORD( wparam ) ) {
case IDC_GPGOPT_SAVE:
optbuf = new char[nbytes + 1];
- if( !optbuf )
- BUG( dlg);
- nbytes = GetDlgItemText( dlg, IDC_GPGOPT_FILE, optbuf, nbytes );
- if( !nbytes ) {
- msg_box( dlg, _("The 'gpg.conf' file is not loaded."), _("GPG Config"), MB_ERR );
- free_if_alloc( optbuf );
+ if (!optbuf)
+ BUG (0);
+ nbytes = GetDlgItemText (dlg, IDC_GPGOPT_FILE, optbuf, nbytes);
+ if (!nbytes) {
+ msg_box (dlg, _("The 'gpg.conf' file is not loaded."), _("GPG Config"), MB_ERR);
+ free_if_alloc (optbuf);
return FALSE;
}
optbuf[nbytes] = '\0';
Modified: trunk/Src/wptGPGPrefsDlg.cpp
===================================================================
--- trunk/Src/wptGPGPrefsDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptGPGPrefsDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -100,17 +100,17 @@
p = get_reg_entry_gpg ("HomeDir");
if (p) {
SetDlgItemText (dlg, IDC_GPGPREFS_HOMEDIR, p);
- free_if_alloc (p);
+ free_if_alloc (p);
}
p = get_reg_entry_gpg ("gpgProgram");
if (p) {
SetDlgItemText (dlg, IDC_GPGPREFS_EXEDIR, p);
- free_if_alloc (p);
+ free_if_alloc (p);
}
p = get_reg_entry_mo ();
if (p) {
SetDlgItemText (dlg, IDC_GPGPREFS_LOCALE, p);
- free_if_alloc (p);
+ free_if_alloc (p);
}
if (!item_get_text_length (dlg, IDC_GPGPREFS_HOMEDIR)) {
p = multi_gnupg_path (0);
@@ -188,11 +188,6 @@
case WM_DESTROY:
gpg4win = false;
break;
-
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, FALSE);
- return FALSE;
case WM_COMMAND:
if (HIWORD (wparam) == BN_CLICKED &&
@@ -263,6 +258,7 @@
msg_box (dlg, _("Could not get GPG config file"),
_("Preferences"), MB_ERR);
EndDialog (dlg, FALSE);
+ return TRUE;
}
parse_gpg_options (p, &opt);
@@ -283,7 +279,7 @@
reg_prefs.gpg.ask_cert_expire = 0;
}
- n = GetDlgItemText(dlg, IDC_GPGPREFS_COMMENT, t, sizeof t - 1);
+ n = GetDlgItemText(dlg, IDC_GPGPREFS_COMMENT, t, DIM (t)-1);
if (n > 0)
modify_entry (opt, ENTRY_MULTI, "comment", t);
else if (n == 0)
@@ -291,7 +287,7 @@
else
delete_option (opt, "comment");
- n = GetDlgItemText (dlg, IDC_GPGPREFS_ENCTO, t, sizeof t -1);
+ n = GetDlgItemText (dlg, IDC_GPGPREFS_ENCTO, t, DIM (t)-1);
if (n > 0)
modify_entry (opt, ENTRY_MULTI, "encrypt-to", t);
else
Modified: trunk/Src/wptKeyEdit.cpp
===================================================================
--- trunk/Src/wptKeyEdit.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeyEdit.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -22,8 +22,9 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+
+#include <windows.h>
#include <time.h>
-#include <windows.h>
#include "gpgme.h"
#include "wptCommonCtl.h"
Modified: trunk/Src/wptKeyEditCB.cpp
===================================================================
--- trunk/Src/wptKeyEditCB.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeyEditCB.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -119,11 +119,11 @@
if (!ctx->cmd_sent && !strcmp (key, "keyedit.prompt")) {
ctx->cmd_sent = 1;
switch (ctx->getType ()) {
- case GPG_EDITKEY_SIGN: return "sign";
- case GPG_EDITKEY_TSIGN: return "tsign";
- case GPG_EDITKEY_LSIGN: return "lsign";
- case GPG_EDITKEY_NRSIGN: return"nrsign";
- case GPG_EDITKEY_NRLSIGN: return "nrlsign";
+ case GPG_EDITKEY_SIGN: return "sign";
+ case GPG_EDITKEY_TSIGN: return "tsign";
+ case GPG_EDITKEY_LSIGN: return "lsign";
+ case GPG_EDITKEY_NRSIGN: return "nrsign";
+ case GPG_EDITKEY_NRLSIGN: return "nrlsign";
}
}
if (!strcmp (key, "sign_uid.class")) {
@@ -133,7 +133,7 @@
if (!strcmp (key, "sign_uid.expire"))
return "Y"; /* the sig expires when the key expires */
if (!strcmp (key, "siggen.valid"))
- return ctx->exp_date;
+ return ctx->exp_date? ctx->exp_date : "0";
if (!strcmp (key, "trustsig_prompt.trust_value")) {
sprintf (buf, "%d", ctx->trust_id);
return buf;
Modified: trunk/Src/wptKeyEditDlgs.cpp
===================================================================
--- trunk/Src/wptKeyEditDlgs.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeyEditDlgs.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -151,11 +151,12 @@
static subclass_s keyedit_uid_proc;
int keygen_check_date (SYSTEMTIME *st);
-void get_userid_preflist (char **r_prefs, int * r_flags);
+void get_userid_preflist (char **r_prefs, int *r_flags);
char* get_subkey_keyid (const char *keyid);
-
void ComboBox_AddString_utf8 (HWND cb, const char *txt);
+
+/* Safe wrapper for allocation. */
static GpgKeyEdit*
create_GpgKeyEdit (const char *keyid)
{
@@ -179,11 +180,8 @@
int i, n;
pub = keycache_get_ctx (1);
- if (!pub)
- BUG (0);
-
gpg_keycache_rewind (pub);
- while( !gpg_keycache_next_key (pub, 0, &key)) {
+ while (!gpg_keycache_next_key (pub, 0, &key)) {
if (key->expired || key->revoked ||
key->disabled || key->invalid)
continue;
@@ -282,8 +280,8 @@
delete ke;
if (err) {
log_box (_("user ID"), MB_ERR,
- _("Could not get key information for: \"%s\":\n%s"),
- name, gpgme_strerror (err));
+ _("Could not get key information for: \"%s\":\n%s"),
+ name, gpgme_strerror (err));
return -1;
}
@@ -362,14 +360,6 @@
SetForegroundWindow (dlg);
break;
- case WM_DESTROY:
- break;
-
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, TRUE);
- break;
-
case WM_COMMAND:
switch( LOWORD (wparam)) {
case IDC_ADDPHOTO_SELFILE:
@@ -387,7 +377,8 @@
case IDOK:
if (!GetDlgItemText (dlg, IDC_ADDPHOTO_FILE, file, sizeof (file)-1)){
- msg_box( dlg, _("Please enter a file name."), _("Add Photo"), MB_ERR);
+ msg_box (dlg, _("Please enter a file name."),
+ _("Add Photo"), MB_ERR);
return FALSE;
}
if (get_file_size (file) == 0 || get_file_size (file) > 6144) {
@@ -451,11 +442,6 @@
center_window (dlg, cb->parent);
break;
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, FALSE);
- break;
-
case WM_COMMAND:
switch (LOWORD (wparam)) {
case IDOK:
@@ -521,11 +507,6 @@
center_window (dlg, ctx->parent);
return FALSE;
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog(dlg, TRUE);
- return FALSE;
-
case WM_COMMAND:
switch ( LOWORD( wparam ) ) {
case IDOK:
@@ -540,15 +521,18 @@
if (strchr (utf8_name, '@')) {
msg_box (dlg, _("Please enter the email address in the email field and not in the name field"),
_("UserID"), MB_INFO);
+ free_if_alloc (utf8_name);
return FALSE;
}
if( !GetDlgItemText (dlg, IDC_ADDUID_EMAIL, email, sizeof (email) -1)) {
- msg_box( dlg, _("Please enter an email address."), _("UserID"), MB_ERR );
+ msg_box (dlg, _("Please enter an email address."), _("UserID"), MB_ERR);
+ free_if_alloc (utf8_name);
return FALSE;
}
if (check_email_address (email)) {
msg_box (dlg, _("Invalid email address."), _("UserID"), MB_ERR);
+ free_if_alloc (utf8_name);
return FALSE;
}
@@ -565,6 +549,7 @@
else {
msg_box (dlg, _("user ID successfully added."), _("GnuPG Status"), MB_OK);
ctx->finished = 1;
+ /* The caller releases this items later. */
keygen->name = utf8_name;
keygen->comment = utf8_comment;
keygen->email = m_strdup (email);
@@ -584,6 +569,7 @@
}
+/* Initalize a combo box with default key sizes (1024-4096). */
static void
init_keysize_box (HWND dlg, int ctlid)
{
@@ -644,9 +630,8 @@
switch (msg) {
case WM_INITDIALOG:
ctx = (keyedit_cb_t)lparam;
- if (!ctx)
- dlg_fatal_error (dlg, "Could not get dialog param!");
-
+ if (!ctx)
+ BUG (0);
SetWindowText (dlg, _("Add new Subkey"));
SetDlgItemText (dlg, IDC_ADDSUBKEY_INFALGO, _("Key type"));
SetDlgItemText (dlg, IDC_ADDSUBKEY_INFSIZE, _("Size in bits"));
@@ -666,11 +651,6 @@
center_window (dlg, ctx->parent);
return FALSE;
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, TRUE);
- return FALSE;
-
case WM_COMMAND:
if (HIWORD (wparam) == BN_CLICKED &&
LOWORD (wparam) == IDC_ADDSUBKEY_EXPIRE) {
@@ -771,7 +751,7 @@
}
if (k->is_protected) {
- pass = request_passphrase (_("Key Edit"), 1, &cancel);
+ pass = request_key_passphrase (k->ctx, _("Key Edit"), &cancel);
if (cancel)
return FALSE;
}
@@ -839,7 +819,7 @@
return FALSE;
}
if (k->is_protected) {
- pass = request_passphrase (_("Key Edit"), 1, &cancel);
+ pass = request_key_passphrase (k->ctx, _("Key Edit"), &cancel);
if (cancel)
return FALSE;
}
@@ -865,6 +845,7 @@
}
+/* Set the preferred keyserver of the given key @k. */
BOOL
keyedit_set_pref_keyserver (winpt_key_t k, HWND dlg)
{
@@ -879,7 +860,7 @@
return FALSE;
}
- pass = request_passphrase (_("Key Edit"), 1, &url->cancel);
+ pass = request_key_passphrase (k->ctx, _("Key Edit"), &url->cancel);
if (url->cancel) {
delete url;
return FALSE;
@@ -920,14 +901,13 @@
memset (&cb, 0, sizeof (cb));
if (k->is_protected) {
- pass = request_passphrase (_("Key Edit"), 1, &cancel);
+ pass = request_key_passphrase (k->ctx, _("Key Edit"), &cancel);
if (cancel)
return FALSE;
}
cb.parent = dlg;
cb.pass = pass;
cb.keyid = k->keyid;
-
DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_KEYEDIT_ADDPHOTO, dlg,
keyedit_addphoto_dlg_proc, (LPARAM)&cb);
@@ -951,7 +931,7 @@
}
if (k->is_protected) {
- pass = request_passphrase (_("Key Edit"), 1, &cancel);
+ pass = request_key_passphrase (k->ctx, _("Key Edit"), &cancel);
if (cancel)
return FALSE;
}
@@ -1111,10 +1091,8 @@
int nkeys = 0, i, bits;
nkeys = count_subkeys (k->ctx);
- if( !nkeys ) {
- msg_box (dlg, _("No subkey(s) found."), _("Key Edit"), MB_ERR);
- return NULL;
- }
+ if (!nkeys)
+ BUG (0); /* should never happen. */
listview_new (&lv, GetDlgItem (dlg, IDC_KEYEDIT_KEYLIST));
for (i = 0; cols[i].fieldname != NULL; i++)
@@ -1126,8 +1104,8 @@
memset (&lvi, 0, sizeof (lvi));
lvi.mask = LVIF_PARAM;
lvi.lParam = (LPARAM)k->ext;
- if( ListView_SetItem (lv->ctrl, &lvi) == FALSE)
- return NULL;
+ if (ListView_SetItem (lv->ctrl, &lvi) == FALSE)
+ BUG (0);
}
listview_set_ext_style( lv );
@@ -1198,13 +1176,11 @@
const char *attr;
nuids = count_userids (k->ctx);
- if (!nuids) {
- msg_box (dlg, _("No user ID(s) found."), _("Key Edit"), MB_ERR);
- return NULL;
- }
+ if (!nuids)
+ BUG (0); /* should never happen. */
listview_new (&lv, GetDlgItem (dlg, IDC_KEYEDIT_UIDLIST));
- for( j = 0; cols[j].fieldname != NULL; j++ )
+ for (j = 0; cols[j].fieldname != NULL; j++)
listview_add_column (lv, &cols[j]);
for (j = 0; j < nuids; j++) {
@@ -1232,7 +1208,7 @@
listview_add_sub_item (lv, j, UID_COL_CREATION,
get_key_created (ks->timestamp));
}
- if( !k->key_pair ) {
+ if (!k->key_pair) {
CheckDlgButton (dlg, IDC_KEYUID_ADD, BST_INDETERMINATE);
CheckDlgButton (dlg, IDC_KEYUID_REVOKE, BST_INDETERMINATE);
}
@@ -1312,28 +1288,29 @@
{
gpgme_error_t err;
GpgKeyEdit *ke;
- int j, id;
+ int pos, id;
char tmp[64];
if (!k->key_pair)
- return FALSE; /* XXX: shall we allow to modify non-secret keys?? */
+ return FALSE;
- if( listview_count_items( lv, 0 ) == 1 ) {
- msg_box( dlg, _("Primary key can not be deleted!"), _("Key Edit"), MB_ERR);
+ if (listview_count_items (lv, 0) == 1) {
+ msg_box (dlg, _("Primary key can not be deleted!"), _("Key Edit"), MB_ERR);
return FALSE;
}
- if( (j = listview_get_curr_pos( lv )) == -1 ) {
- msg_box( dlg, _("Please select a key."), _("Key Edit"), MB_ERR );
+ pos = listview_get_curr_pos (lv);
+ if (pos == -1) {
+ msg_box (dlg, _("Please select a key."), _("Key Edit"), MB_ERR);
return FALSE;
}
- if( j == 0 ) {
- msg_box( dlg, _("Primary subkey can not be deleted!"), _("Key Edit"), MB_ERR );
+ if (pos == 0) {
+ msg_box (dlg, _("Primary key can not be deleted!"), _("Key Edit"), MB_ERR);
return FALSE;
}
/* XXX: change the warning to make clear that verification won't work
any longer if this is a sign-only key. */
- listview_get_item_text (lv, j, 0, tmp, sizeof (tmp) -1);
+ listview_get_item_text (lv, pos, 0, tmp, sizeof (tmp) -1);
id = log_box (_("Key Edit"), MB_YESNO|MB_ICONWARNING,
_("\"Subkey %s.\"\n\n"
"Anything encrypted to the selected subkey will no longer\n"
@@ -1342,14 +1319,12 @@
if (id == IDNO)
return FALSE;
- ke = new GpgKeyEdit (k->keyid);
- if (!ke)
- BUG (NULL);
- err = ke->delKey (j);
+ ke = create_GpgKeyEdit (k->keyid);
+ err = ke->delKey (pos);
if (err)
msg_box (dlg, gpgme_strerror (err), _("Delete Subkey"), MB_ERR);
else {
- listview_del_item (lv, j);
+ listview_del_item (lv, pos);
k->update = 1;
status_box (dlg, _("Subkey successfully deleted."), _("GnuPG status"));
}
@@ -1367,20 +1342,21 @@
GpgKeyEdit *ke;
date_s udd = {0};
char buf[256], * pass = NULL;
- int j, cancel = 0;
+ int pos, cancel = 0;
if (!k->key_pair) {
msg_box (dlg, _("There is no secret key available!"), _("Key Edit"), MB_ERR);
return FALSE;
}
- if ((j = listview_get_curr_pos (lv)) == -1) {
- msg_box( dlg, _("Please select a key."), _("Key Edit"), MB_ERR );
+ pos = listview_get_curr_pos (lv);
+ if (pos == -1) {
+ msg_box (dlg, _("Please select a key."), _("Key Edit"), MB_ERR);
return FALSE;
}
/* If a key already expired, it is possible the user wants to
- set a new expiration date.. */
- listview_get_item_text (lv, j, SUBK_COL_STATUS, buf, sizeof buf -1);
+ set a new expiration date.. */
+ listview_get_item_text (lv, pos, SUBK_COL_STATUS, buf, sizeof (buf)-1);
if (!strcmp (buf, _("Expired"))) {
cancel = msg_box (dlg, _("Key already expired.\n\n"
"Do you want to change the expiration date?"),
@@ -1402,26 +1378,24 @@
_("Key Edit"), MB_ERR);
return FALSE;
}
- if( k->is_protected ) {
- pass = request_passphrase (_("Key Edit"), 1, &cancel);
+ if (k->is_protected) {
+ pass = request_key_passphrase (k->ctx, _("Key Edit"), &cancel);
if (cancel)
return FALSE;
}
- ke = new GpgKeyEdit (k->keyid);
- if (!ke)
- BUG (NULL);
+ ke = create_GpgKeyEdit (k->keyid);
if (k->is_protected)
ke->setPassphrase (pass);
else
ke->setNoPassphrase (true);
- err = ke->setKeyExpireDate (j, w32_mktime (&udd.st), false);
+ err = ke->setKeyExpireDate (pos, w32_mktime (&udd.st), false);
if (err)
msg_box (dlg, gpgme_strerror (err), _("Expire Subkey"), MB_ERR);
else {
- _snprintf (buf, sizeof buf - 1, "%04d-%02d-%02d",
+ _snprintf (buf, sizeof (buf)-1, "%04d-%02d-%02d",
udd.st.wYear, udd.st.wMonth, udd.st.wDay);
- listview_add_sub_item (lv, j, SUBK_COL_EXPIRES, buf);
+ listview_add_sub_item (lv, pos, SUBK_COL_EXPIRES, buf);
k->update = 1;
msg_box (dlg, _("Subkey expire date successfully set."),
_("GnuPG status"), MB_OK);
@@ -1468,14 +1442,12 @@
}
if (k->is_protected) {
- pass = request_passphrase (_("Key Edit"), 1, &cancel);
+ pass = request_key_passphrase (k->ctx, _("Key Edit"), &cancel);
if (cancel)
return FALSE;
}
- ke = new GpgKeyEdit (k->keyid);
- if (!ke)
- BUG (NULL);
+ ke = create_GpgKeyEdit (k->keyid);
if (k->is_protected)
ke->setPassphrase (pass);
else
@@ -1535,7 +1507,7 @@
if (msg_box (dlg, inf, _("Key Edit"), MB_WARN_ASK) == IDNO)
return FALSE;
if (k->is_protected) {
- pass = request_passphrase (_("Key Edit"), 1, &cancel);
+ pass = request_key_passphrase (k->ctx, _("Key Edit"), &cancel);
if (cancel)
return FALSE;
}
@@ -1545,9 +1517,7 @@
if (id == -1)
BUG (NULL);
- ke = new GpgKeyEdit (k->keyid);
- if (!ke)
- BUG (NULL);
+ ke = create_GpgKeyEdit (k->keyid);
if (k->is_protected)
ke->setPassphrase (pass);
else
@@ -1581,16 +1551,14 @@
listview_get_item_text (lv, j, 2, buf, sizeof buf-1);
id = do_find_userid (k->keyid, buf, NULL, NULL);
if (id == -1)
- BUG (dlg);
+ BUG (NULL);
if (k->is_protected) {
- pass = request_passphrase (_("Key Edit"), 1, &cancel);
+ pass = request_key_passphrase (k->ctx, _("Key Edit"), &cancel);
if (cancel)
return FALSE;
}
- ke = new GpgKeyEdit (k->keyid);
- if (!ke)
- BUG (NULL);
+ ke = create_GpgKeyEdit (k->keyid);
if (k->is_protected)
ke->setPassphrase (pass);
else
@@ -1615,25 +1583,29 @@
gpgme_error_t err;
GpgKeyEdit *ke;
int j, id, cancel=0;
+ char valid[32];
char buf[256], *pass = NULL;
if (listview_count_items (lv, 0) == 1)
return TRUE;
if ((j = listview_get_curr_pos (lv)) == -1) {
- msg_box( dlg, _("Please select a user ID."), _("Key Edit"), MB_ERR );
+ msg_box (dlg, _("Please select a user ID."), _("Key Edit"), MB_ERR);
return FALSE;
}
- listview_get_item_text (lv, j, 2, buf, sizeof buf-1);
+ listview_get_item_text (lv, j, UID_COL_VALID, valid, sizeof (valid)-1);
+ if (!strcmp (valid, _("Revoked")))
+ return FALSE;
+ listview_get_item_text (lv, j, UID_COL_EMAIL, buf, sizeof (buf)-1);
id = do_find_userid (k->keyid, buf, NULL, NULL);
if (id == -1)
BUG (0);
if (k->is_protected) {
- pass = request_passphrase (_("Key Edit"), 1, &cancel);
+ pass = request_key_passphrase (k->ctx, _("Key Edit"), &cancel);
if (cancel)
return FALSE;
}
- ke = new GpgKeyEdit (k->keyid);
+ ke = create_GpgKeyEdit (k->keyid);
if (k->is_protected)
ke->setPassphrase (pass);
else
@@ -1803,23 +1775,23 @@
GpgKeyEdit *ke;
char email[128], name[128];
char inf[384];
- int j, id = 0;
+ int pos, id = 0;
if (!k->key_pair)
- return FALSE; /* XXX: see do_editkey_delsubkey */
+ return FALSE;
if (listview_count_items (lv, 0) == 1) {
msg_box (dlg, _("Primary user ID can not be deleted!"),
_("Key Edit"), MB_ERR);
return FALSE;
}
- if ((j = listview_get_curr_pos (lv)) == -1) {
+ pos = listview_get_curr_pos (lv);
+ if (pos == -1) {
msg_box (dlg, _("Please select a user ID."), _("Key Edit"), MB_ERR);
return FALSE;
}
- /* XXX: add a hint that also all signatures will be deleted? */
- listview_get_item_text (lv, j, UID_COL_NAME, name, DIM(name) -1);
+ listview_get_item_text (lv, pos, UID_COL_NAME, name, DIM(name) -1);
_snprintf (inf, DIM (inf)-1, _("user ID \"%s\".\n\n"
"All signatures on this user ID will be also deleted."
"\n\n"
@@ -1828,21 +1800,18 @@
if (msg_box (dlg, inf, _("Key Edit"), MB_YESNO|MB_ICONWARNING) == IDNO)
return FALSE;
- listview_get_item_text (lv, j, UID_COL_EMAIL, email, DIM (email)-1);
- listview_get_item_text (lv, j, UID_COL_NAME, name, DIM (name)-1);
+ listview_get_item_text (lv, pos, UID_COL_EMAIL, email, DIM (email)-1);
+ listview_get_item_text (lv, pos, UID_COL_NAME, name, DIM (name)-1);
id = do_find_userid (k->keyid, email, name, NULL);
if (id == -1)
- BUG (dlg);
+ BUG (0);
- ke = new GpgKeyEdit (k->keyid);
- if (!ke)
- BUG (NULL);
-
+ ke = create_GpgKeyEdit (k->keyid);
err = ke->delUserid (id);
if (err)
- msg_box (dlg, gpgme_strerror (err), _("Delete user ID"), MB_ERR);
+ msg_box (dlg, gpgme_strerror (err), _("Delete User ID"), MB_ERR);
else {
- listview_del_item (lv, j);
+ listview_del_item (lv, pos);
k->update = 1;
status_box (dlg, _("User ID successfully deleted"), _("GnuPG Status"));
}
@@ -1924,20 +1893,6 @@
}
-/* Return default secret key. */
-static gpgme_key_t
-get_default_key (void)
-{
- gpgme_key_t def_sk;
- char *keyid = get_gnupg_default_key ();
-
- get_seckey (keyid, &def_sk);
- free_if_alloc (keyid);
- return def_sk;
-}
-
-
-
static void
do_editkey_minimize (winpt_key_t k, HWND dlg)
{
@@ -1992,9 +1947,11 @@
do_editkey_sign_userid (winpt_key_t k, HWND dlg, listview_ctrl_t lv, int mode)
{
gpgme_error_t err;
+ winpt_key_s signer;
GpgKeyEdit *ke;
char *pass = NULL;
- char email[64], name[128];
+ char *defkey;
+ char email[64], name[128], valid[32];
int uid_index;
int cancel = 0;
@@ -2003,27 +1960,37 @@
msg_box (dlg, _("Please select a user ID."), _("Key Edit"), MB_ERR);
return FALSE;
}
+ listview_get_item_text (lv, uid_index, UID_COL_VALID, valid, sizeof (valid)-1);
+ if (!strcmp (valid, _("Revoked")))
+ return TRUE;
if (mode == CMD_SIGN) {
cancel = msg_box (dlg, _("Do you really want to make this sig exportable?"),
_("Key Edit"), MB_QUEST_ASK);
if (cancel == IDNO)
return FALSE;
}
-
listview_get_item_text (lv, uid_index, UID_COL_EMAIL, email, sizeof (email)-1);
listview_get_item_text (lv, uid_index, UID_COL_NAME, name, sizeof (name)-1);
uid_index = do_find_userid (k->keyid, email, name, NULL);
- if (k->is_protected) {
- pass = request_passphrase (_("Key Edit"), 1, &cancel);
+
+ defkey = get_gnupg_default_key ();
+ memset (&signer, 0, sizeof (signer));
+ if (winpt_get_seckey (defkey, &signer)) {
+ log_debug ("do_editkey_sign_userid: no default secret key.\r\n");
+ free_if_alloc (defkey);
+ return FALSE;
+ }
+ if (signer.is_protected) {
+ pass = request_key_passphrase (signer.ctx, _("Key Edit"), &cancel);
if (cancel)
return FALSE;
}
ke = create_GpgKeyEdit (k->keyid);
- if (k->is_protected)
+ if (signer.is_protected)
ke->setPassphrase (pass);
else
ke->setNoPassphrase (true);
- ke->setLocalUser (get_default_key ());
+ ke->setLocalUser (signer.ctx);
err = ke->signUserid (uid_index,
mode == CMD_SIGN? GPG_EDITKEY_SIGN : GPG_EDITKEY_LSIGN,
0, NULL);
@@ -2126,11 +2093,7 @@
BUG (NULL);
do_init_cmdlist (dlg, k->key_pair);
lvsub = subkey_list_init (dlg, k);
- if (!lvsub)
- BUG (0);
lvuid = userid_list_init (dlg, k);
- if (!lvuid)
- BUG (0);
item = GetDlgItem (dlg, IDC_KEYEDIT_KEYLIST);
keyedit_subkey_proc.opaque = (void*)k;
keyedit_subkey_proc.dlg = dlg;
Modified: trunk/Src/wptKeyEditOwnertrustDlg.cpp
===================================================================
--- trunk/Src/wptKeyEditOwnertrustDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeyEditOwnertrustDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,5 +1,5 @@
/* wptKeyEditOwnertrustDlg.cpp - Key onwertrust dialog
- * Copyright (C) 2000-2005 Timo Schulz
+ * Copyright (C) 2000-2006 Timo Schulz
*
* This file is part of WinPT.
*
@@ -47,19 +47,19 @@
HWND lb;
int index, id = 0;
- switch( msg ) {
+ switch (msg) {
case WM_INITDIALOG:
k = (winpt_key_t)lparam;
- if (k == NULL)
- dlg_fatal_error( dlg, "Could not get dialog param!" );
+ if (!k)
+ BUG (0);
SetWindowText (dlg, _("Change Ownertrust"));
- lb = GetDlgItem( dlg, IDC_KEYTRUST_TRUST );
- listbox_add_string( lb, _("Don't know") );
- listbox_add_string( lb, _("I do NOT trust") );
- listbox_add_string( lb, _("I trust marginally") );
- listbox_add_string( lb, _("I trust fully") );
- listbox_add_string( lb, _("I trust ultimately") );
- SetDlgItemText (dlg, IDC_KEYTRUST_INF,
+ lb = GetDlgItem (dlg, IDC_KEYTRUST_TRUST);
+ listbox_add_string (lb, _("Don't know") );
+ listbox_add_string (lb, _("I do NOT trust"));
+ listbox_add_string (lb, _("I trust marginally"));
+ listbox_add_string (lb, _("I trust fully"));
+ listbox_add_string (lb, _("I trust ultimately"));
+ SetDlgItemText (dlg, IDC_KEYTRUST_INF,
_("Please decide how far you trust this user to "
"correctly verify other users' keys (by looking "
"at passports, checking fingerprint from "
@@ -69,28 +69,22 @@
SetForegroundWindow (dlg);
return TRUE;
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog(dlg, TRUE);
- return FALSE;
-
case WM_COMMAND:
- switch( LOWORD( wparam ) ) {
+ switch (LOWORD (wparam)) {
case IDCANCEL:
- k->callback.new_val = -1;
EndDialog (dlg, FALSE);
return TRUE;
- case IDOK:
+ case IDOK:
lb = GetDlgItem (dlg, IDC_KEYTRUST_TRUST);
index = listbox_get_cursel (lb) + 1;
if (index < 1 || index > 5) {
- msg_box( dlg, _("Please choose one entry."), _("Ownertrust"), MB_ERR );
+ msg_box (dlg, _("Please choose one entry."),
+ _("Ownertrust"), MB_ERR);
return TRUE;
}
/* check if there is a corresponding secret key for the public key. */
- get_seckey (k->keyid, &key);
- if (index == 5 && !key) {
+ if (index == 5 && get_seckey (k->keyid, &key)) {
id = msg_box (dlg, _("Do you really want to set this key to ultimate trust?"),
_("Ownertrust"), MB_YESNO);
if (id == IDNO)
Modified: trunk/Src/wptKeyPropsDlg.cpp
===================================================================
--- trunk/Src/wptKeyPropsDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeyPropsDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -161,6 +161,8 @@
return _("Revoked");
if (key->disabled)
return _("Disabled");
+ if (key->invalid)
+ return _("Invalid");
return get_key_trust2 (NULL, key->uids->validity, 0, 0);
}
@@ -191,11 +193,11 @@
static bool
check_for_desig_rev (gpgme_key_t key)
{
- winpt_key_s kk;
+ winpt_key_s k;
- memset (&kk, 0, sizeof (kk));
- if (!winpt_get_pubkey (key->subkeys->keyid, &kk))
- return kk.ext->gloflags.has_desig_rev? true : false;
+ memset (&k, 0, sizeof (k));
+ if (!winpt_get_pubkey (key->subkeys->keyid, &k))
+ return k.ext->gloflags.has_desig_rev? true : false;
return false;
}
Modified: trunk/Src/wptKeyRevokeDlg.cpp
===================================================================
--- trunk/Src/wptKeyRevokeDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeyRevokeDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,5 +1,5 @@
/* wptKeyRevokeDlg.cpp - Key revocation dialog
- * Copyright (C) 2001, 2002, 2003, 2005 Timo Schulz
+ * Copyright (C) 2001, 2002, 2003, 2005, 2006 Timo Schulz
* Copyright (C) 2005 g10 Code GmbH
*
* This file is part of WinPT.
@@ -141,16 +141,11 @@
switch( msg ) {
case WM_INITDIALOG:
if (!lparam)
- dlg_fatal_error (dlg, "Could not get dialog param!");
+ BUG (0);
k = (winpt_key_t)lparam;
on_init_dialog (dlg);
return TRUE;
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, FALSE);
- return FALSE;
-
case WM_COMMAND:
switch (LOWORD (wparam)) {
case IDC_KEYREVOKE_CHOOSE:
@@ -165,12 +160,12 @@
list = GetDlgItem (dlg, IDC_KEYREVOKE_REASON);
idx = SendMessage (list, LB_GETCURSEL, 0, 0);
if (idx < 0 || idx > 3) {
- msg_box (dlg, _("Please select a reason."),
+ msg_box (dlg, _("Please select a reason."),
_("Key Revocation Cert"), MB_ERR);
return TRUE;
}
if (!GetDlgItemText (dlg, IDC_KEYREVOKE_FILE, file, sizeof (file)-1)) {
- msg_box (dlg, _("Please enter a file name."),
+ msg_box (dlg, _("Please enter a file name."),
_("Key Revocation Cert"), MB_ERR);
return TRUE;
}
@@ -185,20 +180,19 @@
inp_data = generate_revoke_input (idx, desc, pwd);
err = gpg_revoke_cert (k->internal, inp_data, k->keyid, &revcert);
- wipememory (pwd, sizeof (pwd));
- wipememory (inp_data, strlen (inp_data));
+ sfree_if_alloc (inp_data);
+ sfree_if_alloc (desc);
if (err) {
msg_box (dlg, gpgme_strerror (err), _("Key Revocation Cert"), MB_ERR);
safe_free (revcert);
+ return TRUE;
}
else {
show_msg (dlg, 1000, _("Revocation certificate generated."));
msg_box (dlg, warning, _("Key Revocation Cert"), MB_INFO);
release_cert_as_file (revcert, file);
+ EndDialog (dlg, TRUE);
}
- free_if_alloc (inp_data);
- free_if_alloc (desc);
- EndDialog (dlg, TRUE);
return TRUE;
case IDCANCEL:
Modified: trunk/Src/wptKeyRevokersDlg.cpp
===================================================================
--- trunk/Src/wptKeyRevokersDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeyRevokersDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -112,7 +112,7 @@
gpg_desig_rev_t rev=NULL, r;
listview_ctrl_t lv;
const char *alg;
- const char *uid = NULL;
+ const char *uid = NULL, *kid;
char keyid[32];
err = key_get_revokers (key, 0, &rev);
@@ -124,11 +124,12 @@
revokelist_build (&lv, ctrl);
for (r = rev; r; r = r->next) {
memset (&revkey, 0, sizeof (revkey));
- if (winpt_get_pubkey (r->fpr+32, &revkey))
+ kid = get_keyid_from_fpr (r->fpr);
+ if (winpt_get_pubkey (kid, &revkey))
uid = _("user ID not found");
else
uid = revkey.ext->uids->name;
- _snprintf (keyid, sizeof (keyid)-1, "0x%s", r->fpr+32);
+ _snprintf (keyid, sizeof (keyid)-1, "0x%s", kid);
listview_add_item2 (lv, "", revkey.ext);
alg = get_key_pubalgo (r->pubkey_algo);
listview_add_sub_item (lv, 0, REV_COL_ALGO, alg);
@@ -150,14 +151,11 @@
int rc;
switch (msg) {
- case WM_INITDIALOG:
- gpg_keycache_t ctx;
+ case WM_INITDIALOG:
key = (winpt_key_t)lparam;
if (!key)
- dlg_fatal_error( dlg, "Could not get dilaog param" );
- ctx = keycache_get_ctx (1);
+ BUG (0);
lv = revokelist_init (GetDlgItem (dlg, IDC_KEYREVOKERS_LIST), key);
-
SetDlgItemText (dlg, IDC_KEYREVOKERS_INF, _("Designated Revoker Keys"));
SetWindowText (dlg, _("Key Revokers"));
SetForegroundWindow (dlg);
@@ -187,6 +185,7 @@
memset (&pk, 0, sizeof (pk));
if (winpt_get_pubkey (keyid, &pk))
BUG (NULL);
+ /* XXX: utf8 decode problem. */
if (pk.ext && pk.ext->uids)
listview_add_sub_item (lv, idx, REV_COL_NAME, pk.ext->uids->name);
}
Modified: trunk/Src/wptKeygenDlg.cpp
===================================================================
--- trunk/Src/wptKeygenDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeygenDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -22,6 +22,7 @@
#endif
#include <windows.h>
+#include <time.h>
#include "resource.h"
#include "wptTypes.h"
@@ -245,7 +246,7 @@
err = gpgme_op_genkey (ctx, params, NULL, NULL);
if (!err) {
res = gpgme_op_genkey_result (ctx);
- *fpr = res->fpr? m_strdup (res->fpr) : NULL;
+ *fpr = res && res->fpr? m_strdup (res->fpr) : NULL;
}
gpgme_release (ctx);
return err;
@@ -300,7 +301,7 @@
}
name = get_filesave_dlg (dlg, _("Destination for Secret Keyring"),
NULL, "secring.gpg");
- if( name ) {
+ if (name) {
keyring = make_filename (path, "secring", "gpg");
if (!CopyFile (keyring, name, FALSE))
log_box (_("Key Generation"), MB_ERR,
@@ -331,19 +332,20 @@
}
+time_t w32_mktime (SYSTEMTIME *st);
+
/* Check that the given date lies not in the past.
Return value: 1 on success. */
int
keygen_check_date (SYSTEMTIME *st)
{
- SYSTEMTIME t;
+ time_t dat, now;
- GetSystemTime (&t);
- if (st->wYear > t.wYear || st->wMonth > t.wMonth)
+ dat = w32_mktime (st);
+ now = time (NULL);
+ if (dat >= now)
return 1;
- else if (st->wYear < t.wYear || st->wMonth < t.wMonth || st->wDay < t.wDay)
- return 0;
- return 1;
+ return 0;
}
@@ -362,7 +364,7 @@
int cancel = 0;
char *p;
- switch ( msg ) {
+ switch (msg) {
case WM_INITDIALOG:
if (lparam != 0)
ctx = (genkey_s *)lparam;
@@ -438,13 +440,20 @@
_("Key Generation"), MB_INFO);
free_if_alloc (utf8_name);
free_if_alloc (utf8_comment);
- return FALSE;
+ return TRUE;
}
keytype = SendDlgItemMessage (dlg, IDC_KEYGEN_KEYTYPE, CB_GETCURSEL, 0, 0) + 1;
if (IsDlgButtonChecked (dlg, IDC_KEYGEN_EXPNEVER))
expire = NULL;
else {
DateTime_GetSystemtime (GetDlgItem (dlg, IDC_KEYGEN_EXPDATE), &st);
+ if (!keygen_check_date (&st)) {
+ free_if_alloc (utf8_name);
+ free_if_alloc (utf8_comment);
+ msg_box (dlg, _("The date you have chosen lies in the past."),
+ _("Key Generation"), MB_ERR);
+ return TRUE;
+ }
_snprintf (t, DIM (t)-1, "%04d-%02d-%02d", st.wYear, st.wMonth, st.wDay);
expire = t;
}
@@ -475,10 +484,7 @@
keygen_cb_dlg_create ();
err = gpg_genkey (p, keygen_cb, &fpr);
sfree_if_alloc (pwd);
- if (p) {
- wipememory (p, strlen (p)); /* burn the passphrase! */
- free_if_alloc (p);
- }
+ sfree_if_alloc (p); /* burn the passphrase! */
keygen_cb_dlg_destroy (1);
if (err) {
free_if_alloc (fpr);
@@ -541,10 +547,6 @@
center_window (dlg, NULL);
break;
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, FALSE);
-
case WM_COMMAND:
switch (LOWORD( wparam)) {
case IDC_KEYWIZARD_EXPERT:
@@ -591,10 +593,7 @@
keygen_cb_dlg_create();
err = gpg_genkey (p, keygen_cb, &fpr);
keygen_cb_dlg_destroy (1);
- if (p) {
- wipememory (p, strlen (p));
- free_if_alloc (p);
- }
+ sfree_if_alloc (p);
sfree_if_alloc (pass);
if (err) {
msg_box (dlg, gpgme_strerror( err ), _("Key Generation Wizard"), MB_ERR);
Modified: trunk/Src/wptKeyserver.cpp
===================================================================
--- trunk/Src/wptKeyserver.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeyserver.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -36,6 +36,7 @@
#include "wptW32API.h"
#include "wptGPG.h"
#include "wptRegistry.h"
+#include "wptUTF8.h"
/* Map net_errno to a winsock error. */
#define net_errno ((int)WSAGetLastError ())
@@ -1171,7 +1172,7 @@
{
enum uid_rec_t {ID=1, UID, CREATE, EXPIRE};
keyserver_uid_s *u, *n;
- char *p;
+ char *p, *raw;
int recno = 0;
/* uid:Timo Schulz <twoaday at g10code.com>:1138440360:: */
@@ -1187,7 +1188,9 @@
break;
case UID:
- unhexify_buffer (p, &u->uid);
+ unhexify_buffer (p, &raw);
+ u->uid = utf8_to_native (raw);
+ free_if_alloc (raw);
break;
case CREATE:
Modified: trunk/Src/wptKeyserverDlg.cpp
===================================================================
--- trunk/Src/wptKeyserverDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeyserverDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,6 +1,6 @@
/* wptKeyserverDlg.cpp - Keyserver dialog
* Copyright (C) 2000-2006 Timo Schulz
- * Copyright (C) 2005 g10 Code GmbH
+ * Copyright (C) 2005, 2006 g10 Code GmbH
*
* This file is part of WinPT.
*
@@ -24,7 +24,7 @@
#include <windows.h>
#include <commctrl.h>
-#include <malloc.h>
+#include <ctype.h>
#include "resource.h"
#include "wptKeyserver.h"
@@ -45,6 +45,7 @@
char* get_reg_entry_keyserver (const char *);
int set_reg_entry_keyserver (const char *, const char *);
+/* Symbolic column IDs */
enum { KS_COL_NAME = 0, KS_COL_PORT };
/* Callback context to modify (add, edit) keyserver items. */
@@ -57,6 +58,7 @@
};
typedef struct keyserver_rec_s *keyserver_rec_t;
+
/* Print out keyserver error and a possible Winsock error. */
static void
hkp_err_box (HWND dlg, const char *host, WORD port, int rc)
@@ -81,7 +83,7 @@
GPGME *gpg;
gpgme_error_t ec;
char *rawkey = NULL;
- char msg[384];
+ char msg[256];
gpg = new GPGME ();
gpg->setArmor (true);
@@ -170,8 +172,8 @@
const char *pattern, int proto, int flags,
char **r_fpr)
{
- gpgme_ctx_t ctx;
- gpgme_data_t keydata;
+ gpgme_ctx_t ctx = NULL;
+ gpgme_data_t keydata = NULL;
gpgme_import_result_t import_res = NULL;
gpgme_error_t err;
char *rawkey = NULL;
@@ -256,32 +258,38 @@
hkp_recv_key2 (HWND dlg, const char *kserver, WORD port,
const char *pattern, int proto, char **r_fpr)
{
- return keyserver_recv_key (dlg, kserver, port, pattern, proto, 0,
- r_fpr);
+ return keyserver_recv_key (dlg, kserver, port, pattern,
+ proto, 0, r_fpr);
}
-#define my_iskeychar(a) (((a) >='0' && (a) <= '9' ) || ((a) >= 'A' && (a) <= 'F'))
-
+/* Check if the given pattern are either a valid
+ email address, a {long, short} keyid or a fingerprint.
+ Return 0 on success. */
static int
check_pattern (const char *pattern)
-{
- int rc = WPTERR_GENERAL;
+{
+ size_t i;
+
+ if (strchr (pattern, ' '))
+ return WPTERR_GENERAL; /* do not allow white spaces. */
- /* do not allow white spaces. */
- if (strchr (pattern, ' '))
- return rc;
+ if (strchr (pattern, '@') && strlen (pattern) >= 3 &&
+ !check_email_address (pattern))
+ return 0;
if (strstr (pattern, "0x"))
pattern += 2;
+ if (strlen (pattern) != 8 &&
+ strlen (pattern) != 16 &&
+ strlen (pattern) != 40)
+ return WPTERR_GENERAL;
- if (((my_iskeychar (pattern[0])) && (strlen (pattern) == 8)) ||
- (my_iskeychar (pattern[0])) && (strlen (pattern) == 16))
- rc = 0; /* assume long or short key ID. */
- else if (strchr (pattern, '@') && strlen (pattern) >= 3)
- rc = 0; /* assume email address. */
-
- return rc;
+ for (i=0; i < strlen (pattern); i++) {
+ if (!isxdigit (pattern[i]))
+ return WPTERR_GENERAL;
+ }
+ return 0;
}
@@ -294,8 +302,8 @@
switch (proto) {
case PROXY_PROTO_NONE: s = ""; break;
case PROXY_PROTO_HTTP: s = "HTTP"; break;
- case PROXY_PROTO_SOCKS5: s = "SOCKS5"; break;
- default: s= "HTTP"; break;
+ case PROXY_PROTO_SOCKS5: s = "SOCKS5"; break;
+ default: s = "HTTP"; break;
}
return s;
}
@@ -331,7 +339,7 @@
return;
for (i=0; i < listview_count_items (lv, 0); i++) {
listview_get_item_text (lv, i, KS_COL_NAME, buf, sizeof (buf)-1);
- if (!strcmp (buf, p)) {
+ if (!stricmp (buf, p)) {
listview_select_one (lv, i);
break;
}
@@ -353,7 +361,7 @@
return -1;
}
listview_get_item_text (lv, idx, KS_COL_NAME, buf, sizeof (buf)-1);
- if (strncmp (buf, "http", 4) && strncmp (buf, "hkp", 3)) {
+ if (strnicmp (buf, "http", 4) && strnicmp (buf, "hkp", 3)) {
msg_box (NULL, _("Only HTTP keyserver can be used."),
_("Keyserver"), MB_ERR);
return -1;
@@ -412,7 +420,7 @@
listview_get_item_text (lv, pos, KS_COL_NAME, name, sizeof (name)-1);
for (i=0; i < MAX_KEYSERVERS; i++) {
- if (server[i].name && strcmp (server[i].name, name) == 0)
+ if (server[i].name && stricmp (server[i].name, name) == 0)
server[i].used = 0;
}
listview_del_item (lv, pos);
@@ -427,7 +435,7 @@
int i;
for (i=0; i < MAX_KEYSERVERS; i++) {
- if (server[i].name && strcmp (server[i].name, ctx->name) == 0) {
+ if (server[i].name && stricmp (server[i].name, ctx->name) == 0) {
fnd = true;
break;
}
@@ -674,9 +682,9 @@
listview_get_item_text (lv, lv_idx, KS_COL_NAME,
proto, sizeof (proto)-1);
proto_nr = KSPROTO_HTTP;
- if (!strncmp (proto, "ldap", 4))
+ if (!strnicmp (proto, "ldap", 4))
proto_nr = KSPROTO_LDAP;
- else if (!strncmp (proto, "finger", 6))
+ else if (!strnicmp (proto, "finger", 6))
proto_nr = KSPROTO_FINGER;
listview_get_item_text (lv, lv_idx, KS_COL_NAME,
kserver, sizeof (kserver)-1);
@@ -733,9 +741,9 @@
edit.name, sizeof (edit.name)-1);
listview_get_item_text (lv, lv_idx, KS_COL_PORT, pattern, 32);
edit.port = atoi (pattern);
- if (!strncmp (edit.name, "hkp", 3) || !strncmp (edit.name, "http", 4))
+ if (!strnicmp (edit.name, "hkp", 3) || !strnicmp (edit.name, "http", 4))
edit.proto = KSPROTO_HTTP;
- else if (!strncmp (edit.name, "ldap", 4))
+ else if (!strnicmp (edit.name, "ldap", 4))
edit.proto = KSPROTO_LDAP;
else
edit.proto = KSPROTO_FINGER;
Modified: trunk/Src/wptKeysigDlg.cpp
===================================================================
--- trunk/Src/wptKeysigDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeysigDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -43,6 +43,7 @@
static subclass_s siglist_proc;
+/* Return -1 if the selected item is a signature. */
static int
is_sig (listview_ctrl_t lv, int pos)
{
@@ -131,13 +132,10 @@
const char *s;
switch (msg) {
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, TRUE);
- return FALSE;
-
case WM_INITDIALOG:
- SetWindowText (dlg, _("Signature Properties"));
+ ks = (gpgme_key_sig_t)lparam;
+ if (!ks)
+ BUG (0);
SetDlgItemText (dlg, IDC_SIGPROPS_EXP, _("Exportable"));
SetDlgItemText (dlg, IDC_SIGPROPS_NREV, _("Non-revocably"));
SetDlgItemText (dlg, IDC_SIGPROPS_EXPIRED, _("Expired"));
@@ -147,9 +145,8 @@
SetDlgItemText (dlg, IDC_SIGPROPS_KEYINF, _("Issuer key"));
SetDlgItemText (dlg, IDC_SIGPROPS_KEYIDINF, _("Issuer key ID"));
SetDlgItemText (dlg, IDC_SIGPROPS_POLICINF, _("Policy URL"));
- ks = (gpgme_key_sig_t)lparam;
- if (!ks)
- BUG (0);
+ SetWindowText (dlg, _("Signature Properties"));
+
memset (&ctx, 0, sizeof ctx);
ctx._class = ks->sig_class;
if (ctx._class == 0)
@@ -163,7 +160,8 @@
ctx.alg = "ELG";
ctx.exportable = ks->exportable;
_snprintf (tmpbuf, DIM (tmpbuf)-1, fmt_templ,
- ctx.exportable? _("Exportable") : _("Non-exportable"), ctx.alg);
+ ctx.exportable? _("Exportable") : _("Non-exportable"),
+ ctx.alg);
SetDlgItemText (dlg, IDC_SIGPROPS_INFO, tmpbuf);
_snprintf (tmpbuf, DIM (tmpbuf)-1, "0x%s", ks->keyid+8);
@@ -184,7 +182,7 @@
else {
SYSTEMTIME st;
struct tm *tm;
- time_t t = time (NULL);
+ time_t now = time (NULL);
time_t tmp = ks->expires;
tm = localtime (&tmp);
@@ -195,13 +193,8 @@
DateTime_SetSystemtime (GetDlgItem (dlg, IDC_SIGPROPS_EXPDATE),
GDT_VALID, &st);
- tm = localtime (&t);
- tm->tm_mon++;
- tm->tm_year += 1900;
- if (tm->tm_year > st.wYear)
+ if (now > ks->expires)
ctx.expired = 1;
- else if (tm->tm_mon > st.wMonth)
- ctx.expired = 1;
if (ctx.expired)
CheckDlgButton (dlg, IDC_SIGPROPS_EXPIRED, BST_CHECKED);
}
@@ -220,6 +213,7 @@
case WM_COMMAND:
if (HIWORD (wparam) == BN_CLICKED) {
+ /* Code to prevent the user changes the check buttons. */
switch (LOWORD (wparam)) {
case IDC_SIGPROPS_EXP:
CheckDlgButton (dlg, IDC_SIGPROPS_EXP,
@@ -258,6 +252,7 @@
}
+/* Subclass window procedure for the list view. */
static BOOL CALLBACK
subclass_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
@@ -292,8 +287,8 @@
int i, n;
char id[128];
- n = listview_count_items( lv, 0 );
- for( i = 0; i < n; i++ ) {
+ n = listview_count_items (lv, 0);
+ for (i = 0; i < n; i++) {
listview_get_item_text (lv, i, SL_COL_VALID, id, sizeof (id) - 1);
if (!strncmp (id, "NOKEY", 5))
return 1;
@@ -319,7 +314,7 @@
for (i = 0; i < n; i++) {
listview_get_item_text (lv, i, SL_COL_VALID, id, sizeof (id) - 1);
if (!strncmp (id, "NOKEY", 5)) {
- listview_get_item_text (lv, i, SL_COL_KEYID,
+ listview_get_item_text (lv, i, SL_COL_KEYID,
keyid, sizeof (keyid) -1);
if (!hkp_recv_key (dlg, default_keyserver,
default_keyserver_port, keyid, 0, 0)) {
@@ -363,7 +358,6 @@
listview_get_item_text (lv, idx, SL_COL_KEYID, keyid, DIM (keyid)-1);
rc = hkp_recv_key (dlg, default_keyserver,
default_keyserver_port, keyid, 0, 0);
-
if (!rc)
keycache_update (0, keyid);
return rc;
@@ -451,11 +445,6 @@
lv = NULL;
}
return FALSE;
-
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, TRUE);
- return FALSE;
case WM_NOTIFY:
NMHDR *notify;
@@ -463,8 +452,8 @@
notify = (NMHDR *)lparam;
if (!notify)
return FALSE;
- if (notify->code == NM_DBLCLK
- && notify->idFrom == IDC_KEYSIG_LIST)
+ if (notify->code == NM_DBLCLK &&
+ notify->idFrom == IDC_KEYSIG_LIST)
do_load_keyprops (dlg, lv);
if (notify->code == NM_RCLICK &&
notify->idFrom == IDC_KEYSIG_LIST &&
Modified: trunk/Src/wptKeysignDlg.cpp
===================================================================
--- trunk/Src/wptKeysignDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptKeysignDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -45,7 +45,7 @@
static const char*
get_printable_fpr (const char *fpr)
{
- static char pfpr[64];
+ static char pfpr[64];
int pos = 0;
size_t i;
@@ -61,18 +61,19 @@
/* Return human friendly information about the key @key. */
-static const char*
+const char*
get_keyinfo (gpgme_key_t key)
{
static char buf[64+16];
struct winpt_key_s k;
memset (&k, 0, sizeof (k));
- winpt_get_seckey (key->subkeys->keyid, &k);
- _snprintf (buf, DIM (buf)-1-16, _("%d-bit %s key, ID 0x%s"),
- key->subkeys->length,
- get_key_pubalgo (key->subkeys->pubkey_algo),
- key->subkeys->keyid+8);
+ if (winpt_get_seckey (key->subkeys->keyid, &k))
+ BUG (0);
+ _snprintf (buf, DIM (buf)-1-16, _("%d-bit %s key, ID 0x%s"),
+ key->subkeys->length,
+ get_key_pubalgo (key->subkeys->pubkey_algo),
+ key->subkeys->keyid+8);
if (k.ext->gloflags.divert_to_card)
strcat (buf, " (Card)");
return buf;
@@ -87,13 +88,12 @@
{
gpg_keycache_t sec;
gpgme_key_t pk, defkey;
- const char *s;
+ const char *s, *inf;
char *uid, *p;
int i = 0, n = 0, curr_sel = 0;
+ int len = 0;
sec = keycache_get_ctx (0);
- if (!sec)
- BUG (0);
gpg_keycache_get_default_key (sec, &defkey);
gpg_keycache_rewind (sec);
while (!gpg_keycache_next_key (sec, 1, &pk)) {
@@ -114,16 +114,18 @@
if (defkey && !strcmp (defkey->subkeys->keyid, pk->subkeys->keyid))
curr_sel = i;
uid = utf8_to_native (s);
- p = new char[strlen (uid) + 64];
+ inf = get_keyinfo (pk);
+ len = strlen (uid) + strlen (inf) + 8;
+ p = new char[len+1];
if (!p)
BUG (NULL);
- _snprintf (p, strlen (uid) + 63, "%s (%s)", uid, get_keyinfo (pk));
+ _snprintf (p, len, "%s (%s)", uid, inf);
SendDlgItemMessage (dlg, IDC_KEYSIGN_KEYLIST,
CB_ADDSTRING, i, (LPARAM)(char *)p);
SendDlgItemMessage (dlg, IDC_KEYSIGN_KEYLIST,
CB_SETITEMDATA, i++, (LPARAM)(DWORD)pk);
free_if_alloc (p);
- free (uid);
+ safe_free (uid);
n++;
}
SendDlgItemMessage (dlg, IDC_KEYSIGN_KEYLIST,
@@ -147,7 +149,8 @@
key = (gpgme_key_t)SendDlgItemMessage (dlg, IDC_KEYSIGN_KEYLIST,
CB_GETITEMDATA, (WPARAM)idx, 0);
if (key) {
- winpt_get_seckey (key->subkeys->keyid, &k);
+ if (winpt_get_seckey (key->subkeys->keyid, &k))
+ BUG (0);
protec = k.is_protected;
if (!protec)
protec = k.ext->gloflags.divert_to_card;
@@ -165,11 +168,16 @@
switch (msg) {
case WM_INITDIALOG:
SetWindowText (dlg, _("Choose Signature Class"));
- SetDlgItemText (dlg, IDC_SIGCLASS_TITLEINF, _("How carefully have you verified the key you are about to sign actually belongs to the person? If you don't know what to anwser, use \"0\"."));
- SetDlgItemText (dlg, IDC_SIGCLASS_CLASS0, _("(0) I will not answer (default)"));
- SetDlgItemText (dlg, IDC_SIGCLASS_CLASS1, _("(1) I have not checked at all."));
- SetDlgItemText (dlg, IDC_SIGCLASS_CLASS2, _("(2) I have done causal checking."));
- SetDlgItemText (dlg, IDC_SIGCLASS_CLASS3, _("(3) I have done very careful checkings."));
+ SetDlgItemText (dlg, IDC_SIGCLASS_TITLEINF,
+ _("How carefully have you verified the key you are about to sign actually belongs to the person? If you don't know what to anwser, use \"0\"."));
+ SetDlgItemText (dlg, IDC_SIGCLASS_CLASS0,
+ _("(0) I will not answer (default)"));
+ SetDlgItemText (dlg, IDC_SIGCLASS_CLASS1,
+ _("(1) I have not checked at all."));
+ SetDlgItemText (dlg, IDC_SIGCLASS_CLASS2,
+ _("(2) I have done causal checking."));
+ SetDlgItemText (dlg, IDC_SIGCLASS_CLASS3,
+ _("(3) I have done very careful checkings."));
CheckDlgButton (dlg, IDC_SIGCLASS_CLASS0, BST_CHECKED);
SetForegroundWindow (dlg);
center_window (dlg, NULL);
@@ -212,6 +220,7 @@
return get_key_expire_date (u);
}
+
/* Display photo of key @key in a separate window. */
static void
show_photo (winpt_key_t key)
@@ -254,10 +263,9 @@
switch (msg) {
case WM_INITDIALOG:
- if (lparam == 0)
- dlg_fatal_error (dlg, "could not get dialog param.");
- SetWindowText (dlg, _("Key Signing"));
key = (winpt_key_t) lparam;
+ if (!key)
+ BUG (0);
_snprintf (keymsg, sizeof keymsg -1,
_("pub %d/%s created: %s expires: %s\n\n"
"Primary key fingerprint: %s\n\n"
@@ -273,7 +281,7 @@
if (do_fill_seckeylist (dlg, s)) {
msg_box (dlg, _("No valid secret key found."), _("Key Signing"), MB_ERR);
EndDialog (dlg, FALSE);
- break;
+ return TRUE;
}
do_check_protection (dlg);
SetDlgItemText (dlg, IDC_KEYSIGN_INFOS, keymsg);
@@ -285,6 +293,7 @@
SetDlgItemText (dlg, IDCANCEL, _("&Cancel"));
SetDlgItemText (dlg, IDC_KEYSIGN_SHOWIMG, _("&Show photo"));
SetDlgItemText (dlg, IDC_KEYSIGN_HIDE, _("&Hide Typing"));
+ SetWindowText (dlg, _("Key Signing"));
CheckDlgButton (dlg, IDC_KEYSIGN_LOCAL, BST_CHECKED);
CheckDlgButton (dlg, IDC_KEYSIGN_EXPSIG, BST_UNCHECKED);
CheckDlgButton (dlg, IDC_KEYSIGN_ASKLEVEL, BST_UNCHECKED);
@@ -302,13 +311,6 @@
h = GetDlgItem (dlg, IDC_KEYSIGN_PASSPHRASE);
SetFocus (h);
return FALSE;
-
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE) {
- SetDlgItemText (dlg, IDC_KEYSIGN_PASSPHRASE, "");
- EndDialog (dlg, TRUE);
- }
- return FALSE;
case WM_COMMAND:
if (HIWORD (wparam) == CBN_SELCHANGE) {
@@ -318,12 +320,14 @@
if (HIWORD (wparam) == BN_CLICKED &&
LOWORD (wparam) == IDC_KEYSIGN_EXPSIG) {
int enable = IsDlgButtonChecked (dlg, IDC_KEYSIGN_EXPSIG);
+
EnableWindow (GetDlgItem (dlg, IDC_KEYSIGN_EXPIRES), enable? TRUE : FALSE);
}
if (HIWORD (wparam) == BN_CLICKED &&
LOWORD (wparam) == IDC_KEYSIGN_HIDE) {
HWND hwnd = GetDlgItem (dlg, IDC_KEYSIGN_PASSPHRASE);
int hide = IsDlgButtonChecked (dlg, IDC_KEYSIGN_HIDE);
+
SendMessage (hwnd, EM_SETPASSWORDCHAR, hide? '*' : 0, 0);
SetFocus (hwnd);
}
@@ -331,7 +335,7 @@
switch (LOWORD (wparam)) {
case IDOK:
if (IsDlgButtonChecked (dlg, IDC_KEYSIGN_ASKLEVEL))
- sig_class = dialog_box_param (glob_hinst,
+ sig_class = dialog_box_param (glob_hinst,
(LPCSTR)IDD_WINPT_SIGCLASS, dlg,
sig_class_dlg_proc, (LPARAM)NULL,
_("Choose Signature Class"),
@@ -363,10 +367,11 @@
if an advanced button is checked and offer to add it to the config
file. */
- GetDlgItemText( dlg, IDC_KEYSIGN_PASSPHRASE, pwd, DIM (pwd)-1);
+ GetDlgItemText (dlg, IDC_KEYSIGN_PASSPHRASE, pwd, DIM (pwd)-1);
keyid = key->ctx->subkeys->keyid;
- if( !keyid ) {
- msg_box( dlg, _("Could not get Key ID from key."), _("Key Signing"), MB_ERR );
+ if (!keyid) {
+ wipememory (pwd, sizeof (pwd));
+ msg_box (dlg, _("Could not get Key ID from key."), _("Key Signing"), MB_ERR);
return TRUE;
}
ke = new GpgKeyEdit (keyid);
@@ -386,9 +391,12 @@
msg_box (dlg, gpgme_strerror (err), _("Key Signing"), MB_ERR);
return TRUE;
}
- if (ke->getResult () != 0)
+ if (ke->getResult () != 0) {
msg_box (dlg, _("This key is already signed by your key"),
_("Key Signing"), MB_INFO);
+ delete ke;
+ return TRUE;
+ }
else {
status_box (dlg, _("Key successfully signed."), _("Key Signing"));
key->update = 1;
@@ -410,4 +418,3 @@
return FALSE;
}
-
Modified: trunk/Src/wptMDSumDlg.cpp
===================================================================
--- trunk/Src/wptMDSumDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptMDSumDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -34,9 +34,13 @@
#include "wptErrors.h"
+/* Symbolic column IDs. */
+enum md_col_t {COL_MD=0, COL_NAME};
+
+
/* Return a printable digest of the buffer @mdbuf. */
static const char*
-printable_digest (byte *mdbuf, size_t n)
+printable_digest (BYTE *mdbuf, size_t n)
{
static char mdasc[128];
size_t i;
@@ -55,7 +59,7 @@
case GPGME_MD_SHA1: return "SHA1";
case GPGME_MD_RMD160: return "RMD160";
case GPGME_MD_SHA256: return "SHA256";
- default: return "";
+ default: break;
}
return "";
}
@@ -71,19 +75,21 @@
int i;
size_t n;
- for (i = 0; i < listview_count_items( md->lv, 0 ); i++) {
- if( listview_get_item_state (md->lv, i)) {
+ for (i = 0; i < listview_count_items (md->lv, 0); i++) {
+ if (listview_get_item_state (md->lv, i)) {
listview_get_item_text (md->lv, i, 1, fname, sizeof (fname)-1);
if (!gpg_md_hash_file (md->mdalgo, fname, mdbuf, &n)) {
listview_add_item (lv, "");
- listview_add_sub_item (lv, 0, 0, printable_digest (mdbuf, n));
- listview_add_sub_item (lv, 0, 1, fname);
+ listview_add_sub_item (lv, 0, COL_MD, printable_digest (mdbuf, n));
+ listview_add_sub_item (lv, 0, COL_NAME, fname);
}
}
}
}
+/* Return 1 if there is a tool available to check the file.
+ (sha1sum, md5sum). */
static int
tool_avail (gpgme_hash_algo_t mdalgo)
{
@@ -93,6 +99,8 @@
}
+
+
/* Dialog box procedure to show and calculate file digests. */
BOOL CALLBACK
mdsum_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
@@ -101,7 +109,7 @@
static struct md_file_s *md;
struct listview_column_s cols[] = {
{0, 264, (char *)_("Digest")},
- {1, 128, (char *)_("Name")},
+ {1, 160, (char *)_("Name")},
{0, 0, 0}
};
gpgme_data_t sumlist;
@@ -109,14 +117,14 @@
char fname[300], mdasc[128];
int i;
- switch( msg ) {
+ switch (msg) {
case WM_INITDIALOG:
md = (md_file_s *)lparam;
if (!md)
BUG (NULL);
listview_new (&lv, GetDlgItem (dlg, IDC_MDSUM_LIST));
for (i = 0; i < cols[i].width; i++)
- listview_add_column( lv, &cols[i]);
+ listview_add_column (lv, &cols[i]);
hash_selected_files (md, lv);
SetDlgItemText (dlg, IDC_MDSUM_COPY, _("&Save..."));
SetDlgItemText (dlg, IDOK, _("&Close"));
@@ -125,11 +133,6 @@
SetForegroundWindow (dlg);
break;
- case WM_SYSCOMMAND:
- if (wparam == SC_CLOSE)
- EndDialog (dlg, TRUE);
- return TRUE;
-
case WM_DESTROY:
if (lv) {
listview_release (lv);
@@ -161,8 +164,8 @@
gpgme_data_write (sumlist, s, strlen (s));
}
for (i = 0; i < listview_count_items (lv, 0); i++) {
- listview_get_item_text (lv, i, 0, mdasc, DIM (mdasc)-1);
- listview_get_item_text (lv, i, 1, fname, DIM (fname)-1);
+ listview_get_item_text (lv, i, COL_MD, mdasc, DIM (mdasc)-1);
+ listview_get_item_text (lv, i, COL_NAME, fname, DIM (fname)-1);
gpgme_data_write (sumlist, mdasc, strlen (mdasc));
gpgme_data_write (sumlist, " ", 1);
@@ -174,7 +177,7 @@
break;
}
_snprintf (fname, sizeof (fname)-1, "%s_sums.txt", algname);
- name = get_filesave_dlg (dlg, _("Select file to save checksums"),
+ name = get_filesave_dlg (dlg, _("Select File to Save Checksums"),
NULL, fname);
if (name && *name) {
gpg_data_release_and_set_file (sumlist, name);
Modified: trunk/Src/wptMainProc.cpp
===================================================================
--- trunk/Src/wptMainProc.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptMainProc.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -242,24 +242,26 @@
text_input_s input;
gpgme_data_t sig;
- memset( &input, 0, sizeof (input) );
+ memset (&input, 0, sizeof (input));
err = gpg_data_new_from_clipboard (&sig, 0);
- if( err ) {
- msg_box( hwnd, gpgme_strerror( err ),_("Verify"), MB_ERR );
+ if (err) {
+ msg_box (hwnd, gpgme_strerror( err ),_("Verify"), MB_ERR);
return;
}
input.type = 0;
- dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_TEXT, hwnd,
- text_input_dlg_proc, (LPARAM)&input,
- _("Text Input"), IDS_WINPT_TEXT );
-
- gpg_data_release_and_set_clipboard( sig, 0 );
- if( input.length ) {
- dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_VERIFY, hwnd,
- clip_verify_dlg_proc, (LPARAM)&input,
- _("Verify"), IDS_WINPT_VERIFY );
+ dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_TEXT, hwnd,
+ text_input_dlg_proc, (LPARAM)&input,
+ _("Text Input"), IDS_WINPT_TEXT);
+
+ /* the dialog might have changed the clipboard, so we restore
+ the original state (again). */
+ gpg_data_release_and_set_clipboard (sig, 0);
+ if (input.length > 0) {
+ dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_VERIFY, hwnd,
+ clip_verify_dlg_proc, (LPARAM)&input,
+ _("Verify"), IDS_WINPT_VERIFY);
input.length = 0;
- free_if_alloc( input.data );
+ free_if_alloc (input.data);
}
}
else if (type & PGP_CLEARSIG) {
Modified: trunk/Src/wptOwnertrustDlg.cpp
===================================================================
--- trunk/Src/wptOwnertrustDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptOwnertrustDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,5 +1,5 @@
/* wptOwnertrust.cpp - Ownertrust im- and export
- * Copyright (C) 2001, 2002, 2003, 2005 Timo Schulz
+ * Copyright (C) 2001, 2002, 2003, 2005, 2006 Timo Schulz
* Copyright (C) 2005 g10 Code GmbH
*
* This file is part of WinPT.
@@ -52,7 +52,7 @@
}
else
err = gpg_error (GPG_ERR_ENOENT);
- free (ot_data);
+ safe_free (ot_data);
return 0;
}
@@ -80,7 +80,7 @@
err = gpg_manage_ownertrust (&ot_data, 0);
- free (ot_data);
+ safe_free (ot_data);
return 0;
}
@@ -105,15 +105,10 @@
SetForegroundWindow (dlg);
return TRUE;
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, TRUE);
- return TRUE;
-
case WM_COMMAND:
switch (LOWORD (wparam)) {
case IDC_OWNERTRUST_EXPORT:
- fname = get_filesave_dlg (dlg, _("Select file name for output"), NULL, NULL);
+ fname = get_filesave_dlg (dlg, _("Select File Name for Output"), NULL, NULL);
if (!fname)
return TRUE;
err = gpg_export_ownertrust (fname);
@@ -125,7 +120,7 @@
return TRUE;
case IDC_OWNERTRUST_IMPORT:
- fname = get_fileopen_dlg (dlg, _("Select file name for input"), NULL, NULL);
+ fname = get_fileopen_dlg (dlg, _("Select File Name for Input"), NULL, NULL);
if (!fname)
return TRUE;
err = gpg_import_ownertrust (fname);
Modified: trunk/Src/wptPINDlg.cpp
===================================================================
--- trunk/Src/wptPINDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptPINDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,5 +1,5 @@
/* wptPINDlg.cpp - PIN callback for smart cards
- * Copyright (C) 2003, 2004, 2005 Timo Schulz
+ * Copyright (C) 2003, 2004, 2005, 2006 Timo Schulz
*
* This file is part of WinPT.
*
@@ -36,14 +36,12 @@
BOOL CALLBACK
pin_cb_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
- static int hide = 1;
- static pin_cb_ctx_s * pin;
- const char * s;
+ static pin_cb_ctx_s *pin;
+ const char *s;
int n, len;
switch (msg) {
case WM_INITDIALOG:
- hide = 1;
pin = (struct pin_cb_ctx_s *)lparam;
if (!pin)
BUG (0);
@@ -51,27 +49,29 @@
s = pin->info_text;
else
s = _("Please enter the PIN");
+ CheckDlgButton (dlg, IDC_PIN_HIDE, BST_CHECKED);
SetDlgItemText (dlg, IDC_PIN_HIDE, _("&Hide Typing"));
SetDlgItemText (dlg, IDCANCEL, _("&Cancel"));
- CheckDlgButton (dlg, IDC_PIN_HIDE, BST_CHECKED);
+ SetDlgItemText (dlg, IDOK, _("&OK"));
SetDlgItemText (dlg, IDC_PIN_INFO, s);
center_window (dlg, NULL);
- SetFocus (GetDlgItem (dlg, IDC_PIN_VALUE ));
+ SetFocus (GetDlgItem (dlg, IDC_PIN_VALUE));
SetForegroundWindow (dlg);
return FALSE;
case WM_COMMAND:
if (HIWORD (wparam) == BN_CLICKED && LOWORD (wparam) == IDC_PIN_HIDE) {
HWND hwnd = GetDlgItem (dlg, IDC_PIN_VALUE);
- hide ^= 1;
+ int hide = IsDlgButtonChecked (dlg, IDC_PIN_HIDE);
+
SendMessage (hwnd, EM_SETPASSWORDCHAR, hide? '*' : 0, 0);
SetFocus (hwnd);
}
- switch( LOWORD( wparam ) ) {
+ switch (LOWORD (wparam)) {
case IDOK:
- n = SendDlgItemMessage( dlg, IDC_PIN_VALUE, WM_GETTEXTLENGTH, 0, 0 );
- if( !n ) {
- msg_box( dlg, _("Please enter a PIN."), _("PIN"), MB_ERR );
+ n = SendDlgItemMessage (dlg, IDC_PIN_VALUE, WM_GETTEXTLENGTH, 0, 0);
+ if (!n) {
+ msg_box (dlg, _("Please enter a PIN."), _("PIN"), MB_ERR);
return FALSE;
}
if (!pin->which || pin->which == CARD_ADMIN_PIN) {
@@ -79,7 +79,7 @@
pin->apin = new char[n+2];
if (!pin->apin)
BUG (0);
- len = GetDlgItemText( dlg, IDC_PIN_VALUE, pin->apin, n+1 );
+ len = GetDlgItemText (dlg, IDC_PIN_VALUE, pin->apin, n+1);
if (len < 8) {
msg_box (dlg, _("'Admin PIN' must be at least 8 characters long."),
_("PIN"), MB_ERR);
@@ -97,8 +97,8 @@
sfree_if_alloc (pin->upin);
pin->upin = new char[n+2];
if (!pin->upin)
- BUG( NULL );
- len = GetDlgItemText( dlg, IDC_PIN_VALUE, pin->upin, n+1 );
+ BUG (NULL);
+ len = GetDlgItemText (dlg, IDC_PIN_VALUE, pin->upin, n+1);
if (len < 6) {
msg_box( dlg, _("'User PIN' must be at least 6 characters long."),
_("PIN"), MB_ERR );
Modified: trunk/Src/wptPassphraseDlg.cpp
===================================================================
--- trunk/Src/wptPassphraseDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptPassphraseDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,5 +1,5 @@
/* wptPassphraseDlg.cpp - Dialog to get the passphrase
- * Copyright (C) 2001-2005 Timo Schulz
+ * Copyright (C) 2001-2006 Timo Schulz
*
* This file is part of WinPT.
*
@@ -36,15 +36,44 @@
struct passphrase_s {
- char *title; /* title of the dialog. */
- char pwd[256]; /* the actual passphrase. */
- int strict; /* do a simple check how good the passphrase is. */
+ char *title; /* Title of the dialog. */
+ char pwd[256]; /* The actual passphrase. */
+ int strict; /* Do a simple check how good the passphrase is. */
int repeat; /* Indicate last try was wrong. */
int cancel; /* 1 if user cancelled operation. */
int not_empty;
+ gpgme_key_t key;
};
+const char* get_keyinfo (gpgme_key_t key);
+
+
+/* Fill in the key information in the combo box,
+ according to the key in @key. */
+static void
+set_passphrase_hint (HWND dlg, gpgme_key_t key)
+{
+ const char *inf;
+ char *uid, *p;
+ size_t len;
+
+ uid = utf8_to_native (key->uids->name);
+ inf = get_keyinfo (key);
+ len = strlen (uid) + strlen (inf) + 8;
+ p = new char[len+1];
+ if (!p)
+ BUG (NULL);
+ _snprintf (p, len, "%s (%s)", uid, inf);
+ SendDlgItemMessage (dlg, IDC_PASSWD_KEYINF,
+ CB_ADDSTRING, 0, (LPARAM)(char *)p);
+ SendDlgItemMessage (dlg, IDC_PASSWD_KEYINF, CB_SETCURSEL, 0, 0);
+ EnableWindow (GetDlgItem (dlg, IDC_PASSWD_KEYINF), FALSE);
+ free_if_alloc (p);
+ free_if_alloc (uid);
+}
+
+
/* Dialog procedure to request a passphrase from the user. */
static BOOL CALLBACK
passwd_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
@@ -55,8 +84,8 @@
switch (msg) {
case WM_INITDIALOG:
pwd = (passphrase_s *)lparam;
- if (pwd == NULL)
- dlg_fatal_error (dlg, "Could not get dialog param!");
+ if (!pwd)
+ BUG (0);
SetWindowText (dlg, _("Passphrase Dialog"));
CheckDlgButton (dlg, IDC_PASSWD_HIDE, BST_CHECKED);
if (pwd->title)
@@ -65,9 +94,14 @@
SetDlgItemText (dlg, IDC_PASSWD_INFO, _("Repeat Passphrase"));
else
SetDlgItemText (dlg, IDC_PASSWD_INFO, _("Enter Passphrase"));
+ if (pwd->key)
+ set_passphrase_hint (dlg, pwd->key);
+ else
+ ShowWindow (GetDlgItem (dlg, IDC_PASSWD_KEYINF), SW_HIDE);
SetDlgItemText (dlg, IDC_PASSWD_HIDE, _("&Hide Typing"));
SetDlgItemText (dlg, IDCANCEL, _("&Cancel"));
- SetFocus (GetDlgItem (dlg, IDC_PASSWD_PWD ));
+ SetDlgItemText (dlg, IDOK, _("&OK"));
+ SetFocus (GetDlgItem (dlg, IDC_PASSWD_PWD));
center_window2 (dlg, NULL, HWND_TOPMOST);
center_window (dlg, NULL);
SetForegroundWindow (dlg);
@@ -86,6 +120,7 @@
LOWORD (wparam) == IDC_PASSWD_HIDE) {
HWND hwnd = GetDlgItem (dlg, IDC_PASSWD_PWD);
int hide = IsDlgButtonChecked (dlg, IDC_PASSWD_HIDE);
+
SendMessage (hwnd, EM_SETPASSWORDCHAR, hide? '*' : 0, 0);
SetFocus (hwnd);
}
@@ -96,7 +131,8 @@
nbytes = SafeGetDlgItemText (dlg, IDC_PASSWD_PWD,
pwd->pwd, DIM (pwd->pwd)-1);
if (!nbytes && pwd->not_empty) {
- msg_box (dlg, _("Please enter a passphrase."), _("Passphrase Dialog"), MB_ERR);
+ msg_box (dlg, _("Please enter a passphrase."),
+ _("Passphrase Dialog"), MB_ERR);
return TRUE;
}
@@ -111,12 +147,12 @@
return TRUE;
}
SetDlgItemText (dlg, IDC_PASSWD_PWD, "");
- EndDialog (dlg, TRUE);
+ EndDialog (dlg, 1);
return TRUE;
case IDCANCEL:
pwd->cancel = 1;
- EndDialog (dlg, FALSE);
+ EndDialog (dlg, 0);
return TRUE;
}
break;
@@ -126,6 +162,32 @@
}
+/* Same as request_passphrase(), but with an additional hint about the
+ key to unprotect. */
+char*
+request_key_passphrase (gpgme_key_t key, const char *title, int *ret_cancel)
+{
+ passphrase_s pass;
+ char *p;
+
+ *ret_cancel = 0;
+ memset (&pass, 0, sizeof (pass));
+ pass.key = key;
+ pass.title = title? m_strdup (title) : NULL;
+
+ DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_PASSWD, glob_hwnd,
+ passwd_dlg_proc, (LPARAM)&pass);
+ free_if_alloc (pass.title);
+ if (pass.cancel == 1) {
+ *ret_cancel = 1;
+ return NULL;
+ }
+ p = m_strdup (pass.pwd);
+ wipememory (pass.pwd, sizeof (pass.pwd));
+ return p;
+}
+
+
/* Request a passphrase from the user. @title is the title of the
dialog and @ret_cancel is true if user cancelled the operation.
Return value: the passphrase or NUL for an error. */
@@ -137,25 +199,20 @@
*ret_cancel = 0; /* reset */
memset (&pass, 0, sizeof (pass));
- if (title && *title) {
+ if (title && *title)
pass.title = m_strdup (title);
- if (!pass.title)
- BUG (0);
- }
pass.repeat = flags & PASSDLG_INIT? 0 : 1;
pass.strict = flags & PASSDLG_STRICT? 1 : 0;
pass.not_empty = flags & PASSDLG_NOTEMPTY? 1: 0;
DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_PASSWD, glob_hwnd,
passwd_dlg_proc, (LPARAM)&pass);
+ free_if_alloc (pass.title);
if (pass.cancel == 1) {
*ret_cancel = 1;
return NULL;
}
p = m_strdup (pass.pwd);
- if (!p)
- BUG (0);
- free_if_alloc (pass.title);
- memset (&pass, 0, sizeof (pass));
+ wipememory (pass.pwd, sizeof (pass.pwd));
return p;
}
Modified: trunk/Src/wptProxySettingsDlg.cpp
===================================================================
--- trunk/Src/wptProxySettingsDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptProxySettingsDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,5 +1,5 @@
/* wptProxySettingsDlg.cpp - Dialog for the proxy settings
- * Copyright (C) 2002-2005 Timo Schulz
+ * Copyright (C) 2002-2006 Timo Schulz
*
* This file is part of WinPT.
*
@@ -36,15 +36,19 @@
#define combo_get_sel(dlg, id) \
SendDlgItemMessage ((dlg), (id), CB_GETCURSEL, 0, 0)
+
+/* Check if the edit control (@id) contains a valid number. */
static int
check_number (HWND dlg, int id)
{
char buf[32];
size_t i;
- GetDlgItemText (dlg, id, buf, 31);
+ i = GetDlgItemText (dlg, id, buf, 31);
+ if (!i)
+ return -1;
for (i=0; i < strlen (buf); i++) {
- if (!isdigit ((unsigned int)buf[i]))
+ if (!isdigit (buf[i]))
return -1;
}
return 0;
@@ -59,10 +63,10 @@
ncount = GetDlgItemText (dlg, IDC_PROXY_PWD, t, DIM (t)-1);
if (ncount > 0)
- ctx->pass = strdup (t);
+ ctx->pass = m_strdup (t);
ncount = GetDlgItemText (dlg, IDC_PROXY_USER, t, DIM (t)-1);
if (ncount > 0)
- ctx->user = strdup (t);
+ ctx->user = m_strdup (t);
ncount = GetDlgItemText (dlg, IDC_PROXY_HOST, t, DIM (t)-1);
if (ncount > 0) {
if (check_IP_or_hostname (t)) {
@@ -72,7 +76,7 @@
/* XXX: check prefix */
if (!strncmp (t, "http://", 7))
pos = 7;
- ctx->host = strdup (t + pos);
+ ctx->host = m_strdup (t + pos);
}
else {
msg_box (dlg, _("Please enter the proxy hostname."),
@@ -106,6 +110,8 @@
}
+/* Enable or disable the authentication elements based on
+ the value @val. */
static void
enable_proxy_auth (HWND dlg, int val)
{
@@ -115,13 +121,14 @@
}
+/* Fill in all valid proxy protocols. */
static void
init_proxy_protocols (HWND dlg)
{
HWND cb = GetDlgItem (dlg, IDC_PROXY_PROTO);
combox_add_string (cb, (char *)"NONE");
combox_add_string (cb, (char *)"HTTP");
- /*combox_add_string (cb, (char *)"SOCKS5");*/
+ /*XXX: combox_add_string (cb, (char *)"SOCKS5");*/
SendMessage (cb, CB_SETCURSEL, (WPARAM)0, 0);
}
@@ -162,11 +169,6 @@
SetForegroundWindow (dlg);
break;
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, TRUE);
- return FALSE;
-
case WM_COMMAND:
switch (HIWORD (wparam)) {
case CBN_SELCHANGE:
Modified: trunk/Src/wptSigTreeDlg.cpp
===================================================================
--- trunk/Src/wptSigTreeDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptSigTreeDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -17,6 +17,9 @@
* along with WinPT; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
#include <windows.h>
#include <commctrl.h>
@@ -101,7 +104,7 @@
static void
-create_popup (HWND dlg)
+show_popup (HWND dlg)
{
HMENU hm;
POINT p;
@@ -116,6 +119,7 @@
}
+/* Get the signature properties for the selected item. */
static void
show_sigprops (HWND dlg)
{
@@ -173,7 +177,7 @@
if (nft->code == NM_DBLCLK)
show_sigprops (dlg);
else if (nft->code == NM_RCLICK)
- create_popup (dlg);
+ show_popup (dlg);
break;
case WM_COMMAND:
Modified: trunk/Src/wptTextInputDlg.cpp
===================================================================
--- trunk/Src/wptTextInputDlg.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptTextInputDlg.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,5 +1,5 @@
/* wptTextInputDlg.cpp - Dialog for getting text
- * Copyright (C) 2001-2005 Timo Schulz
+ * Copyright (C) 2001-2006 Timo Schulz
*
* This file is part of WinPT.
*
@@ -60,25 +60,27 @@
SetDlgItemText (dlg, IDC_TEXT_INPUT, buf);
}
free_if_alloc (buf);
-} /* load_file_contents */
+}
BOOL CALLBACK
text_input_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
static text_input_s *ctx;
+ const char *file;
char *p;
- size_t n;
+ DWORD n;
switch (msg) {
case WM_INITDIALOG:
ctx = (text_input_s *)lparam;
- if (ctx == NULL)
- dlg_fatal_error (dlg, "Could not get dialog param.");
+ if (!ctx)
+ BUG (0);
SetWindowText (dlg, _("Text Input"));
switch (ctx->type) {
case 0:
- SetDlgItemText (dlg, IDC_TEXT_INFO, _("Enter the text that was signed"));
+ SetDlgItemText (dlg, IDC_TEXT_INFO,
+ _("Enter the text that was signed"));
break;
}
SetDlgItemText (dlg, IDCANCEL, _("&Cancel"));
@@ -87,33 +89,27 @@
return TRUE;
case WM_COMMAND:
- switch( LOWORD(wparam) ) {
+ switch (LOWORD (wparam)) {
case IDC_TEXT_FILE:
- const char *file;
-
- file = get_fileopen_dlg( dlg, _("Text Input from File"), NULL, NULL );
- if( file )
- load_file_contents( dlg, file );
+ file = get_fileopen_dlg (dlg, _("Text Input from File"), NULL, NULL);
+ if (file)
+ load_file_contents (dlg, file);
break;
case IDOK:
- p = new char[100*1024+1];
- if (!p)
- BUG (0);
- n = GetDlgItemText (dlg, IDC_TEXT_INPUT, p, 100*1024);
- if (n > 0) {
- ctx->length = n;
- ctx->data = new char[n+1];
- if (!ctx->data)
+ n = item_get_text_length (dlg, IDC_TEXT_INPUT);
+ if (n < 1) {
+ ctx->length = 0;
+ ctx->data = NULL;
+ }
+ else {
+ p = new char[n+2];
+ if (!p)
BUG (0);
- memset (ctx->data, 0, n+1);
- strcpy (ctx->data, p);
+ n = GetDlgItemText (dlg, IDC_TEXT_INPUT, p, n+1);
+ ctx->length = n;
+ ctx->data = p;
}
- else {
- ctx->length = 0;
- ctx->data = NULL;
- }
- free_if_alloc (p);
EndDialog (dlg, TRUE);
return TRUE;
@@ -127,4 +123,4 @@
}
return FALSE;
-} /* text_input_dlg_proc */
+}
Modified: trunk/Src/wptUtil.cpp
===================================================================
--- trunk/Src/wptUtil.cpp 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/Src/wptUtil.cpp 2006-06-06 13:37:59 UTC (rev 225)
@@ -101,7 +101,7 @@
if (!strchr (email, '@'))
return -1;
for (i=0; i < strlen (email); i++) {
- if (isdigit (email[i]) || isalpha (email[i])
+ if (isxdigit (email[i]) || isalpha (email[i])
|| strchr (allowed, email[i]))
continue;
else
@@ -122,8 +122,7 @@
if (end > strlen (str) || begin > strlen (str) || (end-begin) < 0)
return NULL;
- /*p = new char[end-begin+1]; XXX: fixme*/
- p = (char*)calloc (1, end-begin+1);
+ p = new char[end-begin+1];
if (!p)
abort ();
@@ -137,25 +136,28 @@
/* Remove %AB sequences from the input buffer @in
and store the raw data in @out. */
void
-unhexify_buffer (const char *in, char **out)
+unhexify_buffer (const char *in, char **r_out)
{
- char temp[3];
- size_t pos, i=0;
+ char temp[3], *out;
+ size_t len, pos, i=0;
- *out = (char*)calloc (1, strlen (in)+1);
- if (!*out)
+ len = strlen (in);
+ out = new char[len+1];
+ if (!out)
abort ();
- for (pos = 0; pos < strlen (in); pos++) {
+ memset (out, 0, len+1);
+ for (pos = 0; pos < len; pos++) {
if (in[pos] == '%' && in[pos+1] == '%')
- (*out)[i++] = '%';
+ out[i++] = '%';
else if (in[pos] == '%') {
temp[0] = in[++pos];
temp[1] = in[++pos];
temp[2] = 0;
- (*out)[i++] = (char)strtoul (temp, NULL, 16);
+ out[i++] = (char)strtoul (temp, NULL, 16);
}
else
- (*out)[i++] = in[pos];
+ out[i++] = in[pos];
}
- (*out)[i] = 0;
+ out[i] = 0;
+ *r_out = out;
}
Modified: trunk/THANKS
===================================================================
--- trunk/THANKS 2006-06-04 10:13:20 UTC (rev 224)
+++ trunk/THANKS 2006-06-06 13:37:59 UTC (rev 225)
@@ -1,13 +1,14 @@
I have to thank so many people, but I can't rembember all their names.
-If anybody think that he/she is missing here, please mail me ;-). My
-thanks goes to the GnuPG, GnuPA team, all people from my mailing lists
+If anybody think that he/she is missing here, please mail me.
+My thanks goes to the GnuPG, GnuPA team, all people from my mailing lists
and the gnupg mailings list and all the other people who helped me to
improve WinPT :-). Especially those users who reported all the minor
-(and major problems) via the (wald.intevation.org) bug tracking system.
+(and major problems) via the (wald.intevation.org) bug tracking system
+and/or via personal emails.
-Special thanks to Ralf Kreutzmann who maintaines the installer and
-provided a forum for German speaking WinPT users. And of course for
-all his bug reports he sent to me.
+Special thanks to Ralf Kreutzmann who maintained the GnuPT installer
+and provided a forum for German speaking WinPT users. And of course
+for all his bug reports he sent to me.
Kurt Fitzner for continuing the work on MyGPGME and for all his
suggestions and bug reports he sent to me.
More information about the Winpt-commits
mailing list