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

	Release 0.8.1.

	* doc/pinentry.texi: Remove the custom font setting for underscores.

	Update to automake 1.10.

	* missing, config.guess, config.sub: Update from GnuPG.

	* w32/main.c (debugfp): Define to stderr.
	(raise_sip) [!W32CE]: Make it a dummy function.

	* qt4/pinentrydialog.cpp (raiseWindow): Use SetForegroundWindow
	API directly.
	(SetForegroundWindowEx): Comment out.

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

	* pinentry/pinentry.c (pinentry_have_display): Also detect
	--display=DISPID.

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

	* qt/main.cpp (escape_accel): New.  Adapt from from qt4/.
	(qt_cmd_handler): Implement default-ok and default-cancel.  Escape
	accelerators.

2010-09-30  Werner Koch  <wk@g10code.com>

	* pinentry/pinentry.h (struct pinentry): Add CLOSE_BUTTON.
	* pinentry/pinentry.c (cmd_getpin, cmd_confirm, cmd_message): Send
	BUTTON_INFO.
	* gtk+-2/pinentry-gtk-2.c (delete_event): Set close_button.

2010-09-22  Werner Koch  <wk@g10code.com>

	* gtk+-2/pinentry-gtk-2.c (create_window): Make use of
	default_cancel and default_ok.

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

	* gtk+-2/Makefile.am (pinentry_gtk_2_SOURCES): Add gseal-gtk-compat.h.

	* configure.ac (AH_TOP, AH_BOTTOM): New.  Define
	GPG_ERR_ENABLE_ERRNO_MACROS.

2010-06-08  Marc Mutz  <marc.mutz@kdab.com>  (wk)

	* qt4/pinentrydialog.cpp (PinEntryDialog): Add WindowStaysOnTopHint.

	* qt/pinentrydialog.cpp (PinEntryDialog): Add WStyle_StaysOnTop.

2010-05-12  Guido Günther  <agx@sigxcpu.org>  (wk)

	* gtk+-2/gtksecentry.c: Make -DSEAL safe.
	* gtk+-2/gseal-gtk-compat.h: New.
	* gtk+-2/gtksecentry.h: Include new header.

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

	* gtk+-2/pinentry-gtk-2.c (create_window): Keep the window above
	and make sure it has the focus.  Fixes bug#1162.

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

	* gtk+-2/pinentry-gtk-2.c (create_window): Use
	visibility-notify-event instead of map-event.  Suggested by Ed
	Marten.

2010-04-26  Werner Koch  <wk@g10code.com>

	* gtk+-2/pinentry-gtk-2.c (grab_failed): New.
	(grab_keyboard): s/g_error/g_critical/.  Set GRAB_FAILED.
	(gtk_cmd_handler): Return Cancel if a grab failed.

2010-04-20  Marcus Brinkmann  <marcus@g10code.de>

	* pinentry/pinentry.c: Move include config.h to top!

2010-04-19  Werner Koch  <wk@g10code.com>

	* gtk+-2/gtksecentry.c (gtk_secure_entry_delete_cb)
	(gtk_secure_entry_toggle_overwrite, activate_cb)
	(unichar_chosen_func): Comment out these unused functions.
	(secentry_malloc): Fix format string error.

2010-04-19  Stanislav Ochotnicky  <sochotnicky@redhat.com>  (wk)

	* gtk+-2/pinentry-gtk-2.c (ungrab_keyboard): Fix segv when using
	option -g.

2010-04-16  Marcus Brinkmann  <marcus@g10code.de>

	* secmem/util.c: Fix inverted test.

2010-04-12  Werner Koch  <wk@g10code.com>

	* w32/main.c (dlg_proc): Act on VK_RETURN.

	* w32/pinentry-w32.rc: Include config.h. Add basic support for
	small screens as used with WindowsCE.

	* w32/Makefile.am (pinentry-w32.o): Add -I.. to the command.

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

	* pinentry/pinentry.c [W32CE]: Do not include errno.h and
	locale.h.
	(pinentry_have_display) [W32CE]: Do not use getenv.
	(pinentry_parse_opts) [W32CE]: No error diagnostics due to missing
	errno.
	(sleep) [W32CE]: New.
	(option_handler) [W32CE]: Ignore option --debug-wait.
	(getpid) [W32CE]: New.
	(pinentry_loop): Use STDIN_FILENO and STDOUT_FILENO.
	(pinentry_loop): Factor code out to ...
	(pinentry_loop2): New.
	* w32/main.c (w32_strerror) [W32CE]: Do not use FormatMessage.
	(main) [W32CE]: Do not use LockSetForegroundWindow.
	(set_dlg_item_text): Use wchar_t for static string.
	* secmem/util.c [W32CE]: Do not include errno.h.
	(xwrite) [W32CE]: Shortcut EINTR loop.

2010-04-07  Werner Koch  <wk@g10code.com>

	* autogen.sh: Modernized.

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

	Release 0.8.0.

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

	* qt4/main.cpp (from_utf8): Add extra braces for clarity.
	(main): Copy the fixed --display string.

2010-02-25  Marc Mutz  <marc@kdab.com>  (wk)

	* qt4/main.cpp (from_utf8): don't throw InvalidUtf8(); for now,
	fall back to QString::fromLocal8Bit()

2010-02-22  Marc Mutz  <marc@kdab.com>  (wk)

	* qt4/main.cpp (InvalidUtf8): New exception class.
	(from_utf8): wrapper around QString::fromUtf8 throwing
	InvalidUtf8.
	(qt_cmd_handler): Use from_utf8 instead of QString::fromUtf8.
	(qt_cmd_handler_ex): New wrapper around qt_cmd_handler.
	(pinentry_cmd_handler): Use qt_cmd_handler_ex.

	* qt4/main.cpp (qt_cmd_handler): Also handle accels in
	SET{OK,NOTOK,CANCEL} string.

2010-02-19  Marc Mutz  <marc@kdab.com>  (wk)

	* qt4/main.cpp (qt_cmd_handler), qt4/pinentrydialog.cpp
	(PinentryDialog::PinEntryDialog): Use the button icons that come
	with Qt.

	* qt4/pinentry_qrc, qt4/qrc_pinentry.cpp: New.
	* qt4/gtk-cancel.png, qt4/gtk-ok.png: Removed.
	* qt4/Makefile.am (EXTRA_DIST): Remove the GTK icons, add
	pinentry.qrc.
	(pinentry_qt4_SOURCES): add qrc_pinentry.cpp.

	* qt4/main.cpp (qt_cmd_handler): Remove i18n support again.

	* qt4/pinentrydialog.cpp (PinentryDialog::PinentryDialog):
	set PIN entry field as buddy of its prompt

	* qt4/main.cpp (escape_accel): New.
	(qt_cmd_handler): use it on default_cancel, default_ok, prompt.

	* qt4/pinentrydialog.h, qt4/pinentrydialog.cpp
	(PinEntryDialog::PinEntryDialog): don't use a nested vbox layout.

	* qt4/pinentrydialog.h: replace include file with forward decl.
	* qt4/pinentrydialog.cpp: add include file here.

	* qt4/pinentrydialog.h, qt4/pinentrydialog.cpp
	(PinentryDialog::keyPressEvent()): Removed.

	* qt/4pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): use
	QLayout::SetFixedSize instead of rolling our own solution.
	* qt4/pinentrydialog.h: (PinentryDialog::setFixedSize): Removed.
	* qt4/pinentrydialog.moc: Re-created.

	* qt4/main.cpp: (qt_cmd_handler) make Cancel the default button
	for CONFIRM

	* qt4/main.cpp: (qt_cmd_handler) implement the confirm/message
	logic correctly

	* qt4/pinentrydialog.h (accepted, rejected): Removed; already
	provided by base class.
	* qt4/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Use
	QDialog::{accepted,rejected}.
	* qt4/pinentrydialog.moc: Re-created.

	* qt4/pinentrydialog.moc, qt4/qsecurelineedit.moc: Make compatible
	with newer Qt version.

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

	* gtk+-2/pinentry-gtk-2.c (create_window): Allow mnemonics in
	button labels.

	* pinentry/pinentry.h (struct pinentry): Add default_prompt.
	* pinentry/pinentry.c (option_handler): Support "default-prompt".
	(cmd_getpin): Use it.
	(noprefix_strdup): Remove; should be done by caller.

2010-02-17  Werner Koch  <wk@g10code.com>

	* pinentry/pinentry.h (struct pinentry): Add default_ok and
	default_cancel.
	* pinentry/pinentry.c (noprefix_strdup): New.
	(option_handler): Support "default-ok" and "default-cancel".
	(strcpy_escaped): Change second arg from unsigend char to char.

2010-02-16  Werner Koch  <wk@g10code.com>

	* qt4/document-encrypt.png, qt4/gtk-cancel.png, qt4/gtk-ok.png: New.
	* qt4/Makefile.am (EXTRA_DIST): Add them.

2010-02-15  Christoph Schleifenbaum <christoph@kdab.com>  (wk)

	Also attributed to Marc Mutz <marc@kdab.com>.

	* qt4/main.cpp, qt/pinentrydialog.cpp: If the style says so,
	set (GTK) icons on OK and Cancel buttons.

2010-02-15  Christoph Schleifenbaum <christoph@kdab.com>  (wk)

	* qt4/main.cpp: Use an explicit QMessageBox instead of the
	'information' convenience method.  We do this for two reasons:
	1. So we can set our own icon (icon()).  2. So we can call our
	raiseWindow() function on it.

2010-02-15  Christoph Schleifenbaum <christoph@kdab.com>

	* qt4/main.cpp: Use title. Use Qt translation of "OK" and "Cancel"

	* qt4/pinentrydialog.cpp: Don't show the question-mark icon in the
	window title.

2010-02-15  Christoph Schleifenbaum <christoph@kdab.com>  (wk)

	* qt4/pinentrydialog.h, qt4/pinentrydialog.cpp: Use the
	document-encrypt icon instead of the
	QMessageBox::{Information,Critical} ones.

2010-02-15  Christoph Schleifenbaum <christoph@kdab.com>  (wk)

	Also attributed to Marc Mutz <marc@kdab.com>.

	* qt4/pinentrydialog.cpp: Properly show/hide optional widgets.

2010-02-15  Christoph Schleifenbaum <christoph@kdab.com>

	* qt4/pinentrydialog.cpp: Set text color or error label to red.

2010-02-15  Christoph Schleifenbaum <christoph@kdab.com>  (wk)

	Also attributed to Marc Mutz <marc@kdab.com>.

	* qt4/pinentrydialog.cpp: Gather scattered layouting code, use a
	single gridlayout for all, and use QDialogButtonBox.

2010-02-15  Christoph Schleifenbaum <christoph@kdab.com>  (wk)

	* qt4/pinentrydialog.cpp: Call SetForegroundWindow on showEvent()
	and set a fixed size on the dialog.

	* qt4/main.cpp: Set document-encrypt as the window icon.

2010-02-15  Marc Mutz <marc@kdab.com>  (wk)

	* qt4/main.cpp: Load the correct Qt translation file based on
	either lc_messages or the current locale.

	* qt4/main.cpp: Use pinentry_t->parent_wid also for message-box
	case.

	* qt4/main.cpp: Properly delete the QApplication.

2010-02-15  Christoph Schleifenbaum <christoph@kdab.com>  (wk)

	* qt4/main.cpp: Remove guard clause with impossible condition.

	* qt4/main.cpp: Respect pinentry_t->title.

	* qt4/main.cpp: Include config.h.

2009-12-16  Marcus Brinkmann  <marcus@g10code.de>

	* gtk+-2/gtksecentry.c: Don't translate properties.
	Patch by Guido Guenther <agx@sigxcpu.org>.

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

	* secmem/util.c: Re-indent function names.
	(TEMP_FAILURE_RETRY): Remove because it is non-portable.
	(xwrite): Open code the EINTR retry.
	* pinentry/pinentry-curses.c (dialog_run): Replace '\e' by a
	standard escape.  Reported by Wyllys Ingersoll.

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

	* pinentry/pinentry.c [!ENABLE_ENHANCED]: Remove option enhanced.
	* pinentry/pinentry.h (struct pinentry) [!ENABLE_ENHANCED]: Remove
	member enhanced.
	* gtk+-2/pinentry-gtk-2.c: New macro.
	(button_clicked, create_window) [!ENABLE_ENHANCED]: Disable code.
	* gtk/pinentry-gtk.c (button_clicked, create_window): Likewise.
	* doc/pinentry.texi (Using pinentry): Comment out enhanced option.

2009-07-10  Till Adam  <till@kdab.com>

	* qt4/pinentrydialog.cpp (PinEntryDialog): Redesign the dialog to
	be prettier.

2009-06-19  Marcus Brinkmann  <marcus@g10code.de>

	* configure.ac: Post-release changes.

	Release version 0.7.6.

	* configure.ac: Bump version.

2009-01-29  Bernhard Reiter  <bernhard@intevation.de>

	* doc/pinentry.texi (Using pinentry): Fix typo.

2009-04-24  Guido Guenther <agx@sigxcpu.org>

	* gtk+-2/gtksecentry.c (gtk_secure_entry_class_init): Don't
	install "gtk-entry-select-on-focus" settings property since it
	clashes with the one from GtkEntry.
	(gtk_secure_entry_grab_focus): Create a temporary GtkEntry widget
	to read that value instead. Allows to have GtkEntry and
	GtkSecureEntry in the same process.

2009-06-19  Marcus Brinkmann  <marcus@g10code.de>

	Suggested by Simon McVittie:
	* gtk+-2/gtksecentry.c (g_malloc, g_realloc, g_free): Renamed to
	secentry_malloc, secentry_realloc.
	(g_malloc0): Removed.
	(GMALLOC_SIZE): Move to ...
	* gtk+-2/gtksecentry.h (GMALLOC_SIZE): ... here.
	(secentry_malloc, secentry_realloc, secentry_free): New prototypes.
	* gtk+-2/pinentry-gtk-2.c (main): Set memory allocation vtable.

2009-05-04  Till Adam <till@kdab.net>

	* qt4/main.cpp (qt_cmd_handler): Use WId instead of HWND.

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

	* pinentry/pinentry.h (struct pinentry): New member NOTOK.
	Rename member USER_CLOSED to CANCELED.
	* pinentry/pinentry.c: Add initializer for NOTOK.
	(register_commands): Add SETNOTOK.
	* pinentry/pinentry-curses.c (STRING_NOTOK): New macro.
	(dialog_pos_t): New value DIALOG_POS_NOTOK.
	(struct dialog): New members notok, notok_x, notok_y.
	(dialog_create): Implement NOTOK.
	(dialog_switch_pos): Likewise.
	(dialog_run): Likewise.
	* gtk+-2/pinentry-gtk-2.c: Rename confirm_yes to confirm_value.
	(confirm_value_t): New type.  Use it for confirm_value.
	(window_closed): Remove.
	(confirm_button_clicked): Set confirm_value.
	(create_window): Implement NOTOK.
	(gtk_cmd_handler): Implement cancel behaviour a bit differently.

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

	* qt4/qsecurelineedit.h (QSecureLineEdit): Don't export.

2009-04-06  Marcus Brinkmann  <marcus@g10code.de>

	* configure.ac: Portability fixes.

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

	* qt4/Makefile.am (pinentry_qt4_SOURCES): Add qsecurelineedit_p.h.

	* secmem/Makefile.am (libsecmem_a_SOURCES): Add secmem++.h.
	* qt4/Makefile.am (pinentry_qt4_SOURCES): Add pinentrydialog.moc
	and qsecurelineedit.

	* configure.ac: Incorporate revision number in version string.

2009-04-02  Till Adam <till@kdab.net>

	* qt4/qsecurelineedit.moc, qt4/main.cpp, qt4/pinentrydialog.moc,
	qt4/qsecurelineedit.cpp, qt4/pinentrydialog.cpp,
	qt4/pinentrydialog.h: Implement quality bar and grabbing.

	* qt4/pinentrydialog.cpp (PinEntryDialog): Enable word wrapping.

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

	* qt4/main.cpp (qt_cmd_handler): Cast window handle ID.

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

	* pinentry/pinentry.h (struct pinentry): Add field user_closed.
	* pinentry/pinentry.c (cmd_getpin, cmd_confirm, cmd_message):
	Reset this field.
	(cmd_confirm): Return cancel if the user closed the window.
	* gtk+-2/pinentry-gtk-2.c (window_closed): New.
	(gtk_cmd_handler, delete_event): Set it.

2009-02-19  Marcus Brinkmann  <marcus@g10code.de>

	* secmem/secmem++.h: New file.
	* qt4/Makefile.am, qt4/main.cpp, qt4/pinentrydialog.cpp,
	qt4/pinentrydialog.h: Changes to use secure memory.
	* qt4/pinentrydialog.moc, qt4/qsecurelineedit.moc: New files.
	* qt4/qsecurelineedit.cpp, qt4/qsecurelineedit.h,
	qt4/qsecurelineedit_p.h, qt4/secstring.h, qt4/secstring.cpp: New
	files.
	Submitted by Marc Mutz <marc@kdab.net>.

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

	* qt/main.cpp (qt_cmd_handler) <!want_pass>: Translate from utf8.
	* qt4/main.cpp (qt_cmd_handler) <!want_pass>: Translate from utf8.

2008-11-12  Ludovic Rousseau <ludovic.rousseau@gmail.com>  (wk)

	* pinentry/pinentry.h (struct pinentry): Add field TITLE.
	* pinentry/pinentry.c (cmd_settitle): New.
	(register_commands): Add command SETTITLE.
	* gtk+-2/pinentry-gtk-2.c (create_window): Set the title.

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

	* secmem/memory.h: Add C++ extern declaration.

	* secmem/secmem.c (secmem_get_max_size): New.

2008-07-25  Marcus Brinkmann  <marcus@ulysses.g10code.com>

	* qt4/Makefile.am (DISTCLEANFILES): Rename to CLEANFILES.
	(BUILD_SOURCES): New.

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

	* configure.ac: Prefer pinentry gtk2 over gtk.  Now also choose
	qt4 (after qt and before w32 native).
	* README: Document Qt.

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

	* qt4/pinentrydialog.h, qt4/pinentrydialog.cpp, qt4/main.cpp,
	qt4/Makefile.am: New files.
	* configure.ac: Add check for Qt4.
	(AC_CONFIG_FILES): Add qt4/Makefile.am.
	* Makefile.am (pinentry_qt4): New variable.
	(SUBDIRS): Add ${pinentry_qt4}.

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

	* secmem/secmem.c (secmem_init): Fix apostrophe in error
	message. Reported by Petr Uzel.

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

	* gtk+-2/gtksecentry.c (GMALLOC_SIZE): New symbol.
	(g_malloc, g_malloc0, g_realloc): Use GMALLOC_SIZE instead of
	gulong for size attribute.

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

	* gtk+-2/pinentry-gtk-2.c (create_window): Install realize callback.
	(ungrab_keyboard): Unmake dialog transient.
	(make_transient): New function.
	Submitted by Joachim Breitner.

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

	Release 0.7.4.

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

	* configure.ac: Check for -Wno-pointer-sign.

	* pinentry/pinentry.c (cmd_getinfo): New.
	(register_commands): Register it.

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

	* configure.ac: Use PKG_CONFIG instead of PKGCONFIG and
	pkg-config.  Use AC_PATH_PROG instead of AC_CHECK_PROG.

	* Makefile.am (install-exec-local): Add exe extension to link.

2007-11-29  Marcus Brinkmann  <marcus@g10code.de>

	Released 0.7.4.

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

	* doc/pinentry.texi (Protocol): Typo fixes by Bernhard Herzog.
	Describe SETQUALITYBAR_TT.

2007-11-19  Bernhard Herzog  <bernhard.herzog@intevation.de>  (wk)

	* qt/pinentrydialog.cpp (PinEntryDialog): Fixed crash

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

	* gtk+-2/pinentry-gtk-2.c (create_window): Use again map-event and
	unmap-event as this works on my setup far more reliable than
	expose-event/no-expose-event.

	* gtk+-2/gtksecentry.c (get_cursor_time): s/time/blinktime/ t
	avoid shadowing warning.

	* pinentry/pinentry.h (struct pinentry): Change QUALITY_BAR to a
	char ptr.
	(struct pinentry): Add QUALITY_BAR_TT.
	* pinentry/pinentry.c (cmd_setqualitybar): Allow to set a label text.
	(cmd_setqualitybar_tt): New.
	* gtk+-2/pinentry-gtk-2.c (create_window): Take label and tooltip
	from global.
	* qt/pinentrydialog.h (setQualityBar, setQualityBarTT)
	(_quality_bar_label): New.
	* qt/pinentrydialog.cpp (setQualityBar, setQualityBarTT): New.
	(PinEntryDialog): Remove setting of tooltip.

	* qt/main.cpp (qt_cmd_handler): Propagate quality bar label and tootip.

2007-11-19  Bernhard Herzog  <bernhard.herzog@intevation.de>  (wk)

	* qt/pinentrydialog.cpp (PinEntryDialog): Move the quality bar
	below the text entry and align them properly.  Show a tooltip.
	* gtk+-2/pinentry-gtk-2.c (create_window): Ditto.  Don't let it
	change its height.
	(QUALITYBAR_EMPTY_TEXT): New.

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

	* qt/secqlineedit.h (SecQLineEdit): New signal textModified.
	* qt/secqlineedit.cpp (finishChange): Emit it.
	* qt/pinentrydialog.cpp (setPinentryInfo): New.
	(PinEntryDialog): Add arg ENABLE_QUALITY_BAR.
	* qt/pinentrydialog.h (setPinentryInfo): New.
	(PinEntryDialog): Add arg ENABLE_QUALITY_BAR.

	* pinentry/pinentry.h (struct pinentry): Add member QUALITY_BAR
	and CTX_ASSUAN.
	* pinentry/pinentry.c (cmd_setqualitybar): New.
	(copy_and_escape): New.
	(pinentry_inq_quality): New.

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

	* doc/pinentry.texi: Fixed direntry syntax.

	* configure.ac: Add --without-libcap.  From the Gentoo patch archive.

	* gtk+-2/pinentry-gtk-2.c (create_window): Use expose-event
	instead of map-event.  From Alon Bar-Lev.

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

	Released 0.7.3.

	* config.sub, config.guess: Updated from current Savannah CVS.

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

	* w32/main.c: Revamped the SetFocus stuff.  It is all not that easy.

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

	* w32/Makefile.am (pinentry_w32_LDFLAGS): Add -mconsole again.

	* w32/main.c (dlg_proc): Set focus.
	(resize_button): New.  No code yet.
	(dlg_proc): Call it for the buttons.
	(w32_cmd_handler): Restore old foreground window.

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

	* w32/Makefile.am (pinentry_w32_LDFLAGS): Remove -mconsole.

	* w32/main.c (wchar_to_utf8): New.
	(ok_button_clicked): Use it.
	(utf8_to_wchar): New.
	(set_dlg_item_text): New.
	(dlg_proc): Use new function so that we are able to correctly
	display all prompts.
	(main): Load LockSetForegroundWindow.
	(dlg_proc): Call LockSetForegroundWindow via its fnc ptr.
	(center_window): New.  Taken from GPGol.
	(dlg_proc): Call it.
	(w32_cmd_handler): Revamped the confirm mode.

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

	* w32/main.c (dlg_proc): Call LockSetForegroundWindow.

	* Makefile.am (signed-dist, %.sig): Remove.

	* autogen.sh: Modernized.

2007-05-10  Marcus Brinkmann  <marcus@g10code.de>

	* pinentry/pinentry.h (pinentry_color_t): New type.
	(struct pinentry): New members COLOR_FG, COLOR_FG_BRIGHT,
	COLOR_BG, COLOR_SO.
	* pinentry/pinentry.c (pinentry_parse_opts): Support new option --colors.
	(parse_color): New function.
	* pinentry/pinentry-curses.c (USE_COLORS): New macro.
	(pinentry_color): New static variable.
	(dialog_create): Redo color management.

	* pinentry/pinentry-curses.c (dialog_create): Re-add calculation
	of cancel button position.  Adjust calculation of OK button
	position if it is the only one used.

2007-04-13  Marcus Brinkmann  <marcus@g10code.de>

	* qt/secqlineedit.h (SecQLineEdit::contextMenuEvent,
	SecQLineEdit::createPopupMenu): Remove prototype.
	* qt/secqlineedit.cpp (SecQLineEdit::contextMenuEvent,
	SecQLineEdit::createPopupMenu): Remove implementation.
	Submitted by Tobias Koenig <tokoe@kde.org>.

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

	* pinentry/pinentry.h (struct pinentry): Add TOUCH_FILE.
	* pinentry/pinentry.c (option_handler): New option "touch-file".
	(pinentry_have_display): Ignore an empty DISPLAY.
	* pinentry/pinentry-curses.c (do_touch_file): New.
	(curses_cmd_handler): Call it.
	* configure.ac: Check for utime.h.

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

	* pinentry/pinentry.c (cmd_message): New.
	(cmd_confirm): New command option --one-button.
	(cmd_getpin): Zeroise ONE_BUTTON.
	* pinentry/pinentry.h (struct pinentry): Add field ONE_BUTTON.
	* gtk/pinentry-gtk.c (create_window): Take care of new option.
	* gtk+-2/pinentry-gtk-2.c (create_window): Ditto.
	* pinentry/pinentry-curses.c (dialog_create): Ditto.
	(dialog_create, dialog_switch_pos): Allow CANCEL to be optional.

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

	* secmem/secmem.c (init_pool): Close FD after establishing the
	mapping.

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

	* configure.ac (PINENTRY_GTK): Error out if iconv is not found but
	needed.

	* config.rpath: New file from gettext.  Needed by iconv.m4.

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

	* pinentry/pinentry-curses.c (dialog_switch_pos): Set the cursor
	state to invisible before moving around.  Move the cursor to the
	beginning of the dialog buttons for accessibility.

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

	* pinentry/pinentry-curses.c (dialog_run): Only convert pin if a
	pin actually exists.

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

	Released 0.7.2.

	* gtk+-2/Makefile.am: Removed padlock-keyhole.xpm.

	* configure.ac: Use AC_GNU_SOURCE instead of the custom define.
	Prefer gtk2 pinentry over qt.

2005-01-21  Marcus Brinkmann  <marcus@g10code.de>

	* doc/pinentry.texi: Fix spelling errors.
	Submitted by Ville Skyttä.

2004-12-23  Werner Koch  <wk@g10code.com>

	* w32/pinentry-w32.rc: Remove the default texts for description,
	prompt and error.  Make it system modal.  Enlarge the description
	field.

2004-12-22  Timo Schulz  <twoaday@g10code.com>

	* w32/main.c: Remove all helper functions and use a callback
	to set the dialog items directly.
	(dlg_proc): Set 'result' to -1 to indicate cancel.
	(ok_button_clicked): Adjusted. Set 'result' to the len of
	the PIN to indicate success.

2004-12-22  Werner Koch  <wk@g10code.com>

	* w32/main.c: Simplified.
	* w32/dialog.h, w32/dialog.c, w32/controller.h, w32/controller.c:
	Removed

	* w32/resource.h, w32/pinentry-w32.rc, w32/main.c, w32/dialog.h
	* w32/dialog.c, w32/controller.h, w32/controller.c
	* w32/Makefile.am: New.  Based on Timo's work.

	Update to automake 1.9.

	* autogen.sh (configure_ac): Add --build-w32 option.
	* Makefile.am: Support for the W32 pinentry.
	* configure.ac: Ditto.  Reformatted some error messages.
	Define the usual conditionals for W32.
	Check for a couple of more usually required headers.

	* pinentry/pinentry.h (sleep) [W32]: New.

	* pinentry/pinentry.c: Include langinfo.h only if available.
	(pinentry_loop) [DOSISH]: Don't do uid check.

	* secmem/util.c [DOSISH]: Disable UID stuff.

2004-09-27  Marcus Brinkmann  <marcus@g10code.de>

	* acinclude.m4 (IU_LIB_NCURSES, IU_LIB_CURSES, IU_LIB_TERMCAP):
	Moved to m4/curses.m4.
	(AM_ICONV): Moved to m4/iconv.m4.
	(AM_PATH_GLIB): Moved to m4/glib.m4.
	(QT_FIND_FILE, QT_PATH_MOC, QT_PATH_X, QT_PRINT_PROGRAM,
	QT_CHECK_VERSION, QT_PATH_1_3, QT_PATH, QT_CHECK_COMPILER_FLAG,
	QT_REMOVE_FORBIDDEN, QT_VALIDIFY_CXXFLAGS, QT_CHECK_COMPILERS,
	QT_CHECK_RPATH, QT_CHECK_LIBPTHREAD, QT_CHECK_PTHREAD_OPTION,
	QT_CHECK_THREADING): Move to m4/qt.m4.

2004-09-21  Marcus Brinkmann  <marcus@g10code.de>

	* qt/Makefile.am (pinentry_qt_LDFLAGS): Add $(QT_RPATH).
	Requested by Leo Savernik <l.savernik@aon.at>.

2004-09-02  Marcus Brinkmann  <marcus@g10code.de>

	* gtk+-2/padlock-keyhole.xpm: File removed.
	* gtk+-2/pinentry-gtk-2.c (create_window): Use stock icon.
	* gtk+-2/gtksecentry.h, gtk+-2/gtksecentry.c: Fix copyright notice.

	Submitted by Albrecht Dress albrecht.dress@arcor.de.

2004-08-17  Marcus Brinkmann  <marcus@g10code.de>

	* configure.ac: Invoke AC_PROG_LN_S.
	(PINENTRY_DEFAULT): New variable.  Substitute it.  Fail if no
	default can be determined.
	* Makefile.am (install-exec-local): Install pinentry default link.

	* configure.ac: Check for Gtk+-2.
	* gtk+-2: New directory with gtk+-2 pinentry.
	* gtk+-2/Makefile.am, gtk+-2/gtksecentry.h, gtk+-2/gtksecentry.c,
	gtk+-2/pinentry-gtk-2.c, gtk+-2/padlock-keyhole.xpm: New files.
	* Makefile.am (pinentry_gtk_2): New variable.
	(SUBDIRS): Add pinentry_gtk_2.

	Submitted by Albrecht Dress albrecht.dress@arcor.de.

2004-08-04  Werner Koch  <wk@g10code.de>

	* pinentry/pinentry.c (usage): Print help to stdout.

2004-07-30  Moritz Schulte  <moritz@g10code.com>

	* qt/Makefile.am (ncurses_include): Removed
	-I$(top_srcdir)/pinentry ...
	(AM_CPPFLAGS): ... added: -I$(top_srcdir)/pinentry.  Thanks to
	Peter Eisentraut.

	* pinentry/pinentry.c (pinentry_utf8_to_local): Declare INPUT
	const.
	(pinentry_local_to_utf8): Likewise.
	(pinentry_utf8_to_local, pinentry_local_to_utf8): Compile only, if
	either Curses or GTK+ support is enabled.
	* configure.ac: Do also check for libiconv when the GTK+ version
	of pinentry is to be build.  Define PINENTRY_CURSES, PINENTRY_GTK,
	PINENTRY_QT depending on which versions of pinentry should be
	build.

2004-05-21  Marcus Brinkmann  <marcus@g10code.de>

	* acinclude.m4 (QT_CHECK_DIRECT): Removed.
	(QT_PATH_1_3): Do never invoke QT_CHECK_DIRECT.

2004-04-21  Werner Koch  <wk@gnupg.org>

	Released 0.7.1.

2004-04-20  Werner Koch  <wk@gnupg.org>

	* secmem/secmem.c [!ORIGINAL_GPG_VERSION]: Include util.h for some
	typedefs and protos.
	(secmem_free, secmem_term): Use wipememory2 instead of memset.

	* autogen.sh (configure_ac): Fixed version check (s/==/=/).

2004-04-02  Thomas Schwinge  <schwinge@nic-nac-project.de>

	* autogen.sh: Added ACLOCAL_FLAGS.

2004-02-23  Marcus Brinkmann  <marcus@g10code.de>

	* qt/main.cpp: Include "pinentry.h", not <pinentry.h>.

2004-01-30  Werner Koch  <wk@gnupg.org>

	* configure.ac (fopencookie): Remove that test.

2004-01-28  Moritz Schulte  <mo@g10code.com>

	* gtk/gtksecentry.c:
	(gtk_secure_entry_key_press): Treat GDK_KP_Enter just like
	GDK_Return.

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

	* qt/secqstring.cpp: Do not include "private/qunicodetables_p.h".
	(isRightToLeft): De-optimize direction query.

	* qt/secqinternal_p.h, qt/secqinternal.cpp: New files.
	* qt/Makefile.am (pinentry_qt_SOURCES): Add secqinternal_p.h
	and secqinternal.cpp.
	(EXTRA_DIST): Add README.SecQ.
	* qt/secqlineedit.cpp: Include "secqinternal_p.h".
	(drawContents): Use SecQSharedDoubleBuffer.

2004-01-02  Werner Koch  <wk@gnupg.org>

	* configure.ac: Early check for a c++ compiler.

2003-12-23  Werner Koch  <wk@gnupg.org>

	Released 0.7.0.

	Added Manifest files to all directories.

2003-12-22  Werner Koch  <wk@gnupg.org>

	* qt/main.cpp: Include errno.h.
	(main): Translate the --display option to -display, so that the Qt
	init code can grasp it.

	* doc/ChangeLog: Removed and merged with this file.
	* doc/pinentry.texi: Cleaned up.
	* doc/fdl.texi: Removed.

	* pinentry/pinentry.h (struct pinentry): Added LOCALE_ERR.
	* gtk/pinentry-gtk.c (button_clicked): Set the LOCAE_ERR flag.
	* pinentry/pinentry-curses.c (dialog_run): Ditto.
	* pinentry/pinentry.c (cmd_getpin, cmd_confirm): Check this flag.
	(pinentry_local_to_utf8): Release the correct buffer in the error
	case. Print diagnostics.
	(pinentry_utf8_to_local): Print diagnostics.
	(pinentry_parse_opts): Make short options work.
	(pinentry_utf8_to_local): Pass nl_langinfo to iconv_open.

	* gtk/pinentry-gtk.c (button_clicked): Use the right value as
	input for the conversion.

	* pinentry/pinentry.c: New variable THIS_PGMNAME.
	(pinentry_init): Add arg PGMNAME and store it.  Use it at all
	marked placed instead of the constant "pinentry".
	(usage): Use it here too.
	* curses/pinentry-curses.c (main): Call pinentry_init with our name.
	* qt/main.cpp (main): Ditto.
	* gtk/pinentry-gtk.c (main): Ditto.

	* configure.ac: Check for mmap.

	* secmem/util.h (wipememory2,wipememory,wipe): New.
	* secmem/util.c (wipe): Removed.
	* secmem/util.c (lower_privs, raise_privs): Commented out.

	* pinentry/pinentry.c (pinentry_loop): Add paranoia check for
	dropped privs.

	* secmem/secmem.c (lock_pool): Cleanup syntax of cpp directives.

	* gtk/pinentry-gtk.c (main): Print package name in the version line.
	* curses/pinentry-curses.c (main): Ditto.
	* qt/main.cpp (main): Ditto. Fixed typo.

	* gtk/pinentry-gtk.c: Include memory.h.

2003-12-20  Marcus Brinkmann  <marcus@g10code.de>

	* pinentry/pinentry.h (struct pinentry): New member PARENT_WID.
	* pinentry/pinentry.c (pinentry): Add new member here.
	(usage): Add --parent-wid.
	(pinentry_parse_opts): Add case for "parent-wid".
	(option_handler): Same here.

2003-12-19  Marcus Brinkmann  <marcus@g10code.de>

	* pinentry/pinentry.c (cmd_setcancel): Use strcpy_escaped.
	(cmd_setok): Likewise.
	(cmd_setprompt): Likewise.
	(pinentry_utf8_to_local): Don't use
	nl_langinfo, but just lc_ctype directly.
	* pinentry/pinentry.c (cmd_getpin): Do not convert passphrase to
	UTF-8 here.
	* gtk/pinentry-gtk.c (button_clicked): Convert passphrase to UTF8
	here.
	* pinentry/pinentry-curses.c (dialog_run): Likewise.

2003-12-14  Marcus Brinkmann  <marcus@g10code.de>

	* pinentry/pinentry.c (pinentry_init): Register secmem_term as
	atexit function.  Set assuan malloc hooks to secmem.
	(pinentry_parse_opts): Add break statement to silence gcc warning.
	* pinentry/pinentry.c (cmd_getpin): If canceled, release and clear
	PINENTRY->pin nevertheless.

	* acinclude.m4 (qt_incdirs): Add /usr/include/qt3.
	* qt/Makefile.am (pinentry_qt_SOURCES): Remove cppmemory.h,
	cppmemory.cpp, pinentrycontroller.h, pinentrycontroller.cpp.
	(nodist_pinentry_qt_SOURCES): Remove pinentrycontroller.moc.cpp.
	(libcurses): Move ../pinentry/libpinentry.a from here to ...
	(pinentry_qt_LDADD): ... here.  Change order a bit to make it
	work.
	* qt/cppmemory.h, qt/cppmemory.cpp, qt/pinentrycontroller.h,
	qt/pinentrycontroller.cpp: Files removed.
	* qt/secqstring.h, qt/secqstring.cpp, secqlineedit.h,
	secqlineedit.cpp: New files.
	* qt/Makefile.am (pinentry_qt_SOURCES): Add secqstring.h,
	secqstring.cpp, secqlineedit.h, and secqlineedit.cpp.
	(nodist_pinentry_qt_SOURCES): Add secqlineedit.moc.cpp.
	* qt/main.cpp: Do not include "memory.h" or "secmem-util.h", nor
	<new> or "pinentrycontroller.h".  Include <qapplication.h>,
	<qmessagebox.h>, <qwidget.h> and "secqstring.h".  Always include
	<pinentry.h>.
	[USE_KDE]: Remove all instances.
	(curses_main): Function removed.
	(my_new_handler): Likewise.
	(qt_main): Likewise.
	(qt_cmd_handler): New function.
	(pinentry_cmd_handler): Define always (to qt_cmd_handler).
	(main): Rewritten.
	* qt/pinentrydialog.cpp: Do not include <qlineedit.h>, but
	"secqlineedit.h".
	(PinEntryDialog::PinEntryDialog): Make _edit a SecQLineEdit
	object.  Connect accepted SIGNAL to accept SLOT, and rejected
	SIGNAL to reject SLOT.
	(PinEntryDialog::setText): Make argument SecQString rather than
	QString.
	(PinEntryDialog::text): Likewise for return value.
	* qt/pinentrydialog.h: Declare SecQString and SecQLineEdit classes.
	(class PinEntryDialog): Disable property text (for now).  Adjust
	argument of setText and return value of text, as well as type of
	_edit.

2003-12-09  Werner Koch  <wk@gnupg.org>

	* README.CVS: New.
	* Makefile.am (EXTRA_DIST): Add README.CVS
	(ACLOCAL_AMFLAGS): New.
	* configure.ac: Added min_automake_versions.
	* autogen.sh: Revamped.

2003-04-23  Steffen Hansen  <steffen@klaralvdalens-datakonsult.se>

	* configure.ac: Version 0.6.10-cvs

2003-04-23  Steffen Hansen  <steffen@klaralvdalens-datakonsult.se>

	* configure.ac: Version 0.6.9
	* qt/Makefile.am: Added moc files to DISTCLEANFILES
	* qt/pinentrycontroller.cpp: Dont spew assuan debug stuff out on stderr.

2003-03-26  Steffen Hansen  <steffen@klaralvdalens-datakonsult.se>

	* qt/cppmemory.cpp, qt/main.cpp: Only override array allocation
	  operators. This should take care of the reported memory-problems
	  and even make pinentry-qt use a bit less memory.

2003-02-15  Steffen Hansen  <steffen@klaralvdalens-datakonsult.se>

	* qt/pinentrydialog.h, qt/pinentrydialog.cpp: Added icons
	  for error/non-error messages.

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

	Released 0.6.8.

2003-02-04  Steffen Hansen  <steffen@klaralvdalens-datakonsult.se>
