2011-12-01  Werner Koch  <wk@g10code.com>

	NB: ChangeLog files are no longer manually maintained.  Starting
	on December 1st, 2011 we put change information only in the GIT
	commit log, and generate a top-level ChangeLog file from logs at
	"make dist".  See doc/HACKING for details.

2011-09-20  Werner Koch  <wk@g10code.com>

	* keytable.c (first_half_done_cb): Detect missing GPGSM.
	* gpa.c: Add option --disable-x509.
	(main): Set CMS_HACK according to the new option.

2010-10-08  Werner Koch  <wk@g10code.com>

	* clipboard.c (file_created_cb): Use gpa_window_message.

2010-10-06  Werner Koch  <wk@g10code.com>

	* clipboard.c (file_created_cb): Fallback to Latin-1.

2010-05-06  Werner Koch  <wk@g10code.com>

	* gpadatebutton.c: Include i18n.h.
	(update_widgets): Make string translatable.

2009-11-26  Werner Koch  <wk@g10code.com>

	* gpakeyselector.h (_GpaKeySelector): Add field ONLY_USABLE_KEYS.
	* gpakeyselector.c (gpa_key_selector_new): Add arg
	ONLY_USABLE_KEYS.  Change all callers.
	(gpa_key_selector_next_key): Implement option.
	* keylist.c (PROP_ONLY_USABLE_KEYS): New.
	(gpa_keylist_get_property, gpa_keylist_set_property)
	(gpa_keylist_class_init): Init new property.
	(gpa_keylist_new_with_keys): Add arg ONLY_USABLE_KEYS.
	* selectkeydlg.c (select_key_dlg_constructor): Ask only for usable
	keys.

2009-11-13  Werner koch  <wk@g10code.com>

	* gpastreamencryptop.c (struct _GpaStreamEncryptOperation): Add
	field KEY_DIALOG.
	(gpa_stream_encrypt_operation_constructor): Use a simple key
	selection dialog if no recipients are given.
	(response_cb): Get the keys from the new dialog.
	* selectkeydlg.c (select_key_dlg_get_keys): New.

2009-11-10  Werner Koch  <wk@g10code.com>

	* server.c (register_commands): Add a couple of help strings.

2009-11-10  Marcus Brinkmann  <marcus@g10code.de>

	* server.c: Update to new assuan interface.

2009-06-20  Werner Koch  <wk@g10code.com>

	* gpastreamdecryptop.c (gpa_stream_decrypt_operation_new): Use
	"client-title" property.

2009-06-17  Werner Koch  <wk@g10code.com>

	* cardman.c (statusbar_new): Do not print "Status:" in the status
	line.

	* cm-openpgp.c (pubkey_url_menu_fetch_key)
	(pubkey_url_populate_popup_cb): New.
	(construct_data_widget): Connect signal for that.
	(edit_focus_cb): Clear the status line on focus-in.

	* Makefile.am (gpa_cardman_sources): Remove cpp condition on
	BUILD_CARD_MANAGER.
	* gpa.c (quit_if_no_window, gpa_open_cardmanager, main): Ditto.
	* clipboard.c (clipboard_action_new): Ditto.
	* fileman.c (fileman_action_new): Ditto.
	* keymanager.c (key_manager_action_new)
	(keyring_editor_action_new): Ditto.
	* gpa-key-details.c (details_page_fill_key): Remove cpp condition
	on HAVE_STRUCT__GPGME_SUBKEY_CARD_NUMBER.
	* gpasubkeylist.c (enum): Ditto.
	(gpa_subkey_list_new): Ditto.
	(gpa_subkey_list_set_key): Ditto.
	* keylist.c (get_key_pixbuf): Ditto.
	* gpgmeedit.c (gpgme_io_write): Remove replacement function.

2009-06-15  Werner Koch  <wk@g10code.com>

	* keygenwizard.c (name_validate_cb, email_validate_cb): Use new
	validation functions.

	* keygendlg.c (create_dialog): Show backup button only in card mode.
	(gpa_key_gen_run_dialog): Adjust for this.
	(validate_name, validate_comment): New.
	(response_cb): Use them.
	* gpgmetools.c (gpa_validate_gpg_name, gpa_validate_gpg_email)
	(gpa_validate_gpg_comment): New.
	(has_invalid_email_chars, string_count_chr, is_valid_mailbox): New.

	* gpgmeedit.c (card_edit_genkey_fnc_transit): Check for repeated
	name/email/comment prompts.

2009-06-13  Moritz  <moritz@gnu.org>

	* keygenwizard.c (focus_repeat_passphrase, passwd_validate_cb)
	(keygen_wizard_passwd_page)
	(gpa_keygen_wizard_password_get_password): Removed.
	(gpa_keygen_wizard_generate_action): Do not set para->password.
	(struct GPAKeyGenWizard): Removed member passwd_page.
	(keygen_wizard_prepare_cb): Removed code for password page.
	(gpa_keygen_wizard_new): Likewise.

2009-06-10  Werner Koch  <wk@g10code.com>

	* gpgmetools.c (gpa_start_simple_gpg_command): Do not use
	status-fd with gpg-connect-agent.

2009-06-09  Werner Koch  <wk@g10code.com>

	* gpgmeedit.c (edit_fnc): Use gpgme_io_write.
	(gpgme_io_write) [!HAVE_GPGME_IO_WRITE]: Define replacement.
	(edit_fnc): Handle SC_OP status codes.
	* gpagenkeycardop.c (gpa_gen_key_card_operation_done_error_cb):
	Show a useful message for GPG_ERR_BAD_PIN.

2009-06-08  Werner Koch  <wk@g10code.com>

	* gpgmetools.c (dump_data_to_clipboard): Use size_t for LEN.
	(get_gpg_connect_agent_path) [G_OS_WIN32]: s/#if/#ifdef/.

2009-05-30  Moritz  <moritz@gnu.org>

	* fileman.c (DND_TARGET_URI_LIST): Change constant from 0 to 1.

2009-05-28  Werner Koch  <wk@g10code.com>

	* gpgmetools.c (get_gpgconf_path): New.
	(get_gpg_connect_agent_path): New.
	(gpa_start_simple_gpg_command): Extend to allow calling gpgconf
	and gpg-connect-agent.
	(gpa_start_agent): New.
	* gpa.c (main): Call it.

2009-05-20  Werner Koch  <wk@g10code.com>

	* cm-openpgp.c (change_pin): Fix use of the Reset Code.

2009-05-19  Werner Koch  <wk@g10code.com>

	* cm-openpgp.c (update_entry_chv_status): Reverse force_pw1 setting.
	(save_entry_sig_force_pin): Ditto.

2009-05-16  Moritz  <moritz@gnu.org>

	* cardman.c (gpa_card_manager_finalize): Check for
	cardman->gpgagent being non-NULL before passing it to
	gpgme_release.

2009-05-14  Werner Koch  <wk@g10code.com>

	* cm-openpgp.c (struct _GpaCMOpenpgp): Add field KEY_ATTRIBUTES.
	(gpa_cm_openpgp_finalize): Release it.
	(update_entry_key_attr): Set them.
	(gpa_cm_openpgp_get_key_attributes): New.
	* gpagenkeycardop.h (struct _GpaGenKeyCardOperation): Add field
	KEY_ATTRIBUTES and R_ERROR_DESC.
	* gpagenkeycardop.c (gpa_gen_key_card_operation_finalize): Release
	these fields.
	(gpa_gen_key_card_operation_new): Set that field.
	(gpa_gen_key_card_operation_idle_cb): Pass it to the generate fnc.
	(gpa_gen_key_card_operation_done_error_cb): Print status error.
	* keygendlg.c (gpa_key_gen_run_dialog): Change arg FORCARD to a
	string.
	(create_dialog): Show the key attributes of a card. Add backup
	checkbox.
	(gpa_key_gen_run_dialog): Store backup flag in the params.
	* gpgmetools.h (gpa_keygen_para_t): Add field BACKUP and R_ERROR_DESC.
	* gpgmeedit.c (struct genkey_parms_s): Add field BACKUP.
	(card_edit_genkey_parms_new): Set that field.
	(card_edit_genkey_fnc_action): Use that field.
	(struct edit_parms_s): Add fucntion ptr SAVE_ERROR.
	(edit_fnc): Call it.
	(gpa_gpgme_edit_trust_parms_new, gpa_gpgme_edit_expire_parms_new)
	(gpa_gpgme_edit_sign_parms_new, gpa_gpgme_edit_passwd_parms_new):
	Use g_malloc0.
	(card_edit_genkey_save_error): New.
	(edit_fnc): Ignore STATUS_PROGRESS.

	* gpgmetools.c (gpa_gpgme_warning_ext): New.

2009-05-13  Werner Koch  <wk@g10code.com>

	* helpmenu.c (gpa_help_about): Show GnuPG version.

	* gpa.c (cms_hack): Always enable CMS support.

	* convert.c (gpa_expiry_date_string, gpa_creation_date_string):
	Change to use ISO date format.

	* keygenwizard.c (gpa_keygen_wizard_generate_action): Use
	gpa_keygen_para functions.  Change default algo to RSA-2048.
	(STANDARD_KEY_LENGTH): New.
	(gpa_keygen_wizard_final_page): Adjust for changed key length.

	* gpgmetools.h (GPAKeyGenParameters): Rename to
	gpa_keygen_para_t.  Change all users.
	(gpa_keygen_para_t): Remove EXPIRYDATE, INTERVAL
	and UNIT.  Add EXPIRE.  Rename USERID to NAME.
	* gpgmetools.c (key_gen_params_new): Rename to ...
	(gpa_keygen_para_new): .. this.  Adjust for changed EXPIRE.
	(gpa_key_gen_free_parameters): Rename to ...
	(gpa_keygen_para_free): .. this.  Rewrite
	* gpgmeedit.c (calculate_expiration_day): Remove.
	(card_edit_genkey_parms_new): Use new EXPIRE parameter.

2009-05-12  Werner Koch  <wk@g10code.com>

	* keygendlg.c: Rewritten.
	* gpgmetools.c (gpa_algorithm_string, gpa_algorithm_from_string)
	(algorithm_strings): Remove.
	* gpgmetools.h (GPA_KEYGEN_ALGO_FIRST, GPA_KEYGEN_ALGO_LAST): Remove.

	* gpadatebutton.c, gpadatebutton.h: New.
	* gpadatebox.c, gpadatebox.h: New.

2009-05-11  Werner Koch  <wk@g10code.com>

	* gpgmetools.h (GPA_KEYGEN_ALGO_RSA_RSA): New.

	* keygendlg.c (gpa_key_gen_run_dialog): Remove the 768 bit key size.

2009-05-07  Werner Koch  <wk@g10code.com>

	* cm-openpgp.c (update_entry_key_attr): New.
	(reload_data): Show key attributes.

2009-05-05  Werner Koch  <wk@g10code.com>

	* keyring.h: Rename to keymanager.h and rewrite.
	* keyring.c: Rename to keymanager.c and rewrte as proper GObject.
	* gpa.c (gpa_open_keyring_editor): Adjust for changed keymanager.
	Rename to gpa_open_key_manager.
	(quit_if_no_window): Ditto.
	(keyringeditor): Remove.

2009-05-04  Werner Koch  <wk@g10code.com>

	* fileman.c (DIM): Remove as it is already in gpa.h.

	* keylist.h (struct _GpaKeyList): Add field DISPOSED.
	* keylist.c (gpa_keylist_get_type): Remove casts.
	(gpa_keylist_class_init): Use correct function prototype.
	(gpa_keylist_init): Ditto.
	(gpa_keylist_constructor): Merge into gpa_keylist_init.
	(gpa_keylist_dispose): New.

2009-04-27  Werner Koch  <wk@g10code.com>

	* helpmenu.c (gpa_help_about): Link directly to the GPA page.  Use
	the same dialog for W32 and !W32.

2009-04-26  Moritz  <moritz@gnu.org>

	* options.c (determine_default_key): Replaced dummy code with
	working code.

2009-04-20  Moritz  <moritz@gnu.org>

	* cm-openpgp.c (save_attr): Call gpa_cm_object_alert_dialog()
	instead of gpa_window_error().
	* gtktools.c (gpa_window_error): Use
	gtk_window_set_transient_for().
	* cm-object.c: New item ALERT_DIALOG in enum.
	(gpa_cm_object_class_init): Register "alert-dialog" signal through
	g_signal_new.
	(gpa_cm_object_alert_dialog): New function, emits alert-dialog
	signal on given object.
	* cm-object.h (struct _GpaCMObjectClass): New member: alert_dialog.
	Declare function gpa_cm_object_alert_dialog.
	* cardman.c (alert_dialog_cb): New function.
	(update_card_widget): Connect to alert-dialog signal of newly
	created GpaCMObject object.

2009-04-10  Moritz  <moritz@gnu.org>

	* cm-openpgp.c (add_table_row): Made labels top aligned, so that
	they don't jump around when activating expander widgets.

2009-04-05  Moritz  <moritz@gnu.org>

	* cm-openpgp.c (add_table_row): Added new boolean parameter:
	compact; set table attach options according to value of COMPACT.
	Adjusted all callers of add_table_row.

	* cardman.c (cardman_action_new): Change menu item label; enable
	translation.

2009-04-02  Werner Koch  <wk@g10code.com>

	* keylist.c (gpa_keylist_next): Format user name the X.509 way.

	* gpa-key-details.c (construct_subkeys_page)
	(subkeys_page_fill_key, remove_subkeys_page, subkeys_page_empty):
	Merge and rename to build_subkeys_page.
	(ui_mode_changed): Adjust.
	(construct_signatures_page, signatures_page_fill_key)
	(signatures_page_empty): Merge and rename to
	build_signatures_page.  Support X.509.
	(gpa_key_details_update): Create the signature pages only in
	advanced mode.
	(struct _GpaKeyDetails): Remove field signatures_count.  Add field
	signatures_page.
	(signatures_uid_changed): Check that there is a signatures page.
	(construct_main_widget): Remove signature and subkey creation.
	(gpa_key_details_find): Support X.509.
	* certchain.c, certchain.h: New.
	* format-dn.c, format-dn.h: New.

	* options.c (gpa_options_set_simplified_ui): Send signal only for
	a real change.
	(gpa_options_set_show_advanced_options): Ditto.

2009-03-30  Moritz  <moritz@gnu.org>

	* gpa-key-details.c (signatures_page_fill_key): Call
	gtk_widget_set_size_request on ComboBox holding the key's UIDs.

2009-03-29  Moritz  <moritz@gnu.org>

	* gpa.h: Do not include gpadefs.h.

2009-03-23  Werner Koch  <wk@g10code.com>

	* gpgmetools.c (gpg_simple_stderr_cb): Use GString and skip
	non-status lines.

	* gpa.h (disable_ticker): New.
	* gpa.c: Add hidden option --disable-ticker.
	* cardman.c (start_ticker): Implement option.
	(ticker_cb): Ignore tick while reloading.
	(watcher_cb): Avoid reload already here.

2009-03-22  Moritz  <moritz@gnu.org>

	* cardman.c (cardman_action_new): Call
	gtk_action_group_set_translation_domain before
	gtk_action_group_add_actions.

2009-03-19  Werner Koch  <wk@g10code.com>

	* gpgmetools.c (gpa_backup_key): Replace g_assert for the gpg path
	test by a cleaner return_if_fail.
	(gpa_start_simple_gpg_command): New.

2009-03-18  Werner Koch  <wk@g10code.com>

	* cardman.c (construct_widgets): Do not update the card widget here.
	(card_reload_finish_idle_cb): New.
	(card_reload): Decrement card via idle handler.

	* cm-netkey.c (reload_more_data_idle_cb, reload_more_data)
	(reload_more_data_cb): New.
	(reload_data): Call reload_more_data.
	(construct_data_widget): Add a keys frame.
	(reload_data): Clear the frame.

2009-03-17  Werner Koch  <wk@g10code.com>

	* cm-openpgp.c (show_admin_pin_notice): New.
	(save_attr): Call it.

	* gpa-key-details.c (gpa_key_details_update): Keep track of the
	current key.
	(signatures_uid_changed): Select sigs according to current key.

2009-03-16  Werner Koch  <wk@g10code.com>

	* cm-openpgp.c (construct_data_widget): Use an expander for the
	fingerprints.
	(update_entry_fpr): Adjust for that.
	(entry_fpr_expanded_cb): New.

	* keyring.c (keyring_editor_new): s/g_malloc/g_malloc0/.
	(keyring_update_details_notebook): Rename to keyring_update_details.

	* keyring.c: Factor key details code out to ...
	* gpa-key-details.c, gpa-key-details.h: New.

2009-03-10  Werner Koch  <wk@g10code.com>

	* Makefile.am (localedir): New.
	(AM_CPPFLAGS): Define LOCALEDIR.
	* gpa.c (get_locale_dir): s/GPA_LOCALEDIR/LOCALEDIR/.

	* cm-openpgp.c (construct_data_widget): Add change PIN buttons.
	(update_entry_chv_status): Set button labels.
	(change_pin_clicked_cb, change_pin): New.
	(update_entry_serialno): Init new IS_V2 global.
	(struct _GpaCMOpenpgp): Add field RETRY_COUNTER.
	(update_entry_chv_status): Init them.

	* cm-openpgp.c (construct_data_widget): Add signature counter item.

	* cm-geldkarte.c: Replace GtkEntry by GtkLabel.

	* cm-dinsig.h, cm-dinsig.c: New.
	* Makefile.am (gpa_cardman_sources): Add them
	* cardman.c (scd_status_cb, update_card_widget): Make use of it.

2009-03-05  Werner Koch  <wk@g10code.com>

	* cm-netkey.c (check_nullpin, check_nullpin_data_cb): Remove.
	(update_entry_chv_status): New.
	(reload_data): Use CHV-STATUS attribute.

2009-03-04  Werner Koch  <wk@g10code.com>

	* cm-openpgp.c (add_table_row): Allow for GtkLabel as widget.
	(construct_data_widget): Change all read-only fields to GtkLabel.
	Change all users of these fields.
	(save_attr): No error message if canceled.

	* cardman.c (struct _GpaCardManager): Add field APP_SELECTOR.
	(setup_app_selector, setup_app_selector_data_cb): New.
	(gpa_card_manager_init): Call setup_app_selector.
	(card_reload): Implement application selection.
	(update_card_widget): Add arg ERROR_DESCRIPTION and change all
	callers.

	* membuf.c, membuf.h: New.  Taken from GnuPG and modified for use
	with Glib.

2009-03-03  Werner Koch  <wk@g10code.com>

	* convert.c (gpa_sex_char_to_string): Make strings a salutation.

	* cm-openpgp.c (add_table_row): Set the label alignment again.
	(update_entry_fpr, update_entry_chv_status): New.
	(reload_data): Use them.
	(set_integer): New.
	(construct_data_widget): Add new field for the PUK.  Reorder code.
	(edit_toggled_cb): New.
	(save_attr): Add arg IS_ESCAPED and change all callers.
	(save_entry_sig_force_pin): new.

2009-02-27  Werner Koch  <wk@g10code.com>

	* server_access.c: Rename to server-access.c.
	* server_access.h: Rename to server-access.h.
	* gpa_logo.ppm: Rename to gpa-logo.ppm.
	* Makefile.am: Adjust accordingly.
	* server-access.c, keyring.c, gpaimportserverop.c
	* gpaexportserverop.c: Ditto.

	* server_access.c (helper_path) [G_OS_WIN32]: Fix syntax error.
	(close_dialog): Build only for G_OS_UNIX.

	* filewatch.c: Remove debug output.

	* cardman.c (struct _GpaCardManager): Add TICKER_TIMEOUT_ID and
	EVENTCOUNTER.
	(geteventcounter_status_cb, ticker_cb, start_ticker): New.
	(gpa_card_manager_finalize): Remove the ticker.
	(card_reload): Start the ticker and update the evntcounter.

2009-02-26  Werner Koch  <wk@g10code.com>

	* cm-object.c (gpa_cm_object_class_init): Register "update-status"
	signal.
	(gpa_cm_object_update_status): New.
	* cm-openpgp.c (show_edit_error): Call that function.
	* cardman.c (update_card_widget): Connect new signal.

	* cm-openpgp.c: Allow saving of all personal fields.

	* utils.c (percent_unescape): New.

2009-02-25  Werner Koch  <wk@g10code.com>

	* cm-openpgp.c (save_attr): New.

	* utils.c (percent_escape): New.

2009-02-24  Werner Koch  <wk@g10code.com>

	* cardman.c (scd_inq_cb): Adjust for changed gpgme API.
	(card_reload): Ditto.
	* cm-openpgp.c (reload_data): Ditto.

2009-02-20  Werner Koch  <wk@g10code.com>

	* cm-openpgp.c: Implemented an entry edit framework.

2009-02-19  Werner Koch  <wk@g10code.com>

	* cm-object.h (struct _GpaCMObject): Add field agent_ctx.
	* cm-openpgp.c (gpa_cm_openpgp_reload): Set this field.
	(reload_data): Remove gpg-agent arg and take it from the
	GpaCMObject.

	* gpgmetools.c (strip_path): New.
	(_gpa_gpgme_error): Use it.

2009-02-12  Werner Koch  <wk@g10code.com>

	* keygendlg.c (response_cb): Take care of unused password entries.

	* cardman.c (card_genkey): Enable with commented checks.
	(card_genkey_action): New.
	(card_reload_idle_cb, card_genkey_completed): New.
	(card_genkey): Check for deny_admin.

	* 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.
	(card_edit_genkey_fnc_action): Pop up a dialog to ask for
	overwriting existing keys.

	* 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
	id defined.
	(quit_if_no_window) [BUILD_CARD_MANAGER]: Include cardman only if
	defined.
	* keyring.c (keyring_editor_action_new) [BUILD_CARD_MANAGER]:
	Depend menu item on it.
	* fileman.c (fileman_action_new) [BUILD_CARD_MANAGER]: Ditto
	* clipboard.c (clipboard_action_new) [BUILD_CARD_MANAGER]: Ditto

2009-02-11  Werner Koch  <wk@g10code.com>

	* cardman.c: Major refactoring.  Move all openpgp card specific
	code to ..
	* cm-openpgp.c: New.
	* cm-openpgp.h: New.
	* cm-object.c, cm-object.h New.
	* cm-geldkarte.c, cm-geldkarte.h: New.
	* cm-netkey.c, cm-netkey.h: New.

2009-02-10  Werner Koch  <wk@g10code.com>

	* cardman.c (modify_name_cb): Disabled due to the use of new gtk+
	functions.

2009-02-07  Moritz  <moritz@gnu.org>

	* cardman.c (card_genkey): Fix typo in message.
	(card_genkey): Check for deny-admin being set, not for allow-admin
	being unset.
	(update_info_visibility): Disable no_show_all flag of card_widget,
	if necessary.
	(new_gtk_entry): New function.
	(modify_name_cb): New function.
	(construct_card_widget): Create tables with three columns instead
	of two.
	(add_table_row): Accept another optional widget, which is to be
	stored in third table column.
	(construct_card_widget): Pass another argument to add_table_row.
	Create button for changing name and pass it to add_table_row.
	(gpa_card_manager_constructor): Increment window size to 680x480.
	Enable no-show-all flag of card_widget.  Remove calls to
	gtk_widget_show_all and gtk_widget_hide_all.

2009-02-03  Werner Koch  <wk@g10code.com>

	* icons.h, icons.c (GPA_STOCK_SECRET_CARDKEY): New.
	* keylist.c (get_key_pixbuf): Test for card key.
	* keyring.c (keyring_details_page_fill_key): Ditto.
	* gpasubkeylist.c (SUBKEY_IS_CARDKEY, SUBKEY_CARD_NUMBER): New.
	(gpa_subkey_list_new): Create new fields.  Change column title and
	implement tooltips.
	(gpa_subkey_list_set_key): Set new fields.

2009-01-31  Moritz  <moritz@gnu.org>

	* cardman.c (struct _GpaCardManager): New member: big_label.
	(update_info_visibility): Hide and show big_label depending on
	card status.
	(gpa_card_manager_constructor): Initialize, pack and show
	big_label.
	(struct _GpaCardManager): New members:
	entryPINRetryCounter, entryAdminPINRetryCounter, entrySigForcePIN.
	(clear_card_data): Clear them here.
	(card_reload_cb): Fill them here.
	(construct_card_widget): New variables: pin_table, pin_frame;
	construct widgets for displaying PIN related info.
	(gpa_card_manager_constructor): New variable: box; use
	another box for proper layout.

2009-01-31  Moritz  <moritz@gnu.org>

	* cardman.c (card_contains_keys, check_conf_boolean): New
	functions...
	(card_genkey): call them here; new dialogs implemented.
	(construct_card_widget): New (GtkScrolledWindow) widget: scrolled;
	use a GtkExpander instead of a GtkFrame for keys_frame.

2009-01-27  Moritz  <moritz@gnu.org>

	* cardman.c (clear_card_data): New function.
	(update_info_visibility): Call it here.

2009-01-27  Werner Koch  <wk@g10code.com>

	* cardman.c (opass_status_cb, get_serial_direct): Hack to display
	data from a Geldkarte.

2009-01-26  Werner Koch  <wk@g10code.com>

	* cardman.c (ADD_TABLE_ROW): Replace macro by ..
	(add_table_row): New function.
	(struct _GpaCardManager): Add fields GENERAL_FRAME, PERSONAL_FRAME
	and KEYS_FRAME.
	(construct_card_widget): Initialize them and add new field for the
	card type.
	(card_reload_cb): Show the card type.
	(update_info_visibility): Hide only the personal and keys frame.
	(get_serial_direct, opass_status_cb): New.

2009-01-17  Moritz  <moritz@gnu.org>

	* cardman.c: Include "convert.h".
	(card_reload_cb): Handle sex.
	(construct_card_widget): Display sex-widget.
	(ADD_TABLE_ROW): Use gtk_label_set_width_chars to set a common
	label width for all rows.
	(construct_card_widget): Use gtk_entry_set_with_chars and
	gtk_entry_set_has_frame to change appearance of GtkEntry widgets.
	(struct _GpaCardManager): New member: entrySex.

	* convert.h: Declare function gpa_sex_char_to_string.
	* convert.c (gpa_sex_char_to_string): New function.

	* cardman.c (reader_status_t): New (enum) type.
	(reader_status_from_file): New function.
	(watcher_cb): New local variable: reader_status; call
	reader_status_from_file and statusbar_update.

2009-01-16  Werner Koch  <wk@g10code.com>

	* gpapinchange.h, gpapinchange.c: New.
	* Makefile.am (gpa_SOURCES): Add them

	* convert.c (gpa_unit_expiry_time_string): Change return type to
	const char.  Do bounds checks.
	(gpa_time_unit_from_string): Take a const char * arg.  Make code
	more robust.

	* gpapastrings.c: Rename to convert.c.
	* gpapastrings.h: Rename to convert.h.  Remove all includes.
	* gpawidgets.c, keyring.c, gpafileencryptop.c, gpasubkeylist.c
	* keyeditdlg.c:  Include convert.h.

2009-01-14  Marcus Brinkmann  <marcus@g10code.de>

	* cardman.c (construct_card_widget): Make frame label bold and
	remove the shadows.  Add border for personal_table and keys_table.

2009-01-13  Werner Koch  <wk@g10code.com>

	* cardman.c (_GpaCardManager): Add field CARDTYPE.
	(card_reload_cb): Detect the card type.
	(update_info_visibility): Put card type into the status line.
	(cardman_statusbar_new): Rename to statusbar_new.
	(cardman_statusbar_update): Rename to statusbar_update.

2009-01-11  Moritz  <moritz@gnu.org>

	* gpgmeedit.c (card_edit_genkey_fnc_transit): Add default-case in
	switch.

	* cardman.c (construct_card_widget): Modify ADD_TABLE_ROW macro to
	enable the caller to pass in the GTK table and the rowidx counter.
	New variables: general_frame, personal_frame, keys_frame,
	general_table, personal_table, keys_table; removed variable:
	table. Modified function to divide the GUI into three frames.

	* keygendlg.c (gpa_key_gen_run_dialog): Use different window title
	in case forcard is true.
	(gpa_key_gen_run_dialog): If forcard is true: use hard-coded value
	"RSA" for combo box and store numerical identifier for RSA in
	params struct manually instead of looking it up through
	gpa_algorithm_from_string.
	Initialize entryPasswd to NULL to silence compiler warning.

	* gpgmeedit.c (DEBUG_FSM): Reset to 0.

	* gpagenkeycardop.c (gpa_gen_key_card_operation_done_cb): Do not
	use gpgme_op_genkey_result to retrieve result information about
	the generated key.
	(gpa_gen_key_card_operation_idle_cb): Call
	gpa_gpgme_card_edit_genkey_start.
	Include "gpgmeedit.h".

	* gpgmeedit.h: Declare gpa_gpgme_card_genkey_start.
	* gpgmeedit.c (struct genkey_parms_s): New struct.
	(card_edit_genkey_fnc_action, card_edit_genkey_fnc_transit)
	(card_edit_genkey_parms_release, calculate_expiration_day)
	(card_edit_genkey_parms_new, gpa_gpgme_card_edit_genkey_start): New functions.
	Include <assert.h>.
	Added several new CARD_... symbols in enum.

2009-01-08  Marcus Brinkmann  <marcus@g10code.de>

	* cardman.c (struct _GpaCardManager): New members status_label,
	status_text.
	(cardman_statusbar_new, cardman_statusbar_update): New functions.
	(update_info_visibility): Call cardman_statusbar_update.
	(cardman_action_new): Add edit menu, and preferences to toolbar.
	(ADD_TABLE_ROW): Expand the second column.  Left-align the label.
	(gpa_card_manager_constructor): Add status bar to main window.

2009-01-07  Marcus Brinkmann  <marcus@g10code.de>

	* cardman.c (card_reload_cb): Nul-terminate the version string.

2008-12-17  Werner Koch  <wk@g10code.com>

	* cardman.c: Change layout of file.
	(card_reload): Rename to card_reload_action.  Change callers.
	Factor code out to ...
	(card_reload): New.
	(card_genkey): Rename to card_reload_action. Change callers.
	Factor code out to ...
	(card_genkey): New.
	(watcher_cb): Call card_reload direct.
	(gpa_cardman_new): Remove.
	(gpa_card_manager_get_instance): Create object directly.
	(register_reload_operation): Remove and inline the code instead.

	* gpgmeedit.c (EditAction): Rename to edit_action_t.
	(EditTransit): Rename to edit_transit_t.
	(edit_fnc): Remove superfluous use of gpg_err_code.
	(ExpireState, TrustState, SignState, PasswdState, CardState): Make
	them anonymous enums.
	(gpa_gpgme_card_edit_list_parms_release): Rename to
	card_edit_list_parms_release.

	* gpacardreloadop.c: Change layout of file.

2008-12-16  Werner Koch  <wk@g10code.com>

	* cardman.c (_GpaCardManager): Add fields CARD_WIDGET and HAVE_CARD.
	(gpa_card_manager_constructor): Use it here.
	(update_title, update_info_visibility): New.
	(gpa_card_manager_constructor): Use them.
	(watcher_cb): New.

	* gpacardreloadop.c (process_line): Rewrite to handle empty fields.

	* gpacontext.c (gpa_context_start, gpa_context_done): Remove
	debug output.

	* filewatch.c: New.
	* gpa.c (main): Intialize the file watcher.

	* cardman.c (card_reload_cb): Pretty print serial, version and URL.

	* utils.c (decode_c_string, hextobyte): New.  Based on code taken
	GPGME (conversion.c).

	* keygenwizard.c (string_strip_dup): Make arg const char and get
	rid of the stupid "gchar".

	* gpacardreloadop.h: Remove include files. Re-indent macros.
	(_GpaCardReloadOperation)
	(_GpaCardReloadOperationClass): Move to gpacardreloadop.c.

	* icons.c: Include smartcard.xpm.
	(xpm): Add it to the list.
	(register_stock_icons): Remove fake icon.
	* cardman.c (gpa_card_manager_constructor): Use cardman icon.
	(card_reload_cb): Pretty print serial, version  and URL.

2008-12-13  Moritz  <moritz@gnu.org>

	* gpacardreloadop.c, gpacardreloadop.h, gpagenkeycardop.c
	* gpagenkeycardop.h, cardman.c, cardman.h: New files.

	* Makefile.am (gpa_SOURCES): Add cardman.c, cardman.h,
	gpacardreloadop.c, gpacardreloadop.h, gpagenkeycardop.c,
	gpagenkeycardop.h.

	* server.c (cmd_start_cardmanager): New function.
	(register_commands): Register START_CARDMANAGER command.

	* gpagenkeyadvop.c
	(gpa_gen_key_advanced_operation_idle_cb): Pass new argument '0' to
	gpa_key_gen_run_dialog.

	* gpgmeedit.c: New enum: CardState.
	(card_edit_list_fnc_action, card_edit_list_fnc_transit)
	(gpa_gpgme_card_edit_list_parms_release)
	(gpa_gpgme_card_edit_list_start): New functions. The rest of
	included card related code is probably not working and therefore
	disabled.
	* gpgmeedit.h: Declare gpa_gpgme_card_edit_list_start.

	* gpa.c: Include "cardman.h".
	(gpa_args_t): Add member to struct: start_card_manager.
	(option_entries): Add new entry for the card manager.
	(quit_if_no_window): Call gpa_card_manager_is_open().
	(gpa_open_cardmanager): New function.
	(main): Check value of args.start_card_manager before preparing to
	start keyring editor; if args.start_card_manager is true, call
	gpa_open_cardmanager().
	* gpa.h: Declare gpa_open_cardmanager().
	(gpa_windows_menu_action_entries): Added entry for card manager.

	* keygendlg.c (_GPAKeyGenDialog): New member in struct: forcard.
	(response_cb): Only check validity of the given passphrases if we
	are not generating a key on a smartcard.
	(gpa_key_gen_run_dialog): New parameter: forcard; initialize
	forcard member in dialog struct. Adjust GUI construction for the
	forcard==TRUE case, which means that we are generating a key on a
	smartcard. For comboKeysize use gtk_combo_box_new_text() instead
	of gtk_combo_box_entry_new_text(), since it doesn't make much
	sense in my opinion to be able to choose arbitrarty key sizes.
	* keygendlg.h: Adjust to new gpa_key_gen_run_dialog API by adding
	forcard parameter.

	* icons.h: Define GPA_STOCK_CARDMAN.
	* icons.c: Add new icon for card manager. At the moment this is a
	placeholder (floppy) icon.

	* keyring.c: Add menuitem/toolitem
	actions for card manager.
	* fileman.c: Likewise.
	* clipboard.c: Likewise.

2008-12-10  Marcus Brinkmann  <marcus@g10code.de>

	* gpaimportfileop.c (gpa_import_file_operation_get_source): Fix
	window title string.

2008-12-04  Marcus Brinkmann  <marcus@g10code.com>

	* fileman.c (GTK_STOCK_SELECT_ALL) [! GTK_CHECK_VERSION (2,10,0)],
	keyring.c (GTK_STOCK_SELECT_ALL) [! GTK_CHECK_VERSION (2,10,0)]:
	Define it.

	* helpmenu.c (gpa_help_about): Add translator-credits.
	* recipientdlg.c (recplist_popup_menu_new),
	fileman.c (fileman_action_new),
	keyring.c (keyring_editor_action_new),
	clipboard.c (clipboard_action_new): Initialize translation domain
	for ACTION_GROUP.

	Submitted by gozer@progrock.com

2008-10-31  Marcus Brinkmann  <marcus@g10code.com>

	* server.c (cmd_sender): Add missing label.

2008-10-30  Werner Koch  <wk@g10code.com>

	* keyring.c (keyring_editor_selection_changed): Use validating
	keylist mode.

2008-10-24  Werner Koch  <wk@g10code.com>

	* server_access.c (helper_path): Use gpg2keys_ with fallback to
	gpgkeys_.

2008-10-15  Werner Koch  <wk@g10code.com>

	* server.c (struct conn_ctrl_s): Add SENDER_PROTOCOL_HINT.
	(cmd_sender): Parse --protocol option.

2008-09-19  Moritz  <moritz@gnu.org>

	* siglist.c (gpa_siglist_set_userid): Call gtk_list_store_clear
	before revoked_signatures is called; simply return in case uid is
	NULL.

2008-07-15  Marcus Brinkmann  <marcus@g10code.de>

	* server.c: Include "gpafileop.h", "gpafileencryptop.h",
	"gpafilesignop.h", "gpafiledecryptop.h" and "gpafileverifyop.h".
	(struct conn_ctrl_s): New member FILES and FILES_FINISHED.
	(free_file_item, release_files, hextobyte, decode_percent_string)
	(cmd_file, impl_encrypt_sign_files, cmd_encrypt_files)
	(cmd_sign_files, cmd_encrypt_sign_files)
	(impl_decrypt_verify_files, cmd_decrypt_files, cmd_verify_files)
	(cmd_decrypt_verify_files, cmd_import_files)
	(cmd_checksum_create_files, cmd_checksum_verify_files): New static
	functions.
	(register_commands): Add commands FILE, ENCRYPT_FILES, SIGN_FILES<
	ENCRYPT_SIGN_FILES, DECRYPT_FILES, VERIFY_FILES,
	DECRYPT_VERIFY_FILES, IMPORT_FILES, CHECKSUM_CREATE_FILES,
	CHECKSUM_VERIFY_FILES.
	* fileman.c (file_decrypt): Use
	gpa_file_decrypt_verify_operation_new instead of
	gpa_file_decrypt_operation_new.
	* encrpytdlg.h (gpa_file_encrypt_dialog_sign): Rename prototype to ...
	(gpa_file_encrypt_dialog_get_sign): ... this.
	(gpa_file_encrypt_dialog_set_armor)
	(gpa_file_encrypt_dialog_set_sign): New prototypes.
	* encryptdlg.c: New properties PROP_ARMOR, PROP_SIGN.
	(gpa_file_encrypt_dialog_get_property)
	(gpa_file_encrypt_dialog_set_property): Handle these.
	(gpa_file_encrypt_dialog_class_init): Install these.
	(gpa_file_encrypt_dialog_sign): Rename function to ...
	(gpa_file_encrypt_dialog_get_sign): ... this.
	(gpa_file_encrypt_dialog_set_armor)
	(gpa_file_encrypt_dialog_set_sign): New functions.
	* gpafileencryptop.h (gpa_file_encrypt_sign_operation_new): New
	prototype.
	* gpafileencryptop.c (gpa_file_encrypt_sign_operation_new): New
	interface.
	* gpafiledecryptop.h (struct _GpaFileDecryptOperation): New
	members VERIFY, ERR, SIGNED_FILES, and DIALOG.
	(gpa_file_decrypt_verify_operation_new): New prototype.
	* gpafiledecryptop.c: Include "verifydlg.h".  New property
	PROP_VERIFY.
	(gpa_file_decrypt_operation_get_property)
	(gpa_file_decrypt_operation_set_property)
	(gpa_file_decrypt_operation_response_cb): New static functions.
	(gpa_file_decrypt_operation_finalize): Destroy OP->dialog.
	(gpa_file_decrypt_operation_constructor): Create verify dialog.
	(gpa_file_decrypt_operation_class_init): Set property hooks and
	install PROP_VERIFY property.
	(gpa_file_decrypt_verify_operation_new): New interface.
	(gpa_file_decrypt_operation_start): Use
	gpgme_op_decrypt_verify_start instead of gpgme_op_decrypt_start.
	(gpa_file_decrypt_operation_next): When completed and in verify
	mode, pop up the verification status dialog.
	(gpa_file_decrypt_operation_done_cb): Gather verification status
	summary if needed.

2008-06-26  Werner Koch  <wk@g10code.com>

	* gpagenkeyadvop.c (gpa_gen_key_advanced_operation_idle_cb): Do
	not generate a key after cancel. Fixes a segv.

2008-06-05  Werner Koch  <wk@g10code.com>

	* gpastreamverifyop.c (done_cb): Take care not to write a SIGSTATUS
	line ala "invalid signature foo: Success".

	* gpastreamdecryptop.c (gpa_stream_decrypt_operation_new): Ditto.
	* server.c (cmd_decrypt, cmd_verify): Pass title arg.
	* verifydlg.c (gpa_file_verify_dialog_set_title): New.
	* gpastreamverifyop.c (gpa_stream_verify_operation_new): Add arg
	TITLE.
	(gpa_stream_verify_operation_ctor): Display title.
	* gpaoperation.c (PROP_CLIENT_TITLE): New.
	(gpa_operation_get_property, gpa_operation_set_property)
	(gpa_operation_class_init): Register this property.
	* gpaoperation.h (_GpaOperation): Add field CLIENT_TITLE.

	* server.c (struct conn_ctrl_s): Add fields session_number and
	session_title.
	(cmd_session): Implement.
	(reset_notify): Release the new fields.

	* server.c (cmd_start_confdialog): New.
	(register_commands): Register new command.

2008-05-27  Marcus Brinkmann  <marcus@ulysses.g10code.com>

	* gpastreamsignop.c (gpa_stream_sign_operation_ctor): Force armor
	and sig_mode.

2008-05-09  Werner Koch  <wk@g10code.com>

	* confdialog.c (create_dialog_tabs_2): Use a localized group name.

2008-05-09  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (gpa_SOURCES): Add gpastreamverifyop.h,
	gpastreamverifyop.c, gpastreamdecryptop.h and gpastreamdecryptop.c.
	* gpastreamverifyop.h, gpastreamverifyop.c: New files.
	* gpastreamdecryptop.h, gpastreamdecryptop.c: New files.
	* server.c: Include "gpastreamverifyop.h" and "gpastreamdecryptop.h".
	(my_devnull_write_cb): New function.
	(my_devnull_data_cbs): New struct.
	(finish_io_streams, cmd_encrypt, cmd_sign, cmd_decrypt)
	(cmd_verify,reset_notify): Reset CTRL->input_fd and CTRL->output_fd.
	(cont_verify, cmd_verify): Finish implementation.
	(cont_decrypt, cmd_decrypt): Finish implementation.

2008-05-08  Werner Koch  <wk@g10code.com>

	* gpgmetools.c (gpa_switch_to_gpg2): New.
	* gpa.c (main): Use it.

2008-05-08  Marcus Brinkmann  <marcus@g10code.de>

	* filesigndlg.c (gpa_file_sign_dialog_set_force_sig_mode): Forcing
	affects visibility now instead of sensitivity.
	(gpa_file_sign_dialog_set_force_armor): Likewise.
	(gpa_file_sign_dialog_constructor): Allow sig mode frame to be
	hidden.  Don't hide armor based on UI expert level.  Never show
	the cleartext sig mode option.

	* filesigndlg.c (gpa_file_sign_dialog_constructor): Move signer
	list before everything else, don't use borders with frames, fix
	mnemonic conflict, replace vbox_mode with frame_mode.
	* filesigndlg.h (struct _GpaFileSignDialog): Replace vbox_mode
	with frame_mode.

	* filesigndlg.h (struct _GpaFileSignDialog): New members vbox_mode
	and force_sig_mode.
	(gpa_file_sign_dialog_new): Remove force_armor argument from
	prototype.
	(gpa_file_sign_dialog_set_armor)
	(gpa_file_sign_dialog_get_force_armor)
	(gpa_file_sign_dialog_set_force_armor)
	(gpa_file_sign_dialog_get_sig_mode)
	(gpa_file_sign_dialog_set_sig_mode)
	(gpa_file_sign_dialog_get_force_sig_mode)
	(gpa_file_sign_dialog_set_force_sig_mode): New prototypes.
	* gpastreamsignop.c (gpa_stream_sign_operation_ctor): Remove
	obsolete argument from gpa_file_sign_dialog_new.
	* gpafilesignop.c (gpa_file_sign_operation_constructor): Likewise.
	If OP->force_armor, set a couple of of properties on
	OP->sign_dialog.
	* filesigndlg.c: New properties PROP_ARMOR, PROP_SIG_MODE,
	PROP_FORCE_SIG_MODE.
	(gpa_file_sign_dialog_constructor): Call gtk_widget_show_all
	before gtk_widget_set_no_show_all.
	(gpa_file_sign_dialog_get_property): Handle new properties.
	(gpa_file_sign_dialog_set_property): Likewise.
	(gpa_file_sign_dialog_class_init): Likewise.
	(gpa_file_sign_dialog_constructor): Save vbox_mode for sig mode.
	Set no-show-all attribute on armor button.  Do not remove normal
	signing mode in simplified UI mode.
	(gpa_file_sign_dialog_new): Remove force_armor argument.
	(gpa_file_sign_dialog_get_sign_type): Rename to ...
	(gpa_file_sign_dialog_get_sig_mode): ... this.  Change callers as
	well.
	(gpa_file_sign_dialog_set_armor)
	(gpa_file_sign_dialog_get_force_armor)
	(gpa_file_sign_dialog_set_force_armor)
	(gpa_file_sign_dialog_get_sig_mode)
	(gpa_file_sign_dialog_set_sig_mode)
	(gpa_file_sign_dialog_get_force_sig_mode)
	(gpa_file_sign_dialog_set_force_sig_mode): New functions.

2008-05-07  Werner Koch  <wk@g10code.com>

	* gpakeydeleteop.c (gpa_key_delete_operation_next): Init ERR.

	* gpgmetools.c (parse_version_number, parse_version_string)
	(compare_version_strings): New.  Taken from gpgme.
	(is_gpg_version_at_least): New.
	* settingsdlg.c (settings_dlg_constructor): Use AKL only if
	enabled.  Disabled all akl fucntion callers if not.

	* server.c (cmd_session): New command; a stub for now.
	(cmd_encrypt, cmd_prep_encrypt, cmd_sign): Factor protocol option
	parsing out to ..
	(parse_protocol_option): .. new.
	(cmd_encrypt, cmd_sign): Factor common code out to ..
	(finish_io_streams, prepare_io_streams): .. new.
	(translate_io_streams): New.
	(cmd_decrypt, cont_decrypt): New.
	(cont_verify, cmd_verify): New.
	(close_message_fd, cmd_message): New.
	(my_gpgme_message_read_cb): New.

2008-05-06  Marcus Brinkmann  <marcus@ulysses.g10code.com>

	* gpakeydeleteop.c (gpa_key_delete_operation_next), gpakeysignop.c
	(gpa_key_sign_operation_next), gpakeypasswdop.c
	(gpa_key_passwd_operation_next), gpakeyexpireop.c
	(gpa_key_expire_operation_next), gpakeytrustop.c
	(gpa_key_trust_operation_next): Fix last change.

2008-05-06  Marcus Brinkmann  <marcus@g10code.de>

	* filesigndlg.c (gpa_file_sign_dialog_constructor): Fix
	suppression of cleartext and armor options in simplified UI mode.

2008-05-02  Marcus Brinkmann  <marcus@g10code.de>

	* gpastreamsignop.c (done_cb): Print MICALG status message for
	each signature.

2008-05-02  Werner Koch  <wk@g10code.com>

	* gpa.c (option_entries): Add option --settings.
	(main): Start settings dialog if requested.

	* server.c (cmd_sender): Update SENDER to allow for options.

	* settingsdlg.c, settingsdlg.h: Start a rewrite.
	* gpa.c (gpa_open_settings_dialog): Adjust for the rewrite.
	(settings_dialog): Remove.
	* utils.c (inet_aton) [W32]: Add replacement function.

	* confdialog.c (create_dialog): Change button order and define an
	alternative button order.
	* encryptdlg.c (gpa_file_encrypt_dialog_constructor): Ditto.
	* selectkeydlg.c (select_key_dlg_constructor): Ditto.
	* recipientdlg.c (recipient_dlg_constructor): Ditto.
	* passwddlg.c (gpa_change_passphrase_dialog_run): Ditto.
	* ownertrustdlg.c (gpa_ownertrust_run_dialog): Ditto.
	* keygendlg.c (gpa_key_gen_run_dialog): Ditto.
	* gpgmetools.c (gpa_passphrase_cb): Ditto.
	* gparecvkeydlg.c (gpa_receive_key_dialog_init): Ditto.
	* filesigndlg.c (gpa_file_sign_dialog_constructor): Ditto.

2008-05-02  Marcus Brinkmann  <marcus@g10code.de>

	* gpaoperation.c (gpa_operation_write_status): Fix signal emittance.
	(gpa_operation_class_init): Fix signature of signal STATUS.

2008-04-30  Werner Koch  <wk@g10code.com>

	* gpa.c (main): Try to use gpg2.

2008-04-29  Werner Koch  <wk@g10code.com>

	* strlist.c, strlist.h: New.  Taken from gnupg/jnlib and modified
	for use in gpa.
	* gpg-stuff.c, gpg-stuff.h: New. Code taken from GnuPG.

	* confdialog.c (gpa_store_configured_keyserver): Factor code out
	to ..
	(gpa_store_gpgconf_string): .. new.
	(gpa_load_configured_keyserver): Factor code out to ..
	(gpa_load_gpgconf_string): .. new.

	* options.c (CHANGED_SHOW_ADVANCED_OPTION): New.
	(gpa_options_class_init): Create new signal
	(gpa_options_set_simplified_ui): New.
	(gpa_options_get_simplified_ui): New.
	(gpa_options_save_settings, gpa_options_read_settings): Store/Load
	new option.
	* settingsdlg.c (ui_mode_changed_for_keyserver): Rename to ..
	(show_advanced_option_changed_for_keyserver): .. this.
	(user_interface_mode_frame): Add checkbox "show advanced options".

	* options (gpa_options_class_init): Factor common code out to ..
	(make_signal): .. new.

2008-04-28  Werner Koch  <wk@g10code.com>

	* settingsdlg.c (gpa_settings_dialog_new): Put advanced UI
	selection at top.
	(user_interface_mode_frame): Change to use a checkbox.
	(advanced_mode_toggled): Simplified.
	(ui_mode_changed_for_keyserver): New.
	(default_keyserver_frame): Call and connect new chnage function.

	* gpgmetools.h (gpa_gpgme_error): Remove surprise by enclosing in
	do-while and remove all single statement blocks when calling it.

	* options.c (gpa_options_read_settings): Load the default
	keyserver value from the backend.
	(gpa_options_save_settings): and store it.
	* confdialog.c (gpa_load_configured_keyserver): New.
	(gpa_save_configured_keyserver): New.

	* Signals: New doc file.

2008-04-25  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (EXTRA_DIST): Add gpa-marshal.list.
	(BUILT_SOURCES): Add gpa-marshal.h and gpa-marshal.c.
	(MOSTLYCLEANFILES): Add gpa-marshal.h and gpa-marshal.c.
	(gpa_SOURCES): Add gpa-marshal.h and gpa-marshal.c.
	* gpa-marshal.list: New file.
	* gpaoperation.h (struct _GpaOperationClass): Add argument ERR to
	member COMPLETED.  Add member STATUS.
	(gpa_operation_server_finish): Remove prototype.
	* gpaoperation.c: Remove SERVER_CTX property.
	(gpa_operation_class_init): Change type of
	completed signal to VOID__INT.
	(gpa_operation_server_finish): Remove function.
	(gpa_operation_class_init): Install STATUS signal.
	* server.c: Include "gpastreamsignop.h".
	(gpa_run_server_continuation): Rename to ...
	(run_server_continuation): ... this, and make it static.
	(cmd_encrypt, cmd_prep_encrypt, cmd_sign): Connect "completed"
	signal to run_server_continuation.  Connect "status" signal to
	assuan_write_status.
	* gpabackup.c, gpaexportop.c, gpafiledecryptop.c,
	gpafileencryptop.c, gpafilesignop.c, gpafileverifyop.c,
	gpagenkeyadvop.c, gpagenkeysimpleop.c, gpaimportop.c,
	gpakeydeleteop.c, gpakeyexpireop.c, gpakeypasswdop.c,
	gpakeysignop.c, gpakeytrustop.c, gpastreamencryptop.c: Do not call
	gpa_operation_server_finish, but pass error code to "completed"
	signal.
	* gpastreamencryptop.h (gpa_stream_encrypt_operation_new): Remove
	server_ctx argument.
	* gpastreamencryptop.c (gpa_stream_encrypt_operation_new): Likewise.
	* gpastreamsignop.h (gpa_stream_sign_operation_new): Remove
	server_ctx argument.
	* gpastreamsignop.c (gpa_stream_sign_operation_new): Likewise.

2008-04-24  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (gpa_SOURCES): Remove gpawizard.h and gpawizard.c.
	* gpawizard.h, gpawizard.c: Remove files.
	* keygenwizard.c: Rewritten to use GtkAssistant.

	* settingsdlg.c (keyserver_selected_cb): Add missing event
	argument.
	(selected_from_list_cb): Also to caller.

2008-04-23  Werner Koch  <wk@g10code.com>

	* gpa.c (main): Don't start the server unless --daemon is given

2008-04-21  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (gpa_SOURCES): Add gpaprogressbar.h, gpaprogressbar.c.
	* gpaprogressbar.h, gpaprogressbar.c: New files.
	* gpaprogressdlg.h, gpaprogressdlg.c: Use GpaProgressBar.

2008-04-09  Marcus Brinkmann  <marcus@g10code.de>

	* keylist.c (setup_columns): Change attribute of
	GPA_KEYLIST_COLUMN_IMAGE from "pixbuf" to "stock-id".
	(get_key_pixbuf): Change return type to const gchar * and return
	stock item IDs.
	(gpa_keylist_constructor): Set type of first column to
	G_TYPE_STRING.
	(setup_columns): Set stock-size property of RENDERER, and use the
	stock-id property for that tree view column renderer.
	* icons.c (xpms): Use stock IDs for secret and public key.
	(register_stock_icons): Set fixed sizes for the secret and public
	key icons.
	* icons.h (GPA_STOCK_PUBLIC_KEY, GPA_STOCK_SECRET_KEY): New.

2008-04-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpa.h (gpa_windows_menu_action_entries): Use stock items for
	file manager and clipboard windows.
	* icons.c (register_stock_icons): Add fake stock icons for file
	manager and clipboard windows.
	(xpms): Use stock item macros.
	(gpa_register_stock_items): Add stock items for clipboard and
	fileman.

	* confdialog.c (update_option): Use gtk_editable_set_editable
	instead of gtk_entry_set_editable.
	* gpawizard.c: Use g_object_set_data and g_object_get_data instead
	of gtk_object_set_data and gtk_object_get_data.
	(gpa_wizard_new): Use gtk_box_set_spacing instead of
	gtk_button_box_set_spacing.
	* keygenwizard.c: Use GtkImage instead of GtkPixmap.
	* keyring.c: Use combo box instead of option menu for signature
	user names.
	(keyring_details_page_fill_num_keys): Use
	gtk_notebook_set_current_page instead of gtk_notebook_set_page.
	(keyring_update_details_notebook): Use g_idle_add instead of
	gtk_idle_add.
	(keyring_editor_new): Use g_object_set_data_full instead of
	gtk_object_set_data_full.
	* gpawidgets.c (gpa_expiry_frame_new): Likewise.
	(gpa_expiry_frame_get_expiration, gpa_expiry_frame_validate): Use
	g_object_get_data instead of gtk_object_get_data.
	* icons.c (gpa_create_icon_widget): Remove obsolete function.
	(xpms): Change name of "keyring" icon to "gpa-keyring".
	* icons.h (gpa_create_icon_widget): Remove prototype.
	(GPA_STOCK_KEYRING_EDITOR): New macro.
	* keyring.c (keyring_editor_new): Use custom stock icon instead of
	gpa_create_icon_widget.
	* gtktools.c (gpa_window_show_centered): Remove obsolete function.
	* gtktools.h (gpa_window_show_centered): Remove prototype.
	* expirydlg.c (gpa_expiry_dialog_run): Change type of EXPIRY_DATE
	to time_t.  Use g_date_set_time_t instead of g_date_set_time.
	* gpapastrings.c (gpa_expiry_date_string): Use g_date_set_time_t
	instead of g_date_set_time.
	(gpa_creation_date_string): Likewise.
	* keygenwizard.c (free_keygen_wizard): Use g_object_unref instead
	of gdk_pixmap_unref.
	(gpa_keygen_wizard_new): Use gtk_window_set_transient_for and
	gtk_window_set_position instead of gpa_window_show_centered.
	(gpa_keygen_wizard_password_page): Use g_object_set_data instead
	of gtk_object_set_data.
	* keyimpseldlg.c (gpa_key_import_selection_dialog_run): Likewise.
	* gpagenkeysimpleop.c (gpa_gen_key_simple_operation_constructor):
	Show keygen wizard.
	* gpa.c, gpawidgets.c, encryptdlg.c, gpawizard.c, keyeditdlg.c,
	keyring.c, keyimpseldlg.c, keygenwizard.c, keygendlg.c: Use
	g_signal_connect instead of gtk_signal_connect.
	* gtktools.c (gpa_window_show_centered): Use gdk_drawable_get_size
	instead of gdk_window_get_size.

	* gtktools.h (gpa_connect_by_accelerator): Remove prototype.
	* gtktools.c (gpa_connect_by_accelerator): Remove obsolete interface.
	* selectkeydlg.c (select_key_dlg_constructor): Remove accel_group.
	* keyring.c (keyring_editor_new): Likewise.
	* keyimpseldlg.c (gpa_key_import_selection_dialog_run): Likewise.
	* encryptdlg.c (gpa_file_encrypt_dialog_constructor): Remove
	accelGroup variable.  Use gtk_label_set_mnemonic_widget instead of
	gpa_connect_by_accelerator.
	* filesigndlg.c (gpa_file_sign_dialog_constructor): Likewise.
	* gparecvkeydlg.c (gpa_receive_key_dialog_init): Likewise.
	* recipientdlg.c (recipient_dlg_constructor): Likewise.
	* keyimpseldlg.c (gpa_key_import_selection_dialog_run): Likewise.
	* keygendlg.c (gpa_key_gen_run_dialog): Likewise.
	Also clean up use of combo boxes and ESC key handling.
	(struct _GPAKeyGenDialog): New member comboKeysize.
	(response_cb): Check keysize parameter.
	* settingsdlg.c (keyserver_selected_cb): Adjust to new combo box method.
	(selected_from_list_cb): Likewise.
	(append_to_combo): New function.
	(default_keyserver_frame): Use new combo box interface.

2008-04-02  Marcus Brinkmann  <marcus@g10code.de>

	* gpafileverifyop.c (gpa_file_verify_operation_done_cb): Emit
	file_created signal for direct input case.

2008-03-28  Marcus Brinkmann  <marcus@g10code.de>

	* keyring.c, fileman.c, clipboard.c: Many, many changes to use the
	current Gtk interfaces for menubar and toolbar construction,
	namely GtkUIManager and GtkAction, instead of the deprecated
	GtkItemFactory.  Also use the new GPA stock items consistently.
	Change the sensitive widget code to use GtkAction instead of GtkWidget.
	* gpa.h: Include "icons.h".
	(gpa_open_keyring_editor, gpa_open_clipboard)
	(gpa_open_filemanager, gpa_open_settings_dialog)
	(gpa_open_backend_config_dialog): Add callback arguments to
	prototypes.
	(gpa_windows_menu_action_entries)
	(gpa_preferences_menu_action_entries): New data.
	* gpa.c: Include "icons.h".
	(gpa_open_keyring_editor, gpa_open_clipboard)
	(gpa_open_filemanager, gpa_open_settings_dialog)
	(gpa_open_backend_config_dialog): Add callback arguments.  Also to
	caller.
	(main): Invoke gpa_register_stock_items.
	* icons.h (gpa_register_stock_items): New prototype.
	(GPA_STOCK_SIGN, GPA_STOCK_VERIFY, GPA_STOCK_ENCRYPT)
	(GPA_STOCK_DECRYPT, GPA_STOCK_KEYRING, GPA_STOCK_FILEMAN)
	(GPA_STOCK_CLIPBOARD, GPA_STOCK_BRIEF, GPA_STOCK_DETAILED)
	(GPA_STOCK_EDIT, GPA_STOCK_IMPORT, GPA_STOCK_EXPORT)
	(GPA_STOCK_BACKUP): New macros.
	* icons.c (gpa_register_stock_items): New function.
	(xpms): Remove some obsolete entries (and don't include those xpm
	files).
	* helpmenu.h: Include <gtk/gtk.h>.
	(gpa_help_about): New prototype.
	(gpa_help_menu_add_to_factory): Removed prototype.
	(gpa_help_menu_action_entries): New data.
	* helpmenu.c (help_about): Rename to ...
	(gpa_help_about): ... this.  Make non-static.
	(gpa_help_menu_add_to_factory): Removed function.
	(help_help): Likewise.
	* gtktools.h (gpa_toolbar_set_homogeneous): New prototype.
	* gtktools.c (set_homogeneous, gpa_toolbar_set_homogeneous): New
	functions.

2008-03-27  Marcus Brinkmann  <marcus@g10code.de>

	* gtktools.h (gpa_window_destroy, gpa_buttonCancel_new)
	(gpa_button_set_text, gpa_check_button_new, gpa_radio_button_new)
	(gpa_button_new, gpa_toggle_button_new, gpa_space_new)
	(gpa_widget_hjustified_new, gpa_radio_button_new_from_widget):
	(gpa_xpm_label_box, gpa_button_cancel_new): Removed prototype.
	* gtktools.c (gpa_window_destroy, gpa_buttonCancel_new)
	(gpa_button_set_text, gpa_check_button_new, gpa_radio_button_new)
	(gpa_button_new, gpa_toggle_button_new, gpa_space_new)
	(gpa_widget_hjustified_new, gpa_radio_button_new_from_widget)
	(gpa_xpm_label_box, gpa_button_cancel_new): Removed function.
	* keyimpseldlg.c (gpa_key_import_selection_dialog_run): Replace
	gpa_button_new and gpa_button_cancel_new by stock button.
	* keyeditdlg.c (gpa_key_edit_dialog_constructor): Use
	gtk_button_new_with_mnemonic instead of gpa_button_new.  Remove
	accelerator group.
	* gpawizard.c (gpa_wizard_new): Use stock buttons.
	* encryptdlg.c (gpa_file_encrypt_dialog_constructor): Use
	gtk_check_button_new_with_mnemonic instead of
	gpa_check_button_new.
	* filesigndlg.c (gpa_file_sign_dialog_constructor): Likewise.
	* keysigndlg.c (gpa_key_sign_run_dialog): Likewise.  Remove accelerator group.
	* gpawidgets.h (gpa_expiry_frame_new): Remove argument accelGroup from prototype.
	* keygendlg.c (gpa_key_gen_run_dialog): Change caller of gpa_expiry_frame_new.
	* filesigndlg.c (gpa_file_sign_dialog_constructor): Use
	gtk_radio_button_new_with_mnemonic instead of gpa_radio_button_new
	and gtk_radio_button_new_with_mnemonic_from_widget instead fo
	gpa_radio_button_new_from_widget.
	* expirydlg.c (gpa_expiry_dialog_run): Likewise.
	* gpawidgets.c (gpa_expiry_frame_new): Likewise. Remove argument
	accelGroup.
	* encryptdlg.c (gpa_file_encrypt_dialog_constructor): Set shadow around keylist.
	* filesigndlg.c (gpa_file_sign_dialog_constructor): Set shadow
	type around keylist.

	* Makefile.am (tip_files): Removed variable.
	(pkgdata_DATA): Remove $(tip_files).
	(EXTRA_DIST): Remove $(tip_files).
	* gpa_tips.de, gpa_tips.en: Removed file.

	* helpmenu.c: Convert file encoding to UTF-8.
	(help_about): Rewritten to use stock gtk about dialog.
	(about_dialog, scroll_text, SCROLLING, DIM, shuffle_array)
	(do_scrolling, scroll_state, scroll_offset, scroll_text_widths)
	(scroll_area, scroll_pixmap, cur_scroll_text, cur_scroll_index)
	(timer, help_license, about_dialog_unmap, about_dialog_destroy)
	(about_dialog_button, about_dialog_timer, help_license_destroy):
	Removed.
	(gpa_help_menu_add_to_factory): Remove the Help->License entry.

2008-03-26  Werner Koch  <wk@g10code.com>

	* gpa.c: Change option --server to --daemon.

2008-03-25  Werner Koch  <wk@g10code.com>

	* keyserver.c (keyserver_read_list): Replace subkeys.pgp.net by
	keys.gnupg.net.

2008-03-19  Marcus Brinkmann  <marcus@g10code.de>

	* fileman.c (get_load_file_name): Set default response.
	* clipboard.c (get_save_file_name, get_load_file_name): Set
	default response.
	* gpabackupop.c (gpa_backup_operation_dialog_run): Remember last
	dialog window settings.  Set default response.
	(gpa_backup_operation_do_backup): Remove overwrite check (done by
	caller).

	Reenable default key and keyserver handling:
	* options.c (gpa_options_update_default_key): Remove work-around.
	* gpgmetools.c (gpa_gpgme_new): Remove work-around
	* gpa.c (main): Remove work-around.

	* fileman.c (open_file): Support opening more than one file.
	(get_load_file_name): Likewise.
	(add_file): Convert filenames to UTF-8 before comparison, fix tree
	iteration.

	* fileman.c (dnd_data_received_handler): Silence gcc warning.
	* gpaexportfileop.c (gpa_export_file_operation_get_destination):
	Use save button instead load button.
	* gpabackupop.c (export_browse): Removed.
	(gpa_backup_operation_dialog_run): Rewritten.
	* fileman.c (get_load_file_name): New function.
	(open_file): Use it.
	(gpa_file_manager_constructor): Don't pack ALIGN twice.
	* clipboard.c (get_load_file_name): New function.
	(file_open): Use it.
	(get_save_file_name): New function.
	(file_save_as): Use it.
	* gtktools.h (gpa_get_save_file_name, gpa_get_load_file_name):
	Removed prototypes.
	* gtktools.c (gpa_get_save_file_name, gpa_get_load_file_name):
	Removed.

	* clipboard.c (gpa_clipboard_constructor): Create text_frame
	early.
	(gpa_clipboard_constructor): Don't pack ALIGN twice.
	(has_selection): Remove superfluous cast.
	* gtktools.c (struct _GPASaveFileNameDialog): Removed.
	(GPASaveFileNameDialog): Removed.
	(file_dialog_ok, file_dialog_cancel, file_dialog_destroy):
	Removed.
	(gpa_get_save_file_name, gpa_get_load_file_name): Reimplemented.

2008-03-18  Marcus Brinkmann  <marcus@g10code.de>

	* gpgmetools.h (gpa_open_output_direct): New prototype.
	* gpgmetools.c (gpa_open_output_direct): New function.
	* gpaimportfileop.c (gpa_import_file_operation_get_source): Use
	the GtkFileChooserDialog widget instead of GtkFileSelection.  Fix
	loop logic.
	* gpaexportfileop.c (gpa_export_file_operation_get_destination):
	Likewise.  Use gpa_open_output_direct instead of
	gpa_open_output.

	* gpawidgets.c (gpa_expiry_frame_new): Replace editable GtkCombo
	by uneditable GtkComboBox.
	(gpa_expiry_frame_dont): Don't change the "after" widgets, just
	make them desensitive.
	(gpa_expiry_frame_at): Likewise.
	(gpa_expiry_frame_after): Likewise (except make them sensitive).

	* gpawidgets.c (gpa_expiry_frame_new): Use
	gtk_entry_set_width_chars instead of gtk_widget_set_size_request.

2008-03-12  Werner Koch  <wk@g10code.com>

	* gpastreamsignop.c, gpastreamsignop.h: New.

	* gpafileencryptop.c (set_recipients): Free RSET before malloc.
	(set_recipients): Set the protocol to use.

	* keytable.c (reload_cache): Reset FIRST_HALF_DONE.

	* gpacontext.c (gpa_context_init): Do not set the passphrse
	callback in CMS mode.
	* gpgmeedit.c (gpa_gpgme_edit_passwd_parms_release)
	(gpa_gpgme_edit_passwd_start): Ditto.
	* gpgmetools.c (gpa_gpgme_new): Ditto.
	* gpafilesignop.c (set_signers): Set protocol from the keys.
	(destination_filename): Add arg protocol and pass it from the caller.

	* gpa.c (option_entries): Add option --clipboard.  Fix spelling of
	file manager.
	(gpa_args_t): Add field START_CLIPBOARD.
	(main): Implement option.
	(args): Remove explicit initialization to put it into BSS.

	* gpa_license.c, gpa_license.h: Remove.
	* gpl-text.c, gpl-text.h: New.
	* helpmenu.c (help_license): Use the new get_gpl_text.
	(scroll_text): Add all names from AUTHORS.

2008-03-12  Marcus Brinkmann  <marcus@g10code.de>

	* clipboard.c (dos_to_unix): Removed.
	* gpgmetools.h (dos_to_unix): New prototype.
	* gpgmetools.c (dos_to_unix): Add comment.

2008-03-11  Marcus Brinkmann  <marcus@g10code.de>

	* gpgmetools.c (dos_to_unix) [G_OS_WIN32]: New function.
	(dump_data_to_clipboard) [G_OS_WIN32]: Convert newlines.

2008-03-11  Werner Koch  <wk@g10code.com>

	* selectkeydlg.c (select_key_dlg_constructor): List only encrypt keys.
	* keylist.h (KEY_USAGE_SIGN): Add key usage flags.
	(_GpaKeyList): Add field REQUESTED_USAGE.
	* keylist.c (gpa_keylist_new_with_keys): Add arg REQUESTED_USAGE.
	(PROP_REQUESTED_USAGE): New.
	(gpa_keylist_get_property, gpa_keylist_set_property)
	(gpa_keylist_class_init): Install property.
	(gpa_keylist_next): Filetr on usage and account.
	* recipientdlg.c (parse_one_recipient): List only keys with
	encrypt capability.

	* keylist.c (gpa_keylist_constructor): Add a new column.
	(GpaKeyListColumn): Add GPA_KEYLIST_COLUMN_KEYTYPE.
	(gpa_keylist_next, setup_columns): Fill this column.

	* gpgmetools.c (gpa_key_ownertrust_string): No ownertrust for X.509.
	* keyring.c (keyring_editor_selection_changed): Set the protocol
	before doing a key list.
	(keyring_editor_has_single_selection_OpenPGP): New.
	(keyring_editor_menubar_new): Use it for ownertrust.
	(keyring_editor_popup_menu_new): Ditto.

2008-03-11  Marcus Brinkmann  <marcus@g10code.de>

	* settingsdlg.c: Include settingsdlg.h.  Beautify code.
	[! HAVE_CONFIG_H]: Don't include config.h.
	(default_key_frame): Do not use a border with frames, but make the
	label bold.  Give the scrolled window a shadow.
	(default_keyserver_frame): Do not use a border with frames, but
	make the label bold.
	(user_interface_mode_frame): Likewise.

2008-03-07  Werner Koch  <wk@g10code.com>

	* keytable.h (_GpaKeyTable): Add new fields FPR, DID_FIRST_HALF
	and FIRST_HALF_ERR.
	* keytable.c (first_half_done_cb): New.
	(gpa_keytable_init): Connect "done" to that.
	(reload_cache): Save the fingerprint.
	(done_cb): Show error from both halfs.
	* gpa.c: Include signal.h. Enable --cms with --server.
	(main) [!G_OS_WIN32]: Ignore SIGPIPE.

	* recipientdlg.c (set_column_title, add_tooltip): Remove and
	factor code out to ..
	* gtktools.c (gpa_add_tooltip, gpa_set_column_title): .. New.
	* keylist.c (add_tooltip, set_column_title): Replace be new functions.

	* gpa.c (main) [GLIB < 2.12]:  Do not use the new g_context stuff.

	* selectkeydlg.c (select_key_dlg_new_with_keys): New.

	* keylist.c (gpa_keylist_new_public_only): Rename to ...
	(gpa_keylist_new_with_keys): .. this and add more parameters.
	(gpa_keylist_class_init): Add properties PROP_PROTOCOL,
	PROP_INITIAL_KEYS, PROP_INITIAL_PATTERN.
	(gpa_keylist_finalize): Release initial_keys.
	(gpa_keylist_constructor): Fill the list with provided keys.

	* gpgmetools.c (gpa_gpgme_copy_keyarray)
	(gpa_gpgme_release_keyarray): New.
	* gpastreamencryptop.c (release_keys, copy_keys): Remove and
	replace all callers by the new functions.

2008-03-06  Werner Koch  <wk@g10code.com>

	* keylist.c: Change license to GPLv3+.  Cosmetic changes.
	(gpa_keylist_get_selected_key): New.
	(gpa_keylist_elgamal_dialog): Remove.
	(gpa_keylist_next): Remove detection of Elgamal signatures.  It is
	pointless as gpg has no more support for those keys.
	(gpa_keylist_new_public_only): New.
	(gpa_keylist_class_init, gpa_keylist_get_property)
	(gpa_keylist_set_property): Add property.
	(gpa_keylist_set_brief, gpa_keylist_set_detailed)
	(gpa_keylist_next): Do not display the image in public_only mode.
	(gpa_keylist_has_single_secret_selection, gpa_keylist_next):
	Implement public_only.
	(gpa_keylist_init): Make a dummy fucntion and move all stuff to ..
	(gpa_keylist_constructor): .. New.
	(gpa_keylist_class_init): Register constructor.
	(gpa_keylist_set_detailed, gpa_keylist_set_brief): Merged into ..
	(setup_columns): .. new.  Add toolstips.
	(add_tooltip, set_column_title): New.
	* keylist.h (_GpaKeyList): Add field public_only.

	* selectkeydlg.h, selectkeydlg.c: New.

	* gpa.c: Move variables definitions to the top.
	(quit_if_no_window): Do not quit if only the server has been
	started.
	(dummy_log_func): Use only for G_OS_WIN32.
	* server.c (gpa_stop_server): New.
	(connection_startup, connection_finish): Add shutdown logic.

2008-03-06  Marcus Brinkmann  <marcus@g10code.de>

	* settingsdlg.c (default_keyserver_frame): Invoke
	keyserver_selected_cb on focus-out-event rather than activated.

2008-03-05  Werner Koch  <wk@g10code.com>

	* server.c (struct conn_ctrl_s): Add field GPA_OP.
	* gpastreamencryptop.c: Major rewrite.
	* recipientdlg.c, recipientdlg.h: Add more stuff.

2008-03-04  Marcus Brinkmann  <marcus@g10code.de>

	* gpafileverifyop.c (gpa_file_verify_operation_done_cb): Use
	filename_in, not filename_out.

	* keyring.c: Remove most forward declarations.
	(keyring_editor_export): Do not chicken out if there are more keys
	selected than one.
	(keyring_editor_copy): Likewise.
	(toolbar_export_key): Rename to ...
	(toolbar_export_keys): ... this.
	(keyring_toolbar_new): Use new name here.
	(keyring_editor_edit): Make sure a single private key is selected.
	(keyring_editor_backup): Likewise.
	(keyring_editor_trust): Check for single selection.
	(keyring_editor_menubar_new): Make "Send keys..." sensitive only
	if there is a single selection.
	(keyring_editor_send): Check for single selection.
	(keyring_editor_can_sign): Access editor->current_key directly.
	Protect against it being NULL.

	* keyring.c: Beautify source code.
	(keyring_details_notebook): Add border around details
	page.  Shrink border around signature and subkeys page.
	(keyring_editor_add_subkeys_page): Set shadow type.
	(struct _GPAKeyringEditor): Rename signatures_label to
	signatures_hbox.
	(keyring_details_notebook): Initialize signatures_hbox instead
	signatures_label.
	(keyring_signatures_page_fill_key): Show/hide signatures_hbox
	instead of signatures_label and signatures_uids.
	* clipboard.c (file_open): Use long long for size format.

2008-03-03  Marcus Brinkmann  <marcus@g10code.de>

	* clipboard.c (file_open): Add note for translators.

2008-02-29  Werner Koch  <wk@g10code.com>

	* keyserver.c [GLIB >= 2.6]: Include gstdio.h.
	(read_list) [GLIB < 2.6]: Use fopen.

2008-02-28  Marcus Brinkmann  <marcus@g10code.de>

	* clipboard.c (gpa_clipboard_constructor): Call
	update_selection_sensitive_widgets.

2008-02-28  Werner Koch  <wk@g10code.com>

	* server.c (struct conn_ctrl_s): Add fields is_unfinished and
	client_died.
	(not_finished): New. Use that instead of GPG_ERR_UNFINISHED.
	(gpa_run_server_continuation, receive_cb): Handle dead client with
	pending continuation.

	* gpastreamencryptop.c: Add recipients property.
	* recipientdlg.c, recipientdlg.h: New.

2008-02-20  Werner Koch  <wk@g10code.com>

	* server.c (cmd_start_keymanager): New.
	(register_commands): Register it.

2008-02-15  Marcus Brinkmann  <marcus@g10code.de>

	* options.c: Include <glib/gstdio.h>.
	(gpa_options_save_settings): Use g_fopen instead of open.
	(gpa_options_read_settings): Likewise.
	* keyserver.c: Include <glib/gstdio.h>.
	(read_list): Use g_fopen instead of fopen.  Change argument type
	to gchar.
	(keyserver_read_list): Change argument type to gchar.
	* keyserver.h: Likewise in prototype.
	* gpgmetools.c: Include <glib/gstdio.h>.
	(gpa_fopen): Use g_fopen instead of fopen.
	(gpa_backup_key): Likewise.
	(gpa_open_output): Use g_open instead of open.
	(gpa_open_input): Likewise.
	* gpafileencryptop.c: Include <glib/gstdio.h>.
	(gpa_file_encrypt_operation_done_cb): Use g_unlink instead of unlink.
	* gpafiledecryptop.c: Include <glib/gstdio.h>.
	(gpa_file_decrypt_operation_done_cb): Use g_unlink instead of unlink.
	* gpafilesignop.c: Include <glib/gstdio.h>.
	(gpa_file_sign_operation_done_cb): Use g_unlink instead of unlink.

	* keygendlg.c (struct _GPAKeyGenDialog): New member entryUserID.
	(gpa_key_gen_run_dialog): Initialize it.
	(response_cb): Complain if there is no user ID.

2008-02-12  Marcus Brinkmann  <marcus@g10code.de>

	* encryptdlg.c (gpa_file_encrypt_dialog_constructor): Use
	"documents" instead of "files" in windows title.
	* gpafileencryptop.c (ignore_key_trust): Likewise.
	* verifydlg.c (gpa_file_verify_dialog_constructor): Likewise.
	* filesigndlg.c (gpa_file_sign_dialog_constructor): Likewise.
	(gpa_file_sign_dialog_constructor): Say "detached signature"
	instead of "Sign in separate file".

2008-02-07  Marcus Brinkmann  <marcus@g10code.de>

	* clipboard.c (dos_to_unix) [G_OS_WIN32]: New function.
	(file_created_cb) [G_OS_WIN32]: Use it.
	(file_open) [G_OS_WIN32]: Use it.

	* clipboard.c (file_created_cb): Convert \r\n to \n.

	* clipboard.c (GTK_STOCK_SELECT_ALL) [!GTK_CHECK_VERSION(2,10,0):
	New macro.
	(clipboard_text_new): Fix last change.

2008-02-06  Marcus Brinkmann  <marcus@g10code.de>

	* clipboard.c (clipboard_toolbar_new): Replace "file" by "text" in
	several tooltips.

	* fileman.c (gpa_file_manager_constructor): Add alignment.

	* clipboard.c (clipboard_toolbar_new): Adjust spelling in tooltips.
	* keyring.c (keyring_toolbar_new): Likewise.
	* fileman.c (fileman_toolbar_new): Likewise.

	* clipboard.c (gpa_clipboard_constructor): Add a fancy label after
	the toolbar.

	* fileman.c (gpa_file_manager_constructor): Add a fancy label
	after the toolbar.
	(file_list_new): Put a shadow around the scrollerFile.

	* confdialog.c (create_dialog_tabs_2) [!GTK_CHECK_VERSION(2,12,0)]:
	Do not add tooltips.

	* clipboard.c (gtk_text_buffer_get_has_selection)
	(gdk_atom_intern_static_string)
	(MY_GTK_TEXT_BUFFER_NO_HAS_SELECTION) [!GTK_CHECK_VERSION(2,10,0)]:
	New macros.
	(clipboard_text_new) [MY_GTK_TEXT_BUFFER_NO_HAS_SELECTION]:
	Connect to signals mark-set and changed of text buffer.

2008-02-04  Marcus Brinkmann  <marcus@g10code.de>

	* clipboard.c (file_verify): Remove debug output.

	* gpawindowkeeper.c (gpa_windowKeeper_add_param): Store result of
	g_list_append.

	* Makefile.am (gpa_SOURCES): Add clipboard.h and clipboard.c.
	* clipboard.h, clipboard.c: New files.
	* gpa.h (gpa_open_clipboard): New prototype.
	* gpa.c: Include "clipboard.h".
	(quit_if_no_window): Also check for clipboard window).
	(gpa_open_clipboard): New window.
	* keyring.c (win_menu): Add clipboard window.
	(keyring_toolbar_new): Add clipboard window.
	* fileman.c (get_selected_files): Use file_item.
	(file_created_cb): Change type of second argument to gpa_file_item_t.
	(sign_files): Add new argument to gpa_file_sign_operation_new.
	(encrypt_files): Add new argument to gpa_file_encrypt_operation_new.
	(windows_menu): Add clipboard window.
	(fileman_toolbar_new): Add clipboard window.
	(gpa_file_manager_constructor): Use gtk_window_set_default_size
	rather than gtk_widget_set_usize.
	* encryptdlg.h (struct _GpaFileEncryptDialog): New members
	scroller_who and force_armor.
	(gpa_file_encrypt_dialog_new): Add new argument force_armor to
	prototype.
	* encryptdlg.c: Add property PROP_FORCE_ARMOR to property enum.
	(gpa_file_encrypt_dialog_get_property)
	(gpa_file_encrypt_dialog_set_property): Support it.
	(gpa_file_encrypt_dialog_init): Move bunch of it to ...
	(gpa_file_encrypt_dialog_constructor): ... this new function.  Use
	gtk_window_set_default_size rather than gtk_widget_set_usize.
	Support force_armor.  Desensitize scrolled window instead of
	keylisting to fix a bug.
	(changed_select_row_cb): Likewise.
	(gpa_file_encrypt_dialog_class_init): Install new property.
	(gpa_file_encrypt_dialog_new): New argument force_armor, use it.
	* filesigndlg.h (struct _GpaFileSignDialog): New members
	scroller_who and force_armor.
	(gpa_file_sign_dialog_new): Add new argument force_armor to
	prototype.
	* filesigndlg.c: Add property PROP_FORCE_ARMOR to property enum.
	(gpa_file_sign_dialog_get_property)
	(gpa_file_sign_dialog_set_property): Support it.
	(gpa_file_sign_dialog_constructor): Use	gtk_window_set_default_size
	rather than gtk_widget_set_usize.  Support force_armor.
	(gpa_file_sign_dialog_class_init): Install new property.
	(gpa_file_sign_dialog_new): New argument force_armor, use it.
	* gpafileop.h (struct gpa_file_item_s): New structure.
	(gpa_file_item_t): New type.
	* gpafileop.c (free_file_item): New function
	(gpa_file_operation_finalize): Use it instead of g_free.
	(gpa_file_operation_class_init): Change argument type of callback
	to pointer.
	(gpa_file_operation_current_file): Use file_item.
	* gpafileverifyop.c (gpa_file_verify_operation_start): Change
	second argument to type file_item.  Use it to support direct memory.
	(gpa_file_verify_operation_done_cb): Use file_item.
	(gpa_file_verify_operation_done_error_cb): Use file_item.
	* gpafiledecryptop.h (_GpaFileDecryptOperation): Remove member
	plain_filename.
	* gpafiledecryptop.c (gpa_file_decrypt_operation_init): Do not
	reset OP->plain_filename.
	(gpa_file_decrypt_operation_start): Change second argument to type
	file_item.  Use it to support direct mode.
	(gpa_file_decrypt_operation_done_cb): Use file_item.
	(gpa_file_decrypt_operation_done_error_cb): Use file_item.
	* gpafilesignop.h (_GpaFileSignOperation): Add member force_armor.
	(gpa_file_sign_operation_new): Add new argument force_armor to
	prototype.
	* gpafilesignop.c: New properties enum.
	(gpa_file_sign_operation_get_property)
	(gpa_file_sign_operation_set_property): New functions.
	(gpa_file_sign_operation_init): Initialize OP->force_armor.
	(gpa_file_sign_operation_new): Add new argument force_armor, use it.
	(gpa_file_sign_operation_constructor): Add new argument to
	gpa_file_sign_dialog_new invocation.
	(gpa_file_sign_operation_class_init): Set class properties.
	(gpa_file_sign_operation_start): Change second argument to type
	gpa_file_item_t.  Support direct memory use.
	(gpa_file_sign_operation_done_cb): Use file_item.
	(gpa_file_sign_operation_done_error_cb): Use file_item.
	* gpafileencryptop.h (_GpaFileEncryptOperation): Add member force_armor,
	and remove member cipher_filename.
	(gpa_file_encrypt_operation_new): Add new argument force_armor to
	prototype.
	* gpafileencryptop.c: New properties enum.
	(gpa_file_encrypt_operation_get_property)
	(gpa_file_encrypt_operation_set_property): New functions.
	(gpa_file_encrypt_operation_init): Initialize OP->force_armor, do
	not initialize OP->cipher_filename.
	(gpa_file_encrypt_operation_new): Add new argument force_armor,	use it.
	(gpa_file_encrypt_operation_constructor): Add new argument to
	gpa_file_encrypt_dialog_new invocation.
	(gpa_file_encrypt_operation_class_init): Set class properties.
	(gpa_file_encrypt_operation_start): Change second argument to type
	gpa_file_item_t.  Support direct memory use.
	(gpa_file_encrypt_operation_done_cb): Use file_item.
	(gpa_file_encrypt_operation_done_error_cb): Use file_item.
	* gpastreamencryptop.c (gpa_stream_encrypt_operation_constructor):
	Add new argument to gpa_file_encrypt_dialog_new.
	* keyimpseldlg.c (gpa_key_import_selection_dialog_run): Use
	gtk_widget_set_size_request instead of gtk_widget_set_usize.
	* gpawidgets.c (gpa_expiry_frame_new): Likewise.
	* helpmenu.c (help_license): Likewise.
	* helpmenu.c (gpa_help_menu_add_to_factory): Use stock item for
	about menu.
	* settingsdlg.c (default_key_frame): Likewise.

	* confdialog.c (dialog_level): New global variable.
	(comp_has_options, group_has_options): New functions.
	(create_dialog_tabs_2): Skip groups with no displayable options.
	Honor expert level.
	(dialog_level_chooser_cb): New function.
	(create_dialog): Add some padding, a label and combo box for
	choosing the current expert level.

2008-01-31  Marcus Brinkmann  <marcus@g10code.de>

	* gpa.c (gpa_open_keyring_editor): Use gtk_window_present instead
	of gdk_window_raise.
	(gpa_open_filemanager, gpa_open_settings_dialog,
	(gpa_open_backend_config_dialog): Likewise.

2008-01-29  Marcus Brinkmann  <marcus@g10code.de>

	* keyring.c (keyring_toolbar_new): Use stock icon for file manager
	button in toolbar.

2008-01-27  Marcus Brinkmann  <marcus@g10code.de>

	* confdialog.c (create_dialog_tabs_2): Set expansion policy to
	TRUE/TRUE for the entry widget.

2008-01-25  Marcus Brinkmann  <marcus@g10code.de>

	* fileman.c (file_list_new): Put a shadow around the scrolled
	window.
	(file_list_new): Use FILE_N_COLUMNS instead of hard-coded constant.

2008-01-24  Marcus Brinkmann  <marcus@g10code.de>

	* keyring.h: Add comment.
	* keyring.c (keyring_editor_new): Put a shadow around the scrolled
	window.
	(struct _GPAKeyringEditor): Add status_label.
	(keyring_statusbar_new): Set expand to false for all, and add 5
	pixel padding around key ID, which is moved before the user
	string.  Initialize status_label to empty string here.
	(keyring_update_status_bar): Set status_label.
	(toolbar_preferences): Bring back to life.
	(keyring_toolbar_new): Reenable preferences.
	* fileman.c (toolbar_preferences): Bring back to life.
	(fileman_toolbar_new): Reenable preferences.  Add keyring to
	toolbar.
	* icons.c: Include keyringeditor.xpm.
	(xpms): Add keyringeditor.

	* gpa.h (gpa_get_keyring_editor, gpa_get_settings_dialog): Removed.
	* gpa.c: Do not include gpapastrings.h, gpawindowkeeper.h,
	gtktools.h, helpmenu.h, keytable.h, icons.h, errno.h, assert.h or
	getopt.h.
	(main): Create gnupg home dir if it doesn't exist even if option
	file argument is given.
	(gpa_get_keyring_editor, gpa_get_settings_dialog): Removed.
	(GpaCommandLineArgs): Renamed to gpa_args_t.  Also changed user.
	(copyright): Made static.

2008-01-23  Marcus Brinkmann  <marcus@g10code.de>

	* gpa.h (cms_hack): Changed type in prototype to gboolean.
	* gpa.c (main): Move i18n_init() invocation before rewritten
	option parsing.  Move variable args file scope.
	(usage, longopts, option_desc, parse_command_line): Removed.
	(print_copyright): Renamed to ...
	(print_version): ... this and exit.
	(longopts): Removed
	(cms_hack): Changed type to gboolean.

2008-01-18  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (gpa_SOURCES): Add get-path.h and get-path.c.  Move
	w32reg.h and w32reg.c to ...
	(gpa_w32_sources): ... here.
	* get-path.h, get-path.c: New files.
	* w32reg.h, w32reg.c: Beautify.  Use g_malloc instead of malloc.
	* gpa.c: Don't include <time.h> or "w32reg.h".  Include
	<glib/gstdio.h> and "get-path.h".  Move the home dir stuff to
	get-path.c.  Beautify a bit.
	(gpa_exec_dir): Remove global variable.
	(copyright): Add g10 Code GmbH.
	(main): Don't initialize gpa_exec_dir.  Use g_mkdir instead of
	mkdir.  Move call to srand to ...
	* helpmenu.c (help_about): ... here.  Include <time.h>.

2008-01-17  Marcus Brinkmann  <marcus@g10code.de>

	* gpa.c (create_dialog): Switch "apply" and "reset" button.

	* Makefile.am (noinst_PROGRAMS): Remove confdialog.
	(confdialog_SOURCES): Remove variable.
	(gpa_SOURCES): Add confdialog.h and confdialog.c.
	* confdialog.h: New file.
	* confdialog.c: Rewritten.
	* gpa.h (gpa_open_backend_config_dialog): New prototype.
	(gpa_show_backend_config): Prototype removed.
	* gpa.c: Include "confdialog.h".
	(backend_config_dialog): New variable.
	(gpa_open_backend_config_dialog): New function.
	* fileman.c (fileman_menu_new): Add entry for backend config.
	* keyring.c (keyring_editor_menubar_new): Likewise.

2007-11-13  Werner Koch  <wk@g10code.com>

	* server.c (cmd_sender, cont_sign, cmd_sign): New.
	(register_commands): Register SENDER and SIGN.

2007-11-12  Werner Koch  <wk@g10code.com>

	* server.c (cmd_prep_encrypt, cont_prep_encrypt): New.
	(register_commands): Register PREP_ENCRYPT command.
	(copy_recipients): Take a copy of each string.
	* gpaoperation.c (gpa_operation_write_status): New.
	* gpastreamencryptop.c (gpa_stream_encrypt_operation_new): Add arg
	SILENT and change all callers.
	(parse_recipients): Write a status line.

2007-10-02  Werner Koch  <wk@g10code.com>

	* utils.c (translate_sys2libc_fd): New.

2007-10-01  Werner Koch  <wk@g10code.com>

	* utils.c: New to implement xmalloc and xcalloc.

2007-09-28  Werner Koch  <wk@g10code.com>

	* gpakeyselector.c (gpa_key_selector_next_key): Don't segv is not
	a default key is missing.

2007-09-27  Werner Koch  <wk@g10code.com>

	* server.c: New.
	* w32-afunix.h, w32-afunix.c: New.  Taken from GnuPG.
	* gpa.c (main): Start the server.  New option --server.
	* gpa.h (gnupg_homedir): Declare it.  Add a bunch of convenience
	macros.
	* gpafileencryptop.c (gpa_file_encrypt_operation_new_for_server):
	New.
	(gpa_file_encrypt_operation_next)
	(gpa_file_encrypt_operation_done_cb)
	(gpa_file_encrypt_operation_response_cb): Call server finish.
	* gpaoperation.c (PROP_SERVER_CTX): New property.
	(gpa_operation_set_property, gpa_operation_get_property): Set it.
	(gpa_operation_class_init): Define property.
	(gpa_operation_server_finish): New.

	* Makefile.am (AM_CFLAGS): Add assuan and gpg-error flags.
	(LDADD): Add assuan, gpg-error libs and NETLIBS

	Make sure that all file include config.h as the first header.

2007-05-24  Werner Koch  <wk@g10code.com>

	* Makefile.am (.rc.o): Replace gmake style pattern rule.

2007-05-18  Werner Koch  <wk@g10code.com>

	* fileman.h (_GpaFileManager, _GpaFileManagerClass): Move
	definitions to ..
	* fileman.c: .. implementation file.  Documentaion cleanups and
	moved some functions for clarity.
	(dnd_drop_handler, dnd_data_received_handler): New.
	(gpa_file_manager_constructor): Connect DnD handler.

2007-05-16  Werner Koch  <wk@g10code.com>

	* helpmenu.c (help_about) [W32]: Point user to www.gpg4win.org.
	(help_license): Capitalize a proper name.

2007-05-02  Werner Koch  <wk@g10code.com>

	* gpgmetools.c (string_to_utf8): Rewritten.

2007-04-25  Werner Koch  <wk@g10code.com>

	* keyring.c (keyring_details_page_fill_num_keys): Use ngettext.
	Suggested by Maxim Britov.
	* i18n.h (ngettext): New.

2007-02-12  Werner Koch  <wk@g10code.com>

	* gpaimportop.c (gpa_import_operation_class_init): New signal
	imported_secret_keys.
	(gpa_import_operation_done_cb): Emit new signal if a secret key
	has been imported.
	* keyring.c (gpa_keyring_editor_changed_wot_secret_cb): New.
	(register_import_operation): Connect new signal.
	* keylist.c (gpa_keylist_imported_secret_key): New.

2007-02-07  Werner Koch  <wk@g10code.com>

	* gpakeyselector.c (gpa_key_selector_get_selected_keys): Avoid
	endless loop when seleting more than one key.

	* gpafileencryptop.c (gpa_file_encrypt_operation_done_cb): Do not
	free RSET here ..
	(gpa_file_encrypt_operation_finalize): .. but here.

2007-01-29  Werner Koch  <wk@g10code.com>

	* gpgmeedit.c (struct edit_parms_s): New field
	need_status_passphrase_sym.
	(edit_fnc): Take care of it.
	(PasswdState): New state PASSWD_ENTERNEW.
	(struct passwd_parms_s): Remove REQUEST_COUNTER.
	(edit_passwd_fnc_action): Handle PASSWD_ENTERNEW.
	(edit_passwd_fnc_transit): Test for NEED_PASSPHRASE_SYM.
	(passwd_passphrase_cb): Rewritten to take action directly on the
	current state.
	(gpa_gpgme_edit_passwd_start): Pass the edit parms and not the old
	REQUEST_COUNTER.
	* gpgmetools.c (passphrase_question_label): Take care of a missing
	user-id hint.

	* gpakeyexpireop.c (gpa_key_expire_operation_done_error_cb): Give
	a more specific error message.
	* gpgmeedit.c (edit_expire_fnc_transit): Return a more suitable
	error code for invalid dates.
	(gpa_gpgme_edit_expire_parms_new): Do not use %F for strftime as
	this is C99 and not supported on all systems (i.e. Windows).

2007-01-10  Werner Koch  <wk@g10code.com>

	* Makefile.am (INCLUDES): Removed.
	(AM_CFLAGS, AM_CPPFLAGS): New.
	(LDADD): Add GPGME and GTK libs.

2006-07-26  Werner Koch  <wk@g10code.com>

	* passwddlg.c (gpa_change_passphrase_dialog_run): Release PASSWD
	in case the dialog is repeated.  Reported by Timo Schulz.

2006-07-15  Marcus Brinkmann  <marcus@g10code.de>

	* gpa.rc: Move to ...
	* gpa-resource.rc: ... here.  Update.
	* Makefile.am (gpa_SOURCES): Remove gpa.rc.
	(EXTRA_DIST): Add gpa-resource.rc.
	(gpa_LDFLAGS, gpa_DEPENDENCIES): New variables.

2006-07-03  Werner Koch  <wk@g10code.com>

	* gpa.ico: New. Converted from ../gpa.png by wwp.

2006-05-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgmetools.c (gpa_backup_key): Close FILE on error.
	* gpabackupop.c (gpa_backup_operation_do_backup): Add an error
	message if creating the backup fails.

2006-03-20  Werner Koch  <wk@g10code.com>

	* hidewnd.c (enum_parent_windows): Updated test for newer
	Windows versions.

2006-03-13  Werner Koch  <wk@g10code.com>

	* keygenwizard.c (gpa_keygen_wizard_generate_action): Init PARAMS
	to avoid garbage in the comment field.

2006-03-03  Marcus Brinkmann  <marcus@g10code.de>

	* keyserver.c (keyserver_read_list): Fix typo in keyserver list.

2006-03-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpafileverifyop.c: Revert last change, it broke verification of
	non-encrypted files.  Instead, the decryption operation has to
	show the signatures, but that is a bigger change.

2006-02-28  Marcus Brinkmann  <marcus@g10code.de>

	* gpafileverifyop.c (gpa_file_verify_operation_start): Use
	gpgme_op_decrypt_verify_start for non-detached signatures, so
	decrypted and signed files can be verified.

	* keygenwizard.c: Remove comment_page.
	(gpa_keygen_wizard_comment_page): Function removed.
	(gpa_keygen_wizard_generate_action): Do not free params.comment.
	(gpa_keygen_wizard_new): Do not add comment page.

	* gpa.c (main): Create default config directory if it doesn't
	exist.

2006-02-14  Marcus Brinkmann  <marcus@g10code.de>

	* gpgmetools.c (O_BINARY): Define if it isn't defined by system
	headers.
	(gpa_open_output): Use open() instead of creat() and set binary
	mode.
	(gpa_open_input): Set binary mode.

2006-01-17  Werner Koch  <wk@g10code.com>

	Replaced all stock buttons with plain texts for uniform
	translations.

2006-01-13  Werner Koch  <wk@g10code.com>

	* gpgmeedit.c (edit_fnc): Do not call write for empty strings.
	 Add support for debugging.
	(edit_sign_fnc_transit) <SIGN_UID>: Detect sign_uid.okay.

2006-01-12  Werner Koch  <wk@g10code.com>

	* server_access.c (helper_path): Add special version for W32.
	(do_spawn) [W32]: Don't pass ERROR by value.

	* gpa.c (get_locale_dir): Fixed.

2006-01-11  Werner Koch  <wk@g10code.com>

	* gpawizard.c (gpa_wizard_new): Replace stock button labels by our
	own for consistent labeling between gpg4win installer and GPA.

2006-01-05  Werner Koch  <wk@g10code.com>

	* gpgmetools.c (gpa_passphrase_cb): Use passphrase_len also for
	non-W32.

	* gpa.c (get_locale_dir): New.
	(i18n_init): Use new function.  This is required for W32.

2006-01-04  Werner Koch  <wk@g10code.com>

	* gpgmetools.c [W32]: Include windows.h.

2005-12-31  Marcus Brinkmann  <marcus@g10code.de>

	* gpgmetools.c (gpa_passphrase_cb) [G_OS_WIN32]: Use WriteFile
	instead of write.

2005-11-29  Werner Koch  <wk@g10code.com>

	* gpa.c (longopts): Made --keymanager an alias for --keyring.

2005-11-16  Werner Koch  <wk@g10code.com>

	* gpgmetools.c (gpa_key_validity_string): Handle case of missing UID.
	(gpa_gpgme_key_get_userid): Ditto.
	* keyring.c (keyring_details_page_fill_key): Ditto.
	* keylist.c (gpa_keylist_next): Check for zero fingerprints.
	(is_zero_fpr): New.

	* gpacontext.c (gpa_context_register_cb) [W32]: Translate file
	descriptor.
	(gpa_context_passphrase_cb) [W32]: Ditto.

2005-11-15  Werner Koch  <wk@g10code.com>

	* Makefile.am (gpa_SOURCES): Removed simple-gettext.c

	* w32reg.c: Updated from GnuPG 1.4.

	* gpa.c (default_homedir): New.
	(main): Setup the homedir using the new function.  This matches
	gnupg's way.
	(search_config_file): Removed. This complicated lookup of the
	configuration file is a maintenance nightmare.  We create the
	filenames now directly using the standard gnupg hoemdirectory.

	* helpmenu.c: Print revision number.

2005-11-10  Marcus Brinkmann  <marcus@g10code.de>

	* gpa.c [G_OS_WIN32]: Include <windows.h>.
	(CSIDL_APPDATA, CSIDL_LOCAL_APPDATA, CSIDL_FLAG_CREATE)
	[G_OS_WIN32]: Define.
	(w32_strerror, dlopen, dlsym, dlerror, dlclose,
	w32_shgetfolderpath) [G_OS_WIN32]: Define.
	(search_config_file) [G_OS_WIN32]: Check for shared application
	local data folder, and in there for gnupg's home directory.

	* helpmenu.c [G_OS_WIN32]: Disable broken scroll text.

	* simple-gettext.c: Unused file removed.

2005-11-08  Marcus Brinkmann  <marcus@g10code.de>

	* server_access.c (write_command): New argument scheme.
	(server_send_keys): Also to invocation.
	(server_get_key): Likewise.
	(check_errors): Don't look for errors if the exit status looks OK.
	* keyserver.c (keyserver_read_list): Use HKP server as default,
	drop LDAP surfnet server (seems to be down).

	* gpgmeedit.c (edit_sign_fnc_transit): Handle early
	"sign_uid.okay".

	* keysigndlg.c (gpa_key_sign_run_dialog): Fix last change.

2005-11-07  Marcus Brinkmann  <marcus@g10code.de>

	* gpabackupop.c (export_browse): Pass ENTRY as parent to
	gpa_get_save_file_name.

	* keyring.c (keyring_details_page_fill_key): Use
	gpa_gpgme_key_format_fingerprint.
	* keysigndlg.c (gpa_key_sign_run_dialog): Likewise.
	* gpgmetools.c (dump_data_to_file): Use gpgme_data_seek instead
	gpgme_data_rewind.
	(dump_data_to_clipboard): Likewise.
	(get_gpg_path): Rewritten.
	(gpa_gpgme_key_sig_get_level): Use sig_class, not class.
	(gpa_key_ownertrust_string): Use key->owner_trust.
	(gpa_key_validity_string): Use key->uids->validity and the various
	key->subkeys flags.
	(gpa_gpgme_key_get_fingerprint): Renamed to ...
	(gpa_gpgme_key_format_fingerprint): ... this.  Accept only a
	string as argument.
	* gpgmetools.h (gpa_gpgme_key_get_fingerprint): Replace with ...
	(gpa_gpgme_key_format_fingerprint): ... this.
	(gpa_gpgme_key_get_short_keyid): Remove IDX argument from prototype.
	* gpabackupop.c (gpa_backup_operation_set_property): Adjust caller
	of gpa_gpgme_key_get_short_keyid.

	* gpakeyselector.c (gpa_key_selector_next_key): Likewise.
	* gpawidgets.c (gpa_key_info_new): Likewise.
	* keylist.c (gpa_keylist_next): Likewise.
	* keyring.c (keyring_details_page_fill_key): Likewise.
	(keyring_update_status_bar): Likewise.
	* verifydlg.c (add_signature_to_model): Likewise.

2005-10-28  Marcus Brinkmann  <marcus@g10code.de>

	* gpgmetools.c (gpa_gpgme_key_get_userid): Work directly on
	gpgme_user_id_t objects.
	* gpgmetools.h (gpa_gpgme_key_get_userid): Work directly on
	gpgme_user_id_t objects.
	* gpawidgets.c (gpa_key_info_new): Rework using above changes..
	* verifydlg.c [!HAVE_CONFIG_H]: Don't include config.h.
	(add_signature_to_model): Invoke gpa_gpgme_key_get_userid with
	right argument.
	* keyring.c [!HAVE_CONFIG_H]: Do not include config.h.
	(keyring_details_page_fill_key, keyring_signatures_page_fill_key)
	(keyring_update_status_bar): Fix callers of gpa_gpgme_key_get_userid.
	* keysigndlg.c [!HAVE_CONFIG_H]: Do not include config.h.
	(gpa_key_sign_run_dialog): Fix caller of gpa_gpgme_key_get_userid.
	* keylist.c [HAVE_CONFIG_H]: Include config.h.
	(gpa_keylist_next): Fix caller of gpa_gpgme_key_get_userid.
	* gpakeyselector.c [HAVE_CONFIG_H]: Include config.h.
	(gpa_key_selector_next_key): Fix caller of
	gpa_gpgme_key_get_userid.

	* gpa.c [!HAVE_CONFIG_H]: Don't include config.h.
	(main) [!USE_SIMPLE_GETTEXT && ENABLE_NLS]: Invoke
	gpgme_set_locale.
	* options.h: Remove const qualifier from return type.
	* options.c (gpa_options_get_default_key): Likewise.
	* keytable.h (gpa_keytable_lookup_key): Likewise.
	* keytable.c (gpa_keytable_lookup_key): Likewise.
	* gpawidgets.c (gpa_expiry_frame_get_expiration): Make day, month
	and year of type guint.

	* expirydlg.c (expiry_ok): Likewise.
	* qdchkpwd.c (qdchkpwd): Cast char pointer to unsigned char
	pointer for compress.
	* server_access.c (do_spawn): Make length of type gsize.

2005-10-06  Marcus Brinkmann  <marcus@g10code.de>

	* w32reg.c: Don't include util.h.
	* gpa.c (search_config_file): Check existance of G_OS_WIN32, not
	value.

2004-08-21  Miguel Coca  <mcoca@gnu.org>

	* gpaexportop.c (gpa_export_operation_idle_cb): Armor by default.

	* gpaexportfileop.c (gpa_export_file_operation_get_destination): Use
	the provided armor value as default.

2003-12-15  Miguel Coca  <mcoca@gnu.org>

	* keylist.c (gpa_keylist_next, gpa_keylist_init): Change the sorting
	value for revoked and expired keys. This requires supporting negative
	values in the sorting column.

2003-11-27  Miguel Coca  <mcoca@gnu.org>

	* keylist.c (gpa_keylist_elgamal_dialog): New.
	(gpa_keylist_next): Check for secret ElGamal signing keys, and
	warn the user.

2003-11-25  Miguel Coca  <mcoca@gnu.org>

	* gpa.c (main): Fix previous change.

2003-11-25  Miguel Coca  <mcoca@gnu.org>

	* gpa.c (main): Add a default icon for the application windows.

2003-11-24  Ling Li  <ling@caltech.edu>

	* keyring.c (keyring_editor_can_sign):
	  Disable the key sign button when there's no default key.

2003-11-23  Miguel Coca  <mcoca@gnu.org>

	* keytable.c (gpa_keytable_init, done_cb)
	(gpa_keytable_lookup_key): Use initialized to test whether the
	keytable has been filled from gpgme. This is needed because an empty
	but initialized list is NULL, just as an unitialized one.

	* keytable.h: Add "initialized" field to GpaKeyTable.

2003-11-21  Miguel Coca  <mcoca@gnu.org>

	* filesigndlg.c (gpa_file_sign_dialog_constructor): Use the name
	"cleartext signature" even when in advanced mode. This is the same
	nomenclature gpg uses.

2003-10-29  Miguel Coca  <mcoca@gnu.org>

	* qdchkpwd.c (qdchkpwd): Fix crash with long passphrases. Reported by
	Graeme Hewson <graeme.hewson@oracle.com>.

2003-10-27  Miguel Coca  <mcoca@gnu.org>

	* keyring.c (keyring_editor_refresh, toolbar_refresh): New.
	(keyring_toolbar_new): Add refresh toolbar icon.
	(keyring_editor_menubar_new): Add refresh command.

2003-10-27  Miguel Coca  <mcoca@gnu.org>

	* gpafileverifyop.c (ask_use_detached_sig): New.
	(is_detached_sig): Given a file, try to find a detached signature
	in another file.
	(gpa_file_verify_operation_init)
	(gpa_file_verify_operation_done_cb): Save and use the filename of
	the signature.

	* verifydlg.h, verifydlg.c (gpa_file_verify_dialog_add_file)
	(verify_file_page): Display the detached signature filename too.

	* gpgmetools.c (gpa_generate_key_start): Remove fix for GPGME 0.4.3.

2003-10-22  Miguel Coca  <mcoca@gnu.org>

	* keyring.c (gpa_keyring_editor_new_key_cb): Update the default key
	after generation.

	* options.c (gpa_options_update_default_key)
	(gpa_options_set_default_key): Catch a NULL key. Fixes crash at
	startup for new users.

2003-10-18  Miguel Coca  <mcoca@gnu.org>

	* gpgmetools.c (gpa_generate_key_start): Introduce memory leak to
	work around a GPGME 0.4.3 bug. To be removed after the release.

	* gpaprogressdlg.c (gpa_progress_dialog_init): Disable cancel, as it
	doesn't work yet.

2003-10-17  Miguel Coca  <mcoca@gnu.org>

	* gpakeytrustop.c (gpa_key_trust_operation_finalize): Remove unused
	variable.

	* gpafileencryptop.c (set_recipients): Remove deprecated gpgme calls.
	* ownertrustdlg.c (gpa_ownertrust_run_dialog): Likewise.
	* expirydlg.c (gpa_expiry_dialog_run): Likewise.

	* keyring.c (disable_selection_sensitive_widgets): New.
	(keyring_editor_selection_changed): Use it.
	(keyring_editor_edit): Don't proceed without a valid key.

2003-10-13  Miguel Coca  <mcoca@gnu.org>

	* keyring.c: Delete stale include.

2003-10-12  Miguel Coca  <mcoca@gnu.org>

	* gpasubkeylist.c (gpa_subkey_list_new, gpa_subkey_list_set_key): Add
	a "can authenticate" flag.

2003-10-12  Miguel Coca  <mcoca@gnu.org>

	* keyring.c (gpa_keyring_editor_new_key_cb)
	(register_generate_operation): New.
	(keyring_editor_generate_key_advanced)
	(keyring_editor_generate_key_simple): Use operation objects.

	* keylist.c (gpa_keylist_init):
	(gpa_keylist_start_reload): Display the trustdb dialog.
	(gpa_keylist_new_key): New.
	(display_dialog, remove_trustdb_dialog): New.
	(add_trustdb_dialog): New. Set a timeout before displaying the
	"rebuilding trustdb" dialog.
	(gpa_keylist_next): Remove the dialog here.
	(gpa_keylist_end): Likewise. Make sure the dialog is always removed.

	* keylist.h (gpa_keylist_new_key): New.

	* keytable.c (gpa_keytable_init): Add new_key field.
	(reload_cache): Receive a pattern, too.
	(done_cb): Act differently when in "new key" mode.
	(gpa_keytable_list_keys, gpa_keytable_force_reload)
	(gpa_keytable_lookup_key): Change call to reload_cache.
	(gpa_keytable_load_new): New.

	* keytable.h: New function.

	* keygenwizard.c (gpa_keygen_wizard_generate_action): Don't
	generate the key here, just invoke a callback to let the operation
	know it's time to generate it.
	(gpa_keygen_wizard_destroy): Remove call to gtk_main_quit.
	(gpa_keygen_wizard_new): Receive the callback. Don't go into a
	nested main loop.

	* keygenwizard.h (gpa_keygen_wizard_run): Rename to:
	(gpa_keygen_wizard_new): Change prototype to receive a callback

	* gpgmetools.c, gpgmetools.h (gpa_generate_key_start): Replace
	gpa_generate_key with this.

	* gpabackupop.c (gpa_backup_operation_get_property)
	(gpa_backup_operation_set_property)
	(gpa_backup_operation_class_init): Add fingerprint property. When
	receiving a key, use just it's fingerprint.
	(gpa_backup_operation_finalize, gpa_backup_operation_init): Account for
	fingerprint and key id fields.
	(gpa_backup_operation_do_backup): Use the stored fingerprint instead
	of the key.
	(gpa_backup_operation_dialog_run)
	(gpa_backup_operation_idle_cb): Same thing with the key id.
	(gpa_backup_operation_new_from_fpr): New.

	* gpabackupop.h (gpa_backup_operation_new_from_fpr): New constructor
	to backup a key by fingerprint.

	* gpagenkeyop.h, gpagenkeyop.c, gpagenkeyadvop.h, gpagenkeyadvop.c,
	gpagenkeysimpleop.h, gpagenkeysimpleop.c: New. The key generation
	operations.

	* Makefile.am (gpa_SOURCES): Add gpagenkeyop.h, gpagenkeyop.c,
	gpagenkeyadvop.h, gpagenkeyadvop.c, gpagenkeysimpleop.h and
	gpagenkeysimpleop.c.

	* keytable.h (gpa_keytable_destroy): Removed.

	* options.h, options.c (gpa_options_destroy): Removed.

	* gpaoperation.c (gpa_operation_finalize): Replace gpa_context_destroy
	with g_object_unref.
	* verifydlg.c (gpa_file_verify_dialog_finalize): Likewise.

	* gpacontext.h, gpacontext.c (gpa_context_destroy): Removed.

	* gpaoperation.h, gpaoperation.c (gpa_operation_destroy): Removed.

	* keyring.c (register_key_operation, register_import_operation)
	(register_operation): Replace gpa_operation_destroy with
	g_object_unref.
	* fileman.c (register_operation): Likewise.
	* keyeditdlg.c (gpa_key_edit_change_expiry)
	(gpa_key_edit_change_passphrase): Likewise.


2003-10-03  Miguel Coca  <mcoca@gnu.org>

	* keyring.c (keyring_editor_key_listed): New.
	(keyring_editor_selection_changed): Change to list the current key
	asynchronously. Use the callback above.
	(idle_update_details): Make sure the current key has been listed
	before using it. Otherwise, wait until it's ready.
	(display_popup_menu): Change to receive the editor. Block the
	"selection changed" signal while messing with the selection.
	(keyring_editor_new): Add new initialization.

2003-09-21  Miguel Coca  <mcoca@gnu.org>

	* passwddlg.c (gpa_change_passphrase_dialog_run): Fix bug by which the
	dialog always complained about the passphrase confirmation.

	* keyring.c (gpa_keyring_editor_key_modified): New. Signal
	handler for edit dialog "key_modified".
	(keyring_editor_edit): Use the new edit dialog.

	* keyeditdlg.c, keyeditdlg.h: Turn the dialog into a subclass of
	GtkDialog. Now it emits signals and can run concurrently with the
	main keyring window.

	* gpgmeedit.c (gpa_gpgme_edit_trust_parms_new)
	(gpa_gpgme_edit_sign_parms_new): Do save the signal ID, so that
	we don't run clean up twice for the same operation. Was broken
	before.
	(gpa_gpgme_edit_expire_parms_release)
	(gpa_gpgme_edit_passwd_parms_release)
	(gpa_gpgme_edit_expire_parms_new)
	(gpa_gpgme_edit_passwd_parms_new): New.
	(gpa_gpgme_edit_expire_start)
	(gpa_gpgme_edit_passwd_start): Use the above. Change name (to
	_start), receive a GpaContext, and change to only start the
	operation without waiting for it.

	* Makefile.am (gpa_SOURCES): Add gpakeyexpireop.h, gpakeyexpireop.c,
	gpakeypasswdop.h, gpakeypasswdop.c.

	* gpakeyexpireop.h, gpakeyexpireop.c, gpakeypasswdop.h,
	gpakeypasswdop.c: New. Operations for the options in the edit dialog.

2003-09-18  Miguel Coca  <mcoca@gnu.org>

	* keyring.c (register_key_operation, register_import_operation)
	(register_operation): Handle different types of operations differently.
	(keyring_editor_import_do_import)
	(keyring_editor_import_get_source)
	(keyring_editor_export_do_export): Removed.
	(keyring_editor_import, keyring_editor_export): Changed to use
	operations.
	(keyring_editor_retrieve, keyring_editor_send): New functions.
	Import/Export with servers.
	(keyring_editor_backup): Use a GpaOperation.
	(keyring_editor_mapped): Backup using a GpaOperation.
	(keyring_editor_paste, keyring_editor_copy): Use GpaOperation's.
	(keyring_editor_menubar_new): Add a "Server" menu for send/receive
	operations.
	(keyring_editor_popup_menu_new): Add "Send keys" menu item.

	* keylist.c (gpa_keylist_get_property, gpa_keylist_set_property)
	(gpa_keylist_class_init, gpa_keylist_init)
	(gpa_keylist_start_reload): Add property handling and parent window
	property.

	* keylist.h: Add parent window to structure.

	* keygenwizard.c (gpa_keygen_wizard_generate_action): Disable backup
	generation until key generation is redone as an operation.

	* gpafileencryptop.c (gpa_file_encrypt_operation_done_error_cb): Fix
	broken error check.
	* gpafileverifyop.c (gpa_file_verify_operation_done_error_cb):
	* gpafilesignop.c (gpa_file_sign_operation_done_error_cb): Likewise.

	* keyexportdlg.c, keyexportdlg.h, keyimportdlg.c,
	keyimportdlg.h: Remove files. All their functionality has been moved
	to the GpaOperation objects.

	* gpaexportop.h, gpaexportop.c, gpaexportfileop.h, gpaexportfileop.c,
	gpaexportclipop.h, gpaexportclipop.c, gpaexportserverop.h,
	gpaexportserverop.c, gpaimportop.h, gpaimportop.c, gpaimportfileop.h,
	gpaimportfileop.c, gpaimportclipop.h, gpaimportclipop.c,
	gpaimportserverop.h, gpaimportserverop.c, gpabackupop.h,
	gpabackupop.c: New files. Separate GpaOperation subclasses for
	each way to import/export/backup a file.

	* gparecvkeydlg.h, gparecvkeydlg.c: New. Simple "Receive key"
	dialog. Asks for the key ID to be retrieved.

	* Makefile.am (gpa_SOURCES): Add new files, remove old.

2003-08-20  Miguel Coca  <mcoca@gnu.org>

	* gpgmetools.h, gpgmetools.c (gpa_gpgme_key_sig_get_userid)
	(gpa_gpgme_key_sig_get_short_keyid)
	(gpa_gpgme_key_sig_get_sig_status): Change to work on key signatures
	instead of whole keys.
	(gpa_gpgme_key_sig_get_level): New.

	* siglist.c (gpa_siglist_new): Add columns for signature level and
	whether a signature is local. Connect a callback to a change in the
	UI mode.
	(gpa_siglist_uid_add_columns): Add columns for level and local if in
	advanced mode.
	(add_signature): Receive a gpgme_key_sig_t and process it.
	(add_signature_cb): New.
	(gpa_siglist_set_all, revoked_signatures)
	(gpa_siglist_set_userid): Replace deprecated gpgme calls.
	(gpa_siglist_ui_mode_changed_cb): New.
	(gpa_siglist_set_signatures): Adapt to new internal interface.

2003-08-18  Miguel Coca  <mcoca@gnu.org>

	* gpafileverifyop.c (gpa_file_verify_operation_init)
	(gpa_file_verify_operation_start)
	(gpa_file_verify_operation_done_cb): Add a field to the operation
	to hold the name of the signed file for dettached signatures, and
	use it.

	* verifydlg.c (gpa_file_verify_dialog_finalize)
	(gpa_file_verify_dialog_constructor): Add a GpaContext to the dialog,
	to retrieve signature keys.
	(fill_sig_model): Replace deprecated gpgme calls.
	(signature_list, verify_file_page): Pass along the signatures. List
	the verified files for dettached signatures.

	* verifydlg.h, verifydlg.c (gpa_file_verify_dialog_add_file): Remove
	context parameter, add the signatures themselvers, and the name of
	the signed file for dettached signatures.

2003-07-30  Miguel Coca  <mcoca@gnu.org>

	* keyring.c (key_has_been_signed): Remove deprecated gpgme calls.
	(keyring_editor_can_sign): Fix check for selected keys.
	(keyring_editor_add_subkeys_page)
	(keyring_editor_remove_subkeys_page): New. Add and remove the subkey
	tab to the details notebook.
	(keyring_details_notebook): Add capabilities and the subkeys page.
	(keyring_details_page_fill_key): Set the capabilities text. Replace
	deprecated gpgme calls.
	(keyring_subkeys_page_fill_key, keyring_subkeys_page_empty): New.
	(idle_update_details): Call them.
	(keyring_ui_mode_changed): New. Manage the subkeys tab according to
	the ui mode.
	(keyring_editor_new): Use it.

	* Makefile.am (gpa_SOURCES): Add gpasubkeylist.{c,h}.

	* gpasubkeylist.h, gpasubkeylist.c: New. A list of the subkeys of a
	key.

	* gpgmetools.h, gpgmetools.c (gpa_get_key_capabilities_text): New.
	Returns a user readable description of the capabilities of a key.

2003-07-29  Miguel Coca  <mcoca@gnu.org>

	* Makefile.am (gpa_SOURCES): Add gpakeytrustop.{c,h}.

	* gpakeytrustop.h, gpakeytrustop.c: New.

	* gpakeysignop.h: Remove unneeded include.

	* keyring.c (keyring_editor_delete, keyring_editor_sign): Fix warnings.
	(keyring_editor_trust): Use the GpaKeyTrustOperation.

	* ownertrustdlg.h, ownertrustdlg.c (gpa_ownertrust_run_dialog): Return
	the selected trust in an argument. Don't edit the key from this
	function.

	* gpgmeedit.h, gpgmeedit.c (gpa_gpgme_edit_trust_parms_new)
	(gpa_gpgme_edit_trust_parms_release): New.
	(gpa_gpgme_edit_trust): Renamed to:
	(gpa_gpgme_edit_trust_start): Same changes as the "sign" operation.

2003-07-28  Miguel Coca  <mcoca@gnu.org>

	* Makefile.am (gpa_SOURCES): Add gpakeysignop.{c,h}

	* gpakeysignop.h, gpakeysignop.c: New. The key signing operation.

	* gpgmeedit.h, gpgmeedit.c (gpa_gpgme_edit_sign_parms_new)
	(gpa_gpgme_edit_sign_parms_release): New.
	(gpa_gpgme_edit_sign): Renamed to:
	(gpa_gpgme_edit_sign_start): Use the event loop. Now receives a
	GpaContext so that it can attach itself to the "done" signal and do
	clean up after the signing completes.

	* keyring.c (keyring_editor_sign): Use the GpaKeySignOperation.

	* keylist.c (gpa_keylist_start_reload): Fix typo.

2003-07-25  Miguel Coca  <mcoca@gnu.org>

	* gpakeydeleteop.c, gpakeydeleteop.h, gpakeyop.c, gpakeyop.h: New.

	* Makefile.am (gpa_SOURCES): Add gpakeyop.{c,h} and
	gpakeydeleteop.{c,h}.

	* keyring.c (gpa_keyring_editor_changed_wot_cb): New.
	(register_operation): New.
	(keyring_editor_delete): Use the GpaKeyDeleteOperation.

	* keylist.h, keylist.c (gpa_keylist_init, gpa_keylist_start_reload)
	(gpa_keylist_next): Display a warning while the trustdb rebuilds.

	* gpafileverifyop.c (gpa_file_verify_operation_done_error_cb): Remove
	obsolete comment.
	* gpafilesignop.c (gpa_file_sign_operation_done_error_cb): Likewise.
	* gpafiledecryptop.c (gpa_file_decrypt_operation_done_error_cb):
	Likewise.
	* gpafileencryptop.c (gpa_file_encrypt_operation_done_error_cb):
	Likewise.

	* keyring.c (keyring_editor_selection_changed): Run update_widgets
	after loading the new current key,

2003-06-29  Miguel Coca  <mcoca@gnu.org>

	* gpaprogressdlg.c (gpa_progress_dialog_set_property)
	(gpa_progress_dialog_progress_cb): Receive progress signals from the
	context.
	(gpa_progress_dialog_pulse, gpa_progress_dialog_start_cb)
	(gpa_progress_dialog_done_cb): Remove the iddle function.

	* gpacontext.h, gpacontext.c (gpa_context_class_init, gpa_context_init)
	(gpa_context_progress, gpa_context_progress_cb): Add "progress" signal.

	* keylist.c (gpa_keylist_start_reload): Empty the list before
	reloading.

	* gpakeyselector.c, keydeletedlg.c, keyeditdlg.c, keyexportdlg.c,
	keylist.c, keyring.c, keytable.c, options.c: Fix syntax for accessing
	the primary key.

2003-06-27  Miguel Coca  <mcoca@gnu.org>

	* keyring.c (keyring_signatures_page_fill_key): Save the label in the
	signature page for later use.
	(keyring_signatures_page_fill_key): Only show the list of user ids if
	there is more than one.

2003-06-26  Miguel Coca  <mcoca@gnu.org>

	* gpakeyselector.c (gpa_key_selector_done): Don't sort automatically.
	(gpa_key_selector_init): Allow sorting by different fields.

	* keylist.c (gpa_keylist_next): Remove deprecated gpgme call.
	(gpa_keylist_set_brief, gpa_keylist_set_detailed): Allow sorting
	by columns.
	(gpa_keylist_init, gpa_keylist_next): Add auxiliary sorting columns.

2003-06-22  Miguel Coca  <mcoca@gnu.org>

	* gpakeyselector.c (gpa_key_selector_new): Hack to fix default key
	selection.

	* options.c (gpa_options_set_default_key): Create a reference for
	the key.

2003-06-22  Miguel Coca  <mcoca@gnu.org>

	* gpgmetools.c (gpa_generate_key): Return the key, not the fingerprint.
	* keygenwizard.c (gpa_keygen_wizard_generate_action):
	* keyring.c (keyring_editor_generate_key_advanced): Likewise.

	* gpgmetools.c: Add missing include.

	* keytable.c (gpa_keytable_lookup_key): Fix warning.

	* keylist.c: Add missing include.

	* keyeditdlg.c (key_edit_change_passphrase): Remove unused variable.

	* gpakeyselector.c (gpa_key_selector_next_key): Fix default key check.

	* settingsdlg.c (key_selected_cb): Fix crash.

2003-06-22  Miguel Coca  <mcoca@gnu.org>

	* All files: Replace old style error checking with libgpg-error.

	* gpakeyselector.h, gpakeyselector.c: Use the keytable instead of
	listing keys ourselves.

2003-06-21  Miguel Coca  <mcoca@gnu.org>

	* siglist.h, siglist.c (gpa_siglist_set_all)
	(gpa_siglist_set_userid, gpa_siglist_set_signatures): Use
	gpgme_key_t instead of fingerprints.

	* options.h, options.c (gpa_options_init, gpa_options_finalize)
	(gpa_options_set_default_key, gpa_options_get_default_key)
	(determine_default_key, gpa_options_update_default_key)
	(gpa_options_save_settings): The default key is now a
	gpgme_key_t.

	* keytable.h, keytable.h: Redo using a GpaContext to work
	inside the Gtk main loop.

	* keyring.c (struct _GPAKeyringEditor): Rename clist_keys to
	keylist (since it's no longer a GtkCList). Add current_key field.
	(keyring_editor_fill_keylist): Remove obsolete.
	(key_has_been_signed):  Use new keylist interface. Work with
	keys instead of fingerprints.
	(keyring_editor_can_sign):
	(keyring_editor_has_private_selected):
	(keyring_editor_delete):
	(keyring_editor_sign, keyring_editor_edit, keyring_editor_trust)
	(keyring_editor_import_do_import)
	(keyring_editor_export_do_export, keyring_editor_export)
	(keyring_editor_generate_key_advanced)
	(keyring_editor_generate_key_advanced)
	(idle_update_details)
	(keyring_set_brief_listing, keyring_set_detailed_listing)
	(keyring_update_status_bar)
	(display_popup_menu, keyring_editor_new):
	(keyring_editor_generate_key_simple): Likewise.
	(keyring_editor_current_key): Rename from _current_key_id.
	(keyring_editor_selection_changed): Set the current key with
	all it's sigs here.
	(keyring_editor_select_all): Use a TreeView instead of a CList.
	(signatures_uid_selected): Use new siglist interface.
	(keyring_editor_mapped): Change secret key tests.
	(keyring_details_page_fill_key): Likewise.
	(is_selected_row): Removed.

	* keylist.h, keylist.c: Rewrite as a GtkTreeView. Change the
	interface to a more sensible one.

	* keyexportdlg.h, keyexportdlg.c (key_backup_dialog_run): Receive
	the key to backup, not it's fingerprint

	* keyeditdlg.h, keyeditdlg.c (gpa_key_edit_dialog_run): Receive
	a key, not it's fingerprint.
	(gpa_key_edit_dialog_run): Use new keytable

	* keydeletedlg.h, keydeletedlg.c (gpa_delete_dialog_run): Figure
	out whether the key is secret here, remove has_secret argument.

	* icons.h, icons.c (gpa_create_icon_pixbuf): New.

	* helpmenu.c (help_license): Replace deprecated GtkText with
	GtkTextView.

	* gpgmetools.c (gpa_generate_key): Don't save the key into the
	keytable. With the new keytable, it should just be reloaded.

	* gpgmeedit.h, gpgmeedit.c (gpa_gpgme_edit_sign): Receive the
	signer as a gpgmekey, too. Use new keytable.

	* gpa.h: Remove keytable variable.
	(gpa_default_key, gpa_set_default_key)
	(gpa_update_default_key): Remove obsolete.

	* gpa.c: Remove keytable global varible.
	(main): Don't initialize it.

2003-06-07  Miguel Coca  <mcoca@gnu.org>

	* gpgmetools.c (gpa_backup_key): Make backups 600. Patch by
	Bastian Blank <waldi@debian.org>.

2003-05-30  Miguel Coca  <mcoca@gnu.org>

	* gpgmeedit.c (passwd_passphrase_cb): Use new passphrase interface.
	(edit_fnc): New prototype.

	* settingsdlg.c (key_selected_cb): Fix pointer type.

	* qdchkpwd.c: Add include to remove warning.

	* passwddlg.c (gpa_change_passphrase_dialog_run): New prototype.

	* gpgmetools.h, gpgmetools.c (gpa_passphrase_cb)
	(passphrase_question_label): Use new passphrase interface.

	* keyring.c (keyring_editor_import_do_import): Use new gpgme type
	names.
	(keyring_editor_export_do_export): Use the new way to export keys
	from gpgme.

	* keyimportdlg.h, keyimportdlg.c (key_import_results_dialog_run): Use
	new type name.

	* gpafileencryptop.h: Change the way recipients are specified.
	* gpafileencryptop.c (gpa_file_encrypt_operation_done_cb)
	(set_recipients, gpa_file_encrypt_operation_start): Likewise.

2003-05-22  Miguel Coca  <mcoca@gnu.org>

	* encryptdlg.c, encryptdlg.h, expirydlg.c, expirydlg.h, fileman.c,
	fileman.h, filesigndlg.c, filesigndlg.h, gpa.c, gpa.h,
	gpa_license.c, gpa_license.h, gpacontext.c, gpacontext.h,
	gpafiledecryptop.c, gpafiledecryptop.h, gpafileencryptop.c,
	gpafileencryptop.h, gpafileop.c, gpafileop.h, gpafilesignop.c,
	gpafilesignop.h, gpafileverifyop.c, gpafileverifyop.h,
	gpakeyselector.c, gpakeyselector.h, gpaoperation.c,
	gpaoperation.h, gpapastrings.c, gpapastrings.h, gpaprogressdlg.c,
	gpaprogressdlg.h, gpawidgets.c, gpawidgets.h, gpawindowkeeper.c,
	gpawindowkeeper.h, gpawizard.c, gpawizard.h, gpgmeedit.c,
	gpgmeedit.h, gpgmetools.c, gpgmetools.h, gtktools.c, gtktools.h,
	helpmenu.c, helpmenu.h, hidewnd.c, hidewnd.h, i18n.h, icons.c,
	icons.h, keydeletedlg.c, keydeletedlg.h, keyeditdlg.c,
	keyeditdlg.h, keyexportdlg.c, keyexportdlg.h, keygendlg.c,
	keygendlg.h, keygenwizard.c, keygenwizard.h, keyimportdlg.c,
	keyimportdlg.h, keyimpseldlg.c, keyimpseldlg.h, keylist.c,
	keylist.h, keyring.c, keyring.h, keyserver.c, keyserver.h,
	keysigndlg.c, keysigndlg.h, keytable.c, keytable.h, options.c,
	options.h, ownertrustdlg.c, ownertrustdlg.h, passwddlg.c,
	passwddlg.h, qdchkpwd.c, qdchkpwd.h, server_access.c,
	server_access.h, settingsdlg.c, settingsdlg.h, siglist.c,
	siglist.h, simple-gettext.c, verifydlg.c, verifydlg.h, w32reg.c,
	w32reg.h: Do a global search and replace for new Gpgme type names.

2003-05-20  Miguel Coca  <mcoca@gnu.org>

	* gpawidgets.c (gpa_key_info_new): Fix memory leak.

2003-05-17  Miguel Coca  <mcoca@gnu.org>

	* gpakeyselector.c (gpa_key_selector_get_selected_keys): Don't
	reference returned keys.

	* settingsdlg.c (key_selected_cb): Don't unreference keys.
	* gpafileencryptop.c (gpa_file_encrypt_operation_response_cb):
	* gpafilesignop.c (gpa_file_sign_operation_response_cb): Likewise.

2003-05-16  Miguel Coca  <mcoca@gnu.org>

	* Makefile.am (gpa_SOURCES): Remove keyimpseldlg.{c,h}, as they
	were not being used.

	* gpawidgets.c (gpa_key_list_add_key, gpa_secret_key_list_new)
	(gpa_public_key_list_new, gpa_key_list_new_from_glist)
	(gpa_key_list_selection_length, gpa_key_list_selected_ids)
	(gpa_key_list_selected_id): Remove the gpa_key_list.

	* gpawidgets.h, gpawidgets.c (gpa_key_list_new):

	* settingsdlg.c (default_key_frame): Use a GpaKeySelector.

2003-05-15  Miguel Coca  <mcoca@gnu.org>

	* Makefile.am (gpa_SOURCES): Add gpakeyselector.{c,h}

	* gpakeyselector.h, gpakeyselector.c: New. A replacement for the
	gpa_key_list that lists the keys itself.

	* gpafilesignop.c (gpa_file_sign_operation_response_cb)
	(set_signers):
	* gpafileencryptop.c (set_recipients, set_signers)
	(gpa_file_encrypt_operation_response_cb): Adapt to receive GLists of
	keys instead of fingerprints from the encrypt dialog.

	* filesigndlg.c (gpa_file_sign_dialog_constructor)
	(gpa_file_sign_dialog_signers): Use a key selector.

	* encryptdlg.c (select_row_cb, unselect_row_cb): Delete.
	(changed_select_row_cb): New.
	(gpa_file_encrypt_dialog_init)
	(gpa_file_encrypt_dialog_recipients)
	(gpa_file_encrypt_dialog_signers): Use key selectors.

2003-05-04  Miguel Coca  <mcoca@gnu.org>

	* gpgmetools.c, server_access.c: Remove gpgmeparsers.h include.

2003-05-04  Miguel Coca  <mcoca@gnu.org>

	* gpgmeparsers.c, gpgmeparsers.h: Delete.

	* Makefile.am (gpa_SOURCES): Remove gpgmeparsers.{c,h}

	* keyimportdlg.c (key_import_results_dialog_run):
	* keyring.c (keyring_editor_import_do_import): Use a GpgmeImportResult.

	* gpafileverifyop.c (gpa_file_verify_operation_done_error_cb):
	* gpafilesignop.c (gpa_file_sign_operation_done_error_cb):
	* gpafileencryptop.c (gpa_file_encrypt_operation_done_error_cb):
	* gpafiledecryptop.c (gpa_file_decrypt_operation_done_error_cb): Remove
	error codes that no longer exist.

	* siglist.c (gpa_siglist_set_all, gpa_siglist_set_userid):
	* options.c (gpa_options_update_default_key):
	* keyring.c (key_has_been_signed):
	* gpafilesignop.c (set_signers):
	* keyeditdlg.c (key_edit_change_passphrase):
	* gpafileencryptop.c (set_recipients, set_signers): New gpgme_get_key
	prototype.

2003-04-27  Miguel Coca  <mcoca@gnu.org>

	* gpafiledecryptop.c (gpa_file_decrypt_operation_done_error_cb):
	* gpafileencryptop.c (gpa_file_encrypt_operation_done_error_cb):
	* gpafilesignop.c (gpa_file_sign_operation_done_error_cb):
	* gpafileverifyop.c (gpa_file_verify_operation_done_error_cb): Use
	new names for error codes.

	* gpgmetools.c (gpa_generate_key): Use new gpgme_op_genkey.

2003-04-05  Miguel Coca  <mcoca@gnu.org>

	* gpa.c (main): Open extra arguments as files in the filemanager.

	* fileman.h, fileman.c (gpa_file_manager_open_file): New.

2003-04-05  Miguel Coca  <mcoca@gnu.org>

	* fileman.c (fileman_menu_new): Add a "clear" entry.
	(fileman_toolbar_new): Likewise.
	(toolbar_close_all, close_all_files): New.

2003-04-05  Miguel Coca  <mcoca@gnu.org>

	* gpa.c (quit_if_no_window, gpa_open_filemanager): Use new filemanager.
	(gpa_get_filenamager): Remove.

	* gpafileop.c (gpa_file_operation_finalize): Free the filenames too.

	* verifydlg.c (signature_list): Show alternate colors for the list.
	* siglist.c (gpa_siglist_new): Likewise.

	* fileman.h, fileman.c: Reworked file manager. Use pure GTK+2 lists,
	disable buttons when no file is selected, and don't display scrollbars
	unless they are needed.

2003-03-23  Andy Ruddock <andy.ruddock@minnesund.net>

	* options.h: Added 'detailed_view' configuration file option for
	keylist window key view.

	* options.c: Added functions to read/write 'detailed_view'
	configuration file option.

	* keyring.c: keylist window view reads configuration file and
	defaults to brief/detailed view last used.

2003-03-22  Miguel Coca  <mcoca@gnu.org>

	* Makefile.am (gpa_SOURCES): Really remove gtkhacks.h.

2003-03-22  Miguel Coca  <mcoca@gnu.org>

	* options.h, options.c (gpa_options_get_instance): New. Turn the
	GpaOptions object into a singleton.

	* Change all users of GpaOptions.

	* gpafileverifyop.c (gpa_file_verify_operation_done_error_cb):
	* gpafilesignop.c (gpa_file_sign_operation_done_error_cb):
	* gpafileencryptop.c (gpa_file_encrypt_operation_done_error_cb):
	* gpafiledecryptop.c (gpa_file_decrypt_operation_done_error_cb): Make
	all error cheking here.

	* gpafileop.c (gpa_file_operation_done_error_cb): Remove error
	handling.
	* gpaoperation.c (gpa_operation_done_error_cb): Same here.

	* gpgmetools.h, gpgmetools.c (gpa_gpgme_warning): New.

	* fileman.c (gpa_fileman_toolbar_new): Remove GTK+ 1.2 compatibility.

	* gpa.h: Remove gtkhacks.h. Remove gpa_options global variable.

	* gtkhacks.h: Deleted.

2003-03-18  Miguel Coca  <mcoca@gnu.org>

	* verifydlg.h, verifydlg.c: Rewrite as widget.

	* gpafileverifyop.c, gpafileverifyop.h: New.

	* Makefile.am (gpa_SOURCES): Add new files.

	* gpafileencryptop.c (gpa_file_encrypt_operation_done_cb): Advance the
	current file here.
	* gpafiledecryptop.c (gpa_file_decrypt_operation_done_cb): Likewise.
	* gpafilesignop.c (gpa_file_sign_operation_done_cb): Likewise.

	* gpafileop.c (gpa_file_operation_done_cb): Remove.

2003-03-09  Miguel Coca  <mcoca@gnu.org>

	* keyring.c (keyring_editor_delete): Remove the key from the keytable
	before deleting the key from the list.

2003-03-07  Miguel Coca  <mcoca@gnu.org>

	* gpaoperation.c (gpa_operation_class_init)
	(gpa_operation_constructor): Use a constructor.
	* gpafileop.c, gpafileencryptop.c, gpafiledecryptop.c: Likewise.

	* filesigndlg.c, filesigndlg.h: New API. Rewrite as a widget.

	* fileman.c (sign_files): Use the GpaFileSignOperation.

	* gpafilesignop.c, gpafilesignop.h: New.

	* Makefile.am (gpa_SOURCES): Add new files.

2003-02-12  Miguel Coca  <mcoca@gnu.org>

	* fileman.c (encrypt_files): Use the GpaFileEncryptOperation.

	* gpafiledecryptop.c (destination_filename): Mark static.
	(gpa_file_decrypt_operation_start): Save the GpgmeData's for later.
	(gpa_file_decrypt_operation_done_cb): Do proper cleanup.

	* gpafiledecryptop.h: Add the GpgmeData's to the structure.

	* gpaoperation.h, gpafileop.h: Include gpa.h

	* encryptdlg.h, encryptdlg.c: New API. Remove encryption itself from
	this file, as it is handled by the operation.

	* Makefile.am (gpa_SOURCES): Add new files.

	* gpafileencryptop.h, gpafileencryptop.c: New.

2003-02-10  Miguel Coca  <mcoca@gnu.org>

	* options.c (read_next_word): Fix unsafe use of char with getc.

2003-02-07  Miguel Coca  <mcoca@gnu.org>

	* fileman.c (get_selected_files): List files in the order they appear
	on the screen.
	(add_file): Add const to prototype.
	(file_created_cb, register_operation): New. For use with operation
	objects.
	(decrypt_files): Use GpaFileDecryptOperation.

	* passwddlg.c (gpa_change_passphrase_dialog_run): Use new prototype.

	* gpgmetools.c (gpa_gpgme_new): Don't pass the context as data to
	the passphrase callback.
	(check_overwriting): New.
	(gpa_fopen): Use it.
	(gpa_open_output, gpa_open_input): New.
	(gpa_passphrase_cb): Use new prototype.

	* gpgmeedit.c (passwd_passphrase_cb): Use new prototype.

	* gpacontext.c (gpa_context_busy): New function.
	(gpa_context_destroy): Add some checking.
	(struct gpa_io_cb_data): Add "registered" field.
	(queue_callback): Rename to...
	(add_callback): New.
	(register_queued_callbacks): Rename to...
	(register_all_callbacks): New. Don't remove from the list, as it now
	holds all callbacks.
	(unregister_all_callbacks): New.
	(gpa_context_register_cb): Always add callbacks to the list.
	(gpa_context_remove_cb): Always remove callbacks from the list.
	(gpa_context_passphrase_cb): New. Our own passphrase callback.
	(gpa_context_start, gpa_context_done): Remove debugging

	* Makefile.am (gpa_SOURCES): Add new files.

	* gpaprogressdlg.h, gpaprogressdlg.c: New. The progress dialog.

	* gpaoperation.h, gpaoperation.c, gpafileop.h, gpafileop.c,
	gpafiledecryptop.h, gpafiledecryptop.c: New. All operations will
	now be objects.

2003-02-02  Miguel Coca  <mcoca@gnu.org>

	* gpacontext.c (register_callback, gpa_context_remove_cb): Fix clean
	up issues.

2003-02-01  Miguel Coca  <mcoca@gnu.org>

	* Makefile.am (gpa_SOURCES): Add gpacontext.{c,h}

	* gpacontext.h, gpacontext.c: New. A wrapper around the GpgmeCtx to
	hook it to the gtk event loop.

	* gpa.c (main): Remove unneeded variable.

	* fileman.c (decrypt_files): Use one GpgmeCtx per operation.
	* filesigndlg.c (sign_files):
	* encryptdlg.c (encrypt_file, set_signers, do_encrypt):
	* keyring.c (keyring_editor_delete, key_has_been_signed)
	(keyring_editor_import_do_import)
	(keyring_editor_export_do_export, keyring_editor_sign):
	* keyeditdlg.c (key_edit_change_passphrase)
	(key_edit_change_expiry):
	* options.c (determine_default_key):
	* gpgmetools.c (gpa_generate_key):
	* keytable.c (do_keylisting, keytable_fill, load_keys):
	* siglist.c (gpa_siglist_set_all, gpa_siglist_set_userid):
	* keylist.c (keylist_fill_list):  Likewise.

	* gpgmeedit.h, gpgmeedit.c (gpa_gpgme_edit_trust)
	(gpa_gpgme_edit_expire, gpa_gpgme_edit_sign)
	(gpa_gpgme_edit_passwd): Add ctx argument.

	* gpgmetools.c (gpa_passphrase_cb): Use the context as user data.
	* passwddlg.c (gpa_change_passphrase_dialog_run): Likewise.

	* gpa.h: Remove ctx global variable.

	* gpa.c (main): Remove GpgmeCtx initialitation.

	* gpgmetools.h, gpgmetools.c (gpa_gpgme_new): New.

2003-01-30  Miguel Coca  <mcoca@gnu.org>

	* gpgmetools.c (gpa_gpgme_key_get_fingerprint): Remove unnecessary
	variable.
	(get_gpg_path): New function.
	(gpa_backup_key): Use it.

	* verifydlg.c (verify_file): Remove gpgme 0.4.0 compatibility.

	* gpgmeparsers.h, gpgmeparsers.c (gpa_parse_engine_info)
	(parse_engine_info_text, parse_engine_info_end)
	(parse_engine_info_start): Removed. No longer needed due to changes
	in GPGME.

	* helpmenu.c (help_about): Fix formatting and copyright message.

2003-01-24  Miguel Coca  <mcoca@gnu.org>

	* gpa.c (main): Replace getenv with more portable putenv.

2003-01-23  Miguel Coca  <mcoca@gnu.org>

	* verifydlg.c (verify_file): Another ugly hack, this time to allow
	compilation with both gpgme 0.4.0 and 0.4.1.

	* server_access.c (strsep): Ugly hack to get this to compile on
	systems without strsep. To be fixed after the next release.

2003-01-21  Miguel Coca  <mcoca@gnu.org>

	* gpgmetools.c (gpa_gpgme_key_get_fingerprint): Check the fingerprint
	length, instead of the algorithm, when deciding how to format the
	fingerprint.

	* gpgmetools.h (gpa_gpgme_key_get_fingerprint): Fix function
	description.

2003-01-19  Miguel Coca  <mcoca@gnu.org>

	* gpa.h: Remove IS_DEVELOPMENT_VERSION define from this file.

	* keygenwizard.c (gpa_keygen_wizard_run): Use the new wizard
	interface.

	* gpawizard.c, gpawizard.h (gpa_wizard_update_buttons)
	(gpa_wizard_new, gpa_wizard_append_page): Changes to use GTK+2 stock
	buttons.

2003-01-17  Miguel Coca  <mcoca@gnu.org>

	* keygendlg.c (gpa_key_gen_run_dialog): More UI Fixes.
	(response_cb): Add check for empty or easy passphrase.

2003-01-15  Miguel Coca  <mcoca@gnu.org>

	* gpawidgets.c (gpa_expiry_frame_get_expiration): Fix bug in previous
	change.

	* gpawidgets.c (gpa_expiry_frame_dont, gpa_expiry_frame_after)
	(gpa_expiry_frame_at, expire_date_toggled_cb)
	(gpa_expiry_frame_new, gpa_expiry_frame_get_expiration)
	(gpa_expiry_frame_validate): Use a calendar for choosing the
	expiration date.

	* keygendlg.c (gpa_key_gen_run_dialog): Port to use GTK+2 widgets.
	(key_gen_cancel, key_gen_ok): Removed.
	(response_cb): New.

	* gpawidgets.c (gpa_expiry_frame_new):

	* keygenwizard.c (gpa_keygen_wizard_generate_action): Don't set the
	removed fields.
	* gpgmetools.c (key_gen_params_new): Likewise.

	* gpgmetools.h (GPAKeyGenParameters): Remove unused revocation and
	send_to_server fields.

	* options.c (gpa_options_update_default_key): Fix check for default
	key, so that it is triggered if the key is deleted.

2003-01-08  Miguel Coca  <mcoca@gnu.org>

	* expirydlg.c (gpa_expiry_dialog_run): Fix label typo.
	(gpa_expiry_dialog_run): Use a GtkCalendar for choosing the
	expiration date.
	(expire_date_toggled_cb): New.
	(expiry_ok): Change to use the calendar.

	* gpafilesel.c, gpafilesel.h: Remove.

	* Makefile.am (gpa_SOURCES): Remove gpafilesel.{c,h}

	* gtktools.c (file_dialog_ok, gpa_get_save_file_name): Use
	GtkFileSelection.

	* verifydlg.c (verify_file): Use the GPGME 0.4.0 interface.

2002-12-31  Miguel Coca  <mcoca@gnu.org>

	* gpgmetools.c (gpa_gpgme_key_get_userid): Tag revoked UID's as such.

	* gpawidgets.c (gpa_key_info_new): Don't display revoked UID's.
	* keysigndlg.c (gpa_key_sign_run_dialog): Likewise.

	* keyring.c (keyring_editor_popup_menu_new): New. Creates the popup
	menu.
	(is_selected_row, display_popup_menu): Display it.
	(keyring_editor_new): Use the above.

2002-12-30  Miguel Coca  <mcoca@gnu.org>

	* gpgmetools.c (gpa_passphrase_cb): Fix cleanup.

	* gpgmeedit.c (edit_fnc): Ignore NEED_PASSPHRASE_SYM too.
	(edit_passwd_fnc_action, edit_passwd_fnc_transit)
	(passwd_passphrase_cb, gpa_gpgme_edit_passwd): New. Change the key's
	passphrase.

	* gpgmeedit.h (gpa_gpgme_edit_passwd): New.

	* keyeditdlg.c (gpa_key_edit_dialog_run): Add "change passphrase"
	button.
	(key_edit_change_passphrase): New.

	* qdchkpwd.c, qdchkpwd.h (qdchkpwd): Change prototype to remove
	warnings.

	* passwddlg.c, passwddlg.h: New. The "new passphrase" dialog.

	* Makefile.am (gpa_SOURCES): Add passwddlh.{c,h}.

2002-12-29  Miguel Coca  <mcoca@gnu.org>

	* verifydlg.c (verify_file): Update for GPGME 0.4.1.

	* keyring.c (keyring_editor_delete): Update the default key, in case
	it's been deleted.

	* server_access.c: Include signal.h.

2002-12-26  Miguel Coca  <mcoca@gnu.org>

	* keyring.c (key_has_been_signed): Account for a missing signing key.

	* options.c (gpa_options_update_default_key): Check whether the
	default key is really available.

2002-12-24  Miguel Coca  <mcoca@gnu.org>

	* keyring.c (keyring_editor_mapped): Fix backup at startup.

2002-12-18  Miguel Coca  <mcoca@gnu.org>

	* keyserver.c (keyserver_read_list): Clean default server list.

2002-12-17  Miguel Coca  <mcoca@gnu.org>

	* gpa.c (i18n_init): Output is always UTF-8.

2002-12-16  Miguel Coca  <mcoca@gnu.org>

	* keyring.c (keyring_editor_new): Remove specific font name.

	* gpa.h: Include config.h here. Solves i18n problems.

2002-12-15  Miguel Coca  <mcoca@gnu.org>

	* gpawidgets.c (gpa_key_list_new): Use "User Name", as the rest of GPA
	does.

	* ownertrustdlg.c (gpa_ownertrust_run_dialog): Fix typo in "ultimate"
	description.

	* fileman.c (gpa_fileman_toolbar_new): Remove extra spaces around
	"decrypt".

	* expirydlg.c (gpa_expiry_dialog_run): Fix dialog title.

	* helpmenu.c (help_about): Fix formatting of copyright notice.

	* keyring.c (keyring_editor_paste): Fix segfault when the clipboard
	was empty.

2002-12-13  Miguel Coca  <mcoca@gnu.org>

	* gpgmetools.h, gpgmetools.c (gpa_gpgme_key_sig_get_sig_status): Use
	a hash of revoked signatures to check for them.

	* siglist.c (gpa_siglist_set_userid, gpa_siglist_set_all)
	(gpa_siglist_clear_columns, gpa_siglist_all_add_columns)
	(gpa_siglist_uid_add_columns, gpa_siglist_new): Use different number
	of columns and type for "all signatures" and individual uids.
	(revoked_signatures, gpa_siglist_set_userid): Keep a list of revoked
	signatures and use it.

	* expirydlg.c (expiry_ok): Remove unused variable.

	* keyring.c (keyring_editor_menubar_new): Add some checks to avoid
	crashes on bad translations, as the menu items are not found, and
	NULL's are appended to the selection sensitive lists.

2002-12-12  Miguel Coca  <mcoca@gnu.org>

	* fileman.c (gpa_fileman_toolbar_new, toolbar_preferences):
	Disable the preferences button in the toolbar. It's long label
	makes the toolbar far too long.
	* keyring.c (keyring_toolbar_new, toolbar_preferences): Likewise.

	* expirydlg.c (expiry_ok): Replace the gpa_message_box_run.
	* keylist.c (keylist_fill_list): Likewise.
	* keygenwizard.c (gpa_keygen_wizard_password_validate): Likewise.

	* gtktools.h, gtktools.c (message_box_destroy, message_box_clicked)
	(gpa_message_box_run, gpa_window_passphrase): Removed obsolete.

	* Makefile.am (gpa_SOURCES): Remove icons.xpm
	(INCLUDES): Add pixmap directory.

	* icons.c: Include new icon files.

	* icons.xpm: Removed, replaced by files in ../pixmaps.
	* encrypt.xpm: Removed.
	* verify.xpm, floppy.xpm, folder.xpm, icons.xpm, open_folder.xpm: Moved
	to pixmap directory.

	* fileman.c (gpa_fileman_toolbar_new): Add Preferences.
	(toolbar_preferences): New.

	* keyring.c (keyring_toolbar_new): Change tooltip for edit to make it
	clear it's only for private keys.
	Use stock icon for "Delete".
	Add "Preferences".
	(toolbar_preferences): New.

	* options.c (gpa_options_read_settings): Don't report error if the
	config file doesn't exist.

2002-12-11  Miguel Coca  <mcoca@gnu.org>

	* fileman.c (fileman_menu_new): Add the edit menu and stock icons.
	Rename "Check" as "Verify" to match the toolbar button.
	(fileman_select_all): New.

	* helpmenu.c (gpa_help_menu_add_to_factory): Change order of buttons
	to a more standard one.

	* keyring.c (keyring_editor_import_get_source)
	(keyring_editor_import_do_import, keyring_editor_import): Split import
	into these functions.
	(keyring_editor_export_do_export): New.
	(keyring_editor_export): Use the above.
	(keyring_editor_menubar_new): Add an edit menu. Move preferences
	there. Use stock icons where possible.
	(keyring_editor_select_all, keyring_editor_paste)
	(keyring_editor_copy): New. The edit menu actions.

	* keyexportdlg.c, keyexportdlg.h (key_backup_dialog_run, do_backup):
	Add const to prototype. Fixes warning.

	* keyexportdlg.c (key_export_dialog_run): Remove clipboard option.
	Available from edit menu.

	* keyimportdlg.c (key_import_dialog_run): Remove clipboard option,
	as it is now available from the edit menu.

	* gpgmetools.h, gpgmetools.c (fill_data_from_clipboard): Removed.

	* keyring.c (keyring_editor_backup): Backup the selected key, not
	the default one.
	(keyring_editor_menubar_new): Enable "backup" only if a private key
	has been selected.

2002-12-10  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_editor_has_private_selected): New.
	(key_has_been_signed): Reimplement.
	(keyring_editor_can_sign): Use new key_has_been_signed.
	(keyring_editor_sign): No need to check whether the key has been
	signed, as the edit function handles that case gracefully (and it
	should never happen anyway).
	(keyring_editor_current_key): Removed #ifdef'ed out function.
	(keyring_editor_menubar_new): Bring some order to the keys menu.
	Only enable menu items when appropiate.
	(keyring_toolbar_new): Only show the "edit" button if a private key
	is selected.

2002-12-09  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_details_page_fill_key)
	(keyring_details_notebook): Add key length and type to the details
	notebook. They replace the public/private label, which is moved to the
	top of the notebook.

2002-12-07  Miguel Coca  <e970095@zipi.fi.upm.es>

	* siglist.c (gpa_siglist_set_userid): Fix idiot bug.

	* settingsdlg.c (gpa_settings_dialog_new): Close on enter.

	* siglist.c (gpa_siglist_new): Sort the list by user ID. We should
	find a way to make Unknown come last always.

	* keyring.c (keyring_details_notebook): Add label to the menu.
	(keyring_details_page_fill_num_keys): Change the text for "all
	signatures."

	* gpa.c (gpa_open_settings_dialog): Use the close_main_window callback
	to track the destruction of the dialog.

	* settingsdlg.c (gpa_settings_dialog_new): Destroy, not hide, the
	dialog on close.

	* keyring.c (keyring_editor_menubar_new): Move the settings menu item
	to the file menu.
	* fileman.c (fileman_menu_new): Likewise.

	* keyring.c (signatures_uid_selected): New.
	(keyring_details_notebook): Add the User ID popdown menu.
	(keyring_signatures_page_fill_key): Rewrite to use the new siglist.
	(keyring_signatures_page_empty): Clear the UID menu too.
	(idle_update_details): Use new prototype of signatures_page_fill_key.
	(keyring_editor_new): Increase default window size, leave more space
	for the details notebook.

	* siglist.h, siglist.c (gpa_siglist_new)
	(gpa_siglist_set_signatures): Completely new signature list, for key
	signatures only.

	* gpgmetools.c (string_to_utf8): New.
	(gpa_gpgme_key_get_userid): Use string_to_utf8.

	* gpgmetools.h, gpgmetools.c (gpa_gpgme_key_sig_get_userid)
	(gpa_gpgme_key_sig_get_short_keyid)
	(gpa_gpgme_key_sig_get_sig_status): New.

2002-12-04  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpawidgets.c (gpa_key_list_new): Set the columns to autoresize.

	* gpa.c, gpa.h (gpa_open_settings_dialog)
	(gpa_get_settings_dialog): New.

	* fileman.c (fileman_menu_new): Remove "Options" menu. Add "settings"
	to the "Window" menu.
	* keyring.c (keyring_editor_menubar_new): Likewise.

	* settingsdlg.c, settingsdlg.h: New.

	* optionsmenu.c, optionsmenuc.h: Removed.

	* Makefile.am (gpa_SOURCES): Remove optionsmenu.{c,h}, add
	settingsdlg.{c,h}.

2002-12-03  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmeedit.h, gpgmeedit.c (gpa_gpgme_edit_sign): Add const to
	fingerprint declaration.

	* keyring.c (keyring_editor_sign): Check for new return codes from
	gpa_gpgme_edit_sign.

	* gpgmeedit.c (edit_sign_fnc_transit): Set the error to GPGME_Conflict
	if the key was already signed.
	(gpa_gpgme_edit_sign): Check that there is really a default key.

2002-12-02  Miguel Coca  <e970095@zipi.fi.upm.es>

	* server_access.c (do_spawn): Fix shutdown of GIOChannel. Should fix
	segfault on some systems.

2002-11-29  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpawidgets.c (struct add_key_data_s, gpa_key_list_add_key)
	(gpa_public_key_list_new): Remove the default key row from here, as
	reordering the clist was messing it up.
	(gpa_secret_key_list_new): Add a loop to find and select the default
	key.

	* gpa.c: Rework the main function, and parsing of command line
	arguments to use getopt.

	* gpa.h, gpa.c (gpa_simplified_ui, gpa_set_simplified_ui)
	(gpa_backup_generated, gpa_set_backup_generated)
	(gpa_remember_backup_generated): Remove, superseded by the options
	object.

	* filesigndlg.c (file_sign_ok, gpa_file_sign_dialog_run)
	(gpa_file_sign_dialog_run): Use the options object.
	* gpawidgets.c (gpa_key_list_add_key):
	* keyexportdlg.c (do_backup):
	* keyimportdlg.c (key_import_dialog_run):
	* keyring.c (keyring_editor_backup)
	(keyring_editor_generate_key_advanced)
	(keyring_editor_generate_key_simple, keyring_editor_generate_key)
	(keyring_editor_mapped, keyring_editor_mapped)
	(keyring_signatures_page_fill_key, keyring_update_status_bar)
	(keyring_default_key_changed, keyring_editor_new):
	* keysigndlg.c (gpa_key_sign_run_dialog):
	* optionsmenu.c (options_keyserver_set, options_keyserver)
	(options_key_set, options_key): Likewise.

	* keyserver.c, keyserver.h: Remove management of the current
	keyserver.

	* fileman.c: Remove jnlib includes.
	* gpa.h:
	* helpmenu.c: Likewise.

	* Makefile.am (INCLUDES, LDADD): Remove jnlib.
	(gpa_SOURCES): Add options.c.

	* options.c: New.
	* options.h: Might as well be considered new.

	* helpmenu.c (help_about): Fix copyright notice.

2002-11-28  Miguel Coca  <e970095@zipi.fi.upm.es>

	* server_access.c (protocol_version): The version number is
	printed to stdout, not stderr!

2002-11-27  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyreceivedlg.c, keyreceivedlg.h: Removed obsolete.

	* gpgmeedit.c (edit_trust_fnc_action)
	(edit_trust_fnc_transit): Added a state for the "set_ultimate.okay"
	prompt. Fixes a crash when setting a key to ultimate trust.

2002-11-22  Miguel Coca  <e970095@zipi.fi.upm.es>

	* Makefile.am (gpa_SOURCES): Add gtkhacks.h

	* keylist.c (keylist_fill_list): Don't release the key until we are
	done with it.

2002-11-20  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmetools.c (gpa_generate_key): Load the generated key into the
	keytable.

	* keygenwizard.c (file_dirname, isdir): Removed.
	(gpa_keygen_wizard_run): Remove the backup directory page.
	(gpa_keygen_wizard_backup_dir_browse)
	(gpa_keygen_wizard_backup_dir_page)
	(gpa_keygen_wizard_backup_get_text)
	(gpa_keygen_wizard_backup_dir_action): Removed.
	(gpa_keygen_wizard_backup_action): Removed, replaced by
	_generate_action.
	(gpa_keygen_wizard_run, free_keygen_wizard): Remove backup filenames.
	(gpa_keygen_wizard_generate_action): Do the key backup here.
	(gpa_keygen_wizard_run): Make generate the action for the backup page.

	* keyexportdlg.c (do_backup): New.
	(key_backup_dialog_run): Do the backup here.

	* keyring.c (keyring_editor_backup): Assume backups are done by the
	dialog.

	* gpa.c (main): Remove unused variable.

	* keyring.c (keyring_editor_generate_key_advanced): Use the new
	prototype of gpa_generate_key().
	* keygenwizard.c (gpa_keygen_wizard_generate_action): Likewise.

	* gpgmetools.h, gpgmetools.c (gpa_generate_key): Return the key
	fingerprint.

	* gpgmetools.c (dump_data_to_file, fill_data_from_clipboard)
	(dump_data_to_clipboard): Change for GPGME 0.4.0.

	* verifydlg.c (is_detached_sig): Fix dettached signatures.
	(verify_file): Change for GPGME 0.4.0.

	* verifydlg.c (verify_file): Changes for new verify ptrtotype on
	GPGME 0.4.0.

	* gpa.c (main): We no longer use a gtkrc.
	Remove jnlib logging.

2002-11-13  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyserver.c: Replace all free() calls with g_free ().
	* keyring.c: Likewise.
	* keygenwizard.c: Likewise.
	* keyeditdlg.c: Likewise.
	* gpgmetools.c: Likewise.
	* gpawindowkeeper.c: Likewise.
	* gpawidgets.c: Likewise.
	* gpa.c: Likewise.
	* fileman.c: Likewise.
	* expirydlg.c: Likewise.

2002-11-12  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keylist.c (get_trust_value, get_ownertrust_value): Fix compiler
	warnings.
	* gpgmetools.c (gpa_backup_key): Likewise.
	* gpgmeparsers.c (gpa_parse_engine_info, gpa_parse_import_info): Ditto.

	* keyeditdlg.c: Removed obsolete ownertrust prototype.

	* fileman.c: Forgot one of Francis's patches.

	* gpa.c, gpa.h, gpawidgets.c, gpawindowkeeper.c, gpawizard.c,
	gpgmetools.c, gtktools.c, gtktools.h, helpmenu.c, gtktools.h,
	helpmenu.c, helpmenu.h, keyexportdlg.c, keygendlg.c,
	keygenwizard.c, keyimportdlg.c, keyserver.c, optionsmenu.c,
	siglist.c: Remove all calls to jnlib memory management and string
	functions, fix compiler warnings and add conditional compilation
	of headers where missing.
	Submitted by Francis J. A. Pinteric <linuxdoctor@linux.ca>

2002-11-11  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmetools.c (build_genkey_parms): Fix the date string.

	* keyring.c (keyring_editor_generate_key_advanced): Remove bogus error
	check.

2002-11-10  Miguel Coca  <e970095@zipi.fi.upm.es>

	* helpmenu.c (gpa_help_menu_add_to_factory): Renamed "Info" menu
	back to "Help" for consistency with other programs.
	(scroll_text): Added myself to the about dialog.

	* keygenwizard.c (gpa_keygen_wizard_email_page)
	(gpa_keygen_wizard_comment_page): Fix spelling of "address".

2002-11-09  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmetools.c (gpa_key_validity_string): Add disabled and invalid
	keys. Use "incomplete" for invalid.
	(gpa_key_ownertrust_string): Add default option.

	* keyring.c (keyring_editor_edit, keyring_editor_trust): New functions.
	(keyring_editor_menubar_new): Add "edit" and "ownertrust" menu items.
	(toolbar_edit_key): Use keyring_editor_edit.

	* keyeditdlg.c (gpa_key_edit_dialog_run): Remove owner trust editing.
	(key_edit_change_trust): Remove.

2002-11-08  Miguel Coca  <e970095@zipi.fi.upm.es>

	* verifydlg.c (signature_status_label): Add support for
	revoked/expired keys. Don't talk about trust for keys.

	* server_access.c (check_errors): Always return something.
	(do_spawn): Report exec errors here, return boolean indicating
	success.
	(invoke_helper): Return boolean indicating success. Properly check
	the return code of check_errors.
	(server_send_keys, server_get_key): Check the return value of
	invoke_helper.

	* keyring.c (keyring_editor_import): Check for errors getting keys
	from the server.

	* server_access.c (server_get_key): Make sure a proper value is
	returned for "data" everytime.
	(helper_path): New function.
	(check_errors): New function.
	(server_get_key, server_send_keys): Removed dialog from here...
	(invoke_helper): and added it here. Send some functionality into
	other functions.
	(protocol_version): Use the -V option of the plugins to find out the
	version of a given plugin.
	(do_spawn): New function. Run the helper asyncronously, and redraw the
	dialog until it completes.
	(close_dialog): New function.

	* server_access.c, server_access.h (server_send_keys)
	(server_get_key): Return a boolean indicating success.

	* keyimportdlg.c (key_import_results_dialog_run): Added special
	message if no keys were found in the import.

2002-11-06  Miguel Coca  <e970095@zipi.fi.upm.es>

	* verifydlg.c (verify_file): Check for GPGME_SIG_STAT_NONE too.

	* encryptdlg.c (revoked_key, expired_key): New functions.
	(set_recipients): Complain about revoked and expired keys.

	* keyserver.c (keyserver_read_list): Added a couple of LDAP keyservers
	to the default list.

2002-11-02  Miguel Coca  <e970095@zipi.fi.upm.es>

	* fileman.c (open_file, add_file): Only complain about an already
	opened file when the user opens it from the menu.

	* verifydlg.c (is_detached_sig): Take into account files without an
	extension. Fixes segfault.

2002-10-30  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpapastrings.c, gpapastrings.h (gpa_trust_string)
	(gpa_ownertrust_from_string, gpa_ownertrust_icon_name): Remove
	obsolete.

	* ownertrustdialog.h, ownertrustdlg.c (gpa_ownertrust_run_dialog):
	Completedy redo the owner trust dialog. Edit the key inside this
	function.

	* keylist.c (get_trust_value, get_ownertrust_value): Rename key
	trust as validity. Use new string functions.
	* keyring.c (keyring_details_notebook)
	(keyring_details_page_fill_key): Likewise.

	* keyeditdlg.c (gpa_key_edit_dialog_run): Use the new string
	functions.
	(key_edit_change_trust): Use new version of owner trust dialog.

	* gpgmetools.h, gpgmetools.c (gpa_key_ownertrust_string)
	(gpa_key_validity_string): New functions.

	* gpawidgets.c (gpa_key_info_new): Cosmetic fix to the label
	alignment.

2002-10-27  Miguel Coca  <e970095@zipi.fi.upm.es>

	* helpmenu.c (gpa_help_menu_add_to_factory, help_warranty): Remove
	the "warranty" item, as it just an exact copy of "license".

	* encryptdlg.c (gpa_file_encrypt_dialog_run, file_encrypt_ok):
	Enable encrypt+sign.
	(toggle_sign_cb): New function.

	* gpgmeparsers.c (gpa_parse_import_info): Free the operation
	information.

	* keyimportdlg.h, keyimportdlg.c (key_import_results_dialog_run):
	New function.

	* keyring.c (keyring_editor_import): Load only those keys we just
	imported. Display a summary of the import results.

	* keytable.c (keytable_fill, do_keylisting): Split the begining of
	a keylist operation from actually reading the keys.
	(load_keys): New function.

	* keytable.h, keytable.c (gpa_keytable_load_key): New function.

	* gpgmeparsers.c (gpa_parse_import_info, parse_import_info_text)
	(parse_import_info_end, parse_import_info_start): Parse the import
	operation detailed results.

2002-10-26  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gtkrc: Remove.

	* Makefile.am: Remove references to gtkrc.

	* keyring.c (keyring_editor_new): Set the font of the large label
	with pango markup. The gtkrc file is no longer needed.

2002-10-25  Miguel Coca  <e970095@zipi.fi.upm.es>

	* ownertrustdlg.c (gpa_ownertrust_run_dialog): Use new prototype of
	gpa_key_info_new.
	* keydeletedlg.c (gpa_delete_dialog_run): Likewise.
	* encryptdlg.c (ignore_key_trust): Likewise.

	* gpawidgets.c, gpawidgets.h (gpa_key_info_new): Remove the unused
	"window" argument.

	* keyeditdlg.c (gpa_key_edit_dialog_run): Use gpa_key_info_new to show
	the key information.
	(add_details_row): Remove.

	* gpawidgets.c (gpa_key_info_new): Show all user ID's.

	* server_access.c (protocol_version): New function.
	(invoke_helper): Added support for error reporting under both
	GnuPG 1.2 and 1.3.

	* gpgmetools.c (parse_engine_info_start, parse_engine_info_end)
	(parse_engine_info_text, find_gpg_executable): Remove from here.
	Mostly moved (and expanded) to gpgmeparsers.c.
	(gpa_backup_key): Use gpa_parse_engine_info.

	* gpgmeparsers.c, gpgmeparsers.h: New files.

	* Makefile.am (gpa_SOURCES): Add gpgmeparsers.{c,h}.

2002-10-20  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_editor_mapped): Use GtkMessageDialog's for the
	questions.
	(keyring_editor_backup): Likewise.

	* Makefile.am (gpa_SOURCES): Added verifydlc.{c,h}.

	* verifydlg.h, verifydlg.c: New files. The "Verify files" dialog.

	* fileman.c (verify_files): Implement.

	* gpgmetools.h, gpgmetools.c (gpa_gpgme_data_new_from_file): New
	function.

	* encryptdlg.c (encrypt_file): Use gpa_gpgme_data_new_from_file.
	* server_access.c (server_get_key): Likewise.
	* keyring.c (keyring_editor_import): Likewise.
	* fileman.c (decrypt_files): Likewise.
	* filesigndlg.c (sign_files): Likewise.

	* fileman.c (decrypt_files): Fix "typo" in error message.

2002-10-12  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpawizard.c (gpa_wizard_new, gpa_wizard_append_page): Use g_free()
	instead of free().

	* filesigndlg.c: Don't include passphrasedlg.h.
	* fileman.c: Likewise.
	* expirydlg.c: Likewise.

	* Makefile.am (gpa_SOURCES): Removed passphrasedlg.c, passphrasedlg.h.

	* passphrasedlg.c, passphrasedlg.h: Removed files.

	* gpa.h, gpa.c: Removed global_lastCallbackResult.

	* keyring.c: Don't include gpgpa.h.
	* siglist.c: Likewise.
	* keyimpseldlg.c: Likewise.
	* keyexportdlg.c: Likewise.
	* keyimportdlg.c: Likewise.
	* keyeditdlg.c: Likewise.
	* gpapastrings.c: Likewise.

	* gpapastrings.c, gpapastrings.h (gpa_ownertrust_from_string)
	(gpa_ownertrust_icon_name): Fix prototype.
	(gpa_file_status_string)
	(gpa_sig_validity_string): Removed.

	* filesigndlg.c: Likewise.
	* gpa.c: Likewise.
	* encryptdlg.c: Likewise.
	* gpapastrings.h: Likewise.
	* gpa.h: Likewise.

	* siglist.c (gpa_siglist_set_signatures): Disable until port to gpgme.

	* keyimpseldlg.c (key_import_selection_do_import): Disable imports
	from here until there is a way to search keys again.

	* Makefile.am (gpa_SOURCES): Removed filemenu.{c,h}, keysmenu.{c,h},
	gpapa.h and dummy_gpapa.c.

	* optionsmenu.c (add_key): Fix warning.

	* gpa.c, gpa.h (gpa_callback, gpa_get_global_clist_file, sigs_append)
	(compareInts, gpa_selectRecipient, gpa_unselectRecipient)
	(gpa_removeRecipients, gpa_addRecipient, gpa_addRecipients)
	(freeRowData, gpa_recipientWindow_close): Removed obsolete.
	* optionsmenu.c (options_recipients_fillDefault)
	(options_recipients_set, options_recipients_destroy)
	(options_recipients): Ditto.
	* filemenu.c, filemenu.h, keysmenu.c, keysmenu.h, gpapa.h,
	dummy_gpapa.c: Likewise for the whole files.

	* ownertrustdlg.c (gpa_ownertrust_run_dialog): Use a gpa_key_info
	instead of a gpa_tableKey.

	* fileman.c (fileman_menu_new): Use gtk_main_quit() directly for
	the quit menu entry.
	* keyring.c (keyring_editor_menubar_new): Likewise.

	* keyring.c (keyring_editor_export): Use gpa_fopen.

	* fileman.c (decrypt_files): Implemented using Gpgme.
	(show_file_detail): Removed.
	(verify_files): New. Empty for now.
	(toolbar_file_verify, fileman_menu_new): Use verify_files instead
	of show_file_detail.
	(encrypt_files): Free the list of files.
	(gpa_window_file_new, add_file): Set the file list to have
	just one column, the filename, as the other one left was useless.

	* filesigndlg.c (open_destination_file): Make sure there is proper
	cleanup on error. Use gpa_fopen.
	* encryptdlg.c (open_destination_file): Likewise.

	* gpgmetools.h, gpgmetools.c (gpa_fopen): New function.

	* gpafile.h, gpafile.c: Removed obsolete files.

2002-10-11  Miguel Coca  <e970095@zipi.fi.upm.es>

	* server_access.c (error_string): Added KEYSERVER_UNREACHABLE error
	code.

	* gpgmeedit.c (edit_fnc, edit_expire_fnc_action)
	(edit_expire_fnc_transit, edit_trust_fnc_action)
	(edit_trust_fnc_transit, edit_sign_fnc_action)
	(edit_sign_fnc_transit, gpa_gpgme_edit_trust)
	(gpa_gpgme_edit_sign, gpa_gpgme_edit_expire): Rebuilt key editing to
	follow a more consistent model. Use the same edit callback, with
	different data, for all operations. Hopefully this will make it easier
	to understand and write new operations.

	* gpgmeedit.h, gpgmeedit.c (gpa_gpgme_edit_trust)
	(gpa_gpgme_edit_expire)
	(gpa_gpgme_edit_ownertrust)
	(gpa_gpgme_edit_expiry): Renamed functions to match the edit commands.

	* keyeditdlg.c (key_edit_change_trust, key_edit_change_expiry): Use
	new names for edit operations.

2002-10-09  Miguel Coca  <e970095@zipi.fi.upm.es>

	* encryptdlg.c: Ported the dialog to Gpgme and a GtkDialog. Major
	changes. Support for sign & encrypt as soon as some way to choose the
	signing key is provided by the GUI.

	* fileman.c (sign_files, encrypt_files): Use g_free() instead of
	free().

	* filesigndlg.c (sign_files): Only set the signer once for each group
	of files. Other minor fixes.

2002-10-03  Miguel Coca  <e970095@zipi.fi.upm.es>

	* fileman.c (count_sigs, free_file_info, attach_file),
	(get_file): Removed obsolete.
	(get_selected_files, add_file, show_file_detail, sign_files)
	(gpa_window_file_new): Change to use Gpgme.

	* filesigndlg.c: Ported dialog to Gpgme. Use a GtkDialog.

	* gpawidget.h, gpawidgets.c (gpa_key_list_new, gpa_key_list_add_key)
	(gpa_secret_key_list_new, gpa_public_key_list_new): Port to Gpgme.
	(gpa_key_list_new_from_glist): Disable. Unused at the moment.

	* encryptdlg.c (gpa_file_encrypt_dialog_run): Fix call to
	gpa_public_key_list_new.

	* keyring.c (isdir): Remove obsolote.

2002-09-28  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (add_details_row): Use GtkLabel's always. Change alignment
	of labels, so that we can have multiline fields.
	(keyring_details_notebook): Add scrollbars. Make User names and
	Key ID's scrollable.
	(keyring_details_page_fill_key): Show all user ID's.
	(keyring_editor_new): Increase default height of the details area.

	* gpgmetools.c, gpgmetools.h (gpa_gpgme_key_get_short_keyid): Added
	const qualifier.

	* keylist.c (get_identifier_value): Always display short key ID's.
	* keyexportdlg.c (key_backup_dialog_run): Likewise.
	* keyeditdlg.c (gpa_key_edit_dialog_run): Likewise.
	* gpawidgets.c (gpa_key_info_new): Likewise.
	* keysmenu.c (gpa_tableKey_new): Likewise.
	* keyring.c (keyring_details_page_fill_key)
	(keyring_update_status_bar): Likewise.

2002-09-27  Miguel Coca  <e970095@zipi.fi.upm.es>

	* server_access.c: Copied error codes from gnupg code.
	(parse_helper_output): New function.
	(invoke_helper): Try to parse the helper output if it returned and
	error code.
	(server_send_keys): Remove placeholder code.

	* keyring.c (keyring_editor_export): Minor fixes.

2002-09-24  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmetools.h, gpgmetools.c (gpa_gpgme_key_get_short_keyid): New
	function.

	* keyring.c (keyring_editor_import, keyring_editor_export): Add
	keyserver support.

	* server_access.c, server_access.h: New files with the implementation
	of all calls to the keyserver helpers.

	* Makefile.am (gpa_SOURCES): Added server_access.{c,h}.

2002-09-17  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keytable.c (keytable_fill): Make the progress bar move faster.

2002-09-13  Werner Koch  <wk@gnupg.org>

	* keytable.c (keytable_fill): Update progressbar only every 10 keys.

2002-09-12  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmeedit.c (gpa_gpgme_edit_ownertrust, gpa_gpgme_edit_expiry)
	(gpa_gpgme_edit_sign): Fix error reporting: always report errors to
	the caller.

	* keyring.c (keyring_details_page_fill_key): Display the
	fingerprint in a proper format (using
	gpa_gpgme_key_get_fingerprint).
	* keysigndlg.c (gpa_key_sign_run_dialog): Likewise.

	* gpgmetools.c (gpa_gpgme_key_get_userid): A bit of cleaning up.
	(gpa_gpgme_key_get_fingerprint): New function. Based on GPAPA code.

	* gpgmeedit.c (edit_sign_fnc): Ignore "bad passphrase" status
	lines. This solves the problem where a wrong passphrase terminated
	GPA.

2002-09-11  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmeedit.c (edit_sign_fnc_action, edit_sign_fnc_transit)
	(edit_sign_fnc): Use an enum for the state names. Minor fixes.

	* gpgmetools.c, gpgmetools.h, gpgmeedit.c, gpgmeedit.h: Moved the
	wrappers around gpgme_op_edit and related functions to the new
	files gpgmeedit.{c,h}
	(gpa_gpgme_key_get_userid): Return NULL if
	gpgme_key_key_string_attr does.

	* gpgmetools.c, gpgmetools.h (gpa_gpgme_key_get_userid): New
	function, returns the User ID's of a key, always in UTF-8.

	* optionsmenu.c (add_key): Get the user ID's with
	gpa_gpgme_key_get_userid, so that it is always in UTF-8.
	* keysmenu.c (gpa_tableKey_new): Likewise.
	* keysigndlg.c (gpa_key_sign_run_dialog): Likewise.
	* keyring.c (keyring_details_page_fill_key)
	(keyring_update_status_bar): Likewise.
	* keylist.c (get_name_value): Likewise.
	* keyeditdlg.c (gpa_key_edit_dialog_run): Likewise.
	* gpawidgets.c (gpa_key_info_new): Likewise.

	* Makefile.am (gpa_SOURCES): Added gpgmeedit.{c,h} files.

	* keyeditdlg.c (key_edit_change_expiry): Report an error if a wrong
	passphrase was provided.

2002-09-04  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keytable.c (keytable_fill): Display a dialog indicating that the
	keyring is being read.

2002-08-31  Miguel Coca  <e970095@zipi.fi.upm.es>

	* expirydlg.c (expiry_cancel, expiry_destroy): Removed.
	(expiry_ok): Modify not to be a callback.
	(gpa_expiry_dialog_run): Use a GtkDialog.

	* ownertrustdlg.c (ownertrust_cancel, ownertrust_destroy)
	(ownertrust_ok): Remove functions.
	(gpa_ownertrust_run_dialog): Use a GtkDialog.

	* gtktools.c (gpa_window_message): Use a GtkDialog.
	(gpa_window_error): Fixed border widths.

2002-08-30  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmetools.c (gpa_gpgme_edit_sign): Fix reference count for the key.

	* keyexportdlg.c (key_export_dialog_run, key_backup_dialog_run): Minor
	UI fixes (dialog border width).
	* keyimportdlg.c (key_import_dialog_run): Likewise.

	* keyeditdlg.c (key_edit_close, key_edit_destroy): Removed.
	(gpa_key_edit_dialog_run): Use a GtkDialog.

2002-08-29  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keydeletedlg.c (confirm_delete_secret): Make "No" the default reply
	to the dialog.

2002-08-28  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmetools.c (find_gpg_executable): New function.
	(parse_engine_info_text, parse_engine_info_end)
	(parse_engine_info_start): Helper functions for a GLib XML parser.

	* keyexportdlg.c (key_backup_dialog_run): Ask for a file, not a dir.
	Give the focus to the entry, and close when enter is pressed on it.
	Give a sane default value to the filename.
	(key_export_dialog_run): Connect pressing enter on the filename entry
	with the OK button.

	* keyring.c (keyring_editor_backup): Backup to a file, not to a
	directory.

	* gpgmetools.c (gpa_backup_key): New function.

2002-08-27  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keydeletedlg.c (confirm_delete_secret): New function.
	(gpa_delete_dialog_run): Emit an extra warning if a secret key is to
	be removed.

	* keyexportdlg.c (export_destroy, export_cancel): Removed.
	(secret_key_export_dialog_run): Removed. We don't support exporting
	secret keys anymore.
	(key_export_dialog_run, key_backup_dialog_run): Use GtkDialog.
	(key_export_dialog_run): Armor by default, even when in advanced ui
	mode.

2002-08-26  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_editor_import): Implement importing keys from
	the clipboard. Uses a GtkClipboard, so it should work on both X
	and Win32. Don't abort if the import found no data.
	(keyring_editor_export): Implement export to clipboard.

	* gpgmetools.c (fill_data_from_clipboard)
	(dump_data_to_clipboard): New function.

	* keyimportdlg.c (import_destroy, import_cancel): Removed.
	(key_import_dialog_run): Use a GtkDialog.

	* gpgmetools.c (passphrase_question_label): Add empty line between
	question and key.
	(gpa_passphrase_cb): Added question icon.

	* gtktools.c (gpa_window_error): Add error icon.

	* gpgmetools.c (_gpa_gpgme_error): Use gpa_window_error.

	* gtktools.c (gpa_window_error): Use a GtkDialog.

	* keysigndlg.c (gpa_key_sign_run_dialog): Increase the width of the
	border of the dialog. Make "Yes" the default action.

	* keydeletedlg.c (delete_ok, delete_cancel, delete_destroy): Removed.
	A GtkDialog does not need callbacks.
	(gpa_delete_dialog_run): Use a GtkDialog.

2002-08-24  Miguel Coca  <e970095@zipi.fi.upm.es>

	* optionsmenu.c (add_key, options_key): Use the fingerprint
	instead of the key ID. This is a a bit of a kludge to make it work.

	* gpgmetools.c (edit_sign_fnc_transit, edit_sign_fnc_action): Correctly
	detect when a key has expired.

2002-08-23  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keysigndlg.c (gpa_key_sign_run_dialog): Change to use a GtkDialog.
	(key_sign_cancel, key_sign_ok, key_sign_destroy): Deleted
	functions, as the dialog does not need them.
	(gpa_key_sign_run_dialog): Display all user ID's. Warn that all of
	them will be signed. Use "user name" instead of "user id" on
	screen.

2002-08-22  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmetools.c (edit_sign_fnc, gpa_gpgme_edit_sign)
	(edit_sign_fnc_action): New funtions.

	* keyring.c (keyring_editor_sign): Reimplement with gpgme.

	* keysigndlg.c (key_sign_ok): Remove passphrase stuff.
	(gpa_key_sign_run_dialog): Port to gpgme. Remove unneeded
	parameters and change the sign_type to just say whether the key
	should be signed locally.

2002-08-21  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmetools.c (_gpa_gpgme_error): Changed "OK" button to "Close".

	* fileman.c: Reordered includes to avoid warnings. Kludge to avoid
	a bug in GLib.
	* gpa.c: Likewise.
	* gpafilesel.c: Likewise.
	* gpapa.h: Likewise.
	* gpapastrings.c: Likewise.
	* gpapastrings.h: Likewise.
	* gpawidgets.c: Likewise.
	* gtktools.c: Likewise.
	* helpmenu.c: Likewise.
	* icons.c: Likewise.
	* keyeditdlg.c: Likewise.
	* keyexportdlg.c: Likewise.
	* keyimportdlg.c: Likewise.
	* keyring.c: Likewise.
	* keyserver.c: Likewise.
	* optionsmenu.c: Likewise.
	* siglist.c: Likewise.

	* gpapastrings.c (gpa_unit_expiry_time_string): Renamed index
	argument to idx.

	* gpa.c (gpa_determine_default_key): Fixed bug when the secret keyring
	was empty.
	(gpa_set_default_key): Only save the default key if there is one.

	* gpgmetools.h, gpgmetools.c (gpa_gpgme_error, _gpa_gpgme_error):
	Turned the error reporting function into a macro. Report also the file
	and line it was invoked from.

	* keyring.c (keyring_editor_export): Cleaned up a bit, removing old
	GPAPA code.
	(keyring_editor_import): Don't expect EOF from gpgme. It's no longer
	emited.
	(keyring_editor_current_key): Change declaration of disabled function
	for gpgme.
	(keyring_editor_backup): Disable function until key backup is
	implemented.

2002-08-20  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpgmetools.c (gpa_gpgme_edit_ownertrust, edit_ownertrust_fnc):
	Implemented editing ownertrust values.

	* keyeditdlg.c (key_edit_change_expiry): Account for cancelled
	operations.
	(key_edit_change_trust): No need to worry about passphrase errors.
	Reload keys after editing.

	* gpgmetools.c (gpa_passphrase_cb): Got the cancel button working.

2002-08-19  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_editor_import): Fix to behave properly when gpgme
	returns EOF error code. Clean up code.

	* keytable.c (gpa_keytable_load_key): New function.

	* gpgmetools.c (edit_expiry_fnc, gpa_gpgme_edit_expiry):
	Implemented changing the expiry date of a key.
	(gpa_passphrase_cb):  Remove the cancel button, since it does nothing.
	Make the question understandable.
	(passphrase_question_label): New function.

	* keyeditdlg.c (key_edit_change_expiry)
	(key_edit_change_trust): Don't terminate on a bad passphrase.

2002-08-18  Miguel Coca  <e970095@zipi.fi.upm.es>

	* expirydlg.c (GPAExpiryDialog, gpa_expiry_dialog_run): Port to gpgme.
	(expiry_ok): Don't ask for the passphrase here. That's gpgme's job.

	* keyeditdlg.c (key_edit_change_expiry): Port to gpgme.

	* keysmenu.c (gpa_tableKey_new): Port to gpgme.

	* ownertrustdlg.c (GPAOwnertrustDialog, ownertrust_ok)
	(gpa_ownertrust_run_dialog): Port to gpgme.

	* gpgmetools.c (gpa_gpgme_edit_ownertrust)
	(gpa_gpgme_edit_expiry): New (empty) functions.

	* keyeditdlg.c (key_edit_change_trust): Change to use gpgme.

	* gpa.c (main): Set the passphrase callback.

	* gpgmetools.c, gpgmetools.h (gpa_passphrase_cb): New function.

	* keylist.c (get_expirydate_value): Use new gpa_*_date_string
	functions.
	* keyring.c (keyring_details_page_fill_key): Likewise.
	* keyeditdlg.c (key_edit_change_expiry): Likewise.
	* gpawidgets.c (gpa_expiry_frame_new, gpa_expiry_frame_at): Likewise.

	* gpapastrings.c (gpa_expiry_date_string): Change to receive the
	expiration time instead of a GDate.
	(gpa_creation_date_string): Likewise.

	* keyeditdlg.c: Rename all key_id variables as fpr, since now they
	represent the key's fingerprint.
	(gpa_key_edit_dialog_run): Port to GPGME.


2002-08-17  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_editor_generate_key_simple)
	(keyring_editor_generate_key_advanced): Reload the keytable after
	generating a key.

	* keygendlg.c (gpa_key_gen_run_dialog): Use the new algorithm enums.

	* gpapastrings.c, gpgmetools.c: Moved the algorithm string
	functions, and fixed them for the new enums.

	* gtktools.c, gtktools.h (gpa_window_error): Added const qualifier
	to the error message.

	* keyring.c (keyring_editor_generate_key_advanced): Port to GPGME.

	* keygenwizard.c (GPAKeyGenWizard): Remove the members related to
	GPAPA.
	(gpa_keygen_generate_key): Removed.
	(gpa_keygen_wizard_generate_action): Change to use
	gpa_generate_key and a GPAKeyGenParmeters struct instead of gpapa.
	(string_strip_dup): Use GLib.

	* gpgmetools.c (gpa_generate_key)
	(build_genkey_parms): New functions.

	* keygendlg.c, gpgmetools.c (gpa_key_gen_free_parameters)
	(key_gen_params_new): Moved functions to where they can be used by
	other files.

	* keygendlg.h, gpgmetools.h: Moved the GPAKeyGenParameters
	definition and related functions to gpgmetools.h and changed the
	fields that depended on GPAPA.

2002-08-16  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keysmenu.c, keysmenu.h (keys_openSecret)
	(keys_generateRevocation)
	(keys_import)
	(keys_importOwnertrust)
	(keys_updateTrust)
	(keys_openPublic_export_export_exec)
	(keys_openPublic_export_export)
	(keys_export_dialog)
	(keys_openPublic_send_key)
	(keys_openPublic_send)
	(keys_openPublic_exportTrust_export)
	(keys_openSecret_export_export)
	(keys_openSecret_delete)
	(keys_openSecret_revocation)
	(keys_openSecret_editKey_close)
	(keys_openSecret_editKey)
	(keys_openSecret_evalMouse)
	(keys_openSecret)
	(keys_generateRevocation_generate_exec)
	(keys_generateRevocation_generate)
	(keys_generateRevocation)
	(keys_import_ok)
	(keys_import)
	(keys_importOwnertrust_ok)
	(keys_importOwnertrust)
	(keys_updateTrust)
	(gpa_frameExpire_dont)
	(gpa_frameExpire_after)
	(gpa_frameExpire_at)
	(gpa_frameExpire_new): Removed obsolete functions.

	* passphrasedlg.c (gpa_passphrase_run_dialog): In dialogs, set the
	button ordering to [OK] [Cancel] in all cases.
	* ownertrustdlg.c (gpa_ownertrust_run_dialog): Likewise.
	* keyreceivedlg.c (key_receive_run_dialog): Likewise.
	* keyimpseldlg.c (gpa_key_import_selection_dialog_run): Likewise.
	* keyimportdlg.c (key_import_dialog_run): Likewise.
	* keyexportdlg.c (key_export_dialog_run)
	(secret_key_export_dialog_run, key_backup_dialog_run): Likewise.
	* filesigndlg.c (gpa_file_sign_dialog_run): Likewise.
	* encryptdlg.c (gpa_file_encrypt_dialog_run): Likewise.

	* keyring.c (keyring_editor_import): Reload the keytable after
	importing keys.

2002-08-14  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_editor_menubar_new): Remove commented out
	menu entries.

2002-08-13  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_editor_can_sign): Use the keytable instead of
	gpapa.
	(key_has_been_signed): Disable function until it can be
	implemented with gpgme.

	* gtktools.c, gpgmetools.c (gpa_gpgme_error): Move function to
	gpgmetools.c

2002-08-12  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_editor_export_secret)
	(keyring_editor_menubar_new): Removed the option to export secret
	keys.

2002-08-11  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_editor_export): Use a function in
	gpgmetools.c to dump the data to a file.
	(keyring_editor_import): Import keys from files using gpgme.

	* Makefile.am (gpa_SOURCES): Added new files.

	* gpgmetools.h, gpgmetools.c: New files.

2002-08-10  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpapastrings.h: Include gpgme.h

	* Makefile.am (gpa_SOURCES): Added new file.

	* gpapa.h: New file. All gpapa headers combined in one file that
	can be used to compile GPA during the migration without any
	problems.

	* Makefile.am (INCLUDES): Removed gpapa directory.

2002-08-09  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_editor_export): Export keys to a file using
	gpgme.

	* gpawidgets.c (gpa_key_info_new): Port to GPGME.

	* keydeletedlg.c (gpa_delete_dialog_run): Use GPGME instead of
	GPAPA.

	* keyring.c (keyring_editor_delete): Port to gpgme. Just delete
	the selected keys from the clist and the keytable, but don't
	reload anything else. Doesn't work right now, because of a known
	bug in gpgme.

	* keytable.c (gpa_keytable_remove): New function.

2002-08-08  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpa.c (main): Changed the default value of gpa_options.homedir
	on Unix. The metacharacter '~' is interpreted by the shell, not by
	libc, so we read the HOME environmental variable ourselves.

	* optionsmenu.c (add_key): New function.
	(options_key): Iterate over the keyring using the keytable
	_foreach function instead of gpapa.

	* keyring.c (keyring_editor_mapped): Change to use the keytable
	instead of gpgme.
	(keyring_signatures_page_fill_key): Disabled for now.

	* keytable.c (gpa_keytable_size, gpa_keytable_secret_size): New
	functions.

	* keylist.c (get_key_type_pixmap_value): Fixed to properly detect
	secret keys.

	* keytable.c (keytable_fill, keytable_empty, gpa_keytable_new)
	(gpa_keytable_reload, gpa_keytable_secret_lookup)
	(gpa_keytable_secret_foreach, gpa_keytable_destroy): Added the
	secret keyring to the keytable.

	* keyring.c (idle_update_details): Port to gpgme.
	(keyring_details_page_fill_key): Remove secret key argument. Port
	to GPGME, minus checking for a secret key.

	* keylist.c (gpa_keylist_set_column_defs, keylist_fill_list)
	(gpa_keylist_new): Added calls to sort the CList according to the
	user name. Use g_malloc and g_free.

	* keyeditdlg.c (gpa_key_edit_dialog_run, key_edit_change_trust),
	ownertrustdlg.c (gpa_ownertrust_run_dialog),
	keyring.c (keyring_details_page_fill_key): Replace string functions.

	* gpapastrings.c, gpapastrings.h
	(gpa_keytrust_string, gpa_ownertrust_string, gpa_trust_string)
	(gpa_ownertrust_from_string): Merged the trust strings fuctions
	and arrays, since gpgme does not have different values for key
	trust and owner trust.

	* keylist.c (gpa_keylist_current_key): Ported to use gpgme and the
	keytable.

2002-08-06  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keylist.c (keylist_fill_list): Ported to gpgme. Use a foreach on
	the key table for iterating over the keys. Removed the
	keep_selection argument, since it was always called as true, and
	would be needed in the new keylist_fill_row too.
	(keylist_fill_row): Ported to gpgme. Now it's a callback for a
	foreach iteration on a GpaKeyTable. Use fingerprints instead of
	key ID's as the row data.
	(get_name_value): Return the whole UserID, not just the name.
	(get_expirydate_value): Fix the label for keys that don't expire.

2002-08-05  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keylist.c (get_name_value, get_trust_value, get_ownertrust_value)
	(get_identifier_value, get_key_type_pixmap_value): Ported to use GPGME.

	* gpa.c (main): Remove commented out code.

	* keytable.c (keytable_fill): Check for errors in gpgme.

	* gpa.c (gpa_determine_default_key, main): Add proper error
	checking for gpgme.

	* gtktools.c, gtktools.h (gpa_gpgme_error): New function for
	reporting unexpected (and therefore fatal) errors in GPGME.

	* gpa.h (IS_DEVELOPMENT_VERSION): Define macro.

2002-08-04  Miguel Coca  <e970095@zipi.fi.upm.es>

	* keyring.c (keyring_update_status_bar): Use gpgme to read the
	default key attributes.

	* keylist.c, keylist.h (gpa_keylist_new): Use g_malloc instead of
	xmalloc.

	* keyring.c (keyring_editor_new): Use g_malloc instead of xmalloc.

	* gpa.c, gpa.h : Added keytable and ctx global variables.

	* gpa.c (main): Create a keytable here.

	* keytable.h, keytable.c: New files. They implement a hash table
	of all the keys in the keyring that can be accessed by fingerprint
	or by iterating over it.

	* gpa.c, gpa.h (main): Add creation of a GpgmeCtx for use by the
	rest of the program.
	(gpa_determine_default_key): Port to gpgme.

	* gpa.h: Include gpgme.h.

	* Makefile.am (LDADD): Removed gpapa.
	(gpa_SOURCES): Added dummy_gpapa.c

	* dummy_gpapa.c: New file. Just a dummy gpapa to assist during the
	migration.

2002-08-02  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpa.c (main): Use GLib to find out where the gpa executable
	resides, instead of walking the pathname ourselves.
	(search_config_file): Use different search order for Unix and
	Windows. We should never use the executable path on Unix. Use
	standard GLib functions. This does not fix the fact that if a
	GPA_DATADIR/gpa.conf (i.e. /usr/local/share/gpa/gpa.conf) file
	exists, gpa will try to write to it to remember options.

2002-07-31  Miguel Coca  <e970095@zipi.fi.upm.es>

	* folder1.xpm, folder2.xpm, harddisk1.xpm, harddisk2.xpm,
	harddisk3.xpm, open_folder1.xpm, open_folder2.xpm: Removed unused
	icons. They were drafts of the final icons and should never have
	been included.

	* helpmenu.c (help_warranty): Changed the position of the cursor
	in the GPL editable to a value less dependent on the length of
	license text.

	* gpa_license.c: Use the license in English, since it's the only
	authoritative one.

2002-07-30  Miguel Coca  <e970095@zipi.fi.upm.es>

	* gpawidgets.c (gpa_key_list_new, gpa_secret_key_list_new)
	(gpa_public_key_list_new, gpa_key_list_new_from_glist): Move the
	repeated code for creating the CList to a new gpa_key_list_new
	function. Changed the others to use it.

	* filemenu.c (file_sign_sign_exec): Remove unused function.

2002-07-29  Werner Koch  <wk@gnupg.org>

	* Makefile.am (LDADD): Don't hardcode libs but take them all from
	configure.

2002-02-25  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* gpafilesel.c (gpa_file_selection_dir_expand): Account for the
	use of UTF8 for filenames.
	Include io.h just when compiling for Windows.
	(correct_parent): Fix to compile under non-Windows OS's.

	* gpafilesel.h (gpa_file_selection_get_filename): Change return type
	to const gchar*.

	* keygenwizard.c: Include errno.h.

	* keyring.c: Include errno.h.
	(keyring_editor_import): Use different ways to import keys
	depending on whether we are using HKP or gpg --recv-keys.

2002-02-24  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* Makefile.am (gpa_SOURCES): Added keyimpseldlg.c and keyimpseldlg.h.

	* encrypt.xpm, verify.xpm: New icons.

	* fileman.c (show_file_detail): Changed all the references to
	"detail view" to "verify signature" in messages.
	(toolbar_file_verify): New function.
	(gpa_fileman_toolbar_new): Added "verify" button.

	* filesigndlg.c: Small formatting changes.

	* gpafilesel.c: Fixes to comments and spelling.

	* gpawidgets.c (gpa_secret_key_list_new, gpa_public_key_list_new):
	Swapped column titles. Changed default widths.
	(gpa_key_list_new_from_glist): New function.

	* gpawidgets.h: Added "extern" to declarations. Adde
	gpa_key_list_new_from_glist function.

	* gtktools.c (gpa_window_error): Remove call to gettext for the
	error message. Was not needed.

	* icons.c (xpms): Added verify_xpm to the list.

	* keyimpseldlg.h, keyimpseldlg.c: New files. A new "key import
	selection dialog" which shows the result of a key search on the
	server and letws the user import them.

	* keyring.c: Formatting changes all over.
	(keyring_editor_import): Use the key import selection dialog when
	the search returns more than one result.

	* keysmenu.c (keys_generateRevocation): Swapped column titles.
	Changed default widths.

	* optionsmenu.c (options_recipients_set)
	(options_recipients)
	(options_key_select)
	(options_key): Swapped column titles. Changed default widths.

2002-02-22  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* Makefile.am (gpa_SOURCES): Added gpa.rc

	* fileman.c (fileman_menu_new): Renamed "Show Detail" menu item to
	"Check".

	* filesigndlg.c (gpa_file_sign_dialog_run): Renamed "copy and add
	signature" button to "cleartext signature". Cleaned the code for
	the creation of the different radio buttons a bit.

	* gpa.rc: New MS-Windows resource file, which adds a custom icon
	to GPA.

	* gpa.c (cmd_and_opt_values, opts, main): Added new option,
	default-key.
	(opts): Changed description of --advanced-ui.
	(gpa_set_default_key): Save the default key to the config file.

2002-02-21  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* filemenu.c, filesigndlg.c: Reformatted to completely comply with
	the GNU Coding Standards.

	* filemenu.c (file_sign_sign_exec): Choose the filename for the
	dettached signature here, and not in gpapa.

	* filesigndlg.c (file_sign_do_sign): Choose the filename for the
	dettached signature here, and not in gpapa.
	(file_sign_ok): If on simplified mode, assume the user wants armor
	on non dettached signature, and doesn't want it on dettached ones.
	(gpa_file_sign_dialog_run): Remove the armor option for simplified
	mode. Don't offer to compress the signed file when in simplified
	mode.

2002-02-20  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* helpmenu.c (help_warranty): Account for the different length of
	the license in german.

2002-02-19  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* Makefile.am (LDADD): Added two win32 specific libraries.

	* gtkhacks.h: New file, contains some definitions to work around
	incompatibilities between GTK+ 1.2 and 2.0.

	* fileman.c (show_file_detail): Use the new compatibility
	functions defined in gtkhacks.h.
	(gpa_fileman_toolbar_new): Allow compilation under both GTK 1.2
	and 2.0.

	* filemenu.c (file_encrypt_detail): Use the new compatibility
	functions defined in gtkhacks.h.

	* gpa.c (gpa_default_key_changed_marshal)
	(gpa_create_default_key_signal): Enabled when compiling for GTK+
	1.2, disabled for 2.0.
	(dummy_log_func): New empty function.
	(main): Disabled Glib/Gdk/Gtk error logging under all platforms to
	keep MS-Windows from opening a console.

	* gpa.h: Include the new gtkhacks.h. Define mkdir() and S_ISDIR
	macros for win32.

	* gpalicense.c, gpalicense.h: Cosmetic changes to the comments,
	and added separated license texts for english and german. The
	german text is used by default.

	* gpafilesel.c, gpafilesel.h: Large changes for compatibility
	between GTK+ versions.

	* i18n.h: Removed "const" from gettext declaration.

	* keyexportdlg.c (key_backup_dialog_run): Removed unused variable.

	* keyring.c (keyring_editor_backup): Changed the type of some
	variables to remove some warnings.
	(keyring_editor_menubar_new): Removed unused variable.
	(keyring_toolbar_new): Added some conditional compilation to allow
	it to work with both GTK+ 1.2 and 2.0.

	* keysmenu.c (gpa_tableKey_new): Use the new compatibility
	functions defined in gtkhacks.h.

	* optionsmenu.c: Removed everything related to the "default
	recipients" menu item, to avoid confusing new users.

	* simple-gettext.c (set_gettext_file): Return 0 instead of NULL,
	since the function returns "int".

2002-02-15  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* keyring.c (keyring_editor_menubar_new): Added "Delete Keys" menu
	item.

2002-02-14  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* fileman.c: Reformatted to completely comply with the GNU
	Coding Standards.
	(add_file): Display filenames in UTF8.

	* gpa.c (keyservers_configname)
	(main): Find out the file where keyserver list using the new
	search_config_file(). Changed the order in which config files are
	read.
	(search_config_file): Fixed broken g_strconcat calls.

	* gpafilesel.c (read_directory): Display the directory names using
	UTF8.

	* gtktools.c (gpa_window_error): i18n the message string.

	* keyexportdlg.c (export_browse)
	(export_ok)
	keyimportdlg.c (import_browse)
	(import_ok): Display filenames in UTF8.

	* keyring.c (keyring_editor_backup): Only write to disk that we've
	generated the backup (for later sessions) if the action was not
	cancelled.

	* keyserver.c (serverlist): Initialize as NULL.
	(read_list): Changed to assume we receive the full pathname to the
	keyserver file. Commented out error messages.

2002-02-13  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* gpa.c, keylist.c: Reformatted to completely comply with the GNU
	Coding Standards.

	* gpa.c (gpa_homedir): New global variable. Contains the directory
	where the gpa executable is installed.
	(search_config_file): New funtion to search for config
	files in a series of typical locations.
	(main) Set the gpa_homedir variable by manipulating argv[0]. Use
	search_config_file. Delayed reading the gtkrc until we know the
	GnuPG homedir.

	* keygenwizard.c (gpa_keygen_wizard_backup_dir_action): Create the
	backup directory if needed.
	(gpa_keygen_wizard_generate_action): Save whether the key backup
	was generated to the config file.

	* keylist.c (keylist_fill_list): Added checks to verify that every
	secret key has a corresponding public key in the keyring.

2002-02-11  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* keyring.c (keyring_editor_backup): Test for the directory the user
	provided, and create it if it doesn't exist.

	* optionsmenu.c (gpa_options_menu_add_to_factory): Disabled
	"Default Recipients" menu item.

	* gpafilesel.c: Extensive changes to the way directories are
	handled. Now the directory list is a tree that expands as the user
	navigates the filesystem.

2002-02-10  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* Makefile.am (LDADD): Added -lm and -lz to the hardcoded libraries.
	(gpa_SOURCES): Added qdchkpwd.c and qdchkpwd.h to the list.

	* qdchkpwd.c, qdchkpwd.h: New files. They contain a "Quick and
	Dirty CHecK for PassWorDs", based on the zlib library.

	* gpa.h: Some code cleaning.

	* gpa.c, icons.c, keyserver.c, keyring.c: Fixed debug output.

	* keyeditdlg.c, keyexportdlg.c, keyserver.c, keygenwizard.c,
	keyring.c, gpawizard.h: Reformatted to completely comply with the
	GNU Coding Standards.

	* fileman.c, filemenu.c, gpawidgets.c: Use the GTK+ 2.0 API for
	finding out the right width for GtkEntry's.

	* keyserver.h, keyserver.c (keyserver_get_current): Added new
	argument that requests that the returned value never be NULL.

	* keyexportdlg.c, keyimportdlg.c, keysmenu.c, optionsmenu.c: Use
	new keyserver_get_current().

	* gpa.h, gpa.c (gpa_backup_generated)
	(gpa_set_backup_generated)
	(gpa_remember_backup_generated): New functions for implementing
	new option "backup_generated".

	* gpa.c (cmd_and_opt_values)
	(opts)
	(main): Added oBackupGenerated option. It signals whether the
	user should be warned to generate a backup of his private key.

	* gpafilesel.c (gpa_file_selection_init): Changed "Open" button to
        read "Ok".
	(gpa_file_selection_dir_button)
	(gpa_file_selection_populate): Removed some debug output, other
	fixes.

	* gpawizard.c (gpa_wizard_update_buttons): Disable all buttons
	when in the "wait" page. So, we explicitly enable the "Close"
	button when we reach the last page.

	* helpmenu.c (about_dialog_timer): Fixed wrong call to
	gdk_draw_string.
	(help_about): Added G-N-U GmbH copyright notice and other
	documentation. Changed the way the text widths are calculated.
	(gpa_help_menu_add_to_factory): Renamed help menu to "Info".

	* keyexportdlg.c (export_ok): Cleaned up code a bit, reordered if
	conditions (in preparation for adding export to clipboard).

	* keyexportdlg.c, keyexportdlg.h (secret_key_export_dialog_run)
	(key_backup_dialog_run): New dialogues. First exports secret keys,
	and the second makes a backup of the user's keys.

	* keygenwizard.c (gpa_keygen_wizard_password_validate): Added
	check of the strength of the passphrase, using the new qdchkpwd.

	* keyimportdlg.c (import_ok): Cleaned up code a bit, reordered if
	conditions (in preparation for adding import to clipboard).

	* keyring.c (keyring_editor_sign)
	(keyring_editor_import)
	(keyring_editor_export)
	(keyring_editor_export_secret)
	(keyring_editor_backup): Added prototypes.
	(keyring_editor_import): Added support for import from the
	clipboard.
	(keyring_editor_export): Export to clipboard.
	(keyring_editor_export_secret)
	(isdir)
	(keyring_editor_backup): New functions.
	(keyring_editor_mapped): Reordered "if" conditions for speed.
	Enabled key backups.
	(keyring_editor_menubar_new): Changed the various menu items to
	use the keyring_editor_* functions instead of the toolbar ones.
	Added some code, but disabled it (doesn't work).
	(export_secret_key): Removed function.

	* keysmenu.c (gpa_tableKey_new)
	(gpa_frameExpire_new): Changed the way GtkEntries widths are
	calculated.

2002-02-05  Benedikt Wildenhain <benedikt.wildenhain@g-n-u.de>

	* fileman.c (gpa_fileman_toolbar_new): Disabled the help button,
	since it does nothing at the moment.

	* keyring.c (keyring_toolbar_new): Disabled the help button, since
	it does nothing at the moment.

2002-02-05  Peter Gerwinski <peter.gerwinski@g-n-u.de>

	* Makefile.am (gpa_SOURCES): Included gpafilesel.c and gpafilesel.h
	to the list.

	* harddisk.xpm, harddisk1.xpm, harddisk2.xpm, harddisk3.xpm,
	open_folder.xpm, open_folder1.xpm, open_folder2.xpm, floppy.xpm,
	folder.xpm, folder1.xpm, folder2.xpm: New icons.

	* encryptdlg.c, expirydlg.c, fileman.c, filemenu.c, filesigndlg.c,
	gpawidgets.c, gpawidgets.c, gtktools.c, keygendlg.c,
	keygenwizard.c, keysmenu.c, passphrasedlg.c: Small corrections to
	message strings.

	* encryptdlg.c, fileman.c, filemenu.c, filesigndlg.c,
	gpawidgets.c, keyexportdlg.c, keygendlg.c, keygenwizard.c,
	keyimportdlg.c, keysigndlg.c, keysmenu.c, optionsmenu.c,
	ownertrustdlg.c, passphrasedlg.c: Added casts to remove compile
	time warnings and other code cleanups. Changed comment layout.

	* encryptdlg.c, expirydlg.c, fileman.c, filemenu.c, filesigndlg.c,
	gtktools.c, helpmenu.c, keydeletedlg.c, keyeditdlg.c,
	keyexportdlg.c, keygendlg.c, keygenwizard.c, keyimportdlg.c,
	keysigndlg.c, keysmenu.c, optionsmenu.c, ownertrustdlg.c,
	passphrasedlg.c: Changed to use GTK_WINDOW_TOPLEVEL instead of
	GTK_WINDOW_DIALOG in all calls to gtk_window_new, since
	GTK_WINDOW_DIALOG doesn't exist in GTK+ 2.0.

	* fileman.c (show_file_detail)
	filemenu.c (file_encrypt_detail)
	gpawidgets.c (gpa_expiry_frame_new)
	helpmenu.c (help_about)
	keysmenu.c (gpa_tableKey_new): Use the GTK+ 2.0 API for finding out
	the right width for GtkEntry's.

	* gpafilesel.c, gpafilesel.h: New files. They define a version of
	the GtkFileSelection dialog (GpaFileSelection) modified to look
	more like what users of MS-Windows are accustomed to. It is
	directly based on the source code for GTK+ 2.0.

	* icons.c, siglist.c: Formatting change.

	* fileman.c (gpa_fileman_toolbar_new): Use new GTK+ 2.0 API.

	* filemenu.c, gtktools.c, keysmenu.c: Now uses the new GpaFileSelection
	instead of GtkFileSelection.

	* gpa.c: Added include for w32reg.h.
	(gpa_default_key_changed_marshal)
	(gpa_create_default_key_signal): Disabled functions for
	compilation with GTK+ 2.0.
	(main): Fixed several compile time errors on win32. Now we use
	UTF-8 for output.

	* gtktools.c (gpa_button_set_text): Disabled code that doesn't
	compile with GTK+ 2.0.

	* helpmenu.c (scroll_text): Updated.
	(about_dialog_timer)
	(help_about): Use gtk_style_get_font instead of directly accessing
	the style struct.
	(gpa_help_menu_add_to_factory): Disabled help button.

	* keyexportdlg.c (_GPAKeyExportDialog)
	(key_export_dialog_run): Support for exporting keys to the
	clipboard.

	* keygenwizard.c (gpa_keygen_wizard_password_validate): Added
	check for a passphrase that is obviously too simple. At the moment
	that is defined as being less than 10 characters long.

	* keyring.c (keyring_editor_current_key): Removed prototype.
	(toolbar_edit_key)
	(toolbar_remove_key)
	(toolbar_sign_key)
	(toolbar_export_key)
	(toolbar_import_keys): Added prototypes.
	(export_secret_key): New (empty) function.
	(keyring_editor_generate_key_advanced): Changed #warning to a comment.
	(keyring_editor_mapped): Remind the user to make a backup of his
	private key.
	(keyring_editor_menubar_new): Added keyboard accelerator to the
	File/Close menu item. Added key operations (sign, export, export
	private, backup) to the menu. Moved "Options" menu to before
	"Keys" menu.
	(keyring_toolbar_new): Use new GTK+ 2.0 API. Added button to open
	the file manager.
	(keyring_editor_new): Changed default window size. Increased area
	reserved for the key list.

	* keyimportdlg.c (_GPAKeyImportDialog)
	(key_import_dialog_run): Support for exporting keys to the
	clipboard.

2002-01-14  Werner Koch  <wk@gnupg.org>

	* gpa.c (my_strusage): Take bug report address from configure.

2001-12-31  Werner Koch  <wk@gnupg.org>

	* gpapastrings.c, gpapastrings.h: Suport for creation dates.
	* keyring.c:Ditto.
	* keyring.c (keyring_update_status_bar): Fixed segv in case a key
	does not exist.  All by Michael Mauch.

	* helpmenu.c (help_warranty): Added real code.  By Michael Fischer
	v. Mollard.

2001-08-23  Werner Koch  <wk@gnupg.org>

	* gpapastrings.c: Added a few more strings and made
	keytrust_strings_advanced code.  By Miguel Coca.

2001-06-06  Werner Koch  <wk@gnupg.org>

	* gpa.c (main): Convert the characters in the homedir from
	backslash to standard slash.  Note: We sill need to figure out a
	way to handle the '\\server\path' style filenames - however, I am
	pretty sure that a lot of other functions are not able to handle
	them.

2001-05-30  Werner Koch  <wk@gnupg.org>

	* i18n.h, options.h: New.
	* gpa.h: Moved some code to the new header files.

	* keyserver.c, keyserver.h: New.
	* keyexportdlg.c (key_export_dialog_run): Use functions from
	keyserver to setup the list.
	* keyimportdlg.c (key_import_dialog_run): Ditto.
	* optionsmenu.c (options_keyserver): Ditto.
	* gpa.c (main): Ditto.
	* keysmenu.c (keys_openPublic_send_key): Ditto.
	* keyreceivedlg.c (receive_ok):  Ditto.
	* optionsmenu.c (options_keyserver_set): Ditto.
	* gpa.c, gpa.h (global_keyserver): Removed.

	* gpa.c: New option --keyserver.

2001-03-28  Werner Koch  <wk@gnupg.org>

	* gpa.c (gpa_determine_default_key): Replaced xstrdup by
	xstrdup_or_null to avoid a segv.
	* optionsmenu.c (options_key_set): Ditto, to make it more robust.
	(options_keyserver_set): Ditto.
	* passphrasedlg.c (passphrase_ok): Ditto.
	* keyimportdlg.c (import_ok): Ditto.
	* keygendlg.c (gpa_key_gen_run_dialog): Ditto.
	* keyexportdlg.c (export_ok): Ditto.
	* gtktools.c (file_dialog_ok): Ditto.
	* gpawidgets.c (gpa_secret_key_list_new): Ditto.
	(gpa_public_key_list_new): Ditto.
	* keylist.c (keylist_fill_list): Insert only if we got a keyID.

2001-02-27	Jan-Oliver Wagner <jan@intevation.de>

	* helpmenu.c: Added some authors for scroll text

2001-02-15  Thomas Koester  <tkoester@intevation.de>

	* gpa.c (i18n_init): call gtk_set_locale even with USE_SIMPLE_GETTEXT
	* keysmenu.c (gpa_frameExpire_at, gpa_frameExpire_after): obsolete

2001-02-15  Bernhard Herzog  <bh@intevation.de>

	* keygenwizard.c (gpa_keygen_wizard_backup_dir_browse): Check for
	a cancelled dialog.

	* encryptdlg.c (file_encrypt_ok, file_encrypt_cancel): Instead of
	quitting the main loop, destroy the dialog window.
	(file_sign_destroy, gpa_file_encrypt_dialog_run):Add a destroy
	event handler and quit the recursive main loop there.Make the
	dialog properly modal.

	* filesigndlg.c (file_sign_ok, file_sign_cancel): Instead of
	quitting the main loop, destroy the dialog window.
	(file_sign_destroy, gpa_file_sign_dialog_run): Add a destroy event
	handler and quit the recursive main loop there.
	(gpa_file_sign_dialog_run): Make the dialog properly modal.

	* gpapastrings.c (gpa_algorithm_from_string): Translate the
	strings before comparing them.

	* gpapastrings.c (gpa_ownertrust_from_string): Translate the
	strings before comparing them.

	* filesigndlg.c (gpa_file_sign_dialog_run): Make the key list
	resize properly

	* helpmenu.c (help_license): Display the text of the GPL, not
	just the title

	* gpa_license.h:
	* gpa_license.c: New file containing the GPL as a C string and the
	corresponding header.

	* Makefile.am (gpa_SOURCES): Add the new files

	* icons.xpm:
	* icons.c (xpms): Add the new logo

	* helpmenu.c (about_dialog_logo_expose, about_dialog_load_logo)
	removed. The logo is now an xpm just lkike the icons.
	(help_about): Use a pixmap widget instead of the drawing area to
	display the logo

	* keygenwizard.c (page_switched): Remove a debug printf
	(gpa_keygen_wizard_backup_page): Change the wording a little

	* gpa_logo.ppm: Update to new logo

	* gpawizard.c (GPAWizard):
	(gpa_wizard_new): Add some fields for a callback that's called
	whenever a page is switched. (This should really be implemented as
	a GTK signal)
	(gpa_wizard_set_page_switched): Call the callback
	(gpa_wizard_page_switched): Set the callback
	(gpa_wizard_notebook_destroy): New. Handler for the notebook's
	destroy signal to remove the callback to avoid segfaults
	(gpa_wizard_new): Connect to the notebook's destroy signal.

	* gpawizard.h: Add the new type and prototype

	* keygenwizard.c (gpa_keygen_wizard_password_validate,
	gpa_keygen_wizard_backup_action,
	gpa_keygen_wizard_backup_dir_action): Don't change the pixmap.
	(page_switched): Callback for the page switches of the wizard.
	Change the pixmap depending on the current page.

	* icons.xpm: Tweak the import icon a little

	* keylist.c (gpa_keylist_update_list): Update the column widths
	also when the list was empty before

2001-02-14  Bernhard Herzog  <bh@intevation.de>

	* keyring.c (keyring_editor_import): Update the widgets after
	importing the key
	(keyring_toolbar_new): Change "details" to "detailed"

	* icons.xpm:
	* icons.c (xpms): Add some new graphics

	* keyring.c (keyring_toolbar_new):
	* fileman.c (gpa_fileman_toolbar_new): Use the new toolbar icons

	* keylist.c (get_key_type_pixmap_value): Use the new key icons

	* keygenwizard.c: Add an option to create backup copies of the
	keys and add some graphics:
	(GPAKeyGenWizard): Add a few fields for the backup feature and the
	graphics
	(gpa_keygen_wizard_password_page): The passphrase page is not the
	last page before the actual key generation anymore, so change the
	wording.
	(gpa_keygen_wizard_password_validate): Now used directly as the
	action callback of the passphrase page, so change it display the
	messages instead of returning them and return the appropriate
	boolean.
	(gpa_keygen_wizard_backup_page):
	(gpa_keygen_wizard_backup_action):
	(gpa_keygen_wizard_backup_dir_page):
	(gpa_keygen_wizard_backup_get_text):
	(gpa_keygen_wizard_backup_dir_action): New functions implementing
	the backup pages, actions and helper functions.
	(gpa_keygen_generate_key): Store the generated keys in the
	keygenwizard struct
	(gpa_keygen_wizard_generate_action): Remove the password
	validation because that's already been done. Create the backups
	after generating the key pair.
	(free_keygen_wizard): New function to free the keygenwizard struct
	and the file names.
	(gpa_keygen_wizard_run): Add the new pages and the pixmap window
	(isdir):
	(file_dirname): Two new helper functions

2001-02-13  Thomas Koester  <tkoester@intevation.de>

	* expirydlg.c (gpa_expiry_dialog_run): Conflicting accelerator.

2001-02-13  Bernhard Herzog  <bh@intevation.de>

	* keysmenu.c (gpa_tableKey_new): Swap the table rows and change
	the labels to be more consistent with the rest of the UI.

	* keyring.c (keyring_editor_mapped): Add accelerators for the
	message box

	* gtktools.c (gpa_message_box_run): Add an accelgroup and handle
	accelerators in the button labels.

	* keyimportdlg.c (key_import_dialog_run): Make the accelerators
	for the radio buttons and entry fields work

	* keyeditdlg.c (gpa_key_edit_dialog_run): Remove the sign frame.
	Add an accel-group and make the accelerators work.

2001-02-13  Thomas Koester  <tkoester@intevation.de>

	* expirydlg.c (expiry_ok):
	(gpa_expiry_dialog_run):
	keydeletedlg.c (gpa_delete_dialog_run):
	* keyexportdlg.c (key_export_dialog_run):
	* keyimportdlg.c (key_import_dialog_run): Use "_OK" instead of "Ok".

	* keyeditdlg.c (gpa_key_edit_dialog_run):
	* gpawizard.c (gpa_wizard_new):
	* keyexportdlg.c (key_export_dialog_run):
	* keyimportdlg.c (key_import_dialog_run): Add/Change accelerators.

2001-02-13  Bernhard Herzog  <bh@intevation.de>

	* gpawizard.h: Add prototype of gpa_wizard_next_page

	* gpawizard.c (gpa_wizard_next_page):
	(gpa_wizard_next): Put practically all of gpa_wizard_next in the
	new public function gpa_wizard_next_page and just call the public
	function in gpa_wizard_next. The user data parameter of
	gpa_wizard_next is now the vbox widget.
	(gpa_wizard_new): Pass the vbox widget as parameter to the
	Next-button's callback.

	* keygenwizard.c (switch_to_next_page): New. Handler for the
	activate signals of several entry fields to switch the wizard to
	the next page
	(gpa_keygen_wizard_simple_page): Add the keygen_wizard as
	parameter and connect to the entry's activate signal to switch to
	the next page.
	(gpa_keygen_wizard_comment_page):
	(gpa_keygen_wizard_email_page):
	(gpa_keygen_wizard_name_page): Add the keygen_wizard as parameter
	and pass it through to gpa_keygen_wizard_simple_page
	(focus_repeat_passphrase): New. Handler for the activate signal of
	the passphrase entry to focus the repeat passhrase entry
	(gpa_keygen_wizard_password_page): Add the keygen_wizard as
	parameter and connect to the repeat pasphrase entry's activate
	signal to switch to the next page. Also focus the repeat entry in
	the activate handler of the passphrase entry.

	* siglist.c (gpa_siglist_set_signatures): Call
	gtk_container_check_resize to make sure that the sizes of the
	title buttons are also taken into account.

	* keyexportdlg.c (key_export_dialog_run): Use function from
	gtktools.c to create the radio buttons, so that the accelerators
	are handled correctly.

2001-02-13  Thomas Koester  <tkoester@intevation.de>

	* gtktools.c (gpa_window_error):
	(gpa_window_message): Translate window titles.
	* keygenwizard.c (gpa_keygen_wizard_run): Use "Finish" button
	instead of "Next" on wait_page and final_page.
	* gpawizard.c (gpa_wizard_new): Add accelerator to "Next" and "Prev"

2001-02-13  Bernhard Herzog  <bh@intevation.de>

	* Makefile.am (install-data-local):
	(pkgdata_DATA): Remove install-data-local and use pkgdata_DATA to
	install data files.

	(logo):
	(EXTRA_DIST): Add the gpa logo file and put it into pkgdata_DATA
	and EXTRA_DIST

	* helpmenu.c (about_dialog_load_logo): Take the logo from the data
	dir.

	* keygendlg.c (gpa_key_gen_run_dialog): Add some comments

2001-02-13	Jan-Oliver Wagner <jan@intevation.de>

	* hidewnd.c (new): Hiding console window on W98 and ME
	* hidewnd.h (new): Hiding console window on W98 and ME
	* Makefile.am: added hidewnd.(h|c)
	* gpa.c (main): added hiding of console window for W98, ME

2001-02-12  Bernhard Herzog  <bh@intevation.de>

	* optionsmenu.c (options_recipients):
	(options_key): Translate the CList column titles
	(options_keyserver): Translate the buttons

	* keyring.c (keyring_details_page_fill_key):
	(keyring_details_notebook):
	(GPAKeyringEditor): Add the owner trust to the details page.

	* gpapastrings.c (gpa_ownertrust_string):
	(gpa_unit_expiry_time_string): Translate the returned strings.

	* keyring.c (keyring_editor_new): Mark the big label for
	translation

	* keylist.c (gpa_keylist_update_list): Call
	gtk_container_check_resize to make sure that the size changes in
	the title buttons are correctly accounted for
	(ColumnDef): title may now be NULL to indicate an empty title.
	(keylist_fill_row): Handle NULL column titles.

	* keyring.c (keyring_editor_mapped): Check for cancelling the
	dialog via WM, in which case result is NULL

	* fileman.c (gpa_fileman_toolbar_new): Use the new help icon

	* gpapastrings.c (algorithm_strings): Add a missing ')'

	* gtktools.c (GPASaveFileNameDialog): Rename the dialog field to
	window as it's done in all other dialogs
	(file_dialog_destroy):
	(gpa_get_save_file_name): Add a destroy event handler and quit the
	recursive main loop there.
	(file_dialog_ok):
	(file_dialog_cancel): Instead of quitting the main loop, destroy
	the dialog window.

	* gpa.c (gpa_addRecipient): Only add the key if it's not already
	in the recipients list.

	* keysmenu.c (keys_openPublic_exportTrust_export):
	(keys_openPublic_exportTrust):
	(keys_openSecret_editKey_close):
	(keys_openSecret_editKey):
	(keys_openSecret):
	* filemenu.c (file_sign_sign):
	(file_encryptAs):
	(file_protect):
	(file_protectAs): Don't translate the tip-strings. They aren't
	used anymore at all and should be removed completely evetually.

	* gpa.c (gpa_open_keyring_editor):
	(gpa_open_filemanager): Only do a show_all once, when the window
	is created for the first time. With recent changes not all
	children of the keyring editor window are shown all the time and a
	show_all will make them all visible again.

	* fileman.c (gpa_fileman_new):
	* keyring.c (keyring_editor_new): Realize the window before
	creating the toolbar so that we can create pixmaps without
	warnings

	* keyring.c (keylist_columns_brief):
	(keylist_columns_detailed): Add the new key type pixmap as the
	first column

	* keylist.h (GPAKeyListColumn):
	* keylist.c (column_defs):
	(get_key_type_pixmap_value): New value func and column defintion
	to return a pixmap indicating the type of key: public only or
	secret+public.

	* keylist.c (ColumnValueFunc):
	(ColumnDef):
	(get_name_value):
	(get_trust_value):
	(get_ownertrust_value):
	(get_expirydate_value):
	(get_identifier_value): Change the prototype of ColumnValueFunc
	and update all value functions accordingly. Now the value may be a
	pixmap, but all existing functions only rerturn text as before.
	The function itself now also indicates whether the text has to be
	freed.
	(keylist_row_labels):
	(keylist_free_row_labels): Removed.
	(keylist_fill_row): New function to fill a row with the
	labels/pixmaps for one key

	* keyring.c (keyring_toolbar_new): Use the new help icon

	* icons.xpm:
	* icons.c (xpms): Add some new icons

	* keyring.c (keyring_editor_delete): Deleting keys has changed in
	gpapa, so call either gpapa_secret_key_delete or
	gpapa_public_key_delete, depending on whether there's a secret key
	or not.

2001-02-09  Bernhard Herzog  <bh@intevation.de>

	* keyring.c (key_has_been_signed): New function to test whether a
	key has been signed by a given other key id
	(keyring_editor_can_sign): Use the new function
	(keyring_editor_sign): For each key, test whether it has already
	been signed by the secret key.

	* keygenwizard.c (string_strip_dup): Helper function to create a
	copy of a string stripped off leading and trailing whitespace
	(gpa_keygen_wizard_simple_get_text): Return a string_strip_dup'ed
	version of the user input
	(gpa_keygen_wizard_password_action): Free the values read from the
	"simple pages" because they're now malloced copies.
	(gpa_keygen_wizard_name_validate):
	(gpa_keygen_wizard_email_validate): New functions to validate the
	user input for the name and email pages. The validation for the
	emails address could be much more thorough.
	(gpa_keygen_wizard_run): Hook up the new validation functions with
	the pages.

	* optionsmenu.c (options_keyserver):
	(options_keyserver_destroy): Make the default key server dialog
	properly modal with a recursive main loop and a handler for the
	destroy signal
	(options_keyserver_set): Actually set the default key server.

	* optionsmenu.h: Remove the prototypes of functions that are long
	gone or that are now static

	* optionsmenu.c (options_recipients_fillDefault):
	(options_recipients_set):
	(options_recipients):
	(options_key):
	(options_key_set):
	(options_key_select):
	(options_keyserver):
	(options_keyserver_set): Make them static. They're only used in
	this file.

	* keyring.c (toolbar_edit_key): Update the details notebook too
	when the key has been changed

	* keyeditdlg.c (key_edit_change_expiry): Set the key_has_changed
	flag if the date has been changed

	* keyring.c (keyring_details_notebook): Add a missing : in the key
	type label

	* helpmenu.h
	* helpmenu.c (help_license):
	(help_about):
	(help_warranty): Make them static and remove them from the header
	file as they're only used in helpmenu.c.

	* helpmenu.c (help_license_destroy):
	(help_license): Make the default license dialog properly modal
	with a recursive main loop and a handler for the destroy signal

	* optionsmenu.c (options_key):
	(options_key_destroy): Make the default key dialog properly modal
	with a recursive main loop and a handler for the destroy signal
	(options_recipients):
	(options_recipients_destroy): Make the default recipients dialog
	properly modal with a recursive main loop and a handler for the
	destroy signal

	* filesigndlg.c (file_sign_ok): Pass the selected secret key to
	the passphrase dialog

2001-02-08  Bernhard Herzog  <bh@intevation.de>

	* keyring.c (keyring_editor_new): Initialize the details notebook
	properly
	(keyring_details_page_fill_key):
	(keyring_details_notebook): Add some new fields to the details
	page.
	(keyring_details_page_fill_key): Add the secret key as a parameter
	to be able to show whether the key is owned by the user
	(idle_update_details): Determine the secret key too to pass to
	keyring_details_page_fill_key

	* expirydlg.c (gpa_expiry_dialog_run): Pass the secret key into
	the dialog instead of the expiry date so that we can display it in
	the password dialog. Update the headerfile accordingly.
	(GPAExpiryDialog): Add the key field.
	(expiry_ok): Pass the key to the password dialog.

	* keyeditdlg.c (key_edit_change_expiry): gpa_expiry_dialog_run has
	a new calling sequence.

	* gpawidgets.c (gpa_key_info_new): Tweak the spacing a bit

	* passphrasedlg.c (gpa_passphrase_run_dialog): Add a label asking
	for the passphrase

	* keysigndlg.c (key_sign_ok): Pass the default key to the password
	dialog

	* passphrasedlg.h (gpa_passphrase_run_dialog):
	* passphrasedlg.c (gpa_passphrase_run_dialog): Add a key parameter
	and display information about the key whose password is required.

	* keysigndlg.c (key_sign_ok):
	* filesigndlg.c (file_sign_ok):
	* fileman.c (decrypt_files):
	* expirydlg.c (expiry_ok): Call gpa_passphrase_run_dialog with
	NULL as the new key parameter. Should be replaced with the correct
	key later.

	* keyring.c (keyring_editor_toggle_show_trust): Removed because
	it's no longer used. A similar effect is available with the
	brief/detailed listings.

	* keydeletedlg.h:
	* keydeletedlg.c: New files for the key delete dialog.

	* Makefile.am (gpa_SOURCES): Add the new key delete dialog files.

	* keyring.c (keyring_editor_delete): Use the new delete dialog
	instead of a simple message box.

	* gpawidgets.h (gpa_key_info_new):
	* gpawidgets.c (gpa_key_info_new): New function to create a simple
	table with info about a key.

	* keygenwizard.c (GPAKeyGenWizard): Add fields for the wizard
	widget and the wait-page.
	(gpa_keygen_wizard_password_action): Switch to the wait-page.
	(gpa_keygen_wizard_wait_page): New function to create the
	wait-page.
	(gpa_keygen_wizard_run): Put the waitpage into the wizard. Also,
	store the gpa wizard widget in the struct.

	* gpawizard.h (gpa_wizard_next_page_no_action):
	* gpawizard.c (gpa_wizard_next_page_no_action): New public
	function to switch the wizard to the next page without running the
	action callback associated with the page. This is used by the
	action callback that is invoked by the finish button to display a
	"wait" message.

2001-02-07  Thomas Koester  <tkoester@intevation.de>

	* gpapastrings.c (gpa_expiry_date_string): Use %x instead of
	  %d.%m.%Y as date format string.

	* expirydlg.c (gpa_expiry_dialog_run):
	* gpawidgets.c (gpa_expiry_frame_at):
	(gpa_expiry_frame_new):
	* keysmenu.c (gpa_frameExpire_at):
	(gpa_frameExpire_new): Use gpa_expiry_date_string.

	* keyring.c (keyring_details_page_fill_key): free unused text.

2001-02-07  Bernhard Herzog  <bh@intevation.de>

	* gpawidgets.h (gpa_signature_list_new):
	* gpawidgets.c (add_sigs_to_clist):
	(gpa_signature_list_new): Removed. Superseded by the siglist in
	siglist.c

	* fileman.c (show_file_detail): Use the siglist to display the
	list of signatures

	* siglist.h: Change the include guard to something more unique

	* keyring.c (keyring_editor_sign):
	(keyring_selection_update_widgets): Use the new
	keyring_update_details_notebook function to update the pages in
	the details notebook
	(keyring_details_notebook): Add a label to the details page and
	introduce a vbox holding both the label and the table so that we
	can switch between either the label or the table to show very
	different information when exactly one key is selected or when
	zero or more than one key is selected

	(keyring_update_signatures_page):
	(keyring_update_details_page): Removed
	(keyring_details_page_fill_key):
	(keyring_details_page_fill_num_keys):
	(keyring_signatures_page_fill_key):
	(keyring_signatures_page_empty):
	(idle_update_details):
	(keyring_update_details_notebook): New functions replacing
	keyring_update_details_page and keyring_update_signatures_page so
	that either the details of the current key is shown or the number
	of selected keys if several or no key is selected. Also only
	update the notebook when idle.
	(GPAKeyringEditor): Add some new fields for the new widgets and
	idle handling
	(keyring_editor_new): Initialize the idle handler id.

	* keylist.h (gpa_keylist_selection_length):
	* keylist.c (gpa_keylist_selection_length): New function to
	determine the number of selected keys

	* keyring.c (keyring_editor_generate_key_advanced): Pass the
	password to gpapa_key_set_expiry_date

	* keysmenu.c (keys_openSecret_editKey_close):
	(keys_openSecret_editKey_close): Provide dummy passwords for
	gpapa_key_set_expiry_date just to make them compile. The functions
	are currently unused.

	* keyeditdlg.c (key_edit_change_expiry): Use the new password
	parameter of the expiry dialog and pass it to gpapa.

	* expirydlg.h (gpa_expiry_dialog_run):
	* expirydlg.c (gpa_expiry_dialog_run): Add a parameter to return
	the password
	(GPAExpiryDialog): Add a field for the password
	(expiry_ok): Ask for the password and set the password field in
	the dialog struct

2001-02-06  Bernhard Herzog  <bh@intevation.de>

	* gpa.h (global_defaultKey): Removed. Its definition was deleted
	some time ago.

	* gpa.h (global_homeDirectory):
	* gpa.c (global_homeDirectory): Removed as it's no longer used.

	* gpa.c (main): Don't init the home dir and load/save options dialogs.

	* optionsmenu.c (homeDirSelect):
	(loadOptionsSelect):
	(saveOptionsSelect):
	(gpa_homeDirSelect_ok):
	(gpa_homeDirSelect_init):
	(gpa_loadOptionsSelect_ok):
	(gpa_loadOptionsSelect_init):
	(gpa_saveOptionsSelect_ok):
	(gpa_saveOptionsSelect_init):
	(options_homedir):
	(options_load):
	(options_save): Removed. Loading and saving options wasn't
	actually implemented in gpapa anyway and the home directory was
	only used by the load/save options functions.
	(gpa_options_menu_add_to_factory): Remove the menu entries for the
	home directory and loading/saving options.

	* fileman.c (decrypt_files): Update cur to the next list element
	at the end of the while loop.

	* helpmenu.c: Reformat several functions to conform more to GNU
	standards.
	(about_dialog_logo_expose): Don't add new timers here. Should fix
	the segfaults that happened when the about dialog was closed.

	* Makefile.am (gpa_SOURCES): Replace the keyreceivedlg files with
	the keyimportdlg files.

	* keyimportdlg.h:
	* keyimportdlg.c: New files implementing the import dialog

	* keyring.c (keyring_editor_import):
	(keyring_editor_receive): Rename keyring_editor_receive to
	keyring_editor_import and implement it with the new import dialog
	(toolbar_import_keys): call keyring_editor_import.

2001-02-05  Bernhard Herzog  <bh@intevation.de>

	* keyring.c (keyring_editor_export): Use the server returned by
	the dialog and not the default server.

	* siglist.c (GPASigList):
	(gpa_siglist_new):
	(gpa_siglist_set_signatures): Don't try to be too clever about
	when to set the columns to their optimal widths. Do it whenever
	the list is changed and get rid of the widths_set flag.

	* keyring.c (keyring_editor_export): Actually call the appropriate
	gpap functions and handle sending keys to key servers as well.

	* keyexportdlg.h:
	* keyexportdlg.c: Substantial changes in practically all functions
	to extend the dialog to support sending keys to key servers (which
	includes a new parameter in key_export_dialog_run) as well and to
	handle delete-event and destroy correctly.

2001-02-02  Bernhard Herzog  <bh@intevation.de>

	* gpa.c (gpa_removeRecipients): Change "files" to "keys" in the
	error message when no items are selected

	* keyring.c (toolbar_export_key): Call keyring_editor_export

	* gtktools.c (gpa_window_show_centered): Set the WM_TRANSIENT_FOR
	window manager hint so that the window manager treats dialog
	windows properly

	* keyring.c (keyring_toolbar_new): Correct the tooltip for the
	remove button

2001-02-01  Bernhard Herzog  <bh@intevation.de>

	* Makefile.am (gpa_SOURCES): Add the new expiry dialog files

	* expirydlg.h:
	* expirydlg.c: New files implementing the dialog to change the
	expiry date

	* keyeditdlg.c (key_edit_change_expiry): New function. Handler for
	the change button of the expiry date
	(gpa_key_edit_dialog_run): Add the signal handler for the expiry
	date change

	* keyring.c (keyring_editor_generate_key_advanced):
	* keygenwizard.c (gpa_keygen_wizard_password_action): Remove some
	debug printfs

	* gtktools.c (GPAMessageBox):
	(message_box_clicked):
	(message_box_destroy):
	(message_box_delete):
	(gpa_message_box_run): Connect to destroy instead of delete-event
	and quit the main loop there. Also introduce the struct
	GPAMessageBox to pass data to the various signal handlers and
	results back to the message box function.

	* keyring.c (keyring_editor_delete): Check whether the return
	value from the message box is NULL, too, when checking for
	"cancel". (it may be null if the user exited the message box
	through the window manager)

	* keyeditdlg.c (key_edit_change_trust):
	* ownertrustdlg.h (gpa_ownertrust_run_dialog):
	* ownertrustdlg.c (gpa_ownertrust_run_dialog): Remove the tip
	parameter of gpa_ownertrust_run_dialog which was intended for the
	now removed tip window. Update callers.

	* keyring.c (keyring_editor_can_sign): Don't check explicitly
	whether the selected key is the default key because the list of
	signatures contains the self signature now.

2001-01-31  Bernhard Herzog  <bh@intevation.de>

	* gpa.h (global_noTips):
	* gpa.c (global_noTips): Removed. not needed anymore now that the
	tip window's gone

	* optionsmenu.c (gpa_options_menu_add_to_factory): Remove the
	"Online _tips" entry

	* optionsmenu.h (options_tips):
	* optionsmenu.c (options_tips):
	* gpa.h (gpa_switch_tips):
	* gpa.c (gpa_switch_tips): Removed because they're not needed
	anymore now that the tip window's gone

	* keyring.c (keyring_update_status_bar): Make the parameter
	explicitly a GPAKeyringEditor pointer because it's not directly
	used as a signal handler anymore
	(keyring_default_key_changed): New signal handler for the
	gpa_default_key_changed signal that updates the statusbar and the
	selection sensitive widgets because some of them depend on the
	default key
	(keyring_editor_new): Use keyring_default_key_changed as the
	handler for gpa_default_key_changed
	(keyring_editor_sign): Update the selection sensitive widgets too
	because some depend on what signatures a key has.

	* keysmenu.h: Remove the prototypes of the functions deleted from
	keysmenu.c

	* keysmenu.c (keys_generateKey):
	(keys_generateKey_generate):
	(keys_openPublic):
	(keys_openPublic_evalMouse):
	(keys_openPublic_toggleClistKeys):
	(keys_openPublic_fillClistKeys):
	(keys_openPublic_receive):
	(keys_openPublic_receive_receive):
	(keys_openPublic_editKey):
	(keys_openPublic_sign):
	(keys_openPublic_sign_exec):
	(keys_openPublic_editTrust):
	(keys_openPublic_editTrust_accept):
	(keys_openPublic_delete):
	(getStringForKeytrust):
	(getOwnertrustForString):
	(writtenKeytrust):
	(writtenOwnertrust):
	(unitTime):
	(writtenAlgorithm): Removed because they're not used anymore.

	* optionsmenu.c (gpa_homeDirSelect_init):
	(gpa_loadOptionsSelect_init):
	(gpa_saveOptionsSelect_init): Remove commented out window tip code

	* encryptdlg.c:
	* fileman.c:
	* filemenu.c:
	* filesigndlg.c:
	* gpa.c:
	* gpawidgets.c:
	* gtktools.c:
	* optionsmenu.c: Don't include help.h

	* tipwindow.c:
	* help.h:
	* help.c: Removed because the tip windows are not used anymore.
	tipwindow.c wasn't actually used anyway

	* Makefile.am (gpa_SOURCES): Removed help.c and help.h

	* gpa.c (main): Don't init the tipwindow.

	* optionsmenu.c (options_homedir):
	(options_load):
	(options_save): Remove the gpa_window_tip_show calls.

	* gtktools.c (gpa_window_destroy): Remove the window tip handling

	* filemenu.c (file_open):
	(gpa_fileOpenSelect_init):
	(file_open_ok):
	(file_showDetail):
	(file_close):
	(file_sign):
	(get_file_selection_count):
	(file_encrypt):
	(file_decrypt_decrypt_exec):
	(file_decrypt_decrypt):
	(file_decrypt): Remove because they're not used anymore

	* filemenu.h: Removed the prototypes of the functions removed from
	filemenu.c

	* gtktools.h (gpa_widget_set_centered):
	* gtktools.c (gpa_widget_set_centered): Removed. Use
	gpa_window_show_centered instead

	* gtktools.c (gpa_window_passphrase):
	(gpa_window_message):
	* helpmenu.c (help_license): Use gpa_window_show_centered instead
	of gpa_widget_set_centered.

	* gtktools.h (gpa_widget_show):
	* gtktools.c (gpa_widget_show): Removed. Use
	gpa_window_show_centered instead

	* encryptdlg.c (gpa_file_encrypt_dialog_run):
	* fileman.c (show_file_detail):
	* filemenu.c (file_showDetail):
	(file_sign_dialog):
	(file_encrypt_detail):
	(file_encrypt_dialog):
	(file_protect_dialog):
	(file_decryptAs):
	* filesigndlg.c (gpa_file_sign_dialog_run):
	* gtktools.c (gpa_window_error):
	* keyexportdlg.c (key_export_dialog_run):
	* keyreceivedlg.c (key_receive_run_dialog):
	* keysmenu.c (keys_export_dialog):
	(keys_openPublic_editTrust):
	(keys_openPublic_editKey):
	(keys_openPublic_receive):
	(keys_openPublic_exportTrust):
	(keys_openPublic):
	(keys_openSecret_editKey):
	(keys_openSecret):
	(keys_generateKey):
	(keys_generateRevocation):
	(keys_import):
	(keys_importOwnertrust):
	* optionsmenu.c (options_keyserver):
	(options_recipients):
	(options_key):
	(options_tips):
	Call gpa_window_show_centered instead of gpa_widget_show

	* keygendlg.c (gpa_key_gen_run_dialog): Remove the commented out
	gpa_widget_show call

	* keyring.c (keyring_editor_edit_trust): Removed because its now
	replaced by the key edit dialog.

	* keygenwizard.c (gpa_keygen_wizard_destroy):
	(gpa_keygen_wizard_run): Add a destroy event handler and quit the
	recursive main loop there.
	(gpa_keygen_wizard_close): Instead of quitting the main loop,
	destroy the dialog window. Also, use the correct prototype.

	* keysigndlg.c (gpa_key_sign_run_dialog): Make sure dialog.result
	is set to FALSE by default.

2001-01-30  Bernhard Herzog  <bh@intevation.de>

	* keysigndlg.c (key_sign_destroy):
	(gpa_key_sign_run_dialog): Add a destroy event handler and quit
	the recursive main loop there.
	(key_sign_cancel):
	(key_sign_ok): Instead of quitting the main loop, destroy the
	dialog window.
	(key_sign_delete): Removed because the default handler does
	exactly what we need now.
	(GPAKeySignDialog):
	(key_sign_ok): Remove the clist_keys field completely and don't
	access it in key_sign_ok.

	* ownertrustdlg.c (ownertrust_ok):
	(ownertrust_cancel): Fix comments

	* passphrasedlg.c (passphrase_destroy):
	(gpa_passphrase_run_dialog): Add a destroy event handler and quit
	the recursive main loop there.
	(passphrase_ok):
	(passphrase_cancel): Instead of quitting the main loop, destroy
	the dialog window.
	(passphrase_delete_event): Removed because the default handler
	does exactly what we need now.
	(gpa_passphrase_run_dialog): use gtk_window_set_modal to get a
	modal dialog and focus the password entry widget
	(GPAPassphraseDialog): Add the window field to pass the dialog
	window into the callbacks.

	* ownertrustdlg.c: Add comments
	(ownertrust_ok):
	(ownertrust_cancel): Destroy the dialog window
	(gpa_ownertrust_run_dialog):
	(ownertrust_destroy): Add a destroy event handler and quit the
	recursive main loop there.
	(ownertrust_delete_event): Removed because the default handler
	does exactly what we need now.
	(gpa_ownertrust_run_dialog): Use gpa_window_show_centered instead
	of gpa_widget_show and use gtk_window_set_modal to get a modal
	dialog

	* keyeditdlg.c (gpa_key_edit_dialog_run):
	(key_edit_destroy): Add a destroy event handler and quit the
	recursive main loop there.
	(key_edit_close): Destroy the dialog window. Quitting the mainloop
	is now handled in the destroy callback.
	(key_edit_delete_event): Removed because the default handler does
	exactly what we need now.

	* keyeditdlg.h:
	* keyeditdlg.c: New files implementing the key edit dialog (still
	incomplete, though)

	* Makefile.am (gpa_SOURCES): Add the edit dialog files

	* keyring.c (toolbar_edit_key): Run the key edit dialog

2001-01-26  Bernhard Herzog  <bh@intevation.de>

	* keyring.c (keyring_editor_new): Initialize the status bar
	properly

	* gpa.c (gpa_update_default_key): If the default key is not set
	yet, set it to (an approximation of) gpg's default key.
	(gpa_determine_default_key): Make it static. It's better to use
	gpa_update_default_key now.
	* gpa.h: Update the prototypes accordingly.

	* gpa.c (main):
	* keyring.c (keyring_editor_generate_key_simple):
	(keyring_editor_generate_key_advanced):
	Use gpa_update_default_key instead of gpa_determine_default_key

	* keyring.c (keyring_editor_mapped): Fix a typo
	(keyring_statusbar_new): new function to create a status bar
	showing the default key
	(GPAKeyringEditor): Add the labels of the status bar.
	(keyring_update_status_bar): New function to update the status bar
	whenever the default key changes.
	(keyring_editor_new): Add the status bar.

	* gpa.h: Add the prototypes for gpa_get_keyring_editor and
	gpa_get_filenamager

	* gpa.c (gpa_default_key_changed_marshal):
	(gpa_create_default_key_signal):
	(gpa_emit_default_key_changed): New functions to implement a user
	signal "gpa_default_key_changed" for GtkWindows that is emit on
	all toplevel windows whenever the default key changes.
	(main): Initialize the user signal
	(gpa_set_default_key): Emit the new signal when the key changes.
	(gpa_get_keyring_editor): New function to return the keyring
	editor window
	(gpa_get_filenamager): New function to return the filemanager
	editor window

	* keyring.c (keyring_editor_new): Remove the close button.

2001-01-25  Bernhard Herzog  <bh@intevation.de>

	* filemenu.c:
	* gtktools.c:
	* helpmenu.c:
	* keysmenu.c:
	* optionsmenu.c: Replace all those silly _("") with ""

2001-01-25	Jan-Oliver Wagner <jan@intevation.de>

	* simple-gettext.c (get_string): removed  ISO-8859-1 to IBM-CP-850
	conversion (assuming .mo file is adequately encoded)

2001-01-24  Bernhard Herzog  <bh@intevation.de>

	* keyring.c (keyring_update_signatures_page): Don't list the self
	signaturs in simplified UI mode.

	* siglist.c: Add some comments

	* siglist.h:
	* siglist.c (gpa_siglist_set_signatures): Add a key_id parameter
	to filter out signatures of a given key. Useful to hide the self
	signatures of keys.

	* keyring.c (keyring_editor_new): Make the scrollbars of the
	keylist appear automatically.
	(keyring_editor_new): Put the keylist and the details notebook
	into a paned window so that users can allocate the vertical space
	for the widgets. Clean up the code a bit, too.

	* Makefile.am (gpa_SOURCES):
	* siglist.h:
	* siglist.c: New files implementing the list of signatures in the
	keying editor.

	* keyring.c (keyring_details_notebook): Add the signatures page
	(keyring_update_signatures_page): New function to update the
	signatures page
	(keyring_selection_update_widgets): Update the signatures page
	too.
	(GPAKeyringEditor): Add the signatures list widget

	* keylist.c: Remove some uneeded includes

	* keylist.c (keylist_fill_list): Try to keep the current selection
	if the new keep_selection parameter is TRUE.
	(gpa_keylist_update_list): Keep the current selection.

	* keyring.c (keylist_columns_detailed):
	(keylist_columns_brief): Put the name at the end.

	* keylist.c (gpa_keylist_update_list): Make all columns have the
	optimal width.
	(gpa_keylist_new): Use gpa_keylist_update_list to fill the keylist
	and create the title buttons, so that the columns havethe optimal
	width.

2001-01-23  Bernhard Herzog  <bh@intevation.de>

	* keyring.c (keyring_toolbar_new): Add buttons for brief and
	detailed listing.
	(keyring_set_brief_listing):
	(keyring_set_detailed_listing): New. Signal handlers for the diref
	and detailed listing buttons of the toolbar.
	(keylist_columns_detailed):
	(keylist_columns_brief): Definitions of the brief and detailed key
	listing.
	(keyring_editor_new): Use keylist_columns_brief to initialize the
	key list

	(add_details_row):
	(keyring_details_notebook):
	(keyring_update_details_page): Turn the fingerprint label in the
	details notebook into an uneditable entry field so that users can
	copy and paste the fingerprint. To that end add a new parameter to
	add_details_row to indicate whether a label or entry is to be
	created.

	* keylist.c (keylist_fill_column_titles): Set the first
	keylist->ncolumns to visible.

2001-01-23	Jan-Oliver Wagner <jan@intevation.de>

	* simple-gettext.c: (new) "simple gettext method for
	Windows (copied from gnupg
	* Makefile.am: added simple-gettext

2001-01-23  Bernhard Herzog  <bh@intevation.de>

	* Makefile.am (gpa_SOURCES): Add the keylist files.

	* keylist.h:
	* keylist.c: New files implementing the key list of the key ring
	editor.

	* keyring.c (keyring_editor_new):
	(keyring_editor_edit_trust):
	(keyring_editor_delete):
	(keyring_editor_sign):
	(keyring_editor_export): replace the CList of the keys with the
	keylist of keylist.c and modify all functions that use it to use
	the appropriate functions of keylist.c

	(keyring_editor_has_selection):
	(keyring_editor_has_single_selection):
	(keyring_editor_fill_keylist):
	(keyring_editor_current_key_id):
	(keyring_editor_current_key):
	These function are now just frontends for the corresponding
	functions in keylist.c

2001-01-23	Jan-Oliver Wagner	<jan@intevation.de>

	* w32reg: new module copied from gnupg
	Access to Windows Registry
	* Makefile.am: added w32reg
	* gpa.c (main): now reads from Registry under Windows

2001-01-22  Bernhard Herzog  <bh@intevation.de>

	* keyring.c (keyring_editor_delete): Ask for confirmation before
	deleting keys.

2001-01-19  Bernhard Herzog  <bh@intevation.de>

	* keyring.c (keyring_editor_can_sign): Check whether the default
	has already signed the selected key and return FALSE in that case.
	(keyring_editor_current_key_id): New function that returns the id
	of the currently selected key.

	* gpa.c (main): Read the gtkrc file
	* Makefile.am: Add the gtkrc file
	* gtkrc: New file with GTK style defaults

	* keyring.c (keyring_editor_selection_changed):
	(keyring_editor_end_selection):
	(keyring_editor_fill_keylist):
	(keyring_editor_menubar_new): make them static

	(add_selection_sensitive_widget): Add the callback as a new
	parameter.
	(GPA_SENSITIVE_BUTTON): Get rid of this widget and use
	add_selection_sensitive_widget.

	(keyring_editor_new): Add a notebook showing details of the
	selected key and a toolbar at the top which replaces the buttons
	at the bottom
	(GPAKeyringEditor): Add three new fields for the labels of the
	details view.

	(keyring_toolbar_new): New function to create the new toolbar
	(toolbar_import_keys):
	(toolbar_export_key):
	(toolbar_sign_key):
	(toolbar_remove_key):
	(toolbar_edit_key): Signal handlers for the toolbar.

	(add_details_row):
	(keyring_details_notebook):
	(keyring_update_details_page): New functions to create and update
	the new details notebook.

	(keyring_editor_current_key): New function to return the currently
	selected key.

	(keyring_selection_update_widgets): New function that bundles all
	the updates that have to happen when the selection changes. Change
	the relevant signal handlers to use it.

	(keyring_editor_fill_keylist): The "show ownertrust" button is
	unavailable for now, so assume that it's not checked by default,
	just to make it work without the button.

	(keyring_editor_delete): Check for the existence of a private key
	and delete that first if it exists.

	* keyring.c: Substantial code reorganization

2001-01-18  Bernhard Herzog  <bh@intevation.de>

	* gpa.c (cmd_and_opt_values):
	(opts):
	(main):
	Rename the option simplified-ui to advanced-ui and
	reverse its meaning. The simplified UI is now the default.

	* keyring.c (keyring_editor_menubar_new): Add ... to "generate
	key" because it pops up a dialog

2001-01-17  Bernhard Herzog  <bh@intevation.de>

	* keyring.c (keyring_editor_can_sign): Change the condition.
	Signing is possible when at least one key is selected and there is
	a default key.

	(keyring_editor_generate_key_simple):
	(keyring_editor_generate_key_advanced): Update the default key and
	make sure all potentially sensitive widgets are updated.

	* keysigndlg.h (gpa_key_sign_run_dialog): Update the parameter
	list.

	* keysigndlg.c (gpa_key_sign_run_dialog): Remove the list box with
	the secret keys and the key_id paramter because we assume the
	selected keys are always signed with the default key. Also, in
	simplified ui mode, don't show the "sign locally" check box and
	set dialog.check_local to NULL.
	(key_sign_ok): Check whether dialog->check_local is NULL, i.e.
	whether the dialog was created in simplified ui mode, before
	retrieving the value. If it's NULL, set sign_type to normal.
	(struct _GPAKeySignDialog): remove the key_id field and update all
	users.

	* keyring.c (keyring_editor_sign): Change default sign type to
	normal which is probably better for the simplified UI mode. Also,
	private_key_id is the default key now, because it's not a retrun
	value of the key sign dialog anymore.

	* gpa.c (gpa_determine_default_key): New function to guess a
	useful default key.
	(main): Use gpa_determine_default_key to initialize the default
	key.

	* gtktools.c (gpa_window_error): Make the messenger parameter
	optional, i.e. it may be NULL now, so that gpa_callback can be
	used with NULL as calldata.

	* gpa.h:
	* gpa.c: Turn the definition of opt in gpa.h into an extern
	declaration and define it in gpa.c. Rename it to gpa_options. Fix
	all references to it. Introduce a typedef for the struct.

	* keysigndlg.h:
	* keysigndlg.c (gpa_key_sign_run_dialog): Add the key to be signed
	to the parameter list and display its user id and fingerprint.

	* keyring.c (keyring_editor_generate_key_advanced): Do some error
	checking after generating the key pair.
	(keyring_editor_sign): Run the keysing dialog for each selected
	key separately

2001-01-16  Bernhard Herzog  <bh@intevation.de>

	* filemenu.c (file_sign_dialog):
	* gpawidgets.c (gpa_secret_key_list_new):
	* optionsmenu.c (gpa_loadOptionsSelect_ok):
	(gpa_saveOptionsSelect_ok):
	(options_key_set):
	(options_key): Use gpa_default_key and gpa_set_default_key instead
	of accessing global_defaultKey directly.

	* gpa.h: Add the two new functions gpa_default_key
	gpa_set_default_key

	* gpa.c (global_defaultKey):
	(gpa_default_key):
	(gpa_set_default_key): Turn global_defaultKey into a static
	varible default_key and introduce gpa_set_default_key and
	gpa_default_key to set and get its value

	* gpa.c (gpa_popupMenu_init):
	(global_popupMenu) Removed because they're no longer used.

	* gpa.h: Removed global_tempWindows

	* gpa.c:
	* gpawindowkeeper.c:
	Moved global_tempWindows to gpawindowkeeper as it's only used
	there, made it static and renamed it to tempWindows because it's
	not a global variable anymore.


2001-01-15  Bernhard Herzog  <bh@intevation.de>

	* keygenwizard.c (gpa_keygen_wizard_final_page):
	Fix typo

	* keyring.c: Add and update comments
	(keyring_editor_can_sign): New function. Sensitivity callback for
	the sign key button.

	* keyring.c (keyring_editor_generate_key):
	(keyring_editor_generate_key_advanced): Renamed
	keyring_editor_generate_key to
	keyring_editor_generate_key_advanced.

	(keyring_editor_generate_key_simple): New function to call the key
	generation wizard

	(keyring_editor_generate_key): New function. Depending on the
	simple_ui flag call either keyring_editor_generate_key_advanced or
	keyring_editor_generate_key_simple

	(keyring_editor_mapped): New function. Signal handler handler for
	the map signal. If the simple_ui flag is set and no private key
	is in the keyring, suggest creating a new keypair.

	(keyring_editor_new): Connect to the map signal

	* gpawizard.c:
	* gpawizard.h:
	New files implementing a simple generic wizard interface

	* keygenwizard.h:
	* keygenwizard.c:
	New files implementing the key generation wizard

	* Makefile.am: Add the new files.

	* keygendlg.c (gpa_key_gen_run_dialog): Connect to delete-event
	and use the new gpa_window_show_centered function.

	* gtktools.h: Update the prototype of gpa_button_set_text and add
	the new message box functions

	* gtktools.c (gpa_button_set_text): Handle accelerators

	(message_box_delete):
	(message_box_clicked):
	(gpa_message_box_run):

	New functions implementing a flexible message box with caller
	definable buttons.

	* gpa.h: Add the prototypes for gpa_simplified_ui and
	gpa_set_simplified_ui

	* gpa.c (opts):
	(cmd_and_opt_values)
	Add a new option "simplified-ui" to turn on the simplified interface
	(gpa_simplified_ui):
	(gpa_set_simplified_ui):
	New functions to read and set the simplified ui flag

	(main): handle the simplified ui option in argument parsing

2001-01-11  Bernhard Herzog  <bh@intevation.de>

	* keysigndlg.c (gpa_key_sign_run_dialog):
	(key_sign_delete): Add signal handler for the delete-event signal.
	(gpa_key_sign_run_dialog): Use gpa_window_show_centered instead of
	gpa_widget_show

	* passphrasedlg.c
	Add some comments
	(gpa_passphrase_run_dialog): The handler for the
	delete-event expected to be connected with gtk_signal_connect not
	with gtk_signal_connect_object.
	Use the new gpa_window_show_centered function
	(passphrase_delete_event): Return FALSE to indicate that the
	window is to be closed.

	* gtktools.c (gpa_window_show_centered): Make it actually work.

2001-01-10  Bernhard Herzog  <bh@intevation.de>

	* gtktools.c (gpa_window_show_centered): Removed the debug
	printf()s

2001-01-09  Bernhard Herzog  <bh@intevation.de>

	* gtktools.c (gpa_window_show_centered): New function. This is a
	better way to center windows and it should replace
	gpa_widget_set_centered one day.
	(gpa_window_error): Use the new gpa_window_show_centered instead
	of gpa_widget_show
	(gpa_button_set_text): New function to update the text of a button
	widget

	* gtktools.h: Add the two new function in gtktools.c

	* gpa.c (evalMouseClistFile):
	(gpa_menubar_new):
	(delete_event):
	(evalKeyClistFile):

	Removed because they're no longer used

	* keyexportdlg.c (key_export_dialog_run):
	get rid of the gpa_space_new () call

2001-01-05  Bernhard Herzog  <bh@intevation.de>

	* encryptdlg.c
	* encryptdlg.h
	* fileman.c
	* fileman.h
	* filesigndlg.c
	* filesigndlg.h
	* gpapastrings.c
	* gpapastrings.h
	* gpawidgets.c
	* gpawidgets.h
	* help.h
	* keyexportdlg.c
	* keyexportdlg.h
	* keygendlg.c
	* keygendlg.h
	* keyreceivedlg.c
	* keyreceivedlg.h
	* keyring.c
	* keyring.h
	* keysigndlg.c
	* keysigndlg.h
	* ownertrustdlg.c
	* ownertrustdlg.h
	* passphrasedlg.c
	* passphrasedlg.h
	* tipwindow.c
	new files

	* filemenu.c:
	* gpa.c:
	* gpa.h:
	* gtktools.c:
	* gtktools.h:
	* help.c:
	* helpmenu.c:
	* helpmenu.h:
	* optionsmenu.c:
	* optionsmenu.h:

	A lot of changes and reorganization of the code. Much of the code
	is now in the new files.

	The reorganization has two goals:

	1. Change the user interface to make the keyring editor the main
	window.

	2. Internal changes to make the code more object oriented and more
	maintainable.

	The changes are very extensive and touch practically all parts of
	the UI code.

	* Makefile.am: Added the new files

2000-09-01  Werner Koch  <wk@gnupg.org>

	* icons.c, icons.h: New.  Changed all other includes of icons.xpm
	to icons.h.
	* gpa.c (gpa_file_toolbar_new): Use this new function here.
	* gtktools.c (gpa_xpm_label_box): Ditto
	* keysmenu.c (getIconNameForOwnertrust): Replaces
	getIconForOwnertrust.  Changed all callers to provide a string now.

2000-08-17  Werner Koch  <wk@gnupg.org>

	* gpa.c (i18n_init,main): Fixed locale setting as suggested by
	Clive Lin.

2000-07-25 09:02:34  Werner Koch  (wk@habibti.openit.de)

	* gpa.c (gpa_windowTips_show): Moved from here to ...
	* help.c: ... here.  Complete rewrote to read the tips rom a file.
	(get_language): New.
	(gpa_tips.en, gpa_tips.de): New.

2000-06-28 17:23:03  Werner Koch  (wk@habibti.openit.de)

	* gpa.c:  Removed the --tooltip-kludge option, becuase the bug as
	been fixed meanwhile.
	* gtktools.c (gpa_widget_show): Removed it here too.

2000-06-28 15:32:07  Jan-Oliver Wagner (jan@intevation.de)

	* gtktools.c (gpa_widget_set_centered): fixed minimization bug
	* icons.xpm: replaced temporary icons and added ownertrust icons
	* keysmenu.c: added icon to button 'sign' in public keyring editor
	dialog, added ownertrust icons in keylist of public keyring editor
	dialog

2000-06-23 16:05:04  Jan-Oliver Wagner (jan@intevation.de)

	* keysmenu.c: added icon to the delete button in the
	public keyring editor dialog

2000-06-23 16:00:53  Jan-Oliver Wagner (jan@intevation.de)

	* icons.xpm: added a trashcan (taken from KDE)

2000-06-23 10:11:02  Jan-Oliver Wagner (jan@intevation.de)

	* icons.xpm: test icons for tool bar added

2000-06-23 10:10:44  Jan-Oliver Wagner (jan@intevation.de)

	* gpa.c: test icons for tool bar added, seldom actions removed
	from toolbar

2000-06-22 13:27:35  Jan-Oliver Wagner (jan@intevation.de)

	* icons.xpm: new file, contains icon xpm's. Just tempory until
	icons are treated in a more convenient way.

2000-06-20 16:45:31  Jan-Oliver Wagner (jan@intevation.de)

	* gpa.c: added toolbar for main window - experimental stage, but
	functioning

2000-05-25 17:54:29  Werner Koch  (wk@habibti.openit.de)

	* gpa.c (main): Add a call to gpapa_init

	New option --gpg-program.

2000-05-24 10:01:06  Werner Koch  (wk@habibti.openit.de)

	* gpa.c (gpa_menubar_new): Reformated menu list.
	* helpmenu.c (help_version): renamed to ...
	(help_about): .. this and implemented.

	* gpa.c, gpa.h (namesKeyservers): Replaced by ..
	(main): ... opt.keyserver_names and malloced array.
	* optionsmenu.c (options_keyserver): Put all keyservers into the list.

	* gtktools.c (gpa_widget_show): Kludge for Sawmill and Windowmaker.

2000-05-16 19:57:28  Werner Koch  (wk@habibti.openit.de)

	Ran "indent -gnu -sc" on all source files.

2000-05-04 18:40:08  Werner Koch  (wk@habibti.openit.de)

	* *.c: Moved all gpa_widget_set_centered() before the
	gtk_widget_show_all(), so that the windows are displayed
	correctly.

2000-05-02 19:57:29  Werner Koch  (wk@habibti.openit.de)

	* gpa.c, keymenu.c, filemenu.c: Removed libiberty header.
	* gpa.h: Included xmalloc header.
