2.3.8:

2004-07-12  Murray Cumming  <murrayc@murrayc.com>

	* bakery/view_base.h: Inherit virtually from sigc::trackable, because 
	the views have signal handlers. Without this, I get crashes when 
	the signal handlers are called on deleted objects.

2.3.7:

2004-07-04  Murray Cumming  <murrayc@murrayc.com>

	* bakery/Document/Document.[h|cc] write_to_disk(): Create files with 
	0660 permissions instead of 0x777. 0x is not even octal anyway, so 
	new file permissions were very odd.

2004-07-04  Murray Cumming  <murrayc@murrayc.com>

	* bakery/Document/Document.[h|cc]: Add a bool parameter to 
	signal_modified, and emit it even when it is being set to unmodified, 
	so that the app/view can always show the correct modified status.

2.3.6:

2004-06-10  Murray Cumming  <murrayc@murrayc.com>

	* bakery/Document/Document.cc: get_read_only(): Use gnome-vfs to check 
	whether the file is read-only, though you can still mark it as 
	read-only in memory with set_read_only(). This is only used for the 
	title so far.

2004-06-07  Murray Cumming  <murrayc@murrayc.com>

	* bakery/App/App_WithDoc.cc: on_menu_file_saveas(): Use gnome-vfsmm 
	instead of fstream to check whether the file already exists.

2004-06-07  Murray Cumming  <murrayc@murrayc.com>

	* bakery/Document/Document.cc: write_to_disk(), read_to_disk(): Use
	gnome-vfsmm instead of fstream.
	* bakery/App/App_WithDoc_Gtk: Use FileChooser::get_uri() instead of
	FileChooser::get_filename().
	So all Bakery apps can now use gnome-vsfmm, with no extra coding.

2.3.5:

2004-06-01  Murray Cumming  <murrayc@murrayc.com>

	* bakery/Document/Document_XML.[h|cc]: Added set_write_formatted().

2.3.4:

2004-05-15  Bryan Forbes  <bryan@reigndropsfall.net>

	* Fixes for GCC 3.4
	* bakery/App/App.h:
	* bakery/App/App_WithDoc.h: Made menu signal handlers public because you
	can't take function pointers of protected methods in a derived class.
	* bakery/View/View_Composite.h: Fixed a compile error complaining about
	get_document() not having a template parameter.

2004-05-09  Murray Cumming  <murrayc@murrayc@murrayc.com>

	* bakery/App/App_With_Doc.[h|cc]: Added add_mime_type() and use the 
	mime types to filter the recent-files list, checking that the mime 
	types are recognised before doing so. How exactly to register the
	mime-types with gnome-vfs is still partly unknown.
	* bakery/Document/Document.[h|cc]: Added signal_forget, which is 
	emitted during destruction.
	* bakery/View/View.h: Null the document pointer when the signal_forget
	signal is handled. This is a bit hacky. Maybe a smartpointer would
	be better.

2004-05-07  Murray Cumming  <murrayc@murrayc@murrayc.com>

	* bakery/docs/index.html: Updated it a bit.

2004-05-01  Murray Cumming  <murrayc@murayc.com>

	* Added app_name parameters to the App_Gtk* cobject constructors. 

2004-05-01  Murray Cumming  <murrayc@murrayc.com>

	* bakery/App/App_Gtk.[h|cc|, App_Gtk_WithDoc.[h|cc}: Added constructors
	that take GObject*s, so that the application windows can be 
	instantiated by libglademm, using get_widget_derived(). Also, the VBox 
	is now a pointer and it is not instantiated if it has already been
	obtained from a .glade file.
	* examples/: Added WithXmlDocGlade, which demonstrates this.

2.3.3:

2004-04-21  Bryan Forbes  <bryan@reigndropsfall.net>

	* bakery/App/App_WithDoc_Gtk.[h|cc]: changed init_menus_egg()
	init_menus_file_recentfiles().

2004-04-21	Bryan Forbes	<bryan@reigndropsfall.net>

	* bakery/App/App_WithDoc_Gtk.[h|cc]: hid the EggRecentItem and
	EggRecentModel by declaring prototypes; moved the libegg calls to
	init_menus_egg() to make it easier to override init_menus_file().

2004-04-19  Murray Cumming  <murrayc@murrayc.com>

	* bakery/App/App_Gtk.cc: Added an "Others" placeholder to the base ui
	string, so that people can easily merge menus into the middle of the
	menubar, keeping the Help menu at the end, without overriding 
	init_uimanager().

2004-04-19  Murray Cumming  <murrayc@murrayc.com>

	* Renamed the ui-manager menus, toolbars, and actions, with a Bakery
	prefix.

2.3.2:

2004-03-28  Bryan Forbes  <bryan@reigndropsfall.net>

	* bakery/App/App.[h|cc]: add an overloaded set_about_information to set
	documenters and translator credits.

2004-03-28  Bryan Forbes  <bryan@reigndropsfall.net>

	* configure.in:
	* bakery-2.4.pc.in: make dependent on gnome-vfsmm >= 2.5.2.

2004-03-28  Murray Cumming  <murrayc@murrayc.com>

	* bakery/App/AppWithDoc.cc: Use new utiltiy functions from 
	gnome-vfsmm instead of gnome-vfs.

2004-03-28  Murray Cumming  <murrayc@murrayc.com>

	* bakery/App/AppWithDoc.[h|cc]: 
	- Replace menu and toolbar widget member variables with a Gtk::Action.
	- Use MenuItem::get_submenu() so we have something that 
	egg_recent_files() can use, and added a signal handler so that
	recent files can be opened.
	- TODO: Change from extension to mime types throughout, and tell
	egg-recent-files about the mime type, so the list is filtered.

2004-03-27  Bryan Forbes  <bryan@reigndropsfall.net>

	* Updated all .cvsignore files.

2004-03-27  Murray Cumming  <murrayc@murrayc.com>

	* Use of UIManager code from Bryan.
	* Half-hacked-together use of libegg recent-files from me.

2004-03-25  Bryan Forbes  <bryan@reigndropsfall.net>
 
 	* bakery/App/GtkDialogs.cc: changed from using Gtk::FileSelection to
 	Gtk::FileChooser.

2.3.1:

2004-03-03  Murray Cumming  <murrayc@murrayc.com>

	* bakery/App/App_Gtk.cc, App_WithDoc_Gtk.cc: Use the new gtkmm 2.4
	toolbar API.

2.3.0:

2004-02-15  Murray Cumming  <murrayc@murrayc.com>

	* Updated for libsigc++ 2 API, now used by gtkmm 2.4.
	* bakery/Utility/: Added sharedptr, which is a generic 
	reference-counting shared smartpointer. We need this to use with the
	Association configuration class, instead of the hacky use of 
	SigC::Ptr. But shared_ptr might be useful elsewhere too. 

2003-12-20  Murray Cumming  <murrayc@usa.net>

	* This is HEAD, for the bakery 2.4 API, which is parallel installable
	with bakery 2.0.

2.0.0:

2003-12-20  Murray Cumming  <murrayc@usa.net>

	* Changed version number to 2.0.0, and changed library name to 2.0.
  
2003-11-06  Murray Cumming  <murrayc@usa.net>

	* Added po/de.po as a starting point, to check the translation system
	is working.

1.3.11:

	
2003-09-30  Murray Cumming  <murrayc@usa.net>

	* po/Makefile.in.in: Copied a new version from zenity, to pick something
	at random. gettextize should create this, but it crashes on my RH9. distcheck
        still fails because of intltool-* files that are not cleaned up.
	
2003-09-30  Murray Cumming  <murrayc@usa.net>

	* autogen.sh: Don't use -1.4 versions of autotools. This
	should not be necessary anymore.

2003-09-25  Eric Bourque  <ericb@computer.org>

 	* bakery.spec.in: updated for 2.0

2003-09-23  Bryan Forbes  <mxpxfifws@yahoo.com>

	* autogen.sh: add $ACLOCAL_FLAGS to the aclocal-1.4 call to allow builds in
	other directories.
	* bakery/App/App_WithDoc.cc: in get_conf_fullkey, prepend the application
	name with "/apps/" to store keys/prefs where other Gnome/Gtk applications save
	theirs.
	* bakery/Document/Document_XML.cc: fix set_node_attribute_value to
	accomodate for the removed add_attribute.

1.3.10:

2003-03-15  Murray Cumming <murrayc@usa.net>

	* bakery/Document/Document.[h|cc]: Updated for latest libxml++,
	which requires use of separate Document class.

1.3.9:

2003-02-15  Matthew Tuck  <matty@chariot.net.au>

	* bakery/App/App_WithDoc.cc:
	* bakery/App/App_WithDoc_Gtk.cc:
	* bakery/App/Dialog_OfferSave.cc:
	* bakery/App/Dialog_OverwriteFile.cc:
	* bakery/App/GtkDialogs.cc:
	* bakery/Configuration/Dialog_Preferences.cc:
	* bakery/Document/Document.cc:
	* examples/Configuration/ConfClient/examplewindow.cc:
	* examples/Configuration/Dialog_Preferences/examplewindow.cc:
	* examples/WithDoc/appexample.cc:
	* examples/WithDocView/appexample.cc:
	* examples/WithDocViewComposite/appexample.cc:
	* examples/WithXmlDoc/appexample.cc:
	* examples/WithoutDoc/appexample.cc: Added explicit #include 
	<libintl.h> for compilers that don't implicitly include it in
	other included files.

2003-02-15  Murray Cumming <murrayc@usa.net>

	* bakery/App/App_WithDoc.cc: (on_menu_file_saveas): Don't hide if this
	is called by on_menu_close(), because on_menu_close does this itself. 
	This seemed to be left over from Bakery 1's more complex system. This 
	prevents the segfault when saving unsaved changes when closing, though
	I'm not sure exactly why.	

2003-02-15  Murray Cumming  <murrayc@usa.net>

	* bakery/App/App_WithDoc.cc (ui_offer_to_save_changes): Call
	set_operation_cancelled() to initialize the boolean that might be set
	later, and responded to. Now it won't think you clicked cancel if you
	clicked it some time before.

2003-02-10  Murray Cumming  <murrayc@usa.net>

	* bakery/App/GtkDialogs.cc (ui_offer_to_save_changes):
	Replace = with == in if()s. So the user's choice will now be respected.

1.3.8:

2003-01-24  Michael Johnson  <michaelj@maine.rr.com>

	* bakery/Configuration/Association.h: Call manage in Association<>
	create so that lifetimes of Association<> objects are managed by
	reference counting. This eliminates the need to manually delete
	the Associations when the collection is destroyed.
	* bakery/Configuration/Association.h: Make the c'tor and d'tor
	of Association<> protected and restore the create() method. It's not
	safe to make these public for reference counted objects.

2003-01-22  Murray Cumming  <murrayc@usa.net>

	* Moved some UI implementation code into static methods of a GtkDialogs
	class, so that Bakery_GnomeUI can use them. Inheritance would be nicer
	but that causes virtual inheritance ambiguity problems.

2003-01-22  Murray Cumming  <murrayc@usa.net>

	* bakery/App/Dialog_OfferSave.cc: Corrected button order so that
	[Save] is on the right.

1.3.7:

2003-01-10  Murray Cumming  <murrayc@usa.net>

	* bakery/Configuration/AssociationBase.h: Use Sigc::Ptr<> instead of
	Glib::RefPtr<> because RefPtr<> is meant for use with Glib::Objects,
	which start with a reference count of 1. I'm not sure why we need any
	reference counter here.

2003-01-07  Murray Cumming  <murrayc@usa.net>

	* bakery/configuration: Placed Client, Association, AssociationBase in 
	Bakery::Conf namespace.

2003-01-07  Murray Cumming  <murrayc@usa.net>

	* bakery/configuration/dialog_preferences.cc,
	  examples/configuration/dialog_preferences/example.glade:
	Tried to make the dialog preferences a little more HIG-compliant:
	http://developer.gnome.org/projects/gup/hig/draft_hig/layout.html#layout-dialogs

2003-01-05  Michael Johnson  <michaelj@maine.rr.com>

	* Bakery::ConfClient: Implemented a template-based scheme
	for associating widgets with gconf keys. Support for
	additional widget classes can now be added by overriding one
	member function of ConfClient and implementing appropriate
	template class specializations.
	* Bakery::ConfClient: Added support for connecting gconf keys to
	the following widget types: Gtk::Combo, Gtk::OptionMenu,
	Gtk::Range (and all classes derived from it) and Gtk::SpinButton.
	* Bakery::Dialog_Preferences: Changed to keep a Glib::RefPtr to
	the ConfClient instead of it being a member object. This allows
	derived classes to replace the ConfClient instance with a derived
	object.
	* Bakery::Dialog_Preferences: Provided an override of on_response
	to ensure that the preferences dialog is hidden when the user
	closes it.
	* Changed the Dialog_Preferences example to demonstrate additional
	widget types and also to allow the user to choose to launch the
	preferences dialog in "apply on close" or "instant apply" mode.

2003-01-02  Murray Cumming  <murrayc@usa.net>

	* Added po/Makefile.in.in to cvs because I can't find a way to 
	generate it. glib-gettextize is supposed to do it, but intltoolize
	fails while patching that.

2003-01-02  Murray Cumming  <murrayc@usa.net>

	* Bakery::App_WithDoc: hide() save dialog after use.
	* Bakery::App: hide() About box after use.

2003-01-02  Murray Cumming  <murrayc@usa.net>

	* Updated docs for the new API.

2003-01-01  Murray Cumming  <murrayc@usa.net>

	* Bakery::App_WithDoc: Removed some unused bool member variables.
	Made sure that the Recent Documents sub menu is filled.

2003-01-01  Murray Cumming  <murrayc@usa.net>

	* Removed some undefined declarations.
	* Bakery::App: Put the Toolbar in a HandleBox to make it detachable,
	and a bit GNOME-like.

2003-01-01  Murray Cumming  <murrayc@usa.net>

	* Bakery::App and derived classes now take only one string in their
	constructor - the 2nd one was for Gnome::UI::App.
	* Bakery::App_WithDoc: Move loading/saving of open documents into
	bakery_gnomeui project, because I don't know how to do 
	session management with pure GTK+/gtkmm.
	* examples all build again.

2003-01-01  Murray Cumming  <murrayc@usa.net>

	* Bakery::App now inherits from Glib::ObjectBase instead of 
	Gtk::Window. I'd prefer it to just inherit from SigC::Object -
	see below - but this is an improvement over Gtk::Window.

2003-01-01  Murray Cumming  <murrayc@usa.net>

	* Bakery::App, Bakery::App_WithDoc: Added pure virtual ui_*()
	methods as GUI-abstraction, implemented in the App*_Gtk classes.
	Ideally, Bakery_App would derive from SigC::Object, but that makes it
	difficult to use SigC::slot() in the derived classes because 
	SiC::Object 'is an ambiguous base class'.

2002-12-31  Murray Cumming  <murrayc@usa.net>

	* Bakery now requires gtkmm, gconfmm, and libglademm, all of which
	are stable. A bakery_gnomeui extension library will be released soon
	to provide the existing funcionality.
	In the meantime, I made Bakery::App and Bakery::App_WithDoc mostly
	independent of GUI, and created Bakery::App_Gtk and 
	Bakery::App_WithDoc_Gtk for actual use.
	To update your code for the new API:
	- Replace App_WithDoc with App_WithDoc_Gtk throughout your own code.
	- Use Bakery::App_Gtk::add() instead of Gnome::UI::App::set_contents()
	- Use the gtkmm menus and toolbars APIs instead of the GNOME ones.
	- Use Gtk::Main instead of Gnome::Main and call Bakery::init().
	- OR use the bakery_gnomeui extension library.
	The examples have been updated for the new API.

2002-12-27  Murray Cumming  <murrayc@usa.net>

	* Makefile.am: Distribute the intl-* intltools scripts.

2002-12-26  Murray Cumming  <murrayc@usa.net>

	* examples/WithXmlDoc/exampledoc.[h|cc]: handle libxml++ exceptions.

2002-12-20  Murray Cumming  <murrayc@usa.net>

	* bakery/document/Document_XML.h: Updated for latest libxml++ API,
	in particular using Elements instead of Nodes.

1.3.6:
	
2002-12-10  Murray Cumming  <murrayc@usa.net>

	* Changed some methods to all lowercase:
	App::on_menu_File_* -> on_menu_file_*
	App::on_menu_Edit_* -> on_menu_edit_*
	App::on_menu_Help_* -> on_menu_help_*
	App_WithDoc::on_Document_load -> on_document_load
	App_WithDOc::on_Document_modified -> on_document_modified
	Document_XML::set_DTD_Name -> set_dtd_name
	Document_XML::set_DTD_RootNodeName -> set_dtd_root_node_name

	Particularly for on_document_load(), be careful that your method
	overrides are still overrides now that the base class might have
	changed.

2002-12-09  Murray Cumming  <murrayc@usa.net>

	* bakery/document/Document_XML.[h|cc]: Override save_before() 
	instead of save(). This is what's supposed to be done in Bakery2. This
	fixes need-to-save-twice-to-get-the-changes-onto-the-disk bug.

2002-12-09  Murray Cumming  <murrayc@usa.net>

	* bakery/app/AppWithDoc.cc (session_load_documents_open, 
	session_save_documents_open): Used gconfmm instead of gnome_config_*
	to save Recent Documents. Other apps, seem to use the deprecated 
	gnome_config_* functions  and/or command-line instructions to 
	GnomeClient, but I can't find a definitive example.
	There are now no gnome_config_* calls in bakery.

2002-12-09  Murray Cumming  <murrayc@usa.net>

	* bakery/app/AppWithDoc.cc (session_load_document_history, 
	session_save_document_history): Used gconfmm instead of gnome_config_*
	to save Recent Documents. This is now much simpler.

2002-12-05  Murray Cumming  <murrayc@usa.net>

	* View: Added set_modified() convenience method.
	* App_WithDoc::init(): Called on_Document_load() so that default 
	document contents are shown properly.
	* bakery/Configuration/Dialog_prefernces.cc: #include gnome-i18n.h now
	that gnomemm doesn't do that for us.

1.3.5:

2002-11-21  Murray Cumming  <murrayc@usa.net>

	* examples/WithDocXml/appexample.cc (AppExample::new_instance):
	Don't use manage() on a Gtk::Window - fixed warning.

2002-11-21  Matthew Tuck  <matty@chariot.net.au>

	* Document_XML: Changed an "endl" to "std::endl"
	so it will compile on G++-3.2.

1.3.4:
	
2002-11-19  Murray Cumming <murrayc@usa.net>

	* Bakery::Document_XML::get_node_child_named(): Make node 
	parameter const.

2002-11-18  Murray Cumming  <murrayc@usa.net>

	* Added Bakery::Document_XML, previously in the bakery_example_xml
	package. It now uses libxml++ instead of Xerces-C++, which should
	make packaging much easier. It's also a simpler API.
	* example: Added WithXmlDoc to demonstrate Bakery::Document_XML.

2002-11-17  Murray Cumming  <murrayc@usa.net>

	* Uncommented the recent-files code, because it seems to work now.
	However, we should really use gconfmm instead of the gnome_config_*
	functions.

2002-11-09  Matthew Tuck  <matty@chariot.net.au>

	* App: Fixed about box so it uses signal_hide instead of
	signal_close, and hence will properly display more than once.
	
2002-11-09  Matthew Tuck  <matty@chariot.net.au>

	* View_Composite: Fix implicit typename warnings from headers for
	g++-3.2.
	
2002-10-22  Murray Cumming  <murrayc@usa.net>

	* Now requires gtkmm 2.0.0.

1.3.3:

2002-09-16  Murray Cumming  <murrayc@usa.net>

	* App, App_WithDoc: Corrected on_Session_save_yourself() paramters
	for new libgnomeuimm and to make the override match the base.

2002-09-12  Murray Cumming  <murrayc@usa.net>

	* Uncommented the session-management code. It doesn't cause a
	segfault anymore.

2002-08-25  Murray Cumming  <murrayc@usa.net>

	* Put BusyCursor in the Bakery namespace.

2002-08-25  Murray Cumming  <murrayc@usa.net>

	* Added Bakery::BusyCursor, with an example.

2002-08-12  Murray Cumming  <murrayc@usa.net>

	* Uses Gtk::Stock:: stock ids rather than the C macros. Required
	by recent changes to libgnomeuimm.

2002-07-27  Murray Cumming  <murrayc@usa.net>

	* Corrected segfault when discarding modified documents. hide()
	was being called twice, the second time after the window had been
	deleted.

1.3.2:
	
2002-05-01  Murray Cumming  <murrayc@usa.net>

	* Simplified examples Makefile.am files.
	* Added examples/Configuration examples.

2002-04-29  Murray Cumming  <murrayc@usa.net>

	* Added ConfClient - for easy association of widgets with GConf
	key values.
	* Added Dialog_Preferences, for easy association of
	glade-generated dialog widgets with GConf key values.

2002-04-14  Murray Cumming  <murrayc@usa.net>

	* Used namespaced enums, new with recent gtkmm.

2002-03-23  Murray Cumming  <murrayc@usa.net>

	* Updated use of Gtk::MessageDialog constructors for changed
	gtkmm API.

bakery 1.3.1:

2002-03-15  Murray Cumming  <murrayc@usa.net>

	* Added AppInstanceManager to separate the lifetime management
	of multiple App instances from App itself. This also simplifies
	memory management..
	* Created HelpInfo class to better organise the static Help 
	information in App.
	* Disabled session management for now, because just connecting
	Gnome::UI::Client signals seems to cause crashes when windows
	are deleted.

bakery-1.3.0:
	
2002-01-03  Murray Cumming  <murrayc@usa.net>

	* Added Document::load_after() and Document::save_before()
	which should be overridden instead of load() and save().

2002-01-03  Murray Cumming  <murrayc@usa.net>

	* Reference documentation can now be generated with Doxygen,
	by running make in the docs/reference directory.

2002-01-03  Murray Cumming  <murrayc@usa.net>

	* Updated for libgnomeuimm2, and added GNOME2-style 
	pkgconfig .pc file.

bakery-1.0.1:

2001-11-15  Murray Cumming  <murrayc@usa.net>

	* Released version 1.0.1, now that gnomemm 1.2.1 has been
	released, with the Gnome::UI::Help fix.

---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 27th August 2001
* App: Help menu now adds items from
  <prefix>/share/gnome/<appname>.dat, as GNOME apps should.

---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 24th June 2001
* Added Dialog_OverwriteFile, which uses
  Overwrite/ChooseNewFile instead of Yes/No.
* Modified build files to use gettext,
  but there's no translations yet.
* Increased version to 1.0.0

---------------------------------------------------------------------
Eric Bourque <ericb@computer.org>, 20th April 2001
* minor bakery.m4 fix.

---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 11th April 2001
* Added View_Composite::remove_view().

---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 10th April 2001
* Session Management:
    Application reopened if it was open when the user logged
  off, and any documents are reopened.

---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 3rd April 2001
* Added App::set_command_line_args(), used by
  session management.

---------------------------------------------------------------------
Eric Bourque <ericb@computer.org>, 30th March 2001
* Added bakery.spec.in, for packaging.

---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 25th March 2001
* Uses return vector from App::create_menus() to get Save menu item.
* Recent files sub-menu.
* Fixed problem when opening files without the extension.
* No more 'save changes' dialog after failed document load.

---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 20th March 2001
* Removed App_WithDoc::m_Status. It's in App.

---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 8th March 2001
* Added Document::set_file_extension(), to be used in constructors
  of derived classes. Extension added if necessary when saving.
* Increased version number to 0.6

---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 10th February 2001
* File|Open now opens the doc in a new instance if the document is
  not just a default empty new document.
* Derived Apps must now override new_instance() instead of
  on_menu_File_New().
* Added hooks for Copy/Paste but the implementation will depend on
  the actual app.

---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 10th February 2001
* Dialog_OfferSave now inherits from Gnome::MessageBox, now that
  it has been fixed in Gnome--. This simplifies the code.
* Updated dialog memory management for Gnome-- fixes. Now simpler.
* About box is now shared by all instances.
  
---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 27th December 2000
* Added Bakery::FileSelection, derived from Gtk::FileSelection, but
  has a run() method like Gnome::Dialog.
* Set window titles for Open and Save dialogs.
* Closing window with [x] button now handled like File|Close.
* 'Save As' dialog now shows existing filename as default.
* User is now asked to choose another filename after saying no to
  overwriting existing file.

---------------------------------------------------------------------
Murray Cumming <murrayc@usa.net>, 2nd December 2000
* Fixed gcc 2.96 'newline at end of file' warnings.
* Used vector instead of Gnome::UI::Array because push_back() has
  been removed from Array in gnomemm.
* Files are now closed when user closes and doesn't want to save.
* Fixed crash after save when closing.
* WithDoc example calls base class at end of on_Document_load()
  override, to update window title.
* Added 'this document is already open' functionality.
* Changed buttons in 'do you want to save?' dialog to [Save],
  [Discard], [Cancel] to avoid confusion.
* Added filepath to 'do you want to save?' dialog.
* Exit now asks about saving each document in turn, instead of
  opening all the dialogs at once.
* Increased version to 0.4.0
