[Winpt-commits] r270 - in trunk: . Doc/website Include Po Src
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Sat Oct 21 20:09:01 CEST 2006
Author: twoaday
Date: 2006-10-21 20:08:57 +0200 (Sat, 21 Oct 2006)
New Revision: 270
Added:
trunk/Src/wptRegistryMobile.cpp
Modified:
trunk/Doc/website/download.html
trunk/Doc/website/index.html
trunk/Include/wptGPG.h
trunk/Include/wptRegistry.h
trunk/NEWS
trunk/Po/de.po
trunk/Po/jp.po
trunk/Po/pt_BR.po
trunk/Src/ChangeLog
trunk/Src/WinPT.cpp
trunk/Src/wptCardEdit.cpp
trunk/Src/wptCardEditCB.cpp
trunk/Src/wptFileManager.cpp
trunk/Src/wptGPG.cpp
trunk/Src/wptGPGME.cpp
trunk/Src/wptGPGMEWrapper.cpp
trunk/Src/wptGPGParser.cpp
trunk/Src/wptGPGPrefsDlg.cpp
trunk/Src/wptGPGUtil.cpp
trunk/Src/wptKeyserver.cpp
trunk/Src/wptMainProc.cpp
trunk/Src/wptProgressDlg.cpp
trunk/Src/wptProxySettingsDlg.cpp
trunk/Src/wptRegistry.cpp
trunk/Src/wptVerifyList.cpp
trunk/TODO
trunk/configure.ac
Log:
Modified: trunk/Doc/website/download.html
===================================================================
--- trunk/Doc/website/download.html 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Doc/website/download.html 2006-10-21 18:08:57 UTC (rev 270)
@@ -53,16 +53,16 @@
</p> </td>
<td width="710" align="left" valign="top">
<p class="style2">Remember that you need GnuPG installed on your computer to use WinPT. You can get GnuPG for free from the <a href="http://www.gnupg.org" target="_blank">GnuPG website</a>. </p>
- <p class="style4">The latest version of WinPT is 1.0.1.</p>
+ <p class="style4">The latest version of WinPT is 1.0.2.</p>
<p class="style2">
- Latest <b>binary</b> version: <a href="http://wald.intevation.org/frs/download.php/270/winpt-1.0.1-exe.zip">download</a>
- <a href="http://wald.intevation.org/frs/download.php/271/winpt-1.0.1-exe.zip.sig">signature</a>
+ Latest <b>binary</b> version: <a href="http://wald.intevation.org/frs/download.php/270/winpt-1.0.2-exe.zip">download</a>
+ <a href="http://wald.intevation.org/frs/download.php/271/winpt-1.0.2-exe.zip.sig">signature</a>
<br>sha1sum: <tt>699f3d25fb72019ee1bc7f9eecd7a74bee91e193</tt>
</p>
- <p class="style2"><b>Source</b> code: <a href="http://wald.intevation.org/frs/download.php/272/winpt-1.0.1.tar.bz2">download</a>
- <a href="http://wald.intevation.org/frs/download.php/273/winpt-1.0.1.tar.bz2.sig">signature</a>
+ <p class="style2"><b>Source</b> code: <a href="http://wald.intevation.org/frs/download.php/272/winpt-1.0.2.tar.bz2">download</a>
+ <a href="http://wald.intevation.org/frs/download.php/273/winpt-1.0.2.tar.bz2.sig">signature</a>
<br>sha1sum: <tt>574b7766701aaaef6e388d8b3ad68a171c9c071f</tt>
</p>
Modified: trunk/Doc/website/index.html
===================================================================
--- trunk/Doc/website/index.html 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Doc/website/index.html 2006-10-21 18:08:57 UTC (rev 270)
@@ -65,7 +65,7 @@
<p class="style2">
WinPT is designed to make life easier for people who want encryption, and to make security less
daunting for people who are new to securing data. </p>
- <p class="style4">The latest version of WinPT is 1.0.1. You can download it from <a href="download.html">here</a>.</p>
+ <p class="style4">The latest version of WinPT is 1.0.2. You can download it from <a href="download.html">here</a>.</p>
<p class="style3">
WinPT is licensed under the GNU GPL, and can be freely used, redistributed or modified.
It is is distributed in the hope that it will be useful,
Modified: trunk/Include/wptGPG.h
===================================================================
--- trunk/Include/wptGPG.h 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Include/wptGPG.h 2006-10-21 18:08:57 UTC (rev 270)
@@ -174,6 +174,7 @@
struct gpg_group_s *grp;
};
typedef struct gpg_optfile_s *gpg_optfile_t;
+typedef struct gpg_optfile_s *config_file_t;
/* find */
gpg_group_t find_group( gpg_optfile_t opt, const char *str );
@@ -186,12 +187,14 @@
/* add */
int modify_entry( gpg_optfile_t opt, int type, const char *name, const char *val );
int add_entry( gpg_optfile_t opt, int type, const char *name, const char *val );
+int add_entry_int (config_file_t opt, int type, const char *name, int val);
int add_member( gpg_optfile_t opt, const char *grp, const char *str );
int add_group( gpg_optfile_t opt, const char *str );
/* high-level */
-int parse_gpg_options( const char *file, gpg_optfile_t *r_opt );
-int commit_gpg_options( const char *file, gpg_optfile_t opt );
-void release_gpg_options( gpg_optfile_t opt );
+void new_config (config_file_t *r_opt);
+int parse_config (const char *file, config_file_t *r_opt);
+int commit_config (const char *file, config_file_t opt);
+void release_config (config_file_t opt);
/* memory */
void release_group( gpg_group_t grp );
Modified: trunk/Include/wptRegistry.h
===================================================================
--- trunk/Include/wptRegistry.h 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Include/wptRegistry.h 2006-10-21 18:08:57 UTC (rev 270)
@@ -1,4 +1,4 @@
-/* wptRegistry.h - Win32 Registry headerfile
+/* wptRegistry.h - Registry interface
* Copyright (C) 2000-2006 Timo Schulz
*
* This file is part of WinPT.
@@ -21,7 +21,6 @@
#ifndef WPT_REGISTRY_H
#define WPT_REGISTRY_H
-#include "wptKeyserver.h"
/* Symbolic configuration IDs */
enum cfg_t {
@@ -44,8 +43,25 @@
CFG_KSERV_CONF,
};
+/* All valid configuration commands. */
+static const char *cfg [] = {
+ NULL,
+ "CacheTime",
+ "WordWrap",
+ "DefaultExt",
+ "Viewer",
+ "WipeMode",
+ "AlwaysTrust",
+ "AutoBackup",
+ "BackupMode",
+ "DisableHotkeys",
+ "NoCompressMultiMedia",
+ "Expert",
+ "FMProgressBar",
+ "BackupSecring"
+};
-struct winpt_reg_prefs_s {
+struct winpt_prefs_s {
int no_hotkeys; /* disable ALL hotkeys */
int word_wrap; /* set word wrapping (0 means to disable it) */
int cache_time; /* caching time for passphrase */
@@ -73,32 +89,28 @@
unsigned int ask_cert_expire:1;
} gpg;
};
+typedef struct winpt_prefs_s *winpt_prefs_t;
+extern winpt_prefs_s reg_prefs;
-extern winpt_reg_prefs_s reg_prefs;
-
/*-- wptRegistry.cpp --*/
void free_reg_prefs (void);
int regist_inst_gnupg (int create_mokey);
int regist_inst_winpt (int with_ext, int *created);
-int create_file_type (const char * exefile, const char * ext,
- const char * extname, char *iconfile );
int set_reg_winpt_single (int id, int val);
int get_reg_winpt_single (int id);
-int set_reg_winpt_prefs (winpt_reg_prefs_s * opt);
-int get_reg_winpt_prefs (winpt_reg_prefs_s * opt);
+int set_reg_winpt_prefs (winpt_prefs_t opt);
+int get_reg_winpt_prefs (winpt_prefs_t opt);
char* get_reg_entry (HKEY root_key, const char *dir, const char *key);
-int set_reg_entry( HKEY root_key, const char * dir, const char * key,
- const char * value );
-int set_reg_key( HKEY root_key, const char * dir, const char * key,
- const char * value );
-int set_reg_entry_gpg( const char * key, const char * value );
-int set_reg_entry_mo( const char * value );
-char* get_reg_entry_gpg( const char * key );
-char* get_reg_entry_mo( void );
-void get_reg_proxy_prefs (keyserver_proxy_t prox);
-int set_reg_proxy_prefs (keyserver_proxy_t prox);
-int set_reg_entry_keyserver( const char * name, const char * val );
-char * get_reg_entry_keyserver( const char * name );
+int set_reg_entry (HKEY root_key, const char * dir, const char * key,
+ const char *value);
+int set_reg_key (HKEY root_key, const char * dir, const char * key,
+ const char * value);
+int set_reg_entry_gpg (const char *key, const char *value);
+int set_reg_entry_mo (const char *value);
+char* get_reg_entry_gpg (const char * key);
+char* get_reg_entry_mo (void);
+int set_reg_entry_keyserver (const char * name, const char *val);
+char* get_reg_entry_keyserver( const char * name );
int set_reg_winpt_flag (const char *name, int val);
int get_reg_winpt_flag (const char *name);
char* get_reg_entry_gpg4win (const char *path);
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/NEWS 2006-10-21 18:08:57 UTC (rev 270)
@@ -941,4 +941,8 @@
Noteworthy changes in version 1.0.2 (unreleased)
-================================================
\ No newline at end of file
+================================================
+
+* Some minor bug fixes for the File Manager.
+
+* Fix a problem with the proxy settings procedure.
Modified: trunk/Po/de.po
===================================================================
--- trunk/Po/de.po 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Po/de.po 2006-10-21 18:08:57 UTC (rev 270)
@@ -2,6 +2,8 @@
# Copyright (C)
# Timo Schulz <twoaday at freakmail.de>, 2002, 2004, 2005, 2006
# g10 Code GmbH <twoaday at g10code.de>, 2005, 2006
+#
+# These authors are retired and should not be contacted for questions
# Thomas Henlich <henlich at mmers1.mw.tu-dresden.de>, 2001
# Ralf Kreutzmann <ralf.kreutzmann at equipmente.de>, 2004, 2005
#
@@ -12,9 +14,9 @@
# BUG: GetOpenFileName needs \0\0. gettext does not support it.
msgid ""
msgstr ""
-"Project-Id-Version: WinPT 1.0.1\n"
+"Project-Id-Version: WinPT 1.0.2\n"
"Report-Msgid-Bugs-To: winpt at freakmail.de\n"
-"POT-Creation-Date: 2006-08-30 14:04+0200\n"
+"POT-Creation-Date: 2006-10-21 19:58+0200\n"
"PO-Revision-Date: 2005-12-28 16:10+0100\n"
"Last-Translator: Timo Schulz <ts at g10code.de>\n"
"Language-Team: DE <twoaday at freakmail.de>\n"
@@ -30,33 +32,33 @@
"Die gpg.conf Datei enthält mindestens ein Argument das auf einen ungültigen "
"Dateinamen verweist."
-#: Src/WinPT.cpp:196
+#: Src/WinPT.cpp:197
msgid "Could not create GPG home directory"
msgstr "Konnte Heimatverzeichnis von GPG nicht erstellen"
-#: Src/WinPT.cpp:197 Src/WinPT.cpp:279 Src/WinPT.cpp:283 Src/WinPT.cpp:484
+#: Src/WinPT.cpp:198 Src/WinPT.cpp:277 Src/WinPT.cpp:281 Src/WinPT.cpp:484
#: Src/WinPT.cpp:493 Src/WinPT.cpp:500 Src/WinPT.cpp:540 Src/WinPT.cpp:568
-#: Src/WinPT.cpp:577 Src/WinPT.cpp:581 Src/WinPT.cpp:598 Src/WinPT.cpp:666
-#: Src/WinPT.cpp:679 Src/WinPT.cpp:726 Src/WinPT.cpp:768 Src/WinPT.cpp:787
-#: Src/wptCommonDlg.cpp:224 Src/wptErrors.cpp:141 Src/wptGPG.cpp:926
-#: Src/wptGPG.cpp:938 Src/wptGPG.cpp:948 Src/wptGPG.cpp:959
-#: Src/wptMainProc.cpp:345 Src/wptMainProc.cpp:518
+#: Src/WinPT.cpp:577 Src/WinPT.cpp:581 Src/WinPT.cpp:598 Src/WinPT.cpp:665
+#: Src/WinPT.cpp:678 Src/WinPT.cpp:725 Src/WinPT.cpp:767 Src/WinPT.cpp:786
+#: Src/wptCommonDlg.cpp:224 Src/wptErrors.cpp:141 Src/wptGPG.cpp:921
+#: Src/wptGPG.cpp:933 Src/wptGPG.cpp:943 Src/wptGPG.cpp:954
+#: Src/wptMainProc.cpp:346 Src/wptMainProc.cpp:519
msgid "WinPT Error"
msgstr "WinPT Fehler"
-#: Src/WinPT.cpp:228
+#: Src/WinPT.cpp:226
msgid "No useable secret key found."
msgstr "Kein benutzbarer geheimer Schlüssel gefunden."
-#: Src/WinPT.cpp:229 Src/wptKeyPropsDlg.cpp:357 Src/wptKeyPropsDlg.cpp:364
+#: Src/WinPT.cpp:227 Src/wptKeyPropsDlg.cpp:357 Src/wptKeyPropsDlg.cpp:364
msgid "WinPT Warning"
msgstr "WinPT Warnung"
-#: Src/WinPT.cpp:278
+#: Src/WinPT.cpp:276
msgid "Could not read GnuPG version."
msgstr "Konnte Version von GnuPG nicht auslesen."
-#: Src/WinPT.cpp:284
+#: Src/WinPT.cpp:282
#, c-format
msgid ""
"Sorry, you need a newer GPG version.\n"
@@ -65,11 +67,11 @@
"Sorry, Sie benötigen eine neuere Version von GPG.\n"
"Aktuelle Version von GPG %d.%d.%d benötigte Version von GPG "
-#: Src/WinPT.cpp:312
+#: Src/WinPT.cpp:310
msgid "Failed to create WinPT directory"
msgstr "Konnte WinPT-Verzeichnis nicht erstellen"
-#: Src/WinPT.cpp:313 Src/WinPT.cpp:330 Src/WinPT.cpp:341
+#: Src/WinPT.cpp:311 Src/WinPT.cpp:328 Src/WinPT.cpp:339
#: Src/wptKeyManagerDlg.cpp:996 Src/wptKeyserver.cpp:634
#: Src/wptKeyserverDlg.cpp:71 Src/wptKeyserverDlg.cpp:73
#: Src/wptKeyserverDlg.cpp:190 Src/wptKeyserverDlg.cpp:198
@@ -82,7 +84,7 @@
msgid "Keyserver"
msgstr "Schlüsselserver"
-#: Src/WinPT.cpp:329
+#: Src/WinPT.cpp:327
msgid "Failed to copy the keyserver.conf"
msgstr "Kopieren der keyserver.conf ist fehlgeschlagen"
@@ -154,15 +156,15 @@
msgid "Wipe Free Space"
msgstr "Freien Speicher Löschen"
-#: Src/WinPT.cpp:665
+#: Src/WinPT.cpp:664
msgid "Could not register window class"
msgstr "Konnte Fensterklasse nicht registrieren"
-#: Src/WinPT.cpp:679
+#: Src/WinPT.cpp:678
msgid "Could not create window"
msgstr "Konnte Fenster nicht erstellen"
-#: Src/WinPT.cpp:766
+#: Src/WinPT.cpp:765
msgid ""
"The keycache was not initialized or is empty.\n"
"Please check your GPG config (keyrings, pathes...)"
@@ -170,7 +172,7 @@
"Der Schlüsselcache wurde nicht initialisiert oder ist leer.\n"
"Bitte überprüfen Sie die Konfiguration von GPG (Schlüsselbunde, Pfade)"
-#: Src/WinPT.cpp:769
+#: Src/WinPT.cpp:768
msgid ""
"It seems that GPG is not configured properly.\n"
"Do you want to start the GPG preferences dialog?"
@@ -178,7 +180,7 @@
"GPG ist nicht richtig konfiguriert.\n"
"Den GPG-Einstellungsdialog starten?"
-#: Src/WinPT.cpp:788
+#: Src/WinPT.cpp:787
#, c-format
msgid ""
"Default key (from the GPG config file) could not be found.\n"
@@ -201,7 +203,7 @@
msgstr "Über GnuPG"
#: Src/wptAboutDlgs.cpp:89 Src/wptKeyManagerDlg.cpp:1890
-#: Src/wptMainProc.cpp:567
+#: Src/wptMainProc.cpp:568
msgid "About WinPT"
msgstr "Über WinPT"
@@ -260,7 +262,7 @@
msgid "&Help"
msgstr "&Hilfe"
-#: Src/wptCardDlg.cpp:149 Src/wptMainProc.cpp:394
+#: Src/wptCardDlg.cpp:149 Src/wptMainProc.cpp:395
msgid "Card Manager"
msgstr "Kartenmanager"
@@ -487,11 +489,11 @@
msgstr "PIN erfolgreich geändert."
# c:\oss\winpt-gpgme\src\wptCardEdit.cpp:315
-#: Src/wptCardEdit.cpp:329
+#: Src/wptCardEdit.cpp:332
msgid "Please insert the card and click OK or Cancel to abort."
msgstr "Bitte Karte einlegen und OK oder Abbrechen anclicken."
-#: Src/wptCardEdit.cpp:330
+#: Src/wptCardEdit.cpp:333
msgid "GPG Card Status"
msgstr "GPG Kartenstatus"
@@ -505,7 +507,7 @@
#: Src/wptClipDecryptDlg.cpp:60 Src/wptClipDecryptDlg.cpp:177
#: Src/wptKeyRevokersDlg.cpp:129 Src/wptKeyRevokersDlg.cpp:173
-#: Src/wptVerifyList.cpp:257 Src/wptVerifyList.cpp:317
+#: Src/wptVerifyList.cpp:257 Src/wptVerifyList.cpp:319
msgid "user ID not found"
msgstr "Benutzerkennung nicht gefunden"
@@ -575,22 +577,22 @@
#: Src/wptClipDecryptDlg.cpp:216 Src/wptClipVerifyDlg.cpp:154
#: Src/wptClipVerifyDlg.cpp:162 Src/wptClipVerifyDlg.cpp:191
#: Src/wptClipVerifyDlg.cpp:202 Src/wptClipVerifyDlg.cpp:220
-#: Src/wptClipVerifyDlg.cpp:232 Src/wptFileManager.cpp:1636
-#: Src/wptFileManager.cpp:1689 Src/wptFileManagerDlg.cpp:586
+#: Src/wptClipVerifyDlg.cpp:232 Src/wptFileManager.cpp:1670
+#: Src/wptFileManager.cpp:1723 Src/wptFileManagerDlg.cpp:586
#: Src/wptFileVerifyDlg.cpp:83 Src/wptFileVerifyDlg.cpp:150
#: Src/wptMainProc.cpp:208 Src/wptMainProc.cpp:224 Src/wptMainProc.cpp:234
-#: Src/wptMainProc.cpp:403
+#: Src/wptMainProc.cpp:404
msgid "Verify"
msgstr "Überprüfen"
#: Src/wptClipDecryptDlg.cpp:223 Src/wptClipDecryptDlg.cpp:236
#: Src/wptClipDecryptDlg.cpp:244 Src/wptClipDecryptDlg.cpp:251
-#: Src/wptClipDecryptDlg.cpp:253 Src/wptFileManager.cpp:1343
-#: Src/wptFileManager.cpp:1394
+#: Src/wptClipDecryptDlg.cpp:253 Src/wptFileManager.cpp:1377
+#: Src/wptFileManager.cpp:1428
msgid "Decryption"
msgstr "Entschlüsselung"
-#: Src/wptClipDecryptDlg.cpp:237 Src/wptFileManager.cpp:1395
+#: Src/wptClipDecryptDlg.cpp:237 Src/wptFileManager.cpp:1429
#, c-format
msgid ""
"Encrypted with %s key, ID 0x%s.%s\n"
@@ -638,12 +640,12 @@
#: Src/wptClipEditDlg.cpp:131 Src/wptClipEditDlg.cpp:171
#: Src/wptClipEditDlg.cpp:187 Src/wptClipEditDlg.cpp:257
#: Src/wptClipEditDlg.cpp:262 Src/wptFileManagerDlg.cpp:220
-#: Src/wptMainProc.cpp:193 Src/wptMainProc.cpp:244 Src/wptMainProc.cpp:416
-#: Src/wptMainProc.cpp:499 Src/wptMainProc.cpp:504
+#: Src/wptMainProc.cpp:193 Src/wptMainProc.cpp:244 Src/wptMainProc.cpp:417
+#: Src/wptMainProc.cpp:500 Src/wptMainProc.cpp:505 Src/wptVerifyList.cpp:232
msgid "Clipboard"
msgstr "Zwischenablage"
-#: Src/wptClipEditDlg.cpp:113 Src/wptFileManager.cpp:639
+#: Src/wptClipEditDlg.cpp:113 Src/wptFileManager.cpp:649
msgid "File Open"
msgstr "Datei öffnen"
@@ -696,7 +698,7 @@
msgid "&Decrypt"
msgstr "&Entschlüsseln"
-#: Src/wptClipEditDlg.cpp:221 Src/wptMainProc.cpp:561
+#: Src/wptClipEditDlg.cpp:221 Src/wptMainProc.cpp:562
msgid "Clipboard Editor"
msgstr "Zwischenablagen-Editor"
@@ -759,8 +761,8 @@
#: Src/wptClipSignDlg.cpp:157 Src/wptClipSignDlg.cpp:225
#: Src/wptClipSignDlg.cpp:229 Src/wptClipSignDlg.cpp:249
#: Src/wptClipSignDlg.cpp:260 Src/wptClipSignEncDlg.cpp:159
-#: Src/wptClipSignEncDlg.cpp:170 Src/wptFileManager.cpp:1153
-#: Src/wptFileManager.cpp:1169 Src/wptFileManager.cpp:1459
+#: Src/wptClipSignEncDlg.cpp:170 Src/wptFileManager.cpp:1187
+#: Src/wptFileManager.cpp:1203 Src/wptFileManager.cpp:1493
#: Src/wptMainProc.cpp:179
msgid "Signing"
msgstr "Signieren"
@@ -1081,14 +1083,14 @@
msgstr "Unbekannter Fehler=%d"
#: Src/wptFileManager.cpp:130 Src/wptFileManager.cpp:152
-#: Src/wptFileManager.cpp:158 Src/wptFileManager.cpp:199
-#: Src/wptFileManager.cpp:324 Src/wptFileManager.cpp:735
-#: Src/wptFileManager.cpp:880 Src/wptFileManager.cpp:995
-#: Src/wptFileManager.cpp:1545 Src/wptFileManager.cpp:1572
-#: Src/wptFileManager.cpp:1591 Src/wptFileManager.cpp:1841
-#: Src/wptFileManager.cpp:1903 Src/wptFileManagerDlg.cpp:529
+#: Src/wptFileManager.cpp:158 Src/wptFileManager.cpp:198
+#: Src/wptFileManager.cpp:324 Src/wptFileManager.cpp:746
+#: Src/wptFileManager.cpp:914 Src/wptFileManager.cpp:1029
+#: Src/wptFileManager.cpp:1579 Src/wptFileManager.cpp:1606
+#: Src/wptFileManager.cpp:1625 Src/wptFileManager.cpp:1877
+#: Src/wptFileManager.cpp:1939 Src/wptFileManagerDlg.cpp:529
#: Src/wptFileManagerDlg.cpp:633 Src/wptFileStatDlg.cpp:154
-#: Src/wptMainProc.cpp:392 Src/wptMDSumDlg.cpp:276 Src/wptMDSumDlg.cpp:281
+#: Src/wptMainProc.cpp:393 Src/wptMDSumDlg.cpp:276 Src/wptMDSumDlg.cpp:281
msgid "File Manager"
msgstr "Dateimanager"
@@ -1115,7 +1117,7 @@
msgstr "Konnte Dateiattribut nicht auf normal zurücksetzen"
# c:\oss\winpt-gpgme\src\wptFileManager.cpp:147
-#: Src/wptFileManager.cpp:195
+#: Src/wptFileManager.cpp:194
msgid ""
"Multi-Media files are already compressed, GPG would compress\n"
"them anyway and this takes a lot of time.\n"
@@ -1128,26 +1130,26 @@
"\n"
"Möchten Sie die Kompression ausschalten?"
-#: Src/wptFileManager.cpp:407 Src/wptKeyEditDlgs.cpp:1075
+#: Src/wptFileManager.cpp:414 Src/wptKeyEditDlgs.cpp:1075
#: Src/wptVerifyList.cpp:169
msgid "Status"
msgstr "Status"
-#: Src/wptFileManager.cpp:408 Src/wptKeyEditDlgs.cpp:1156
+#: Src/wptFileManager.cpp:415 Src/wptKeyEditDlgs.cpp:1156
#: Src/wptKeyRevokersDlg.cpp:57 Src/wptMDSumDlg.cpp:190
#: Src/wptVerifyList.cpp:168
msgid "Name"
msgstr "Name"
-#: Src/wptFileManager.cpp:409
+#: Src/wptFileManager.cpp:416
msgid "Operation"
msgstr "Prozess"
-#: Src/wptFileManager.cpp:734
+#: Src/wptFileManager.cpp:745
msgid "Please select a file."
msgstr "Bitte eine Datei auswählen."
-#: Src/wptFileManager.cpp:881
+#: Src/wptFileManager.cpp:915
#, c-format
msgid ""
"\"%s\" does not seems to be a text file.\n"
@@ -1156,62 +1158,62 @@
"\"%s\" scheint keine Text-Datei zu sein.\n"
"Möchten Sie wirklich diese Datei signieren?"
-#: Src/wptFileManager.cpp:996
+#: Src/wptFileManager.cpp:1030
#, c-format
msgid "\"%s\" does not exist"
msgstr "\"%s\" existiert nicht"
-#: Src/wptFileManager.cpp:1079 Src/wptFileStatDlg.cpp:283
+#: Src/wptFileManager.cpp:1113 Src/wptFileStatDlg.cpp:283
#: Src/wptFileStatDlg.cpp:287
msgid "File Status"
msgstr "Dateistatus"
-#: Src/wptFileManager.cpp:1123
+#: Src/wptFileManager.cpp:1156
msgid "Enter Filename for Encrypted File"
msgstr "Namen für die verschlüsselte Datei auswählen"
-#: Src/wptFileManager.cpp:1152
+#: Src/wptFileManager.cpp:1186
msgid "Could not get default secret key."
msgstr "Konnte den geheimen Standardschlüssel nicht finden."
-#: Src/wptFileManager.cpp:1183 Src/wptFileManager.cpp:1495
+#: Src/wptFileManager.cpp:1217 Src/wptFileManager.cpp:1529
#: Src/wptFileManagerDlg.cpp:584 Src/wptMainProc.cpp:156
-#: Src/wptMainProc.cpp:400 Src/wptMainProc.cpp:407
+#: Src/wptMainProc.cpp:401 Src/wptMainProc.cpp:408
msgid "Sign"
msgstr "Signieren"
-#: Src/wptFileManager.cpp:1196 Src/wptFileManagerDlg.cpp:582
-#: Src/wptMainProc.cpp:399 Src/wptMainProc.cpp:404
+#: Src/wptFileManager.cpp:1230 Src/wptFileManagerDlg.cpp:582
+#: Src/wptMainProc.cpp:400 Src/wptMainProc.cpp:405
msgid "Encrypt"
msgstr "Verschlüsseln"
-#: Src/wptFileManager.cpp:1223 Src/wptSymEnc.cpp:72 Src/wptSymEnc.cpp:92
+#: Src/wptFileManager.cpp:1257 Src/wptSymEnc.cpp:72 Src/wptSymEnc.cpp:92
msgid "Symmetric Encryption"
msgstr "Symmetrisch verschlüsseln"
-#: Src/wptFileManager.cpp:1256 Src/wptFileManager.cpp:1261
-#: Src/wptMainProc.cpp:398 Src/wptMainProc.cpp:408
+#: Src/wptFileManager.cpp:1290 Src/wptFileManager.cpp:1295
+#: Src/wptMainProc.cpp:399 Src/wptMainProc.cpp:409
msgid "Symmetric"
msgstr "Symmetrisch"
-#: Src/wptFileManager.cpp:1261
+#: Src/wptFileManager.cpp:1295
msgid "Encryption failed."
msgstr "Verschlüsselung fehlgeschlagen."
-#: Src/wptFileManager.cpp:1352
+#: Src/wptFileManager.cpp:1386
msgid "Choose Filename for Output"
msgstr "Wählen Sie einen Namen für die Ausgabedatei"
-#: Src/wptFileManager.cpp:1361
+#: Src/wptFileManager.cpp:1395
msgid "Enter Filename for Plaintext File"
msgstr "Namen für die Klartext-Datei auswählen"
-#: Src/wptFileManager.cpp:1403 Src/wptFileManager.cpp:1423
+#: Src/wptFileManager.cpp:1437 Src/wptFileManager.cpp:1457
#: Src/wptFileManagerDlg.cpp:583
msgid "Decrypt"
msgstr "Entschlüsseln"
-#: Src/wptFileManager.cpp:1409
+#: Src/wptFileManager.cpp:1443
#, c-format
msgid ""
"Decryption failed.\n"
@@ -1220,7 +1222,7 @@
"Entshlüsselung fehlgeschlagen.\n"
"%s: existiert nicht."
-#: Src/wptFileManager.cpp:1424
+#: Src/wptFileManager.cpp:1458
#, c-format
msgid ""
"The original file name is '%s'.\n"
@@ -1231,32 +1233,32 @@
"\n"
"Wollen Sie diesen anstatt von '%s' benutzen?"
-#: Src/wptFileManager.cpp:1472
+#: Src/wptFileManager.cpp:1506
msgid "Enter Filename for Signed File"
msgstr "Namen für die signierte Datei auswählen"
-#: Src/wptFileManager.cpp:1571
+#: Src/wptFileManager.cpp:1605
msgid "Could not find detached signature in the clipboard."
msgstr "Konnte abgetrennte Signatur in der Zwischenablage nicht finden."
# c:\oss\winpt-gpgme\src\wptFileManager.cpp:1362
-#: Src/wptFileManager.cpp:1591
+#: Src/wptFileManager.cpp:1625
msgid "No files to check."
msgstr "Keine Datei(en) zu prüfen."
-#: Src/wptFileManager.cpp:1608
+#: Src/wptFileManager.cpp:1642
msgid "Select Data File"
msgstr "Bitte Datendatei auswählen"
-#: Src/wptFileManager.cpp:1610
+#: Src/wptFileManager.cpp:1644
msgid "Selected Output File"
msgstr "Bitte Ausgabedatei auswählen"
-#: Src/wptFileManager.cpp:1636
+#: Src/wptFileManager.cpp:1670
msgid "Invalid file name. Exit"
msgstr "Ungültiger Dateiname. Abbruch"
-#: Src/wptFileManager.cpp:1734 Src/wptFileManager.cpp:1745
+#: Src/wptFileManager.cpp:1770 Src/wptFileManager.cpp:1781
#: Src/wptFileManagerDlg.cpp:245 Src/wptImportList.cpp:404
#: Src/wptImportList.cpp:411 Src/wptImportList.cpp:421
#: Src/wptImportList.cpp:429 Src/wptImportList.cpp:438
@@ -1266,7 +1268,7 @@
msgid "Import"
msgstr "Importieren"
-#: Src/wptFileManager.cpp:1742
+#: Src/wptFileManager.cpp:1778
msgid ""
"Key without a self signature was dectected!\n"
"(This key is NOT usable for encryption, etc)\n"
@@ -1278,58 +1280,58 @@
"\n"
"Kann diese(n) Schlüssel nicht importieren!"
-#: Src/wptFileManager.cpp:1768 Src/wptKeyManager.cpp:282
+#: Src/wptFileManager.cpp:1804 Src/wptKeyManager.cpp:282
#: Src/wptKeyManager.cpp:325 Src/wptKeyManager.cpp:360
msgid "No key was selected for export."
msgstr "Kein Schlüssel zum Exportieren ausgewählt."
-#: Src/wptFileManager.cpp:1769 Src/wptFileManager.cpp:1792
+#: Src/wptFileManager.cpp:1805 Src/wptFileManager.cpp:1828
#: Src/wptKeyserverDlg.cpp:93
msgid "Export"
msgstr "Export"
-#: Src/wptFileManager.cpp:1777 Src/wptKeyManagerDlg.cpp:1850
+#: Src/wptFileManager.cpp:1813 Src/wptKeyManagerDlg.cpp:1850
#: Src/wptKeyManagerDlg.cpp:1882
msgid "Choose Name for Key File"
msgstr "Den Namen der Schlüsseldatei wählen"
-#: Src/wptFileManager.cpp:1796 Src/wptKeyEditDlgs.cpp:1055
+#: Src/wptFileManager.cpp:1832 Src/wptKeyEditDlgs.cpp:1055
#: Src/wptKeyEditDlgs.cpp:1314 Src/wptKeyEditDlgs.cpp:1386
#: Src/wptKeyserverDlg.cpp:105
msgid "GnuPG status"
msgstr "GnuPG-Status"
-#: Src/wptFileManager.cpp:1796
+#: Src/wptFileManager.cpp:1832
#, c-format
msgid "Finished (Output: %s)"
msgstr "Fertig (Ausgabe: %s)"
-#: Src/wptFileManager.cpp:1842
+#: Src/wptFileManager.cpp:1878
#, c-format
msgid "%s: no valid OpenPGP data found."
msgstr "%s: keine gültigen OpenPGP-Daten gefunden."
-#: Src/wptFileManager.cpp:1902
+#: Src/wptFileManager.cpp:1938
msgid "Encrypting into a ZIP archive makes sense with multiple files"
msgstr "Verschlüsseln in eine ZIP-Datei macht nur mit mehreren Dateien Sinn"
-#: Src/wptFileManager.cpp:1907
+#: Src/wptFileManager.cpp:1943
msgid "Choose File Name for Output"
msgstr "Wählen Sie einen Namen für die Ausgabedatei"
-#: Src/wptFileManager.cpp:1979
+#: Src/wptFileManager.cpp:2015
msgid "Choose a Name for the Archive"
msgstr "Wählen Sie den Namen für das Archiv"
-#: Src/wptFileManager.cpp:1982
+#: Src/wptFileManager.cpp:2018
msgid "Invalid archive name. Exit."
msgstr "Ungültiger Archivename. Abbruch."
-#: Src/wptFileManager.cpp:1983 Src/wptFileManager.cpp:1991
+#: Src/wptFileManager.cpp:2019 Src/wptFileManager.cpp:2027
msgid "Encrypt Directory"
msgstr "Verzeichnis verschlüsseln"
-#: Src/wptFileManager.cpp:1990
+#: Src/wptFileManager.cpp:2026
msgid "Could not create zip archive."
msgstr "Konnte ZIP-Datei nicht erstellen."
@@ -1433,13 +1435,13 @@
msgid "%d Object(s) marked"
msgstr "%d Objekt(e) markiert"
-#: Src/wptFileManagerDlg.cpp:495 Src/wptMainProc.cpp:531
+#: Src/wptFileManagerDlg.cpp:495 Src/wptMainProc.cpp:532
msgid "File Manager (use drag & drop to add files)"
msgstr "Dateimanager (Drag & Drop möglich)"
#: Src/wptFileManagerDlg.cpp:499 Src/wptKeyManagerDlg.cpp:967
#: Src/wptKeyManagerDlg.cpp:972 Src/wptKeyManagerDlg.cpp:983
-#: Src/wptMainProc.cpp:395
+#: Src/wptMainProc.cpp:396
msgid "Edit"
msgstr "Bearbeiten"
@@ -1457,7 +1459,7 @@
msgstr "&Signieren"
#: Src/wptFileManagerDlg.cpp:506 Src/wptFileManagerDlg.cpp:585
-#: Src/wptMainProc.cpp:401 Src/wptMainProc.cpp:405
+#: Src/wptMainProc.cpp:402 Src/wptMainProc.cpp:406
msgid "Sign && Encrypt"
msgstr "Signieren && Verschlüsseln"
@@ -1477,13 +1479,13 @@
msgid "E&xport"
msgstr "E&xportieren"
-#: Src/wptFileManagerDlg.cpp:511 Src/wptMainProc.cpp:397
+#: Src/wptFileManagerDlg.cpp:511 Src/wptMainProc.cpp:398
msgid "Exit"
msgstr "Beenden"
#: Src/wptFileManagerDlg.cpp:512
msgid "&Reset"
-msgstr "&Reset"
+msgstr "&Aufräumen"
# c:\oss\winpt-gpgme\src\wptFileManagerDlg.cpp:421
#: Src/wptFileManagerDlg.cpp:513
@@ -1611,7 +1613,7 @@
msgstr "WinPT Erster Start"
# c:\oss\winpt-gpgme\src\wptGPG.cpp:728
-#: Src/wptGPG.cpp:844
+#: Src/wptGPG.cpp:839
msgid ""
"The selected keyring has the read-only file\n"
"attribute. In this state you do not have write\n"
@@ -1621,19 +1623,19 @@
"In diesem Zustand kann nichts gespeichert werden\n"
"Wollen Sie das Attribut zurücksetzen?"
-#: Src/wptGPG.cpp:847
+#: Src/wptGPG.cpp:842
msgid "GPG Information"
msgstr "GPG Information"
-#: Src/wptGPG.cpp:851
+#: Src/wptGPG.cpp:846
msgid "Could not reset read-only state."
msgstr "Konnte den Nur-Lesen Zustand nicht zurücksetzen."
-#: Src/wptGPG.cpp:852
+#: Src/wptGPG.cpp:847
msgid "GPG Error"
msgstr "GPG Fehler"
-#: Src/wptGPG.cpp:864
+#: Src/wptGPG.cpp:859
msgid ""
"You do not have file access to modify the contents of\n"
"one or both of the selected keyrings.\n"
@@ -1647,22 +1649,22 @@
"Die Schlüsselbunde sind im Nur-Lesen-Modus, was meistens der Fall ist, \n"
"wenn ein anderes Programm auf die Schlüsselbunde zugreift.\n"
-#: Src/wptGPG.cpp:869
+#: Src/wptGPG.cpp:864
msgid "GPG Warning"
msgstr "GPG Warnung"
-#: Src/wptGPG.cpp:893 Src/wptGPGPrefsDlg.cpp:222 Src/wptGPGPrefsDlg.cpp:228
+#: Src/wptGPG.cpp:888 Src/wptGPGPrefsDlg.cpp:222 Src/wptGPGPrefsDlg.cpp:228
#: Src/wptGPGPrefsDlg.cpp:234 Src/wptGPGPrefsDlg.cpp:240
#: Src/wptGPGPrefsDlg.cpp:245 Src/wptGPGPrefsDlg.cpp:250
#: Src/wptGPGPrefsDlg.cpp:256 Src/wptGPGPrefsDlg.cpp:270
-#: Src/wptKeyEditDlgs.cpp:1713 Src/wptMainProc.cpp:418
+#: Src/wptKeyEditDlgs.cpp:1713 Src/wptMainProc.cpp:419
#: Src/wptPreferencesDlg.cpp:225 Src/wptPreferencesDlg.cpp:270
#: Src/wptPreferencesDlg.cpp:282 Src/wptPreferencesDlg.cpp:295
-#: Src/wptPreferencesDlg.cpp:326 Src/wptRegistry.cpp:595
+#: Src/wptPreferencesDlg.cpp:326 Src/wptRegistry.cpp:599
msgid "Preferences"
msgstr "Einstellungen"
-#: Src/wptGPG.cpp:894
+#: Src/wptGPG.cpp:889
#, c-format
msgid ""
"%s does not exit.\n"
@@ -1671,41 +1673,41 @@
"%s existiert nicht.\n"
"Möchten Sie dieses Verzeichnis erstellen?"
-#: Src/wptGPG.cpp:922
+#: Src/wptGPG.cpp:917
msgid "Please choose your Public Keyring"
msgstr "Bitte wählen Sie Ihren öffentlichen Schlüsselbund."
-#: Src/wptGPG.cpp:925 Src/wptGPG.cpp:947
+#: Src/wptGPG.cpp:920 Src/wptGPG.cpp:942
msgid "No keyring was chosen. Exit."
msgstr "Kein Schlüsselbund ausgewählt. Abbruch."
-#: Src/wptGPG.cpp:932
+#: Src/wptGPG.cpp:927
msgid "Overwrite old public keyring?"
msgstr "Alten öff. Schlüsselbund überschreiben?"
-#: Src/wptGPG.cpp:938 Src/wptGPG.cpp:959
+#: Src/wptGPG.cpp:933 Src/wptGPG.cpp:954
msgid "Could not copy file."
msgstr "Datei konnte nicht kopiert werden"
-#: Src/wptGPG.cpp:944
+#: Src/wptGPG.cpp:939
msgid "Please choose your Secret Keyring"
msgstr "Bitte wählen Sie Ihren geheimen Schlüsselbund"
-#: Src/wptGPG.cpp:953
+#: Src/wptGPG.cpp:948
msgid "Overwrite old secret keyring?"
msgstr "Alten geheimen Schlüsselbund überschreiben?"
-#: Src/wptGPG.cpp:999 Src/wptGPG.cpp:1088 Src/wptGPG.cpp:1101
+#: Src/wptGPG.cpp:994 Src/wptGPG.cpp:1083 Src/wptGPG.cpp:1096
msgid "Backup"
msgstr "Sicherung"
-#: Src/wptGPG.cpp:999
+#: Src/wptGPG.cpp:994
#, c-format
msgid "Backup keyring \"%s\" failed"
msgstr "Schlüsselbundsicherung \"%s\" fehlgeschlagen"
# c:\oss\winpt-gpgme\src\wptGPG.cpp:1021
-#: Src/wptGPG.cpp:1089
+#: Src/wptGPG.cpp:1084
#, c-format
msgid ""
"The backup drive '%s' does not seems to be accessable.\n"
@@ -1714,44 +1716,44 @@
"Kann auf das Backup-Laufwerk '%s' nicht zugreifen.\n"
"Bitte aktivieren/überprüfen sie das Laufwerk um Fortzufahren."
-#: Src/wptGPG.cpp:1101
+#: Src/wptGPG.cpp:1096
#, c-format
msgid "Invalid backup mode %d"
msgstr "Ungültiger Sicherungsmethode %d"
-#: Src/wptGPGME.cpp:281
+#: Src/wptGPGME.cpp:284
msgid "Error during verification process"
msgstr "Fehler während Verifikation"
-#: Src/wptGPGME.cpp:282
+#: Src/wptGPGME.cpp:285
msgid "The signature is good"
msgstr "Die Signatur is gut"
-#: Src/wptGPGME.cpp:283
+#: Src/wptGPGME.cpp:286
msgid "The signature is BAD!"
msgstr "Die Signatur ist nicht gültig!"
-#: Src/wptGPGME.cpp:284
+#: Src/wptGPGME.cpp:287
msgid "The signature could not be checked due to a missing key"
msgstr "Die Signature konnte durch fehlenden Key nicht geprüft werden"
-#: Src/wptGPGME.cpp:285
+#: Src/wptGPGME.cpp:288
msgid "No valid OpenPGP signature"
msgstr "Keine gültige OpenPGP Signatur"
-#: Src/wptGPGME.cpp:286
+#: Src/wptGPGME.cpp:289
msgid "Signature Error"
msgstr "Fehler in Signatur"
-#: Src/wptGPGME.cpp:287
+#: Src/wptGPGME.cpp:290
msgid "Good signature (Expired Key)"
msgstr "Gültige Signature (Abgelaufener Schlüssel)"
-#: Src/wptGPGME.cpp:288
+#: Src/wptGPGME.cpp:291
msgid "Good signature (Revoked Key)"
msgstr "Gültige Signatur (Widerrufener Schlüssel)"
-#: Src/wptGPGME.cpp:289
+#: Src/wptGPGME.cpp:292
msgid "Good signature (Expired)"
msgstr "Gültige Signature (Abgelaufen)"
@@ -1799,7 +1801,7 @@
"Sind Sie sicher?"
#: Src/wptGPGPrefsDlg.cpp:152 Src/wptKeyManagerDlg.cpp:1812
-#: Src/wptMainProc.cpp:579
+#: Src/wptMainProc.cpp:580
msgid "GnuPG Preferences"
msgstr "GnuPG-Einstellungen"
@@ -1907,7 +1909,7 @@
#: Src/wptKeyManagerDlg.cpp:1950 Src/wptKeyManagerDlg.cpp:2064
#: Src/wptKeysigDlg.cpp:94 Src/wptKeysigDlg.cpp:106 Src/wptKeysigDlg.cpp:317
#: Src/wptKeysigDlg.cpp:389 Src/wptKeysigDlg.cpp:399 Src/wptKeysigDlg.cpp:442
-#: Src/wptMainProc.cpp:393 Src/wptMainProc.cpp:542 Src/wptMainProc.cpp:550
+#: Src/wptMainProc.cpp:394 Src/wptMainProc.cpp:543 Src/wptMainProc.cpp:551
msgid "Key Manager"
msgstr "Schlüsselverwaltung"
@@ -3473,7 +3475,7 @@
msgid "Keyserver Access"
msgstr "Schlüsselserver-Zugriff"
-#: Src/wptKeyManagerDlg.cpp:1806 Src/wptMainProc.cpp:573
+#: Src/wptKeyManagerDlg.cpp:1806 Src/wptMainProc.cpp:574
#: Src/wptPreferencesDlg.cpp:139
msgid "WinPT Preferences"
msgstr "WinPT Einstellungen"
@@ -3525,7 +3527,7 @@
msgstr "(Implizites) Absolutes Vertrauen"
#: Src/wptKeyPropsDlg.cpp:72 Src/wptVerifyList.cpp:246
-#: Src/wptVerifyList.cpp:309
+#: Src/wptVerifyList.cpp:311
msgid "Unknown"
msgstr "Unbekannt"
@@ -3697,7 +3699,7 @@
msgid "Could not save keyserver.conf file"
msgstr "Konnte keyserver.conf Datei nicht speichern"
-#: Src/wptKeyserver.cpp:678
+#: Src/wptKeyserver.cpp:718
msgid ""
"Invalid proxy configuration. You need to set a user and a password to use "
"proxy authentication!"
@@ -3705,11 +3707,11 @@
"Ungültige Proxy-Konfiguration. Sie müssen einen Benutzernamen und ein "
"Passwort setzen, um Proxy-Authentifizierung nutzen zu können!"
-#: Src/wptKeyserver.cpp:681
+#: Src/wptKeyserver.cpp:721
msgid "Proxy Error"
msgstr "Proxyfehler"
-#: Src/wptKeyserver.cpp:706
+#: Src/wptKeyserver.cpp:746
msgid ""
"All entries of this file must have a valid prefix.\n"
"Currently HKP/HTTP, LDAP and FINGER are supported.\n"
@@ -3717,16 +3719,16 @@
"Alle Eintraäge in dieser Datei müssen über einen gültigen Präfix verfügen.\n"
"Aktuell werden HKP/HTTP, LDAP and FINGER unterstützt.\n"
-#: Src/wptKeyserver.cpp:708
+#: Src/wptKeyserver.cpp:748
msgid "Keyserver Error"
msgstr "Schlüsselserver-Fehler"
# c:\oss\winpt-gpgme\src\wptKeyserver.cpp:548
-#: Src/wptKeyserver.cpp:727
+#: Src/wptKeyserver.cpp:767
msgid "The keyserver limit is exceeded"
msgstr "Das Limit der Keyserver wurde erreicht"
-#: Src/wptKeyserver.cpp:728
+#: Src/wptKeyserver.cpp:768
msgid "Keyserver Warning"
msgstr "Keyserver Warnung"
@@ -3868,11 +3870,11 @@
msgid "&Edit"
msgstr "&Edtieren"
-#: Src/wptKeyserverDlg.cpp:696 Src/wptProxySettingsDlg.cpp:73
-#: Src/wptProxySettingsDlg.cpp:83 Src/wptProxySettingsDlg.cpp:88
-#: Src/wptProxySettingsDlg.cpp:95 Src/wptProxySettingsDlg.cpp:100
-#: Src/wptProxySettingsDlg.cpp:105 Src/wptProxySettingsDlg.cpp:164
-#: Src/wptProxySettingsDlg.cpp:199
+#: Src/wptKeyserverDlg.cpp:696 Src/wptProxySettingsDlg.cpp:103
+#: Src/wptProxySettingsDlg.cpp:113 Src/wptProxySettingsDlg.cpp:118
+#: Src/wptProxySettingsDlg.cpp:125 Src/wptProxySettingsDlg.cpp:130
+#: Src/wptProxySettingsDlg.cpp:135 Src/wptProxySettingsDlg.cpp:194
+#: Src/wptProxySettingsDlg.cpp:229
msgid "Proxy Settings"
msgstr "Proxy-Einstellungen"
@@ -4163,38 +4165,38 @@
msgid "Unknown OpenPGP type."
msgstr "Unbekannter OpenPGP-Typ."
-#: Src/wptMainProc.cpp:344
+#: Src/wptMainProc.cpp:345
msgid "Could not set current window mode hooks."
msgstr "Konnte \"Current Window\" Hooks nicht setzen."
-#: Src/wptMainProc.cpp:396
+#: Src/wptMainProc.cpp:397
msgid "About..."
msgstr "Über..."
-#: Src/wptMainProc.cpp:402 Src/wptMainProc.cpp:406
+#: Src/wptMainProc.cpp:403 Src/wptMainProc.cpp:407
msgid "Decrypt/Verify"
msgstr "Entschlüsseln/Überprüfen"
# c:\oss\winpt-gpgme\src\wptMainProc.cpp:414
-#: Src/wptMainProc.cpp:417
+#: Src/wptMainProc.cpp:418
msgid "Current Window"
msgstr "Aktuelles Fenster"
-#: Src/wptMainProc.cpp:475
+#: Src/wptMainProc.cpp:476
msgid "Remove all passphrases from cache?"
msgstr "Alle Passwörter aus Zwischenspeicher entfernen?"
-#: Src/wptMainProc.cpp:476 Src/wptProgressDlg.cpp:135 Src/wptRegistry.cpp:198
+#: Src/wptMainProc.cpp:477 Src/wptProgressDlg.cpp:136 Src/wptRegistry.cpp:274
msgid "WinPT"
msgstr "WinPT"
-#: Src/wptMainProc.cpp:486
+#: Src/wptMainProc.cpp:487
msgid "Could not access public keyring, exit WinPT?"
msgstr ""
"Auf den öffentlichen Schlüsselbund kann nicht zugegriffen werden.\n"
"WinPT beenden?"
-#: Src/wptMainProc.cpp:519
+#: Src/wptMainProc.cpp:520
#, c-format
msgid ""
"Make sure that the window contains text.\n"
@@ -4496,73 +4498,73 @@
msgid "Could not create progress thread."
msgstr "Konnte Fortschrittsthread nicht erstellen."
-#: Src/wptProxySettingsDlg.cpp:73
+#: Src/wptProxySettingsDlg.cpp:103
msgid "Invalid host/IP address."
msgstr "Ungültige IP-Adresse."
-#: Src/wptProxySettingsDlg.cpp:82
+#: Src/wptProxySettingsDlg.cpp:112
msgid "Please enter the proxy hostname."
msgstr "Bitte geben Sie den Proxy-Hostnamen ein."
-#: Src/wptProxySettingsDlg.cpp:88
+#: Src/wptProxySettingsDlg.cpp:118
msgid "Invalid port number."
msgstr "Ungültige Portnummer."
-#: Src/wptProxySettingsDlg.cpp:94
+#: Src/wptProxySettingsDlg.cpp:124
msgid "Please select a value from 0-65535 for the port"
msgstr "Bitte geben Sie für den Port einen Wert von 0-65535 ein"
-#: Src/wptProxySettingsDlg.cpp:99
+#: Src/wptProxySettingsDlg.cpp:129
msgid "When you want to use authentication, please fill out both fields."
msgstr ""
"Wenn Sie Authentifizierung nutzen wollen, füllen Sie bitte beide Felder aus."
-#: Src/wptProxySettingsDlg.cpp:104
+#: Src/wptProxySettingsDlg.cpp:134
msgid "Please enter a host name and a port."
msgstr "Bitte geben Sie den Hostname und Port ein."
-#: Src/wptProxySettingsDlg.cpp:158
+#: Src/wptProxySettingsDlg.cpp:188
msgid "Proxy host name or IP address"
msgstr "Proxy Rechnername oder IP Adresse"
-#: Src/wptProxySettingsDlg.cpp:159
+#: Src/wptProxySettingsDlg.cpp:189
msgid "Server requires &authentication"
msgstr "Server benötigt &Authentifikation"
-#: Src/wptProxySettingsDlg.cpp:160
+#: Src/wptProxySettingsDlg.cpp:190
msgid "User name"
msgstr "Benutzername"
-#: Src/wptProxySettingsDlg.cpp:161
+#: Src/wptProxySettingsDlg.cpp:191
msgid "Password"
msgstr "Passwort"
-#: Src/wptProxySettingsDlg.cpp:162
+#: Src/wptProxySettingsDlg.cpp:192
msgid "Proxy type"
msgstr "Proxy-Type"
-#: Src/wptProxySettingsDlg.cpp:163
+#: Src/wptProxySettingsDlg.cpp:193
msgid "Authentication"
msgstr "Authentifizierung"
# c:\oss\winpt-gpgme\src\wptProxySettingsDlg.cpp:156
-#: Src/wptProxySettingsDlg.cpp:198
+#: Src/wptProxySettingsDlg.cpp:228
msgid "Please fill out all required fields for authentication."
msgstr "Bitte füllen Sie alle benötigen Felder für die Authentifizierung aus."
-#: Src/wptRegistry.cpp:160
+#: Src/wptRegistry.cpp:225
msgid "GPG Detached Signature"
msgstr "GPG abgetrennte Signatur"
-#: Src/wptRegistry.cpp:161
+#: Src/wptRegistry.cpp:226
msgid "GPG Encrypted Data"
msgstr "GPG verschlüsselte Daten"
-#: Src/wptRegistry.cpp:162
+#: Src/wptRegistry.cpp:227
msgid "GPG Armored Data"
msgstr "GPG ASCII-Geschützte Daten"
-#: Src/wptRegistry.cpp:196
+#: Src/wptRegistry.cpp:272
msgid ""
"WinPT can register some GPG file types for you so they can be processed with "
"a double click in the explorer.\n"
@@ -4572,11 +4574,11 @@
"Doppelklick im Explorer öffnen können.\n"
"Möchten Sie fortfahren?"
-#: Src/wptRegistry.cpp:204
+#: Src/wptRegistry.cpp:280
msgid "WinPT WARNING"
msgstr "WinPT WARNUNG"
-#: Src/wptRegistry.cpp:205
+#: Src/wptRegistry.cpp:281
#, c-format
msgid ""
"It seems there was already a '%s' file type registered by another "
@@ -4586,7 +4588,7 @@
"Der Dateityp '%s' scheint mit einer anderen Anwendung verknüpft zu sein.\n"
"Vorhandenen Eintrag überschreiben?"
-#: Src/wptRegistry.cpp:595
+#: Src/wptRegistry.cpp:599
msgid "Could not write to Registry."
msgstr "Konnte Werte in der Registrierung nicht speichern."
Modified: trunk/Po/jp.po
===================================================================
--- trunk/Po/jp.po 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Po/jp.po 2006-10-21 18:08:57 UTC (rev 270)
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: WinPT 0.10.2\n"
"Report-Msgid-Bugs-To: winpt at freakmail.de\n"
-"POT-Creation-Date: 2006-08-30 14:04+0200\n"
+"POT-Creation-Date: 2006-10-21 19:58+0200\n"
"PO-Revision-Date: 2005-12-22 07:28+0100\n"
"Last-Translator: Davar Pishva <dpishva at andrew.cmu.edu>\n"
"Language-Team: jp <jp at li.org>\n"
@@ -21,7 +21,7 @@
"gpg.confÌÈÄàêÂp[^ª¶ÝµÄ¢È¢t@CðwèµÜ·B"
# c:\oss\winpt\src\wptErrors.cpp:93
-#: Src/WinPT.cpp:196
+#: Src/WinPT.cpp:197
msgid "Could not create GPG home directory"
msgstr "GPGz[fBNgð쬷é±ÆªÅ«Ü¹ñŵ½B"
@@ -36,34 +36,34 @@
# c:\oss\winpt\src\wptGPG.cpp:886 c:\oss\winpt\src\wptGPG.cpp:896
# c:\oss\winpt\src\wptGPGME.cpp:175 c:\oss\winpt\src\wptMainProc.cpp:337
# c:\oss\winpt\src\wptMainProc.cpp:509
-#: Src/WinPT.cpp:197 Src/WinPT.cpp:279 Src/WinPT.cpp:283 Src/WinPT.cpp:484
+#: Src/WinPT.cpp:198 Src/WinPT.cpp:277 Src/WinPT.cpp:281 Src/WinPT.cpp:484
#: Src/WinPT.cpp:493 Src/WinPT.cpp:500 Src/WinPT.cpp:540 Src/WinPT.cpp:568
-#: Src/WinPT.cpp:577 Src/WinPT.cpp:581 Src/WinPT.cpp:598 Src/WinPT.cpp:666
-#: Src/WinPT.cpp:679 Src/WinPT.cpp:726 Src/WinPT.cpp:768 Src/WinPT.cpp:787
-#: Src/wptCommonDlg.cpp:224 Src/wptErrors.cpp:141 Src/wptGPG.cpp:926
-#: Src/wptGPG.cpp:938 Src/wptGPG.cpp:948 Src/wptGPG.cpp:959
-#: Src/wptMainProc.cpp:345 Src/wptMainProc.cpp:518
+#: Src/WinPT.cpp:577 Src/WinPT.cpp:581 Src/WinPT.cpp:598 Src/WinPT.cpp:665
+#: Src/WinPT.cpp:678 Src/WinPT.cpp:725 Src/WinPT.cpp:767 Src/WinPT.cpp:786
+#: Src/wptCommonDlg.cpp:224 Src/wptErrors.cpp:141 Src/wptGPG.cpp:921
+#: Src/wptGPG.cpp:933 Src/wptGPG.cpp:943 Src/wptGPG.cpp:954
+#: Src/wptMainProc.cpp:346 Src/wptMainProc.cpp:519
msgid "WinPT Error"
msgstr "WinPT G["
# c:\oss\winpt\src\wptGPG.cpp:178
-#: Src/WinPT.cpp:228
+#: Src/WinPT.cpp:226
msgid "No useable secret key found."
msgstr "gpÅ«é駮ª©Â©èܹñŵ½B"
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:173
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:180
-#: Src/WinPT.cpp:229 Src/wptKeyPropsDlg.cpp:357 Src/wptKeyPropsDlg.cpp:364
+#: Src/WinPT.cpp:227 Src/wptKeyPropsDlg.cpp:357 Src/wptKeyPropsDlg.cpp:364
msgid "WinPT Warning"
msgstr "WinPT x"
# c:\oss\winpt\src\WinPT.cpp:155
-#: Src/WinPT.cpp:278
+#: Src/WinPT.cpp:276
msgid "Could not read GnuPG version."
msgstr "GnuPGo[WîñðÇޱƪūܹñŵ½B"
# c:\oss\winpt\src\WinPT.cpp:161
-#: Src/WinPT.cpp:284
+#: Src/WinPT.cpp:282
#, c-format
msgid ""
"Sorry, you need a newer GPG version.\n"
@@ -73,7 +73,7 @@
"KvƳêÄ¢éo[Wª %d.%d.%d Å·B"
# c:\oss\winpt\src\wptErrors.cpp:93
-#: Src/WinPT.cpp:312
+#: Src/WinPT.cpp:310
msgid "Failed to create WinPT directory"
msgstr "WinPTfBNgð쬷é±ÆªÅ«Ü¹ñŵ½B"
@@ -92,7 +92,7 @@
# c:\oss\winpt\src\wptKeyserverDlg.cpp:420
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:72
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:115
-#: Src/WinPT.cpp:313 Src/WinPT.cpp:330 Src/WinPT.cpp:341
+#: Src/WinPT.cpp:311 Src/WinPT.cpp:328 Src/WinPT.cpp:339
#: Src/wptKeyManagerDlg.cpp:996 Src/wptKeyserver.cpp:634
#: Src/wptKeyserverDlg.cpp:71 Src/wptKeyserverDlg.cpp:73
#: Src/wptKeyserverDlg.cpp:190 Src/wptKeyserverDlg.cpp:198
@@ -107,7 +107,7 @@
# c:\oss\winpt\src\wptKeyserverDlg.cpp:370
# c:\oss\winpt\src\wptKeyserverDlg.cpp:395
-#: Src/WinPT.cpp:329
+#: Src/WinPT.cpp:327
msgid "Failed to copy the keyserver.conf"
msgstr "keyserver.confÌt@CRs[ɸsµÜµ½B"
@@ -179,17 +179,17 @@
msgstr "J«ÌæðæèÁ·"
# c:\oss\winpt\src\WinPT.cpp:382
-#: Src/WinPT.cpp:665
+#: Src/WinPT.cpp:664
msgid "Could not register window class"
msgstr "EBhÌNXðo^·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\WinPT.cpp:395
-#: Src/WinPT.cpp:679
+#: Src/WinPT.cpp:678
msgid "Could not create window"
msgstr "EBhð쬷é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\WinPT.cpp:461
-#: Src/WinPT.cpp:766
+#: Src/WinPT.cpp:765
msgid ""
"The keycache was not initialized or is empty.\n"
"Please check your GPG config (keyrings, pathes...)"
@@ -198,7 +198,7 @@
"GPG±¤¹¢ (L[O, pXÈÇ...) ð`FbNµÄ¾³¢B"
# c:\oss\winpt\src\WinPT.cpp:464
-#: Src/WinPT.cpp:769
+#: Src/WinPT.cpp:768
msgid ""
"It seems that GPG is not configured properly.\n"
"Do you want to start the GPG preferences dialog?"
@@ -207,7 +207,7 @@
"GPGJX^ÝèðÀsµÜ·H"
# c:\oss\winpt\src\WinPT.cpp:480
-#: Src/WinPT.cpp:788
+#: Src/WinPT.cpp:787
#, c-format
msgid ""
"Default key (from the GPG config file) could not be found.\n"
@@ -235,7 +235,7 @@
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:1152
# c:\oss\winpt\src\wptMainProc.cpp:560
#: Src/wptAboutDlgs.cpp:89 Src/wptKeyManagerDlg.cpp:1890
-#: Src/wptMainProc.cpp:567
+#: Src/wptMainProc.cpp:568
msgid "About WinPT"
msgstr "WinPTÉ¢Ä"
@@ -297,7 +297,7 @@
# c:\oss\winpt\src\WinPT.cpp:340 c:\oss\winpt\src\wptCardDlg.cpp:98
# c:\oss\winpt\src\wptCardDlg.cpp:125 c:\oss\winpt\src\wptMainProc.cpp:389
-#: Src/wptCardDlg.cpp:149 Src/wptMainProc.cpp:394
+#: Src/wptCardDlg.cpp:149 Src/wptMainProc.cpp:395
msgid "Card Manager"
msgstr "J[h}l[W["
@@ -585,7 +585,7 @@
msgid "PIN successfully changed."
msgstr "ÃØÔª³µÏXµÜµ½B"
-#: Src/wptCardEdit.cpp:329
+#: Src/wptCardEdit.cpp:332
msgid "Please insert the card and click OK or Cancel to abort."
msgstr "J[hðü͵AOKâ~·éÌÉLZðµÄ¾³¢"
@@ -604,7 +604,7 @@
# c:\oss\winpt\src\wptKeyserverDlg.cpp:167
# c:\oss\winpt\src\wptOwnertrustDlg.cpp:75
# c:\oss\winpt\src\wptOwnertrustDlg.cpp:89
-#: Src/wptCardEdit.cpp:330
+#: Src/wptCardEdit.cpp:333
msgid "GPG Card Status"
msgstr "GnuPGÌóÔ"
@@ -620,7 +620,7 @@
# c:\oss\winpt\src\wptClipDecryptDlg.cpp:48
#: Src/wptClipDecryptDlg.cpp:60 Src/wptClipDecryptDlg.cpp:177
#: Src/wptKeyRevokersDlg.cpp:129 Src/wptKeyRevokersDlg.cpp:173
-#: Src/wptVerifyList.cpp:257 Src/wptVerifyList.cpp:317
+#: Src/wptVerifyList.cpp:257 Src/wptVerifyList.cpp:319
msgid "user ID not found"
msgstr "[U[IDª©Â©èܹñŵ½B"
@@ -710,11 +710,11 @@
#: Src/wptClipDecryptDlg.cpp:216 Src/wptClipVerifyDlg.cpp:154
#: Src/wptClipVerifyDlg.cpp:162 Src/wptClipVerifyDlg.cpp:191
#: Src/wptClipVerifyDlg.cpp:202 Src/wptClipVerifyDlg.cpp:220
-#: Src/wptClipVerifyDlg.cpp:232 Src/wptFileManager.cpp:1636
-#: Src/wptFileManager.cpp:1689 Src/wptFileManagerDlg.cpp:586
+#: Src/wptClipVerifyDlg.cpp:232 Src/wptFileManager.cpp:1670
+#: Src/wptFileManager.cpp:1723 Src/wptFileManagerDlg.cpp:586
#: Src/wptFileVerifyDlg.cpp:83 Src/wptFileVerifyDlg.cpp:150
#: Src/wptMainProc.cpp:208 Src/wptMainProc.cpp:224 Src/wptMainProc.cpp:234
-#: Src/wptMainProc.cpp:403
+#: Src/wptMainProc.cpp:404
msgid "Verify"
msgstr "mF·é"
@@ -726,14 +726,14 @@
# c:\oss\winpt\src\wptFileManager.cpp:996
#: Src/wptClipDecryptDlg.cpp:223 Src/wptClipDecryptDlg.cpp:236
#: Src/wptClipDecryptDlg.cpp:244 Src/wptClipDecryptDlg.cpp:251
-#: Src/wptClipDecryptDlg.cpp:253 Src/wptFileManager.cpp:1343
-#: Src/wptFileManager.cpp:1394
+#: Src/wptClipDecryptDlg.cpp:253 Src/wptFileManager.cpp:1377
+#: Src/wptFileManager.cpp:1428
msgid "Decryption"
msgstr ""
# c:\oss\winpt\src\wptClipDecryptDlg.cpp:130
# c:\oss\winpt\src\wptFileManager.cpp:997
-#: Src/wptClipDecryptDlg.cpp:237 Src/wptFileManager.cpp:1395
+#: Src/wptClipDecryptDlg.cpp:237 Src/wptFileManager.cpp:1429
#, c-format
msgid ""
"Encrypted with %s key, ID 0x%s.%s\n"
@@ -800,14 +800,14 @@
#: Src/wptClipEditDlg.cpp:131 Src/wptClipEditDlg.cpp:171
#: Src/wptClipEditDlg.cpp:187 Src/wptClipEditDlg.cpp:257
#: Src/wptClipEditDlg.cpp:262 Src/wptFileManagerDlg.cpp:220
-#: Src/wptMainProc.cpp:193 Src/wptMainProc.cpp:244 Src/wptMainProc.cpp:416
-#: Src/wptMainProc.cpp:499 Src/wptMainProc.cpp:504
+#: Src/wptMainProc.cpp:193 Src/wptMainProc.cpp:244 Src/wptMainProc.cpp:417
+#: Src/wptMainProc.cpp:500 Src/wptMainProc.cpp:505 Src/wptVerifyList.cpp:232
msgid "Clipboard"
msgstr "Nbv{[h"
# c:\oss\winpt\src\wptClipEditDlg.cpp:114
# c:\oss\winpt\src\wptFileManager.cpp:309
-#: Src/wptClipEditDlg.cpp:113 Src/wptFileManager.cpp:639
+#: Src/wptClipEditDlg.cpp:113 Src/wptFileManager.cpp:649
msgid "File Open"
msgstr "t@CðJ"
@@ -871,7 +871,7 @@
# c:\oss\winpt\src\wptClipEditDlg.cpp:45 c:\oss\winpt\src\wptMainProc.cpp:181
# c:\oss\winpt\src\wptMainProc.cpp:249 c:\oss\winpt\src\wptMainProc.cpp:554
-#: Src/wptClipEditDlg.cpp:221 Src/wptMainProc.cpp:561
+#: Src/wptClipEditDlg.cpp:221 Src/wptMainProc.cpp:562
msgid "Clipboard Editor"
msgstr "Nbv{[hGfB^["
@@ -963,8 +963,8 @@
#: Src/wptClipSignDlg.cpp:157 Src/wptClipSignDlg.cpp:225
#: Src/wptClipSignDlg.cpp:229 Src/wptClipSignDlg.cpp:249
#: Src/wptClipSignDlg.cpp:260 Src/wptClipSignEncDlg.cpp:159
-#: Src/wptClipSignEncDlg.cpp:170 Src/wptFileManager.cpp:1153
-#: Src/wptFileManager.cpp:1169 Src/wptFileManager.cpp:1459
+#: Src/wptClipSignEncDlg.cpp:170 Src/wptFileManager.cpp:1187
+#: Src/wptFileManager.cpp:1203 Src/wptFileManager.cpp:1493
#: Src/wptMainProc.cpp:179
msgid "Signing"
msgstr "¼"
@@ -1406,14 +1406,14 @@
# c:\oss\winpt\src\wptFileStatDlg.cpp:124
# c:\oss\winpt\src\wptMainProc.cpp:387 c:\oss\winpt\src\wptMainProc.cpp:526
#: Src/wptFileManager.cpp:130 Src/wptFileManager.cpp:152
-#: Src/wptFileManager.cpp:158 Src/wptFileManager.cpp:199
-#: Src/wptFileManager.cpp:324 Src/wptFileManager.cpp:735
-#: Src/wptFileManager.cpp:880 Src/wptFileManager.cpp:995
-#: Src/wptFileManager.cpp:1545 Src/wptFileManager.cpp:1572
-#: Src/wptFileManager.cpp:1591 Src/wptFileManager.cpp:1841
-#: Src/wptFileManager.cpp:1903 Src/wptFileManagerDlg.cpp:529
+#: Src/wptFileManager.cpp:158 Src/wptFileManager.cpp:198
+#: Src/wptFileManager.cpp:324 Src/wptFileManager.cpp:746
+#: Src/wptFileManager.cpp:914 Src/wptFileManager.cpp:1029
+#: Src/wptFileManager.cpp:1579 Src/wptFileManager.cpp:1606
+#: Src/wptFileManager.cpp:1625 Src/wptFileManager.cpp:1877
+#: Src/wptFileManager.cpp:1939 Src/wptFileManagerDlg.cpp:529
#: Src/wptFileManagerDlg.cpp:633 Src/wptFileStatDlg.cpp:154
-#: Src/wptMainProc.cpp:392 Src/wptMDSumDlg.cpp:276 Src/wptMDSumDlg.cpp:281
+#: Src/wptMainProc.cpp:393 Src/wptMDSumDlg.cpp:276 Src/wptMDSumDlg.cpp:281
msgid "File Manager"
msgstr "t@C}l[W["
@@ -1443,7 +1443,7 @@
msgstr "t@C®«ðÊÉu«¼·±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptFileManager.cpp:137
-#: Src/wptFileManager.cpp:195
+#: Src/wptFileManager.cpp:194
msgid ""
"Multi-Media files are already compressed, GPG would compress\n"
"them anyway and this takes a lot of time.\n"
@@ -1459,7 +1459,7 @@
# c:\oss\winpt\src\wptFileManager.cpp:179
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:810
# c:\oss\winpt\src\wptVerifyList.cpp:76 c:\oss\winpt\src\wptVerifyList.cpp:84
-#: Src/wptFileManager.cpp:407 Src/wptKeyEditDlgs.cpp:1075
+#: Src/wptFileManager.cpp:414 Src/wptKeyEditDlgs.cpp:1075
#: Src/wptVerifyList.cpp:169
msgid "Status"
msgstr "óµ"
@@ -1468,24 +1468,24 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:919
# c:\oss\winpt\src\wptKeyRevokersDlg.cpp:43
# c:\oss\winpt\src\wptMDSumDlg.cpp:53 c:\oss\winpt\src\wptVerifyList.cpp:75
-#: Src/wptFileManager.cpp:408 Src/wptKeyEditDlgs.cpp:1156
+#: Src/wptFileManager.cpp:415 Src/wptKeyEditDlgs.cpp:1156
#: Src/wptKeyRevokersDlg.cpp:57 Src/wptMDSumDlg.cpp:190
#: Src/wptVerifyList.cpp:168
msgid "Name"
msgstr "¼O"
# c:\oss\winpt\src\wptFileManager.cpp:181
-#: Src/wptFileManager.cpp:409
+#: Src/wptFileManager.cpp:416
msgid "Operation"
msgstr "ì"
# c:\oss\winpt\src\wptFileManager.cpp:503
-#: Src/wptFileManager.cpp:734
+#: Src/wptFileManager.cpp:745
msgid "Please select a file."
msgstr "t@CðIñž³¢B"
# c:\oss\winpt\src\wptGPG.cpp:783
-#: Src/wptFileManager.cpp:881
+#: Src/wptFileManager.cpp:915
#, c-format
msgid ""
"\"%s\" does not seems to be a text file.\n"
@@ -1495,25 +1495,25 @@
"±êð{É'clearsign'µÜ·©H"
# c:\oss\winpt\src\wptFileManager.cpp:704
-#: Src/wptFileManager.cpp:996
+#: Src/wptFileManager.cpp:1030
#, c-format
msgid "\"%s\" does not exist"
msgstr "%s ªù¶µÜ¹ñB"
# c:\oss\winpt\src\wptFileManager.cpp:779
# c:\oss\winpt\src\wptFileStatDlg.cpp:225
-#: Src/wptFileManager.cpp:1079 Src/wptFileStatDlg.cpp:283
+#: Src/wptFileManager.cpp:1113 Src/wptFileStatDlg.cpp:283
#: Src/wptFileStatDlg.cpp:287
msgid "File Status"
msgstr "t@CÌóÔ"
# c:\oss\winpt\src\wptFileManager.cpp:825
-#: Src/wptFileManager.cpp:1123
+#: Src/wptFileManager.cpp:1156
msgid "Enter Filename for Encrypted File"
msgstr "ûµ½t@CɼOðü͵ľ³¢B"
# c:\oss\winpt\src\wptFileManager.cpp:837
-#: Src/wptFileManager.cpp:1152
+#: Src/wptFileManager.cpp:1186
msgid "Could not get default secret key."
msgstr "Kè駮ðæ¾·é±ÆªÅ«Ü¹ñŵ½B"
@@ -1522,22 +1522,22 @@
# c:\oss\winpt\src\wptFileManagerDlg.cpp:296
# c:\oss\winpt\src\wptFileManagerDlg.cpp:403
# c:\oss\winpt\src\wptMainProc.cpp:211 c:\oss\winpt\src\wptMainProc.cpp:410
-#: Src/wptFileManager.cpp:1183 Src/wptFileManager.cpp:1495
+#: Src/wptFileManager.cpp:1217 Src/wptFileManager.cpp:1529
#: Src/wptFileManagerDlg.cpp:584 Src/wptMainProc.cpp:156
-#: Src/wptMainProc.cpp:400 Src/wptMainProc.cpp:407
+#: Src/wptMainProc.cpp:401 Src/wptMainProc.cpp:408
msgid "Sign"
msgstr "¼"
# c:\oss\winpt\src\wptFileManager.cpp:868
# c:\oss\winpt\src\wptFileManagerDlg.cpp:401
# c:\oss\winpt\src\wptMainProc.cpp:403 c:\oss\winpt\src\wptMainProc.cpp:407
-#: Src/wptFileManager.cpp:1196 Src/wptFileManagerDlg.cpp:582
-#: Src/wptMainProc.cpp:399 Src/wptMainProc.cpp:404
+#: Src/wptFileManager.cpp:1230 Src/wptFileManagerDlg.cpp:582
+#: Src/wptMainProc.cpp:400 Src/wptMainProc.cpp:405
msgid "Encrypt"
msgstr "öJû"
# c:\oss\winpt\src\wptSymEnc.cpp:40 c:\oss\winpt\src\wptSymEnc.cpp:50
-#: Src/wptFileManager.cpp:1223 Src/wptSymEnc.cpp:72 Src/wptSymEnc.cpp:92
+#: Src/wptFileManager.cpp:1257 Src/wptSymEnc.cpp:72 Src/wptSymEnc.cpp:92
msgid "Symmetric Encryption"
msgstr "¤Êû"
@@ -1545,36 +1545,36 @@
# c:\oss\winpt\src\wptFileManager.cpp:914
# c:\oss\winpt\src\wptFileManager.cpp:919
# c:\oss\winpt\src\wptMainProc.cpp:401
-#: Src/wptFileManager.cpp:1256 Src/wptFileManager.cpp:1261
-#: Src/wptMainProc.cpp:398 Src/wptMainProc.cpp:408
+#: Src/wptFileManager.cpp:1290 Src/wptFileManager.cpp:1295
+#: Src/wptMainProc.cpp:399 Src/wptMainProc.cpp:409
msgid "Symmetric"
msgstr "¤Êû"
# c:\oss\winpt\src\wptFileManager.cpp:919
-#: Src/wptFileManager.cpp:1261
+#: Src/wptFileManager.cpp:1295
msgid "Encryption failed."
msgstr "ÃɸsµÜµ½B"
# c:\oss\winpt\src\wptFileManager.cpp:963
-#: Src/wptFileManager.cpp:1352
+#: Src/wptFileManager.cpp:1386
msgid "Choose Filename for Output"
msgstr "oÍt@C¼ðIñž³¢B"
# c:\oss\winpt\src\wptFileManager.cpp:980
-#: Src/wptFileManager.cpp:1361
+#: Src/wptFileManager.cpp:1395
msgid "Enter Filename for Plaintext File"
msgstr "v[eLXpÌgt@C¼ðü͵ľ³¢B"
# c:\oss\winpt\src\wptFileManager.cpp:1006
# c:\oss\winpt\src\wptFileManager.cpp:1011
# c:\oss\winpt\src\wptFileManagerDlg.cpp:402
-#: Src/wptFileManager.cpp:1403 Src/wptFileManager.cpp:1423
+#: Src/wptFileManager.cpp:1437 Src/wptFileManager.cpp:1457
#: Src/wptFileManagerDlg.cpp:583
msgid "Decrypt"
msgstr ""
# c:\oss\winpt\src\wptErrors.cpp:71
-#: Src/wptFileManager.cpp:1409
+#: Src/wptFileManager.cpp:1443
#, c-format
msgid ""
"Decryption failed.\n"
@@ -1583,7 +1583,7 @@
"ª¸sµÜµ½B\n"
"%s: t@Cªù¶µÜ¹ñB"
-#: Src/wptFileManager.cpp:1424
+#: Src/wptFileManager.cpp:1458
#, c-format
msgid ""
"The original file name is '%s'.\n"
@@ -1595,32 +1595,32 @@
"±êð '%s' ÌãíèÉ{ÉgpµÜ·©?"
# c:\oss\winpt\src\wptFileManager.cpp:1068
-#: Src/wptFileManager.cpp:1472
+#: Src/wptFileManager.cpp:1506
msgid "Enter Filename for Signed File"
msgstr "¼µ½t@CɼOðü͵ľ³¢B"
# c:\oss\winpt\src\wptFileManager.cpp:1165
-#: Src/wptFileManager.cpp:1571
+#: Src/wptFileManager.cpp:1605
msgid "Could not find detached signature in the clipboard."
msgstr "Nbv{[hÉæèoµ½¼ð©Â¯é±Æªoܹñŵ½B"
# c:\oss\winpt\src\wptFileManager.cpp:1184
-#: Src/wptFileManager.cpp:1591
+#: Src/wptFileManager.cpp:1625
msgid "No files to check."
msgstr "`FbN·ét@Cª èܹñB"
# c:\oss\winpt\src\wptFileManager.cpp:1212
-#: Src/wptFileManager.cpp:1608
+#: Src/wptFileManager.cpp:1642
msgid "Select Data File"
msgstr "f[^t@CðIÔ"
# c:\oss\winpt\src\wptFileManager.cpp:1212
-#: Src/wptFileManager.cpp:1610
+#: Src/wptFileManager.cpp:1644
msgid "Selected Output File"
msgstr "Iðµ½oÍt@C"
# c:\oss\winpt\src\wptFileManager.cpp:1218
-#: Src/wptFileManager.cpp:1636
+#: Src/wptFileManager.cpp:1670
msgid "Invalid file name. Exit"
msgstr "³øÈt@C¼BI¹"
@@ -1635,7 +1635,7 @@
# c:\oss\winpt\src\wptImportList.cpp:220
# c:\oss\winpt\src\wptKeyManager.cpp:516
# c:\oss\winpt\src\wptKeyserverDlg.cpp:150
-#: Src/wptFileManager.cpp:1734 Src/wptFileManager.cpp:1745
+#: Src/wptFileManager.cpp:1770 Src/wptFileManager.cpp:1781
#: Src/wptFileManagerDlg.cpp:245 Src/wptImportList.cpp:404
#: Src/wptImportList.cpp:411 Src/wptImportList.cpp:421
#: Src/wptImportList.cpp:429 Src/wptImportList.cpp:438
@@ -1647,7 +1647,7 @@
# c:\oss\winpt\src\wptFileManager.cpp:1285
# c:\oss\winpt\src\wptKeyManager.cpp:513
-#: Src/wptFileManager.cpp:1742
+#: Src/wptFileManager.cpp:1778
msgid ""
"Key without a self signature was dectected!\n"
"(This key is NOT usable for encryption, etc)\n"
@@ -1663,7 +1663,7 @@
# c:\oss\winpt\src\wptKeyManager.cpp:262
# c:\oss\winpt\src\wptKeyManager.cpp:294
# c:\oss\winpt\src\wptKeyManager.cpp:340
-#: Src/wptFileManager.cpp:1768 Src/wptKeyManager.cpp:282
+#: Src/wptFileManager.cpp:1804 Src/wptKeyManager.cpp:282
#: Src/wptKeyManager.cpp:325 Src/wptKeyManager.cpp:360
msgid "No key was selected for export."
msgstr "GLX|[g·é½ßÌL[ªIð³êÄܹñB"
@@ -1671,7 +1671,7 @@
# c:\oss\winpt\src\wptFileManager.cpp:1309
# c:\oss\winpt\src\wptFileManager.cpp:1335
# c:\oss\winpt\src\wptKeyserverDlg.cpp:79
-#: Src/wptFileManager.cpp:1769 Src/wptFileManager.cpp:1792
+#: Src/wptFileManager.cpp:1805 Src/wptFileManager.cpp:1828
#: Src/wptKeyserverDlg.cpp:93
msgid "Export"
msgstr "GLX|[g"
@@ -1679,7 +1679,7 @@
# c:\oss\winpt\src\wptFileManager.cpp:1327
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:1106
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:1138
-#: Src/wptFileManager.cpp:1777 Src/wptKeyManagerDlg.cpp:1850
+#: Src/wptFileManager.cpp:1813 Src/wptKeyManagerDlg.cpp:1850
#: Src/wptKeyManagerDlg.cpp:1882
msgid "Choose Name for Key File"
msgstr "L[t@CɼOðIð·éB"
@@ -1689,51 +1689,51 @@
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1113
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:1177
# c:\oss\winpt\src\wptKeyserverDlg.cpp:90
-#: Src/wptFileManager.cpp:1796 Src/wptKeyEditDlgs.cpp:1055
+#: Src/wptFileManager.cpp:1832 Src/wptKeyEditDlgs.cpp:1055
#: Src/wptKeyEditDlgs.cpp:1314 Src/wptKeyEditDlgs.cpp:1386
#: Src/wptKeyserverDlg.cpp:105
msgid "GnuPG status"
msgstr "GnuPGÌóÔ"
# c:\oss\winpt\src\wptFileManager.cpp:1339
-#: Src/wptFileManager.cpp:1796
+#: Src/wptFileManager.cpp:1832
#, c-format
msgid "Finished (Output: %s)"
msgstr "I¹µÜµ½ (oÍ: %s)"
# c:\oss\winpt\src\wptFileManager.cpp:1381
-#: Src/wptFileManager.cpp:1842
+#: Src/wptFileManager.cpp:1878
#, c-format
msgid "%s: no valid OpenPGP data found."
msgstr "%s: LøÈOpenPGPf[^ª©Â©èܹñŵ½B"
-#: Src/wptFileManager.cpp:1902
+#: Src/wptFileManager.cpp:1938
msgid "Encrypting into a ZIP archive makes sense with multiple files"
msgstr "½Ìt@CðZipA[JCuÉû·é±ÆªÇ¢±ÆÅ·B"
# c:\oss\winpt\src\wptFileManager.cpp:963
-#: Src/wptFileManager.cpp:1907
+#: Src/wptFileManager.cpp:1943
msgid "Choose File Name for Output"
msgstr "oÍt@C¼ðIñž³¢B"
# c:\oss\winpt\src\wptFileManager.cpp:1450
-#: Src/wptFileManager.cpp:1979
+#: Src/wptFileManager.cpp:2015
msgid "Choose a Name for the Archive"
msgstr "A[JCuɼOðIñž³¢B"
# c:\oss\winpt\src\wptFileManager.cpp:1453
-#: Src/wptFileManager.cpp:1982
+#: Src/wptFileManager.cpp:2018
msgid "Invalid archive name. Exit."
msgstr "³øÈA[JCu¼BI¹B"
# c:\oss\winpt\src\wptFileManager.cpp:1453
# c:\oss\winpt\src\wptFileManager.cpp:1464
-#: Src/wptFileManager.cpp:1983 Src/wptFileManager.cpp:1991
+#: Src/wptFileManager.cpp:2019 Src/wptFileManager.cpp:2027
msgid "Encrypt Directory"
msgstr "ûfBNg"
# c:\oss\winpt\src\wptFileManager.cpp:1464
-#: Src/wptFileManager.cpp:1990
+#: Src/wptFileManager.cpp:2026
msgid "Could not create zip archive."
msgstr "³kA[JCuð쬷é±ÆªÅ«Ü¹ñŵ½B"
@@ -1876,14 +1876,14 @@
msgstr "%d IuWFNgª}[N³êܵ½B"
# c:\oss\winpt\src\wptFileManagerDlg.cpp:350
-#: Src/wptFileManagerDlg.cpp:495 Src/wptMainProc.cpp:531
+#: Src/wptFileManagerDlg.cpp:495 Src/wptMainProc.cpp:532
msgid "File Manager (use drag & drop to add files)"
msgstr "t@C}l[W[(hbOEAhEhbvðgpµÄÇÁ·é)"
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:573
#: Src/wptFileManagerDlg.cpp:499 Src/wptKeyManagerDlg.cpp:967
#: Src/wptKeyManagerDlg.cpp:972 Src/wptKeyManagerDlg.cpp:983
-#: Src/wptMainProc.cpp:395
+#: Src/wptMainProc.cpp:396
msgid "Edit"
msgstr "ÒW"
@@ -1912,7 +1912,7 @@
# c:\oss\winpt\src\wptFileManagerDlg.cpp:404
# c:\oss\winpt\src\wptMainProc.cpp:404 c:\oss\winpt\src\wptMainProc.cpp:408
#: Src/wptFileManagerDlg.cpp:506 Src/wptFileManagerDlg.cpp:585
-#: Src/wptMainProc.cpp:401 Src/wptMainProc.cpp:405
+#: Src/wptMainProc.cpp:402 Src/wptMainProc.cpp:406
msgid "Sign && Encrypt"
msgstr "¼yÑû"
@@ -1939,7 +1939,7 @@
# c:\oss\winpt\src\wptFileManagerDlg.cpp:364
# c:\oss\winpt\src\wptMainProc.cpp:400
-#: Src/wptFileManagerDlg.cpp:511 Src/wptMainProc.cpp:397
+#: Src/wptFileManagerDlg.cpp:511 Src/wptMainProc.cpp:398
msgid "Exit"
msgstr "I¹"
@@ -2105,7 +2105,7 @@
msgstr "WinPTÅÌX^[g"
# c:\oss\winpt\src\wptGPG.cpp:734
-#: Src/wptGPG.cpp:844
+#: Src/wptGPG.cpp:839
msgid ""
"The selected keyring has the read-only file\n"
"attribute. In this state you do not have write\n"
@@ -2116,23 +2116,23 @@
"±Ì®«ðíµÜ·©H"
# c:\oss\winpt\src\wptGPG.cpp:737
-#: Src/wptGPG.cpp:847
+#: Src/wptGPG.cpp:842
msgid "GPG Information"
msgstr "GPGCtH"
# c:\oss\winpt\src\wptGPG.cpp:741
-#: Src/wptGPG.cpp:851
+#: Src/wptGPG.cpp:846
msgid "Could not reset read-only state."
msgstr "[hI[óÔðú»·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptGPG.cpp:178 c:\oss\winpt\src\wptGPG.cpp:742
# c:\oss\winpt\src\wptGPG.cpp:1029 c:\oss\winpt\src\wptGPG.cpp:1038
-#: Src/wptGPG.cpp:852
+#: Src/wptGPG.cpp:847
msgid "GPG Error"
msgstr "GPGG["
# c:\oss\winpt\src\wptGPG.cpp:757
-#: Src/wptGPG.cpp:864
+#: Src/wptGPG.cpp:859
msgid ""
"You do not have file access to modify the contents of\n"
"one or both of the selected keyrings.\n"
@@ -2147,7 +2147,7 @@
"vOª»êðJ¢½½ßÆl¦çêÜ·B\n"
# c:\oss\winpt\src\wptGPG.cpp:762
-#: Src/wptGPG.cpp:869
+#: Src/wptGPG.cpp:864
msgid "GPG Warning"
msgstr "GPGx"
@@ -2171,19 +2171,19 @@
# c:\oss\winpt\src\wptPreferencesDlg.cpp:270
# c:\oss\winpt\src\wptPreferencesDlg.cpp:317
# c:\oss\winpt\src\wptRegistry.cpp:492
-#: Src/wptGPG.cpp:893 Src/wptGPGPrefsDlg.cpp:222 Src/wptGPGPrefsDlg.cpp:228
+#: Src/wptGPG.cpp:888 Src/wptGPGPrefsDlg.cpp:222 Src/wptGPGPrefsDlg.cpp:228
#: Src/wptGPGPrefsDlg.cpp:234 Src/wptGPGPrefsDlg.cpp:240
#: Src/wptGPGPrefsDlg.cpp:245 Src/wptGPGPrefsDlg.cpp:250
#: Src/wptGPGPrefsDlg.cpp:256 Src/wptGPGPrefsDlg.cpp:270
-#: Src/wptKeyEditDlgs.cpp:1713 Src/wptMainProc.cpp:418
+#: Src/wptKeyEditDlgs.cpp:1713 Src/wptMainProc.cpp:419
#: Src/wptPreferencesDlg.cpp:225 Src/wptPreferencesDlg.cpp:270
#: Src/wptPreferencesDlg.cpp:282 Src/wptPreferencesDlg.cpp:295
-#: Src/wptPreferencesDlg.cpp:326 Src/wptRegistry.cpp:595
+#: Src/wptPreferencesDlg.cpp:326 Src/wptRegistry.cpp:599
msgid "Preferences"
msgstr "JX^Ýè"
# c:\oss\winpt\src\wptGPG.cpp:783
-#: Src/wptGPG.cpp:894
+#: Src/wptGPG.cpp:889
#, c-format
msgid ""
"%s does not exit.\n"
@@ -2193,47 +2193,47 @@
"±ÌfBNg[ð쬵ܷ©H"
# c:\oss\winpt\src\wptGPG.cpp:863
-#: Src/wptGPG.cpp:922
+#: Src/wptGPG.cpp:917
msgid "Please choose your Public Keyring"
msgstr "öJL[OðIñž³¢B"
# c:\oss\winpt\src\wptGPG.cpp:866 c:\oss\winpt\src\wptGPG.cpp:886
-#: Src/wptGPG.cpp:925 Src/wptGPG.cpp:947
+#: Src/wptGPG.cpp:920 Src/wptGPG.cpp:942
msgid "No keyring was chosen. Exit."
msgstr "L[OªIð³êÄܹñBI¹B"
# c:\oss\winpt\src\wptGPG.cpp:872
-#: Src/wptGPG.cpp:932
+#: Src/wptGPG.cpp:927
msgid "Overwrite old public keyring?"
msgstr "âöJ®ð㫵ܷ©H"
# c:\oss\winpt\src\wptGPG.cpp:877 c:\oss\winpt\src\wptGPG.cpp:896
-#: Src/wptGPG.cpp:938 Src/wptGPG.cpp:959
+#: Src/wptGPG.cpp:933 Src/wptGPG.cpp:954
msgid "Could not copy file."
msgstr "t@CðRs[·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptGPG.cpp:883
-#: Src/wptGPG.cpp:944
+#: Src/wptGPG.cpp:939
msgid "Please choose your Secret Keyring"
msgstr "é§L[OðIñž³¢B"
# c:\oss\winpt\src\wptGPG.cpp:891
-#: Src/wptGPG.cpp:953
+#: Src/wptGPG.cpp:948
msgid "Overwrite old secret keyring?"
msgstr "âé§L[Oð㫵ܷ©H"
# c:\oss\winpt\src\wptGPG.cpp:942 c:\oss\winpt\src\wptGPG.cpp:1004
-#: Src/wptGPG.cpp:999 Src/wptGPG.cpp:1088 Src/wptGPG.cpp:1101
+#: Src/wptGPG.cpp:994 Src/wptGPG.cpp:1083 Src/wptGPG.cpp:1096
msgid "Backup"
msgstr "obNAbv"
# c:\oss\winpt\src\wptGPG.cpp:942
-#: Src/wptGPG.cpp:999
+#: Src/wptGPG.cpp:994
#, c-format
msgid "Backup keyring \"%s\" failed"
msgstr "ȺÌobNAbvL[Oª \"%s\" ¸sµÜµ½B"
-#: Src/wptGPG.cpp:1089
+#: Src/wptGPG.cpp:1084
#, c-format
msgid ""
"The backup drive '%s' does not seems to be accessable.\n"
@@ -2243,54 +2243,54 @@
"±¯éÌÉhCuð}üܽÍ`FbNµÄ¾³¢B"
# c:\oss\winpt\src\wptGPG.cpp:1004
-#: Src/wptGPG.cpp:1101
+#: Src/wptGPG.cpp:1096
#, c-format
msgid "Invalid backup mode %d"
msgstr "³øÈobNAbv[h %d"
-#: Src/wptGPGME.cpp:281
+#: Src/wptGPGME.cpp:284
msgid "Error during verification process"
msgstr "mFiKÅG[ª¶µÜµ½B"
# c:\oss\winpt\src\wptClipVerifyDlg.cpp:122
-#: Src/wptGPGME.cpp:282
+#: Src/wptGPGME.cpp:285
msgid "The signature is good"
msgstr "Løȼ"
# c:\oss\winpt\src\wptClipVerifyDlg.cpp:122
-#: Src/wptGPGME.cpp:283
+#: Src/wptGPGME.cpp:286
msgid "The signature is BAD!"
msgstr "³øȼ"
-#: Src/wptGPGME.cpp:284
+#: Src/wptGPGME.cpp:287
msgid "The signature could not be checked due to a missing key"
msgstr "ÈÈÁ½L[̽߼ª`FbNūܹñŵ½B"
# c:\oss\winpt\src\wptFileManagerDlg.cpp:190
# c:\oss\winpt\src\wptKeyManager.cpp:408
-#: Src/wptGPGME.cpp:285
+#: Src/wptGPGME.cpp:288
msgid "No valid OpenPGP signature"
msgstr "LøÈOpenPGP¼ª èܹñB"
# c:\oss\winpt\src\wptKeysignDlg.cpp:232
-#: Src/wptGPGME.cpp:286
+#: Src/wptGPGME.cpp:289
msgid "Signature Error"
msgstr "¼G["
# c:\oss\winpt\src\wptKeysignDlg.cpp:232
-#: Src/wptGPGME.cpp:287
+#: Src/wptGPGME.cpp:290
#, fuzzy
msgid "Good signature (Expired Key)"
msgstr "LøȼiúÀØêL[j"
# c:\oss\winpt\src\wptFileManager.cpp:1019
-#: Src/wptGPGME.cpp:288
+#: Src/wptGPGME.cpp:291
#, fuzzy
msgid "Good signature (Revoked Key)"
msgstr "Løȼi³øÈL[j"
# c:\oss\winpt\src\wptKeysignDlg.cpp:232
-#: Src/wptGPGME.cpp:289
+#: Src/wptGPGME.cpp:292
#, fuzzy
msgid "Good signature (Expired)"
msgstr "LøȼiúÀØêL[j"
@@ -2351,7 +2351,7 @@
# c:\oss\winpt\src\wptKeyManagerDlg.cpp:1071
# c:\oss\winpt\src\wptMainProc.cpp:572
#: Src/wptGPGPrefsDlg.cpp:152 Src/wptKeyManagerDlg.cpp:1812
-#: Src/wptMainProc.cpp:579
+#: Src/wptMainProc.cpp:580
msgid "GnuPG Preferences"
msgstr "GnuPGJX^Ýè"
@@ -2543,7 +2543,7 @@
#: Src/wptKeyManagerDlg.cpp:1950 Src/wptKeyManagerDlg.cpp:2064
#: Src/wptKeysigDlg.cpp:94 Src/wptKeysigDlg.cpp:106 Src/wptKeysigDlg.cpp:317
#: Src/wptKeysigDlg.cpp:389 Src/wptKeysigDlg.cpp:399 Src/wptKeysigDlg.cpp:442
-#: Src/wptMainProc.cpp:393 Src/wptMainProc.cpp:542 Src/wptMainProc.cpp:550
+#: Src/wptMainProc.cpp:394 Src/wptMainProc.cpp:543 Src/wptMainProc.cpp:551
msgid "Key Manager"
msgstr "L[}l[W["
@@ -4541,7 +4541,7 @@
# c:\oss\winpt\src\wptMainProc.cpp:566
# c:\oss\winpt\src\wptPreferencesDlg.cpp:121
-#: Src/wptKeyManagerDlg.cpp:1806 Src/wptMainProc.cpp:573
+#: Src/wptKeyManagerDlg.cpp:1806 Src/wptMainProc.cpp:574
#: Src/wptPreferencesDlg.cpp:139
msgid "WinPT Preferences"
msgstr "WinPTJX^Ýè"
@@ -4604,7 +4604,7 @@
# c:\oss\winpt\src\wptKeyPropsDlg.cpp:84 c:\oss\winpt\src\wptKeylist.cpp:701
#: Src/wptKeyPropsDlg.cpp:72 Src/wptVerifyList.cpp:246
-#: Src/wptVerifyList.cpp:309
+#: Src/wptVerifyList.cpp:311
msgid "Unknown"
msgstr "³¼"
@@ -4793,7 +4793,7 @@
msgstr "keyserver.conft@CðÛ¶·é±Æªoܹñŵ½B"
# c:\oss\winpt\src\wptKeyserver.cpp:436
-#: Src/wptKeyserver.cpp:678
+#: Src/wptKeyserver.cpp:718
msgid ""
"Invalid proxy configuration. You need to set a user and a password to use "
"proxy authentication!"
@@ -4802,12 +4802,12 @@
"vNV[ÌFØI"
# c:\oss\winpt\src\wptKeyserver.cpp:438
-#: Src/wptKeyserver.cpp:681
+#: Src/wptKeyserver.cpp:721
msgid "Proxy Error"
msgstr "vNV[G["
# c:\oss\winpt\src\wptKeyserver.cpp:462
-#: Src/wptKeyserver.cpp:706
+#: Src/wptKeyserver.cpp:746
msgid ""
"All entries of this file must have a valid prefix.\n"
"Currently HKP/HTTP, LDAP and FINGER are supported.\n"
@@ -4830,17 +4830,17 @@
# c:\oss\winpt\src\wptKeyserverDlg.cpp:420
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:72
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:115
-#: Src/wptKeyserver.cpp:708
+#: Src/wptKeyserver.cpp:748
msgid "Keyserver Error"
msgstr "L[T[o[G["
# c:\oss\winpt\src\wptKeyserver.cpp:473
-#: Src/wptKeyserver.cpp:727
+#: Src/wptKeyserver.cpp:767
msgid "The keyserver limit is exceeded"
msgstr "L[T[o[̧Àª´¦Ä¢Ü·B"
# c:\oss\winpt\src\wptKeyserverSearchDlg.cpp:59
-#: Src/wptKeyserver.cpp:728
+#: Src/wptKeyserver.cpp:768
msgid "Keyserver Warning"
msgstr "L[T[o[x"
@@ -5061,11 +5061,11 @@
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:52
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:57
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:61
-#: Src/wptKeyserverDlg.cpp:696 Src/wptProxySettingsDlg.cpp:73
-#: Src/wptProxySettingsDlg.cpp:83 Src/wptProxySettingsDlg.cpp:88
-#: Src/wptProxySettingsDlg.cpp:95 Src/wptProxySettingsDlg.cpp:100
-#: Src/wptProxySettingsDlg.cpp:105 Src/wptProxySettingsDlg.cpp:164
-#: Src/wptProxySettingsDlg.cpp:199
+#: Src/wptKeyserverDlg.cpp:696 Src/wptProxySettingsDlg.cpp:103
+#: Src/wptProxySettingsDlg.cpp:113 Src/wptProxySettingsDlg.cpp:118
+#: Src/wptProxySettingsDlg.cpp:125 Src/wptProxySettingsDlg.cpp:130
+#: Src/wptProxySettingsDlg.cpp:135 Src/wptProxySettingsDlg.cpp:194
+#: Src/wptProxySettingsDlg.cpp:229
msgid "Proxy Settings"
msgstr "vNV[Ýè"
@@ -5411,45 +5411,45 @@
msgstr "¢mÌOpenPGP^Cv"
# c:\oss\winpt\src\wptMainProc.cpp:336
-#: Src/wptMainProc.cpp:344
+#: Src/wptMainProc.cpp:345
msgid "Could not set current window mode hooks."
msgstr ""
"»ÝÌEBh[hÉtbNXuhooksvðZbg·é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptMainProc.cpp:399
-#: Src/wptMainProc.cpp:396
+#: Src/wptMainProc.cpp:397
msgid "About..."
msgstr "WinPTÉ¢Ä..."
# c:\oss\winpt\src\wptMainProc.cpp:405 c:\oss\winpt\src\wptMainProc.cpp:409
-#: Src/wptMainProc.cpp:402 Src/wptMainProc.cpp:406
+#: Src/wptMainProc.cpp:403 Src/wptMainProc.cpp:407
msgid "Decrypt/Verify"
msgstr "/mF"
-#: Src/wptMainProc.cpp:417
+#: Src/wptMainProc.cpp:418
msgid "Current Window"
msgstr "»ÝÌEBhE"
# c:\oss\winpt\src\wptMainProc.cpp:465
-#: Src/wptMainProc.cpp:475
+#: Src/wptMainProc.cpp:476
msgid "Remove all passphrases from cache?"
msgstr "·×ÄÌpXt[YðLbV
©çO¹Ü·B"
# c:\oss\winpt\src\wptClipImportDlg.cpp:112
# c:\oss\winpt\src\wptMainProc.cpp:466 c:\oss\winpt\src\wptProgressDlg.cpp:98
# c:\oss\winpt\src\wptRegistry.cpp:133
-#: Src/wptMainProc.cpp:476 Src/wptProgressDlg.cpp:135 Src/wptRegistry.cpp:198
+#: Src/wptMainProc.cpp:477 Src/wptProgressDlg.cpp:136 Src/wptRegistry.cpp:274
msgid "WinPT"
msgstr "WinPT"
# c:\oss\winpt\src\wptMainProc.cpp:476
-#: Src/wptMainProc.cpp:486
+#: Src/wptMainProc.cpp:487
msgid "Could not access public keyring, exit WinPT?"
msgstr ""
"öJL[OðANZX·é±ÆªÅ«Ü¹ñŵ½BWinPTðI¹µÜ·©H"
# c:\oss\winpt\src\wptMainProc.cpp:510
-#: Src/wptMainProc.cpp:519
+#: Src/wptMainProc.cpp:520
#, c-format
msgid ""
"Make sure that the window contains text.\n"
@@ -5811,81 +5811,81 @@
msgstr "isXbhð쬻é±ÆªÅ«Ü¹ñŵ½B"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:427
-#: Src/wptProxySettingsDlg.cpp:73
+#: Src/wptProxySettingsDlg.cpp:103
msgid "Invalid host/IP address."
msgstr "³øÈzXgܽÍIPAhXB"
# c:\oss\winpt\src\wptKeygenDlg.cpp:200 c:\oss\winpt\src\wptKeygenDlg.cpp:377
-#: Src/wptProxySettingsDlg.cpp:82
+#: Src/wptProxySettingsDlg.cpp:112
msgid "Please enter the proxy hostname."
msgstr "vNV[zXg¼ðü͵ľ³¢B"
# c:\oss\winpt\src\wptImportList.cpp:84
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:967
-#: Src/wptProxySettingsDlg.cpp:88
+#: Src/wptProxySettingsDlg.cpp:118
msgid "Invalid port number."
msgstr "³øÈ|[gÔ"
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:52
-#: Src/wptProxySettingsDlg.cpp:94
+#: Src/wptProxySettingsDlg.cpp:124
msgid "Please select a value from 0-65535 for the port"
msgstr "O`UTTRTÌÍÍÌlðü͵ľ³¢B"
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:56
-#: Src/wptProxySettingsDlg.cpp:99
+#: Src/wptProxySettingsDlg.cpp:129
msgid "When you want to use authentication, please fill out both fields."
msgstr "FØðgp·éêÍA¼ûÌtB[hðgÁľ³¢B"
# c:\oss\winpt\src\wptProxySettingsDlg.cpp:61
-#: Src/wptProxySettingsDlg.cpp:104
+#: Src/wptProxySettingsDlg.cpp:134
msgid "Please enter a host name and a port."
msgstr "zXg¼Æ|[gðü͵ľ³¢B"
-#: Src/wptProxySettingsDlg.cpp:158
+#: Src/wptProxySettingsDlg.cpp:188
msgid "Proxy host name or IP address"
msgstr "vbNV[zXg¼Ü½ÍIPAhX"
-#: Src/wptProxySettingsDlg.cpp:159
+#: Src/wptProxySettingsDlg.cpp:189
msgid "Server requires &authentication"
msgstr "T[o[ÉFتKvÅ·(&A)"
# c:\oss\winpt\src\wptKeygenDlg.cpp:147
-#: Src/wptProxySettingsDlg.cpp:160
+#: Src/wptProxySettingsDlg.cpp:190
msgid "User name"
msgstr "[U[¼"
-#: Src/wptProxySettingsDlg.cpp:161
+#: Src/wptProxySettingsDlg.cpp:191
msgid "Password"
msgstr "pX[h"
# c:\oss\winpt\src\wptKeyEditDlgs.cpp:473
-#: Src/wptProxySettingsDlg.cpp:162
+#: Src/wptProxySettingsDlg.cpp:192
msgid "Proxy type"
msgstr "vNV[ÌíÞ"
-#: Src/wptProxySettingsDlg.cpp:163
+#: Src/wptProxySettingsDlg.cpp:193
msgid "Authentication"
msgstr "FØ"
-#: Src/wptProxySettingsDlg.cpp:198
+#: Src/wptProxySettingsDlg.cpp:228
msgid "Please fill out all required fields for authentication."
msgstr "FØ·é½ÉßSÚðü͵ľ³¢B"
# c:\oss\winpt\src\wptFileManagerDlg.cpp:249
-#: Src/wptRegistry.cpp:160
+#: Src/wptRegistry.cpp:225
msgid "GPG Detached Signature"
msgstr "f^b`hGPG¼"
-#: Src/wptRegistry.cpp:161
+#: Src/wptRegistry.cpp:226
msgid "GPG Encrypted Data"
msgstr "GPGûf[^"
-#: Src/wptRegistry.cpp:162
+#: Src/wptRegistry.cpp:227
msgid "GPG Armored Data"
msgstr "GPGA[hf[^"
# c:\oss\winpt\src\wptRegistry.cpp:131
-#: Src/wptRegistry.cpp:196
+#: Src/wptRegistry.cpp:272
msgid ""
"WinPT can register some GPG file types for you so they can be processed with "
"a double click in the explorer.\n"
@@ -5896,12 +5896,12 @@
"p±µÜ·©H"
# c:\oss\winpt\src\wptRegistry.cpp:142
-#: Src/wptRegistry.cpp:204
+#: Src/wptRegistry.cpp:280
msgid "WinPT WARNING"
msgstr "WinPT x"
# c:\oss\winpt\src\wptRegistry.cpp:143
-#: Src/wptRegistry.cpp:205
+#: Src/wptRegistry.cpp:281
#, c-format
msgid ""
"It seems there was already a '%s' file type registered by another "
@@ -5912,7 +5912,7 @@
"»êð㫵ܷ©H"
# c:\oss\winpt\src\wptRegistry.cpp:492
-#: Src/wptRegistry.cpp:595
+#: Src/wptRegistry.cpp:599
msgid "Could not write to Registry."
msgstr "MXgɱƪūܹñŵ½B"
Modified: trunk/Po/pt_BR.po
===================================================================
--- trunk/Po/pt_BR.po 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Po/pt_BR.po 2006-10-21 18:08:57 UTC (rev 270)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: WinPT 1.0.0\n"
"Report-Msgid-Bugs-To: winpt at freakmail.de\n"
-"POT-Creation-Date: 2006-08-30 14:04+0200\n"
+"POT-Creation-Date: 2006-10-21 19:58+0200\n"
"PO-Revision-Date: 2006-06-14 22:00-0300\n"
"Last-Translator: Eduardo S. Dobay <edudobay at gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldp-br at bazar.conectiva.com.br>\n"
@@ -20,33 +20,33 @@
"file."
msgstr ""
-#: Src/WinPT.cpp:196
+#: Src/WinPT.cpp:197
msgid "Could not create GPG home directory"
msgstr "Não foi possível criar o diretório pessoal GPG"
-#: Src/WinPT.cpp:197 Src/WinPT.cpp:279 Src/WinPT.cpp:283 Src/WinPT.cpp:484
+#: Src/WinPT.cpp:198 Src/WinPT.cpp:277 Src/WinPT.cpp:281 Src/WinPT.cpp:484
#: Src/WinPT.cpp:493 Src/WinPT.cpp:500 Src/WinPT.cpp:540 Src/WinPT.cpp:568
-#: Src/WinPT.cpp:577 Src/WinPT.cpp:581 Src/WinPT.cpp:598 Src/WinPT.cpp:666
-#: Src/WinPT.cpp:679 Src/WinPT.cpp:726 Src/WinPT.cpp:768 Src/WinPT.cpp:787
-#: Src/wptCommonDlg.cpp:224 Src/wptErrors.cpp:141 Src/wptGPG.cpp:926
-#: Src/wptGPG.cpp:938 Src/wptGPG.cpp:948 Src/wptGPG.cpp:959
-#: Src/wptMainProc.cpp:345 Src/wptMainProc.cpp:518
+#: Src/WinPT.cpp:577 Src/WinPT.cpp:581 Src/WinPT.cpp:598 Src/WinPT.cpp:665
+#: Src/WinPT.cpp:678 Src/WinPT.cpp:725 Src/WinPT.cpp:767 Src/WinPT.cpp:786
+#: Src/wptCommonDlg.cpp:224 Src/wptErrors.cpp:141 Src/wptGPG.cpp:921
+#: Src/wptGPG.cpp:933 Src/wptGPG.cpp:943 Src/wptGPG.cpp:954
+#: Src/wptMainProc.cpp:346 Src/wptMainProc.cpp:519
msgid "WinPT Error"
msgstr "Erro WinPT"
-#: Src/WinPT.cpp:228
+#: Src/WinPT.cpp:226
msgid "No useable secret key found."
msgstr "Não foi encontrada nenhuma chave secreta utilizável."
-#: Src/WinPT.cpp:229 Src/wptKeyPropsDlg.cpp:357 Src/wptKeyPropsDlg.cpp:364
+#: Src/WinPT.cpp:227 Src/wptKeyPropsDlg.cpp:357 Src/wptKeyPropsDlg.cpp:364
msgid "WinPT Warning"
msgstr "Aviso do WinPT"
-#: Src/WinPT.cpp:278
+#: Src/WinPT.cpp:276
msgid "Could not read GnuPG version."
msgstr "Não foi possível ler a versão do GnuPG"
-#: Src/WinPT.cpp:284
+#: Src/WinPT.cpp:282
#, c-format
msgid ""
"Sorry, you need a newer GPG version.\n"
@@ -55,11 +55,11 @@
"Desculpe, você precisa de uma versão mais nova do GPG.\n"
"Versão GPG %d.%d.%d; versão requisitada do GPG "
-#: Src/WinPT.cpp:312
+#: Src/WinPT.cpp:310
msgid "Failed to create WinPT directory"
msgstr "Não foi possível criar o diretório do WinPT"
-#: Src/WinPT.cpp:313 Src/WinPT.cpp:330 Src/WinPT.cpp:341
+#: Src/WinPT.cpp:311 Src/WinPT.cpp:328 Src/WinPT.cpp:339
#: Src/wptKeyManagerDlg.cpp:996 Src/wptKeyserver.cpp:634
#: Src/wptKeyserverDlg.cpp:71 Src/wptKeyserverDlg.cpp:73
#: Src/wptKeyserverDlg.cpp:190 Src/wptKeyserverDlg.cpp:198
@@ -72,7 +72,7 @@
msgid "Keyserver"
msgstr "Servidor de chaves"
-#: Src/WinPT.cpp:329
+#: Src/WinPT.cpp:327
msgid "Failed to copy the keyserver.conf"
msgstr "Não foi possível copiar keyserver.conf"
@@ -137,15 +137,15 @@
msgid "Wipe Free Space"
msgstr "Triturar espaço livre"
-#: Src/WinPT.cpp:665
+#: Src/WinPT.cpp:664
msgid "Could not register window class"
msgstr "Não foi possível registrar a classe de janela"
-#: Src/WinPT.cpp:679
+#: Src/WinPT.cpp:678
msgid "Could not create window"
msgstr "Não foi possível criar a janela"
-#: Src/WinPT.cpp:766
+#: Src/WinPT.cpp:765
msgid ""
"The keycache was not initialized or is empty.\n"
"Please check your GPG config (keyrings, pathes...)"
@@ -153,7 +153,7 @@
"O cache de chaves não foi inicializado ou está vazio.\n"
"Por favor verifique sua configuração do GPG (chaveiros, diretórios...)"
-#: Src/WinPT.cpp:769
+#: Src/WinPT.cpp:768
#, fuzzy
msgid ""
"It seems that GPG is not configured properly.\n"
@@ -162,7 +162,7 @@
"Parece que o GPG não está configurado corretamente.\n"
"Você deseja iniciar a janela de preferências do GPG?"
-#: Src/WinPT.cpp:788
+#: Src/WinPT.cpp:787
#, c-format
msgid ""
"Default key (from the GPG config file) could not be found.\n"
@@ -185,7 +185,7 @@
msgstr "Sobre o GnuPG"
#: Src/wptAboutDlgs.cpp:89 Src/wptKeyManagerDlg.cpp:1890
-#: Src/wptMainProc.cpp:567
+#: Src/wptMainProc.cpp:568
msgid "About WinPT"
msgstr "Sobre o WinPT"
@@ -244,7 +244,7 @@
msgid "&Help"
msgstr "A&juda"
-#: Src/wptCardDlg.cpp:149 Src/wptMainProc.cpp:394
+#: Src/wptCardDlg.cpp:149 Src/wptMainProc.cpp:395
msgid "Card Manager"
msgstr "Gerenciador de cartões"
@@ -475,11 +475,11 @@
msgid "PIN successfully changed."
msgstr "PIN alterado com sucesso."
-#: Src/wptCardEdit.cpp:329
+#: Src/wptCardEdit.cpp:332
msgid "Please insert the card and click OK or Cancel to abort."
msgstr "Por favor insira o cartão e clique OK ou Cancelar para abortar."
-#: Src/wptCardEdit.cpp:330
+#: Src/wptCardEdit.cpp:333
msgid "GPG Card Status"
msgstr "Estado do cartão GPG"
@@ -493,7 +493,7 @@
#: Src/wptClipDecryptDlg.cpp:60 Src/wptClipDecryptDlg.cpp:177
#: Src/wptKeyRevokersDlg.cpp:129 Src/wptKeyRevokersDlg.cpp:173
-#: Src/wptVerifyList.cpp:257 Src/wptVerifyList.cpp:317
+#: Src/wptVerifyList.cpp:257 Src/wptVerifyList.cpp:319
msgid "user ID not found"
msgstr "ID de usuário não encontrada"
@@ -556,22 +556,22 @@
#: Src/wptClipDecryptDlg.cpp:216 Src/wptClipVerifyDlg.cpp:154
#: Src/wptClipVerifyDlg.cpp:162 Src/wptClipVerifyDlg.cpp:191
#: Src/wptClipVerifyDlg.cpp:202 Src/wptClipVerifyDlg.cpp:220
-#: Src/wptClipVerifyDlg.cpp:232 Src/wptFileManager.cpp:1636
-#: Src/wptFileManager.cpp:1689 Src/wptFileManagerDlg.cpp:586
+#: Src/wptClipVerifyDlg.cpp:232 Src/wptFileManager.cpp:1670
+#: Src/wptFileManager.cpp:1723 Src/wptFileManagerDlg.cpp:586
#: Src/wptFileVerifyDlg.cpp:83 Src/wptFileVerifyDlg.cpp:150
#: Src/wptMainProc.cpp:208 Src/wptMainProc.cpp:224 Src/wptMainProc.cpp:234
-#: Src/wptMainProc.cpp:403
+#: Src/wptMainProc.cpp:404
msgid "Verify"
msgstr "Verificar"
#: Src/wptClipDecryptDlg.cpp:223 Src/wptClipDecryptDlg.cpp:236
#: Src/wptClipDecryptDlg.cpp:244 Src/wptClipDecryptDlg.cpp:251
-#: Src/wptClipDecryptDlg.cpp:253 Src/wptFileManager.cpp:1343
-#: Src/wptFileManager.cpp:1394
+#: Src/wptClipDecryptDlg.cpp:253 Src/wptFileManager.cpp:1377
+#: Src/wptFileManager.cpp:1428
msgid "Decryption"
msgstr "Decifragem"
-#: Src/wptClipDecryptDlg.cpp:237 Src/wptFileManager.cpp:1395
+#: Src/wptClipDecryptDlg.cpp:237 Src/wptFileManager.cpp:1429
#, fuzzy, c-format
msgid ""
"Encrypted with %s key, ID 0x%s.%s\n"
@@ -621,12 +621,12 @@
#: Src/wptClipEditDlg.cpp:131 Src/wptClipEditDlg.cpp:171
#: Src/wptClipEditDlg.cpp:187 Src/wptClipEditDlg.cpp:257
#: Src/wptClipEditDlg.cpp:262 Src/wptFileManagerDlg.cpp:220
-#: Src/wptMainProc.cpp:193 Src/wptMainProc.cpp:244 Src/wptMainProc.cpp:416
-#: Src/wptMainProc.cpp:499 Src/wptMainProc.cpp:504
+#: Src/wptMainProc.cpp:193 Src/wptMainProc.cpp:244 Src/wptMainProc.cpp:417
+#: Src/wptMainProc.cpp:500 Src/wptMainProc.cpp:505 Src/wptVerifyList.cpp:232
msgid "Clipboard"
msgstr "Área de transferência"
-#: Src/wptClipEditDlg.cpp:113 Src/wptFileManager.cpp:639
+#: Src/wptClipEditDlg.cpp:113 Src/wptFileManager.cpp:649
msgid "File Open"
msgstr "Abrir arquivo"
@@ -681,7 +681,7 @@
msgid "&Decrypt"
msgstr "&Decifrar"
-#: Src/wptClipEditDlg.cpp:221 Src/wptMainProc.cpp:561
+#: Src/wptClipEditDlg.cpp:221 Src/wptMainProc.cpp:562
msgid "Clipboard Editor"
msgstr "Editor da área de transferência"
@@ -743,8 +743,8 @@
#: Src/wptClipSignDlg.cpp:157 Src/wptClipSignDlg.cpp:225
#: Src/wptClipSignDlg.cpp:229 Src/wptClipSignDlg.cpp:249
#: Src/wptClipSignDlg.cpp:260 Src/wptClipSignEncDlg.cpp:159
-#: Src/wptClipSignEncDlg.cpp:170 Src/wptFileManager.cpp:1153
-#: Src/wptFileManager.cpp:1169 Src/wptFileManager.cpp:1459
+#: Src/wptClipSignEncDlg.cpp:170 Src/wptFileManager.cpp:1187
+#: Src/wptFileManager.cpp:1203 Src/wptFileManager.cpp:1493
#: Src/wptMainProc.cpp:179
msgid "Signing"
msgstr "Assinar"
@@ -1062,14 +1062,14 @@
msgstr "Erro desconhecido=%d"
#: Src/wptFileManager.cpp:130 Src/wptFileManager.cpp:152
-#: Src/wptFileManager.cpp:158 Src/wptFileManager.cpp:199
-#: Src/wptFileManager.cpp:324 Src/wptFileManager.cpp:735
-#: Src/wptFileManager.cpp:880 Src/wptFileManager.cpp:995
-#: Src/wptFileManager.cpp:1545 Src/wptFileManager.cpp:1572
-#: Src/wptFileManager.cpp:1591 Src/wptFileManager.cpp:1841
-#: Src/wptFileManager.cpp:1903 Src/wptFileManagerDlg.cpp:529
+#: Src/wptFileManager.cpp:158 Src/wptFileManager.cpp:198
+#: Src/wptFileManager.cpp:324 Src/wptFileManager.cpp:746
+#: Src/wptFileManager.cpp:914 Src/wptFileManager.cpp:1029
+#: Src/wptFileManager.cpp:1579 Src/wptFileManager.cpp:1606
+#: Src/wptFileManager.cpp:1625 Src/wptFileManager.cpp:1877
+#: Src/wptFileManager.cpp:1939 Src/wptFileManagerDlg.cpp:529
#: Src/wptFileManagerDlg.cpp:633 Src/wptFileStatDlg.cpp:154
-#: Src/wptMainProc.cpp:392 Src/wptMDSumDlg.cpp:276 Src/wptMDSumDlg.cpp:281
+#: Src/wptMainProc.cpp:393 Src/wptMDSumDlg.cpp:276 Src/wptMDSumDlg.cpp:281
msgid "File Manager"
msgstr "Gerenciador de arquivos"
@@ -1095,7 +1095,7 @@
msgid "Could not reset file attribute to normal."
msgstr "Não foi possível reiniciar atributos do arquivo para normal."
-#: Src/wptFileManager.cpp:195
+#: Src/wptFileManager.cpp:194
#, fuzzy
msgid ""
"Multi-Media files are already compressed, GPG would compress\n"
@@ -1108,26 +1108,26 @@
"É possível desativar a compressão para esses arquivos.\n"
"Você deseja desabilitá-la?"
-#: Src/wptFileManager.cpp:407 Src/wptKeyEditDlgs.cpp:1075
+#: Src/wptFileManager.cpp:414 Src/wptKeyEditDlgs.cpp:1075
#: Src/wptVerifyList.cpp:169
msgid "Status"
msgstr "Status"
-#: Src/wptFileManager.cpp:408 Src/wptKeyEditDlgs.cpp:1156
+#: Src/wptFileManager.cpp:415 Src/wptKeyEditDlgs.cpp:1156
#: Src/wptKeyRevokersDlg.cpp:57 Src/wptMDSumDlg.cpp:190
#: Src/wptVerifyList.cpp:168
msgid "Name"
msgstr "Nome"
-#: Src/wptFileManager.cpp:409
+#: Src/wptFileManager.cpp:416
msgid "Operation"
msgstr "Operação"
-#: Src/wptFileManager.cpp:734
+#: Src/wptFileManager.cpp:745
msgid "Please select a file."
msgstr "Por favor selecione um arquivo."
-#: Src/wptFileManager.cpp:881
+#: Src/wptFileManager.cpp:915
#, c-format
msgid ""
"\"%s\" does not seems to be a text file.\n"
@@ -1136,64 +1136,64 @@
"\"%s\" não parece ser um arquivo de texto.\n"
"Você realmente deseja fazer uma assinatura de texto puro?"
-#: Src/wptFileManager.cpp:996
+#: Src/wptFileManager.cpp:1030
#, c-format
msgid "\"%s\" does not exist"
msgstr "\"%s\" não existe"
-#: Src/wptFileManager.cpp:1079 Src/wptFileStatDlg.cpp:283
+#: Src/wptFileManager.cpp:1113 Src/wptFileStatDlg.cpp:283
#: Src/wptFileStatDlg.cpp:287
msgid "File Status"
msgstr "Estado do arquivo"
-#: Src/wptFileManager.cpp:1123
+#: Src/wptFileManager.cpp:1156
#, fuzzy
msgid "Enter Filename for Encrypted File"
msgstr "Insira o nome para o arquivo cifrado"
-#: Src/wptFileManager.cpp:1152
+#: Src/wptFileManager.cpp:1186
msgid "Could not get default secret key."
msgstr "Não foi possível obter a chave secreta padrão."
-#: Src/wptFileManager.cpp:1183 Src/wptFileManager.cpp:1495
+#: Src/wptFileManager.cpp:1217 Src/wptFileManager.cpp:1529
#: Src/wptFileManagerDlg.cpp:584 Src/wptMainProc.cpp:156
-#: Src/wptMainProc.cpp:400 Src/wptMainProc.cpp:407
+#: Src/wptMainProc.cpp:401 Src/wptMainProc.cpp:408
msgid "Sign"
msgstr "Assinar"
-#: Src/wptFileManager.cpp:1196 Src/wptFileManagerDlg.cpp:582
-#: Src/wptMainProc.cpp:399 Src/wptMainProc.cpp:404
+#: Src/wptFileManager.cpp:1230 Src/wptFileManagerDlg.cpp:582
+#: Src/wptMainProc.cpp:400 Src/wptMainProc.cpp:405
msgid "Encrypt"
msgstr "Cifrar"
-#: Src/wptFileManager.cpp:1223 Src/wptSymEnc.cpp:72 Src/wptSymEnc.cpp:92
+#: Src/wptFileManager.cpp:1257 Src/wptSymEnc.cpp:72 Src/wptSymEnc.cpp:92
msgid "Symmetric Encryption"
msgstr "Cifragem simétrica"
-#: Src/wptFileManager.cpp:1256 Src/wptFileManager.cpp:1261
-#: Src/wptMainProc.cpp:398 Src/wptMainProc.cpp:408
+#: Src/wptFileManager.cpp:1290 Src/wptFileManager.cpp:1295
+#: Src/wptMainProc.cpp:399 Src/wptMainProc.cpp:409
msgid "Symmetric"
msgstr "Simétrica"
-#: Src/wptFileManager.cpp:1261
+#: Src/wptFileManager.cpp:1295
msgid "Encryption failed."
msgstr "Cifragem falhou."
-#: Src/wptFileManager.cpp:1352
+#: Src/wptFileManager.cpp:1386
msgid "Choose Filename for Output"
msgstr "Escolha nome de arquivo para saída"
-#: Src/wptFileManager.cpp:1361
+#: Src/wptFileManager.cpp:1395
#, fuzzy
msgid "Enter Filename for Plaintext File"
msgstr "Insira nome de arquivo de texto puro"
-#: Src/wptFileManager.cpp:1403 Src/wptFileManager.cpp:1423
+#: Src/wptFileManager.cpp:1437 Src/wptFileManager.cpp:1457
#: Src/wptFileManagerDlg.cpp:583
msgid "Decrypt"
msgstr "Decifrar"
-#: Src/wptFileManager.cpp:1409
+#: Src/wptFileManager.cpp:1443
#, c-format
msgid ""
"Decryption failed.\n"
@@ -1202,7 +1202,7 @@
"Decifragem falhou.\n"
"%s: não existe."
-#: Src/wptFileManager.cpp:1424
+#: Src/wptFileManager.cpp:1458
#, c-format
msgid ""
"The original file name is '%s'.\n"
@@ -1213,32 +1213,32 @@
"\n"
"Você deseja usá-lo em vez de '%s'?"
-#: Src/wptFileManager.cpp:1472
+#: Src/wptFileManager.cpp:1506
#, fuzzy
msgid "Enter Filename for Signed File"
msgstr "Insira nome para arquivo assinado"
-#: Src/wptFileManager.cpp:1571
+#: Src/wptFileManager.cpp:1605
msgid "Could not find detached signature in the clipboard."
msgstr "Não foi possível achar assinatura destacada na área de transferéncia."
-#: Src/wptFileManager.cpp:1591
+#: Src/wptFileManager.cpp:1625
msgid "No files to check."
msgstr "Sem arquivos para verificar."
-#: Src/wptFileManager.cpp:1608
+#: Src/wptFileManager.cpp:1642
msgid "Select Data File"
msgstr "Selecionar arquivo de dados"
-#: Src/wptFileManager.cpp:1610
+#: Src/wptFileManager.cpp:1644
msgid "Selected Output File"
msgstr "Selecionar arquivo de saída"
-#: Src/wptFileManager.cpp:1636
+#: Src/wptFileManager.cpp:1670
msgid "Invalid file name. Exit"
msgstr "Nome de arquivo inválido. Saindo"
-#: Src/wptFileManager.cpp:1734 Src/wptFileManager.cpp:1745
+#: Src/wptFileManager.cpp:1770 Src/wptFileManager.cpp:1781
#: Src/wptFileManagerDlg.cpp:245 Src/wptImportList.cpp:404
#: Src/wptImportList.cpp:411 Src/wptImportList.cpp:421
#: Src/wptImportList.cpp:429 Src/wptImportList.cpp:438
@@ -1248,7 +1248,7 @@
msgid "Import"
msgstr "Importar"
-#: Src/wptFileManager.cpp:1742
+#: Src/wptFileManager.cpp:1778
msgid ""
"Key without a self signature was dectected!\n"
"(This key is NOT usable for encryption, etc)\n"
@@ -1260,58 +1260,58 @@
"\n"
"Não foi possível importar essa(s) chave(s)!"
-#: Src/wptFileManager.cpp:1768 Src/wptKeyManager.cpp:282
+#: Src/wptFileManager.cpp:1804 Src/wptKeyManager.cpp:282
#: Src/wptKeyManager.cpp:325 Src/wptKeyManager.cpp:360
msgid "No key was selected for export."
msgstr "Nenhuma chave selecionada para exportação."
-#: Src/wptFileManager.cpp:1769 Src/wptFileManager.cpp:1792
+#: Src/wptFileManager.cpp:1805 Src/wptFileManager.cpp:1828
#: Src/wptKeyserverDlg.cpp:93
msgid "Export"
msgstr "Exportar"
-#: Src/wptFileManager.cpp:1777 Src/wptKeyManagerDlg.cpp:1850
+#: Src/wptFileManager.cpp:1813 Src/wptKeyManagerDlg.cpp:1850
#: Src/wptKeyManagerDlg.cpp:1882
msgid "Choose Name for Key File"
msgstr "Escolher nome para arquivo de chaves"
-#: Src/wptFileManager.cpp:1796 Src/wptKeyEditDlgs.cpp:1055
+#: Src/wptFileManager.cpp:1832 Src/wptKeyEditDlgs.cpp:1055
#: Src/wptKeyEditDlgs.cpp:1314 Src/wptKeyEditDlgs.cpp:1386
#: Src/wptKeyserverDlg.cpp:105
msgid "GnuPG status"
msgstr "Estado do GnuPG"
-#: Src/wptFileManager.cpp:1796
+#: Src/wptFileManager.cpp:1832
#, c-format
msgid "Finished (Output: %s)"
msgstr "Concluído (Saída: %s)"
-#: Src/wptFileManager.cpp:1842
+#: Src/wptFileManager.cpp:1878
#, c-format
msgid "%s: no valid OpenPGP data found."
msgstr "%s: nenhum dado OpenPGP válido encontrado."
-#: Src/wptFileManager.cpp:1902
+#: Src/wptFileManager.cpp:1938
msgid "Encrypting into a ZIP archive makes sense with multiple files"
msgstr "Cifrar para um arquivo ZIP faz sentido com mais de um arquivo"
-#: Src/wptFileManager.cpp:1907
+#: Src/wptFileManager.cpp:1943
msgid "Choose File Name for Output"
msgstr "Escolher nome de arquivo para saída"
-#: Src/wptFileManager.cpp:1979
+#: Src/wptFileManager.cpp:2015
msgid "Choose a Name for the Archive"
msgstr "Escolher nome para arquivo comprimido"
-#: Src/wptFileManager.cpp:1982
+#: Src/wptFileManager.cpp:2018
msgid "Invalid archive name. Exit."
msgstr "Nome de arquivo inválido. Saindo."
-#: Src/wptFileManager.cpp:1983 Src/wptFileManager.cpp:1991
+#: Src/wptFileManager.cpp:2019 Src/wptFileManager.cpp:2027
msgid "Encrypt Directory"
msgstr "Cifrar diretório"
-#: Src/wptFileManager.cpp:1990
+#: Src/wptFileManager.cpp:2026
msgid "Could not create zip archive."
msgstr "Não foi possível criar o arquivo zip."
@@ -1415,13 +1415,13 @@
msgid "%d Object(s) marked"
msgstr "%d Objeto(s) marcado(s)"
-#: Src/wptFileManagerDlg.cpp:495 Src/wptMainProc.cpp:531
+#: Src/wptFileManagerDlg.cpp:495 Src/wptMainProc.cpp:532
msgid "File Manager (use drag & drop to add files)"
msgstr "Gerenciados de arquivos (arrastar & soltar para adicionar arquivos)"
#: Src/wptFileManagerDlg.cpp:499 Src/wptKeyManagerDlg.cpp:967
#: Src/wptKeyManagerDlg.cpp:972 Src/wptKeyManagerDlg.cpp:983
-#: Src/wptMainProc.cpp:395
+#: Src/wptMainProc.cpp:396
msgid "Edit"
msgstr "Editar"
@@ -1439,7 +1439,7 @@
msgstr "As&sinar"
#: Src/wptFileManagerDlg.cpp:506 Src/wptFileManagerDlg.cpp:585
-#: Src/wptMainProc.cpp:401 Src/wptMainProc.cpp:405
+#: Src/wptMainProc.cpp:402 Src/wptMainProc.cpp:406
msgid "Sign && Encrypt"
msgstr "Assinar e cifrar"
@@ -1459,7 +1459,7 @@
msgid "E&xport"
msgstr "E&xportar"
-#: Src/wptFileManagerDlg.cpp:511 Src/wptMainProc.cpp:397
+#: Src/wptFileManagerDlg.cpp:511 Src/wptMainProc.cpp:398
msgid "Exit"
msgstr "Sair"
@@ -1584,7 +1584,7 @@
msgid "WinPT First Start"
msgstr "Primeira execução do WinPT"
-#: Src/wptGPG.cpp:844
+#: Src/wptGPG.cpp:839
msgid ""
"The selected keyring has the read-only file\n"
"attribute. In this state you do not have write\n"
@@ -1594,19 +1594,19 @@
"somente-leitura. Nesse estado você não tem acesso de\n"
"escrita. Você deseja remover o atributo?"
-#: Src/wptGPG.cpp:847
+#: Src/wptGPG.cpp:842
msgid "GPG Information"
msgstr "Informação do GPG"
-#: Src/wptGPG.cpp:851
+#: Src/wptGPG.cpp:846
msgid "Could not reset read-only state."
msgstr "Não foi possível remover o estado somente-leitura."
-#: Src/wptGPG.cpp:852
+#: Src/wptGPG.cpp:847
msgid "GPG Error"
msgstr "Erro do GPG"
-#: Src/wptGPG.cpp:864
+#: Src/wptGPG.cpp:859
msgid ""
"You do not have file access to modify the contents of\n"
"one or both of the selected keyrings.\n"
@@ -1620,22 +1620,22 @@
"Os chaveiros estão num estado somente-leitura que é provavelmente\n"
"causado por outro programa que já abriu os arquivos.\n"
-#: Src/wptGPG.cpp:869
+#: Src/wptGPG.cpp:864
msgid "GPG Warning"
msgstr "Aviso do GPG"
-#: Src/wptGPG.cpp:893 Src/wptGPGPrefsDlg.cpp:222 Src/wptGPGPrefsDlg.cpp:228
+#: Src/wptGPG.cpp:888 Src/wptGPGPrefsDlg.cpp:222 Src/wptGPGPrefsDlg.cpp:228
#: Src/wptGPGPrefsDlg.cpp:234 Src/wptGPGPrefsDlg.cpp:240
#: Src/wptGPGPrefsDlg.cpp:245 Src/wptGPGPrefsDlg.cpp:250
#: Src/wptGPGPrefsDlg.cpp:256 Src/wptGPGPrefsDlg.cpp:270
-#: Src/wptKeyEditDlgs.cpp:1713 Src/wptMainProc.cpp:418
+#: Src/wptKeyEditDlgs.cpp:1713 Src/wptMainProc.cpp:419
#: Src/wptPreferencesDlg.cpp:225 Src/wptPreferencesDlg.cpp:270
#: Src/wptPreferencesDlg.cpp:282 Src/wptPreferencesDlg.cpp:295
-#: Src/wptPreferencesDlg.cpp:326 Src/wptRegistry.cpp:595
+#: Src/wptPreferencesDlg.cpp:326 Src/wptRegistry.cpp:599
msgid "Preferences"
msgstr "Preferências"
-#: Src/wptGPG.cpp:894
+#: Src/wptGPG.cpp:889
#, c-format
msgid ""
"%s does not exit.\n"
@@ -1644,40 +1644,40 @@
"%s não existe.\n"
"Você deseja criar esse diretório?"
-#: Src/wptGPG.cpp:922
+#: Src/wptGPG.cpp:917
msgid "Please choose your Public Keyring"
msgstr "Por favor escolha seu chaveiro público"
-#: Src/wptGPG.cpp:925 Src/wptGPG.cpp:947
+#: Src/wptGPG.cpp:920 Src/wptGPG.cpp:942
msgid "No keyring was chosen. Exit."
msgstr "Nenhum chaveiro foi escolhido. Saindo."
-#: Src/wptGPG.cpp:932
+#: Src/wptGPG.cpp:927
msgid "Overwrite old public keyring?"
msgstr "Sobrescrever antigo chaveiro público?"
-#: Src/wptGPG.cpp:938 Src/wptGPG.cpp:959
+#: Src/wptGPG.cpp:933 Src/wptGPG.cpp:954
msgid "Could not copy file."
msgstr "Não foi possível copiar o arquivo."
-#: Src/wptGPG.cpp:944
+#: Src/wptGPG.cpp:939
msgid "Please choose your Secret Keyring"
msgstr "Por favor escolha seu chaveiro privado"
-#: Src/wptGPG.cpp:953
+#: Src/wptGPG.cpp:948
msgid "Overwrite old secret keyring?"
msgstr "Sobrescrever antigo chaveiro privado?"
-#: Src/wptGPG.cpp:999 Src/wptGPG.cpp:1088 Src/wptGPG.cpp:1101
+#: Src/wptGPG.cpp:994 Src/wptGPG.cpp:1083 Src/wptGPG.cpp:1096
msgid "Backup"
msgstr "Backup"
-#: Src/wptGPG.cpp:999
+#: Src/wptGPG.cpp:994
#, c-format
msgid "Backup keyring \"%s\" failed"
msgstr "Backup do chaveiro \"%s\" falhou"
-#: Src/wptGPG.cpp:1089
+#: Src/wptGPG.cpp:1084
#, fuzzy, c-format
msgid ""
"The backup drive '%s' does not seems to be accessable.\n"
@@ -1686,50 +1686,50 @@
"O drive de backup '%s' não parece estar acessível.\n"
"Por favor insira/verifique o drive para continuar."
-#: Src/wptGPG.cpp:1101
+#: Src/wptGPG.cpp:1096
#, c-format
msgid "Invalid backup mode %d"
msgstr "Modo de backup %d inválido"
-#: Src/wptGPGME.cpp:281
+#: Src/wptGPGME.cpp:284
#, fuzzy
msgid "Error during verification process"
msgstr "Erro durante o processo de verificação."
-#: Src/wptGPGME.cpp:282
+#: Src/wptGPGME.cpp:285
#, fuzzy
msgid "The signature is good"
msgstr "A assinatura está boa."
-#: Src/wptGPGME.cpp:283
+#: Src/wptGPGME.cpp:286
msgid "The signature is BAD!"
msgstr "A assinatura está RUIM!"
-#: Src/wptGPGME.cpp:284
+#: Src/wptGPGME.cpp:287
#, fuzzy
msgid "The signature could not be checked due to a missing key"
msgstr "A assinatura não pôde ser verificada devido à falta de uma chave."
-#: Src/wptGPGME.cpp:285
+#: Src/wptGPGME.cpp:288
#, fuzzy
msgid "No valid OpenPGP signature"
msgstr "Assinatura OpenPGP inválida."
-#: Src/wptGPGME.cpp:286
+#: Src/wptGPGME.cpp:289
msgid "Signature Error"
msgstr "Erro na assinatura"
-#: Src/wptGPGME.cpp:287
+#: Src/wptGPGME.cpp:290
#, fuzzy
msgid "Good signature (Expired Key)"
msgstr "Assinatura boa (chave expirada)"
-#: Src/wptGPGME.cpp:288
+#: Src/wptGPGME.cpp:291
#, fuzzy
msgid "Good signature (Revoked Key)"
msgstr "Assinatura boa (chave revogada)"
-#: Src/wptGPGME.cpp:289
+#: Src/wptGPGME.cpp:292
#, fuzzy
msgid "Good signature (Expired)"
msgstr "Assinatura boa (chave expirada)"
@@ -1777,7 +1777,7 @@
"Tem certeza?"
#: Src/wptGPGPrefsDlg.cpp:152 Src/wptKeyManagerDlg.cpp:1812
-#: Src/wptMainProc.cpp:579
+#: Src/wptMainProc.cpp:580
msgid "GnuPG Preferences"
msgstr "Preferências do GnuPG"
@@ -1886,7 +1886,7 @@
#: Src/wptKeyManagerDlg.cpp:1950 Src/wptKeyManagerDlg.cpp:2064
#: Src/wptKeysigDlg.cpp:94 Src/wptKeysigDlg.cpp:106 Src/wptKeysigDlg.cpp:317
#: Src/wptKeysigDlg.cpp:389 Src/wptKeysigDlg.cpp:399 Src/wptKeysigDlg.cpp:442
-#: Src/wptMainProc.cpp:393 Src/wptMainProc.cpp:542 Src/wptMainProc.cpp:550
+#: Src/wptMainProc.cpp:394 Src/wptMainProc.cpp:543 Src/wptMainProc.cpp:551
msgid "Key Manager"
msgstr "Gerenciador de chaves"
@@ -3433,7 +3433,7 @@
msgid "Keyserver Access"
msgstr "Acesso ao servidor de chaves"
-#: Src/wptKeyManagerDlg.cpp:1806 Src/wptMainProc.cpp:573
+#: Src/wptKeyManagerDlg.cpp:1806 Src/wptMainProc.cpp:574
#: Src/wptPreferencesDlg.cpp:139
msgid "WinPT Preferences"
msgstr "Preferências do WinPT"
@@ -3486,7 +3486,7 @@
msgstr "Eu confio definitivamente (implícito)"
#: Src/wptKeyPropsDlg.cpp:72 Src/wptVerifyList.cpp:246
-#: Src/wptVerifyList.cpp:309
+#: Src/wptVerifyList.cpp:311
msgid "Unknown"
msgstr "Desconhecida"
@@ -3660,7 +3660,7 @@
msgid "Could not save keyserver.conf file"
msgstr "Não foi possível salvar o arquivo keyserver.conf"
-#: Src/wptKeyserver.cpp:678
+#: Src/wptKeyserver.cpp:718
#, fuzzy
msgid ""
"Invalid proxy configuration. You need to set a user and a password to use "
@@ -3669,11 +3669,11 @@
"Configuração de proxy inválida. Você precisa definir um usuário e uma senha "
"para usar a autenticação de proxy!"
-#: Src/wptKeyserver.cpp:681
+#: Src/wptKeyserver.cpp:721
msgid "Proxy Error"
msgstr "Erro do proxy"
-#: Src/wptKeyserver.cpp:706
+#: Src/wptKeyserver.cpp:746
msgid ""
"All entries of this file must have a valid prefix.\n"
"Currently HKP/HTTP, LDAP and FINGER are supported.\n"
@@ -3681,15 +3681,15 @@
"Todas as entradas deste arquivo devem ter um prefixo válido.\n"
"Atualmente, são suportados HKP/HTTP, LDAP e FINGER.\n"
-#: Src/wptKeyserver.cpp:708
+#: Src/wptKeyserver.cpp:748
msgid "Keyserver Error"
msgstr "Erro do servidor de chaves"
-#: Src/wptKeyserver.cpp:727
+#: Src/wptKeyserver.cpp:767
msgid "The keyserver limit is exceeded"
msgstr "O limite do servidor de chaves foi excedido"
-#: Src/wptKeyserver.cpp:728
+#: Src/wptKeyserver.cpp:768
msgid "Keyserver Warning"
msgstr "Aviso do servidor de chaves"
@@ -3832,11 +3832,11 @@
msgid "&Edit"
msgstr "&Editar"
-#: Src/wptKeyserverDlg.cpp:696 Src/wptProxySettingsDlg.cpp:73
-#: Src/wptProxySettingsDlg.cpp:83 Src/wptProxySettingsDlg.cpp:88
-#: Src/wptProxySettingsDlg.cpp:95 Src/wptProxySettingsDlg.cpp:100
-#: Src/wptProxySettingsDlg.cpp:105 Src/wptProxySettingsDlg.cpp:164
-#: Src/wptProxySettingsDlg.cpp:199
+#: Src/wptKeyserverDlg.cpp:696 Src/wptProxySettingsDlg.cpp:103
+#: Src/wptProxySettingsDlg.cpp:113 Src/wptProxySettingsDlg.cpp:118
+#: Src/wptProxySettingsDlg.cpp:125 Src/wptProxySettingsDlg.cpp:130
+#: Src/wptProxySettingsDlg.cpp:135 Src/wptProxySettingsDlg.cpp:194
+#: Src/wptProxySettingsDlg.cpp:229
msgid "Proxy Settings"
msgstr "Configurações de proxy"
@@ -4131,35 +4131,35 @@
msgid "Unknown OpenPGP type."
msgstr "Tipo desconhecido ao OpenPGP."
-#: Src/wptMainProc.cpp:344
+#: Src/wptMainProc.cpp:345
msgid "Could not set current window mode hooks."
msgstr ""
-#: Src/wptMainProc.cpp:396
+#: Src/wptMainProc.cpp:397
msgid "About..."
msgstr "Sobre..."
-#: Src/wptMainProc.cpp:402 Src/wptMainProc.cpp:406
+#: Src/wptMainProc.cpp:403 Src/wptMainProc.cpp:407
msgid "Decrypt/Verify"
msgstr "Decifrar/Verificar"
-#: Src/wptMainProc.cpp:417
+#: Src/wptMainProc.cpp:418
msgid "Current Window"
msgstr "Janela atual"
-#: Src/wptMainProc.cpp:475
+#: Src/wptMainProc.cpp:476
msgid "Remove all passphrases from cache?"
msgstr "Remover todas as frases secretas do cache?"
-#: Src/wptMainProc.cpp:476 Src/wptProgressDlg.cpp:135 Src/wptRegistry.cpp:198
+#: Src/wptMainProc.cpp:477 Src/wptProgressDlg.cpp:136 Src/wptRegistry.cpp:274
msgid "WinPT"
msgstr ""
-#: Src/wptMainProc.cpp:486
+#: Src/wptMainProc.cpp:487
msgid "Could not access public keyring, exit WinPT?"
msgstr "Não foi possível acessar o chaveiro público. Sair do WinPT?"
-#: Src/wptMainProc.cpp:519
+#: Src/wptMainProc.cpp:520
#, c-format
msgid ""
"Make sure that the window contains text.\n"
@@ -4465,72 +4465,72 @@
msgid "Could not create progress thread."
msgstr ""
-#: Src/wptProxySettingsDlg.cpp:73
+#: Src/wptProxySettingsDlg.cpp:103
msgid "Invalid host/IP address."
msgstr "Servidor/endereço IP inválido."
-#: Src/wptProxySettingsDlg.cpp:82
+#: Src/wptProxySettingsDlg.cpp:112
msgid "Please enter the proxy hostname."
msgstr "Por favor insira o nome do servidor proxy."
-#: Src/wptProxySettingsDlg.cpp:88
+#: Src/wptProxySettingsDlg.cpp:118
msgid "Invalid port number."
msgstr "Número de porta inválido."
-#: Src/wptProxySettingsDlg.cpp:94
+#: Src/wptProxySettingsDlg.cpp:124
msgid "Please select a value from 0-65535 for the port"
msgstr "Por favor insira um valor entre 0 e 65535 para a porta"
-#: Src/wptProxySettingsDlg.cpp:99
+#: Src/wptProxySettingsDlg.cpp:129
msgid "When you want to use authentication, please fill out both fields."
msgstr ""
"Quando você desejar usar autenticação, por favor preencha ambos os campos."
-#: Src/wptProxySettingsDlg.cpp:104
+#: Src/wptProxySettingsDlg.cpp:134
msgid "Please enter a host name and a port."
msgstr "Por favor insira um endereço e uma porta."
-#: Src/wptProxySettingsDlg.cpp:158
+#: Src/wptProxySettingsDlg.cpp:188
msgid "Proxy host name or IP address"
msgstr "Nome ou endereço IP do proxy"
-#: Src/wptProxySettingsDlg.cpp:159
+#: Src/wptProxySettingsDlg.cpp:189
msgid "Server requires &authentication"
msgstr "Servidor requer &autenticação"
-#: Src/wptProxySettingsDlg.cpp:160
+#: Src/wptProxySettingsDlg.cpp:190
msgid "User name"
msgstr "Nome de usuário"
-#: Src/wptProxySettingsDlg.cpp:161
+#: Src/wptProxySettingsDlg.cpp:191
msgid "Password"
msgstr "Senha"
-#: Src/wptProxySettingsDlg.cpp:162
+#: Src/wptProxySettingsDlg.cpp:192
msgid "Proxy type"
msgstr "Tipo de proxy"
-#: Src/wptProxySettingsDlg.cpp:163
+#: Src/wptProxySettingsDlg.cpp:193
msgid "Authentication"
msgstr "Autenticação"
-#: Src/wptProxySettingsDlg.cpp:198
+#: Src/wptProxySettingsDlg.cpp:228
msgid "Please fill out all required fields for authentication."
msgstr "Por favor preencha todos os campos requeridos para autenticação."
-#: Src/wptRegistry.cpp:160
+#: Src/wptRegistry.cpp:225
msgid "GPG Detached Signature"
msgstr "Assinatura destacada GPG"
-#: Src/wptRegistry.cpp:161
+#: Src/wptRegistry.cpp:226
msgid "GPG Encrypted Data"
msgstr "Dados cifrados GPG"
-#: Src/wptRegistry.cpp:162
+#: Src/wptRegistry.cpp:227
msgid "GPG Armored Data"
msgstr "Dados protegidos GPG"
-#: Src/wptRegistry.cpp:196
+#: Src/wptRegistry.cpp:272
msgid ""
"WinPT can register some GPG file types for you so they can be processed with "
"a double click in the explorer.\n"
@@ -4540,11 +4540,11 @@
"ser processados com um clique duplo no 'explorer'.\n"
"Você deseja continuar?"
-#: Src/wptRegistry.cpp:204
+#: Src/wptRegistry.cpp:280
msgid "WinPT WARNING"
msgstr "AVISO do WinPT"
-#: Src/wptRegistry.cpp:205
+#: Src/wptRegistry.cpp:281
#, c-format
msgid ""
"It seems there was already a '%s' file type registered by another "
@@ -4554,7 +4554,7 @@
"Parece que já há um tipo de arquivo '%s' registrado por outra aplicação.\n"
"Você deseja sobrescrevê-lo?"
-#: Src/wptRegistry.cpp:595
+#: Src/wptRegistry.cpp:599
msgid "Could not write to Registry."
msgstr "Não foi possível escrever no Registro."
Modified: trunk/Src/ChangeLog
===================================================================
--- trunk/Src/ChangeLog 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/ChangeLog 2006-10-21 18:08:57 UTC (rev 270)
@@ -1,3 +1,17 @@
+2006-10-21 Timo Schulz <twoaday at freakmail.de>
+
+ * wptKeyserver.cpp (get_reg_proxy_prefs): Load the protocol
+ and store it.
+
+2006-10-04 Timo Schulz <twoaday at freakmail.de>
+
+ * wptFileManager.cpp (fm_check_armor_type): Remove space in
+ search pattern string.
+ (fm_check_for_entry): Case insentensive search.
+ (fm_add_dir_files): Use W32 API directly.
+ * wptVerifyList.cpp (verlist_add_sig_log): Use proper icon.
+ * wptGPGUtil.cpp (get_gpg_version): Cleanups.
+
2006-08-30 Timo Schulz <twoaday at freakmail.de>
* wptRegistry.cpp (get_reg_entry): Do not use static buffers.
Modified: trunk/Src/WinPT.cpp
===================================================================
--- trunk/Src/WinPT.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/WinPT.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -71,10 +71,10 @@
err = DialogBoxParam (glob_hinst, (LPCSTR)IDD_WINPT_KEYCACHE, hwnd,
keycache_dlg_proc, (LPARAM)&rcs);
if (err) {
- char *cfg = get_gnupg_config ();
- if (cfg && check_gnupg_options (cfg, 0) == WPTERR_FILE_EXIST)
+ char *cfgf = get_gnupg_config ();
+ if (cfgf && check_gnupg_options (cfgf, 0) == WPTERR_FILE_EXIST)
msg_box (NULL, _("The gpg.conf contains at least one argument which points to a non-existing file."), "WinPT", MB_ERR);
- free_if_alloc (cfg);
+ free_if_alloc (cfgf);
return -1;
}
return 0;
@@ -103,7 +103,7 @@
static void
load_gettext (void)
{
- char *nls = NULL;
+ char *nls;
/* Return the name of the gettext language file. */
nls = get_reg_entry_mo ();
@@ -131,7 +131,7 @@
}
}
free_if_alloc (p);
- p = get_reg_entry_gpg4win (NULL);
+ p = get_reg_entry_gpg4win (NULL);
if (!p || dir_exist_check (p) != 0) {
free_if_alloc (p);
p = get_reg_entry_gpg ("HomeDir");
@@ -174,6 +174,7 @@
SECURITY_ATTRIBUTES sec_attr;
char *p;
char *pkr;
+ int err = 0;
p = get_reg_entry_gpg4win ("gpg.exe");
if (!p)
@@ -202,13 +203,10 @@
check_readonly_attr (p);
pkr = make_filename (p, "pubring", "gpg");
free_if_alloc (p);
- if (!pkr)
- return -1;
- if (get_file_size (pkr) == 0) {
- free_if_alloc (pkr);
- return -1;
- }
- return 0;
+ if (get_file_size (pkr) == 0)
+ err = -1;
+ free_if_alloc (pkr);
+ return err;
}
@@ -236,8 +234,8 @@
static const char*
get_prog_part (const char * fname, int use_cwd)
{
- static char program[512];
- char currdir[256];
+ static char program[2*MAX_PATH+1];
+ char currdir[MAX_PATH+1];
char *cmd = NULL;
int j;
@@ -250,7 +248,7 @@
}
else {
cmd = GetCommandLine ();
- if (cmd == NULL)
+ if (!cmd)
return NULL;
strncpy (currdir, cmd, sizeof (currdir)-1);
j = strlen (currdir);
@@ -286,7 +284,7 @@
ma, mi, pa);
return false;
}
- /* We enable smartcard support for GPG: >= 2 or >= 1.4.3 */
+ /* Enable smart card support for GPG 2 or >= 1.4 */
if ((ma > 1 || pa >= 4) && pcsc_available ())
scard_support = 1;
@@ -480,7 +478,9 @@
ec = get_file_version ("PTD.dll", &ptdver[0], &ptdver[1],
&ptdver[2], &ptdver[3]);
- if (!ec && (ptdver[0] != ver[0] || ptdver[1] != ver[1]|| ptdver[2] != ver[2])) {
+ if (!ec && (ptdver[0] != ver[0] ||
+ ptdver[1] != ver[1] ||
+ ptdver[2] != ver[2])) {
log_box (_("WinPT Error"), MB_ERR,
_("The PTD.dll file has a different version than WinPT.exe\n"
"Please update the PTD.dll to version %d.%d.%d"),
@@ -551,7 +551,7 @@
if (!p)
BUG (0);
n = p - s;
- if (n) {
+ if (n > 0) {
char *file = new char[n+1];
if (!file)
BUG (NULL);
@@ -630,8 +630,7 @@
if (cmdline && (stristr (cmdline, "--keymanager")
|| stristr (cmdline, "--cardmanager"))) {
/* If an instance of WinPT is running, just send the command
- to open the key manager. Otherwise start a new instance.
- */
+ to open the key manager. Otherwise start a new instance. */
HWND tray = FindWindow ("WinPT", "WinPT");
if (stristr (cmdline, "keymanager"))
start_manager = ID_WINPT_KEY;
Modified: trunk/Src/wptCardEdit.cpp
===================================================================
--- trunk/Src/wptCardEdit.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptCardEdit.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -135,7 +135,7 @@
CARD_Fpr,
CARD_FprTime
};
- enum rectype_t rectype = (rectype_t)0;
+ enum rectype_t rectype = CARD_None;
char *p, *pend;
int field = 0;
@@ -315,10 +315,12 @@
{
static int wait_card=0;
GpgCardEdit *ce = (GpgCardEdit *)opaque;
- const char *s="";
+ const char *s = "";
DWORD n;
-
+ if (!ce)
+ return gpg_error (GPG_ERR_INV_VALUE);
+
if (code == GPGME_STATUS_CARDCTRL) {
if (!strcmp (key, "5"))
ce->setResult (GPG_CARDRES_NOCARD);
@@ -326,11 +328,13 @@
wait_card = 1;
}
if (wait_card && !strcmp (key, "cardctrl.insert_card.okay")) {
+ /* :TODO: show card ID */
n = MessageBox (NULL, _("Please insert the card and click OK or Cancel to abort."),
_("GPG Card Status"), MB_ICONQUESTION|MB_OKCANCEL);
if (n == IDCANCEL) {
+ s = "c\n";
ce->setResult (GPG_CARDRES_CANCEL);
- WriteFile ((HANDLE)fd, "c\n", 2, &n, NULL);
+ WriteFile ((HANDLE)fd, s, strlen (s), &n, NULL);
wait_card = 0;
}
}
@@ -390,6 +394,7 @@
this->pin = _pin;
}
+
/* Set the admin PIN for the object to @admin_pin. */
void
GpgCardEdit::setAdminPIN (const char *_admin_pin)
@@ -432,11 +437,12 @@
{
gpgme_data_t out = NULL;
gpgme_error_t err;
- gpg_card_t card=NULL;
+ gpg_card_t card = NULL;
char buf[200];
if (!r_card)
return gpg_error (GPG_ERR_INV_ARG);
+ *r_card = NULL;
err = gpg_card_new (&card);
if (err)
@@ -482,9 +488,9 @@
@valid: how long is the key valid in days.
Return value: 0 on success. */
gpgme_error_t
-GpgCardEdit::genKey (int flags, const char *name,
- const char *email, const char *comment, long valid,
- char **r_key_fpr)
+GpgCardEdit::genKey (int flags,
+ const char *name, const char *email, const char *comment,
+ long valid, char **r_key_fpr)
{
gpgme_error_t err;
@@ -553,6 +559,7 @@
}
+/* Update the given and the surname on the card. */
gpgme_error_t
GpgCardEdit::updateName (const char *given, const char *sur)
{
@@ -568,7 +575,8 @@
err = gpg_card_edit (ctx, this);
return err;
}
-
+
+/* Update the given URL on the card. */
gpgme_error_t
GpgCardEdit::updateURL (const char *_url)
{
@@ -600,6 +608,7 @@
return err;
}
+
gpgme_error_t
GpgCardEdit::updateSex (char sex)
{
Modified: trunk/Src/wptCardEditCB.cpp
===================================================================
--- trunk/Src/wptCardEditCB.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptCardEditCB.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -275,7 +275,8 @@
if (c->edit.sex != 'M'
&& c->edit.sex != 'F'
&& c->edit.sex != ' ') {
- buf[0] = ' '; buf[1] = 0;
+ buf[0] = ' ';
+ buf[1] = 0;
}
else {
buf[0] = c->edit.sex;
Modified: trunk/Src/wptFileManager.cpp
===================================================================
--- trunk/Src/wptFileManager.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptFileManager.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -190,8 +190,7 @@
int ans=0;
i = get_reg_winpt_single (CFG_NOZIP_MMEDIA);
- if (i == -1)
- {
+ if (i == -1) {
ans = msg_box (NULL, _("Multi-Media files are already compressed, GPG would compress\n"
"them anyway and this takes a lot of time.\n"
"It is possible to disable compression for these files.\n"
@@ -255,7 +254,7 @@
fm_check_armor_type (const char *fname, int *r_type)
{
FILE *fp;
- char header[768], *p;
+ char header[512], *p;
if (r_type)
*r_type = PGP_NONE;
@@ -269,7 +268,7 @@
if (strncmp (header, "-----", 5))
goto leave;
- if (strstr( header, "BEGIN PGP PUBLIC KEY" )) {
+ if (strstr (header, "BEGIN PGP PUBLIC KEY" )) {
if (r_type) *r_type = PGP_PUBKEY;
return "PUBKEY";
}
@@ -315,6 +314,7 @@
return NULL;
}
+ /* to avoid lengthy operations on floppy disks, we use a quick check. */
if (is_floppy_disc (fname))
return fm_check_armor_type (fname, r_type);
@@ -339,26 +339,33 @@
if (!pkt)
BUG (NULL);
gpg_init_packet (pkt);
+ /* XXX: for larger files, we could just look for the first ~3 packets
+ and stop if we found a packet which were sufficient to idenitfy
+ the file contents. */
while (!(rc = gpg_parse_packet (inp, pkt))) {
switch (pkt->pkttype) {
case PKT_PUBKEY_ENC:
s = "ENCRYPTED";rc = -2;
if (r_type) *r_type = PGP_MESSAGE;
break;
+
case PKT_SYMKEY_ENC:
case PKT_ENCRYPTED:
s = "SYMKEYENC";rc = -2;
if (r_type) *r_type = PGP_MESSAGE;
break;
+
case PKT_SIGNATURE:
case PKT_ONEPASS_SIG:
s = "SIGNED"; rc = -2;
if (r_type) *r_type = PGP_SIG;
break;
+
case PKT_PUBLIC_KEY:
s = "PUBKEY"; rc = -2;
if (r_type) *r_type = PGP_PUBKEY;
break;
+
case PKT_SECRET_KEY:
s = "SECKEY"; rc = -2;
if (r_type) *r_type = PGP_SECKEY;
@@ -366,10 +373,10 @@
case PKT_COMPRESSED:
/* If we only find 1 packet and it is compressed,
- we assume a compress one-pass signature. */
+ we assume a compressed one-pass signature. */
if (count != 0)
break;
- s = "SIGNED"; rc = -2;
+ s = "SIGNED"; rc = -2;
compr = 1;
break;
@@ -389,7 +396,7 @@
if (!s)
s = "UNKNOWN";
if (!strcmp (s, "SIGNED") && !compr
- && strcmp (fm_check_armor_type (fname, r_type), "SIGNED-CLEAR ")) {
+ && strcmp (fm_check_armor_type (fname, r_type), "SIGNED-CLEAR")) {
if (r_type) *r_type = PGP_SIG;
s = "SIGNED-DETACH";
}
@@ -401,7 +408,7 @@
void
fm_build (fm_info_t *r_fm, HWND ctrl)
{
- int i;
+
fm_info_t fm;
struct listview_column_s col[] = {
{0, 80, (char *)_("Status") },
@@ -409,6 +416,7 @@
{2, 128, (char *)_("Operation") },
{0, 0, NULL}
};
+ int i;
fm = new fm_info_s;
memset (fm, 0, sizeof *fm);
@@ -421,7 +429,7 @@
}
-/* Release the file model. */
+/* Release the file model in @mod. */
static void
fm_model_release (fm_model_t mod)
{
@@ -438,7 +446,7 @@
}
-/* Reset the File Manager info context. */
+/* Reset the File Manager info context @fm. */
void
fm_reset (fm_info_t fm)
{
@@ -448,7 +456,7 @@
}
-/* Release the File Manager dialog context. */
+/* Release the File Manager dialog context @fm. */
void
fm_delete (fm_info_t fm)
{
@@ -495,7 +503,7 @@
}
-/* Check if file @file is already in the list (view). */
+/* Check if file @file is already in the list view. */
static int
fm_check_for_entry (listview_ctrl_t lv, const char *file)
{
@@ -505,7 +513,7 @@
memset (name, 0, sizeof (name));
for (i = 0; i < listview_count_items (lv, 0); i++) {
listview_get_item_text (lv, i, FM_COL_NAME, name, DIM (name) - 1);
- if (!strcmp (name, file))
+ if (!stricmp (name, file))
return 1; /* found */
}
@@ -522,7 +530,7 @@
rc = fm_check_for_entry (lv, name);
if (rc)
- return 0;
+ return 0; /* already present. */
m = new fm_model_s;
memset (m, 0, sizeof *m);
type = fm_get_file_type (name, NULL);
@@ -543,24 +551,28 @@
static int
fm_add_dir_files (listview_ctrl_t lv, fm_model_t *fm, char *path)
{
- struct _finddata_t fd;
+ WIN32_FIND_DATA fd;
+ HANDLE hd;
char *p;
- long hd;
strcat (path, "\\*");
- hd = _findfirst (path, &fd);
+ hd = FindFirstFile (path, &fd);
+ if (hd == INVALID_HANDLE_VALUE)
+ return -1;
do {
- p = new char [strlen (path) + strlen (fd.name)+1];
+ if (fd.cFileName[0] == '.' && strlen (fd.cFileName) < 3)
+ continue;
+ p = new char [strlen (path) + strlen (fd.cFileName)+1];
if (!p)
BUG (0);
memcpy (p, path, strlen (path)-1);
p[strlen (path)-1] = 0;
- strcat (p, fd.name);
+ strcat (p, fd.cFileName);
if (!is_directory (p))
fm_set_ftype (lv, fm, p);
free_if_alloc (p);
- } while (_findnext (hd, &fd) == 0);
- _findclose (hd);
+ } while (FindNextFile (hd, &fd));
+ FindClose (hd);
return 0;
}
@@ -570,14 +582,12 @@
int
fm_add_dropped_files (fm_info_t fm, HDROP dd_files)
{
- char name[384+4];
- int nfiles;
+ char name[MAX_PATH+32+4];
int rc = 0;
- int i;
-
- memset (name, 0, sizeof (name));
- nfiles = DragQueryFile (dd_files, 0xFFFFFFFF, NULL, 0);
- for (i = 0; i < nfiles; i++) {
+ UINT i;
+
+ for (i = 0; i < DragQueryFile (dd_files, 0xFFFFFFFF, NULL, 0); i++) {
+ memset (name, 0, sizeof (name));
DragQueryFile (dd_files, i, name, DIM (name) -1);
if (is_directory (name))
rc = fm_add_dir_files (fm->lv, &fm->model, name);
@@ -599,7 +609,7 @@
{
fm_model_t m;
const char *type;
- int rc = 0;
+ int rc;
type = fm_get_file_type (name, NULL);
if (!type)
@@ -697,7 +707,7 @@
fp = gpg_iobuf_open (tmpfile);
if (!fp)
return 0;
- gpg_iobuf_ioctl (fp, 3, 1, NULL);
+ gpg_iobuf_ioctl (fp, 3, 1, NULL); /* disable cache. */
if (gpg_use_armor_filter(fp)) {
memset (&afx, 0, sizeof (afx));
gpg_iobuf_push_filter (fp, gpg_armor_filter, &afx);
@@ -719,7 +729,8 @@
int
fm_get_current_pos (listview_ctrl_t lv)
{
- int i = 0, items;
+ int i = 0;
+ int items;
items = listview_count_items (lv, 0);
if (!items)
@@ -745,17 +756,20 @@
static int
fm_check_detached_sig (listview_ctrl_t lv, int pos)
{
- char type[128];
+ char type[64];
listview_get_item_text (lv, pos, 0, type, DIM (type)-1);
return !strcmp (type, "SIGNED-DETACH")? 1 : 0;
}
+/* Check if the given file on position @pos is useful for
+ command @fmd_cmd. For example sign can be used for all files
+ which are not already signed. */
int
fm_check_file_type (listview_ctrl_t lv, int pos, int fm_cmd)
{
- char status[128];
+ char status[64];
int rc = 0;
listview_get_item_text (lv, pos, 0, status, DIM (status) - 1);
@@ -778,24 +792,24 @@
break;
case FM_SIGN:
- if( strncmp( status, "SIGNED", 6 ) )
+ if (strncmp( status, "SIGNED", 6))
rc = 1;
break;
case FM_VERIFY:
- if( !strncmp( status, "SIGNED", 6 )
- || !strcmp( status, "COMPRESSED" ) )
+ if(!strncmp (status, "SIGNED", 6) ||
+ !strcmp (status, "COMPRESSED"))
rc = 1;
break;
case FM_SYMENC:
- if( strcmp( status, "SYMKEYENC" ) )
+ if (strcmp (status, "SYMKEYENC"))
rc = 1;
break;
case FM_IMPORT:
- if( !strcmp( status, "PUBKEY" )
- || !strcmp( status, "SECKEY" ) )
+ if (!strcmp (status, "PUBKEY") ||
+ !strcmp (status, "SECKEY"))
rc = 1;
break;
@@ -827,8 +841,14 @@
switch (fm_cmd) {
case FM_ENCRYPT:
case FM_ENCRYPT_DIR:
- case FM_SIGNENCRYPT: strcpy (status, "ENCRYPTED"); break;
- case FM_DECRYPT: strcpy (status, "UNKNOWN"); break;
+ case FM_SIGNENCRYPT:
+ strcpy (status, "ENCRYPTED");
+ break;
+
+ case FM_DECRYPT:
+ strcpy (status, "UNKNOWN");
+ break;
+
case FM_SIGN:
if (sigmode == GPGME_SIG_MODE_DETACH)
strcpy (status, "SIGNED-DETACH");
@@ -837,18 +857,32 @@
else
strcpy (status, "SIGNED");
break;
- case FM_VERIFY: update = 0; break;
- case FM_SYMENC: strcpy (status, "SYMKEYENC"); break;
- case FM_IMPORT: update = 0; break;
- case FM_WIPE: strcpy (status, "WIPED"); break;
- default: strcpy (status, "UNKNOWN"); break;
+ case FM_VERIFY:
+ update = 0;
+ break;
+
+ case FM_SYMENC:
+ strcpy (status, "SYMKEYENC");
+ break;
+
+ case FM_IMPORT:
+ update = 0;
+ break;
+
+ case FM_WIPE:
+ strcpy (status, "WIPED");
+ break;
+
+ default:
+ strcpy (status, "UNKNOWN");
+ break;
}
if (success && update) {
- listview_add_sub_item (lv, pos, 0, status);
- listview_add_sub_item (lv, pos, 1, output);
+ listview_add_sub_item (lv, pos, FM_COL_STAT, status);
+ listview_add_sub_item (lv, pos, FM_COL_NAME, output);
}
- listview_add_sub_item( lv, pos, 2, operat );
+ listview_add_sub_item (lv, pos, FM_COL_OP, operat);
}
@@ -857,13 +891,13 @@
{
FILE *f;
BYTE buf[32];
- char name[256];
+ char name[MAX_PATH+1];
int i, n, cnt=0;
if (ctx->sigmode != GPGME_SIG_MODE_CLEAR)
return 0;
listview_get_item_text (lv, -1, FM_COL_NAME, name, DIM (name)-1);
- if (stristr (name, ".TXT"))
+ if (stristr (name, ".txt"))
return 0;
f = fopen (name, "rb");
if (!f)
@@ -894,7 +928,7 @@
fm_state_s * ctx;
int fm_cmd, sig_detached = 0;
int rc = 0, i, n, ndel = 0;
- char fname[512], status[128];
+ char fname[2*MAX_PATH+1], status[128];
switch (cmd) {
case ID_FILEMISC_ENCRYPT: fm_cmd = FM_ENCRYPT; break;
@@ -960,13 +994,13 @@
break;
}
- for( i = 0, n = 0; i < listview_count_items( lv, 0 ); i++ ) {
- if( !listview_get_item_state( lv, i ) )
+ for( i = 0, n = 0; i < listview_count_items (lv, 0); i++ ) {
+ if (!listview_get_item_state (lv, i))
continue;
- listview_get_item_text( lv, i, 0, status, DIM (status) -1 );
- if (!strcmp( status, "ENCRYPTED" ) && fm_cmd == FM_DECRYPT)
+ listview_get_item_text (lv, i, FM_COL_STAT, status, DIM (status) -1);
+ if (!strcmp( status, "ENCRYPTED") && fm_cmd == FM_DECRYPT)
n++;
- if (!strcmp( status, "UNKNOWN" ) && fm_cmd == FM_SIGN)
+ if (!strcmp( status, "UNKNOWN") && fm_cmd == FM_SIGN)
n++;
if (fm_cmd == FM_WIPE)
ndel++;
@@ -990,7 +1024,7 @@
for (i = 0; i < listview_count_items (lv, 0); i++) {
if (!listview_get_item_state (lv, i))
continue;
- listview_get_item_text (lv, i, 1, fname, DIM (fname) - 1);
+ listview_get_item_text (lv, i, FM_COL_NAME, fname, DIM (fname) - 1);
if( file_exist_check (fname) && !is_directory (fname)) {
log_box (_("File Manager"), MB_ERR,
_("\"%s\" does not exist"), fname);
@@ -1042,7 +1076,7 @@
/* remove wipe files from the list */
n = listview_count_items (lv, 0);
while (n--) {
- listview_get_item_text (lv, n, 0, status, DIM (status) - 1);
+ listview_get_item_text (lv, n, FM_COL_STAT, status, DIM (status) - 1);
if (!strcmp (status, "WIPED"))
listview_del_item (lv, n);
}
@@ -1052,7 +1086,7 @@
fm_state_release (ctx);
progress_cleanup (&pfx);
return rc;
-} /* fm_parse_files */
+}
/* Wipe the given file @name with the delete mode
@@ -1109,7 +1143,6 @@
gpgme_ctx_t ctx = c->ctx;
file_data_t in=NULL, out=NULL;
char *keyid = NULL, ext[5];
- /*int no_compr = 0;*/
int rc = 0;
c->output = new char[strlen (name) + 5 + 1];
@@ -1134,6 +1167,7 @@
goto leave;
/*
+ int no_compr = 0;
if (c->prog_cb) {
c->prog_cb->what = name;
gpg_file_data_set_cb (in, c->prog_cb);
@@ -1520,7 +1554,7 @@
log->use_uid = 1;
}
file_verify_add_state (log);
- winpt_release_pubkey (&key);
+ winpt_release_pubkey (&key);
}
@@ -1692,6 +1726,8 @@
}
res = gpgme_op_verify_result (ctx);
+ if (!res)
+ goto leave;
for (s=res->signatures; s; s=s->next) {
log.sig = s;
fm_add_sig_stat (&log);
Modified: trunk/Src/wptGPG.cpp
===================================================================
--- trunk/Src/wptGPG.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptGPG.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -97,8 +97,7 @@
if (path && dir_exist_check (path) == 0)
return path;
free_if_alloc (path);
- path = multi_gnupg_path (1);
- return path;
+ return multi_gnupg_path (1);
}
@@ -108,8 +107,8 @@
get_gnupg_cfgfile (void)
{
char *optfile = NULL;
- char *path = NULL;
- size_t nlen = 0;
+ char *path;
+ size_t nlen;
path = get_gnupg_path ();
if (!path)
@@ -117,7 +116,7 @@
nlen = strlen (path) + 64;
optfile = new char[nlen + 1];
if (!optfile)
- BUG (NULL);
+ BUG (NULL);
_snprintf (optfile, nlen, "%s\\"GPG_CONF, path);
free_if_alloc (path);
@@ -173,7 +172,7 @@
if (!path)
return NULL;
pgm = make_filename (path, "gpg", "exe");
- free_if_alloc (path);
+ free_if_alloc (path);
return pgm;
}
@@ -213,23 +212,20 @@
gnupg_load_config (void)
{
gpg_optfile_t opt;
- gpg_option_t o;
char *conf;
conf = get_gnupg_cfgfile ();
if (!conf)
return -1;
- if (parse_gpg_options (conf, &opt)) {
+ if (parse_config (conf, &opt)) {
free_if_alloc (conf);
return -1;
}
- o = find_option (opt, "ask-cert-level");
- if (o)
+ if (find_option (opt, "ask-cert-level"))
reg_prefs.gpg.ask_cert_level = 1;
- o = find_option (opt, "ask-cert-expire");
- if (o)
+ if (find_option (opt, "ask-cert-expire"))
reg_prefs.gpg.ask_cert_expire = 1;
- release_gpg_options (opt);
+ release_config (opt);
free_if_alloc (conf);
return 0;
}
@@ -264,7 +260,7 @@
optfile = get_gnupg_cfgfile ();
if (!optfile)
return default_key_from_cache (&no_usable);
- if (parse_gpg_options (optfile, &opt)) {
+ if (parse_config (optfile, &opt)) {
free_if_alloc (optfile);
return default_key_from_cache (&no_usable);
}
@@ -275,7 +271,7 @@
keyid = extract_keyid (e->val);
free_if_alloc (optfile);
- release_gpg_options (opt);
+ release_config (opt);
if (!keyid)
keyid = default_key_from_cache (&no_usable);
return keyid;
@@ -404,10 +400,10 @@
*r_secrings = 0;
*r_pubrings = 0;
- if (parse_gpg_options (fname, &opt))
+ if (parse_config (fname, &opt))
return WPTERR_FILE_OPEN;
for (e = opt->list; e; e = e->next) {
- if (!strcmp( e->name, "secret-keyring")) {
+ if (!strcmp (e->name, "secret-keyring")) {
if (!file_exist_check (e->val))
r_secrings[0]++;
}
@@ -416,7 +412,7 @@
r_pubrings[0]++;
}
}
- release_gpg_options (opt);
+ release_config (opt);
return 0;
}
@@ -562,7 +558,7 @@
optfile = get_gnupg_cfgfile ();
if (!optfile)
return WPTERR_FILE_OPEN;
- rc = parse_gpg_options (optfile, &opt);
+ rc = parse_config (optfile, &opt);
if (rc) {
free_if_alloc (optfile);
return WPTERR_GENERAL;
@@ -577,11 +573,10 @@
}
else if (key)
add_entry (opt, ENTRY_MULTI, "default-key", key);
- rc = commit_gpg_options (optfile, opt);
+ rc = commit_config (optfile, opt);
free_if_alloc (optfile);
- release_gpg_options (opt);
-
+ release_config (opt);
return rc;
}
@@ -795,7 +790,7 @@
char *kring = NULL;
int rc;
- rc = parse_gpg_options (fname, &opt);
+ rc = parse_config (fname, &opt);
if (rc)
return NULL;
if (pub)
@@ -804,7 +799,7 @@
e = find_option (opt, "secret-keyring");
if (e)
kring = m_strdup (e->val);
- release_gpg_options (opt);
+ release_config (opt);
return kring;
}
Modified: trunk/Src/wptGPGME.cpp
===================================================================
--- trunk/Src/wptGPGME.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptGPGME.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -47,6 +47,8 @@
static char *gpg_secring = NULL;
+/* Return 1 if no cache is available.
+ This can be the case if WinPT were run in command line mode. */
int
keycache_not_available (void)
{
@@ -62,7 +64,7 @@
int n = gpg_keycache_get_size (pub);
/* XXX: update the value when the cache has changed. */
- sprintf (tmpbuf, "%d", n);
+ _snprintf (tmpbuf, sizeof (tmpbuf)-1, "%d", n);
set_reg_key (HKEY_CURRENT_USER, "Software\\WinPT", "nKeys", tmpbuf);
if (pub) {
@@ -108,6 +110,7 @@
if (secring != NULL) {
free_if_alloc (gpg_secring);
gpg_secring = get_gnupg_keyring (0, NO_STRICT);
+ log_debug ("keycache_init: secring path '%s'\r\n", gpg_secring);
}
p = get_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "nKeys");
Modified: trunk/Src/wptGPGMEWrapper.cpp
===================================================================
--- trunk/Src/wptGPGMEWrapper.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptGPGMEWrapper.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -208,6 +208,10 @@
}
p = gpgme_data_release_and_get_mem (dat, &n);
+ /* we use this detour because p were allocated inside
+ the gpgme DLL and cannot be freed with 'free' because
+ the DLL might be linked against debug libs but the application
+ run ins release mode. */
*outdata = new char[n+1];
memcpy (*outdata, p, n);
(*outdata)[n] = 0;
Modified: trunk/Src/wptGPGParser.cpp
===================================================================
--- trunk/Src/wptGPGParser.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptGPGParser.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -1,4 +1,4 @@
-/* wptGPGParser.cpp - GPG config file parser
+/* wptGPGParser.cpp - Config file parser
* Copyright (C) 2002, 2003, 2004, 2006 Timo Schulz
*
* This file is part of WinPT.
@@ -59,7 +59,7 @@
static void
-add_opaque_option (gpg_optfile_t opt, const char *line, int used)
+add_opaque_option (config_file_t opt, const char *line, int used)
{
gpg_option_t e;
@@ -72,7 +72,7 @@
static void
-add_single_option (gpg_optfile_t opt, const char *name, int used)
+add_single_option (config_file_t opt, const char *name, int used)
{
gpg_option_t e;
@@ -85,7 +85,7 @@
static int
-add_group_option (gpg_optfile_t opt, const char *name, int used)
+add_group_option (config_file_t opt, const char *name, int used)
{
gpg_option_t e;
@@ -115,7 +115,7 @@
static int
-add_multi_option (gpg_optfile_t opt, char *line, int used)
+add_multi_option (config_file_t opt, char *line, int used)
{
gpg_option_t e;
char *p;
@@ -175,7 +175,7 @@
static const char*
-group_from_cfgfile (gpg_optfile_t opt, const char *line)
+group_from_cfgfile (config_file_t opt, const char *line)
{
char *p, *buf, *buf2, *name = NULL;
gpg_group_t g;
@@ -246,11 +246,13 @@
void
-release_gpg_options (gpg_optfile_t opt)
+release_config (config_file_t opt)
{
gpg_option_t e, e2;
gpg_group_t g, g2;
+ if (!opt)
+ return;
e = opt->list;
while (e) {
e2 = e->next;
@@ -268,7 +270,7 @@
int
-commit_gpg_options (const char *file, gpg_optfile_t opt)
+commit_config (const char *file, config_file_t opt)
{
FILE *inp;
gpg_option_t e;
@@ -312,38 +314,54 @@
}
+void
+new_config (config_file_t *r_opt)
+{
+ config_file_t opt;
+
+ opt = new gpg_optfile_s;
+ if (!opt)
+ BUG (NULL);
+ memset (opt, 0, sizeof *opt);
+ *r_opt = opt;
+}
+
+
int
-parse_gpg_options (const char *file, gpg_optfile_t *r_opt )
+parse_config (const char *file, config_file_t *r_opt)
{
FILE *inp;
char buf[1024], *p;
- gpg_optfile_t opt = NULL;
+ config_file_t opt = NULL;
+ if (!r_opt)
+ return -1;
+
inp = fopen( file, "rb");
- if( inp == NULL ) {
- inp = fopen( file, "wb" );
- if( inp == NULL )
+ if (!inp) {
+ inp = fopen (file, "wb");
+ if (inp == NULL)
return -1;
}
opt = new gpg_optfile_s;
- if( !opt )
- BUG( NULL );
- memset( opt, 0, sizeof *opt );
- while( !feof( inp ) ) {
- p = fgets( buf, sizeof buf -1, inp );
- if( !p )
+ if (!opt)
+ BUG (NULL);
+ memset (opt, 0, sizeof *opt);
+ while (!feof (inp)) {
+ p = fgets (buf, sizeof (buf) -1, inp);
+ if (!p)
break;
- if( *p == '#' || *p == '\r' || *p == '\n' || *p == '\t' ) {
- add_opaque_option( opt, p, 1 );
+ if (*p == '#' || *p == '\r' || *p == '\n' || *p == '\t') {
+ add_opaque_option (opt, p, 1);
continue;
}
- if( strstr( p, "\r\n" ) )
- p[strlen( p ) - 2] = '\0';
- else if( strstr( p, "\n" ) )
- p[strlen( p ) - 1] = '\0';
- if( !strchr( p, ' ' ) )
- add_single_option( opt, p, 1 );
- else if( !strncmp( p, "group", 5 ) ) {
+ if( strstr (p, "\r\n" ))
+ p[strlen (p) - 2] = '\0';
+ else if (strstr (p, "\n"))
+ p[strlen (p) - 1] = '\0';
+ if (!strchr( p, ' ' ))
+ add_single_option (opt, p, 1);
+ else if (!strncmp (p, "group", 5)) {
const char *s = group_from_cfgfile (opt, p);
if (s)
add_group_option (opt, s, 1);
@@ -352,14 +370,13 @@
add_multi_option (opt, p, 1);
}
fclose (inp);
- if (r_opt)
- *r_opt = opt;
+ *r_opt = opt;
return 0;
}
gpg_option_t
-find_option (gpg_optfile_t opt, const char *str)
+find_option (config_file_t opt, const char *str)
{
gpg_option_t e;
@@ -375,7 +392,7 @@
gpg_group_t
-find_group (gpg_optfile_t opt, const char *str)
+find_group (config_file_t opt, const char *str)
{
gpg_group_t g;
@@ -389,10 +406,10 @@
gpg_member_t
-find_member (gpg_optfile_t opt, const char *grp, const char *str)
+find_member (config_file_t opt, const char *grp, const char *str)
{
- gpg_group_t g = find_group (opt, grp);
gpg_member_t m;
+ gpg_group_t g = find_group (opt, grp);
if (!g)
return NULL;
@@ -406,7 +423,7 @@
int
-delete_group (gpg_optfile_t opt, const char *str)
+delete_group (config_file_t opt, const char *str)
{
gpg_group_t g = find_group (opt, str);
@@ -417,7 +434,7 @@
int
-delete_member (gpg_optfile_t opt, const char *grp, const char *str)
+delete_member (config_file_t opt, const char *grp, const char *str)
{
gpg_member_t m = find_member (opt, grp, str);
@@ -428,7 +445,7 @@
int
-delete_option (gpg_optfile_t opt, const char * str)
+delete_option (config_file_t opt, const char * str)
{
gpg_option_t e = find_option (opt, str);
@@ -439,8 +456,18 @@
int
-add_entry (gpg_optfile_t opt, int type, const char *name, const char *val)
+add_entry_int (config_file_t opt, int type, const char *name, int val)
{
+ char buf[64];
+
+ _snprintf (buf, DIM (buf)-1, "%d", val);
+ add_entry (opt, type, name, buf);
+ return 0;
+}
+
+int
+add_entry (config_file_t opt, int type, const char *name, const char *val)
+{
gpg_option_t e;
e = new_option ();
@@ -454,7 +481,7 @@
int
-modify_entry (gpg_optfile_t opt, int type, const char *name, const char *val)
+modify_entry (config_file_t opt, int type, const char *name, const char *val)
{
gpg_option_t e;
int rc = 0;
@@ -465,6 +492,7 @@
else if (type != ENTRY_SINGLE) {
free_if_alloc (e->val);
e->val = m_strdup (val);
+ rc = 0;
}
return rc;
@@ -472,7 +500,7 @@
int
-add_member (gpg_optfile_t opt, const char *grp, const char *str)
+add_member (config_file_t opt, const char *grp, const char *str)
{
gpg_group_t g = find_group (opt, grp);
gpg_member_t m, t;
@@ -498,11 +526,11 @@
int
-add_group (gpg_optfile_t opt, const char *str)
+add_group (config_file_t opt, const char *str)
{
gpg_group_t g, t;
- g = new gpg_group_s;
+ g = new gpg_group_s;
if (!g)
BUG (NULL);
memset (g, 0, sizeof *g);
@@ -519,50 +547,3 @@
add_entry (opt, ENTRY_GROUP, str, NULL);
return 0;
}
-
-
-#if 0
-void
-walk_group( const char *name, gpg_member_t mbr )
-{
- gpg_member_t m;
-
- printf( "name=%s\n", name );
- for( m = mbr; m; m = m->next )
- printf( "%s\n", m->name );
-}
-
-
-int
-main( int argc, char **argv )
-{
- int rc;
- gpg_optfile_t opt;
- gpg_group_t g;
- gpg_option_t e;
-
- rc = parse_gpg_options( "c:\\gnupg\\gpg.conf", &opt );
- if( rc )
- printf( "parse_option: error\n" );
- else {
-#if 0
- /*delete_option( opt, "encrypt-to" );*/
- delete_member( opt, "bar", "richard" );
- add_member( opt, "bar", "leo" );
- add_group( opt, "foobar" );
- delete_group( opt, "foobar" );
- add_entry( opt, ENTRY_SINGLE, "use-agent", NULL );
-#endif
- for( e = opt->list; e; e = e->next ) {
- if( e->type != 1 )
- printf( "%d: %s %s\n", e->used, e->name, e->val );
- }
- /*commit_gpg_options( "c:\\gnupg\\gpg2.conf", opt );*/
- for( g = opt->grp; g; g = g->next )
- walk_group( g->name, g->list );
- release_option( opt );
- }
-
- return 0;
-}
-#endif
Modified: trunk/Src/wptGPGPrefsDlg.cpp
===================================================================
--- trunk/Src/wptGPGPrefsDlg.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptGPGPrefsDlg.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -175,7 +175,7 @@
p = get_gnupg_cfgfile ();
if (p) {
- parse_gpg_options (p, &opt);
+ parse_config (p, &opt);
free_if_alloc (p);
if (opt) {
if (find_option (opt, "ask-cert-expire"))
@@ -188,7 +188,7 @@
e = find_option (opt, "encrypt-to");
if (e != NULL)
SetDlgItemText (dlg, IDC_GPGPREFS_ENCTO, e->val);
- release_gpg_options (opt);
+ release_config (opt);
}
}
@@ -271,7 +271,7 @@
EndDialog (dlg, FALSE);
return TRUE;
}
- parse_gpg_options (p, &opt);
+ parse_config (p, &opt);
if (IsDlgButtonChecked (dlg, IDC_GPGPREFS_ASKLEVEL)) {
modify_entry (opt, ENTRY_SINGLE, "ask-cert-level", NULL);
@@ -304,8 +304,8 @@
else
delete_option (opt, "encrypt-to");
- commit_gpg_options (p, opt);
- release_gpg_options (opt);
+ commit_config (p, opt);
+ release_config (opt);
/* only return TRUE if the home dir has been changed. */
if (SendDlgItemMessage (dlg, IDC_GPGPREFS_HOMEDIR, EM_GETMODIFY, 0, 0)) {
set_gnupg_default_key (NULL);
Modified: trunk/Src/wptGPGUtil.cpp
===================================================================
--- trunk/Src/wptGPGUtil.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptGPGUtil.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -326,6 +326,7 @@
}
WaitForSingleObject (pi.hProcess, INFINITE);
CloseHandle (pi.hProcess);
+ CloseHandle (pi.hThread);
return 0;
}
@@ -442,14 +443,16 @@
gpg_get_version (char **r_inf)
{
gpgme_error_t err= gpg_error (GPG_ERR_NO_ERROR);
- HANDLE out;
+ HANDLE out;
+ const char *fmt;
char *p, *cmd;
p = read_gpg_program ();
if (!p)
return gpg_error (GPG_ERR_INV_ARG);
- cmd = (char*)xcalloc (1, strlen (p) + 32);
- sprintf (cmd, "%s --version", p);
+ fmt = "%s --version";
+ cmd = (char*)xcalloc (1, strlen (p) + strlen (fmt) + 1);
+ sprintf (cmd, fmt, p);
out = create_tmpfile ("gpg_out");
if (create_process (cmd, NULL, out, NULL))
Modified: trunk/Src/wptKeyserver.cpp
===================================================================
--- trunk/Src/wptKeyserver.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptKeyserver.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -647,6 +647,46 @@
}
+/* Return the specified keyserver config setting @key as an integer. */
+static int
+get_conf_kserver_int (const char *key)
+{
+ char *p;
+ int val = 0;
+
+ p = get_reg_entry_keyserver (key);
+ if (p && *p)
+ val = atoi (p);
+ free_if_alloc (p);
+ return val;
+}
+
+
+/* Read the proxy configuration and store it into @prox. */
+static void
+read_proxy_config (keyserver_proxy_t prox)
+{
+ char *proto;
+
+ if (!prox)
+ return;
+
+ proto = get_reg_entry_keyserver("Proto");
+ if (proto != NULL && strlen (proto) > 0)
+ prox->proto = atoi (proto);
+ else
+ prox->proto = PROXY_PROTO_NONE;
+ free_if_alloc (proto);
+ free_if_alloc (prox->host);
+ prox->host = get_reg_entry_keyserver ("Host");
+ free_if_alloc (prox->user);
+ prox->user = get_reg_entry_keyserver ("User");
+ free_if_alloc (prox->pass);
+ prox->pass = get_reg_entry_keyserver ("Pass");
+ prox->port = get_conf_kserver_int ("Port");
+}
+
+
/* Load the keyserver config file @conf. */
int
kserver_load_conf (const char *conf)
@@ -671,7 +711,7 @@
}
no_config=1;
}
- get_reg_proxy_prefs (&proxy);
+ read_proxy_config (&proxy);
if (user && pass)
update_proxy_user (user, pass);
else if (user && !pass || !user && pass) {
Modified: trunk/Src/wptMainProc.cpp
===================================================================
--- trunk/Src/wptMainProc.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptMainProc.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -313,6 +313,7 @@
}
+
/* Main message loop for the tray window. */
LRESULT CALLBACK
winpt_main_proc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
@@ -360,7 +361,7 @@
gnupg_backup_keyrings (reg_prefs.auto_backup,
reg_prefs.backup.mode,
reg_prefs.backup.include_secr);
- free_reg_prefs ();
+ free_reg_prefs ();
free_gnupg_table ();
hotkeys_unregister (hwnd);
PTD_delete ();
Modified: trunk/Src/wptProgressDlg.cpp
===================================================================
--- trunk/Src/wptProgressDlg.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptProgressDlg.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -132,7 +132,8 @@
pfx->thread_hd = CreateThread (NULL, 0, progress_cb_thread,
(void *)pfx, 0, &tid);
if (!pfx->thread_hd) {
- msg_box (NULL, _("Could not create progress thread."), _("WinPT"), MB_ERR);
+ msg_box (NULL, _("Could not create progress thread."),
+ _("WinPT"), MB_ERR);
pfx->error = 1;
return;
}
@@ -145,6 +146,8 @@
PBM_SETPOS, (WPARAM)n, 0);
SetDlgItemInt (pfx->dlg, IDC_PROGRESS_CURR, pfx->curr, FALSE);
}
- if (off >= max)
+ if (off >= max) {
+ log_debug ("progress_callback: off %lu max %lu\r\n", off, max);
progress_cleanup (pfx);
+ }
}
Modified: trunk/Src/wptProxySettingsDlg.cpp
===================================================================
--- trunk/Src/wptProxySettingsDlg.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptProxySettingsDlg.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -23,6 +23,7 @@
#include <windows.h>
#include <ctype.h>
+#include <stdio.h>
#include "resource.h"
#include "wptTypes.h"
@@ -37,6 +38,35 @@
SendDlgItemMessage ((dlg), (id), CB_GETCURSEL, 0, 0)
+static int
+set_reg_entry_keyserver_int (const char *key, int val)
+{
+ char buf[32];
+
+ _snprintf (buf, DIM (buf)-1, "%d", val);
+ return set_reg_entry_keyserver (key, buf);
+}
+
+
+/* Save the proxy settings in the registry. */
+int
+set_reg_proxy_prefs (keyserver_proxy_t prox)
+{
+ int rc;
+
+ rc = set_reg_entry_keyserver_int ("Proto", prox->proto);
+ if (!rc)
+ rc = set_reg_entry_keyserver ("Host", prox->host? prox->host : "");
+ if (!rc)
+ rc = set_reg_entry_keyserver_int ("Port", prox->port);
+ if (!rc)
+ rc = set_reg_entry_keyserver ("User", prox->user? prox->user : "");
+ if (!rc)
+ rc = set_reg_entry_keyserver ("Pass", prox->pass? prox->pass : "");
+ return rc;
+}
+
+
/* Check if the edit control (@id) contains a valid number. */
static int
check_number (HWND dlg, int id)
@@ -44,10 +74,10 @@
char buf[32];
size_t i;
- i = GetDlgItemText (dlg, id, buf, 31);
+ i = GetDlgItemText (dlg, id, buf, DIM (buf)-1);
if (!i)
return -1;
- for (i=0; i < strlen (buf); i++) {
+ for (i = 0; i < strlen (buf); i++) {
if (!isdigit (buf[i]))
return -1;
}
Modified: trunk/Src/wptRegistry.cpp
===================================================================
--- trunk/Src/wptRegistry.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptRegistry.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -17,11 +17,14 @@
* along with WinPT; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+/* For the case WinPT will be compiled in mobile mode, we use a wrapper
+ to avoid registry access (read, write) and thus this file will not
+ be used. */
+#ifndef WINPT_MOBILE
#include <windows.h>
#include <stdio.h>
@@ -37,17 +40,24 @@
#define rc_ok(rc) ((rc) == ERROR_SUCCESS)
+/* WinPT registry path. */
#define WINPT_REG "Software\\WinPT"
+/* GPG registry path. */
+#define GPG_REG "Software\\GNU\\GnuPG"
+
+#define GPG_MO_REG "Control Panel\\MingW32\\NLS"
+
/* GPG file association context. */
-struct gpg_filetype {
- const char *descr;
- const char *ext;
- int nicon;
+struct gpg_filetype_s {
+ const char *descr; /* description. */
+ const char *ext; /* extension. */
+ int nicon; /* number of the image icon. */
};
+typedef struct gpg_filetype_s *gpg_filetype_t;
/* Global WinPT registry prefereneces. */
-winpt_reg_prefs_s reg_prefs;
+struct winpt_prefs_s reg_prefs;
/* Return != 0 if GPG4win is installed. */
@@ -69,7 +79,7 @@
/* Return != 0 if GPGee is installed. */
-int
+static int
is_gpgee_installed (void)
{
HKEY hk;
@@ -96,20 +106,7 @@
}
-/* Register the given WinPT filetype. */
-static int
-regist_single_filetype (gpg_filetype *gfile)
-{
- char icon[256];
- char prog[256];
-
- memset (&icon, 0, sizeof (icon));
- GetModuleFileName (glob_hinst, prog, sizeof (prog)-1);
- _snprintf (icon, sizeof (icon) -1, "%s,%d", prog, gfile->nicon);
- return create_file_type (prog, gfile->ext, gfile->descr, icon);
-}
-
/* Install the GPG related into the W32 resgistry, if the entry already
exists the function returns immediately. */
int
@@ -118,31 +115,104 @@
int rc;
HKEY reg;
- rc = RegOpenKeyEx( HKEY_CURRENT_USER, "Software\\GNU\\GnuPG", 0, KEY_READ, ® );
- if( rc_ok( rc ) ) {
- RegCloseKey( reg );
+ rc = RegOpenKeyEx (HKEY_CURRENT_USER, GPG_REG, 0, KEY_READ, ®);
+ if (rc == ERROR_SUCCESS) {
+ RegCloseKey (reg);
return 0;
}
- rc = RegCreateKey( HKEY_CURRENT_USER, "Software\\GNU\\GnuPG", ® );
- if( !rc_ok( rc ) )
+ rc = RegCreateKey (HKEY_CURRENT_USER, GPG_REG, ®);
+ if (rc != ERROR_SUCCESS)
return WPTERR_REGISTRY;
- RegCloseKey( reg );
- if( create_mokey ) {
- rc = RegOpenKeyEx( HKEY_CURRENT_USER, "Control Panel\\MingW32\\NLS", 0, KEY_READ, ® );
- if( rc_ok( rc ) ) {
- RegCloseKey( reg );
- return 0;
- }
- rc = RegCreateKey( HKEY_CURRENT_USER, "Control Panel\\MingW32\\NLS", ® );
- if( !rc_ok( rc ) )
- return WPTERR_REGISTRY;
- RegCloseKey( reg );
+ RegCloseKey (reg);
+
+ if (!create_mokey)
+ return 0;
+
+ rc = RegOpenKeyEx (HKEY_CURRENT_USER, GPG_MO_REG, 0, KEY_READ, ®);
+ if (rc == ERROR_SUCCESS) {
+ RegCloseKey (reg);
+ return 0;
}
+ rc = RegCreateKey (HKEY_CURRENT_USER, GPG_MO_REG, ®);
+ if (rc != ERROR_SUCCESS)
+ return WPTERR_REGISTRY;
+ RegCloseKey (reg);
return 0;
}
+/* Create a new filetype in the W32 registry.
+ We should really care of errors! Otherwise we can damage the registry! */
+static int
+create_file_type (const char *exefile, const char *ext,
+ const char *extname, char *iconfile)
+{
+ HKEY reg = NULL;
+ char deficon[MAX_PATH+1];
+ char defexec[MAX_PATH+1];
+ char p_exefile[MAX_PATH+1];
+ int rc;
+
+ rc = RegCreateKey (HKEY_CLASSES_ROOT, ext, ®);
+ if( rc_ok( rc ) )
+ rc = RegSetValueEx( reg, NULL, 0, REG_SZ, (BYTE *)extname, strlen( extname ) );
+ if( rc_ok( rc ) )
+ rc = RegCloseKey( reg );
+ if( rc_ok( rc ) )
+ rc = RegCreateKey( HKEY_CLASSES_ROOT, extname, ® );
+ if( rc_ok( rc ) )
+ rc = RegSetValueEx( reg, NULL, 0, REG_SZ, (BYTE *) extname, strlen( extname ) );
+ if( rc_ok( rc ) )
+ rc = RegCloseKey( reg );
+ if( !rc_ok( rc ) ) {
+ rc = WPTERR_REGISTRY;
+ goto leave;
+ }
+
+ memset( &deficon, 0, sizeof deficon );
+ _snprintf( deficon, sizeof deficon - 1, "%s\\DefaultIcon", extname );
+ memset( &defexec, 0, sizeof defexec );
+ _snprintf( defexec, sizeof defexec - 1, "%s\\shell\\open\\command", extname );
+ memset( &p_exefile, 0, sizeof p_exefile );
+ _snprintf( p_exefile, sizeof p_exefile - 1, "%s %%1", exefile );
+
+ rc = RegCreateKey( HKEY_CLASSES_ROOT, deficon, ® );
+ if( rc_ok( rc ) )
+ rc = RegSetValueEx(reg, NULL, 0, REG_SZ, (BYTE *)iconfile, strlen( iconfile ) );
+ if( rc_ok( rc ) )
+ rc = RegCloseKey( reg );
+ if( rc_ok( rc ) )
+ rc = RegCreateKey( HKEY_CLASSES_ROOT, defexec, ® );
+ if( rc_ok( rc ) )
+ rc = RegSetValueEx( reg, NULL, 0, REG_SZ, (BYTE *)p_exefile, strlen( exefile ) );
+ if( rc_ok( rc ) )
+ rc = RegCloseKey( reg );
+ if( !rc_ok( rc ) ) {
+ rc = WPTERR_REGISTRY;
+ goto leave;
+ }
+
+leave:
+ if (reg)
+ RegCloseKey (reg);
+ return rc;
+}
+
+
+/* Register the given WinPT filetype. */
+static int
+regist_single_filetype (gpg_filetype_t gfile)
+{
+ char icon[MAX_PATH+1] = {0};
+ char prog[MAX_PATH+1] = {0};
+
+ if (!GetModuleFileName (glob_hinst, prog, sizeof (prog)-1))
+ return WPTERR_REGISTRY;
+ _snprintf (icon, sizeof (icon) -1, "%s,%d", prog, gfile->nicon);
+ return create_file_type (prog, gfile->ext, gfile->descr, icon);
+}
+
/* Install WinPT into the W32 registry, if the entry already
exists the function returns immediately. @with_ext can be
used to register some file types (if 1). @created contains
@@ -150,36 +220,42 @@
Return value: 0 on success. */
int
regist_inst_winpt (int with_ext, int *created)
-{
- HKEY reg;
- char *p = NULL;
- char modpath[MAX_PATH+1];
- int rc, i, id, n;
-
- gpg_filetype gpg_filetypes[] = {
+{
+ struct gpg_filetype_s gpg_filetypes[] = {
{_("GPG Detached Signature"), ".sig", 1},
{_("GPG Encrypted Data"), ".gpg", 2},
{_("GPG Armored Data"), ".asc", 2},
{0}
};
+ HKEY reg;
+ char *p = NULL;
+ char modpath[MAX_PATH+1];
+ int rc, i, id, n;
if (created)
*created = 0;
+
+ /* If GPGee is already installed deactivate file extension registering
+ because it is very likely this would overwrite the GPGee settings. */
if (is_gpgee_installed ())
with_ext = 0;
rc = RegOpenKeyEx (HKEY_CURRENT_USER, WINPT_REG, 0, KEY_READ, ®);
- if (rc_ok (rc)) {
+ if (rc == ERROR_SUCCESS) {
RegCloseKey (reg);
rc = RegOpenKeyEx (HKEY_CURRENT_USER, WINPT_REG"\\Keyserver", 0, KEY_READ, ®);
- if (!rc_ok (rc)) {
- RegCreateKey (HKEY_CURRENT_USER, WINPT_REG"\\Keyserver", ®);
- RegCloseKey (reg);
+ if (rc != ERROR_SUCCESS) {
+ rc = RegCreateKey (HKEY_CURRENT_USER, WINPT_REG"\\Keyserver", ®);
+ if (rc == ERROR_SUCCESS)
+ RegCloseKey (reg);
}
+ else
+ RegCloseKey (reg);
p = get_reg_entry_keyserver ("Default");
if (!p) {
char buf[16];
- sprintf (buf, "%d", HKP_PORT);
+
+ _snprintf (buf, DIM (buf)-1, "%d", HKP_PORT);
set_reg_entry_keyserver ("Default_Port", buf);
set_reg_entry_keyserver ("Default", DEF_HKP_KEYSERVER);
}
@@ -187,7 +263,7 @@
return 0;
}
rc = RegCreateKey (HKEY_CURRENT_USER, WINPT_REG, ®);
- if (!rc_ok (rc))
+ if (rc != ERROR_SUCCESS)
return WPTERR_REGISTRY;
if (created)
*created = 1;
@@ -199,9 +275,9 @@
if (id == IDYES) {
for (i = 0; gpg_filetypes[i].ext; i++) {
rc = RegOpenKeyEx (HKEY_CLASSES_ROOT, gpg_filetypes[i].ext, 0, KEY_READ, ®);
- if (rc_ok (rc)) {
- RegCloseKey (reg);
- id = log_box (_("WinPT WARNING"), MB_YESNO|MB_INFO,
+ if (rc == ERROR_SUCCESS) {
+ RegCloseKey (reg);
+ id = log_box (_("WinPT WARNING"), MB_YESNO|MB_INFO,
_("It seems there was already a '%s' file type registered by another application.\n"
"Do you want to overwrite it?"), gpg_filetypes[i].ext);
if (id == IDNO)
@@ -211,6 +287,7 @@
}
}
}
+ /* Store the install directory for later use. */
if ((n=GetModuleFileName (NULL, modpath, MAX_PATH-1)) > 0) {
while (n-- > 0) {
if (modpath[n] == '\\') {
@@ -224,66 +301,9 @@
}
-/* Create a new filetype in the W32 registry.
- We should really care of errors! Otherwise we can damage the registry! */
-int
-create_file_type (const char *exefile, const char *ext,
- const char *extname, char *iconfile)
-{
- int rc;
- HKEY reg = NULL;
- char deficon[256], defexec[256], p_exefile[256];
-
-
- rc = RegCreateKey( HKEY_CLASSES_ROOT, ext, ® );
- if( rc_ok( rc ) )
- rc = RegSetValueEx( reg, NULL, 0, REG_SZ, (BYTE *)extname, strlen( extname ) );
- if( rc_ok( rc ) )
- rc = RegCloseKey( reg );
- if( rc_ok( rc ) )
- rc = RegCreateKey( HKEY_CLASSES_ROOT, extname, ® );
- if( rc_ok( rc ) )
- rc = RegSetValueEx( reg, NULL, 0, REG_SZ, (BYTE *) extname, strlen( extname ) );
- if( rc_ok( rc ) )
- rc = RegCloseKey( reg );
- if( !rc_ok( rc ) ) {
- rc = WPTERR_REGISTRY;
- goto leave;
- }
-
- memset( &deficon, 0, sizeof deficon );
- _snprintf( deficon, sizeof deficon - 1, "%s\\DefaultIcon", extname );
- memset( &defexec, 0, sizeof defexec );
- _snprintf( defexec, sizeof defexec - 1, "%s\\shell\\open\\command", extname );
- memset( &p_exefile, 0, sizeof p_exefile );
- _snprintf( p_exefile, sizeof p_exefile - 1, "%s %%1", exefile );
-
- rc = RegCreateKey( HKEY_CLASSES_ROOT, deficon, ® );
- if( rc_ok( rc ) )
- rc = RegSetValueEx(reg, NULL, 0, REG_SZ, (BYTE *)iconfile, strlen( iconfile ) );
- if( rc_ok( rc ) )
- rc = RegCloseKey( reg );
- if( rc_ok( rc ) )
- rc = RegCreateKey( HKEY_CLASSES_ROOT, defexec, ® );
- if( rc_ok( rc ) )
- rc = RegSetValueEx( reg, NULL, 0, REG_SZ, (BYTE *)p_exefile, strlen( exefile ) );
- if( rc_ok( rc ) )
- rc = RegCloseKey( reg );
- if( !rc_ok( rc ) ) {
- rc = WPTERR_REGISTRY;
- goto leave;
- }
-
-leave:
- if( reg )
- RegCloseKey( reg );
- return rc;
-}
-
-
/* Expand a string with %foo% entries so that %foo% will
be replaced with its actual value. */
-static char *
+static char*
expand_path (const char *path)
{
DWORD len;
@@ -317,10 +337,10 @@
int rc;
rc = RegOpenKeyEx (root_key, dir, 0, KEY_QUERY_VALUE, ®_key);
- if (!rc_ok (rc))
+ if (rc != ERROR_SUCCESS)
goto leave;
rc = RegQueryValueEx (reg_key, key, NULL, &type, NULL, &nbytes);
- if (!rc_ok (rc))
+ if (rc != ERROR_SUCCESS)
goto leave;
if (!nbytes)
goto leave; /* empty */
@@ -328,7 +348,7 @@
if (!p)
BUG (0);
rc = RegQueryValueEx (reg_key, key, NULL, &type, (BYTE*)p, &nbytes);
- if (!rc_ok (rc))
+ if (rc != ERROR_SUCCESS)
goto leave;
if (type == REG_EXPAND_SZ && strchr (p, '%')) {
pp = p;
@@ -351,39 +371,39 @@
set_reg_entry (HKEY root_key, const char *dir, const char *key,
const char *value)
{
- int rc = 0;
HKEY reg_key;
+ int rc;
- rc = RegOpenKeyEx( root_key, dir, 0, KEY_WRITE, ®_key );
- if( !rc_ok( rc ) )
+ rc = RegOpenKeyEx (root_key, dir, 0, KEY_WRITE, ®_key);
+ if (rc != ERROR_SUCCESS)
return WPTERR_REGISTRY;
- rc = RegSetValueEx( reg_key, key, 0, REG_SZ, (BYTE *)value, strlen( value ) );
- if( !rc_ok( rc ) )
+ rc = RegSetValueEx (reg_key, key, 0, REG_SZ, (BYTE *)value, strlen (value));
+ if (rc != ERROR_SUCCESS)
rc = WPTERR_REGISTRY;
- RegCloseKey( reg_key );
+ RegCloseKey (reg_key);
return rc;
}
int
-set_reg_key( HKEY root_key, const char * dir, const char * key,
- const char * value )
-{
- int rc;
+set_reg_key (HKEY root_key, const char *dir, const char *key,
+ const char *value)
+{
HKEY reg_key;
+ int rc;
rc = RegOpenKeyEx (root_key, dir, 0, KEY_WRITE, ®_key);
- if (!rc_ok (rc))
+ if (rc != ERROR_SUCCESS)
return WPTERR_REGISTRY;
rc = RegSetValueEx (reg_key, key, 0, REG_SZ, (BYTE *)value, strlen (value));
- if (!rc_ok (rc)) {
+ if (rc != ERROR_SUCCESS) {
if (RegCreateKey (root_key, key, ®_key) != ERROR_SUCCESS) {
rc = WPTERR_REGISTRY;
goto leave;
}
rc = RegSetValueEx (reg_key, key, 0, REG_SZ, (BYTE *)value, strlen (value));
- if (!rc_ok (rc))
+ if (rc != ERROR_SUCCESS)
rc = WPTERR_REGISTRY;
}
@@ -394,17 +414,16 @@
int
-set_reg_entry_gpg (const char * key, const char * value)
+set_reg_entry_gpg (const char *key, const char *value)
{
- return set_reg_entry (HKEY_CURRENT_USER, "Software\\GNU\\GnuPG", key, value);
+ return set_reg_entry (HKEY_CURRENT_USER, GPG_REG, key, value);
}
int
-set_reg_entry_mo (const char * value)
+set_reg_entry_mo (const char *value)
{
- return set_reg_entry (HKEY_CURRENT_USER, "Control Panel\\Mingw32\\NLS",
- "MODir", value);
+ return set_reg_entry (HKEY_CURRENT_USER, GPG_MO_REG, "MODir", value);
}
@@ -412,7 +431,8 @@
get_reg_entry_gpg (const char *key)
{
char *p;
- p = get_reg_entry (HKEY_CURRENT_USER, "Software\\GNU\\GnuPG", key);
+
+ p = get_reg_entry (HKEY_CURRENT_USER, GPG_REG, key);
if (!p || strlen (p) == 0) {
free_if_alloc (p);
return NULL;
@@ -426,17 +446,19 @@
char*
get_reg_entry_gpg4win (const char *path)
{
+ const char *fmt;
char *p, *pp;
- p = get_reg_entry (HKEY_LOCAL_MACHINE,
- "Software\\GNU\\GnuPG", "Install Directory");
+
+ p = get_reg_entry (HKEY_LOCAL_MACHINE, GPG_REG, "Install Directory");
if (!p)
return NULL;
if (!path)
return p;
- pp = new char[strlen (p) + strlen (path) + 4];
+ fmt = "%s\\%s";
+ pp = new char[strlen (p) + strlen (path) + strlen (fmt) + 1];
if (!pp)
BUG (NULL);
- sprintf (pp, "%s\\%s", p, path);
+ sprintf (pp, fmt, p, path);
free_if_alloc (p);
return pp;
}
@@ -446,52 +468,34 @@
get_reg_entry_mo (void)
{
char *p, *pp;
+ const char *fmt;
const char *lang;
- p = get_reg_entry (HKEY_CURRENT_USER,
- "Control Panel\\Mingw32\\NLS", "MODir");
+ p = get_reg_entry (HKEY_CURRENT_USER, GPG_MO_REG, "MODir");
if (p)
return p;
lang = get_gettext_langid ();
if (!lang)
return NULL;
- pp = new char[strlen ("share\\xxxxx\\locale\\LC_MESSAGES")+8];
+ fmt = "share\\locale\\%s\\LC_MESSAGES";
+ pp = new char[strlen (fmt) + strlen (lang) + 4 + 1];
if (!pp)
BUG (NULL);
- sprintf (pp, "share\\locale\\%s\\LC_MESSAGES", lang);
+ sprintf (pp, fmt, lang);
p = get_reg_entry_gpg4win (pp);
free_if_alloc (pp);
return p;
}
-/* All valid configuration commands. */
-static const char *cfg [] = {
- NULL,
- "CacheTime",
- "WordWrap",
- "DefaultExt",
- "Viewer",
- "WipeMode",
- "AlwaysTrust",
- "AutoBackup",
- "BackupMode",
- "DisableHotkeys",
- "NoCompressMultiMedia",
- "Expert",
- "FMProgressBar",
- "BackupSecring"
-};
-
-
int
set_reg_winpt_single (int id, int val)
{
char buf[64];
int rc;
- sprintf (buf, "%d", val);
+ _snprintf (buf, DIM (buf)-1, "%d", val);
rc = set_reg_entry (HKEY_CURRENT_USER, WINPT_REG, cfg[id], buf);
return rc;
}
@@ -515,7 +519,7 @@
/* Saves the winpt preferences in the registry. */
int
-set_reg_winpt_prefs (winpt_reg_prefs_s * opt)
+set_reg_winpt_prefs (winpt_prefs_t opt)
{
char buf[128];
size_t i;
@@ -600,16 +604,16 @@
int
-set_reg_winpt_flag (const char * name, int val)
+set_reg_winpt_flag (const char *name, int val)
{
return set_reg_entry (HKEY_CURRENT_USER, WINPT_REG, name, val? "1" : "0");
}
int
-get_reg_winpt_flag (const char * name)
+get_reg_winpt_flag (const char *name)
{
- char * buf;
+ char *buf;
int flag = 0;
buf = get_reg_entry (HKEY_CURRENT_USER, WINPT_REG, name);
@@ -624,7 +628,7 @@
/* Retrieve the winpt preferences from the registry. */
int
-get_reg_winpt_prefs (winpt_reg_prefs_s * opt)
+get_reg_winpt_prefs (winpt_prefs_t opt)
{
char *val = NULL;
size_t i;
@@ -637,44 +641,44 @@
}
switch (i) {
case CFG_CACHETIME:
- opt->cache_time = atol (val);
+ opt->cache_time = atoi (val);
break;
case CFG_WORDWRAP:
- opt->word_wrap = atol (val);
+ opt->word_wrap = atoi (val);
break;
case CFG_FILEEXT:
- opt->default_ext = atol (val);
+ opt->default_ext = atoi (val);
break;
case CFG_NOZIP_MMEDIA:
- opt->no_zip_mmedia = atol (val);
+ opt->no_zip_mmedia = atoi (val);
break;
case CFG_VIEWER:
- opt->use_viewer = atol (val);
+ opt->use_viewer = atoi (val);
break;
case CFG_WIPEMODE:
- opt->wipe_mode = atol (val);
+ opt->wipe_mode = atoi (val);
break;
case CFG_DISHOTKEYS:
- opt->no_hotkeys = atol (val);
+ opt->no_hotkeys = atoi (val);
break;
case CFG_ALWAYSTRUST:
- opt->always_trust = atol (val);
+ opt->always_trust = atoi (val);
break;
case CFG_AUTOBACKUP:
- opt->auto_backup = atol (val);
+ opt->auto_backup = atoi (val);
break;
case CFG_AUTOBAKMODE:
- opt->backup.mode = atol (val);
+ opt->backup.mode = atoi (val);
break;
case CFG_EXPERT:
- opt->expert = atol (val);
+ opt->expert = atoi (val);
break;
case CFG_FM_PROGRESS:
- opt->fm.progress = atol (val);
+ opt->fm.progress = atoi (val);
break;
case CFG_BACKUP_INC_SKR:
- opt->backup.include_secr = atol (val);
+ opt->backup.include_secr = atoi (val);
break;
}
free_if_alloc (val);
@@ -715,60 +719,4 @@
{
return set_reg_entry (HKEY_CURRENT_USER, WINPT_REG"\\Keyserver", name, val);
}
-
-static int
-get_reg_entry_keyserver_int (const char *key)
-{
- char *p;
- int val = 0;
-
- p = get_reg_entry_keyserver (key);
- if (p && *p)
- val = atoi (p);
- free_if_alloc (p);
- return val;
-}
-
-
-void
-get_reg_proxy_prefs (keyserver_proxy_t prox)
-{
- if (!prox)
- return;
-
- free_if_alloc (prox->host);
- prox->host = get_reg_entry_keyserver ("Host");
- free_if_alloc (prox->user);
- prox->user = get_reg_entry_keyserver ("User");
- free_if_alloc (prox->pass);
- prox->pass = get_reg_entry_keyserver ("Pass");
- prox->port = get_reg_entry_keyserver_int ("Port");
-}
-
-
-static int
-set_reg_entry_keyserver_int (const char *key, int val)
-{
- char buf[32];
-
- sprintf (buf, "%d", val);
- return set_reg_entry_keyserver (key, buf);
-}
-
-
-int
-set_reg_proxy_prefs (keyserver_proxy_t prox)
-{
- int rc;
-
- rc = set_reg_entry_keyserver_int ("Proto", prox->proto);
- if (!rc)
- rc = set_reg_entry_keyserver ("Host", prox->host? prox->host : "");
- if (!rc)
- rc = set_reg_entry_keyserver_int ("Port", prox->port);
- if (!rc)
- rc = set_reg_entry_keyserver ("User", prox->user? prox->user : "");
- if (!rc)
- rc = set_reg_entry_keyserver ("Pass", prox->pass? prox->pass : "");
- return rc;
-}
+#endif
Added: trunk/Src/wptRegistryMobile.cpp
===================================================================
--- trunk/Src/wptRegistryMobile.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptRegistryMobile.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -0,0 +1,369 @@
+/* wptRegistryMobile.cpp - Mobile config access
+ * Copyright (C) 2006 Timo Schulz
+ *
+ * This file is part of WinPT.
+ *
+ * WinPT is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * WinPT is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with WinPT; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef WINPT_MOBILE
+#include <windows.h>
+
+#include "wptTypes.h"
+#include "wptGPG.h"
+#include "wptRegistry.h"
+#include "wptHotkey.h"
+#include "wptW32API.h"
+#include "wptErrors.h"
+
+static config_file_t pr = NULL;
+
+struct winpt_prefs_s reg_prefs;
+
+/* Because we do not use any existing software, we hardcode
+ the return to FALSE. */
+int is_gpg4win_installed (void)
+{
+ return 0;
+}
+
+/* XXX: the settings should be stored as 'winpt_prefs.txt'
+ because in mobile mode all files should be localted
+ in the same directory. */
+
+void
+free_reg_prefs (void)
+{
+ if (pr != NULL) {
+ commit_config ("c:\\winpt_prefs.txt", &pr);
+ release_config (pr);
+ }
+ pr = NULL;
+}
+
+
+static gpg_option_t
+reg_find_option (const char *key)
+{
+ if (pr == NULL)
+ parse_config ("c:\\winpt_prefs.txt", &pr);
+ return find_option (pr, key);
+}
+
+
+int
+set_reg_winpt_prefs (winpt_prefs_t opt)
+{
+ char buf[128];
+ size_t i;
+ int rc = 0;
+
+ if (pr == NULL)
+ new_config (&pr);
+
+ for (i=1; i < DIM (cfg); i++) {
+ switch (i) {
+ case CFG_CACHETIME:
+ sprintf (buf, "%d", opt->cache_time);
+ break;
+ case CFG_WORDWRAP:
+ sprintf (buf, "%d", opt->word_wrap);
+ break;
+ case CFG_WIPEMODE:
+ sprintf (buf, "%d", opt->wipe_mode);
+ break;
+ case CFG_FILEEXT:
+ sprintf (buf, "%d", opt->default_ext);
+ break;
+ case CFG_NOZIP_MMEDIA:
+ sprintf (buf, "%d", opt->no_zip_mmedia);
+ break;
+ case CFG_VIEWER:
+ sprintf (buf, "%d", opt->use_viewer);
+ break;
+ case CFG_ALWAYSTRUST:
+ sprintf (buf, "%d", opt->always_trust);
+ break;
+ case CFG_AUTOBACKUP:
+ sprintf (buf, "%d", opt->auto_backup);
+ break;
+ case CFG_AUTOBAKMODE:
+ sprintf (buf, "%d", opt->backup.mode);
+ break;
+ case CFG_DISHOTKEYS:
+ sprintf (buf, "%d", opt->no_hotkeys);
+ break;
+ case CFG_EXPERT:
+ sprintf (buf, "%d", opt->expert);
+ break;
+
+ case CFG_FM_PROGRESS:
+ sprintf (buf, "%d", opt->fm.progress);
+ break;
+
+ case CFG_BACKUP_INC_SKR:
+ sprintf (buf, "%d", opt->backup.include_secr);
+ break;
+ }
+ add_entry (pr, ENTRY_MULTI, cfg[i], buf);
+ }
+
+ if (opt->backup.path != NULL)
+ add_entry (pr, ENTRY_MULTI, "BackupPath", opt->backup.path);
+
+ for (i=0; wpt_hotkeys[i].name; i++) {
+ if (wpt_hotkeys[i].enabled) {
+ buf[0] = wpt_hotkeys[i].key;
+ buf[1] = 0;
+ add_entry (pr, ENTRY_MULTI, wpt_hotkeys[i].name, buf);
+ }
+ }
+
+ return 0;
+}
+
+
+/* Retrieve the winpt preferences from the registry. */
+int
+get_reg_winpt_prefs (winpt_prefs_t opt)
+{
+ gpg_option_t val;
+ size_t i;
+
+ for (i=1; i < DIM (cfg); i++) {
+ val = reg_find_option (cfg[i]);
+ if (!val)
+ continue;
+ switch (i) {
+ case CFG_CACHETIME:
+ opt->cache_time = atoi (val->val);
+ break;
+ case CFG_WORDWRAP:
+ opt->word_wrap = atoi (val->val);
+ break;
+ case CFG_FILEEXT:
+ opt->default_ext = atoi (val->val);
+ break;
+ case CFG_NOZIP_MMEDIA:
+ opt->no_zip_mmedia = atoi (val->val);
+ break;
+ case CFG_VIEWER:
+ opt->use_viewer = atoi (val->val);
+ break;
+ case CFG_WIPEMODE:
+ opt->wipe_mode = atoi (val->val);
+ break;
+ case CFG_DISHOTKEYS:
+ opt->no_hotkeys = atoi (val->val);
+ break;
+ case CFG_ALWAYSTRUST:
+ opt->always_trust = atoi (val->val);
+ break;
+ case CFG_AUTOBACKUP:
+ opt->auto_backup = atoi (val->val);
+ break;
+ case CFG_AUTOBAKMODE:
+ opt->backup.mode = atoi (val->val);
+ break;
+ case CFG_EXPERT:
+ opt->expert = atoi (val->val);
+ break;
+ case CFG_FM_PROGRESS:
+ opt->fm.progress = atoi (val->val);
+ break;
+
+ case CFG_BACKUP_INC_SKR:
+ opt->backup.include_secr = atoi (val->val);
+ break;
+ }
+ }
+
+ val = reg_find_option("BackupPath");
+ if (val != NULL)
+ opt->backup.path = m_strdup (val->val);
+
+ for (i=0; wpt_hotkeys[i].name; i++) {
+ wpt_hotkeys[i].enabled = 0;
+ val = reg_find_option (wpt_hotkeys[i].name);
+ if (val != NULL && val->val && val->val[0] != ' ') {
+ wpt_hotkeys[i].key = *val->val;
+ wpt_hotkeys[i].enabled = 1;
+ }
+ }
+ return 0;
+}
+
+
+
+int
+regist_inst_gnupg (int create_mokey)
+{
+ return 0;
+}
+
+
+
+int
+regist_inst_winpt (int with_ext, int *created)
+{
+ return 0;
+}
+
+
+char*
+get_reg_entry (HKEY root_key, const char *dir, const char *key)
+{
+ gpg_option_t val;
+
+ val = reg_find_option (key);
+ if (!val)
+ return NULL;
+ return m_strdup (val->val);
+}
+
+
+int
+set_reg_entry (HKEY root_key, const char *dir, const char *key,
+ const char *value)
+{
+ modify_entry (pr, ENTRY_MULTI, key, value);
+ return 0;
+}
+
+
+int
+set_reg_key (HKEY root_key, const char *dir, const char *key,
+ const char *value)
+{
+
+ set_reg_entry (root_key, dir, key, value);
+ return 0;
+}
+
+
+int
+set_reg_entry_gpg (const char *key, const char *value)
+{
+
+ return set_reg_entry (HKEY_CURRENT_USER, NULL, key, value);
+}
+
+
+int
+set_reg_entry_mo (const char *value)
+{
+ return set_reg_entry (HKEY_CURRENT_USER, NULL, "MODir", value);
+}
+
+
+char*
+get_reg_entry_gpg (const char *key)
+{
+ gpg_option_t val;
+
+ val = reg_find_option (key);
+ if (!val)
+ return NULL;
+ return m_strdup (val->val);
+}
+
+
+char*
+get_reg_entry_gpg4win (const char *path)
+{
+ return NULL;
+}
+
+
+char*
+get_reg_entry_mo (void)
+{
+ gpg_option_t val;
+
+ val = reg_find_option ("MODir");
+ if (val != NULL)
+ return m_strdup (val->val);
+ return NULL;
+}
+
+
+int
+set_reg_winpt_single (int id, int val)
+{
+ char buf[64];
+ int rc;
+
+ _snprintf (buf, DIM (buf)-1, "%d", val);
+ rc = set_reg_entry (HKEY_CURRENT_USER, NULL, cfg[id], buf);
+ return rc;
+}
+
+
+int
+get_reg_winpt_single (int id)
+{
+ char *buf;
+ int val = 0;
+
+ buf = get_reg_entry (HKEY_CURRENT_USER, NULL, cfg[id]);
+ if (buf && *buf != ' ')
+ val = 1;
+ else if (!buf)
+ val = -1;
+ free_if_alloc (buf);
+ return val;
+}
+
+
+
+int
+set_reg_winpt_flag (const char *name, int val)
+{
+ return set_reg_entry (HKEY_CURRENT_USER, NULL, name, val? "1" : "0");
+}
+
+
+int
+get_reg_winpt_flag (const char *name)
+{
+ char *buf;
+ int flag = 0;
+
+ buf = get_reg_entry (HKEY_CURRENT_USER, NULL, name);
+ if (buf && buf[0] == '1')
+ flag = 1;
+ else if (!buf || buf && buf[0] != '0')
+ flag = -1;
+ free_if_alloc (buf);
+ return flag;
+}
+
+
+char*
+get_reg_entry_keyserver (const char *name)
+{
+ return get_reg_entry (HKEY_CURRENT_USER, NULL, name);
+}
+
+
+int
+set_reg_entry_keyserver (const char *name, const char *val)
+{
+ return set_reg_entry (HKEY_CURRENT_USER, NULL, name, val);
+}
+#endif
Modified: trunk/Src/wptVerifyList.cpp
===================================================================
--- trunk/Src/wptVerifyList.cpp 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/Src/wptVerifyList.cpp 2006-10-21 18:08:57 UTC (rev 270)
@@ -229,7 +229,7 @@
if (listview_add_item_image (lv, " ", is_bad))
return WPTERR_GENERAL;
- listview_add_sub_item (lv, 0, VER_COL_NAME, "Clipboard");
+ listview_add_sub_item (lv, 0, VER_COL_NAME, _("Clipboard"));
memset (&key, 0, sizeof (key));
winpt_get_pubkey (sig->fpr, &key);
@@ -273,9 +273,11 @@
struct winpt_key_s key;
const char *attr;
char t[64], *name;
+ int is_bad;
lv = vlv->lv;
- if (listview_add_item (lv, "")) {
+ is_bad = sig->summary & GPGME_SIGSUM_RED? 1 : 0;
+ if (listview_add_item_image (lv, "", is_bad)) {
log_debug ("verlist_add_sig_log: listview_add_item() failed.\n");
return WPTERR_GENERAL;
}
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/TODO 2006-10-21 18:08:57 UTC (rev 270)
@@ -47,3 +47,13 @@
Otherwise the process would take too much time and propably
the window/process freezes up.
(fixed in gpgme 1.1.1)
+
+Mobile Mode
+===========
+
+To allow to run WinPT from an USB stick without any dependencies,
+we need to provide stubs for the registry access. This is done in
+wptRegistryMobile.cpp. It must be assured that no system variable
+or path will be used. For example that GPG uses an existing homedir
+on the hard disk instead of the USB stick keyrings.
+
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac 2006-09-30 12:08:57 UTC (rev 269)
+++ trunk/configure.ac 2006-10-21 18:08:57 UTC (rev 270)
@@ -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, 1.0.2-cvs, http://www.winpt.org)
+AC_INIT(WinPT, 1.0.2, 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