[Winpt-commits] r165 - in trunk: . Include PTD Po Src
scm-commit at wald.intevation.org
scm-commit at wald.intevation.org
Tue Jan 24 11:10:18 CET 2006
Author: twoaday
Date: 2006-01-24 11:10:15 +0100 (Tue, 24 Jan 2006)
New Revision: 165
Modified:
trunk/Include/wptFileManager.h
trunk/Include/wptKeyManager.h
trunk/NEWS
trunk/PTD/ChangeLog
trunk/PTD/PTD.cpp
trunk/PTD/wptJPG.cpp
trunk/PTD/wptJPG.h
trunk/Po/de.po
trunk/Src/ChangeLog
trunk/Src/WinPT-en.rc
trunk/Src/resource.h
trunk/Src/wptClipImportDlg.cpp
trunk/Src/wptFileManagerDlg.cpp
trunk/Src/wptGPGPrefsDlg.cpp
trunk/Src/wptKeyCache.cpp
trunk/Src/wptKeyEditDlgs.cpp
trunk/Src/wptKeyManager.cpp
trunk/Src/wptKeyManagerDlg.cpp
trunk/Src/wptKeyPropsDlg.cpp
trunk/Src/wptKeyserver.cpp
trunk/Src/wptKeyserverDlg.cpp
trunk/Src/wptMDSumDlg.cpp
trunk/Src/wptMainProc.cpp
trunk/TODO
trunk/TODO-GPGME-PORT.txt
trunk/configure.ac
Log:
2006-01-21 Timo Schulz <twoaday at freakmail.de>
* wptKeyCache.cpp (keycache_next_key): Handle the case
that there is a secret key without a public part.
* wptKeyserver.cpp (kserver_save_conf): Save ports.
* wptKeyserverDlg.cpp (keyserver_modify_dlg_proc):
Reset keyserver name.
* wptKeyPropsDlg.cpp (keyprops_dlg_proc): Just indicate
an update, do not update the cache.
* wptFileManagerDlg.cpp (file_import_dlg_proc): Use one
dialog for both clipboard and file imports.
* wptKeyManager.cpp (km_file_import, km_clip_import):
Changes to support new update system.
(gpg_clip_import): New.
* wptKeyManagerDlg.cpp (km_gui_import): New.
(find_keypos): Rewritten.
(refresh_keylist): Improved error checking.
(for complete list of changes, see PTD/ChangeLog, Src/ChangeLog)
Modified: trunk/Include/wptFileManager.h
===================================================================
--- trunk/Include/wptFileManager.h 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Include/wptFileManager.h 2006-01-24 10:10:15 UTC (rev 165)
@@ -60,6 +60,7 @@
int cache_cb;
gpgme_sig_mode_t sigmode; /* used signature mode. */
struct {
+ unsigned int is_clip:1; /* 1=if clipboard operation. */
unsigned int revcert:1;
unsigned int has_seckey:1;
} import;
Modified: trunk/Include/wptKeyManager.h
===================================================================
--- trunk/Include/wptKeyManager.h 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Include/wptKeyManager.h 2006-01-24 10:10:15 UTC (rev 165)
@@ -64,8 +64,9 @@
int km_file_export( HWND dlg, listview_ctrl_t lv, const char *fname );
int km_privkey_export(HWND dlg, listview_ctrl_t lv, const char *fname );
int km_set_implicit_trust (HWND dlg, listview_ctrl_t lv, int pos);
-int km_clip_import (HWND dlg, int *r_newkeys);
-int km_file_import (HWND dlg, const char *fname, int *r_newkeys);
+int km_clip_import (HWND dlg, int *r_newkeys, int *r_newsks);
+int km_file_import (HWND dlg, const char *fname,
+ int *r_newkeys, int *r_newsks);
int km_http_import (HWND dlg, const char * url);
int km_delete_keys( listview_ctrl_t lv, HWND dlg );
int km_send_to_keyserver( listview_ctrl_t lv, HWND dlg, const char * host, unsigned short port);
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/NEWS 2006-01-24 10:10:15 UTC (rev 165)
@@ -726,3 +726,12 @@
in a crash/unexpected behaviour.
* Fixed checkbox handling in the GPG preferences.
* Updated GUI update system for the Key Manager.
+
+(0.11.7)
+* The GUI update system in 0.11.6 still had a problem
+ which is fixed now.
+* The keyserver edit dialog now correctly stores the ports.
+* Scale photos to the size of the photo frame window.
+* Correctly store the GPG preferences and reload the Key Manager
+ if they were chaged.
+* Allow to drop files into the Key Manager to import keys.
Modified: trunk/PTD/ChangeLog
===================================================================
--- trunk/PTD/ChangeLog 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/PTD/ChangeLog 2006-01-24 10:10:15 UTC (rev 165)
@@ -1,3 +1,9 @@
+2006-01-24 Timo Schulz <ts at g10code.de>
+
+ * PTD.cpp (PTD_jpg_show): Scale photo so it fits into the
+ frame window.
+ * wptJPG.cpp (getWeight, getHeight, getWidth): New.
+
2005-11-22 Timo Schulz <ts at g10code.com>
Store MSVC related files outside the repository.
Modified: trunk/PTD/PTD.cpp
===================================================================
--- trunk/PTD/PTD.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/PTD/PTD.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -23,7 +23,6 @@
#endif
#include <windows.h>
-#include <windows.h>
#include <stdio.h>
#include <ocidl.h>
#include <olectl.h>
@@ -55,7 +54,6 @@
#endif
#undef ATTR_SEC
-
static unsigned *journ_keys = 0;
static unsigned key_idx = 0;
static unsigned nkeys = 0;
@@ -108,7 +106,6 @@
if (cbt_hook == NULL)
return FALSE;
-
/* Okay, what are we doing here:
* In the past I used the Spy++ application to find out why the old current
* window doesn't work on so much systems. Now we try to use the computer
@@ -248,7 +245,8 @@
{
CJPG jpg;
HDC hdc;
- POINT p2;
+ POINT sizewnd;
+ RECT rwnd;
BOOL rc;
rc = jpg.load (name);
@@ -261,23 +259,23 @@
return -2; /* XXX: use real return code. */
}
- p2.x = jpg.m_Width;
- p2.y = jpg.m_Height;
- rc = jpg.show (hdc, p, &p2, 0, 0);
+ GetWindowRect (hwnd, &rwnd);
+ sizewnd.x = rwnd.right - rwnd.left;
+ sizewnd.y = rwnd.bottom - rwnd.top;
+ rc = jpg.show (hdc, p, &sizewnd, 0, 0);
ReleaseDC (hwnd, hdc);
jpg.freePictureData ();
return rc;
}
-
extern "C" int WINAPI
DllMain (HINSTANCE hinst, DWORD reason, LPVOID reserv)
{
switch (reason) {
case DLL_PROCESS_ATTACH:
- glob_hinst = hinst;
+ glob_hinst = hinst;
break;
case DLL_THREAD_ATTACH:
break;
@@ -288,4 +286,3 @@
}
return TRUE;
}
-
Modified: trunk/PTD/wptJPG.cpp
===================================================================
--- trunk/PTD/wptJPG.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/PTD/wptJPG.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -33,7 +33,6 @@
#endif
#include <windows.h>
-#include <windows.h>
#include <ocidl.h>
#include <olectl.h>
@@ -183,50 +182,48 @@
/* Draw the loaded picture direct to the client DC */
BOOL
-CJPG::show (HDC pDC, POINT *LeftTop, POINT *WidthHeight,
- int MagnifyX, int MagnifyY)
+CJPG::show (HDC pDC, POINT *leftTop, POINT *widthHeight,
+ int magnifyX, int magnifyY)
{
- long Width = 0;
- long Height = 0;
+ RECT drawRect;
+ long width = 0;
+ long height = 0;
+ HRESULT hrP = 0;
if (pDC == NULL || m_IPicture == NULL)
return FALSE;
- m_IPicture->get_Width (&Width);
- m_IPicture->get_Height (&Height);
+ m_IPicture->get_Width (&width);
+ m_IPicture->get_Height (&height);
- if (MagnifyX == 0)
- MagnifyX = 0;
- if (MagnifyY == 0)
- MagnifyY = 0;
- MagnifyX = int(MulDiv (Width, GetDeviceCaps(pDC, LOGPIXELSX), HIMETRIC_INCH) * MagnifyX);
- MagnifyY = int(MulDiv (Height, GetDeviceCaps(pDC, LOGPIXELSY), HIMETRIC_INCH) * MagnifyY);
-
- RECT DrawRect;
- DrawRect.left = LeftTop->x;
- DrawRect.top = LeftTop->y;
- DrawRect.right = MagnifyX;
- DrawRect.bottom = MagnifyY;
+ if (magnifyX == 0)
+ magnifyX = 0;
+ if (magnifyY == 0)
+ magnifyY = 0;
+ magnifyX = int(MulDiv (width, GetDeviceCaps(pDC, LOGPIXELSX), HIMETRIC_INCH) * magnifyX);
+ magnifyY = int(MulDiv (height, GetDeviceCaps(pDC, LOGPIXELSY), HIMETRIC_INCH) * magnifyY);
- HRESULT hrP = 0;
+ drawRect.left = leftTop->x;
+ drawRect.top = leftTop->y;
+ drawRect.right = magnifyX;
+ drawRect.bottom = magnifyY;
hrP = m_IPicture->Render (pDC,
- LeftTop->x, // Left
- LeftTop->y, // Top
- WidthHeight->x +MagnifyX, // Width
- WidthHeight->y +MagnifyY, // Height
+ leftTop->x, // Left
+ leftTop->y, // Top
+ widthHeight->x +magnifyX, // Width
+ widthHeight->y +magnifyY, // Height
0,
- Height,
- Width,
- -Height,
- &DrawRect);
+ height,
+ width,
+ -height,
+ &drawRect);
if (SUCCEEDED (hrP))
return (TRUE);
- out_of_core ();
-}
+ out_of_core ();}
/* Get the original picture pixel size (ignore what current DC is using)
@@ -253,3 +250,26 @@
return (TRUE);
}
+
+/* Return height of the current image. */
+LONG
+CJPG::getHeight (void)
+{
+ return m_Height;
+}
+
+
+/* Return weight of the current image. */
+LONG
+CJPG::getWeight (void)
+{
+ return m_Weight;
+}
+
+
+/* Return width of the current image. */
+LONG
+CJPG::getWidth (void)
+{
+ return m_Width;
+}
Modified: trunk/PTD/wptJPG.h
===================================================================
--- trunk/PTD/wptJPG.h 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/PTD/wptJPG.h 2006-01-24 10:10:15 UTC (rev 165)
@@ -23,6 +23,13 @@
class CJPG
{
+private:
+ LONG m_Height; /* height (in pixels ignore what current device context uses) */
+ LONG m_Weight; /* size of the image object in bytes (file OR resource) */
+ LONG m_Width; /* width (in pixels ignore what current device context uses) */
+
+ IPicture* m_IPicture; /* Same As LPPICTURE (typedef IPicture __RPC_FAR *LPPICTURE)*/
+
public:
CJPG ();
virtual ~CJPG ();
@@ -30,16 +37,13 @@
void freePictureData ();
BOOL load (LPCSTR sFilePathName);
BOOL loadPictureData (BYTE* pBuffer, int nSize);
- BOOL show (HDC pDC, POINT *LeftTop, POINT *WidthHeight,
- int MagnifyX, int MagnifyY);
+ BOOL show (HDC pDC, POINT *leftTop, POINT *widthHeight,
+ int magnifyX, int magnifyY);
BOOL updateSizeOnDC (HDC pDC);
- LONG m_Height; /* height (in pixels ignore what current device context uses) */
- LONG m_Weight; /* size of the image object in bytes (file OR resource) */
- LONG m_Width; /* width (in pixels ignore what current device context uses) */
-
-private:
- IPicture* m_IPicture; /* Same As LPPICTURE (typedef IPicture __RPC_FAR *LPPICTURE)*/
+ LONG getHeight (void);
+ LONG getWeight (void);
+ LONG getWidth (void);
};
#endif /*WPT_JPG_H*/
Modified: trunk/Po/de.po
===================================================================
--- trunk/Po/de.po 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Po/de.po 2006-01-24 10:10:15 UTC (rev 165)
@@ -12,9 +12,9 @@
# BUG: GetOpenFileName needs \0\0. gettext does not support it.
msgid ""
msgstr ""
-"Project-Id-Version: WinPT 0.11.5\n"
+"Project-Id-Version: WinPT 0.11.6\n"
"Report-Msgid-Bugs-To: winpt at freakmail.de\n"
-"POT-Creation-Date: 2006-01-20 09:39+0100\n"
+"POT-Creation-Date: 2006-01-24 09:58+0100\n"
"PO-Revision-Date: 2005-12-28 16:10+0100\n"
"Last-Translator: Timo Schulz <ts at g10code.de>\n"
"Language-Team: DE <twoaday at freakmail.de>\n"
@@ -63,11 +63,11 @@
#: Src/wptKeyserverDlg.cpp:204 Src/wptKeyserverDlg.cpp:220
#: Src/wptKeyserverDlg.cpp:378 Src/wptKeyserverDlg.cpp:384
#: Src/wptKeyserverDlg.cpp:493 Src/wptKeyserverDlg.cpp:553
-#: Src/wptKeyserverDlg.cpp:558 Src/wptKeyserverDlg.cpp:668
-#: Src/wptKeyserverDlg.cpp:676 Src/wptKeyserverDlg.cpp:683
-#: Src/wptKeyserverDlg.cpp:699 Src/wptKeyserverDlg.cpp:715
-#: Src/wptKeyserverDlg.cpp:720 Src/wptKeyserverDlg.cpp:726
-#: Src/wptKeyserverDlg.cpp:732
+#: Src/wptKeyserverDlg.cpp:558 Src/wptKeyserverDlg.cpp:670
+#: Src/wptKeyserverDlg.cpp:678 Src/wptKeyserverDlg.cpp:685
+#: Src/wptKeyserverDlg.cpp:701 Src/wptKeyserverDlg.cpp:717
+#: Src/wptKeyserverDlg.cpp:722 Src/wptKeyserverDlg.cpp:728
+#: Src/wptKeyserverDlg.cpp:734
msgid "Keyserver"
msgstr "Schlüsselserver"
@@ -134,8 +134,8 @@
# c:\oss\winpt-gpgme\src\WinPT.cpp:376
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:426
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:711
-#: Src/WinPT.cpp:511 Src/wptFileManagerDlg.cpp:479
-#: Src/wptFileManagerDlg.cpp:793
+#: Src/WinPT.cpp:511 Src/wptFileManagerDlg.cpp:487
+#: Src/wptFileManagerDlg.cpp:801
msgid "Wipe Free Space"
msgstr "Freien Speicher Löschen"
@@ -185,7 +185,7 @@
msgid "About GnuPG"
msgstr "Über GnuPG"
-#: Src/wptAboutDlgs.cpp:97 Src/wptKeyManagerDlg.cpp:1697
+#: Src/wptAboutDlgs.cpp:97 Src/wptKeyManagerDlg.cpp:1735
#: Src/wptMainProc.cpp:576
msgid "About WinPT"
msgstr "Über WinPT"
@@ -235,7 +235,7 @@
msgstr "Über &GPG"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:700
-#: Src/wptAboutDlgs.cpp:116 Src/wptKeyEditDlgs.cpp:1829
+#: Src/wptAboutDlgs.cpp:116 Src/wptKeyEditDlgs.cpp:1859
#: Src/wptKeyManagerDlg.cpp:953
msgid "&Help"
msgstr "&Hilfe"
@@ -353,7 +353,7 @@
msgid "Make off-card backup of encryption key"
msgstr "Externes Backup des Verschlüsselungs-Schlüssel"
-#: Src/wptCardDlg.cpp:608 Src/wptKeyManagerDlg.cpp:1586
+#: Src/wptCardDlg.cpp:608 Src/wptKeyManagerDlg.cpp:1629
msgid "Card Key Generation"
msgstr "Karten-Schlüsselerzeugung"
@@ -382,7 +382,7 @@
msgid "Please use plain ASCII charset for the fields."
msgstr "Bitte nur den 7-bit ASCII Zeichensatz verwenden."
-#: Src/wptCardDlg.cpp:683 Src/wptKeyEditDlgs.cpp:1314
+#: Src/wptCardDlg.cpp:683 Src/wptKeyEditDlgs.cpp:1336
msgid "The date you have chosen lies in the past."
msgstr "Das gewählte Datum ist in der Vergangenheit."
@@ -481,7 +481,7 @@
#: Src/wptClipDecryptDlg.cpp:164 Src/wptClipEncryptDlg.cpp:206
#: Src/wptClipSignDlg.cpp:119 Src/wptClipSignDlg.cpp:229
#: Src/wptClipSignEncDlg.cpp:197 Src/wptKeyManager.cpp:329
-#: Src/wptKeyManager.cpp:709 Src/wptKeyManager.cpp:904 Src/wptSymEnc.cpp:90
+#: Src/wptKeyManager.cpp:777 Src/wptKeyManager.cpp:977 Src/wptSymEnc.cpp:90
msgid "GnuPG Status: Finished"
msgstr "GnuPG-Status: Abgeschlossen"
@@ -522,9 +522,9 @@
#: Src/wptClipEditDlg.cpp:58 Src/wptClipEditDlg.cpp:111
#: Src/wptClipEditDlg.cpp:119 Src/wptClipEditDlg.cpp:158
#: Src/wptClipEditDlg.cpp:167 Src/wptClipEditDlg.cpp:245
-#: Src/wptClipEditDlg.cpp:250 Src/wptMainProc.cpp:159 Src/wptMainProc.cpp:227
-#: Src/wptMainProc.cpp:270 Src/wptMainProc.cpp:428 Src/wptMainProc.cpp:509
-#: Src/wptMainProc.cpp:513
+#: Src/wptClipEditDlg.cpp:250 Src/wptFileManagerDlg.cpp:211
+#: Src/wptMainProc.cpp:159 Src/wptMainProc.cpp:227 Src/wptMainProc.cpp:270
+#: Src/wptMainProc.cpp:428 Src/wptMainProc.cpp:509 Src/wptMainProc.cpp:513
msgid "Clipboard"
msgstr "Zwischenablage"
@@ -585,8 +585,8 @@
msgid "Add quotes"
msgstr "'>' hinzufügen"
-#: Src/wptClipEditDlg.cpp:202 Src/wptKeyEditDlgs.cpp:1828
-#: Src/wptKeyserverDlg.cpp:608 Src/wptMDSumDlg.cpp:104
+#: Src/wptClipEditDlg.cpp:202 Src/wptKeyEditDlgs.cpp:1858
+#: Src/wptKeyserverDlg.cpp:610 Src/wptMDSumDlg.cpp:104
#: Src/wptOwnertrustDlg.cpp:103
msgid "&Close"
msgstr "&Schliessen"
@@ -609,7 +609,7 @@
#: Src/wptClipEncryptDlg.cpp:142 Src/wptClipSignEncDlg.cpp:112
#: Src/wptCommonDlg.cpp:68 Src/wptFileManagerDlg.cpp:84
-#: Src/wptFileManagerDlg.cpp:215 Src/wptFileManagerDlg.cpp:277
+#: Src/wptFileManagerDlg.cpp:217 Src/wptFileManagerDlg.cpp:285
#: Src/wptFileSaveDlg.cpp:58 Src/wptFirstRunDlg.cpp:51
#: Src/wptKeyEditDlgs.cpp:310 Src/wptKeyEditDlgs.cpp:410
#: Src/wptKeyEditDlgs.cpp:485 Src/wptKeyEditDlgs.cpp:621
@@ -632,52 +632,10 @@
msgid "No recipient found with '%s'"
msgstr "Keine Empfaenger mit '%s' gefunden"
-#: Src/wptClipImportDlg.cpp:70 Src/wptKeyImportStatusDlg.cpp:77
+#: Src/wptClipImportDlg.cpp:53 Src/wptKeyImportStatusDlg.cpp:77
msgid "Key Import Statistics"
msgstr "Schlüsselimport-Statistiken"
-#: Src/wptClipImportDlg.cpp:98 Src/wptFileManagerDlg.cpp:201
-#: Src/wptFileManagerDlg.cpp:214 Src/wptKeyManager.cpp:468
-msgid "Key Import"
-msgstr "Schlüsselimport"
-
-#: Src/wptClipImportDlg.cpp:99 Src/wptFileManagerDlg.cpp:469
-msgid "&Import"
-msgstr "&Importieren"
-
-#: Src/wptClipImportDlg.cpp:129
-msgid ""
-"Some of the imported keys are secret keys.\n"
-"\n"
-"The ownertrust values of these keys must be\n"
-"set manually via the Key Properties dialog."
-msgstr ""
-"Einige der importierten Schlüssel sind geheime Schlüssel.\n"
-"\n"
-"Die Vertrauensstellungen dieser Schlüssel müssen Sie\n"
-"manuell in den Schlüsseleigenschaften setzen."
-
-#: Src/wptClipImportDlg.cpp:132 Src/wptClipImportDlg.cpp:142
-#: Src/wptClipImportDlg.cpp:153 Src/wptFileManager.cpp:1653
-#: Src/wptFileManager.cpp:1664 Src/wptImportList.cpp:414
-#: Src/wptImportList.cpp:421 Src/wptImportList.cpp:430
-#: Src/wptImportList.cpp:438 Src/wptImportList.cpp:447
-#: Src/wptKeyManager.cpp:583 Src/wptKeyserverDlg.cpp:229
-msgid "Import"
-msgstr "Importieren"
-
-#: Src/wptClipImportDlg.cpp:150
-msgid ""
-"Key without a self signature was dectected!\n"
-"(This key is NOT usable for encryption, etc)\n"
-"\n"
-"Cannot import these key(s)."
-msgstr ""
-"Schlüssel ohne Eigensignatur erkannt!\n"
-"(Dieser Schlüssel ist für Verschlüsselung, etc. NICHT verwendbar)\n"
-"\n"
-"Kann diese(n) Schlüssel nicht importieren."
-
#: Src/wptClipSignDlg.cpp:104 Src/wptClipSignDlg.cpp:185
#: Src/wptClipSignEncDlg.cpp:176
msgid "Could not get default key."
@@ -729,7 +687,7 @@
#: Src/wptClipVerifyDlg.cpp:186 Src/wptClipVerifyDlg.cpp:193
#: Src/wptClipVerifyDlg.cpp:225 Src/wptClipVerifyDlg.cpp:236
#: Src/wptFileManager.cpp:1551 Src/wptFileManager.cpp:1606
-#: Src/wptFileManagerDlg.cpp:542 Src/wptFileVerifyDlg.cpp:81
+#: Src/wptFileManagerDlg.cpp:550 Src/wptFileVerifyDlg.cpp:81
#: Src/wptFileVerifyDlg.cpp:145 Src/wptMainProc.cpp:179
#: Src/wptMainProc.cpp:245 Src/wptMainProc.cpp:257 Src/wptMainProc.cpp:265
#: Src/wptMainProc.cpp:416
@@ -782,28 +740,28 @@
#: Src/wptCommonDlg.cpp:124 Src/wptKeyEditDlgs.cpp:732
#: Src/wptKeyEditDlgs.cpp:790 Src/wptKeyEditDlgs.cpp:828
-#: Src/wptKeyEditDlgs.cpp:840 Src/wptKeyEditDlgs.cpp:909
-#: Src/wptKeyEditDlgs.cpp:916 Src/wptKeyEditDlgs.cpp:934
-#: Src/wptKeyEditDlgs.cpp:981 Src/wptKeyEditDlgs.cpp:988
-#: Src/wptKeyEditDlgs.cpp:1079 Src/wptKeyEditDlgs.cpp:1085
-#: Src/wptKeyEditDlgs.cpp:1237 Src/wptKeyEditDlgs.cpp:1241
-#: Src/wptKeyEditDlgs.cpp:1245 Src/wptKeyEditDlgs.cpp:1250
-#: Src/wptKeyEditDlgs.cpp:1286 Src/wptKeyEditDlgs.cpp:1290
-#: Src/wptKeyEditDlgs.cpp:1300 Src/wptKeyEditDlgs.cpp:1315
-#: Src/wptKeyEditDlgs.cpp:1319 Src/wptKeyEditDlgs.cpp:1359
-#: Src/wptKeyEditDlgs.cpp:1364 Src/wptKeyEditDlgs.cpp:1371
-#: Src/wptKeyEditDlgs.cpp:1377 Src/wptKeyEditDlgs.cpp:1382
-#: Src/wptKeyEditDlgs.cpp:1425 Src/wptKeyEditDlgs.cpp:1430
-#: Src/wptKeyEditDlgs.cpp:1437 Src/wptKeyEditDlgs.cpp:1444
-#: Src/wptKeyEditDlgs.cpp:1447 Src/wptKeyEditDlgs.cpp:1485
-#: Src/wptKeyEditDlgs.cpp:1493 Src/wptKeyEditDlgs.cpp:1527
-#: Src/wptKeyEditDlgs.cpp:1535 Src/wptKeyEditDlgs.cpp:1634
-#: Src/wptKeyEditDlgs.cpp:1667 Src/wptKeyEditDlgs.cpp:1694
-#: Src/wptKeyEditDlgs.cpp:1698 Src/wptKeyEditDlgs.cpp:1707
-#: Src/wptKeyEditDlgs.cpp:1809 Src/wptKeyEditDlgs.cpp:1819
-#: Src/wptKeyEditDlgs.cpp:1830 Src/wptKeyEditDlgs.cpp:1859
-#: Src/wptKeyEditDlgs.cpp:1865 Src/wptKeyManagerDlg.cpp:981
-#: Src/wptKeyManagerDlg.cpp:1732
+#: Src/wptKeyEditDlgs.cpp:840 Src/wptKeyEditDlgs.cpp:927
+#: Src/wptKeyEditDlgs.cpp:934 Src/wptKeyEditDlgs.cpp:952
+#: Src/wptKeyEditDlgs.cpp:1001 Src/wptKeyEditDlgs.cpp:1008
+#: Src/wptKeyEditDlgs.cpp:1099 Src/wptKeyEditDlgs.cpp:1105
+#: Src/wptKeyEditDlgs.cpp:1259 Src/wptKeyEditDlgs.cpp:1263
+#: Src/wptKeyEditDlgs.cpp:1267 Src/wptKeyEditDlgs.cpp:1272
+#: Src/wptKeyEditDlgs.cpp:1308 Src/wptKeyEditDlgs.cpp:1312
+#: Src/wptKeyEditDlgs.cpp:1322 Src/wptKeyEditDlgs.cpp:1337
+#: Src/wptKeyEditDlgs.cpp:1341 Src/wptKeyEditDlgs.cpp:1381
+#: Src/wptKeyEditDlgs.cpp:1386 Src/wptKeyEditDlgs.cpp:1393
+#: Src/wptKeyEditDlgs.cpp:1399 Src/wptKeyEditDlgs.cpp:1404
+#: Src/wptKeyEditDlgs.cpp:1447 Src/wptKeyEditDlgs.cpp:1452
+#: Src/wptKeyEditDlgs.cpp:1459 Src/wptKeyEditDlgs.cpp:1466
+#: Src/wptKeyEditDlgs.cpp:1469 Src/wptKeyEditDlgs.cpp:1507
+#: Src/wptKeyEditDlgs.cpp:1515 Src/wptKeyEditDlgs.cpp:1549
+#: Src/wptKeyEditDlgs.cpp:1557 Src/wptKeyEditDlgs.cpp:1656
+#: Src/wptKeyEditDlgs.cpp:1689 Src/wptKeyEditDlgs.cpp:1716
+#: Src/wptKeyEditDlgs.cpp:1720 Src/wptKeyEditDlgs.cpp:1729
+#: Src/wptKeyEditDlgs.cpp:1839 Src/wptKeyEditDlgs.cpp:1849
+#: Src/wptKeyEditDlgs.cpp:1860 Src/wptKeyEditDlgs.cpp:1889
+#: Src/wptKeyEditDlgs.cpp:1894 Src/wptKeyManagerDlg.cpp:981
+#: Src/wptKeyManagerDlg.cpp:1770
msgid "Key Edit"
msgstr "Schlüssel bearbeiten"
@@ -821,7 +779,7 @@
msgstr "&Nein"
#: Src/wptCommonDlg.cpp:215 Src/wptKeyEditDlgs.cpp:210
-#: Src/wptKeyEditDlgs.cpp:1045
+#: Src/wptKeyEditDlgs.cpp:1065
msgid "OK"
msgstr "OK"
@@ -1106,8 +1064,8 @@
#: Src/wptFileManager.cpp:813 Src/wptFileManager.cpp:927
#: Src/wptFileManager.cpp:1456 Src/wptFileManager.cpp:1483
#: Src/wptFileManager.cpp:1502 Src/wptFileManager.cpp:1760
-#: Src/wptFileManager.cpp:1822 Src/wptFileManagerDlg.cpp:489
-#: Src/wptFileStatDlg.cpp:137 Src/wptMainProc.cpp:397 Src/wptMDSumDlg.cpp:148
+#: Src/wptFileManager.cpp:1822 Src/wptFileManagerDlg.cpp:497
+#: Src/wptFileStatDlg.cpp:137 Src/wptMainProc.cpp:397 Src/wptMDSumDlg.cpp:152
msgid "File Manager"
msgstr "Dateimanager"
@@ -1138,12 +1096,12 @@
"\n"
"Möchten Sie die Kompression ausschalten?"
-#: Src/wptFileManager.cpp:383 Src/wptKeyEditDlgs.cpp:968
+#: Src/wptFileManager.cpp:383 Src/wptKeyEditDlgs.cpp:988
#: Src/wptVerifyList.cpp:98 Src/wptVerifyList.cpp:106
msgid "Status"
msgstr "Status"
-#: Src/wptFileManager.cpp:384 Src/wptKeyEditDlgs.cpp:1071
+#: Src/wptFileManager.cpp:384 Src/wptKeyEditDlgs.cpp:1091
#: Src/wptKeyRevokersDlg.cpp:57 Src/wptMDSumDlg.cpp:73
#: Src/wptVerifyList.cpp:97
msgid "Name"
@@ -1185,12 +1143,12 @@
msgstr "Konnte den geheimen Standardschlüssel nicht finden."
#: Src/wptFileManager.cpp:1117 Src/wptFileManager.cpp:1401
-#: Src/wptFileManagerDlg.cpp:540 Src/wptMainProc.cpp:197
+#: Src/wptFileManagerDlg.cpp:548 Src/wptMainProc.cpp:197
#: Src/wptMainProc.cpp:413 Src/wptMainProc.cpp:420
msgid "Sign"
msgstr "Signieren"
-#: Src/wptFileManager.cpp:1130 Src/wptFileManagerDlg.cpp:538
+#: Src/wptFileManager.cpp:1130 Src/wptFileManagerDlg.cpp:546
#: Src/wptMainProc.cpp:412 Src/wptMainProc.cpp:417
msgid "Encrypt"
msgstr "Verschlüsseln"
@@ -1233,7 +1191,7 @@
msgid "Please enter filename for plaintext file"
msgstr "Wählen Sie einen Namen für die Klartext-Datei"
-#: Src/wptFileManager.cpp:1330 Src/wptFileManagerDlg.cpp:539
+#: Src/wptFileManager.cpp:1330 Src/wptFileManagerDlg.cpp:547
msgid "Decrypt"
msgstr "Entschlüsseln"
@@ -1271,7 +1229,16 @@
msgid "Invalid file name. Exit"
msgstr "Ungültiger Dateiname. Abbruch"
-#: Src/wptFileManager.cpp:1661 Src/wptKeyManager.cpp:580
+#: Src/wptFileManager.cpp:1653 Src/wptFileManager.cpp:1664
+#: Src/wptFileManagerDlg.cpp:242 Src/wptImportList.cpp:414
+#: Src/wptImportList.cpp:421 Src/wptImportList.cpp:430
+#: Src/wptImportList.cpp:438 Src/wptImportList.cpp:447
+#: Src/wptKeyManager.cpp:501 Src/wptKeyManager.cpp:512
+#: Src/wptKeyManager.cpp:647 Src/wptKeyserverDlg.cpp:229
+msgid "Import"
+msgstr "Importieren"
+
+#: Src/wptFileManager.cpp:1661
msgid ""
"Key without a self signature was dectected!\n"
"(This key is NOT usable for encryption, etc)\n"
@@ -1293,13 +1260,13 @@
msgid "Export"
msgstr "Exportieren"
-#: Src/wptFileManager.cpp:1695 Src/wptKeyManagerDlg.cpp:1655
-#: Src/wptKeyManagerDlg.cpp:1689
+#: Src/wptFileManager.cpp:1695 Src/wptKeyManagerDlg.cpp:1693
+#: Src/wptKeyManagerDlg.cpp:1727
msgid "Choose Name for Key File"
msgstr "Den Namen der Schlüsseldatei wählen"
-#: Src/wptFileManager.cpp:1714 Src/wptKeyEditDlgs.cpp:949
-#: Src/wptKeyEditDlgs.cpp:1267 Src/wptKeyEditDlgs.cpp:1338
+#: Src/wptFileManager.cpp:1714 Src/wptKeyEditDlgs.cpp:967
+#: Src/wptKeyEditDlgs.cpp:1289 Src/wptKeyEditDlgs.cpp:1360
#: Src/wptKeyserverDlg.cpp:106
msgid "GnuPG status"
msgstr "GnuPG Status"
@@ -1342,7 +1309,7 @@
msgid "File Encrypt"
msgstr "Datei verschlüsseln"
-#: Src/wptFileManagerDlg.cpp:80 Src/wptFileManagerDlg.cpp:271
+#: Src/wptFileManagerDlg.cpp:80 Src/wptFileManagerDlg.cpp:279
msgid "&Text Output"
msgstr "&Textausgabe"
@@ -1362,194 +1329,215 @@
msgid "Please select at least one recipient."
msgstr "Bitte wählen Sie wenigstens einen Empfänger"
-#: Src/wptFileManagerDlg.cpp:201 Src/wptFileStatDlg.cpp:266
-#: Src/wptKeyManager.cpp:446
+#: Src/wptFileManagerDlg.cpp:202 Src/wptFileStatDlg.cpp:266
+#: Src/wptKeyManager.cpp:465
msgid "No valid OpenPGP data found."
msgstr "Keine gültigen OpenPGP-Daten gefunden."
-#: Src/wptFileManagerDlg.cpp:206
+#: Src/wptFileManagerDlg.cpp:202 Src/wptFileManagerDlg.cpp:216
+#: Src/wptKeyManager.cpp:490
+msgid "Key Import"
+msgstr "Schlüsselimport"
+
+#: Src/wptFileManagerDlg.cpp:207
#, c-format
-msgid "File contain(s) %d key(s)."
-msgstr "Datei enthält %d Schlüssel."
+msgid "%s contain(s) %d key(s)."
+msgstr "%s enthält %d Schlüssel."
-#: Src/wptFileManagerDlg.cpp:270 Src/wptFileManagerDlg.cpp:322
+#: Src/wptFileManagerDlg.cpp:211 Src/wptFileManagerDlg.cpp:466
+#: Src/wptKeyManagerDlg.cpp:918 Src/wptOwnertrustDlg.cpp:98
+msgid "File"
+msgstr "Datei"
+
+#: Src/wptFileManagerDlg.cpp:239
+msgid ""
+"Some of the imported keys are secret keys.\n"
+"\n"
+"The ownertrust values of these keys must be\n"
+"set manually via the Key Properties dialog."
+msgstr ""
+"Einige der importierten Schlüssel sind geheime Schlüssel.\n"
+"\n"
+"Die Vertrauensstellungen dieser Schlüssel müssen Sie\n"
+"manuell in den Schlüsseleigenschaften setzen."
+
+#: Src/wptFileManagerDlg.cpp:278 Src/wptFileManagerDlg.cpp:330
msgid "File Sign"
msgstr "Datei signieren"
-#: Src/wptFileManagerDlg.cpp:272
+#: Src/wptFileManagerDlg.cpp:280
msgid "&Normal Signature"
msgstr "&Normale Signatur"
-#: Src/wptFileManagerDlg.cpp:273
+#: Src/wptFileManagerDlg.cpp:281
msgid "&Detached Signature"
msgstr "&Angehängte Signatur"
-#: Src/wptFileManagerDlg.cpp:274
+#: Src/wptFileManagerDlg.cpp:282
msgid "&Cleartext Signature"
msgstr "&Klartextsignatur"
-#: Src/wptFileManagerDlg.cpp:275
+#: Src/wptFileManagerDlg.cpp:283
msgid "Signature mode"
msgstr "Signaturmodus"
-#: Src/wptFileManagerDlg.cpp:276 Src/wptKeyManagerDlg.cpp:945
+#: Src/wptFileManagerDlg.cpp:284 Src/wptKeyManagerDlg.cpp:945
msgid "Options"
msgstr "Optionen"
-#: Src/wptFileManagerDlg.cpp:322 Src/wptKeyEditDlgs.cpp:1241
-#: Src/wptKeyEditDlgs.cpp:1290 Src/wptKeyEditDlgs.cpp:1364
-#: Src/wptKeyManager.cpp:627 Src/wptKeyManager.cpp:728
-#: Src/wptKeyManager.cpp:765 Src/wptKeyManagerDlg.cpp:1419
-#: Src/wptKeyManagerDlg.cpp:1439 Src/wptKeyManagerDlg.cpp:1473
-#: Src/wptKeyManagerDlg.cpp:1492 Src/wptKeyManagerDlg.cpp:1512
-#: Src/wptKeyManagerDlg.cpp:1645 Src/wptKeyManagerDlg.cpp:1664
+#: Src/wptFileManagerDlg.cpp:330 Src/wptKeyEditDlgs.cpp:1263
+#: Src/wptKeyEditDlgs.cpp:1312 Src/wptKeyEditDlgs.cpp:1386
+#: Src/wptKeyManager.cpp:695 Src/wptKeyManager.cpp:796
+#: Src/wptKeyManager.cpp:833 Src/wptKeyManagerDlg.cpp:1474
+#: Src/wptKeyManagerDlg.cpp:1494 Src/wptKeyManagerDlg.cpp:1528
+#: Src/wptKeyManagerDlg.cpp:1547 Src/wptKeyManagerDlg.cpp:1567
+#: Src/wptKeyManagerDlg.cpp:1683 Src/wptKeyManagerDlg.cpp:1702
#: Src/wptKeyserverSearchDlg.cpp:132
msgid "Please select a key."
msgstr "Bitte Schlüssel wählen."
-#: Src/wptFileManagerDlg.cpp:382
+#: Src/wptFileManagerDlg.cpp:390
msgid "0 Objects marked"
msgstr "0 Objekte markiert"
-#: Src/wptFileManagerDlg.cpp:386
+#: Src/wptFileManagerDlg.cpp:394
#, c-format
msgid "%d Object(s) marked"
msgstr "%d Objekt(e) markiert"
-#: Src/wptFileManagerDlg.cpp:456 Src/wptMainProc.cpp:540
+#: Src/wptFileManagerDlg.cpp:464 Src/wptMainProc.cpp:540
msgid "File Manager (use drag & drop to add files)"
msgstr "Dateimanager (Drag & Drop möglich)"
-#: Src/wptFileManagerDlg.cpp:458 Src/wptKeyManagerDlg.cpp:918
-#: Src/wptOwnertrustDlg.cpp:98
-msgid "File"
-msgstr "Datei"
-
-#: Src/wptFileManagerDlg.cpp:459 Src/wptKeyManagerDlg.cpp:919
+#: Src/wptFileManagerDlg.cpp:467 Src/wptKeyManagerDlg.cpp:919
#: Src/wptKeyManagerDlg.cpp:924 Src/wptKeyManagerDlg.cpp:935
msgid "Edit"
msgstr "Bearbeiten"
-#: Src/wptFileManagerDlg.cpp:460 Src/wptKeyManagerDlg.cpp:920
+#: Src/wptFileManagerDlg.cpp:468 Src/wptKeyManagerDlg.cpp:920
msgid "View"
msgstr "Ansicht"
-#: Src/wptFileManagerDlg.cpp:461
+#: Src/wptFileManagerDlg.cpp:469
msgid "&Open..."
msgstr "Ö&ffnen.."
-#: Src/wptFileManagerDlg.cpp:462
+#: Src/wptFileManagerDlg.cpp:470
msgid "&Encrypt"
msgstr "&Verschlüsseln"
-#: Src/wptFileManagerDlg.cpp:463 Src/wptFileManagerDlg.cpp:537
+#: Src/wptFileManagerDlg.cpp:471 Src/wptFileManagerDlg.cpp:545
msgid "Encrypt into ZIP"
msgstr "Verschlüsseln in ZIP"
-#: Src/wptFileManagerDlg.cpp:464
+#: Src/wptFileManagerDlg.cpp:472
msgid "&Decrypt"
msgstr "&Entschlüsseln"
-#: Src/wptFileManagerDlg.cpp:465 Src/wptKeyManagerDlg.cpp:936
+#: Src/wptFileManagerDlg.cpp:473 Src/wptKeyManagerDlg.cpp:936
#: Src/wptKeyManagerDlg.cpp:984
msgid "&Sign"
msgstr "&Signieren"
-#: Src/wptFileManagerDlg.cpp:466 Src/wptFileManagerDlg.cpp:541
+#: Src/wptFileManagerDlg.cpp:474 Src/wptFileManagerDlg.cpp:549
#: Src/wptMainProc.cpp:414 Src/wptMainProc.cpp:418
msgid "Sign && Encrypt"
msgstr "Signieren && Verschlüsseln"
-#: Src/wptFileManagerDlg.cpp:467
+#: Src/wptFileManagerDlg.cpp:475
msgid "&Verify"
msgstr "Über&prüfen"
-#: Src/wptFileManagerDlg.cpp:468
+#: Src/wptFileManagerDlg.cpp:476
msgid "S&ymmetric"
msgstr "S&ymmetrisch"
-#: Src/wptFileManagerDlg.cpp:470
+#: Src/wptFileManagerDlg.cpp:477
+msgid "&Import"
+msgstr "&Importieren"
+
+#: Src/wptFileManagerDlg.cpp:478
msgid "E&xport"
msgstr "E&xportieren"
# msgid "Executable Files (*.exe)"
# msgstr "Ausführbare Dateien (*.exe)"
-#: Src/wptFileManagerDlg.cpp:471 Src/wptMainProc.cpp:410
+#: Src/wptFileManagerDlg.cpp:479 Src/wptMainProc.cpp:410
msgid "Exit"
msgstr "Beenden"
-#: Src/wptFileManagerDlg.cpp:472
+#: Src/wptFileManagerDlg.cpp:480
msgid "&Reset"
msgstr "&Reset"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:421
-#: Src/wptFileManagerDlg.cpp:473
+#: Src/wptFileManagerDlg.cpp:481
msgid "Always on Top"
msgstr "Immer im Vordergrund"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:422
-#: Src/wptFileManagerDlg.cpp:474
+#: Src/wptFileManagerDlg.cpp:482
msgid "&Paste"
msgstr "&Einfügen"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:423
-#: Src/wptFileManagerDlg.cpp:475
+#: Src/wptFileManagerDlg.cpp:483
msgid "&Select All"
msgstr "Alles &markieren"
-#: Src/wptFileManagerDlg.cpp:476
+#: Src/wptFileManagerDlg.cpp:484
msgid "&Preferences"
msgstr "&Einstellungen"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:478
-#: Src/wptFileManagerDlg.cpp:477 Src/wptFileManagerDlg.cpp:544
+#: Src/wptFileManagerDlg.cpp:485 Src/wptFileManagerDlg.cpp:552
msgid "Send as Mail"
msgstr "Als Mail versenden"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:425
-#: Src/wptFileManagerDlg.cpp:478
+#: Src/wptFileManagerDlg.cpp:486
msgid "&List Packets"
msgstr "Pakete an&zeigen"
-#: Src/wptFileManagerDlg.cpp:480
+#: Src/wptFileManagerDlg.cpp:488
msgid "&Wipe"
msgstr "&Löschen"
-#: Src/wptFileManagerDlg.cpp:543
+#: Src/wptFileManagerDlg.cpp:551
msgid "Wipe"
msgstr "Löschen"
-#: Src/wptFileManagerDlg.cpp:545
+#: Src/wptFileManagerDlg.cpp:553
msgid "List Packets"
msgstr "Pakete anzeigen"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:429
-#: Src/wptFileManagerDlg.cpp:590
+#: Src/wptFileManagerDlg.cpp:598
msgid "&Calc Digest"
msgstr "Digest &berechnen"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:671
-#: Src/wptFileManagerDlg.cpp:745
+#: Src/wptFileManagerDlg.cpp:753
msgid "Are you sure you want to secure delete these files?"
msgstr "Sollen diese Dateien wirklich sicher gelöscht werden?"
-#: Src/wptFileManagerDlg.cpp:746 Src/wptMainProc.cpp:97
+#: Src/wptFileManagerDlg.cpp:754 Src/wptMainProc.cpp:97
msgid "&Yes"
msgstr "&Ja"
-#: Src/wptFileManagerDlg.cpp:747 Src/wptMainProc.cpp:98
+#: Src/wptFileManagerDlg.cpp:755 Src/wptMainProc.cpp:98
msgid "&No"
msgstr "&Nein"
-#: Src/wptFileManagerDlg.cpp:790
+#: Src/wptFileManagerDlg.cpp:798
msgid "Operation Status: Error"
msgstr "Prozess-Status: Fehler"
-#: Src/wptFileManagerDlg.cpp:791
+#: Src/wptFileManagerDlg.cpp:799
msgid "Operation Status: Done."
msgstr "Prozess-Status: Fertig"
-#: Src/wptFileManagerDlg.cpp:834
+#: Src/wptFileManagerDlg.cpp:842
#, c-format
msgid ""
"Total Capacity: %12sk\n"
@@ -1645,11 +1633,11 @@
msgid "GPG Warning"
msgstr "GPG Warnung"
-#: Src/wptGPG.cpp:887 Src/wptGPGPrefsDlg.cpp:206 Src/wptGPGPrefsDlg.cpp:212
-#: Src/wptGPGPrefsDlg.cpp:218 Src/wptGPGPrefsDlg.cpp:224
-#: Src/wptGPGPrefsDlg.cpp:229 Src/wptGPGPrefsDlg.cpp:234
-#: Src/wptGPGPrefsDlg.cpp:239 Src/wptGPGPrefsDlg.cpp:253
-#: Src/wptKeyEditDlgs.cpp:1641 Src/wptKeyManagerDlg.cpp:946
+#: Src/wptGPG.cpp:887 Src/wptGPGPrefsDlg.cpp:210 Src/wptGPGPrefsDlg.cpp:216
+#: Src/wptGPGPrefsDlg.cpp:222 Src/wptGPGPrefsDlg.cpp:228
+#: Src/wptGPGPrefsDlg.cpp:233 Src/wptGPGPrefsDlg.cpp:238
+#: Src/wptGPGPrefsDlg.cpp:244 Src/wptGPGPrefsDlg.cpp:258
+#: Src/wptKeyEditDlgs.cpp:1663 Src/wptKeyManagerDlg.cpp:946
#: Src/wptMainProc.cpp:430 Src/wptPreferencesDlg.cpp:209
#: Src/wptPreferencesDlg.cpp:252 Src/wptPreferencesDlg.cpp:263
#: Src/wptPreferencesDlg.cpp:275 Src/wptPreferencesDlg.cpp:308
@@ -1788,7 +1776,7 @@
"Aktuelle Daten gehen verloren\n"
"Sind Sie sicher?"
-#: Src/wptGPGPrefsDlg.cpp:141 Src/wptKeyManagerDlg.cpp:1611
+#: Src/wptGPGPrefsDlg.cpp:141 Src/wptKeyManagerDlg.cpp:1655
#: Src/wptMainProc.cpp:588
msgid "GnuPG Preferences"
msgstr "GnuPG-Einstellungen"
@@ -1831,43 +1819,43 @@
msgid "&Overwrite default settings"
msgstr "&Überschreibe Voreinstellungen"
-#: Src/wptGPGPrefsDlg.cpp:205
+#: Src/wptGPGPrefsDlg.cpp:209
msgid "Please enter the GnuPG home directory."
msgstr "Bitte GnuPG-HOME-Verzeichnis eingeben."
-#: Src/wptGPGPrefsDlg.cpp:217
+#: Src/wptGPGPrefsDlg.cpp:221
msgid "Could not save 'HomeDir' in the registry."
msgstr "Konnte 'HomeDir' nicht in Registry schreiben"
-#: Src/wptGPGPrefsDlg.cpp:223
+#: Src/wptGPGPrefsDlg.cpp:227
msgid "Please enter where GPG.exe is located."
msgstr "Bitte Pfad zu GPG.EXE eingeben."
-#: Src/wptGPGPrefsDlg.cpp:228
+#: Src/wptGPGPrefsDlg.cpp:232
msgid "Could not find the GPG program in this directory."
msgstr "Konnte GPG-Programm nicht in diesem Verzeichnis finden."
-#: Src/wptGPGPrefsDlg.cpp:233
+#: Src/wptGPGPrefsDlg.cpp:237
msgid "Could not save 'gpgProgram' in the registry"
msgstr "Konnte 'gpgProgram' nicht in Registry schreiben"
-#: Src/wptGPGPrefsDlg.cpp:252
+#: Src/wptGPGPrefsDlg.cpp:257
msgid "Could not get GPG config file"
msgstr "Konnte Konfigurationsdatei nicht öffnen"
-#: Src/wptGPGPrefsDlg.cpp:285
+#: Src/wptGPGPrefsDlg.cpp:291
msgid "Choose GPG home directory"
msgstr "Wählen Sie das GPG HOME-Verzeichnis"
-#: Src/wptGPGPrefsDlg.cpp:304
+#: Src/wptGPGPrefsDlg.cpp:311
msgid "Choose locale directory"
msgstr "Verzeichnis für Sprachdateien auswählen"
-#: Src/wptGPGPrefsDlg.cpp:310
+#: Src/wptGPGPrefsDlg.cpp:317
msgid "Choose GPG binary"
msgstr "Wählen Sie GPG.EXE Datei"
-#: Src/wptGPGPrefsDlg.cpp:311
+#: Src/wptGPGPrefsDlg.cpp:318
msgid "Executable Files (*.exe)"
msgstr ""
@@ -1925,27 +1913,27 @@
#: Src/wptKeyManager.cpp:354 Src/wptKeyManager.cpp:361
#: Src/wptKeyManager.cpp:363 Src/wptKeyManager.cpp:384
#: Src/wptKeyManager.cpp:393 Src/wptKeyManager.cpp:397
-#: Src/wptKeyManager.cpp:417 Src/wptKeyManager.cpp:439
-#: Src/wptKeyManager.cpp:444 Src/wptKeyManager.cpp:447
-#: Src/wptKeyManager.cpp:452 Src/wptKeyManager.cpp:458
-#: Src/wptKeyManager.cpp:463 Src/wptKeyManager.cpp:553
-#: Src/wptKeyManager.cpp:561 Src/wptKeyManager.cpp:627
-#: Src/wptKeyManager.cpp:656 Src/wptKeyManager.cpp:666
-#: Src/wptKeyManager.cpp:677 Src/wptKeyManager.cpp:703
-#: Src/wptKeyManager.cpp:728 Src/wptKeyManager.cpp:735
-#: Src/wptKeyManager.cpp:760 Src/wptKeyManager.cpp:765
-#: Src/wptKeyManager.cpp:793 Src/wptKeyManager.cpp:835
-#: Src/wptKeyManager.cpp:842 Src/wptKeyManager.cpp:902
-#: Src/wptKeyManager.cpp:932 Src/wptKeyManagerDlg.cpp:1101
-#: Src/wptKeyManagerDlg.cpp:1118 Src/wptKeyManagerDlg.cpp:1398
-#: Src/wptKeyManagerDlg.cpp:1420 Src/wptKeyManagerDlg.cpp:1439
-#: Src/wptKeyManagerDlg.cpp:1447 Src/wptKeyManagerDlg.cpp:1457
-#: Src/wptKeyManagerDlg.cpp:1473 Src/wptKeyManagerDlg.cpp:1479
-#: Src/wptKeyManagerDlg.cpp:1492 Src/wptKeyManagerDlg.cpp:1512
-#: Src/wptKeyManagerDlg.cpp:1544 Src/wptKeyManagerDlg.cpp:1582
-#: Src/wptKeyManagerDlg.cpp:1646 Src/wptKeyManagerDlg.cpp:1664
-#: Src/wptKeyManagerDlg.cpp:1669 Src/wptKeyManagerDlg.cpp:1674
-#: Src/wptKeyManagerDlg.cpp:1766 Src/wptKeyManagerDlg.cpp:1945
+#: Src/wptKeyManager.cpp:417 Src/wptKeyManager.cpp:458
+#: Src/wptKeyManager.cpp:463 Src/wptKeyManager.cpp:466
+#: Src/wptKeyManager.cpp:471 Src/wptKeyManager.cpp:477
+#: Src/wptKeyManager.cpp:482 Src/wptKeyManager.cpp:617
+#: Src/wptKeyManager.cpp:625 Src/wptKeyManager.cpp:695
+#: Src/wptKeyManager.cpp:724 Src/wptKeyManager.cpp:734
+#: Src/wptKeyManager.cpp:745 Src/wptKeyManager.cpp:771
+#: Src/wptKeyManager.cpp:796 Src/wptKeyManager.cpp:803
+#: Src/wptKeyManager.cpp:828 Src/wptKeyManager.cpp:833
+#: Src/wptKeyManager.cpp:861 Src/wptKeyManager.cpp:908
+#: Src/wptKeyManager.cpp:915 Src/wptKeyManager.cpp:975
+#: Src/wptKeyManager.cpp:1005 Src/wptKeyManagerDlg.cpp:1155
+#: Src/wptKeyManagerDlg.cpp:1172 Src/wptKeyManagerDlg.cpp:1453
+#: Src/wptKeyManagerDlg.cpp:1475 Src/wptKeyManagerDlg.cpp:1494
+#: Src/wptKeyManagerDlg.cpp:1502 Src/wptKeyManagerDlg.cpp:1512
+#: Src/wptKeyManagerDlg.cpp:1528 Src/wptKeyManagerDlg.cpp:1534
+#: Src/wptKeyManagerDlg.cpp:1547 Src/wptKeyManagerDlg.cpp:1567
+#: Src/wptKeyManagerDlg.cpp:1596 Src/wptKeyManagerDlg.cpp:1625
+#: Src/wptKeyManagerDlg.cpp:1684 Src/wptKeyManagerDlg.cpp:1702
+#: Src/wptKeyManagerDlg.cpp:1707 Src/wptKeyManagerDlg.cpp:1712
+#: Src/wptKeyManagerDlg.cpp:1799 Src/wptKeyManagerDlg.cpp:1982
#: Src/wptKeysigDlg.cpp:93 Src/wptKeysigDlg.cpp:105 Src/wptKeysigDlg.cpp:277
#: Src/wptKeysigDlg.cpp:354 Src/wptKeysigDlg.cpp:363 Src/wptKeysigDlg.cpp:407
#: Src/wptMainProc.cpp:398 Src/wptMainProc.cpp:551 Src/wptMainProc.cpp:559
@@ -1953,16 +1941,16 @@
msgstr "Schlüsselverwaltung"
#: Src/wptImportList.cpp:264 Src/wptKeyEditDlgs.cpp:206
-#: Src/wptKeyEditDlgs.cpp:1043 Src/wptKeyEditDlgs.cpp:1104
-#: Src/wptKeyEditDlgs.cpp:1376 Src/wptKeyEditDlgs.cpp:1396
-#: Src/wptKeyEditDlgs.cpp:1435 Src/wptKeyEditDlgs.cpp:1466
+#: Src/wptKeyEditDlgs.cpp:1063 Src/wptKeyEditDlgs.cpp:1124
+#: Src/wptKeyEditDlgs.cpp:1398 Src/wptKeyEditDlgs.cpp:1418
+#: Src/wptKeyEditDlgs.cpp:1457 Src/wptKeyEditDlgs.cpp:1488
#: Src/wptKeylist.cpp:392 Src/wptKeyPropsDlg.cpp:161 Src/wptKeysigDlg.cpp:143
#: Src/wptKeysigDlg.cpp:208
msgid "Revoked"
msgstr "Widerrufen"
#: Src/wptImportList.cpp:266 Src/wptKeyEditDlgs.cpp:208
-#: Src/wptKeyEditDlgs.cpp:1041 Src/wptKeyEditDlgs.cpp:1297
+#: Src/wptKeyEditDlgs.cpp:1061 Src/wptKeyEditDlgs.cpp:1319
#: Src/wptKeylist.cpp:394 Src/wptKeyPropsDlg.cpp:158 Src/wptKeysigDlg.cpp:142
#: Src/wptKeysigDlg.cpp:209
msgid "Expired"
@@ -1976,7 +1964,7 @@
msgid "public key"
msgstr "öffentlicher Schlüssel"
-#: Src/wptImportList.cpp:303 Src/wptKeyEditDlgs.cpp:1121
+#: Src/wptImportList.cpp:303 Src/wptKeyEditDlgs.cpp:1141
msgid "Invalid user ID"
msgstr "Ungültige Benutzerkennung"
@@ -1992,7 +1980,7 @@
msgid "Size"
msgstr "Größe"
-#: Src/wptImportList.cpp:354 Src/wptKeyEditDlgs.cpp:965 Src/wptKeylist.cpp:540
+#: Src/wptImportList.cpp:354 Src/wptKeyEditDlgs.cpp:985 Src/wptKeylist.cpp:540
#: Src/wptKeylist.cpp:548 Src/wptKeyManagerDlg.cpp:865
#: Src/wptKeyManagerDlg.cpp:955 Src/wptKeyRevokersDlg.cpp:58
#: Src/wptKeyserverSearchDlg.cpp:52 Src/wptSigList.cpp:55
@@ -2000,8 +1988,8 @@
msgid "Key ID"
msgstr "Schlüssel-ID"
-#: Src/wptImportList.cpp:355 Src/wptKeyEditDlgs.cpp:966
-#: Src/wptKeyEditDlgs.cpp:1073 Src/wptKeylist.cpp:554
+#: Src/wptImportList.cpp:355 Src/wptKeyEditDlgs.cpp:986
+#: Src/wptKeyEditDlgs.cpp:1093 Src/wptKeylist.cpp:554
#: Src/wptKeyManagerDlg.cpp:871 Src/wptKeyManagerDlg.cpp:958
#: Src/wptKeyserverSearchDlg.cpp:53 Src/wptSigList.cpp:54
msgid "Creation"
@@ -2042,7 +2030,7 @@
msgid "Ultimate"
msgstr "Absolut"
-#: Src/wptKeyEditDlgs.cpp:194 Src/wptKeyEditDlgs.cpp:1038
+#: Src/wptKeyEditDlgs.cpp:194 Src/wptKeyEditDlgs.cpp:1058
#: Src/wptKeylist.cpp:235 Src/wptKeylist.cpp:354
msgid "Never"
msgstr "Niemals"
@@ -2130,10 +2118,10 @@
#: Src/wptKeyEditDlgs.cpp:371 Src/wptKeyEditDlgs.cpp:450
#: Src/wptKeyEditDlgs.cpp:532 Src/wptKeyEditDlgs.cpp:699
-#: Src/wptKeyEditDlgs.cpp:1398 Src/wptKeyEditDlgs.cpp:1468
-#: Src/wptKeyEditDlgs.cpp:1548 Src/wptKeyEditDlgs.cpp:1726
+#: Src/wptKeyEditDlgs.cpp:1420 Src/wptKeyEditDlgs.cpp:1490
+#: Src/wptKeyEditDlgs.cpp:1570 Src/wptKeyEditDlgs.cpp:1748
#: Src/wptKeygenDlg.cpp:496 Src/wptKeygenDlg.cpp:612
-#: Src/wptKeyPropsDlg.cpp:356 Src/wptOwnertrustDlg.cpp:124
+#: Src/wptKeyPropsDlg.cpp:355 Src/wptOwnertrustDlg.cpp:124
#: Src/wptOwnertrustDlg.cpp:136
msgid "GnuPG Status"
msgstr "GnuPG-Status"
@@ -2155,9 +2143,9 @@
msgid "Add Revoker"
msgstr "\"Revoker\" hinzufügen"
-#: Src/wptKeyEditDlgs.cpp:427 Src/wptKeyEditDlgs.cpp:1430
-#: Src/wptKeyEditDlgs.cpp:1485 Src/wptKeyEditDlgs.cpp:1527
-#: Src/wptKeyEditDlgs.cpp:1667 Src/wptKeyEditDlgs.cpp:1698
+#: Src/wptKeyEditDlgs.cpp:427 Src/wptKeyEditDlgs.cpp:1452
+#: Src/wptKeyEditDlgs.cpp:1507 Src/wptKeyEditDlgs.cpp:1549
+#: Src/wptKeyEditDlgs.cpp:1689 Src/wptKeyEditDlgs.cpp:1720
msgid "Please select a user ID."
msgstr "Bitte eine Benutzerkennung wählen."
@@ -2245,9 +2233,9 @@
#: Src/wptKeyEditDlgs.cpp:727 Src/wptKeyEditDlgs.cpp:786
#: Src/wptKeyEditDlgs.cpp:855 Src/wptKeyEditDlgs.cpp:868
-#: Src/wptKeyEditDlgs.cpp:909 Src/wptKeyEditDlgs.cpp:1286
-#: Src/wptKeyEditDlgs.cpp:1359 Src/wptKeyEditDlgs.cpp:1419
-#: Src/wptKeyManagerDlg.cpp:1446
+#: Src/wptKeyEditDlgs.cpp:927 Src/wptKeyEditDlgs.cpp:1308
+#: Src/wptKeyEditDlgs.cpp:1381 Src/wptKeyEditDlgs.cpp:1441
+#: Src/wptKeyManagerDlg.cpp:1501
msgid "There is no secret key available!"
msgstr "Kein geheimer Schlüssel vorhanden!"
@@ -2259,7 +2247,12 @@
msgid "Preferred keyserver successfully set."
msgstr "Bevorzugter Keyserver wurde erfolgreich gesetzt."
-#: Src/wptKeyEditDlgs.cpp:914
+#: Src/wptKeyEditDlgs.cpp:887 Src/wptKeyEditOwnertrustDlg.cpp:55
+#: Src/wptKeyPropsDlg.cpp:347
+msgid "Change Ownertrust"
+msgstr "Besitzervertrauen ändern"
+
+#: Src/wptKeyEditDlgs.cpp:932
msgid ""
"Cannot change passphrase because the key\n"
"is protected with the IDEA encryption algorithm."
@@ -2267,15 +2260,15 @@
"Kann das Passwort das Schlüssels nicht ändern, da der \n"
"Schlüssel mit dem IDEA Verschlüsselungs-Algorithmus gesichert ist."
-#: Src/wptKeyEditDlgs.cpp:921
+#: Src/wptKeyEditDlgs.cpp:939
msgid "Current (old) Passphrase"
msgstr "Aktuelles (altes) Passwort"
-#: Src/wptKeyEditDlgs.cpp:925
+#: Src/wptKeyEditDlgs.cpp:943
msgid "New Passphrase"
msgstr "Neues Passwort"
-#: Src/wptKeyEditDlgs.cpp:932 Src/wptPassphraseDlg.cpp:174
+#: Src/wptKeyEditDlgs.cpp:950 Src/wptPassphraseDlg.cpp:174
msgid ""
"The passphrase contains 8-bit characters.\n"
"It is not suggested to use charset specific characters."
@@ -2283,44 +2276,44 @@
"Das Passwort enthält 8-bit Zeichen.\n"
"Es ist nicht zu empfehlen zeichensatzspezifische Zeichen zu benutzen."
-#: Src/wptKeyEditDlgs.cpp:947
+#: Src/wptKeyEditDlgs.cpp:965
msgid "Change Passwd"
msgstr "Passwort ändern"
-#: Src/wptKeyEditDlgs.cpp:949
+#: Src/wptKeyEditDlgs.cpp:967
msgid "Passphrase successfully changed."
msgstr "Passwort erfolgreich geändert."
-#: Src/wptKeyEditDlgs.cpp:964
+#: Src/wptKeyEditDlgs.cpp:984
msgid "Description"
msgstr "Beschreibung"
-#: Src/wptKeyEditDlgs.cpp:967
+#: Src/wptKeyEditDlgs.cpp:987
msgid "Expires"
msgstr "Verfällt"
-#: Src/wptKeyEditDlgs.cpp:981 Src/wptKeyEditDlgs.cpp:1079
+#: Src/wptKeyEditDlgs.cpp:1001 Src/wptKeyEditDlgs.cpp:1099
msgid "Could not find key."
msgstr "Konnte Schlüssel nicht finden"
-#: Src/wptKeyEditDlgs.cpp:988
+#: Src/wptKeyEditDlgs.cpp:1008
msgid "No subkey(s) found."
msgstr "Kein(e) Unterschlüssel gefunden."
-#: Src/wptKeyEditDlgs.cpp:1070 Src/wptKeylist.cpp:543 Src/wptKeylist.cpp:552
+#: Src/wptKeyEditDlgs.cpp:1090 Src/wptKeylist.cpp:543 Src/wptKeylist.cpp:552
#: Src/wptKeyManagerDlg.cpp:869
msgid "Validity"
msgstr "Gültigkeit"
-#: Src/wptKeyEditDlgs.cpp:1072
+#: Src/wptKeyEditDlgs.cpp:1092
msgid "Email"
msgstr "Email"
-#: Src/wptKeyEditDlgs.cpp:1085
+#: Src/wptKeyEditDlgs.cpp:1105
msgid "No user ID(s) found."
msgstr "Keine Benutzerkennung(en) gefunden."
-#: Src/wptKeyEditDlgs.cpp:1200
+#: Src/wptKeyEditDlgs.cpp:1222
msgid ""
"ADDUID \t\tadd a user ID\r\n"
"ADDPHOTO \t\tadd a photo ID\r\n"
@@ -2355,19 +2348,19 @@
"ENABLE \t\tSchlüssel aktivieren\r\n"
"SHOWPHOTO \t\tFoto ID anzeigen\r\n"
-#: Src/wptKeyEditDlgs.cpp:1221
+#: Src/wptKeyEditDlgs.cpp:1243
msgid "Key Edit Help"
msgstr "Hilfe zum Schlüssel bearbeiten"
-#: Src/wptKeyEditDlgs.cpp:1237
+#: Src/wptKeyEditDlgs.cpp:1259
msgid "Primary key can not be deleted!"
msgstr "Primärer Schlüssel kann nicht gelöscht werden!"
-#: Src/wptKeyEditDlgs.cpp:1245
+#: Src/wptKeyEditDlgs.cpp:1267
msgid "Primary subkey can not be deleted!"
msgstr "Primärer Unterschlüssel kann nicht gelöscht werden!"
-#: Src/wptKeyEditDlgs.cpp:1251
+#: Src/wptKeyEditDlgs.cpp:1273
#, c-format
msgid ""
"\"Subkey %s.\"\n"
@@ -2384,15 +2377,15 @@
"\n"
"Möchten Sie diesen Unterschlüssel wirklich löschen?"
-#: Src/wptKeyEditDlgs.cpp:1263
+#: Src/wptKeyEditDlgs.cpp:1285
msgid "Delete Subkey"
msgstr "Unterschlüssel löschen"
-#: Src/wptKeyEditDlgs.cpp:1267
+#: Src/wptKeyEditDlgs.cpp:1289
msgid "Subkey successfully deleted."
msgstr "Unterschlüssel erfolgreich gelöscht."
-#: Src/wptKeyEditDlgs.cpp:1298
+#: Src/wptKeyEditDlgs.cpp:1320
msgid ""
"Key already expired.\n"
"\n"
@@ -2402,19 +2395,19 @@
"\n"
"Wollen Sie das Ablaufdatum ändern?"
-#: Src/wptKeyEditDlgs.cpp:1307 Src/wptKeyEditDlgs.cpp:1310
+#: Src/wptKeyEditDlgs.cpp:1329 Src/wptKeyEditDlgs.cpp:1332
msgid "Key Expiration Date"
msgstr "Ablaufdatum"
-#: Src/wptKeyEditDlgs.cpp:1331
+#: Src/wptKeyEditDlgs.cpp:1353
msgid "Expire Subkey"
msgstr "Untschlüssel Ablauf"
-#: Src/wptKeyEditDlgs.cpp:1337
+#: Src/wptKeyEditDlgs.cpp:1359
msgid "Subkey expire date successfully set."
msgstr "Unterschlüsselablaufdatum erfolgreich hinzugefügt."
-#: Src/wptKeyEditDlgs.cpp:1368
+#: Src/wptKeyEditDlgs.cpp:1390
msgid ""
"No subkeys were found, if you want to revoke the\n"
"whole key, please use the Key Manager command directly.\n"
@@ -2426,31 +2419,31 @@
"\n"
"Diese Funktion ist nur für das Widerrufen einzelner Unterschlüssel gedacht."
-#: Src/wptKeyEditDlgs.cpp:1377
+#: Src/wptKeyEditDlgs.cpp:1399
msgid "Key already revoked."
msgstr "Der Schlüssel ist bereits widerrufen."
-#: Src/wptKeyEditDlgs.cpp:1394
+#: Src/wptKeyEditDlgs.cpp:1416
msgid "Revoke Subkey"
msgstr "Unterschlüssel widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1398
+#: Src/wptKeyEditDlgs.cpp:1420
msgid "Subkey successfully revoked."
msgstr "Unterschlüssel erfolgreich widerrufen."
-#: Src/wptKeyEditDlgs.cpp:1420
+#: Src/wptKeyEditDlgs.cpp:1442
msgid "Revoke user ID"
msgstr "Benutzerkennung widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1425
+#: Src/wptKeyEditDlgs.cpp:1447
msgid "Key has only one user ID."
msgstr "Schlüssel hat nur eine Benutzerkennung."
-#: Src/wptKeyEditDlgs.cpp:1436
+#: Src/wptKeyEditDlgs.cpp:1458
msgid "This user ID has been already revoked."
msgstr "Diese Benutzerkennung wurde bereits widerrufen."
-#: Src/wptKeyEditDlgs.cpp:1442
+#: Src/wptKeyEditDlgs.cpp:1464
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -2460,39 +2453,39 @@
"Benutzerkennung %s.\r\n"
"Diese Benutzerkennung wirklich widerrufen?"
-#: Src/wptKeyEditDlgs.cpp:1464
+#: Src/wptKeyEditDlgs.cpp:1486
msgid "Revoke User ID"
msgstr "Benutzerkennung widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1468
+#: Src/wptKeyEditDlgs.cpp:1490
msgid "User ID successfully revoked"
msgstr "Benutzerkennung erfolgreich widerrufen"
-#: Src/wptKeyEditDlgs.cpp:1545
+#: Src/wptKeyEditDlgs.cpp:1567
msgid "Primary"
msgstr "Primär"
-#: Src/wptKeyEditDlgs.cpp:1548
+#: Src/wptKeyEditDlgs.cpp:1570
msgid "User ID successfully flagged"
msgstr "Benutzerkennung erfolgreich gekennzeichnet"
-#: Src/wptKeyEditDlgs.cpp:1634
+#: Src/wptKeyEditDlgs.cpp:1656
msgid "No preferences available."
msgstr "Keine Präferenzen verfübar."
-#: Src/wptKeyEditDlgs.cpp:1640
+#: Src/wptKeyEditDlgs.cpp:1662
msgid "MDC feature"
msgstr "Unterstützt MDC"
-#: Src/wptKeyEditDlgs.cpp:1642 Src/wptKeyeditSetPrefDlg.cpp:116
+#: Src/wptKeyEditDlgs.cpp:1664 Src/wptKeyeditSetPrefDlg.cpp:116
msgid "Key Preferences"
msgstr "Schlüsseleinstellungen"
-#: Src/wptKeyEditDlgs.cpp:1693
+#: Src/wptKeyEditDlgs.cpp:1715
msgid "Primary user ID can not be deleted!"
msgstr "Primäre Benutzerkennung kann nicht gelöscht werden!"
-#: Src/wptKeyEditDlgs.cpp:1704
+#: Src/wptKeyEditDlgs.cpp:1726
#, c-format
msgid ""
"user ID \"%s\".\n"
@@ -2502,39 +2495,35 @@
"Benutzerkennung %s.\r\n"
"Diese Benutzerkennung wirklich löschen?"
-#: Src/wptKeyEditDlgs.cpp:1722
+#: Src/wptKeyEditDlgs.cpp:1744
msgid "Delete user ID"
msgstr "Benutzerkennung löschen"
-#: Src/wptKeyEditDlgs.cpp:1726
+#: Src/wptKeyEditDlgs.cpp:1748
msgid "User ID successfully deleted"
msgstr "Benutzerkennung erfolgreich gelöscht"
-#: Src/wptKeyEditDlgs.cpp:1809
+#: Src/wptKeyEditDlgs.cpp:1839
msgid "Could not set subkey window procedure."
msgstr "Konnte \"subkey window procedure\" nicht setzen."
-#: Src/wptKeyEditDlgs.cpp:1819
+#: Src/wptKeyEditDlgs.cpp:1849
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:1827
+#: Src/wptKeyEditDlgs.cpp:1857
msgid "Command>"
msgstr "Kommando>"
-#: Src/wptKeyEditDlgs.cpp:1859
+#: Src/wptKeyEditDlgs.cpp:1889
msgid "Please select a command."
msgstr "Bitte einen Befehl auswählen."
-#: Src/wptKeyEditDlgs.cpp:1864
+#: Src/wptKeyEditDlgs.cpp:1893
msgid "This command cannot be used with PGP 2 (v3) keys.\n"
msgstr "Dieser Befehl kann mit PGP2 (v3) Schlüsseln nicht verwendet werden.\n"
-#: Src/wptKeyEditOwnertrustDlg.cpp:55 Src/wptKeyPropsDlg.cpp:346
-msgid "Change Ownertrust"
-msgstr "Besitzervertrauen ändern"
-
#: Src/wptKeyEditOwnertrustDlg.cpp:57 Src/wptKeyPropsDlg.cpp:60
msgid "Don't know"
msgstr "Ich weiss nicht"
@@ -2571,7 +2560,7 @@
#: Src/wptKeyEditOwnertrustDlg.cpp:88 Src/wptKeyEditOwnertrustDlg.cpp:95
#: Src/wptKeyEditOwnertrustDlg.cpp:104 Src/wptKeyManagerDlg.cpp:926
-#: Src/wptKeyManagerDlg.cpp:1713 Src/wptKeyPropsDlg.cpp:291
+#: Src/wptKeyManagerDlg.cpp:1751 Src/wptKeyPropsDlg.cpp:291
#: Src/wptOwnertrustDlg.cpp:97 Src/wptOwnertrustDlg.cpp:121
#: Src/wptOwnertrustDlg.cpp:133
msgid "Ownertrust"
@@ -2594,7 +2583,7 @@
#: Src/wptKeygenDlg.cpp:421 Src/wptKeygenDlg.cpp:426 Src/wptKeygenDlg.cpp:432
#: Src/wptKeygenDlg.cpp:439 Src/wptKeygenDlg.cpp:451 Src/wptKeygenDlg.cpp:458
#: Src/wptKeygenDlg.cpp:493 Src/wptKeygenDlg.cpp:586
-#: Src/wptKeyManagerDlg.cpp:1573 Src/wptPassphraseDlg.cpp:94
+#: Src/wptKeyManagerDlg.cpp:1616 Src/wptPassphraseDlg.cpp:94
msgid "Key Generation"
msgstr "Schlüsselerzeugung"
@@ -2748,7 +2737,7 @@
#: Src/wptKeygenDlg.cpp:545 Src/wptKeygenDlg.cpp:567 Src/wptKeygenDlg.cpp:572
#: Src/wptKeygenDlg.cpp:578 Src/wptKeygenDlg.cpp:583 Src/wptKeygenDlg.cpp:607
-#: Src/wptKeyManagerDlg.cpp:1596
+#: Src/wptKeyManagerDlg.cpp:1639
msgid "Key Generation Wizard"
msgstr "Schlüsselerzeugungs-Assistent"
@@ -2918,11 +2907,11 @@
msgid "Key(s) successfully saved in '%s'."
msgstr "Schlüssel erfolgreich in '%s' gespeichert."
-#: Src/wptKeyManager.cpp:451
+#: Src/wptKeyManager.cpp:470
msgid "No valid OpenPGP keys found."
msgstr "Keine gültigen OpenPGP-Schlüssel gefunden."
-#: Src/wptKeyManager.cpp:456
+#: Src/wptKeyManager.cpp:475
msgid ""
"The key you want to import is dash escacped.\n"
"Do you want to extract the key?"
@@ -2930,38 +2919,50 @@
"Der Import-Schlüssel ist beschädigt.\n"
"Möchten Sie den Schlüssel extrahieren?"
-#: Src/wptKeyManager.cpp:462
+#: Src/wptKeyManager.cpp:481
msgid "Cannot import dash escaped OpenPGP keys."
msgstr "Kann keine beschädigten OpenPGP-Schlüssel importieren."
-#: Src/wptKeyManager.cpp:489 Src/wptKeyManager.cpp:500
-#: Src/wptKeyManager.cpp:514
+#: Src/wptKeyManager.cpp:510 Src/wptKeyManager.cpp:645
+msgid ""
+"Key without a self signature was dectected!\n"
+"(This key is NOT usable for encryption, etc)\n"
+msgstr ""
+"Schlüssel ohne Eigensignatur erkannt!\n"
+"(Dieser Schlüssel ist für Verschlüsselung, etc. NICHT verwendbar)\n"
+
+#: Src/wptKeyManager.cpp:541 Src/wptKeyManager.cpp:552
+#: Src/wptKeyManager.cpp:566
msgid "Key Import HTTP"
msgstr "Schlüssel Import HTTP"
# c:\oss\winpt-gpgme\src\wptKeyManager.cpp:448
-#: Src/wptKeyManager.cpp:489
+#: Src/wptKeyManager.cpp:541
#, c-format
msgid "Invalid HTTP URL: %s"
msgstr "Ungültige HTTP URL: %s"
-#: Src/wptKeyManager.cpp:541
+#: Src/wptKeyManager.cpp:592
+msgid "Choose Name of the Key File"
+msgstr "Den Namen der Schlüsseldatei wählen"
+
+#: Src/wptKeyManager.cpp:605
msgid "File Import"
msgstr "Dateiimport"
-#: Src/wptKeyManager.cpp:552
+#: Src/wptKeyManager.cpp:616
msgid "Could not read key-data from file."
msgstr "Konnte Schlüsseldaten nicht aus Datei lesen."
-#: Src/wptKeyManager.cpp:632
+#: Src/wptKeyManager.cpp:700
msgid "Do you really want to confirm each key?"
msgstr "Wollen Sie wirklich jeden Schlüssel bestätigen?"
-#: Src/wptKeyManager.cpp:633
+#: Src/wptKeyManager.cpp:701
msgid "Delete Confirmation"
msgstr "Löschen Bestätigen"
-#: Src/wptKeyManager.cpp:657
+#: Src/wptKeyManager.cpp:725
#, c-format
msgid ""
"Do you really want to delete this key?\n"
@@ -2973,7 +2974,7 @@
"%s"
# c:\oss\winpt-gpgme\src\wptKeyManager.cpp:605
-#: Src/wptKeyManager.cpp:667
+#: Src/wptKeyManager.cpp:735
#, c-format
msgid ""
"Do you really want to delete this KEY PAIR?\n"
@@ -2990,7 +2991,7 @@
"\n"
"%s"
-#: Src/wptKeyManager.cpp:674
+#: Src/wptKeyManager.cpp:742
msgid ""
"The actual secret key is stored on a smartcard.\n"
"Only the public key and the secret key \n"
@@ -3000,34 +3001,34 @@
"Nur der öffentliche Schlüssel und der Zeiger auf den geheimen\n"
"Schlüssel werden gelöscht.\n"
-#: Src/wptKeyManager.cpp:736
+#: Src/wptKeyManager.cpp:804
#, c-format
msgid "Do you really want to send '%s' to keyserver %s?"
msgstr "Wollen Sie '%s' wirklich zum Schlüsselserver %s senden?"
-#: Src/wptKeyManager.cpp:759
+#: Src/wptKeyManager.cpp:827
msgid "Please only select one key."
msgstr "Bitte nur einen Schlüssel auswählen."
-#: Src/wptKeyManager.cpp:834
+#: Src/wptKeyManager.cpp:907
msgid "Could not connect to keyserver, abort procedure."
msgstr ""
"Verbindung zum Keyserver fehlgeschlagen; Die Prozedur wird abgebrochen."
-#: Src/wptKeyManager.cpp:841
+#: Src/wptKeyManager.cpp:914
msgid "Do you really want to refresh all keys in the keyring?"
msgstr "Wirklich alle Schlüssel im Schlüsselbund neu laden?"
-#: Src/wptKeyManager.cpp:916
+#: Src/wptKeyManager.cpp:989
msgid "Search"
msgstr "Suchen"
-#: Src/wptKeyManager.cpp:916
+#: Src/wptKeyManager.cpp:989
msgid "Search for:"
msgstr "Suche nach:"
# c:\oss\winpt-gpgme\src\wptKeyManager.cpp:896
-#: Src/wptKeyManager.cpp:927
+#: Src/wptKeyManager.cpp:1000
#, c-format
msgid "String pattern \"%s\" not found."
msgstr "Zeichenkette \"%s\" nicht gefunden."
@@ -3061,7 +3062,7 @@
msgid "Key"
msgstr "Schlüssel"
-#: Src/wptKeyManagerDlg.cpp:922 Src/wptKeyManagerDlg.cpp:1132
+#: Src/wptKeyManagerDlg.cpp:922 Src/wptKeyManagerDlg.cpp:1186
msgid "Groups"
msgstr "Gruppen"
@@ -3115,7 +3116,7 @@
msgid "&List Signatures"
msgstr "Signaturen anzeigen"
-#: Src/wptKeyManagerDlg.cpp:941 Src/wptKeyManagerDlg.cpp:1487
+#: Src/wptKeyManagerDlg.cpp:941 Src/wptKeyManagerDlg.cpp:1542
#: Src/wptKeyTrustPathDlg.cpp:130
msgid "List Trust Path"
msgstr "Zeige Vertrauenspfad"
@@ -3242,89 +3243,89 @@
msgid "Send to Keyserver"
msgstr "Sende an Keyserver"
-#: Src/wptKeyManagerDlg.cpp:1117
+#: Src/wptKeyManagerDlg.cpp:1171
msgid "Could not set keylist window procedure."
msgstr "Konnte \"keylist window procedure\" nicht setzen."
# c:\oss\winpt-gpgme\src\wptFirstRunDlg.cpp:42
-#: Src/wptKeyManagerDlg.cpp:1234
+#: Src/wptKeyManagerDlg.cpp:1289
msgid "Generate new key pair"
msgstr "Neues Schlüsselpaar erzeugen"
-#: Src/wptKeyManagerDlg.cpp:1238
+#: Src/wptKeyManagerDlg.cpp:1293
msgid "Search for a specific key"
msgstr "Suche nach einem bestimmten Schlüssel"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:842
-#: Src/wptKeyManagerDlg.cpp:1242
+#: Src/wptKeyManagerDlg.cpp:1297
msgid "Delete key from keyring"
msgstr "Schlüssel aus Keyring löschen"
-#: Src/wptKeyManagerDlg.cpp:1246
+#: Src/wptKeyManagerDlg.cpp:1301
msgid "Show key properties"
msgstr "Schlüsseleigenschaften anzeigen"
-#: Src/wptKeyManagerDlg.cpp:1250
+#: Src/wptKeyManagerDlg.cpp:1305
msgid "Sign key"
msgstr "Signiere Schlüssel"
-#: Src/wptKeyManagerDlg.cpp:1254
+#: Src/wptKeyManagerDlg.cpp:1309
msgid "Copy key to clipboard"
msgstr "Kopiere Schlüssel in Ablage"
-#: Src/wptKeyManagerDlg.cpp:1258
+#: Src/wptKeyManagerDlg.cpp:1313
msgid "Paste key from clipboard"
msgstr "Schlüssel aus Ablage einfügen"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:854
-#: Src/wptKeyManagerDlg.cpp:1262
+#: Src/wptKeyManagerDlg.cpp:1317
msgid "Import key to keyring"
msgstr "In Schlüsselbund importieren"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:858
-#: Src/wptKeyManagerDlg.cpp:1266
+#: Src/wptKeyManagerDlg.cpp:1321
msgid "Export key to a file"
msgstr "Schlüssel in Datei exportieren"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:499
-#: Src/wptKeyManagerDlg.cpp:1385
+#: Src/wptKeyManagerDlg.cpp:1440
msgid "New"
msgstr "Neu"
-#: Src/wptKeyManagerDlg.cpp:1397
+#: Src/wptKeyManagerDlg.cpp:1452
msgid "Could not access public keyring"
msgstr "Konnte nicht auf öffentlichen Schlüsselbund zugreifen"
-#: Src/wptKeyManagerDlg.cpp:1432 Src/wptKeysignDlg.cpp:230
+#: Src/wptKeyManagerDlg.cpp:1487 Src/wptKeysignDlg.cpp:230
#: Src/wptKeysignDlg.cpp:249 Src/wptKeysignDlg.cpp:326
#: Src/wptKeysignDlg.cpp:343 Src/wptKeysignDlg.cpp:348
msgid "Key Signing"
msgstr "Schlüsselsignierung"
-#: Src/wptKeyManagerDlg.cpp:1456
+#: Src/wptKeyManagerDlg.cpp:1511
msgid "Key already revoked!"
msgstr "Schlüssel ist bereits widerrufen!"
-#: Src/wptKeyManagerDlg.cpp:1468 Src/wptKeyRevokeDlg.cpp:72
+#: Src/wptKeyManagerDlg.cpp:1523 Src/wptKeyRevokeDlg.cpp:72
#: Src/wptKeyRevokeDlg.cpp:100 Src/wptKeyRevokeDlg.cpp:138
#: Src/wptKeyRevokeDlg.cpp:143 Src/wptKeyRevokeDlg.cpp:151
#: Src/wptKeyRevokeDlg.cpp:167 Src/wptKeyRevokeDlg.cpp:173
msgid "Key Revocation Cert"
msgstr "Schlüsselwiderruf Zertifikat"
-#: Src/wptKeyManagerDlg.cpp:1478
+#: Src/wptKeyManagerDlg.cpp:1533
msgid "It does not make any sense with a key pair!"
msgstr "Diese Aktion macht keinen Sinn mit einem Schlüsselpaar!"
-#: Src/wptKeyManagerDlg.cpp:1505
+#: Src/wptKeyManagerDlg.cpp:1560
msgid "Key Signature List"
msgstr "Schlüssel-Signatur-Liste"
-#: Src/wptKeyManagerDlg.cpp:1526 Src/wptKeyPropsDlg.cpp:287
+#: Src/wptKeyManagerDlg.cpp:1582 Src/wptKeyPropsDlg.cpp:287
msgid "Key Properties"
msgstr "Schlüsseleigenschaften"
-#: Src/wptKeyManagerDlg.cpp:1541
+#: Src/wptKeyManagerDlg.cpp:1593
msgid ""
"This is only useful when the keyring has been modified (sign a key...).\n"
"Do you really want to reload the keycache?"
@@ -3333,31 +3334,27 @@
"Signierung etc.)\n"
"Möchten Sie den Zwischenspeicher reinitialisieren?"
-#: Src/wptKeyManagerDlg.cpp:1581
+#: Src/wptKeyManagerDlg.cpp:1624
msgid "Smart Card support is not available."
msgstr "SmartCard-Unterstützung ist nicht verfügbar."
-#: Src/wptKeyManagerDlg.cpp:1604 Src/wptKeyserverDlg.cpp:599
+#: Src/wptKeyManagerDlg.cpp:1647 Src/wptKeyserverDlg.cpp:601
msgid "Keyserver Access"
msgstr "Schlüsselserver-Zugriff"
-#: Src/wptKeyManagerDlg.cpp:1617
+#: Src/wptKeyManagerDlg.cpp:1664
msgid "GnuPG Options"
msgstr "GnuPG Optionen"
-#: Src/wptKeyManagerDlg.cpp:1622
-msgid "Choose Name of the Key File"
-msgstr "Den Namen der Schlüsseldatei wählen"
-
-#: Src/wptKeyManagerDlg.cpp:1668
+#: Src/wptKeyManagerDlg.cpp:1706
msgid "There is no corresponding secret key for this key."
msgstr "Für diesen Schlüssel ist kein geheimer Schlüssel vorhanden."
-#: Src/wptKeyManagerDlg.cpp:1673
+#: Src/wptKeyManagerDlg.cpp:1711
msgid "You can only export one secret key."
msgstr "Sie können nur einen geheimen Schlüssel exportieren."
-#: Src/wptKeyManagerDlg.cpp:1678
+#: Src/wptKeyManagerDlg.cpp:1716
msgid ""
"This operation will export your *SECRET* key!\n"
"\n"
@@ -3375,11 +3372,11 @@
"\n"
"Wirklich den Schlüssel exportieren?"
-#: Src/wptKeyManagerDlg.cpp:1683
+#: Src/wptKeyManagerDlg.cpp:1721
msgid "WARNING"
msgstr "WARNUNG"
-#: Src/wptKeyManagerDlg.cpp:1765
+#: Src/wptKeyManagerDlg.cpp:1798
msgid "No key was selected, select all by default."
msgstr "Kein Schlüssel ausgewählt, es wurden alle ausgewählt."
@@ -3462,11 +3459,11 @@
"Das Vertrauen solcher Schlüssel zu ändern hat keinerlei Effekt.\n"
"Trotzdem fortfahren?"
-#: Src/wptKeyPropsDlg.cpp:355
+#: Src/wptKeyPropsDlg.cpp:354
msgid "Ownertrust successfully changed."
msgstr "Besitzervertrauen erfolgreich geändert."
-#: Src/wptKeyPropsDlg.cpp:369 Src/wptKeyRevokersDlg.cpp:146
+#: Src/wptKeyPropsDlg.cpp:367 Src/wptKeyRevokersDlg.cpp:146
msgid "Key Revokers"
msgstr "Schlüsselwiderrufer"
@@ -3679,13 +3676,13 @@
msgid "Finger Keyserver"
msgstr "Finger Keyserver"
-#: Src/wptKeyserverDlg.cpp:540 Src/wptKeyserverDlg.cpp:753
-#: Src/wptKeyserverDlg.cpp:773
+#: Src/wptKeyserverDlg.cpp:540 Src/wptKeyserverDlg.cpp:755
+#: Src/wptKeyserverDlg.cpp:775
msgid "Edit Keyserver"
msgstr "Editiere Keyserver"
# c:\oss\winpt-gpgme\src\wptKeyManagerDlg.cpp:707
-#: Src/wptKeyserverDlg.cpp:541 Src/wptKeyserverDlg.cpp:631
+#: Src/wptKeyserverDlg.cpp:541 Src/wptKeyserverDlg.cpp:633
msgid "&Add"
msgstr "&Hinzufügen"
@@ -3709,66 +3706,66 @@
msgid "Invalid port, valid numbers are < 65535"
msgstr "Ungültiger Port, gültige Nummer sind < 65535"
-#: Src/wptKeyserverDlg.cpp:600 Src/wptKeyserverSearchDlg.cpp:67
+#: Src/wptKeyserverDlg.cpp:602 Src/wptKeyserverSearchDlg.cpp:67
msgid "&Receive"
msgstr "&Empfangen"
-#: Src/wptKeyserverDlg.cpp:602
+#: Src/wptKeyserverDlg.cpp:604
msgid "Send key (default is receiving)"
msgstr "Schlüssel senden (sonst empfangen)"
-#: Src/wptKeyserverDlg.cpp:604
+#: Src/wptKeyserverDlg.cpp:606
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:605
+#: Src/wptKeyserverDlg.cpp:607
msgid "&Search"
msgstr "&Suchen"
-#: Src/wptKeyserverDlg.cpp:606
+#: Src/wptKeyserverDlg.cpp:608
msgid "C&hange"
msgstr "Ä&ndern"
-#: Src/wptKeyserverDlg.cpp:607
+#: Src/wptKeyserverDlg.cpp:609
msgid "Set &default"
msgstr "Als &Standard"
-#: Src/wptKeyserverDlg.cpp:632
+#: Src/wptKeyserverDlg.cpp:634
msgid "&Remove"
msgstr "&Entfernen"
-#: Src/wptKeyserverDlg.cpp:633
+#: Src/wptKeyserverDlg.cpp:635
msgid "&Edit"
msgstr "&Edtieren"
-#: Src/wptKeyserverDlg.cpp:659 Src/wptProxySettingsDlg.cpp:66
+#: Src/wptKeyserverDlg.cpp:661 Src/wptProxySettingsDlg.cpp:66
#: Src/wptProxySettingsDlg.cpp:75 Src/wptProxySettingsDlg.cpp:82
#: Src/wptProxySettingsDlg.cpp:87 Src/wptProxySettingsDlg.cpp:92
#: Src/wptProxySettingsDlg.cpp:138 Src/wptProxySettingsDlg.cpp:169
msgid "Proxy Settings"
msgstr "Proxy Einstellungen"
-#: Src/wptKeyserverDlg.cpp:667 Src/wptKeyserverDlg.cpp:698
+#: Src/wptKeyserverDlg.cpp:669 Src/wptKeyserverDlg.cpp:700
msgid "Please select one of the keyservers."
msgstr "Bitte einen Keyserver auswählen."
-#: Src/wptKeyserverDlg.cpp:675
+#: Src/wptKeyserverDlg.cpp:677
msgid "This is not implemented yet!"
msgstr "Das ist (leider) noch nicht implementiert!"
-#: Src/wptKeyserverDlg.cpp:682 Src/wptKeyserverDlg.cpp:714
+#: Src/wptKeyserverDlg.cpp:684 Src/wptKeyserverDlg.cpp:716
msgid "Please enter the search pattern."
msgstr "Bitte Suchmuster eingeben."
-#: Src/wptKeyserverDlg.cpp:719
+#: Src/wptKeyserverDlg.cpp:721
msgid "Only keyids are allowed."
msgstr "Nur Schlüssel-IDs zulässig"
-#: Src/wptKeyserverDlg.cpp:725
+#: Src/wptKeyserverDlg.cpp:727
msgid "Only enter the name of the user."
msgstr "Nur den Namen des Benutzers eingeben."
-#: Src/wptKeyserverDlg.cpp:731
+#: Src/wptKeyserverDlg.cpp:733
msgid "Only email addresses or keyids are allowed."
msgstr "Es sind nur E-Mail-Adressen oder Schlüssel-IDs zulässig"
@@ -4079,11 +4076,11 @@
msgstr "Ausgabe Prüfsummen"
# c:\oss\winpt-gpgme\src\wptMDSumDlg.cpp:114
-#: Src/wptMDSumDlg.cpp:144
+#: Src/wptMDSumDlg.cpp:148
msgid "Select file to save checksums"
msgstr "Datei auswählen zum Speichern der Prüfsummen"
-#: Src/wptMDSumDlg.cpp:149
+#: Src/wptMDSumDlg.cpp:153
#, c-format
msgid "Checksums successfully saved in '%s'"
msgstr "Checksummen erfolgreich in '%s' gespeichert."
Modified: trunk/Src/ChangeLog
===================================================================
--- trunk/Src/ChangeLog 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/ChangeLog 2006-01-24 10:10:15 UTC (rev 165)
@@ -1,3 +1,32 @@
+2006-01-23 Timo Schulz <ts at g10code.de>
+
+ * wptMDSumDlg.cpp (mdsum_dlg_proc): Allow to send output
+ to the clipboard.
+ * wptKeyEditDlgs.cpp (keyedit_change_ownertrust): New.
+ (do_editkey_enable_disable): New.
+ * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Usability fix. Do not
+ close the dialog if the user cancelled the ownertrust dialog.
+ * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Return TRUE to indicate
+ an update of any value.
+
+2006-01-21 Timo Schulz <twoaday at freakmail.de>
+
+ * wptKeyCache.cpp (keycache_next_key): Handle the case
+ that there is a secret key without a public part.
+ * wptKeyserver.cpp (kserver_save_conf): Save ports.
+ * wptKeyserverDlg.cpp (keyserver_modify_dlg_proc):
+ Reset keyserver name.
+ * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Just indicate
+ an update, do not update the cache.
+ * wptFileManagerDlg.cpp (file_import_dlg_proc): Use one
+ dialog for both clipboard and file imports.
+ * wptKeyManager.cpp (km_file_import, km_clip_import):
+ Changes to support new update system.
+ (gpg_clip_import): New.
+ * wptKeyManagerDlg.cpp (km_gui_import): New.
+ (find_keypos): Rewritten.
+ (refresh_keylist): Improved error checking.
+
2006-01-20 Timo Schulz <ts at g10code.com>
* wptKeyCache.cpp (w32_tmpfile): New.
Modified: trunk/Src/WinPT-en.rc
===================================================================
--- trunk/Src/WinPT-en.rc 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/WinPT-en.rc 2006-01-24 10:10:15 UTC (rev 165)
@@ -1092,6 +1092,8 @@
LVS_SINGLESEL | WS_BORDER | WS_TABSTOP,7,5,287,79
PUSHBUTTON "&Save...",IDC_MDSUM_COPY,192,86,50,14
DEFPUSHBUTTON "&Close",IDOK,245,86,50,14
+ CONTROL "Save to clipboard",IDC_MDSUM_TOCLIP,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,7,86,94,10
END
IDD_WINPT_KEYEDIT DIALOG DISCARDABLE 0, 0, 298, 183
@@ -1926,14 +1928,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.11.5\0"
+ VALUE "FileVersion", "0.11.7\0"
VALUE "InternalName", "WinPT\0"
- VALUE "LegalCopyright", " Copyright (C) 2006 Timo Schulz\0"
+ VALUE "LegalCopyright", " Copyright (C) 2005 Timo Schulz\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "WinPT.exe\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "Windows Privacy Tray\0"
- VALUE "ProductVersion", "0.11.5\0"
+ VALUE "ProductVersion", "0.11.7\0"
VALUE "SpecialBuild", "\0"
END
END
Modified: trunk/Src/resource.h
===================================================================
--- trunk/Src/resource.h 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/resource.h 2006-01-24 10:10:15 UTC (rev 165)
@@ -631,6 +631,7 @@
#define IDC_KSERVADD_PORTINF 1508
#define IDC_KSERVADD_PORT 1509
#define IDC_GPGPREFS_OVRDEFAULT 1510
+#define IDC_MDSUM_TOCLIP 1511
#define ID_GPG_ENCRYPT 40003
#define ID_GPG_DECRYPT 40004
#define ID_GPG_SIGN 40005
@@ -810,7 +811,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 240
#define _APS_NEXT_COMMAND_VALUE 40185
-#define _APS_NEXT_CONTROL_VALUE 1511
+#define _APS_NEXT_CONTROL_VALUE 1512
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Modified: trunk/Src/wptClipImportDlg.cpp
===================================================================
--- trunk/Src/wptClipImportDlg.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptClipImportDlg.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -40,23 +40,6 @@
#include "wptKeyManager.h"
-/* Import the PGP key data from the clipboard.
- Return value: 0 on success. */
-gpgme_error_t
-gpgme_op_clip_import (gpgme_ctx_t ctx)
-{
- gpgme_error_t err = 0;
- gpgme_data_t keydata = NULL;
-
- err = gpg_data_new_from_clipboard (&keydata, 0);
- if (!err)
- err = gpgme_op_import (ctx, keydata);
-
- gpgme_data_release (keydata);
- return err;
-}
-
-
/* Load the import statistics dialog with the results from @res. */
int
print_import_status (gpgme_import_result_t res)
@@ -79,85 +62,3 @@
}
return !(res->unchanged == res->considered);
}
-
-
-/* Dialog procedure for importing key clipboard data. */
-BOOL CALLBACK
-clip_import_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
-{
- static listview_ctrl_t lv = NULL;
- static int is_revcert;
- static int has_seckeys;
- int rc = 0, upd = 0;
- gpgme_error_t err;
- gpgme_ctx_t ctx;
- gpgme_import_result_t res;
-
- switch (msg) {
- case WM_INITDIALOG:
- SetWindowText (dlg, _("Key Import"));
- SetDlgItemText (dlg, IDC_IMPORT_DOIT, _("&Import"));
-
- rc = implist_build (&lv, GetDlgItem (dlg, IDC_IMPORT_KEYLIST));
- if (rc)
- BUG (NULL);
- SetForegroundWindow (dlg);
- center_window (dlg, NULL);
- rc = implist_load (lv, NULL, &is_revcert, &has_seckeys);
- return TRUE;
-
- case WM_DESTROY:
- if( lv ) {
- implist_delete(lv);
- lv = NULL;
- }
- return FALSE;
-
- case WM_SYSCOMMAND:
- if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, FALSE);
- return FALSE;
-
- case WM_COMMAND:
- switch (LOWORD(wparam)) {
- case IDCANCEL:
- EndDialog (dlg, FALSE);
- return TRUE;
-
- case IDC_IMPORT_DOIT:
- if (has_seckeys > 0) {
- msg_box (dlg, _("Some of the imported keys are secret keys.\n\n"
- "The ownertrust values of these keys must be\n"
- "set manually via the Key Properties dialog."),
- _("Import"), MB_INFO);
- }
- SetForegroundWindow (dlg);
- center_window (dlg, NULL);
-
- err = gpgme_new (&ctx);
- if (err)
- BUG (NULL);
- err = gpgme_op_clip_import (ctx);
- if (err) {
- msg_box (dlg, gpgme_strerror (err), _("Import"), MB_ERR);
- gpgme_release (ctx);
- return FALSE;
- }
- res = gpgme_op_import_result (ctx);
- print_import_status (res);
- upd = res->considered - res->unchanged;
- if (res->no_user_id > 0) {
- msg_box (dlg, _("Key without a self signature was dectected!\n"
- "(This key is NOT usable for encryption, etc)\n"
- "\n"
- "Cannot import these key(s)."), _("Import"), MB_INFO);
- }
- gpgme_release (ctx);
- EndDialog (dlg, upd);
- return TRUE;
- }
- break;
- }
-
- return FALSE;
-}
Modified: trunk/Src/wptFileManagerDlg.cpp
===================================================================
--- trunk/Src/wptFileManagerDlg.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptFileManagerDlg.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -196,18 +196,20 @@
dlg_fatal_error( dlg, "Could not get dialog param!" );
ShowWindow (GetDlgItem( dlg, IDC_IMPORT_KEYMNGT ), WS_DISABLED);
implist_build (&lv, GetDlgItem (dlg, IDC_IMPORT_KEYLIST));
- implist_load (lv, c->opaque, &is_revcert, &has_seckeys);
+ implist_load (lv, c->import.is_clip? NULL: c->opaque,
+ &is_revcert, &has_seckeys);
if (!listview_count_items (lv, 0)) {
msg_box (dlg, _("No valid OpenPGP data found."), _("Key Import"), MB_ERR);
c->cancel = 1;
EndDialog (dlg, FALSE);
}
else {
- const char *s = _("File contain(s) %d key(s).");
+ const char *s = _("%s contain(s) %d key(s).");
char *p = new char[strlen (s) + 32];
if (!p)
BUG (NULL);
- sprintf (p, s, listview_count_items (lv, 0));
+ sprintf (p, s, c->import.is_clip? _("Clipboard") : _("File"),
+ listview_count_items (lv, 0));
SetDlgItemText (dlg, IDC_IMPORT_INFO, p);
free_if_alloc (p);
}
@@ -233,6 +235,12 @@
case WM_COMMAND:
switch (LOWORD (wparam)) {
case IDC_IMPORT_DOIT:
+ if (has_seckeys > 0) {
+ msg_box (dlg, _("Some of the imported keys are secret keys.\n\n"
+ "The ownertrust values of these keys must be\n"
+ "set manually via the Key Properties dialog."),
+ _("Import"), MB_INFO);
+ }
c->cancel = 0;
c->import.revcert = is_revcert? 1 : 0;
c->import.has_seckey = has_seckeys? 1 : 0;
Modified: trunk/Src/wptGPGPrefsDlg.cpp
===================================================================
--- trunk/Src/wptGPGPrefsDlg.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptGPGPrefsDlg.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -185,16 +185,20 @@
case WM_SYSCOMMAND:
if (LOWORD (wparam) == SC_CLOSE)
- EndDialog (dlg, TRUE);
+ EndDialog (dlg, FALSE);
return FALSE;
case WM_COMMAND:
if (HIWORD (wparam) == BN_CLICKED &&
LOWORD (wparam) == IDC_GPGPREFS_OVRDEFAULT) {
- if (IsDlgButtonChecked (dlg, LOWORD (wparam)))
+ if (IsDlgButtonChecked (dlg, LOWORD (wparam))) {
enable_disable_items (dlg, TRUE);
- else
+ gpg4win = false;
+ }
+ else {
enable_disable_items (dlg, FALSE);
+ gpg4win = true;
+ }
break;
}
@@ -202,12 +206,12 @@
case IDC_GPGPREFS_SAVE:
if (!GetDlgItemText (dlg, IDC_GPGPREFS_HOMEDIR,
homedir, sizeof (homedir) -1)) {
- msg_box (dlg, _("Please enter the GnuPG home directory."),
+ msg_box (dlg, _("Please enter the GnuPG home directory."),
_("Preferences"), MB_ERR);
return FALSE;
}
if (dir_exist_check (homedir)) {
- _snprintf (t, sizeof (t) - 1, "%s: %s", homedir,
+ _snprintf (t, sizeof (t) - 1, "%s: %s", homedir,
winpt_strerror (WPTERR_DIR_OPEN));
msg_box (dlg, t, _("Preferences"), MB_ERR);
return FALSE;
@@ -225,16 +229,17 @@
return FALSE;
}
if (file_exist_check (exedir)) {
- msg_box (dlg, _("Could not find the GPG program in this directory."),
+ msg_box (dlg, _("Could not find the GPG program in this directory."),
_("Preferences"), MB_ERR);
return FALSE;
}
if (!gpg4win && set_reg_entry_gpg ("gpgProgram", exedir)) {
- msg_box (dlg, _("Could not save 'gpgProgram' in the registry"),
+ msg_box (dlg, _("Could not save 'gpgProgram' in the registry"),
_("Preferences"), MB_ERR);
return FALSE;
}
- if (GetDlgItemText (dlg, IDC_GPGPREFS_LOCALE, locale_dir, sizeof (locale_dir) -1)) {
+ if (GetDlgItemText (dlg, IDC_GPGPREFS_LOCALE,
+ locale_dir, sizeof (locale_dir) -1) > 0) {
if (dir_exist_check (locale_dir)) {
log_box ( _("Preferences"), MB_ERR, "%s: %s", locale_dir,
winpt_strerror (WPTERR_DIR_OPEN));
@@ -255,26 +260,27 @@
}
parse_gpg_options (p, &opt);
- if( IsDlgButtonChecked( dlg, IDC_GPGPREFS_ASKLEVEL ) ) {
- modify_entry( opt, ENTRY_SINGLE, "ask-cert-level", NULL );
+ if (IsDlgButtonChecked (dlg, IDC_GPGPREFS_ASKLEVEL)) {
+ modify_entry (opt, ENTRY_SINGLE, "ask-cert-level", NULL);
reg_prefs.gpg.ask_cert_level = 1;
}
else {
delete_option (opt, "ask-cert-level");
reg_prefs.gpg.ask_cert_level = 0;
}
-
- if( (n = GetDlgItemText(dlg, IDC_GPGPREFS_COMMENT, t, sizeof t - 1 ) ))
- modify_entry( opt, ENTRY_MULTI, "comment", t );
- else if( n == 0 )
- modify_entry( opt, ENTRY_MULTI, "comment", "\"\"" );
+ n = GetDlgItemText(dlg, IDC_GPGPREFS_COMMENT, t, sizeof t - 1);
+ if (n > 0)
+ modify_entry (opt, ENTRY_MULTI, "comment", t);
+ else if (n == 0)
+ modify_entry (opt, ENTRY_MULTI, "comment", "\"\"");
else
- delete_option( opt, "comment" );
+ delete_option (opt, "comment");
- if( (n=GetDlgItemText( dlg, IDC_GPGPREFS_ENCTO, t, sizeof t -1 ) ) )
- modify_entry( opt, ENTRY_MULTI, "encrypt-to", t );
+ n = GetDlgItemText (dlg, IDC_GPGPREFS_ENCTO, t, sizeof t -1);
+ if (n > 0)
+ modify_entry (opt, ENTRY_MULTI, "encrypt-to", t);
else
- delete_option( opt, "encrypt-to" );
+ delete_option (opt, "encrypt-to");
commit_gpg_options (p, opt);
release_gpg_options (opt);
@@ -287,7 +293,8 @@
char *name;
SetDlgItemText (dlg, IDC_GPGPREFS_HOMEDIR, folder);
- if (GetDlgItemText (dlg, IDC_GPGPREFS_EXEDIR, exedir, DIM (exedir)-1) > 0)
+ if (GetDlgItemText (dlg, IDC_GPGPREFS_EXEDIR,
+ exedir, DIM (exedir)-1) > 0)
break;
name = make_filename (folder, "gpg", "exe");
if (file_exist_check (name) == 0)
Modified: trunk/Src/wptKeyCache.cpp
===================================================================
--- trunk/Src/wptKeyCache.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptKeyCache.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -768,6 +768,9 @@
}
if (ctx->tmp->flags != 0)
ctx->tmp->flags = 0; /* reset the 'updated' status. */
+ /* it might be possible there is no public key. */
+ if (flags && ctx->tmp->pubpart == NULL)
+ flags = 0;
*r_key = flags? ctx->tmp->pubpart->key : ctx->tmp->key;
*c = ctx->tmp = ctx->tmp->next;
ctx->pos++;
Modified: trunk/Src/wptKeyEditDlgs.cpp
===================================================================
--- trunk/Src/wptKeyEditDlgs.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptKeyEditDlgs.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -50,7 +50,7 @@
/*CMD_FPR,*/
CMD_DELUID,
CMD_DELKEY,
- CMD_DELPHOTO,
+ /*CMD_DELPHOTO,*/
/*CMD_DELSIG,*/
CMD_EXPIRE,
/*CMD_PREF,*/
@@ -874,6 +874,24 @@
}
+/* Change ownertrust of the given key @key.
+ Return TRUE if the ownertrust was changed. */
+BOOL
+keyedit_change_ownertrust (winpt_key_t key, HWND dlg)
+{
+ int rc;
+
+ rc = dialog_box_param (glob_hinst,
+ (LPCSTR)IDD_WINPT_KEYEDIT_OWNERTRUST,
+ dlg, keyedit_ownertrust_dlg_proc,
+ (LPARAM)key, _("Change Ownertrust"),
+ IDS_WINPT_KEYEDIT_OWNERTRUST);
+ if (rc == TRUE)
+ key->update = 1;
+ return rc;
+}
+
+
static int
is_idea_protect_algo (const char * keyid)
{
@@ -954,8 +972,10 @@
}
+/* Initialize sub key list from key @k and return
+ the new listview control. */
listview_ctrl_t
-subkey_list_init( HWND dlg, winpt_key_t k )
+subkey_list_init (HWND dlg, winpt_key_t k)
{
LV_ITEM lvi;
gpgme_key_t key;
@@ -985,7 +1005,7 @@
k->ctx = key;
nkeys = count_subkeys (key);
if( !nkeys ) {
- msg_box( dlg, _("No subkey(s) found."), _("Key Edit"), MB_ERR );
+ msg_box (dlg, _("No subkey(s) found."), _("Key Edit"), MB_ERR);
return NULL;
}
@@ -1002,7 +1022,7 @@
listview_add_sub_item( lv, 0, 1, "" );
memset( &lvi, 0, sizeof lvi );
lvi.mask = LVIF_PARAM;
- lvi.lParam = (LPARAM )key;
+ lvi.lParam = (LPARAM)key;
if( ListView_SetItem( lv->ctrl, &lvi ) == FALSE )
return NULL;
}
@@ -1146,7 +1166,7 @@
/*"FPR",*/
"DELUID",
"DELKEY",
- "DELPHOTO",
+ /*"DELPHOTO",*/
/*"DELSIG",*/
"EXPIRE",
/*"PREF",*/
@@ -1160,7 +1180,7 @@
"REVKEY",
"DISABLE",
"ENABLE",
- "SHOWPHOTO",
+ /*"SHOWPHOTO",*/
NULL
};
const char * s;
@@ -1174,28 +1194,30 @@
} /* do_init_cmdlist */
+/* Return 1 if the requested command is RFC2440. */
static int
-is_cmd_openpgp( int cmdid )
+is_cmd_openpgp (int cmdid)
{
- switch( cmdid ) {
+ switch (cmdid) {
case CMD_ADDKEY:
case CMD_ADDPHOTO:
case CMD_ADDREVOKER:
- case CMD_DELPHOTO:
+ /*case CMD_DELPHOTO:*/
/*case CMD_SHOWPHOTO:*/
/*case CMD_SETPREF:*/
return 1;
}
return 0;
-} /* is_cmd_openpgp */
+}
+/* Display a message box with a short description of the commands. */
static void
-do_show_help( HWND dlg )
+do_show_help (HWND dlg)
{
char helptext[2048];
- _snprintf( helptext, sizeof helptext-1,
+ _snprintf (helptext, sizeof (helptext)-1,
_(/*"FPR \t\tshow fingerprint\r\n"*/
"ADDUID \t\tadd a user ID\r\n"
"ADDPHOTO \t\tadd a photo ID\r\n"
@@ -1218,8 +1240,8 @@
"DISABLE \t\tdisable a key\r\n"
"ENABLE \t\tenable a key\r\n"
/*"SHOWPHOTO \t\tshow photo ID\r\n"*/) );
- msg_box( dlg, helptext, _("Key Edit Help"), MB_OK );
-} /* do_show_help */
+ msg_box (dlg, helptext, _("Key Edit Help"), MB_OK);
+}
static int
@@ -1779,13 +1801,21 @@
} /* uid_subclass_proc */
+static void
+do_editkey_enable_disable (winpt_key_t k, HWND dlg, listview_ctrl_t lv, int enable)
+{
+ km_enable_disable_key (lv, dlg, 0, enable);
+ k->update = 1;
+}
+
+
/* Dialog box procedure for the edit key dialog. */
BOOL CALLBACK
keyedit_main_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
static winpt_key_t k;
static listview_ctrl_t lvsub = NULL, lvuid = NULL;
- int cmd, idxsub = 0;
+ int cmd;
HWND item;
switch( msg ) {
@@ -1859,7 +1889,6 @@
msg_box( dlg, _("Please select a command."), _("Key Edit"), MB_INFO );
return FALSE;
}
- idxsub = listview_get_curr_pos (lvsub);
if (k->is_v3 && is_cmd_openpgp (cmd)) {
msg_box (dlg, _("This command cannot be used with PGP 2 (v3) keys.\n"),
_("Key Edit"), MB_ERR);
@@ -1879,8 +1908,9 @@
case CMD_DELUID: do_editkey_deluid( k, dlg, lvuid ); break;
case CMD_PASSWD: keyedit_change_passwd( k, dlg ); break;
case CMD_PRIMARY: do_editkey_primary( k, dlg, lvuid ); break;
- case CMD_ENABLE: km_enable_disable_key( lvsub, dlg, idxsub, 1 ); break;
- case CMD_DISABLE: km_enable_disable_key( lvsub, dlg, idxsub, 0 ); break;
+ case CMD_ENABLE: do_editkey_enable_disable (k, dlg, lvsub, 1); break;
+ case CMD_DISABLE: do_editkey_enable_disable (k, dlg, lvsub, 0); break;
+ case CMD_TRUST: keyedit_change_ownertrust (k, dlg); break;
}
break;
Modified: trunk/Src/wptKeyManager.cpp
===================================================================
--- trunk/Src/wptKeyManager.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptKeyManager.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -425,15 +425,34 @@
}
+/* Import the PGP key data from the clipboard.
+ Return value: 0 on success. */
+static gpgme_error_t
+gpg_op_clip_import (gpgme_ctx_t ctx)
+{
+ gpgme_error_t err = 0;
+ gpgme_data_t keydata = NULL;
+
+ err = gpg_data_new_from_clipboard (&keydata, 0);
+ if (!err)
+ err = gpgme_op_import (ctx, keydata);
+
+ gpgme_data_release (keydata);
+ return err;
+}
+
/* Import keys from the clipboard. */
int
-km_clip_import (HWND dlg, int *r_newkeys)
+km_clip_import (HWND dlg, int *r_newkeys, int *r_newsks)
{
gpgme_error_t err;
+ gpgme_ctx_t ctx = NULL;
+ gpgme_import_result_t res;
+ fm_state_s fm_stat;
int pgptype;
- int id;
- int new_keys = 0, has_data = 0;
-
+ int id, has_data = 0;
+ int new_keys = 0, new_sks = 0;
+
if (!gpg_clip_istext_avail (&has_data) && !has_data) {
msg_box (dlg, winpt_strerror (WPTERR_CLIP_ISEMPTY),
_("Key Manager"), MB_ERR);
@@ -463,14 +482,47 @@
_("Key Manager"), MB_INFO);
}
- new_keys = dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_IMPORT, dlg,
- clip_import_dlg_proc, 0,
+ memset (&fm_stat, 0, sizeof (fm_stat));
+ fm_stat.opaque = m_strdup ("Clipboard");
+ fm_stat.import.is_clip = 1;
+ has_data = dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_IMPORT, dlg,
+ file_import_dlg_proc, (LPARAM)&fm_stat,
_("Key Import"), IDS_WINPT_IMPORT);
+ if (!has_data)
+ goto leave;
+
+ err = gpgme_new (&ctx);
+ if (err)
+ BUG (NULL);
+ op_begin ();
+ err = gpg_op_clip_import (ctx);
+ op_end ();
+ if (err) {
+ msg_box (dlg, gpgme_strerror (err), _("Import"), MB_ERR);
+ goto leave;
+ }
+
+ res = gpgme_op_import_result (ctx);
+ print_import_status (res);
+ new_keys = res->considered - res->unchanged;
+ new_sks = res->secret_imported - res->secret_unchanged;
+ if (res->no_user_id > 0) {
+ msg_box (dlg, _("Key without a self signature was dectected!\n"
+ "(This key is NOT usable for encryption, etc)\n"),
+ _("Import"), MB_WARN);
+ }
+
+leave:
+ if (ctx)
+ gpgme_release (ctx);
+ free_if_alloc (fm_stat.opaque);
if (r_newkeys)
*r_newkeys = new_keys;
- if (!new_keys)
+ if (r_newsks)
+ *r_newsks = new_sks;
+ if (!new_keys || !has_data)
return WPTERR_NODATA;
- return 0;
+ return (int)err;
}
@@ -514,27 +566,39 @@
msg_box (dlg, winpt_strerror (rc), _("Key Import HTTP"), MB_ERR);
rc = WPTERR_GENERAL;
}
- km_file_import (dlg, p, NULL);
+ km_file_import (dlg, p, NULL, NULL);
remove (p);
free_if_alloc (p);
return rc;
}
-/* Import a key from the given file @fname.
+/* Import a key from the given file @fname, if @fname is
+ NULL use the common 'file open' dialog.
On success an import statistics dialog is shown. */
int
-km_file_import (HWND dlg, const char *fname, int *r_newkeys)
+km_file_import (HWND dlg, const char *fname, int *r_newkeys, int *r_newsks)
{
gpgme_data_t keydata = NULL;
gpgme_ctx_t ctx;
gpgme_error_t err;
fm_state_s fm_stat;
gpgme_import_result_t res;
+ const char *name;
int no_data = 0;
-
+ int new_keys = 0, new_sks = 0;
+
+ if (!fname) {
+ name = get_fileopen_dlg (dlg, _("Choose Name of the Key File"),
+ NULL, NULL);
+ if (!name)
+ return WPTERR_GENERAL;
+ }
+ else
+ name = fname;
+
memset (&fm_stat, 0, sizeof (fm_stat));
- fm_stat.opaque = m_strdup (fname);
+ fm_stat.opaque = m_strdup (name);
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_IMPORT, dlg,
file_import_dlg_proc, (LPARAM)&fm_stat,
@@ -547,7 +611,7 @@
err = gpgme_new (&ctx);
if (err)
BUG (NULL);
- err = gpgme_data_new_from_file (&keydata, fname, 1);
+ err = gpgme_data_new_from_file (&keydata, name, 1);
if (err) {
msg_box (dlg, _("Could not read key-data from file."),
_("Key Manager"), MB_ERR);
@@ -563,10 +627,11 @@
}
res = gpgme_op_import_result (ctx);
- if (res->unchanged == res->considered)
+ if (res->unchanged == res->considered &&
+ res->secret_unchanged == res->secret_imported)
no_data = 1;
- if (r_newkeys)
- *r_newkeys = res->considered - res->unchanged;
+ new_keys = res->considered - res->unchanged;
+ new_sks = res->secret_imported - res->secret_unchanged;
if (res->new_revocations == 0 && fm_stat.import.revcert == 1)
res->new_revocations = 1;
if (res->secret_imported == 0 && fm_stat.import.has_seckey == 1)
@@ -578,15 +643,18 @@
print_import_status (res);
if (res->no_user_id > 0) {
msg_box (dlg, _("Key without a self signature was dectected!\n"
- "(This key is NOT usable for encryption, etc)\n"
- "\n"
- "Cannot import these key(s)!"), _("Import"), MB_INFO);
+ "(This key is NOT usable for encryption, etc)\n"),
+ _("Import"), MB_WARN);
}
leave:
gpgme_data_release (keydata);
gpgme_release (ctx);
free_if_alloc (fm_stat.opaque);
+ if (r_newkeys)
+ *r_newkeys = new_keys;
+ if (r_newsks)
+ *r_newsks = new_sks;
if (no_data)
return WPTERR_NODATA;
return (int)err;
@@ -808,7 +876,8 @@
km_refresh_one_key (listview_ctrl_t lv, HWND dlg, int pos, int flags)
{
gpgme_key_t key;
- int idx;
+ char keyid[16+1];
+ int idx, err = 0;
if (pos != 0)
idx = pos;
@@ -818,8 +887,12 @@
key = (gpgme_key_t)listview_get_item2 (lv, idx);
if (!key)
BUG (0);
- hkp_recv_key (dlg, default_keyserver, default_keyserver_port,
- key->subkeys->keyid+8, 0, flags);
+ _snprintf (keyid, sizeof (keyid)-1, "%s", key->subkeys->keyid+8);
+ err = hkp_recv_key (dlg, default_keyserver, default_keyserver_port,
+ keyid, 0, flags);
+ /* if we receive just a single key (no refresh mode), update it. */
+ if (!flags && !err)
+ keycache_update (0, keyid);
}
}
Modified: trunk/Src/wptKeyManagerDlg.cpp
===================================================================
--- trunk/Src/wptKeyManagerDlg.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptKeyManagerDlg.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -1020,12 +1020,12 @@
static int
find_keypos (listview_ctrl_t lv, gpgme_key_t key)
{
- gpgme_key_t src;
+ char keyid[16+1];
int i;
for (i=0; i < listview_count_items (lv, 0); i++) {
- src = (gpgme_key_t)listview_get_item2 (lv, i);
- if (src && src->subkeys->keyid == key->subkeys->keyid)
+ listview_get_item_text (lv, i, KM_COL_KEYID, keyid, sizeof (keyid)-1);
+ if (!strcmp (key->subkeys->keyid+8, keyid+2))
return i;
}
return -1;
@@ -1039,15 +1039,17 @@
{
struct keycache_s *ctx;
gpg_keycache_t kc;
- int status=0;
+ int status=0, pos;
kc = keycache_get_ctx (1);
while (!gpg_keycache_next_updated_key (kc, &ctx, &status)) {
if (status == KC_FLAG_ADD)
keylist_add_key (kmi->lv, KEYLIST_LIST, ctx->key);
- else
- keylist_upd_key (kmi->lv, find_keypos (kmi->lv, ctx->key), ctx->key);
- /*log_box ("debug", 0, "(%d) %s", status, ctx->key->uids->name);*/
+ else {
+ pos = find_keypos (kmi->lv, ctx->key);
+ if (pos != -1)
+ keylist_upd_key (kmi->lv, pos, ctx->key);
+ }
}
keylist_sort (kmi->lv, KEY_SORT_USERID);
update_status_bar (kmi->statbar, kmi->lv);
@@ -1061,9 +1063,62 @@
keycache_reload (kmi->dlg);
keylist_reload (kmi->lv, keycache_get_ctx (1),
KEYLIST_LIST, KEY_SORT_USERID);
+ update_status_bar (kmi->statbar, kmi->lv);
+ keyring_check_last_access ();
}
+/* Reload the entire key cache and update the listview. */
+static void
+reload_keycache (struct km_info_s *kmi)
+{
+ refresh_cache_s rcs = {0};
+ gpg_keycache_t c;
+
+ rcs.kr_reload = rcs.kr_update = 1;
+ rcs.tr_update = 0;
+ DialogBoxParam (glob_hinst, (LPCSTR)IDD_WINPT_KEYCACHE, kmi->dlg,
+ keycache_dlg_proc, (LPARAM)&rcs);
+ c = keycache_get_ctx (1);
+ if (!c)
+ BUG (0);
+ keylist_reload (kmi->lv, c, KEYLIST_LIST, KEY_SORT_USERID);
+ update_status_bar (kmi->statbar, kmi->lv);
+ SetForegroundWindow (kmi->dlg);
+}
+
+
+/* Handle all import request. */
+static void
+km_gui_import (struct km_info_s *kmi, int cmd_id)
+{
+ int newkeys=0, newsks=0;
+ int err = 0;
+
+ switch (cmd_id) {
+ case ID_KEYMISC_PASTE:
+ err = km_clip_import (kmi->dlg, &newkeys, &newsks);
+ break;
+
+ case ID_KEYMISC_IMPORT:
+ err = km_file_import (kmi->dlg, NULL, &newkeys, &newsks);
+ break;
+
+ default:
+ err = 1;
+ break;
+ }
+
+ if (!err && !newsks && (newkeys > 0 && newkeys < KM_PRELOAD_KEYS))
+ refresh_keylist (kmi);
+ else if (!err) /* avoid to spawn too much processes. */
+ reload_keylist (kmi);
+
+ SetForegroundWindow (kmi->dlg);
+ center_window (kmi->dlg, NULL);
+}
+
+
/* Dialog box procedure for the Key Manager. */
BOOL CALLBACK
keymanager_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
@@ -1077,7 +1132,6 @@
struct genkey_s genkey;
struct winpt_key_s k = {0};
struct URL_ctx_s *url;
- refresh_cache_s rcs = {0};
char type[32], *name;
const char *t, *host;
WORD port = 0;
@@ -1148,6 +1202,7 @@
set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_X", type);
ltoa (kmi->pos_y, type, 10);
set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y", type);
+ /* XXX: store window size. */
/* Remove runtime information. This should be the last action taken here. */
delete kmi; kmi = NULL;
@@ -1509,27 +1564,24 @@
case ID_KEYMISC_PROPS:
if (kmi->lv_idx == -1) {
- msg_box( dlg, _("Please select a key."), _("Key Manager"), MB_ERR );
+ msg_box (dlg, _("Please select a key."), _("Key Manager"), MB_ERR);
return TRUE;
}
key = (gpgme_key_t)listview_get_item2 (kmi->lv, kmi->lv_idx);
if (!key)
BUG (NULL);
memset (&k, 0, sizeof (k));
+ strncpy (k.tmp_keyid, key->subkeys->keyid+8, 8);
+ k.keyid = k.tmp_keyid;
k.key_pair = km_check_for_seckey (kmi->lv, kmi->lv_idx, NULL)? 1 : 0;
- k.keyid = key->subkeys->keyid+8;
k.callback.ctl = kmi->lv;
k.callback.idx = kmi->lv_idx;
k.is_v3 = km_key_is_v3 (kmi->lv, kmi->lv_idx);
- dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYPROPS, dlg,
+ dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYPROPS, dlg,
keyprops_dlg_proc, (LPARAM)&k,
- _("Key Properties"), IDS_WINPT_KEYPROPS );
- if (k.callback.new_val != 0) {
- t = get_key_trust_str (k.callback.new_val);
- listview_add_sub_item (kmi->lv, kmi->lv_idx, 6, t);
- }
+ _("Key Properties"), IDS_WINPT_KEYPROPS);
if (k.update)
- refresh_keylist (kmi);
+ update_key (kmi->lv, kmi->lv_idx, k.tmp_keyid, k.key_pair);
return TRUE;
case ID_KEYMISC_RECACHE:
@@ -1543,17 +1595,8 @@
"Do you really want to reload the keycache?"));
l_idx = msg_box (dlg, inf, _("Key Manager"), MB_YESNO);
}
- if (l_idx == IDYES) {
- rcs.kr_reload = rcs.kr_update = 1;
- rcs.tr_update = 0;
- DialogBoxParam (glob_hinst, (LPCSTR)IDD_WINPT_KEYCACHE, dlg,
- keycache_dlg_proc, (LPARAM)&rcs);
- c = keycache_get_ctx (1);
- if (!c)
- BUG (dlg);
- keylist_reload (kmi->lv, c, KEYLIST_LIST, KEY_SORT_USERID);
- }
- SetForegroundWindow (dlg);
+ if (l_idx == IDYES)
+ reload_keycache (kmi);
return TRUE;
case ID_KEYMISC_REBUILD:
@@ -1607,9 +1650,13 @@
return TRUE;
case ID_KEYMISC_GPGPREFS:
- dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_GPGPREFS, dlg,
- gpgprefs_dlg_proc, 0, _("GnuPG Preferences"),
- IDS_WINPT_GPGPREFS);
+ rc = dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_GPGPREFS,
+ dlg, gpgprefs_dlg_proc, 0,
+ _("GnuPG Preferences"), IDS_WINPT_GPGPREFS);
+ if (rc == TRUE) {
+ /* XXX: TRUE should indicate a value changed. */
+ reload_keycache (kmi);
+ }
return TRUE;
case ID_KEYMISC_GPGOPT:
@@ -1619,16 +1666,7 @@
return TRUE;
case ID_KEYMISC_IMPORT:
- t = get_fileopen_dlg (dlg, _("Choose Name of the Key File"),
- NULL, NULL);
- if (!t)
- break;
- if (!km_file_import (dlg, t, &i)) {
- if (i < KM_PRELOAD_KEYS)
- refresh_keylist (kmi);
- else /* avoid to spawn too much processes. */
- reload_keylist (kmi);
- }
+ km_gui_import (kmi, LOWORD (wparam));
return TRUE;
case ID_KEYMISC_IMPORT_HTTP:
@@ -1743,12 +1781,7 @@
break;
case ID_KEYMISC_PASTE:
- if (!km_clip_import (dlg, &i)) {
- if (i < KM_PRELOAD_KEYS)
- refresh_keylist (kmi);
- else
- reload_keylist (kmi);
- }
+ km_gui_import (kmi, LOWORD (wparam));
break;
case ID_KEYCTX_SETPREFKS:
@@ -1873,6 +1906,10 @@
case ID_KEYCTX_RECVFROM:
km_refresh_from_keyserver (kmi->lv, dlg);
+ if (updated_keys_avail ())
+ refresh_keylist (kmi);
+ else
+ msg_box (NULL, "no updates", "", MB_OK);
break;
case ID_KEYCTX_UID_COPY:
Modified: trunk/Src/wptKeyPropsDlg.cpp
===================================================================
--- trunk/Src/wptKeyPropsDlg.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptKeyPropsDlg.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -341,21 +341,19 @@
if (rc == IDNO)
return TRUE;
}
- dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYEDIT_OWNERTRUST,
- dlg, (DLGPROC)keyedit_ownertrust_dlg_proc,
- (LPARAM)k, _("Change Ownertrust"),
- IDS_WINPT_KEYEDIT_OWNERTRUST);
- if (k->callback.new_val == -1) { /* Cancel */
- EndDialog (dlg, FALSE);
- break;
- }
+ rc = dialog_box_param (glob_hinst,
+ (LPCSTR)IDD_WINPT_KEYEDIT_OWNERTRUST,
+ dlg, keyedit_ownertrust_dlg_proc,
+ (LPARAM)k, _("Change Ownertrust"),
+ IDS_WINPT_KEYEDIT_OWNERTRUST);
+ if (rc == FALSE) /* Cancel */
+ return TRUE;
inf = ownertrust_to_string (k->callback.new_val, k->key_pair);
SetDlgItemText (dlg, IDC_KEYPROPS_OT, inf);
msg_box (dlg, _("Ownertrust successfully changed."),
_("GnuPG Status"), MB_OK);
-
- keycache_update (0, key->subkeys->keyid);
+ k->update = 1;
return TRUE;
case IDC_KEYPROPS_CHANGE_PWD:
Modified: trunk/Src/wptKeyserver.cpp
===================================================================
--- trunk/Src/wptKeyserver.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptKeyserver.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -542,7 +542,7 @@
for (pos = 0; pos < MAX_KEYSERVERS; pos++) {
if (!server[pos].used)
continue;
- fprintf (fp, "%s\r\n", server[pos].name);
+ fprintf (fp, "%s:%d\r\n", server[pos].name, server[pos].port);
}
fclose (fp);
return 0;
Modified: trunk/Src/wptKeyserverDlg.cpp
===================================================================
--- trunk/Src/wptKeyserverDlg.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptKeyserverDlg.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -560,6 +560,7 @@
}
ctx->proto = SendDlgItemMessage (dlg, IDC_KSERVADD_TYPES, CB_GETCURSEL, 0, 0);
ctx->cancel = false;
+ ctx->name[0] = '\0';
if (!strstr (tmp, "://")) {
switch (ctx->proto) {
case KSPROTO_HTTP: strcpy (ctx->name, "http://"); break;
@@ -568,6 +569,7 @@
}
}
strcat (ctx->name, tmp);
+ ctx->cancel = false;
EndDialog (dlg, TRUE);
break;
Modified: trunk/Src/wptMDSumDlg.cpp
===================================================================
--- trunk/Src/wptMDSumDlg.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptMDSumDlg.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -1,5 +1,5 @@
/* wptMDSumDlg.cpp
- * Copyright (C) 2003, 2005 Timo Schulz
+ * Copyright (C) 2003, 2005, 2006 Timo Schulz
*
* This file is part of WinPT.
*
@@ -140,6 +140,10 @@
gpgme_data_write (sumlist, fname, strlen (fname));
gpgme_data_write (sumlist, "\r\n", 2);
}
+ if (IsDlgButtonChecked (dlg, IDC_MDSUM_TOCLIP)) {
+ gpg_data_release_and_set_clipboard (sumlist, 0);
+ break;
+ }
_snprintf (fname, sizeof (fname)-1, "%s_sums.txt", id2algo (md->mdalgo));
name = get_filesave_dlg (dlg, _("Select file to save checksums"),
NULL, fname);
Modified: trunk/Src/wptMainProc.cpp
===================================================================
--- trunk/Src/wptMainProc.cpp 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/Src/wptMainProc.cpp 2006-01-24 10:10:15 UTC (rev 165)
@@ -172,7 +172,7 @@
}
}
else if ((type & PGP_PUBKEY) && !(type & PGP_CLEARSIG))
- km_clip_import (GetDesktopWindow (), NULL);
+ km_clip_import (GetDesktopWindow (), NULL, NULL);
else {
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_VERIFY, hwnd,
clip_verify_dlg_proc, 0,
@@ -265,7 +265,7 @@
_("Verify"), IDS_WINPT_VERIFY );
}
else if ((type & PGP_PUBKEY) || (type & PGP_SECKEY))
- km_clip_import (GetDesktopWindow (), NULL);
+ km_clip_import (GetDesktopWindow (), NULL, NULL);
else
msg_box (hwnd, _("Unknown OpenPGP type."), _("Clipboard"), MB_ERR);
}
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/TODO 2006-01-24 10:10:15 UTC (rev 165)
@@ -1,7 +1,6 @@
Feel free if you think there is missing something to mail me.
-0.11.x-
- * Only create temp files in the $users temp folder.
* On modern P4 CPUs the thread scheduling mechanism seems to
cause trouble and the result is that any GPG operation will
be take much longer as expected.
@@ -16,20 +15,11 @@
-1.0.0-
* The key cache reload is much faster when no progress callback
is used. Allow to disable the progress dialog.
-
* Use '!' in the encrypt dialog to use the subkey which was selected
and not the newest.
- * revamp the group database code. Use the GPG --group feature and make
- it possible to convert old groupdb.gpg files into native GPG format.
- (I work on it)
-
+ * Revamp the group database code. Use the GPG --group feature and make
* check the file register code
- WinPT will not associate the files correctly. This is due to the lack
- of quotes surrounding the executable path. (I know, Timo must be mad
- about quotes... ;). The workaround is to change the path to the program.
-
* Secret keyring is stored on drive A.
- * Use a better GPG directory checking system.
-1.0.0-
* Implement to recognize one-pass sigs for files also.
* CARD
Modified: trunk/TODO-GPGME-PORT.txt
===================================================================
--- trunk/TODO-GPGME-PORT.txt 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/TODO-GPGME-PORT.txt 2006-01-24 10:10:15 UTC (rev 165)
@@ -14,3 +14,5 @@
long as the file is not too large. The limite is <100 MB.
Otherwise the process would take too much time and propably
the window/process freezes up.
+ (This is propably the same P4 problem from the TODO file)
+
\ No newline at end of file
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac 2006-01-20 09:19:15 UTC (rev 164)
+++ trunk/configure.ac 2006-01-24 10:10:15 UTC (rev 165)
@@ -15,7 +15,7 @@
# Version number: Remember to change it immediately *after* a release.
# Add a "-cvs" prefix for non-released code.
-AC_INIT(WinPT, 0.11.6, http://www.winpt.org)
+AC_INIT(WinPT, 0.11.7-cvs, http://www.winpt.org)
NEED_GPG_VERSION=1.4.2
NEED_GPGME_API=1
NEED_GPGME_VERSION=1.1.1
More information about the Winpt-commits
mailing list