[Gpa-commits] r948 - in trunk: . po src

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Thu Feb 12 17:26:27 CET 2009


Author: werner
Date: 2009-02-12 17:26:24 +0100 (Thu, 12 Feb 2009)
New Revision: 948

Removed:
   trunk/src/gpacardreloadop.c
   trunk/src/gpacardreloadop.h
Modified:
   trunk/configure.ac
   trunk/po/ar.po
   trunk/po/cs.po
   trunk/po/de.po
   trunk/po/es.po
   trunk/po/fr.po
   trunk/po/ja.po
   trunk/po/nl.po
   trunk/po/pl.po
   trunk/po/pt_BR.po
   trunk/po/ru.po
   trunk/po/sv.po
   trunk/po/tr.po
   trunk/po/zh_TW.Big5.po
   trunk/src/ChangeLog
   trunk/src/Makefile.am
   trunk/src/cardman.c
   trunk/src/cm-openpgp.c
   trunk/src/gpgmeedit.c
   trunk/src/gpgmeedit.h
   trunk/src/keygendlg.h
Log:
Make key card generation work again.


Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/configure.ac	2009-02-12 16:26:24 UTC (rev 948)
@@ -29,8 +29,8 @@
 # Remember to change the version number immediately *after* a release.
 # Set my_issvn to "yes" for non-released code.  Remember to run an
 # "svn up" and "autogen.sh --force" right before creating a distribution.
-m4_define(my_version, [0.8.0])
-m4_define(my_issvn, no)
+m4_define(my_version, [0.8.1])
+m4_define(my_issvn, yes)
 
 m4_define([svn_revision], m4_esyscmd([echo -n $( (svn info 2>/dev/null \
             || echo 'Revision: 0')|sed -n '/^Revision:/ {s/[^0-9]//gp;q;}')]))

Modified: trunk/po/ar.po
===================================================================
--- trunk/po/ar.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/ar.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: GPA\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2008-03-17 13:05+0100\n"
 "Last-Translator: \n"
 "Language-Team: Arabic <doc at arabeyes.org>\n"
@@ -41,12 +41,12 @@
 msgid "Clipboard"
 msgstr "الحافظة"
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 #, fuzzy
 msgid "_File"
 msgstr "/_ملف"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 #, fuzzy
 msgid "_Edit"
 msgstr "/_تحرير"
@@ -88,7 +88,7 @@
 msgid "Close the buffer"
 msgstr "يخلي البراح"
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr ""
 
@@ -122,11 +122,11 @@
 msgid "Select the entire document"
 msgstr ""
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 msgid "Keyring"
 msgstr "حلقة مفاتيح"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "ملفات"
 
@@ -2178,92 +2178,88 @@
 msgid "Signatures:"
 msgstr "التوقيعات:"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "الحالة"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "مساعد خصوصية جنو - مدير الملفات"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 msgid "Error accessing card"
 msgstr ""
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "الحافظة"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "لم توجد مفاتيح."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "مدير الملفات"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 msgid "unspecified"
 msgstr ""
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "<b>استخدم الطَّور ال_متقدّم:</>"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "شخصي"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "<b>الرئيسي</b>"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 #, fuzzy
 msgid "<b>PIN</b>"
 msgstr "<b>الرئيسي</b>"

Modified: trunk/po/cs.po
===================================================================
--- trunk/po/cs.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/cs.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: cs\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2007-05-24 15:04+0200\n"
 "Last-Translator: Zdeněk Hataš <zdenek.hatas at gmail.com>\n"
 "Language-Team: czech <cs at li.org>\n"
@@ -45,12 +45,12 @@
 msgid "Clipboard"
 msgstr "Zur _Zwischenablage exportieren"
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 #, fuzzy
 msgid "_File"
 msgstr "/_Soubor"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 #, fuzzy
 msgid "_Edit"
 msgstr "/_Upravit"
@@ -92,7 +92,7 @@
 msgid "Close the buffer"
 msgstr ""
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr ""
 
@@ -129,12 +129,12 @@
 msgid "Select the entire document"
 msgstr ""
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 #, fuzzy
 msgid "Keyring"
 msgstr "Správce klíčů"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "Soubory"
 
@@ -2227,94 +2227,90 @@
 msgid "Signatures:"
 msgstr "Podpisy:"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "Status:"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "GNU Privacy Assistant - Správce souborů"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 #, fuzzy
 msgid "Error accessing card"
 msgstr "Auf die Datei kann nicht zugegriffen werden"
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "Zur _Zwischenablage exportieren"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "Nebyly nalezeny žádné klíče."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "Správce souborů"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 #, fuzzy
 msgid "unspecified"
 msgstr "Eingabedatei nicht angegeben"
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "Použít rozšířený mód:"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "Persona"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "Podeps_at jako"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 msgid "<b>PIN</b>"
 msgstr ""
 

Modified: trunk/po/de.po
===================================================================
--- trunk/po/de.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/de.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2008-07-02 17:26+0200\n"
 "Last-Translator: Werner Koch <wk at gnupg.org>\n"
 "Language-Team: deutsch <de at li.org>\n"
@@ -39,11 +39,11 @@
 msgid "Clipboard"
 msgstr "Zwischenablage"
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 msgid "_File"
 msgstr "/_Datei"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 msgid "_Edit"
 msgstr "/_Bearbeiten"
 
@@ -79,7 +79,7 @@
 msgid "Close the buffer"
 msgstr "Das Fenster schliessen"
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr "Das Programm beenden"
 
@@ -111,11 +111,11 @@
 msgid "Select the entire document"
 msgstr "Das gesamte Dokument auswählen"
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 msgid "Keyring"
 msgstr "Schlüsselverwaltung"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "Dateien"
 
@@ -2196,94 +2196,90 @@
 msgid "Signatures:"
 msgstr "Signaturen (Beglaubigungen)"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "Status:"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "GNU Privacy Assistant - Dateiverwaltung"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 #, fuzzy
 msgid "Error accessing card"
 msgstr "Auf die Datei kann nicht zugegriffen werden"
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "Zwischenablage"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "Es wurde kein Schlüssel gefunden."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "Dateiverwaltung"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 #, fuzzy
 msgid "unspecified"
 msgstr "Eingabedatei nicht angegeben"
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "<b>Benutzerschnittstelle</b>"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "Persona"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "<b>Allgemein</b>"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 #, fuzzy
 msgid "<b>PIN</b>"
 msgstr "<b>Allgemein</b>"

Modified: trunk/po/es.po
===================================================================
--- trunk/po/es.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/es.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: GPA 0.7.0\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2008-03-11 09:35+0100\n"
 "Last-Translator: \n"
 "Language-Team: Spanish <es at li.org>\n"
@@ -44,12 +44,12 @@
 msgid "Clipboard"
 msgstr "Portapapeles"
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 #, fuzzy
 msgid "_File"
 msgstr "/_Archivo"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 #, fuzzy
 msgid "_Edit"
 msgstr "/_Editar"
@@ -91,7 +91,7 @@
 msgid "Close the buffer"
 msgstr "Limpiar buffer"
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr ""
 
@@ -125,11 +125,11 @@
 msgid "Select the entire document"
 msgstr ""
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 msgid "Keyring"
 msgstr "Anillo de claves"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "Archivos"
 
@@ -2211,92 +2211,88 @@
 msgid "Signatures:"
 msgstr "Firmas:"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "Estado"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "GNU Privacy Assistant - Gestor de Archivos"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 msgid "Error accessing card"
 msgstr ""
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "Portapapeles"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "No se encontró ninguna clave."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "Gestor de Archivos"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 msgid "unspecified"
 msgstr ""
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "<b>Usar modo _avanzado</b>"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "Persona"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "<b>Principal</b>"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 #, fuzzy
 msgid "<b>PIN</b>"
 msgstr "<b>Principal</b>"

Modified: trunk/po/fr.po
===================================================================
--- trunk/po/fr.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/fr.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: GPA 0.8.0\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2008-11-25 13:40+0100\n"
 "Last-Translator: Eric Lassauge <lassauge at users.sf.net>\n"
 "Language-Team:  <fr at li.org>\n"
@@ -43,11 +43,11 @@
 msgid "Clipboard"
 msgstr "Presse-papiers"
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 msgid "_File"
 msgstr "_Fichier"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 msgid "_Edit"
 msgstr "É_diter"
 
@@ -83,7 +83,7 @@
 msgid "Close the buffer"
 msgstr "Fermer tampon"
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr "Quitter le programme"
 
@@ -115,11 +115,11 @@
 msgid "Select the entire document"
 msgstr "Sélectionner le document en entier"
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 msgid "Keyring"
 msgstr "Trousseau de clefs"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "Fichiers"
 
@@ -2181,92 +2181,88 @@
 msgid "Signatures:"
 msgstr "Signatures :"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "État"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "Assistant GNU Privacy - Gestionnaire de fichiers"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 msgid "Error accessing card"
 msgstr ""
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "_Presse-papiers"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "Clefs introuvables."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "Gestionnaire de fichiers"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 msgid "unspecified"
 msgstr ""
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "<b>Interface utilisateur</b>"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "Personnelle"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "<b>Principal</b>"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 #, fuzzy
 msgid "<b>PIN</b>"
 msgstr "<b>Principal</b>"

Modified: trunk/po/ja.po
===================================================================
--- trunk/po/ja.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/ja.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: GPA 0.6.1-cvs\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2003-11-03 17:11+0100\n"
 "Last-Translator: TAKAHASHI Tamotsu <ttakah at lapis.plala.or.jp>\n"
 "Language-Team: Japanese <gnupg-i18n at gnupg.org>\n"
@@ -42,12 +42,12 @@
 msgid "Clipboard"
 msgstr "¥¯¥ê¥Ã¥×¥Ü¡¼¥É¤Ø¥³¥Ô¡¼ (_C)"
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 #, fuzzy
 msgid "_File"
 msgstr "/¥Õ¥¡¥¤¥ë (_F)"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 #, fuzzy
 msgid "_Edit"
 msgstr "/ÊÔ½¸ (_E)"
@@ -89,7 +89,7 @@
 msgid "Close the buffer"
 msgstr ""
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr ""
 
@@ -126,12 +126,12 @@
 msgid "Select the entire document"
 msgstr ""
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 #, fuzzy
 msgid "Keyring"
 msgstr "¸°Â«¥¨¥Ç¥£¥¿"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "¥Õ¥¡¥¤¥ë"
 
@@ -2210,94 +2210,90 @@
 msgid "Signatures:"
 msgstr "½ð̾:"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "¥¹¥Æ¡¼¥¿¥¹: "
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "GNU Privacy Assistant - ¥Õ¥¡¥¤¥ë¥Þ¥Í¡¼¥¸¥ã"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 #, fuzzy
 msgid "Error accessing card"
 msgstr "¥Õ¥¡¥¤¥ë¥¢¥¯¥»¥¹¤Î¥¨¥é¡¼"
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "¥¯¥ê¥Ã¥×¥Ü¡¼¥É¤Ø¥³¥Ô¡¼ (_C)"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "¸°¤¬¸«ÉÕ¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£"
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "¥Õ¥¡¥¤¥ë¥Þ¥Í¡¼¥¸¥ã"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 #, fuzzy
 msgid "unspecified"
 msgstr "̤ÄêµÁ"
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "¾åµé¼Ô¥â¡¼¥É¤ò»È¤¦ (_A):"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "¸Ä¿Í"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "½ð̾ÁªÂò (_A)"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 msgid "<b>PIN</b>"
 msgstr ""
 

Modified: trunk/po/nl.po
===================================================================
--- trunk/po/nl.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/nl.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: GPA 0.5.1\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2003-10-19 14:29+0200\n"
 "Last-Translator: Michael Anckaert <michael.anckaert at pi.be>\n"
 "Language-Team: DUTCH <nl at li.org>\n"
@@ -39,12 +39,12 @@
 msgid "Clipboard"
 msgstr "Naar _klembord"
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 #, fuzzy
 msgid "_File"
 msgstr "/_Bestand"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 #, fuzzy
 msgid "_Edit"
 msgstr "Bewerk"
@@ -86,7 +86,7 @@
 msgid "Close the buffer"
 msgstr ""
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr ""
 
@@ -123,12 +123,12 @@
 msgid "Select the entire document"
 msgstr ""
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 #, fuzzy
 msgid "Keyring"
 msgstr "Keyring Editor"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "Bestanden"
 
@@ -2218,92 +2218,88 @@
 msgid "Signatures:"
 msgstr "Ondertekeningen:"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "Status"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "GNU Privacy Assistant - Bestands beheerder"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 msgid "Error accessing card"
 msgstr ""
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "Naar _klembord"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "Geen sleutels gevonden."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "bestandsbeheerder"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 msgid "unspecified"
 msgstr ""
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "Gebruik ge_avanceerde mode:"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "Persoonlijk"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "Ondertekenen_als"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 msgid "<b>PIN</b>"
 msgstr ""
 

Modified: trunk/po/pl.po
===================================================================
--- trunk/po/pl.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/pl.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gpa-0.7\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2004-08-22 02:23+0200\n"
 "Last-Translator: Emilian Nowak <emil5 at go2.pl>\n"
 "Language-Team: Polish <pl at li.org>\n"
@@ -41,12 +41,12 @@
 msgid "Clipboard"
 msgstr ""
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 #, fuzzy
 msgid "_File"
 msgstr "/_Plik"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 #, fuzzy
 msgid "_Edit"
 msgstr "/_Edycja"
@@ -88,7 +88,7 @@
 msgid "Close the buffer"
 msgstr ""
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr ""
 
@@ -124,12 +124,12 @@
 msgid "Select the entire document"
 msgstr ""
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 #, fuzzy
 msgid "Keyring"
 msgstr "Edytor zbioru kluczy"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "Pliki"
 
@@ -2218,92 +2218,88 @@
 msgid "Signatures:"
 msgstr "Podpisy:"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "Stan"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "GNU Privacy Assistant - Menedżer plików "
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 msgid "Error accessing card"
 msgstr ""
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "/Okna/Menadżer _plików"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "Nie odnaleziono żadnych kluczy."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "menedżer plików"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 msgid "unspecified"
 msgstr ""
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "Użyj trybu zaawansowanego:"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "Nie sprawdzone"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "Podpisz _jako "
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 msgid "<b>PIN</b>"
 msgstr ""
 

Modified: trunk/po/pt_BR.po
===================================================================
--- trunk/po/pt_BR.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/pt_BR.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: GPA 0.6.1\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2003-01-20 18:39+0100\n"
 "Last-Translator: Renato Martini <rmartini at cipsga.org.br>\n"
 "Language-Team: PORTUGUES <rmartini at cipsga.org.br>\n"
@@ -40,12 +40,12 @@
 msgid "Clipboard"
 msgstr ""
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 #, fuzzy
 msgid "_File"
 msgstr "/Ar_quivo"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 #, fuzzy
 msgid "_Edit"
 msgstr "_Editar"
@@ -87,7 +87,7 @@
 msgid "Close the buffer"
 msgstr ""
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr ""
 
@@ -123,12 +123,12 @@
 msgid "Select the entire document"
 msgstr ""
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 #, fuzzy
 msgid "Keyring"
 msgstr "Editor do chaveiro digital"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "Arquivos"
 
@@ -2224,93 +2224,89 @@
 msgid "Signatures:"
 msgstr "Assinaturas:"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "Status:"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "GNU Privacy Assistant - Gerenciador de arquivos"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 msgid "Error accessing card"
 msgstr ""
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "/Janelas/_Gerenciador de arquivos"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 #, fuzzy
 msgid "Reload card information"
 msgstr "Mostrar as informações sobre a garantia\n"
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "Nenhuma chave foi encontrada."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "gerenciador de arquivos"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 msgid "unspecified"
 msgstr ""
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "Usar modo _avançado:"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "Usar modo _avançado:"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "Assinar _como"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 msgid "<b>PIN</b>"
 msgstr ""
 

Modified: trunk/po/ru.po
===================================================================
--- trunk/po/ru.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/ru.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: GPA 0.8\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2008-03-18 20:12+0300\n"
 "Last-Translator: Sergei Smirnov <moscow at hro.org>\n"
 "Language-Team: Russian <moscow at hro.org>\n"
@@ -42,12 +42,12 @@
 msgid "Clipboard"
 msgstr "Буфер"
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 #, fuzzy
 msgid "_File"
 msgstr "/_Файл"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 #, fuzzy
 msgid "_Edit"
 msgstr "/_Правка"
@@ -89,7 +89,7 @@
 msgid "Close the buffer"
 msgstr "Очистить буфер"
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr ""
 
@@ -123,11 +123,11 @@
 msgid "Select the entire document"
 msgstr ""
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 msgid "Keyring"
 msgstr "Ключи"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "Файлы"
 
@@ -2196,92 +2196,88 @@
 msgid "Signatures:"
 msgstr "Подписи:"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "Статус"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "GNU Privacy Assistant - Менеджер файлов"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 msgid "Error accessing card"
 msgstr ""
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "Буфер"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "Ключи не обнаружены."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "Менеджер _файлов"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 msgid "unspecified"
 msgstr ""
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "<b>Рас_ширенный режим</b>"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "Персон."
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "<b>Главное</b>"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 #, fuzzy
 msgid "<b>PIN</b>"
 msgstr "<b>Главное</b>"

Modified: trunk/po/sv.po
===================================================================
--- trunk/po/sv.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/sv.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gpa\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2008-09-12 18:01+0100\n"
 "Last-Translator: Daniel Nylander <po at danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
@@ -41,11 +41,11 @@
 msgid "Clipboard"
 msgstr "Urklipp"
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 msgid "_File"
 msgstr "_Arkiv"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 msgid "_Edit"
 msgstr "R_edigera"
 
@@ -81,7 +81,7 @@
 msgid "Close the buffer"
 msgstr "Stäng bufferten"
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr "Avsluta programmet"
 
@@ -113,11 +113,11 @@
 msgid "Select the entire document"
 msgstr "Välj hela dokumentet"
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 msgid "Keyring"
 msgstr "Nyckelring"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "Filer"
 
@@ -2160,92 +2160,88 @@
 msgid "Signatures:"
 msgstr "Signaturer:"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "Status"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "GNU Privacy Assistant - Filhanterare"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 msgid "Error accessing card"
 msgstr ""
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "_Urklipp"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "Inga nycklar hittades."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "Filhanterare"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 msgid "unspecified"
 msgstr ""
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "<b>Användargränssnitt</b>"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "Personligen"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "<b>Allmänt</b>"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 #, fuzzy
 msgid "<b>PIN</b>"
 msgstr "<b>Allmänt</b>"

Modified: trunk/po/tr.po
===================================================================
--- trunk/po/tr.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/tr.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gpa 0.7.0\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2004-06-20 14:42+0300\n"
 "Last-Translator: Mert Çetin <mertc at su.sabanciuniv.edu>\n"
 "Language-Team: xTc & Déjà Vu\n"
@@ -41,12 +41,12 @@
 msgid "Clipboard"
 msgstr ""
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 #, fuzzy
 msgid "_File"
 msgstr "/_Dosya"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 #, fuzzy
 msgid "_Edit"
 msgstr "/Dü_zen"
@@ -88,7 +88,7 @@
 msgid "Close the buffer"
 msgstr ""
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr ""
 
@@ -124,12 +124,12 @@
 msgid "Select the entire document"
 msgstr ""
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 #, fuzzy
 msgid "Keyring"
 msgstr "Anahtarlýk Düzenleyicisi"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "Dosyalar"
 
@@ -2211,92 +2211,88 @@
 msgid "Signatures:"
 msgstr "Ýmzalar:"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "Durum"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "GNU Gizlilik Asistaný - Dosya Yöneticisi"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 msgid "Error accessing card"
 msgstr ""
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "/Pencereler/_Dosya Yöneticisi"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "Hiçbir anahtar bulunamadý."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "dosya yöneticisi"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 msgid "unspecified"
 msgstr ""
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "U_zman modunu kullan:"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "Kiþisel"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "_Farklý Ýmzala"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 msgid "<b>PIN</b>"
 msgstr ""
 

Modified: trunk/po/zh_TW.Big5.po
===================================================================
--- trunk/po/zh_TW.Big5.po	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/po/zh_TW.Big5.po	2009-02-12 16:26:24 UTC (rev 948)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gpa-0.7.0\n"
 "Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2009-02-12 10:06+0100\n"
+"POT-Creation-Date: 2009-02-12 12:18+0100\n"
 "PO-Revision-Date: 2003-10-20 11:55+0200\n"
 "Last-Translator: Shell Hung <shell at linux.org.hk>\n"
 "Language-Team: Hong Kong Linux User Group <info at linux.org.hk>\n"
@@ -40,12 +40,12 @@
 msgid "Clipboard"
 msgstr ""
 
-#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:338
+#: src/clipboard.c:754 src/fileman.c:517 src/keyring.c:891 src/cardman.c:345
 #, fuzzy
 msgid "_File"
 msgstr "/ÀÉ®×"
 
-#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:339
+#: src/clipboard.c:755 src/fileman.c:518 src/keyring.c:892 src/cardman.c:346
 #, fuzzy
 msgid "_Edit"
 msgstr "/½s¿è"
@@ -87,7 +87,7 @@
 msgid "Close the buffer"
 msgstr ""
 
-#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:344
+#: src/clipboard.c:775 src/fileman.c:536 src/keyring.c:900 src/cardman.c:351
 msgid "Quit the program"
 msgstr ""
 
@@ -123,12 +123,12 @@
 msgid "Select the entire document"
 msgstr ""
 
-#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:436
+#: src/clipboard.c:908 src/fileman.c:634 src/cardman.c:443
 #, fuzzy
 msgid "Keyring"
 msgstr "Æ_°é½s¿è¾¹"
 
-#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:438
+#: src/clipboard.c:910 src/keyring.c:1087 src/cardman.c:445
 msgid "Files"
 msgstr "ÀÉ®×"
 
@@ -2179,92 +2179,88 @@
 msgid "Signatures:"
 msgstr "ñ¸p"
 
-#: src/cardman.c:111
+#: src/cardman.c:114
 #, fuzzy
 msgid "Status: "
 msgstr "ª¬ºA"
 
-#: src/cardman.c:136
+#: src/cardman.c:139
 #, fuzzy
 msgid "GNU Privacy Assistant - Card Manager"
 msgstr "GNU Privacy Assistant - Àɮ׺޲z"
 
-#: src/cardman.c:144
-msgid "no card"
-msgstr ""
-
-#: src/cardman.c:157
+#: src/cardman.c:160
 #, c-format
 msgid "%s card detected."
 msgstr ""
 
-#: src/cardman.c:164
+#: src/cardman.c:167
 msgid "Checking for card..."
 msgstr ""
 
-#: src/cardman.c:260 src/cardman.c:284
+#: src/cardman.c:267 src/cardman.c:290
 msgid "Error accessing card"
 msgstr ""
 
-#: src/cardman.c:279
+#: src/cardman.c:285
 msgid "No card"
 msgstr ""
 
-#: src/cardman.c:340
+#: src/cardman.c:347
 #, fuzzy
 msgid "_Card"
 msgstr "/µøµ¡/Àɮ׺޲z (&F)"
 
-#: src/cardman.c:348
+#: src/cardman.c:355
 msgid "Reload card information"
 msgstr ""
 
-#: src/cardman.c:352
+#: src/cardman.c:359
 msgid "Edit card information"
 msgstr ""
 
-#: src/cardman.c:470
+#: src/cardman.c:487
 #, fuzzy
 msgid "No card found."
 msgstr "§ä¤£¨ì±KÆ_."
 
-#: src/cardman.c:515
+#: src/cardman.c:532
 #, fuzzy
 msgid "Card Manager"
 msgstr "Àɮ׺޲z­û"
 
-#: src/cardman.c:586
+#: src/cardman.c:600
 msgid "The GPGME library is too old to support smartcards."
 msgstr ""
 
-#: src/cm-openpgp.c:216
+#: src/cm-openpgp.c:215
 msgid "male"
 msgstr ""
 
-#: src/cm-openpgp.c:218
+#: src/cm-openpgp.c:217
 msgid "female"
 msgstr ""
 
-#: src/cm-openpgp.c:220
+#: src/cm-openpgp.c:219
 msgid "unspecified"
 msgstr ""
 
-#: src/cm-openpgp.c:388
+#: src/cm-openpgp.c:387
 #, fuzzy
 msgid "<b>General</b>"
 msgstr "¨Ï¥Î¶i¶¥¼Ò¦¡ (&A):"
 
-#: src/cm-openpgp.c:394
+#: src/cm-openpgp.c:393
 #, fuzzy
 msgid "<b>Personal</b>"
 msgstr "¨p¥Î"
 
-#: src/cm-openpgp.c:399
+#: src/cm-openpgp.c:398
 #, fuzzy
 msgid "<b>Keys</b>"
 msgstr "ñ¸p¬° (&a)"
 
-#: src/cm-openpgp.c:405
+#: src/cm-openpgp.c:404
 msgid "<b>PIN</b>"
 msgstr ""
 

Modified: trunk/src/ChangeLog
===================================================================
--- trunk/src/ChangeLog	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/src/ChangeLog	2009-02-12 16:26:24 UTC (rev 948)
@@ -1,5 +1,24 @@
 2009-02-12  Werner Koch  <wk at g10code.com>
 
+	* cardman.c (card_genkey): Enable with commented checks.
+	(card_genkey_action): New.
+	(card_reload_idle_cb, card_genkey_completed): New.
+
+	* gpgmeedit.c (_unexpected_state,unexpected_state): New.
+	(edit_expire_fnc_action, edit_trust_fnc_action)
+	(edit_sign_fnc_action, edit_passwd_fnc_action)
+	(card_edit_genkey_fnc_action): Use it.
+	(gpa_gpgme_card_edit_genkey_start): Remove ancient gpg-error.h bug
+	workaround.
+	(card_edit_genkey_parms_new): Use xcalloc to initialze the parms.
+	(card_edit_genkey_fnc_transit): Make more robust against changes
+	in gpg.
+
+	* gpgmeedit.c (gpa_gpgme_card_edit_list_start) 
+	(card_edit_list_parms_release, card_edit_list_fnc_transit) 
+	(card_edit_list_fnc_action): Remove.
+	* gpacardreloadop.h, gpacardreloadop.c: Remove.
+
 	* Makefile.am (gpa_cardman_sources): New to conditionally build
 	the cardman.
 	* gpa.c (gpa_open_cardmanager) [BUILD_CARD_MANAGER]: Build only

Modified: trunk/src/Makefile.am
===================================================================
--- trunk/src/Makefile.am	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/src/Makefile.am	2009-02-12 16:26:24 UTC (rev 948)
@@ -126,7 +126,6 @@
 	      gpagenkeyop.h gpagenkeyop.c \
 	      gpagenkeyadvop.h gpagenkeyadvop.c \
 	      gpagenkeysimpleop.h gpagenkeysimpleop.c \
-	      gpacardreloadop.h gpacardreloadop.c \
 	      gpagenkeycardop.h gpagenkeycardop.c \
 	      gpabackupop.h gpabackupop.c \
 	      gpakeyselector.h gpakeyselector.c \

Modified: trunk/src/cardman.c
===================================================================
--- trunk/src/cardman.c	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/src/cardman.c	2009-02-12 16:26:24 UTC (rev 948)
@@ -1,5 +1,5 @@
 /* cardman.c  -  The GNU Privacy Assistant: card manager.
-   Copyright (C) 2008 g10 Code GmbH
+   Copyright (C) 2008, 2009 g10 Code GmbH
 
    This file is part of GPA.
 
@@ -39,7 +39,6 @@
 #include "cardman.h"
 #include "convert.h"
 
-#include "gpacardreloadop.h"
 #include "gpagenkeycardop.h"
 
 #include "cm-object.h"
@@ -315,8 +314,104 @@
 }
 
 
+/* Idle queue callback to do a reload.  */
+static gboolean
+card_reload_idle_cb (void *user_data)
+{
+  GpaCardManager *cardman = user_data;
+  
+  card_reload (cardman);
+  g_object_unref (cardman);
 
+  return FALSE;  /* Remove us from the idle queue. */
+}
+
+
+/* Signal handler for the completed signal of the key generation. */
 static void
+card_genkey_completed (GpaCardManager *cardman, gpg_error_t err)
+{
+  g_object_ref (cardman);
+  g_idle_add (card_reload_idle_cb, cardman);
+}
+
+
+/* This function is called to triggers a key-generation.  */
+static void
+card_genkey (GpaCardManager *cardman)
+{
+  GpaGenKeyCardOperation *op;
+
+  if (cardman->cardtype != GPA_CM_OPENPGP_TYPE)
+    return;  /* Not possible.  */
+
+  /* FIXME: I don't th8ink that the deny-admin check is really needed.
+     if at all we should implement a test via assuan to see whether it
+     is actually working - that is far easier than the checking the
+     configuration which might in some cases not reflect the scdaemon
+     currently in use. */
+/*   if (check_conf_boolean ("scdaemon", "deny-admin") == TRUE) */
+/*     { */
+/*       GtkWidget *dialog; */
+
+/*       dialog = gtk_message_dialog_new (GTK_WINDOW (cardman->window), */
+/* 				       GTK_DIALOG_MODAL, */
+/* 				       GTK_MESSAGE_ERROR, */
+/* 				       GTK_BUTTONS_OK, */
+/* 				       "Admin commands not allowed. Key generation disabled."); */
+/*       gtk_dialog_run (GTK_DIALOG (dialog)); */
+/*       gtk_widget_destroy (dialog); */
+/*       return; */
+/*     } */
+
+
+/* FIXME: Instead of doing this test on our own, I believe it belongs
+   into the edit interactor: gpg knows bets whether keys already
+   exists and we only need to process the corresponding prompt.  */
+/*   if (card_contains_keys (cardman)) */
+/*     { */
+/*       GtkWidget *dialog; */
+/*       gint dialog_response; */
+
+/*       dialog = gtk_message_dialog_new (GTK_WINDOW (cardman->window), */
+/* 				       GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, */
+/* 				       GTK_MESSAGE_WARNING, */
+/* 				       GTK_BUTTONS_OK_CANCEL, */
+/* 				       "Keys are already stored on the card. " */
+/* 				       "Really replace existing keys?"); */
+
+/*       dialog_response = gtk_dialog_run (GTK_DIALOG (dialog)); */
+/*       gtk_widget_destroy (dialog); */
+/*       switch (dialog_response) */
+/* 	{ */
+/* 	case GTK_RESPONSE_OK: */
+/*          break; */
+
+/* 	default: */
+/* 	  return; */
+/* 	} */
+/*     } */
+
+  op = gpa_gen_key_card_operation_new (GTK_WIDGET (cardman));
+  g_debug ("card_genkey_completed connected (%p)", cardman);
+  g_signal_connect_swapped (G_OBJECT (op), "completed",
+                            G_CALLBACK (card_genkey_completed), cardman);
+  g_signal_connect (G_OBJECT (op), "completed",
+		    G_CALLBACK (g_object_unref), NULL);
+}
+
+
+/* This function is called when the user triggers a key-generation.  */
+static void
+card_genkey_action (GtkAction *action, gpointer param)
+{
+  GpaCardManager *cardman = param;
+
+  card_genkey (cardman);
+}
+
+
+static void
 watcher_cb (void *opaque, const char *filename, const char *reason)
 {
   GpaCardManager *cardman = opaque;
@@ -353,13 +448,8 @@
       /* Card menu.  */
       { "CardReload", GTK_STOCK_REFRESH, NULL, NULL,
 	N_("Reload card information"), G_CALLBACK (card_reload_action) },
-#if 0
-      /* FIXME: not yet implemented. */
-      { "CardEdit", GTK_STOCK_EDIT, NULL, NULL,
-	N_("Edit card information"), G_CALLBACK (card_edit) },
-#endif
-/*       { "CardGenkey", GTK_STOCK_NEW, "Generate new key...", NULL, */
-/* 	N_("Generate new key on card"), G_CALLBACK (card_genkey_action) }, */
+      { "CardGenkey", GTK_STOCK_NEW, "Generate new key...", NULL,
+	N_("Generate new key on card"), G_CALLBACK (card_genkey_action) },
     };
 
   static const char *ui_description =
@@ -374,9 +464,6 @@
     "    </menu>"
     "    <menu action='Card'>"
     "      <menuitem action='CardReload'/>"
-#if 0
-    "      <menuitem action='CardEdit'/>"
-#endif
     "      <menuitem action='CardGenkey'/>"
     "    </menu>"
     "    <menu action='Windows'>"

Modified: trunk/src/cm-openpgp.c
===================================================================
--- trunk/src/cm-openpgp.c	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/src/cm-openpgp.c	2009-02-12 16:26:24 UTC (rev 948)
@@ -335,10 +335,7 @@
 
 
 
-
-
-
-
+
 /* Helper for construct_data_widget.  */
 static void
 add_table_row (GtkWidget *table, int *rowidx,

Deleted: trunk/src/gpacardreloadop.c
===================================================================
--- trunk/src/gpacardreloadop.c	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/src/gpacardreloadop.c	2009-02-12 16:26:24 UTC (rev 948)
@@ -1,375 +0,0 @@
-/* gpacardreloadop.c - The GpaCardReloadOperation object.
- *	Copyright (C) 2008 g10 Code GmbH.
- *
- * This file is part of GPA.
- *
- * GPA 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 3 of the License, or
- * (at your option) any later version.
- *
- * GPA 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 this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-#include <gpgme.h>
-
-#include "gpa.h"
-#include "gtktools.h"
-#include "gpgmeedit.h"
-
-#include "gpaoperation.h"
-#include "gpacardreloadop.h"
-
-
-/* Definition of the object.  */
-struct _GpaCardReloadOperation 
-{
-  GpaOperation parent;
-
-  gpa_card_reload_cb_t card_reload_cb;
-  void *card_reload_cb_opaque;
-  gpgme_data_t gpgme_output;
-};
-
-/* Definition of the object's class.  */
-struct _GpaCardReloadOperationClass 
-{
-  GpaOperationClass parent_class;
-};
-
-/* The parent class.  */
-static GObjectClass *parent_class;
-
-/* Identifiers for the properties of our class.  */
-enum
-{
-  PROP_0,
-  PROP_CARD_RELOAD_CB,
-  PROP_CARD_RELOAD_CB_OPAQUE
-};
-
-
-
-/* Local prototypes.  */
-
-
-
-
-/************************************************************ 
- *******************   Implementation   *********************
- ************************************************************/
-
-/* Called during idle loop; triggers the actual GPGME card-list
-   operation.  */
-static gboolean
-gpa_card_reload_operation_idle_cb (gpointer data)
-{
-  GpaCardReloadOperation *op = data;
-  gpg_error_t err;
-
-  err = gpa_gpgme_card_edit_list_start (GPA_OPERATION(op)->context,
-					op->gpgme_output);
-  if (err)
-    g_signal_emit_by_name (GPA_OPERATION (op), "completed", err);
-  
-  return FALSE;
-}
-
-/* Processes the line LINE, calling the callback CB with it's opaque
-   argument for each data item. Modifies LINE. */
-static void
-process_line (char *line, gpa_card_reload_cb_t cb, void *opaque)
-{
-  char *field[5];
-  int fields = 0;
-  int idx;
-
-  /* Note that !line indicates EOF but we have no use for it here.  */
-
-  while (line && fields < DIM (field))
-    {
-      field[fields++] = line;
-      line = strchr (line, ':');
-      if (line)
-	*line++ = 0;
-    }
-
-  for (idx=1; idx < fields; idx++)
-    (*cb) (opaque, field[0], idx-1, field[idx]);
-}
-
-
-/* Processes the GPGME output contained in OUT, calling the callback
-   CB with it's opaque argument OPAQUE for each data item. */
-static void
-process_gpgme_output (gpgme_data_t out, gpa_card_reload_cb_t cb, void *opaque)
-{
-  char *data;
-  size_t data_length;
-  FILE *stream;
-  ssize_t ret;
-  char *line;
-  size_t line_length;
-
-  /* FIXME: this function is NOT portable!!!! -mo */
-
-  data = gpgme_data_release_and_get_mem (out, &data_length);
-  stream = fmemopen (data, data_length, "r");
-  if (!stream)
-    {
-      fprintf (stderr, "Ooops! Fatal error durign fmemopen (%s) occured. How to handle??\n",
-	       strerror (errno));
-      exit (1);
-    }
-
-  while (1)
-    {
-      line = NULL;
-      line_length = 0;
-
-      ret = getline (&line, &line_length, stream);
-      if (ret == -1)
-	{
-	  if (ferror (stream))
-	    {
-	      fprintf (stderr, "Ooops! Fatal error during getline (%s) occured. How to handle??\n",
-		       strerror (errno));
-	      exit (1);
-	    }
-	  else
-	    /* This must be EOF, no? */
-	    break;
-	}
-
-      process_line (line, cb, opaque);
-      free (line);
-    }
-
-  fclose (stream);
-  gpgme_free (data);
-}
-
-static void
-gpa_card_reload_operation_done_cb (GpaContext *context, 
-				   gpg_error_t err,
-				   GpaCardReloadOperation *op)
-{
-  if (!err)
-    {
-      /* Note: this releases op->gpgme_output! */
-      process_gpgme_output (op->gpgme_output,
-			    op->card_reload_cb,
-			    op->card_reload_cb_opaque);
-    }
-  g_signal_emit_by_name (op, "completed", err);
-}
-
-
-static void
-gpa_card_reload_operation_done_error_cb (GpaContext *context, 
-					 gpg_error_t err,
-					 GpaCardReloadOperation *op)
-{
-  switch (gpg_err_code (err))
-    {
-    case GPG_ERR_NO_ERROR:
-    case GPG_ERR_CANCELED:
-      /* Ignore these */
-      break;
-    default:
-      gpa_gpgme_warning (err);
-      break;
-    }
-}
-
-
-
-/************************************************************ 
- ******************   Object Management  ********************
- ************************************************************/
-
-static void
-gpa_card_reload_operation_get_property 
-    (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
-  GpaCardReloadOperation *op = GPA_CARD_RELOAD_OPERATION (object);
-
-  switch (prop_id)
-    {
-    case PROP_CARD_RELOAD_CB:
-      g_value_set_pointer (value, op->card_reload_cb);
-      break;
-    case PROP_CARD_RELOAD_CB_OPAQUE:
-      g_value_set_pointer (value, op->card_reload_cb_opaque);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-
-static void
-gpa_card_reload_operation_set_property
-    (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
-  GpaCardReloadOperation *op = GPA_CARD_RELOAD_OPERATION (object);
-  gpa_card_reload_cb_t cb;
-
-  switch (prop_id)
-    {
-    case PROP_CARD_RELOAD_CB:
-      cb = (gpa_card_reload_cb_t) g_value_get_pointer (value);
-      op->card_reload_cb = cb;
-      break;
-    case PROP_CARD_RELOAD_CB_OPAQUE:
-      op->card_reload_cb_opaque = g_value_get_pointer (value);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-
-static void
-gpa_card_reload_operation_finalize (GObject *object)
-{
-  /* GpaCardReloadOperation *op = GPA_CARD_RELOAD_OPERATION (object); */
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-
-static void
-gpa_card_reload_operation_init (GpaCardReloadOperation *op)
-{
-  gpgme_data_t gpgme_output;
-  gpg_error_t err;
-
-  /* Create a new GPGME data handle into which the GPGME output during
-     the card-list operation is written.  */
-  gpgme_output = NULL;
-  err = gpgme_data_new (&gpgme_output);
-  if (err)
-    gpa_gpgme_warning (err);
-
-  op->card_reload_cb = NULL;
-  op->card_reload_cb_opaque = NULL;
-  op->gpgme_output = gpgme_output;
-}
-
-
-static GObject*
-gpa_card_reload_operation_constructor 
-    (GType type, guint n_construct_properties,
-     GObjectConstructParam *construct_properties)
-{
-  GObject *object;
-  GpaCardReloadOperation *op;
-
-  /* Invoke parent's constructor.  */
-  object = parent_class->constructor (type,
-				      n_construct_properties,
-				      construct_properties);
-  op = GPA_CARD_RELOAD_OPERATION (object);
-
-  /* Connect to the "done" signal. */
-  g_signal_connect (G_OBJECT (GPA_OPERATION (op)->context), "done",
-		    G_CALLBACK (gpa_card_reload_operation_done_error_cb), op);
-  g_signal_connect (G_OBJECT (GPA_OPERATION (op)->context), "done",
-		    G_CALLBACK (gpa_card_reload_operation_done_cb), op);
-
-  /* Begin working when we are back into the main loop.  */
-  g_idle_add (gpa_card_reload_operation_idle_cb, op);
-
-  return object;
-}
-
-
-static void
-gpa_card_reload_operation_class_init (GpaCardReloadOperationClass *klass)
-{
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
-  
-  parent_class = g_type_class_peek_parent (klass);
-
-  object_class->finalize     = gpa_card_reload_operation_finalize;
-  object_class->constructor  = gpa_card_reload_operation_constructor;
-  object_class->set_property = gpa_card_reload_operation_set_property;
-  object_class->get_property = gpa_card_reload_operation_get_property;
-
-  /* Install properties.  */
-  g_object_class_install_property 
-    (object_class, PROP_CARD_RELOAD_CB,
-     g_param_spec_pointer ("card_reload_cb", "card_reload_cb",
-                           "card_reload_cb",
-                           G_PARAM_WRITABLE|G_PARAM_CONSTRUCT_ONLY));
-
-  g_object_class_install_property 
-    (object_class, PROP_CARD_RELOAD_CB_OPAQUE,
-     g_param_spec_pointer ("card_reload_cb_opaque", "card_reload_cb_opaque",
-                           "card_reload_cb_opaque",
-                           G_PARAM_WRITABLE|G_PARAM_CONSTRUCT_ONLY));
-}
-
-
-GType
-gpa_card_reload_operation_get_type (void)
-{
-  static GType this_type = 0;
-  
-  if (!this_type)
-    {
-      static const GTypeInfo this_info =
-        {
-          sizeof (GpaCardReloadOperationClass),
-          (GBaseInitFunc) NULL,
-          (GBaseFinalizeFunc) NULL,
-          (GClassInitFunc) gpa_card_reload_operation_class_init,
-          NULL,           /* class_finalize */
-          NULL,           /* class_data */
-          sizeof (GpaCardReloadOperation),
-          0,              /* n_preallocs */
-          (GInstanceInitFunc) gpa_card_reload_operation_init,
-        };
-      
-      this_type = g_type_register_static (GPA_OPERATION_TYPE,
-                                          "GpaCardReloadOperation",
-                                          &this_info, 0);
-    }
-  
-  return this_type;
-}
-
-
-
-/************************************************************ 
- **********************  Public API  ************************
- ************************************************************/
-
-GpaCardReloadOperation *
-gpa_card_reload_operation_new (GtkWidget *window,
-                               gpa_card_reload_cb_t cb, void *opaque)
-{
-  GpaCardReloadOperation *op;
-  
-  op = g_object_new (GPA_CARD_RELOAD_OPERATION_TYPE,
-		     "window", window,
-		     "card_reload_cb", cb,
-		     "card_reload_cb_opaque", opaque,
-		     NULL);
-
-  return op;
-}

Deleted: trunk/src/gpacardreloadop.h
===================================================================
--- trunk/src/gpacardreloadop.h	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/src/gpacardreloadop.h	2009-02-12 16:26:24 UTC (rev 948)
@@ -1,74 +0,0 @@
-/* gpacardreloadop.h - The GpaCardReloadOperation object.
- *	Copyright (C) 2003 Miguel Coca.
- *	Copyright (C) 2008 g10 Code GmbH.
- *
- * This file is part of GPA.
- *
- * GPA 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 3 of the License, or
- * (at your option) any later version.
- *
- * GPA 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 this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef GPA_CARD_RELOAD_OP_H
-#define GPA_CARD_RELOAD_OP_H
-
-/* Definitions to define the object.  */
-#define GPA_CARD_RELOAD_OPERATION_TYPE \
-          (gpa_card_reload_operation_get_type ())
-
-#define GPA_CARD_RELOAD_OPERATION(obj) \
-          (G_TYPE_CHECK_INSTANCE_CAST \
-            ((obj), GPA_CARD_RELOAD_OPERATION_TYPE,\
-              GpaCardReloadOperation))
-
-#define GPA_CARD_RELOAD_OPERATION_CLASS(klass) \
-          (G_TYPE_CHECK_CLASS_CAST \
-            ((klass), GPA_CARD_RELOAD_OPERATION_TYPE,\
-              GpaCardReloadOperationClass))
-
-#define GPA_IS_CARD_RELOAD_OPERATION(obj) \
-          (G_TYPE_CHECK_INSTANCE_TYPE \
-            ((obj), GPA_CARD_RELOAD_OPERATION_TYPE))
-
-#define GPA_IS_CARD_RELOAD_OPERATION_CLASS(klass) \
-          (G_TYPE_CHECK_CLASS_TYPE \
-            ((klass), GPA_CARD_RELOAD_OPERATION_TYPE))
-
-#define GPA_CARD_RELOAD_OPERATION_GET_CLASS(obj) \
-          (G_TYPE_INSTANCE_GET_CLASS \
-            ((obj), GPA_CARD_RELOAD_OPERATION_TYPE,\
-              GpaCardReloadOperationClass))
-
-
-typedef struct _GpaCardReloadOperation GpaCardReloadOperation;
-typedef struct _GpaCardReloadOperationClass GpaCardReloadOperationClass;
-
-GType gpa_card_reload_operation_get_type (void) G_GNUC_CONST;
-
-
-/************************************
- ************ Public API ************
- ************************************/
-
-/* Type for the callback passed to GpaCardReloadOp object creation,
-   which is used for passing card data items to the caller. */
-typedef void (*gpa_card_reload_cb_t) 
-     (void *opaque, const char *identifier, int idx, const void *value);
-
-/* Create a new GpaCardReloadOperation object. Use CB for passing card
-   data items to the caller. OPAQUE is the opaque argument for CB.  */
-GpaCardReloadOperation *gpa_card_reload_operation_new (GtkWidget *window,
-						       gpa_card_reload_cb_t cb,
-						       void *opaque);
-
-#endif /*GPA_CARD_RELOAD_OP_H*/
-

Modified: trunk/src/gpgmeedit.c
===================================================================
--- trunk/src/gpgmeedit.c	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/src/gpgmeedit.c	2009-02-12 16:26:24 UTC (rev 948)
@@ -1,4 +1,4 @@
-/* gpgmetools.c - The GNU Privacy Assistant
+/* gpgmeedit.c - The GNU Privacy Assistant's edit interactor.
  *      Copyright (C) 2002 Miguel Coca.
  *	Copyright (C) 2008, 2009 g10 Code GmbH.
  *
@@ -137,12 +137,25 @@
     CARD_GENERATE_EMAIL,
     CARD_GENERATE_COMMENT,
     CARD_GENERATE_DONE,
-    CARD_ERROR
+    CARD_ERROR,
+    CARD_DEFAULT
   };
 
 
 
+/* Helper to print information about an unexpected state.  An erro
+   code is returned. */
+static gpg_error_t
+_unexpected_state (int line, int state)
+{
+  g_debug ("gpgmeedit.c:%d: unexpected state %d in " PACKAGE_STRING,
+           line, state);
+  return gpg_error (GPG_ERR_BUG);
+}
+#define unexpected_state(a)  _unexpected_state (__LINE__, (a))
 
+
+
 /* Data to be passed to the edit callback. Must be filled by the caller of
  * gpgme_op_edit()  */
 struct edit_parms_s
@@ -274,7 +287,7 @@
       break;
       /* Can't happen */
     default:
-      return gpg_error (GPG_ERR_GENERAL);
+      return unexpected_state (state);
     }
   return 0;
 }
@@ -397,7 +410,7 @@
       break;
       /* Can't happen */
     default:
-      return gpg_error (GPG_ERR_GENERAL);
+      return unexpected_state (state);
     }
   return gpg_error (GPG_ERR_NO_ERROR);
 }
@@ -540,7 +553,7 @@
       break;
       /* Can't happen */
     default:
-      return gpg_error (GPG_ERR_GENERAL);
+      return unexpected_state (state);
     }
   return gpg_error (GPG_ERR_NO_ERROR);
 }
@@ -734,7 +747,7 @@
       break;
     default:
       /* Can't happen */
-      return gpg_error (GPG_ERR_GENERAL);
+      return unexpected_state (state);
     }
   return gpg_error (GPG_ERR_NO_ERROR);
 }
@@ -851,7 +864,7 @@
 }
 
 
-/* Change the ownertrust of a key */
+/* Change the ownertrust of a key.  */
 gpg_error_t 
 gpa_gpgme_edit_trust_start (GpaContext *ctx, gpgme_key_t key,
                             gpgme_validity_t ownertrust)
@@ -926,7 +939,7 @@
 }
 
 
-/* Change the expire date of a key. */
+/* Change the expire date of a key.  */
 gpg_error_t 
 gpa_gpgme_edit_expire_start (GpaContext *ctx, gpgme_key_t key, GDate *date)
 {
@@ -1128,109 +1141,25 @@
 
 
 /*
- * Card related code.
+ * OpenPGP card key generation.  Although we do all other card
+ * operation directly via gpg-agent/scdaemon, we need to use an edit
+ * interactor for the key generation because that involves OpenPGP key
+ * management as well.
+ *
+ * Note that on-disk key generation is done using a parameter file and
+ * thus there is no edit function for that (cf. gpgmetools.c).
  */
 
-/* Implementation of the card-list operation. */
-
-/* Action function for card-list.  */
-static gpg_error_t
-card_edit_list_fnc_action (int state, void *opaque, char **result)
-{
-  switch (state)
-    {
-    case CARD_COMMAND:
-      *result = "list";
-      break;
-    case CARD_QUIT:
-      *result = "quit";
-      break;
-    default:
-      return gpg_error (GPG_ERR_GENERAL);
-    }
-  return 0;
-}
-
-/* Transit function for card-list.  */
-static int
-card_edit_list_fnc_transit (int current_state, gpgme_status_code_t status,
-			    const char *args, void *opaque, gpg_error_t *err)
-{
-  int next_state;
-
-  switch (current_state)
-    {
-    case CARD_START:
-      if (status == GPGME_STATUS_CARDCTRL)
-        {
-          /* Consume GPGME_STATUS_CARDCTRL and stay in CARD_START state. */
-          next_state = CARD_START;
-        }
-      else if (status == GPGME_STATUS_GET_LINE)
-	next_state = CARD_COMMAND;
-      else
-        goto bailout;
-      break;
-    case CARD_COMMAND:
-      next_state = CARD_QUIT;
-      break;
-    bailout:
-    default:
-      next_state = CARD_ERROR;
-      *err = gpg_error (GPG_ERR_GENERAL);
-    }
-
-  return next_state;
-}
-
-static void
-card_edit_list_parms_release (GpaContext *ctx, gpg_error_t err,
-                              struct edit_parms_s *parms)
-{
-  /* FIXME: is this correct? -mo */
-
-  if (parms->signal_id != 0)
-    g_signal_handler_disconnect (ctx, parms->signal_id);
-  g_free (parms);
-}
-
-/* Triggers card list operation through CTX. OUT is a valid GPGME data
-   handle which is filled during the operation with the list
-   output. */
-gpg_error_t
-gpa_gpgme_card_edit_list_start (GpaContext *ctx, gpgme_data_t out)
-{
-  struct edit_parms_s *parms = g_malloc (sizeof (struct edit_parms_s));
-  gpg_error_t err;
-
-  parms->state = CARD_START;
-  parms->err = 0;
-  parms->action = card_edit_list_fnc_action;
-  parms->transit = card_edit_list_fnc_transit;
-  parms->out = out;
-  parms->opaque = NULL;
-  parms->signal_id = 
-    g_signal_connect (G_OBJECT (ctx), "done",
-                      G_CALLBACK (card_edit_list_parms_release),
-                      parms);
-
-  err = gpgme_op_card_edit_start (ctx->ctx, NULL, edit_fnc, parms, out);
-
-  return err;
-}
-
-/*
- * GENKEY
- */
-
 struct genkey_parms_s
 {
+  int  post_default_state;
   char expiration_day[11];	/* "YYYY-MM-DD". */
   char *name;
   char *email;
   char *comment;
 };
 
+
 static gpg_error_t
 card_edit_genkey_fnc_action (int state, void *opaque, char **result)
 {
@@ -1238,6 +1167,11 @@
 
   switch (state)
     {
+    case CARD_DEFAULT:
+      /* Return an empty line toindicate that the default is to be used.  */
+      *result = "";
+      break;
+
     case CARD_COMMAND:
       *result = "admin";
       break;
@@ -1280,155 +1214,184 @@
     case CARD_QUIT:
       *result = "quit";
       break;
+
+    default: 
+      return unexpected_state (state);
     }
 
-  return 0;			/* FIXME? */
+  return 0;
 }
 
+
 static int
 card_edit_genkey_fnc_transit (int current_state, gpgme_status_code_t status,
-			    const char *args, void *opaque, gpg_error_t *err)
+                              const char *args, void *opaque, gpg_error_t *err)
 {
+  struct genkey_parms_s *genkey_parms = opaque;
   int next_state;
 
+  if (current_state == CARD_DEFAULT)
+    current_state = genkey_parms->post_default_state;
+
   switch (current_state)
     {
     case CARD_START:
-      if (status == GPGME_STATUS_GET_LINE &&
-          g_str_equal (args, "cardedit.prompt"))
+      if (status == GPGME_STATUS_GET_LINE 
+          && !strcmp (args, "cardedit.prompt"))
 	next_state = CARD_COMMAND;
       else
-        {
-          next_state = CARD_ERROR;
-          *err = gpg_error (GPG_ERR_GENERAL);
-        }
+        goto bad_state;
       break;
 
     case CARD_COMMAND:
-      if (status == GPGME_STATUS_GET_LINE &&
-          g_str_equal (args, "cardedit.prompt"))
-	next_state = CARD_ADMIN_COMMAND;
+      if (status == GPGME_STATUS_GET_LINE
+          && !strcmp (args, "cardedit.prompt"))
+        next_state = CARD_ADMIN_COMMAND;
       else
-        {
-          next_state = CARD_ERROR;
-          *err =  gpg_error (GPG_ERR_GENERAL);
-        }
+        goto bad_state;
       break;
 
     case CARD_ADMIN_COMMAND:
-      if (status == GPGME_STATUS_GET_BOOL &&
-          g_str_equal (args, "cardedit.genkeys.backup_enc"))
-	next_state = CARD_GENERATE_BACKUP;
-      else
+      if (status == GPGME_STATUS_GET_LINE || status == GPGME_STATUS_GET_BOOL)
         {
-          next_state = CARD_ERROR;
-          *err =  gpg_error (GPG_ERR_GENERAL);
+          if (!strcmp (args, "cardedit.genkeys.backup_enc"))
+            next_state = CARD_GENERATE_BACKUP;
+          else if (!strcmp (args, "cardedit.prompt"))
+            goto unexpected_prompt;
+          else
+            {
+              genkey_parms->post_default_state = current_state;
+              next_state = CARD_DEFAULT;
+            }
         }
+      else
+        goto bad_state;
       break;
 
     case CARD_GENERATE_BACKUP:
-      if (status == GPGME_STATUS_GET_BOOL &&
-          g_str_equal (args, "cardedit.genkeys.replace_keys"))
-	next_state = CARD_GENERATE_REPLACE_KEYS;
-      else if (status == GPGME_STATUS_GET_LINE &&
-	       g_str_equal (args, "keygen.valid"))
-	next_state = CARD_GENERATE_VALIDITY;
-      else
+      if (status == GPGME_STATUS_GET_LINE || status == GPGME_STATUS_GET_BOOL)
         {
-          next_state = CARD_ERROR;
-          *err =  gpg_error (GPG_ERR_GENERAL);
+          if (!strcmp (args, "cardedit.genkeys.replace_keys"))
+            next_state = CARD_GENERATE_REPLACE_KEYS;
+          else if (!strcmp (args, "keygen.valid"))
+            next_state = CARD_GENERATE_VALIDITY;
+          else if (!strcmp (args, "cardedit.prompt"))
+            goto unexpected_prompt;
+          else
+            {
+              genkey_parms->post_default_state = current_state;
+              next_state = CARD_DEFAULT;
+            }
         }
+      else
+        goto bad_state;
       break;
 
     case CARD_GENERATE_REPLACE_KEYS:
-      if (status == GPGME_STATUS_GET_LINE &&
-          g_str_equal (args, "keygen.valid"))
-	next_state = CARD_GENERATE_VALIDITY;
-      else
+      if (status == GPGME_STATUS_GET_LINE || status == GPGME_STATUS_GET_BOOL)
         {
-          next_state = CARD_ERROR;
-          *err =  gpg_error (GPG_ERR_GENERAL);
+          if (!strcmp (args, "keygen.valid"))
+            next_state = CARD_GENERATE_VALIDITY;
+          else if (!strcmp (args, "cardedit.prompt"))
+            goto unexpected_prompt;
+          else
+            {
+              genkey_parms->post_default_state = current_state;
+              next_state = CARD_DEFAULT;
+            }
         }
+      else
+        goto bad_state;
       break;
 
     case CARD_GENERATE_VALIDITY:
-      if (status == GPGME_STATUS_GET_LINE &&
-          g_str_equal (args, "keygen.name"))
-	next_state = CARD_GENERATE_NAME;
-      else
+      if (status == GPGME_STATUS_GET_LINE || status == GPGME_STATUS_GET_BOOL)
         {
-          next_state = CARD_ERROR;
-          *err =  gpg_error (GPG_ERR_GENERAL);
+          if (!strcmp (args, "keygen.name"))
+            next_state = CARD_GENERATE_NAME;
+          else if (!strcmp (args, "cardedit.prompt"))
+            goto unexpected_prompt;
+          else
+            {
+              genkey_parms->post_default_state = current_state;
+              next_state = CARD_DEFAULT;
+            }
         }
+      else
+        goto bad_state;
       break;
 
     case CARD_GENERATE_NAME:
-      if (status == GPGME_STATUS_GET_LINE &&
-          g_str_equal (args, "keygen.email"))
-	next_state = CARD_GENERATE_EMAIL;
-      else
+      if (status == GPGME_STATUS_GET_LINE || status == GPGME_STATUS_GET_BOOL)
         {
-          next_state = CARD_ERROR;
-          *err =  gpg_error (GPG_ERR_GENERAL);
+          if (!strcmp (args, "keygen.email"))
+            next_state = CARD_GENERATE_EMAIL;
+          else if (!strcmp (args, "cardedit.prompt"))
+            goto unexpected_prompt;
+          else
+            {
+              genkey_parms->post_default_state = current_state;
+              next_state = CARD_DEFAULT;
+            }
         }
+      else
+        goto bad_state;
       break;
 
     case CARD_GENERATE_EMAIL:
-      if (status == GPGME_STATUS_GET_LINE &&
-          g_str_equal (args, "keygen.comment"))
-	next_state = CARD_GENERATE_COMMENT;
-      else
+      if (status == GPGME_STATUS_GET_LINE || status == GPGME_STATUS_GET_BOOL)
         {
-          next_state = CARD_ERROR;
-          *err =  gpg_error (GPG_ERR_GENERAL);
+          if (!strcmp (args, "keygen.comment"))
+            next_state = CARD_GENERATE_COMMENT;
+          else if (!strcmp (args, "cardedit.prompt"))
+            goto unexpected_prompt;
+          else
+            {
+              genkey_parms->post_default_state = current_state;
+              next_state = CARD_DEFAULT;
+            }
         }
+      else
+        goto bad_state;
       break;
 
     case CARD_GENERATE_COMMENT:
       if (status == GPGME_STATUS_KEY_CREATED)
 	next_state = CARD_GENERATE_DONE;
       else
-        {
-          next_state = CARD_ERROR;
-          *err =  gpg_error (GPG_ERR_GENERAL);
-        }
+        goto bad_state;
       break;
 
     case CARD_GENERATE_DONE:
-      if (status == GPGME_STATUS_GET_LINE &&
-          g_str_equal (args, "cardedit.prompt"))
-	next_state = CARD_QUIT;
-      else
+      if (status == GPGME_STATUS_GET_LINE || status == GPGME_STATUS_GET_BOOL)
         {
-          next_state = CARD_ERROR;
-          *err =  gpg_error (GPG_ERR_GENERAL);
+          if (!strcmp (args, "cardedit.prompt"))
+            next_state = CARD_QUIT;
+          else
+            {
+              genkey_parms->post_default_state = current_state;
+              next_state = CARD_DEFAULT;
+            }
         }
+      else
+        goto bad_state;
       break;
 
+    bad_state:
+    unexpected_prompt:
     default:
       next_state = CARD_ERROR;
       *err = gpg_error (GPG_ERR_GENERAL);
+      break;
     }
 
   return next_state;
 }
 
-static void
-card_edit_genkey_parms_release (GpaContext *ctx, gpg_error_t err,
-				struct edit_parms_s *parms)
-{
-  gpgme_data_release (parms->out);
-  if (parms->signal_id != 0)
-    {
-      /* Don't run this signal handler again if the context is reused */
-      g_signal_handler_disconnect (ctx, parms->signal_id);
-    }
-  g_free (parms->opaque);
-  g_free (parms);
-}
 
 static void
-calculate_expiration_day (GPAKeyGenParameters *parms, char *expiration_day, size_t length)
+calculate_expiration_day (GPAKeyGenParameters *parms,
+                          char *expiration_day, size_t length)
 {
   assert (length >= 11);
 
@@ -1466,18 +1429,36 @@
     strcpy (expiration_day, "0");
 }
 
+
+static void
+card_edit_genkey_parms_release (GpaContext *ctx, gpg_error_t err,
+				struct edit_parms_s *parms)
+{
+  gpgme_data_release (parms->out);
+  if (parms->signal_id != 0)
+    {
+      /* Don't run this signal handler again if the context is reused */
+      g_signal_handler_disconnect (ctx, parms->signal_id);
+    }
+  g_free (parms->opaque);
+  g_free (parms);
+}
+
+
 /* Generate the edit parameters needed for setting owner trust.  */
 static struct edit_parms_s *
-card_edit_genkey_parms_new (GpaContext *ctx, GPAKeyGenParameters *parms, gpgme_data_t out)
+card_edit_genkey_parms_new (GpaContext *ctx,
+                            GPAKeyGenParameters *parms, gpgme_data_t out)
 {
-  struct edit_parms_s *edit_parms = g_malloc (sizeof (struct edit_parms_s));
-  struct genkey_parms_s *genkey_parms = g_malloc (sizeof (struct genkey_parms_s));
+  struct edit_parms_s *edit_parms;
+  struct genkey_parms_s *genkey_parms;
 
+  edit_parms = xcalloc (1, sizeof *edit_parms);
+  genkey_parms = xcalloc (1, sizeof *genkey_parms);
+
   edit_parms->state = CARD_START;
-  edit_parms->err = 0;
   edit_parms->action = card_edit_genkey_fnc_action;
   edit_parms->transit = card_edit_genkey_fnc_transit;
-  edit_parms->signal_id = 0;
   edit_parms->out = out;
   edit_parms->opaque = genkey_parms;
 
@@ -1496,18 +1477,18 @@
   return edit_parms;
 }
 
+
 gpg_error_t
-gpa_gpgme_card_edit_genkey_start (GpaContext *ctx, GPAKeyGenParameters *genkey_parms)
+gpa_gpgme_card_edit_genkey_start (GpaContext *ctx,
+                                  GPAKeyGenParameters *genkey_parms)
 {
   struct edit_parms_s *edit_parms;
   gpgme_data_t out = NULL;
   gpg_error_t err;
 
   err = gpgme_data_new (&out);
-  if (gpg_err_code (err) != GPG_ERR_NO_ERROR)
-    {
-      return err;
-    }
+  if (err)
+    return err;
 
   edit_parms = card_edit_genkey_parms_new (ctx, genkey_parms, out);
   
@@ -1516,110 +1497,3 @@
   return err;
 }
 
-
-
-#if 0				/* DISABLED */
-
-/* Modify. */
-
-static gpg_error_t
-card_edit_modify_fnc_action (int state, void *opaque, char **result)
-{
-  switch (state)
-    {
-    case CARD_START:
-      /* Nothing to do here. (?) */
-      break;
-    case CARD_COMMAND:
-      *result = "admin";
-      break;
-    case CARD_ADMIN_COMMAND:
-      *result = "login";
-      break;
-    case CARD_QUERY_LOGIN:
-      *result = (char *) opaque;
-      break;
-    case CARD_QUIT:
-      *result = "quit";
-      break;
-    default:
-      return gpg_error (GPG_ERR_GENERAL);
-    }
-  return 0;
-}
-
-static int
-card_edit_modify_fnc_transit (int current_state, gpgme_status_code_t status,
-			      const char *args, void *opaque, gpg_error_t *err)
-{
-  int next_state;
-
-  switch (current_state)
-    {
-    case CARD_START:
-      if (status == GPGME_STATUS_CARDCTRL)
-	/* Consume GPGME_STATUS_CARDCTRL and stay in CARD_START state. */
-	next_state = CARD_START;
-      else if (status == GPGME_STATUS_GET_LINE)
-	next_state = CARD_COMMAND;
-      break;
-    case CARD_COMMAND:
-      /* Dummy: */
-      next_state = CARD_ADMIN_COMMAND;
-      break;
-    case CARD_ADMIN_COMMAND:
-      fprintf (stderr, "[in CARD_ADMIN_COMMAND, status = %i\n", status);
-      /* FIXME! check status.  */
-      next_state = CARD_QUERY_LOGIN;
-      break;
-    case CARD_QUERY_LOGIN:
-      next_state = CARD_QUIT;
-      break;
-    default:
-      next_state = CARD_ERROR;
-      *err = gpg_error (GPG_ERR_GENERAL);
-    }
-
-  return next_state;
-}
-
-static void
-gpa_gpgme_card_edit_modify_parms_release (GpaContext *ctx, gpg_error_t err,
-					  struct edit_parms_s *parms)
-{
-  /* FIXME: i don't really understand this. -mo */
-  gpgme_data_release (parms->out);
-  if (parms->signal_id != 0)
-    g_signal_handler_disconnect (ctx, parms->signal_id);
-  g_free (parms->opaque);
-  g_free (parms);
-}
-
-gpg_error_t
-gpa_gpgme_card_edit_modify_start (GpaContext *ctx, const gchar *login)
-{
-  struct edit_parms_s *parms = g_malloc (sizeof (struct edit_parms_s));
-  gpg_error_t err;
-  gpgme_data_t out;
-  char *serialno = NULL;
-
-  err = gpgme_data_new (&out);
-  if (err)
-    return err;
-
-  parms->state = CARD_START;
-  parms->err = 0;
-  parms->action = card_edit_modify_fnc_action;
-  parms->transit = card_edit_modify_fnc_transit;
-  parms->out = out;
-  parms->opaque = g_strdup (login);
-  parms->signal_id = g_signal_connect (G_OBJECT (ctx), "done",
-				       G_CALLBACK (gpa_gpgme_card_edit_modify_parms_release),
-				       parms);
-
-  err = gpgme_op_card_edit_start (ctx->ctx, NULL, edit_fnc, parms, out);
-
-  return err;
-}
-
-#endif	/* DISABLED */

Modified: trunk/src/gpgmeedit.h
===================================================================
--- trunk/src/gpgmeedit.h	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/src/gpgmeedit.h	2009-02-12 16:26:24 UTC (rev 948)
@@ -47,11 +47,6 @@
  */
 gpg_error_t gpa_gpgme_edit_passwd_start (GpaContext *ctx, gpgme_key_t key);
 
-/* Triggers card list operation through CTX. OUT is a valid GPGME data
-   handle which is filled during the operation with the list
-   output. */
-gpg_error_t gpa_gpgme_card_edit_list_start (GpaContext *ctx, gpgme_data_t out);
-
 gpg_error_t gpa_gpgme_card_edit_genkey_start (GpaContext *ctx, GPAKeyGenParameters *parms);
 
 #if 0

Modified: trunk/src/keygendlg.h
===================================================================
--- trunk/src/keygendlg.h	2009-02-12 11:10:09 UTC (rev 947)
+++ trunk/src/keygendlg.h	2009-02-12 16:26:24 UTC (rev 948)
@@ -25,6 +25,8 @@
 #include <gtk/gtk.h>
 #include "gpgmetools.h"
 
-GPAKeyGenParameters * gpa_key_gen_run_dialog (GtkWidget * parent, gboolean forcard);
+GPAKeyGenParameters * gpa_key_gen_run_dialog (GtkWidget *parent, 
+                                              gboolean forcard);
 
+
 #endif /* KEYSIGNDLG_H */



More information about the Gpa-commits mailing list