0.8.20:

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

	* glom/python_embed/: Remove the (huge) boost 
	directory. boost::python is not worth the trouble for now,
	so I will use the C API instead.

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

	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	Add set_columns_ready(). Only when this is called will 
	the columns actually be constructed. This prevents 
	multiple unnecessary data retrievals.
	* glom/mode_data/box_data_list.cc: fill_column_titles(): 
	Call DbAddDel::set_columns_ready().
	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
	* glom/utility_widgets/db_adddel/glom_db_treemodel.h:
	create(): Add a where_clause parameter. Add a datamodel 
	member variable and fill it from a SQL SELECT statement.
	The result is not actually used yet, but could be used to 
	get rows only on demand when iterating. 

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

	* glom/python_embed/Makefile.am:
	Do not try to build the boost sub-directory. We do not 
	use it anymore.

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

	* Makefile.am:
	* configure.in:
	Depend explicitly on libxslt. Stop using boost::python.
	* glom/python_embed/py_glom_record.cc:
	* glom/python_embed/py_glom_record.h:
	Stop using boost::python, because it is too difficult to build , 
	inside glom, and is huge, and is not really necessary here.
	Add some more code for the PyGlomRecord object.
	* glom/python_embed/glom_python.cc:
	Pass a PyGlomRecord object to the python method.
	* glom/application.cc:
	App_Glom::init(): Add a print menu item. It is just a 
	proof of concept at the moment.
	* glom/mode_data/box_data_details.cc:
	Added print_layout_group(), which creates an XML format 
	for the data, and then converts it to HTML using an XSLT
	stylesheet, using libxslt.
	* xslt/ Added this directory, with .xslt which is 
	installed for use by the application.
	* glom/base_db.cc:
	* glom/data_structure/glomconversions.cc:
	* glom/data_structure/glomconversions.h:
	Add util_build_sql_select_with_where_clause(), moved from 
	Box_Data(), so that the Db_AddDel can use it in future, to 
	do on-demand data retrieval.
	* glom/data_structure/iso_codes.cc:
	Catch the exception if the iso_codes XML file can not be 
	found, and then just return an empty list. This prevents 
	a crash when iso_codes is not properly installed. For instance, 
	Ubuntu Hoary currently installs an (obviously) incorrect .pc file.
	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	Cache the whole Relationship details here, instead of just storing 
	the relationship_name. This means that code that uses this does not 
	need to access the document to lookup the full details.
	* glom/dialog_connection.cc:
	* glom/document/document_glom.cc:
	* glom/frame_glom.cc:
	* glom/frame_glom.h:
	* glom/glom.glade:
	Made ScrolledWindows use automatic mode for scrollbars, 
	so they are only shown when necessary. Remove the unused 
	information dialog.
	* glom/utility_widgets/flowtable.cc:
	* glom/utility_widgets/flowtable.h:
	* glom/utility_widgets/flowtablewithfields.cc:
	Make methods const.
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
	* glom/utility_widgets/db_adddel/glom_db_treemodel.h:
	Store LayoutItem_Fields for each column, not just Fields.
	* glom/main.cc:
	* glom/mode_data/Makefile.am:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.h:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list.h:
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_choose_relationship.cc:
	* glom/mode_data/dialog_layout.cc:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_data/dialog_layout_list.cc:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_data/notebook_data.cc:
	* glom/mode_data/notebook_data.h:
	* glom/mode_data/treestore_layout.h:
	* glom/mode_design/box_db_table_relationships.cc:
	* glom/mode_design/dialog_design.cc:
	* glom/mode_design/dialog_fields.cc:
	* glom/mode_design/dialog_relationships.cc:
	* glom/mode_design/fields/box_db_table_definition.cc:
	* glom/mode_design/fields/combo_fieldtype.cc:
	* glom/mode_design/fields/dialog_fieldcalculation.cc:
	* glom/mode_design/fields/dialog_fielddefinition.cc:
	* glom/mode_design/users/dialog_groups_list.cc:
	* glom/mode_design/users/dialog_user.cc:
	* glom/mode_design/users/dialog_users_list.cc:
	* glom/mode_find/box_data_details_find.cc:
	* glom/mode_find/box_data_list_find.cc:
	* glom/mode_find/notebook_find.cc:
	* glom/navigation/box_tables.cc:
	* glom/notebook_glom.cc:
	* glom/notebook_glom.h:
	* glom/utility_widgets/adddel/adddel.cc:
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/entryglom.cc:
	* glom/data_structure/field.cc:
	Include glibmm/i18n.h instead of libintl.h in .cc files,
	so we can use _() instead of gettext().

2005-04-01  Steve Murphy  <murf@e-tools.com>

        * configure.in: Added "rw" to ALL_LINGUAS.

0.8.19:

2005-03-31  Murray Cumming <murrayc@murrayc.com>

	* glom/python/embed/boost/mpl/: Added extra directories 
	from boost, to fix the build.

2005-03-31  Murray Cumming <murrayc@murrayc.com>

	* glom/utility_widgets/flowtable.cc:
	* glom/utility_widgets/flowtable.h:
	The optional add() expand parameter now works for first
	items, so related records portals now take up the full 
	column width.

2005-03-31  Murray Cumming <murrayc@murrayc.com>

	* glom/data_structure/iso_codes.cc:
	Use the correct name with dgettext(), using a _ 
	instead of a -. Currency names are therefore now 
	translated.
	* glom/utility_widgets/flowtable.cc:
	* glom/utility_widgets/flowtable.h:
	* glom/utility_widgets/flowtablewithfields.cc:
	Add optional expand parameter to FlowTable::add() and 
	use it for portals and groups in FlowTableWithFields. 
	Does not quite work yet though.

2005-03-30  Murray Cumming <murrayc@murrayc.com>

	* configure.in:
	Depend on latest bakery, so we can use util_bold_message().
	* glom/application.cc:
	* glom/base_db.cc:
	* glom/frame_glom.cc:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_data/dialog_layout_list.cc:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_design/dialog_fields.cc:
	* glom/mode_design/dialog_relationships.cc:
	* glom/mode_design/fields/box_db_table_definition.cc:
	* glom/mode_design/users/dialog_groups_list.cc:
	* glom/mode_design/users/dialog_users_list.cc:
	* glom/navigation/box_tables.cc:
	* glom/utility_widgets/flowtablewithfields.cc:
	Use util_bold_message() to avoid marking pango markup for 
	translation.

2005-03-30  Christian Rose  <menthos@menthos.com>

	* glom/glom.glade: Removed unnecessary trailing spaces from
	translateable messages (bug #172109).

2005-03-30  Murray Cumming  <murrayc@murrayc.com>

	* glom/python_embed/py_glom_record.h:
	Comment-out the boost python stuff until I can get it to build.

2005-03-30  Murray Cumming  <murrayc@murrayc.com>

	* glom/python_embed/: Added boost/, containing lots of the 
	boost files, needed by the boot::python library. We must 
	copy the files instead of depending on a shared library, 
	because the API is unstable.

2005-03-30  Murray Cumming <murrayc@murrayc.com>

	* configure.in:
	* glom/Makefile.am:
	* glom/box_db_table.cc:
	* glom/glom_python.cc:
	* glom/glom_python.h:
	* glom/mode_data/box_data.cc:
	* glom/mode_design/fields/dialog_fieldcalculation.cc:
	* glom/python_embed/Makefile.am:
	* glom/python_embed/glom_python.cc:
	* glom/python_embed/glom_python.h:
	Move glom_python.* to the python_emded subdirectory, 
	where I plan to put more stuff.

2005-03-30  Murray Cumming <murrayc@murrayc.com>

	* glom/data_structure/glomconversions.cc:
	* glom/data_structure/glomconversions.h:
	Added util_trim_string().
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	on_treeview_cell_edited(): Use the numeric_format
	when parsing.
	* glom/utility_widgets/entryglom.cc:
	get_value(), check_for_change(): Use the 
	numeric_format when parsing the value, so that currency 
	symbols can be ignored.

2005-03-30  Murray Cumming  <murrayc@murrayc.com>

	* config.h.in:
	* configure.in:
	Depend on iso-codes and define the prefix for its files in 
	config.h.
	* glom/Makefile.am:
	* glom/data_structure/Makefile.am:
	* glom/data_structure/glomconversions.cc:
	* glom/data_structure/glomconversions.h:
	* glom/data_structure/iso_codes.cc:
	* glom/data_structure/iso_codes.h:
	Added a Currency class, and get_list_of_currency_symbols().
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_choose_field.h:
	* glom/utility_widgets/Makefile.am:
	* glom/utility_widgets/comboentry_currency.cc:
	* glom/utility_widgets/comboentry_currency.h:
	Use a ComboBoxEntry for the currencies on the 
	Field Layout dialog.
	* glom/utility_widgets/entry_numerical.cc:
	* glom/utility_widgets/entry_numerical.h:
	Removed this, because it's not used.

2005-03-29  Murray Cumming  <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	* glom/data_structure/numeric_format.cc:
	* glom/data_structure/numeric_format.h:
	Add a currency_symbol member.
	* glom/document/document_glom.cc:
	Load/Save the currency symbol part of the 
	numeric format.
	* glom/glom.glade:
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_choose_field.h:
	Add a currency_symbol ComboBoxEntry. It 
	is not used yet.

2005-03-29  Murray Cumming <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	* glom/glom.glade:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_data/dialog_layout_list_related.h:
	Allow layout field editing (editable, numeric formatting, 
	etc) of related records lists, like we already have for 
	normal lists.

2005-03-29  Murray Cumming <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	* glom/base_db.cc:
	* glom/document/document_glom.cc:
	* glom/document/document_glom.h:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_data/dialog_layout_list_related.h:
	When creating default related records layouts, get 
	the list of fields from the related table, not the 
	parent table. Store the related records layout in 
	the parent table's table part of the document, 
	instead of pretending that it is a special table.

2005-03-29  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data.cc: get_table_fields_to_show():
	When creating default layouts, do not use the 1000s 
	separator with primary key IDs.

2005-03-29  Murray Cumming <murrayc@murrayc.com>

	* glom/data_structure/Makefile.am:
	* glom/data_structure/numeric_format.cc:
	* glom/data_structure/numeric_format.h:
	New class to represent the numeric format.
	* glom/data_structure/glomconversions.cc:
	* glom/data_structure/glomconversions.h:
	Do special std:: stream stuff to format numbers 
	as needed by the NumericFormat.
	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	Add a NumericFormat member.
	* glom/document/document_glom.cc:
	Load/Save the numeric format information with the
	LayoutItem.
	* glom/glom.glade:
	Add UI for the Numeric Format.
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_choose_field.h:
	Use the Numeric Format UI. It is only shown for 
	numeric fields.
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	Use the Numeric format for the list.
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/entryglom.cc:
	Use the numeric format for details views.

2005-03-24  Murray Cumming <murrayc@murrayc.com>

	* glom/glom.glade:
	* glom/mode_design/users/dialog_users_list.cc:
	* glom/mode_design/users/dialog_users_list.h:
	The beginnings of UI for numeric formatting, 
	hidden for now.
	* glom/utility_widgets/Makefile.am:
	* glom/utility_widgets/combo_textglade.cc:
	* glom/utility_widgets/combo_textglade.h:
	Moved these here from glom/mode_design/fields/.

2005-03-24  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_design/users/dialog_users_list.cc:
	on_button_user_add(): Revoke all user 
	privileges when adding a user to a group, so 
	that all the user privileges come from the group.

0.8.18:

2005-03-23  Murray Cumming <murrayc@murrayc.com>

	* glom/Makefile.am: Install the glom file. 
	In 0.8.16 I mistakenly made it not install, 
	when preventing the installation of a test.

0.8.17:

2005-03-22  Murray Cumming  <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	Change the database name, adding v2 at the 
	end, to force the database to be recreated 
	when previous glom users open the example 
	again.

2005-03-22  Murray Cumming  <murrayc@murrayc.com>

	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list.h:
	fill_from_database(): Disable the Add and Delete 
	buttons if the current user does not have those 
	priviliges.

2005-03-22  Murray Cumming  <murrayc@murrayc.com>

	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	Store priv_view when we store priv_edit.
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	Do not get records if the table may not be viewed 
	by the current user.
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/datawidget.h:
	Make field contents non-visible if necessary, 
	though we do not even fill them with data in 
	that case anyway.
	* glom/mode_design/users/dialog_groups_list.cc:
	When setting view to false, set everything else 
	to false too, because anything else would be 
	stupid.

2005-03-22  Murray Cumming <murrayc@murrayc.com>

	* glom/base_db.cc:
	* glom/base_db.h:
	* glom/frame_glom.cc:
	on_menu_userlevel_Developer(): Prevent 
	developer mode if the user is not in the 
	developer group.

2005-03-22  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_design/users/dialog_user.cc:
	* glom/mode_design/users/dialog_user.h:
	* glom/mode_design/users/dialog_users_list.cc:
	When editing a user, show the group (though 
	we can not edit it here yet), and update the 
	password in the connection if it is the 
	current user.

2005-03-22  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_design/users/dialog_groups_list.cc:
	* glom/mode_design/users/dialog_groups_list.h:
	Add a description of the special developers group.
	* glom/mode_design/users/dialog_users_list.cc:
	* glom/mode_design/users/dialog_users_list.h:
	Prevent removal of the last developer.

2005-03-22  Murray Cumming <murrayc@murrayc.com>

	* glom/base_db.cc:
	* glom/base_db.h:
	* glom/data_structure/layout/layoutitem.h:
	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/db_adddel.h:
	* glom/utility_widgets/flowtablewithfields.cc:
	Store the privileges in the LayoutItem_Field, 
	filling them in when we get the field information 
	from the database. Make widgets for non-editable 
	fields to non-editable.
	* glom/frame_glom.cc:
	Update the layout when the Users window closes, 
	to show changes.

2005-03-22  Murray Cumming  <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	Added the table_privs.
	* glom/document/document_glom.cc:
	Do not use an invalid map iterator, to 
	prevent a crash.

2005-03-22  Murray Cumming  <murrayc@murrayc.com>

	* glom/application.cc: recreate_database():
	Add the developer group and make the user a 
	member of it.
	* glom/base_db.cc:
	* glom/base_db.h:
	Added get_current_privs().
	* glom/data_structure/Makefile.am:
	* glom/data_structure/groupinfo.cc:
	* glom/data_structure/groupinfo.h:
	* glom/document/document_glom.cc:
	* glom/document/document_glom.h:
	Moved GroupInfo class out of Document_Glom.
	* glom/mode_design/users/dialog_groups_list.cc:
	Set the groups in the document when we get 
	them from the database. But just in case 
	we need to recreate the database from the 
	document.

2005-03-21  Murray Cumming  <murrayc@murrayc.com>

	* glom/document/document_glom.cc:
	* glom/document/document_glom.h:
	* glom/glom_document.dtd:
	Add API to get/set the groups, and load/save 
	them in the XML. Not used yet.

2005-03-21  Murray Cumming <murrayc@murrayc.com>

	* docs/website/screenshots/glom_design_groups.png:
	* docs/website/screenshots/index.html:
	Add a section to show the Groups window.
	* glom/glom.glade:
	Use SCROLLBARS_AUTOMATIC on some ScrolledWindows.

2005-03-21  Murray Cumming  <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	Remove nonsense table information.
	* glom/base_db.cc:
	* glom/base_db.h:
	Add add_standard_groups() - it ensures that 
	there is always a developer group.
	* glom/mode_design/users/dialog_groups_list.cc:
	load_from_document(): Call add_standard_groups() to ensure 
	that the developer group always exists.
	on_button_group_new(): Provide sensible default privilieges 
	for new groups.
	* glom/document/document_glom.cc:
	* glom/document/document_glom.h:
	Add remove_table() and remove_relationship().
	* glom/navigation/box_tables.cc: on_adddel_Delete():
	Remove tables from the document as well as the database 
	server.	

2005-03-21  Murray Cumming <murrayc@murrayc.com>

	* configure.in:
	* glom/Makefile.am:
	* glom/application.cc:
	* glom/base_db.cc:
	* glom/base_db.h:
	* glom/box_db.h:
	* glom/data_structure/Makefile.am:
	* glom/data_structure/tableinfo.h:
	* glom/document/document_glom.cc:
	* glom/document/document_glom.h:
	* glom/frame_glom.cc:
	* glom/glom.glade:
	* glom/mode_design/Makefile.am:
	* glom/mode_design/dialog_user.cc:
	* glom/mode_design/dialog_user.h:
	* glom/mode_design/dialog_users_list.cc:
	* glom/mode_design/dialog_users_list.h:
	* glom/mode_design/fields/combo_textglade.cc:
	* glom/mode_design/fields/combo_textglade.h:
	* glom/mode_design/users/Makefile.am:
	* glom/mode_design/users/dialog_choose_user.cc:
	* glom/mode_design/users/dialog_choose_user.h:
	* glom/mode_design/users/dialog_groups_list.cc:
	* glom/mode_design/users/dialog_groups_list.h:
	* glom/mode_design/users/dialog_new_group.cc:
	* glom/mode_design/users/dialog_new_group.h:
	* glom/mode_design/users/dialog_user.cc:
	* glom/mode_design/users/dialog_user.h:
	* glom/mode_design/users/dialog_users_list.cc:
	* glom/mode_design/users/dialog_users_list.h:
	* glom/navigation/box_tables.cc:
	* glom/utility_widgets/adddel/adddel.cc:
	User management is now group-based, with 
	users in groups, and permissions for each group.

2005-03-19  Murray Cumming <murrayc@murrayc.com>

	* glom/Makefile.am:
	* glom/frame_glom.cc:
	* glom/glom.glade:
	* glom/mode_data/box_data.cc:
	* glom/mode_design/Makefile.am:
	* glom/mode_design/dialog_user.cc:
	* glom/mode_design/dialog_user.h:
	* glom/mode_design/dialog_users_list.cc:
	* glom/mode_design/dialog_users_list.h:
	Added very simple user administration, available
	from the Developer menu.

2005-03-18  Murray Cumming <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	* glom/Makefile.am:
	* glom/data_structure/layout/layoutitem_portal.h:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_data/treestore_layout.h:
	* glom/mode_design/dialog_relationships.cc:
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/datawidget.h:
	* glom/utility_widgets/entryglom.cc:
	* glom/utility_widgets/entryglom.h:
	* glom/utility_widgets/flowtable.cc:
	* glom/utility_widgets/flowtable.h:
	* glom/utility_widgets/flowtablewithfields.cc:
	* glom/utility_widgets/flowtablewithfields.h:
	* glom/utility_widgets/layoutwidgetbase.cc:
	* glom/utility_widgets/layoutwidgetbase.h:
	Details view: You can now right-click on a Field 
	Entry, to add a field, group, or related records 
	portal after the clicked field.

0.8.16:

2005-03-15 Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_details.h:
	* glom/mode_data/box_data_list.cc:
	Moved the related record creation/warning 
	code from 
	Box_Data_Details::on_flowtable_field_edited() 
	into the base Box_Data class, as 
	Box_Data::add_related_record_for_field(), and
	used it from 
	Box_Data_List::on_adddell_user_changed().
	This means that automatic creation of related 
	records works from the List view too.

2005-03-15  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data.cc:
	confirm_discard_unstored_data(): The buttons 
	argument of MessageDialog is not a flag - really 
	show both buttons.
	* glom/mode_data/box_data_details.cc:
	fill_from_database(): Call set_unstored_data(false)
	at the end. If there really is some unstored data 
	then it is too late at this point.

2005-03-15  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data_list.cc:
	on_adddel_user_requested_add(): When the primary 
	key value does not exist yet, call 
	on_adddel_user_added() regardless of whether the 
	field is autoincremented. This makes record 
	adding work again if the primary key is not 
	auto-increment. 

2005-03-15  Murray Cumming <murrayc@murrayc.com>

	* glom/data_structure/glomconversions.cc:
	* glom/data_structure/glomconversions.h:
	* glom/mode_data/box_data.cc:
	generate_next_auto_increment(): unbreak 
	this, so that adding records works again 
	if the primary key is auto incremented.

2005-03-14  Murray Cumming <murrayc@murrayc.com>

	* glom/document/document_glom.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/db_adddel.h:
	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
	* glom/utility_widgets/db_adddel/glom_db_treemodel.h:
        Glom_Db_TreeModel::on_treeview_cell_edited(): 
	Do not set a bogus key value when a column is the 
	first to get a value, and do not mark it as no 
	longer a placeholder. This prevents a crash 
	when adding two field values without yet entereing 
	a primary value. But the primary key value is still 
	not used when it is entered. 

2005-03-14  Murray Cumming <murrayc@murrayc.com>

	* glom/box_db_table.h:
	* glom/data_structure/field.h:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
        Box_Data_Details::on_flowtable_field_edited():
        When it's a related field that was edited, 
	create a related record, where allowed by the 
	relationship, and where possible, with warnings 
	where not. This is quite a lot of code - it 
	should be abstracted so it can be used for the 
	list too.

2005-03-14  Murray Cumming  <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	* glom/glom_document.dtd:
	* glom/document/document_glom.cc:
	* glom/data_structure/relationship.cc:
	* glom/data_structure/relationship.h:
	Add get/set_auto_create() to specify whether 
	details and lists view should automatically 
	create related fields when the user enters 
	data into a record that does not yet exist.
	* glom/mode_design/box_db_table_relationships.cc:
	* glom/mode_design/box_db_table_relationships.h:
	on_adddel_user_activated(): Do not clear the 
	to_field when the user clicks on it.
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	If allow_add is false, deactivate the Add 
	context menu item, and do not add new-record 
	placeholder rows.
	* glom/mode_data/box_data_list_related.cc:
        Set DbAddDel::set_allow_add() according to the 
	relationship.

0.8.15:

2005-03-14  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_details.h:
	* glom/mode_data/box_data_list.cc:
	Box_Data_List::refresh_related_fields(): Now 
	related fields are updated in the details view 
	when the key value changes in the record.
	Dialog_Layout_List: The edit button now edits the 
	properties of the current layout field.

2005-03-14  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data_list.cc:
        refresh_related_fields(): The list view now updates 
	the displayed value of related fields when you 
	change the related key value in the current record.

2005-03-14  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data_list.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/db_adddel.h:
	Db_AddDel::get_column_index() now returns a 
	list of indexes, so that set_value() updates 
	the value in all columns when a field is present 
	more than once.

2005-03-14  Murray Cumming  <murrayc@murrayc.com>

	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list.h:
	* glom/mode_data/box_data_list_related.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/db_adddel.h:
	Db_AddDel::set_value(), and get_value() now 
	identify the column by a LayoutItem_Field 
	instead of a numerical index, so at least 
	the inefficient index discovery is restricted 
	to one method in Db_AddDel.

2005-03-14  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list.h:
 	on_adddel_user_changed(): Editing of related fields 
	in the list view now works, using mostly copy/pasted 
	code from Box_Data_List::on_flowtable_field_edited().

2005-03-14  Murray Cumming, <murrayc@murrayc.com>

	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_layout_list.cc:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_design/box_db_table_relationships.cc:
	LayoutItem_Field: Add get_has_relationship_name() 
	and use it instead of !get_has_relationship().empty() 
	to reduce unnecessary string copying.

2005-03-14  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data_details.cc:
	* glom/utility_widgets/flowtablewithfields.cc:
	Editing of related fields on the details view 
	now works.

2005-03-13  Murray Cumming  <murrayc@murrayc.com>

	* glom/box_db_table.cc:
	* glom/box_db_table.h:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_details.h:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list.h:
	* glom/mode_design/box_db_table_relationships.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/db_adddel.h:
	* glom/utility_widgets/flowtablewithfields.cc:
	* glom/utility_widgets/flowtablewithfields.h:
	FlowTableWithFields and Db_AddDel: Now identify 
	fields via LayoutItem_Field rather than just Field, 
	so related fields do not get confused with regular 
	fields. This should allow me to make editing of 
	related fields work soon.

2005-03-13  Murray Cumming <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	* glom/mode_data/box_data.cc:
	build_sql_select_with_where_clause(): 
	Use a LEFT OUTER JOIN for the related fields,
	because this does not hide records from 
	the parent table when the key values are bogus,
	and does not give us duplicate records.

2005-03-13  Murray Cumming <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	* glom/data_structure/layout/layoutitem.h:
	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	* glom/document/document_glom.cc:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_data/dialog_layout_list.cc:
	* glom/mode_data/dialog_layout_list.h:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_data/dialog_layout_list_related.h:
	* glom/mode_design/fields/dialog_fielddefinition.cc:
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/datawidget.h:
	* glom/utility_widgets/flowtablewithfields.cc:
	* glom/utility_widgets/flowtablewithfields.h:
	* glom/utility_widgets/layoutwidgetbase.cc:
	* glom/utility_widgets/layoutwidgetbase.h:
	Stop storing the table name in the layoutitem, 
	and saving it in the document.
	It was a nasty hack, and it's better to cache it 
	in the LayoutWidgetBase. It's only needed anyway 
	for right-click layout editing.
	Moved SQL-building code into a reusable method 
	in Box_Data and used it from both Box_Data_List and 
	Box_Data_Details. This means that the List view can 
	now also show related fields. Editing of related 
	fields does not work yet, and the SELECT statement 
	is not quite right - it sometimes gets duplicate 
	records.

2005-03-13  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_list_related.cc:
        get_fields_to_show(): Reduce code duplication 
	by calling the code in Box_Data.

2005-03-12  Murray Cumming <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	* glom/box_db_table.cc:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_design/fields/dialog_fielddefinition.cc:
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/datawidget.h:
	* glom/utility_widgets/flowtablewithfields.cc:
        The Field Chooser dialog now offers fields from 
	relationships, and the field data will be properly
	displayed on the details view. Editing of related 
	fields does not work yet, and the list view can not 
	do this yet.

2005-03-12  Murray Cumming <murrayc@murrayc.com>

	* glom/box_db.cc:
	* glom/box_db_table.cc:
	* glom/box_db_table.h:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list.h:
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/box_data_list_related.h:
	* glom/mode_data/dialog_layout.cc:
	* glom/mode_data/dialog_layout.h:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_data/dialog_layout_details.h:
	* glom/mode_data/dialog_layout_list.cc:
	* glom/mode_data/dialog_layout_list.h:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_design/fields/box_db_table_definition.cc:
	* glom/mode_design/fields/box_db_table_definition.h:
	* glom/mode_find/box_data_details_find.cc:
	* glom/mode_find/box_data_list_find.cc:
        Store vector of layouts instead of vector of fields 
        for list and details views. Field Chooser dialog 
        also uses layout items so it can edit the full 
        field information, including the relationship, 
        and the formatting in future.

2005-03-12  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_choose_field.h:
	* glom/mode_data/dialog_layout_list_related.cc:
	Changing the selected relationship when 
	choosing a field now changes the list of 
	available fields.

2005-03-12  Murray Cumming <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	* glom/data_structure/layout/layoutgroup.h:
	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	* glom/document/document_glom.cc:
	* glom/glom.glade:
	* glom/glom_document.dtd:
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_choose_field.h:
	* glom/mode_data/dialog_layout.h:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_data/dialog_layout_details.h:
	* glom/mode_data/dialog_layout_list.cc:
	* glom/mode_data/dialog_layout_list.h:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_data/dialog_layout_list_related.h:
	* glom/mode_data/treestore_layout.h:
	* glom/mode_design/fields/combo_textglade.cc:
	* glom/mode_design/fields/combo_textglade.h:
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/datawidget.h:
        LayoutItem_Fields now contain an optional relationship_name.
        When choosing fields, you can choose the relationship.

2005-03-11  Murray Cumming  <murrayc@murrayc.com>

	* Lots of use of Gtk::MessageDialog::set_secondary_text() to make 
	dialogs more HIGy, plus use of set_transient_for().

2005-03-11  Murray Cumming  <murrayc@murrayc.com>

	* glom/main.cc: Attempt to use Glib::Option from glibmm 2.6, to 
	provide a --file option, for debugging. But it does not work, 
	probably because of conflicts with the libgnomeui and libgda uses of 
	argc and argv.

2005-03-11  Murray Cumming  <murrayc@murrayc.com>

	* glom now depends on gtkmm 2.6.
	* glom/utility_widgets/adddel/cellrendererlist.[h|cc]: Derive from 
	the Gtk::CellRendererCombo in gtkmm 2.6, instead of implementing 
	all this ourselves.

0.8.14:

2005-03-10  Murray Cumming  <murrayc@murrayc.com>

	* glom/mode_data/box_data_list.cc: get_primary_key(): Return true 
	for success, so that Box_Data::record_delete() works again, so that 
	deleting records really deletes them from the database again.

2005-03-10  Murray Cumming  <murrayc@murrayc.com>

	* docs/website/: Redid the screenshots and put them on a page.

2005-03-10  Murray Cumming  <murrayc@murrayc.com>

	* glom/mode_data/box_data.cc: record_new(): Avoid specifying the same 
	field data twice to the database.

0.8.13:

2005-03-10  Murray Cumming  <murrayc@murrayc.com>

	* examples/example_small_business.glom: Invoices Lines: Lookup up the 
	product name and price from the products table.

2005-03-10  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/flowtable_withfields.[h|cc]: Use a list of 
	field info instead of a map, and search through it all instead of 
	using the map key, so we can have the same field more than once in 
	a group. Otherwise, people change a field and see it disappear if it 
	is already there.

2005-03-10  Murray Cumming  <murrayc@murrayc.com>

	* glom/mode_data/box_data_details.cc: on_flowtable_layout_changed(): 
	Update the data as well as the structure, because updating the 
	structure clears the widgets.

2005-03-10  Murray Cumming  <murrayc@murrayc.com>

	* glom/mode_data/entry_glom.[h|cc]: Show a Choose Field context menu 
	when in developer mode, and signal to the DataWidget when it has been 
	selected.
	* glom/mode_data/dialog_choose_field.[h|cc]: set_document(): Select 
	the current field at the start. Make double-click choose a field.

2005-03-09  Murray Cumming  <murrayc@murrayc.com>

	* glom/mode_data/datawidget.[h|cc]: Attempt to add a context menu 
	to choose the field. Not working yet. Some EventBox problem maybe.

2005-03-08  Murray Cumming  <murrayc@murrayc.com>

	* examples/example_small_business.glom: Invoices table: Make the 
	contact name lookup a name from the contacts table.

2005-03-08  Murray Cumming  <murrayc@murrayc.com>

	* glom/mode_data/: More use of the stored primary key fields 
	instead of getting them from the list of fields via their index. This 
	means that the primary key can still be used when it is not shown.
	* glom/mode_data/box_data_list_related.cc: Set the foreign key value 
	even if it is not shown. This means that related records portals 
	no longer need to show the primary key or the foreign key, both of 
	which are uninteresting to most operators.

2005-03-08  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]: Remove as_value
	from method names because they are all by value. Added 
	get/set_key_field() so it is easy to know the primary key for the 
	table.
	* glom/utility_widgets/db_adddel/glom_db_treemodel.[h|cc]: create() 
	now takes a list of fields - one for each column. This should allow 
	us to construct a SQL query from the model itself in future.
	* glom/mode_data/box_data_list.[h|cc]: Store the primary key field 
	in the AddDel.
	* glom/mode_data/box_data_details.[h|cc]: Store the primary key field 
	in a member variable, instead of iterating for it every time.

2005-03-08  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/flowtable_withfields.cc: get_portals(): 
	Actually add relevant portals to the list.
	* glom/mode_data/box_data_list_related.cc: on_record_added(): When 
	the to_field key is not auto-generated, really set it to the 
	foreign key value, not to null. This makes adding of related records 
	work, but so far only when all key fields are shown in the layout.

2005-03-07  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/adddel/adddel.cc, db_adddel/db_adddel.cc: 
	on_treeview_button_press_event(): Test the bool return from 
	TreeView::get_path_at_pos to avoid using an invalid path. This 
	stops the warning when right clicking where there is no row.

2005-03-07  Murray Cumming  <murrayc@murrayc.com>

	* glom/mode_design/box_db_table_relationship.[h|cc]: Show/edit the 
	relationship titles here too.
	* glom/mode_data/box_data_list_related.cc: on_dialog_layout_hide():
	Update the relationship title in case it has changed.

2005-03-07  Murray Cumming  <murrayc@murrayc.com>

	* glom/Document/document_glom.[h.cc]: Load/save relationship titles.
	* glom/data_structure/Relationship.[h|cc]: Added get/set_title() and 
	get_title_or_name().
	* glom/mode_data/dialog_layout_list_related.[h|cc]: Actually choose 
	fields from the related table.
	

2005-03-06  Murray Cumming  <murrayc@localhost.localdomain>

	* glom/mode_data/box_data_list_related.cc: Constructor: Set a new 
	layout name, so that the portals layouts are not confused with the 
	standard layouts for those tables in the document. Use the new 
	layout dialog.
	* glom/mode_data/: Add dialog_layout_list_related.[h|cc].
	* glom/glom.glade: Define the new dialog.

2005-03-06  Murray Cumming  <murrayc@murrayc.com>

	* glom/mode_data/box_db_list.cc: on_adddel_user_requested_delete(): 
	Ask the user whether he really wants to delete the record.
	* glom/utilities/db_adddel.[h|cc]: Add a layout item to the right 
	click menu, so that people can right click to edit list layouts and 
	related records layouts. Still need to give related records layouts 
	an id other than their underlying table.

2005-03-04  Murray Cumming  <murrayc@murrayc.com>

	* glom/application.cc: on_document_load(): Warn if the user recreates 
	a database using a read-only installed example file.
	* glom/frame_glom.cc: on_menu_userlevel_Developer(): If developer 
	mode is not possible then warn the user and set it back to operator 
	mode.

0.8.12:

2005-02-19  Murray Cumming  <murrayc@murrayc.com>

	* glom/connection_pool.cc: connect(): Do not forget the DATABASE= 
	part of the connection string when connecting to the default templat1 
	database. Otherewise it gets added to the password. Stupid me.
	* glom/application.cc: recreate_database() Added a user_cancelled 
	output parameter, so we only show the error dialog when it's a real 
	error.
	* glom/glom_frame.cc: create_database(): Added more error checking 
	and debug output to investigate problems.

2005-02-19  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/db_addel/glom_db_treemodel.[h|cc]: Make this 
	actually work, by calling row_inserted(), row_deleted(), and 
	row_changed() in the appropriate places. This needs some speed 
	optimisation and probably has some memory leaks of the GlueItems. 

2005-02-19  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]: Use the 
	Gda::Value-based treemodel. It almost works.

2005-02-18  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/db_addel/: Added a Gda::Value-based custom 
	treemodel, but it's not used yet.

2005-02-18  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/db_adddel/: Removed sources that are duplicated 
	in adddel, and just include them from there. We can not using the 
	custom popup cellrenderer anyway when we start using gtkmm 2.6.

2005-02-17  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/adddel/: No longer uses Fields and Gda::Values
	at all.
	* glom/utility_widgets/db_addel/: A version of AddDel that deals with 
	Fields and their Gda::Values, and nothing else.
	* glom/mode_data/box_data_list.[h|cc]: Use DbAddDel instead of AddDel, 
	which deals with Values directly.
	* glom/data_structure/glomconversions.cc: parse_data() Prevent 
	0 days and months, to avoid postgres errors.

0.8.11:

2005-02-16  Murray Cumming  <murrayc@murrayc.com>

	* glom/mode_data/box_data_list.cc, box_data_details.cc: 
	init_db_details(): Get shared connection earlier and keep it longer, 
	so that we make fewer individual connections when getting data from 
	the database. This make things faster.

2005-02-16  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/addedel/adddel.cc: get_column_field(): Return 
	the id, which is the field name, not the name, which is the field 
	title. This allows data entry in the list view when field titles 
	are not equal to the names.

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

	* glom/connectionpool.cc: Actually use the host details, so people 
	can connect to postgres servers that are not on the local host.

2005-02-10  Murray Cumming  <murrayc@murrayc.com>

	* glom/connection_pool.cc: connect(): Specify the template1 default 
	database when we do not want to specify a database, because that seems 
	to fail with newer versions of postgres, or on some systems, though 
	I am not sure where it works and where it does not. Hopefully this 
	template1 name is used on all distros.

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

	* Makefile.am: Add intltool-extract.in, intltool-merge.in, 
	intltool-update.in to EXTRA_DIST, possibly fixing the build on some 
	platforms. Bug #162932.

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

	* glom/mode_data/box_data_list_related.cc: constructor: Show the 
	AddDel widget so that it actually appears on the Details layout. 
	Put the AddDel in a HIG-style frame.

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

	* glom/utility_widgets/flowtable.[h|cc]: Added a remove() override, so 
	we remove the widget from the list in flowtable as well as from the 
	base GtkContainer list. Do an extra reference() before calling 
	gtk_widget_parent() if the widget is managed, like 
	Gtk::Container::remove() does, so that this container acts like other 
	gtkmm containers.

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

	* glom/utility_widgets/flowtable_withfields.[h|cc]: Keep a list of 
	the portals, so we don't have to dynamic_cast the standard children() 
	list so much. Use Bakery::View::remove_view() and delete in 
	remove_all().

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

	* glom/dialog_connection.cc: #included libintl.h to fix build on some 
	systems. Bug 161936 from Mike Castle.

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

	* glom/base_db.[h|]cc], and all its derived classes: 
	init_db_details(): Remove the database_name parameter, because we 
	only every use one database now, and it is specified in the connection.
	Also split init_db_details() into init_db_details() and 
	refresh_init_details(), so we can refresh the data without 
	rebuilding the whole structure.
	* glom/mode_data/box_data_list_related.[h|cc]: Added 
	get_relationship().
	* glom/utility_widgets/flowtable_withfields.[h|cc]: Added protected 
	get_portals() to get all the related records portals whose from_key 
	is the specified field. set_field_value(): Look for portals that 
	should refresh when the field value changes, and refresh them.
	Make FlowTableWithFields inherit from View_Composite_Glom, so that 
	it can be a sub-view, so that it can access the document, so that it 
	can get the full Relationship details instead of just the relationship 
	name.

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

	* glom/mode_data/dialog_layout_details.cc: save_to_document(): Set 
	the sequences of top-level groups, so they do not all get the default 
	zero, so that they all get loaded again, without replacing each other.
	* glom/glom.glade: dialog_design_layout: Added an Add Related button.
	Added dialog_choose_relationship.
	* glom/mode_data/treestore_layout.[h|cc]: Change the is_group model 
	column to a enumed type column, so that items can be 1 of more than 
	2 things.
	* glom/mode_data/dialog_layout_details.cc: Use the Add Related button, 
	and the changed model column type.
	* glom/mode_data/: Added dialog_choose_relationship.[h|cc].
	* glom/data_structures/: Added layoutitem_related.[h|cc].
	* glom/document/document_glom.[h|cc]: save_before(), load_after(): 
	Load and save the new layout item type.
	* glom/navigation/box_tables.cc: fill_from_database(): Show the table 
	title instead of the name when in operator mode.

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

	* docs/Makefile: Upload to my dreamhost account instead of sourceforge,
	so I can stop using sourceforge altogether.

2004-12-08  Christian Krause  <chkr@plauener.de>

	* Patch to fix Glib::wrap() build error with gcc 3.4.3.
	Bug #160245.

0.8.10:
	
2004-12-06  Murray Cumming  <murrayc@murrayc_debian>

	* glom/glom.glade: Gave lots of dialogs default buttons.

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

	* glom/data_structure/glom_conversions.cc: get_text_for_gda_value(): 
	return empty string instead of NULL, because this the result is meant 
	for user display, not for SQL.
	* glom/data_structure/field.cc: sql(): Return NULL for non-text null.

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

	* glom/Document/document_glom.cc: load_after_layout_group(): Check for 
	null pointers to avoid crash when opening some documents.

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

	* glom/application.cc: offer_new_or_existing(): Remove double delete 
	of the dialog, to stop crash when creating new documents.

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

	* glom/application.[h|cc]: Add recreate_database() and use it from 
	on_document_load() instead of showing the not-yet-implemented dialog.

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

	* glom/connection_pool.[h|cc]: Define ExceptionConnection, derived 
	from std::exception. connect(): When attempting to connect to a 
	specific database, try to connect to the server in general. Throw 
	an exception that tells the caller that the connection details are OK, 
	but that the database does not exist yet.
	* glom/application.cc: on_document_load(): If the connection fails 
	only because the database does not exist yet, then offer to recreate 
	it. Recreation is not actually implemented, however.
	Return true/false (requires bakery 2.3.11) so that the document 
	will be closed if the user cancels a dialog during loading.

0.8.9:

2004-11-30  Murray Cumming  <murrayc@murrayc_debian>

	* glom/application.cc: offer_new_or_existing(): Respond to cancel of 
	the new-database dialog.
	* glom/frame_glom.cc: alert_no_table(): Update the message. See the 
	TODO.

2004-11-29  Murray Cumming  <murrayc@murrayc.com>

	* glom/frame.cc create_database(): Show an informative dialog if the 
	connection fails.
	* glom/glom.glade: Add the dialog_error_connection dialog.
	* glom/mode_data/box_data_list.cc: on_adddel_user_requested_add(): 
	Prevent crash when there is only one field and it is auto-generating. 
	And actually add a row in this case without requiring data entry.
	
2004-11-28  Murray Cumming  <murrayc@murrayc.com>

	* glom/connection_pool.cc: connect(): specify the database name in the 
	connection string, when it is wanted, instead of using 
	change_database(), because libgda needs that.

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

	* glom/connection_pool.[h|cc]: Added get/set_database() 
	because postgres seems to need this specified at connection time.
	* glom/dialog_connection.cc: Use ConnectionPool::set_database().
	* Removed several extra ;s that g++ 3.4 complains about.
	
2004-11-21  Murray Cumming  <murrayc@murrayc.com>

	* glom/application.[h|cc]: Override Bakery::App::init_menus_file to 
	remove useless Save and Save-As menu items.
	offer_new_or_existing(): Prefix new databases with glom_. The whole 
	name could maybe be autogenerated in future. Start with an unprefixed 
	name based on the filename.
	Offer a database name and title based on the filename.
	* glom/Document/document_glom.[h|cc]: Added get/set_database_title(), and 
	save/load it in save_before() and load_after().
	* configure.in: Depend on bakery 2.3.9 because we need the new 
	behaviour of Bakery::Document::get_name() for the default database 
	name. Increase version.

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

	* glom/: Added dialog_new_database.[h|cc], to request database name 
	and title.
	* glom/: Added dialog_connection.[h|cc]: to replace 
	glom/navigation/box_databases.[h|cc].
	* glom/frame.[h|cc]: Added create_database().
	* glom/application.[h|cc]: Ask for a new database name when creating 
	new documents, and do not allow the user to navigate to a different 
	database.
	* glom/glom.glade: UI for the 2 new dialogs.

2004-11-17  Murray Cumming  <murrayc@murrayc.com>

	* utility_widgets/Makefile.am: Use noinst_PROGRAMS instead of 
	bin_PROGRAMS so that my little test does not get installed.

2004-11-14  Murray Cumming  <murrayc@murrayc.com>

	* utility_widgets/flowtable.[h|cc]: Draw some simple dotted lines 
	between the items to make the design mode look different than the data 
	mode.
	* mode_data/box_data_details.[h|cc]: Override on_userlevel_changed() 
	to call FlowTable::set_design_mode(), to show or hide the lines. This 
	doesn't quite work - it draws more lines immediately after switching 
	to developer mode, but less when just switching tabs.
	* Document_Glom::get_table_info_with_add(): Set the table name of the 
	new info when it adds, so that we actually remember new tables.

2004-11-06  Amanpreet Singh Alam <aalam@redhat.com>

	* configure.in: pa [Punjabi] is added tp ALL_LINGUAS

2004-10-29  Mike Castle  <dalgoda@ix.netcom.com>

	* Added lots of libintl.h includes to fix build on some platforms.

2004-10-18  Baris Cicek <baris@teamforce.name.tr>

	* configure.in:  Added tr to ALL_LINGUAS

2004-08-20  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* configure.in: Added es to ALL_LINGUAS

2004-08-11  Ankit Patel <ankit@redhat.com>

	* configure.in : Added "gu" to ALL_LINGUAS.

0.8.8:
	
2004-08-09  Murray Cumming  <murrayc@murrayc.com>

	* glom/data_structure/: Added layouts sub-directory, and moved layout 
	classes into it. Created a polymorphic heirarchy of layout items - 
	currently LayoutItem_Field and LayoutGroup for fields and groups of 
	fields.
	* glom/data_structure/layoutgroup.[h|cc]: Removed m_others. Designers 
	must put fields in a top-level group with no title, and that's the 
	default.
        * glom/document/document_glom.[h}cc]: Allow nested layout groups.
	* glom/mode_data/dialog_layout_details.[h|cc]: Use only one TreeView 
	instead of 2, using a TreeStore instead of a ListStore, to show fields 
	inside groups, and with nested groups. Allow the user to specify the 
	number of columns for the groups.
	* glom/mode_data/: Added treestore_layout.[h|cc], so that we can 
	override the vfunc to control whether items can be dragged into other 
	items.

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

	* glom/utility_widgets/flowtablewithfields.cc: add_field(): 
	Right-align the labels. TODO: Does not actually work.

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

	* docs/user-guide/C/glom.xml: Explain how to use glom as an Operator 
	and as a Developer.

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

	* glom/data_structure/field.cc: sql(): Create sql text representation 
	depending on the expected value type rather than the actual value 
	type, to prevent SQL errors when using relationships between fields of 
	different types.

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

	* glom/mode_design/tables_relationships.[h|cc]: Actually delete 
	relationships when the Delete button is pressed.

0.8.7:

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

	* configure.in: Depend on bakery 2.3.8, because that has a fix to 
	prevent the crash when changing user levels on the details view when 
	there are related records.

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

	* glom/utility_widgets/flowtable.cc: get_item_max_width(): Don't 
	ignore the vertical padding between widgets, so that this does not 
	incorrectly report that more items could be in the column.
	on_size_allocate(): Use = instead of += when using the single_items 
	width to get the maximum width, to prevent a big gap between the 
	first and second columns.

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

	* glom/document/document_glom.cc: save_before(): Store the layout item 
	sequence, so that the layout is not lost after a couple of saves.

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

	* glom/document/document_glom.cc: load_after(): Load the field 
	calculation from the field node rather than the lookup node, because 
	that is where we saved it.

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

	* glom/main.cc, application.[h|cc]: Make the application quit if the 
	user presses cancel on the new-or-existing dialog.

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

	* glom/glom_python.cc: Make 
	glom_evaluate_python_function_implementation() return a Value instead 
	of a string, and take a field type parameter.
	* glom/box_db_table.cc: Remove record_new().
	* glom/mode_data/box_data.cc: Rename record_new_from_entered() to 
	record_new() with an optional use_entered bool parameter, and use this 
	everywhere instead of record_new_from_entered. This means that the 
	first value entered in a new record in the list view will not be 
	forgotten. Also, this now sets the default value from calculations 
	where that is specified.

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

	* glom/utility_widgets/: Added datawidget.[h|cc]: This widget can hold 
	either an EntryGlom or a checkbox, depending on the field type. Used 
	this in the Field Definition dialog and the FlowTableWithFields for the
	Details view.

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

	* glom/data_structure/glomconversions: parse_value(): Return success 
	when parsing empty date, time, and numbers as nulls.
	* glom/mode_design/fields/dialog_fielddefinition.cc: 
	on_combo_lookup_relationship_changed(): Clear the list of fields 
	before adding more.
	* glom/utility_widgets/flowtablewithfields.cc: Add a checkbox instead 
	of an entryglom if it is a boolean field.

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

	* glom/navigation/box_tables.cc: fill_from_database(): make the window 
	bigger when in developer mode, because there is more to see.
	* glom/mode_design/fields/dialog_fielddefinition.[h|cc]: Use an 
	EntryGlom instead of an Entry for the default value, so that it gets 
	validated and internationalized and so that the value does not get 
	interpreted as a string. This should deal with NULL properly.
	* glom/utilty_widgets/entryglom.[h|cc]: Add methods to get and set 
	values so that code does not need to get the specific widget.
	* glom/data_structure/field.[h|cc]: Have both canonical and 
	translated field type names, and make this clearer in the API. This 
	allows us to use the english names in the XML document, but show the 
	translated names in the user-interface.

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

	* Embed python for calculated fields:
	* scripts/macros.m4: GLOM_ARG_ENABLE_WARNINGS: Add -Wno-long-long so 
	that the C++ compiler does not complain about the long longs in the 
	python headers.
	* Added acinclude.m4, copied from pygtk, with additions from the 
	version in Plannet. Used the AM_CHECK_PYTHON_INCLUDES macro in 
	configure.in to detect the python headers and libs.
	* glom/glade.glom: Added widgets for field calculation to the 
	Field Definition dialog.
	* glom/mode_design/fields/dialog_fielddefinition.[h|cc]: Load and save 
	the field calculation.
	* glom/mode_design/fields/: Added dialog_fieldcalculation.[h|cc] that 
	can be opened from the Field Definition window to edit and test the 
	python code.
	* glom/: Added glom_python.[h|cc]: With a function that can evaluate 
	arbitrary python code as if it is a python function definition.
	* glom/main.cc: Intialize and terminate the python runtime.

0.8.6:

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

	* glom/main.cc: Accept a URI on the command line, and use it
	to open an existing document if any.
	* glom/application.[h|cc]: Add URI parameter to init(), and use it.
	* glom/data_structure/layoutgroup.[h|cc]: Add boolean m_others 
	member variable and use it instead of checking the group name.

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

	* glom/navigation/box_databases.cc: Use the UNIX user name by default, 
	because it is often the same as the postgres user name.

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

	* glom/application.[h|cc]: Add intermediate signal handlers for the 
	User Level menu items because use of sigc::bind with RefPtrs might be 
	causing crashes.

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

	* glom/navigation/box_tables.cc: fill_from_database(): Correct typo so 
	that the hidden status is shown correctly.

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

	* glom/glade.glom: In Table Navigation, change Cancel button to a close
	button, because this window is opened to edit as well as to navigate.
	* glom/navigatin/box_tables.cc: Make sure that changes are saved to 
	the document immediately, because we no longer automatically ask 
	all views to save into the document before writing to disk.

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

	* glom/document/Document_Glom.cc: set_modified(): Call save_before() 
	and write_to_disk() instead of save() because that gets all the data 
	from the views again.

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

	* glom/document/Document_Glom.cc: set_modified(): Do nothing if the 
	modified status is already what it would be set to, to prevent 
	infinite loops.
	* glom/application.cc offer_new_or_existing(): Keep offering if the 
	user cancels at some stage.

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

	* glom/document/Document_Glom.cc: When in developer mode, save all 
	changes immediately and automatically. Lets see how much disk activity 
	this creates.

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

	* glom/applciation,cc init_layout(): Do not create the toolbar, 
	because it is not useful for this application.

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

	* glom/navigation/box_db_tables.cc: save_to_document(): Only save 
	something when something has been modified.

2004-07-04  Christophe Merlet  <redfox@redfoxcenter.org>

	* configure.in: Added "fr" (French) to ALL_LINGUAS.

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

	* glom/document/Document_Glom.[h|cc]: Cache all the data in 
	member variables and only deal with the XML DOM when loading and 
	saving, in overrides of load_before() and save_after(). This makes the 
	code nicer and faster.

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

	* Renamed all the ugly on_AddDel_* methods to slightly less ugly 
	on_adddel_* methods.

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

	* Added glom.keys and glom.mime, and added rules in Makefile.am to 
	install them. This is for the old MIME-type registration system, 
	because GNOME 2.6 seems to need both the old and new systems.

0.8.5:

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

	* glom/utility_widgets/adddel/adddel_withbuttons.cc: Use a stock 
	Open button instead of one that says Edit. It's nicer.
	* glom/mode_find/box_data_list_find.cc: Make the Find button position 
	sensible.

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

	* glom/mode_find/box_data_list_find.cc fill_from_database(): Save the
	fields into m_Fields, so that get_WhereClause() knows about them. Find 
	in the List view now works.

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

	* glom/utility_widgets/flowtablewithfields: Handle field_edited 
	signal of sub-flowtables so that glom responds to editing of a field 
	in a group on the Details view.

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

	* glom/mode_data/box_data.[h|cc] and derived classes: Change 
	get_Entered_Field to get_entered_field_data() which takes a Field and 
	returns a Gnome::Gda::Value. This makes Find mode work for the Details 
	view at least.

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

	* glom/mode_find/: Make the find mode show some widgets, by 
	re-activating some old code and adding the boxes and notebooks to the 
	Bakery composite View so that they know about the document.

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

	* glom/navigation/box_db_tables.cc: on_AddDel_changed(): Update the 
	document properly when a table is renamed, so that glom does not 
	complain that it knows nothing about the table. Also, update the 
	AddDel with the new table name as they key, so that it does not try 
	to operate on the old table name.

0.8.4:

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

	* glom/utility_widgets/flowtable.cc on_size_allocate(): Correct x 
	posititioning of 2nd column when using single items.
	get_field(): Put the recursive stuff in the field(sting id) overload, 
	because that's the one that gets called by the field(field) overload.

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

	* glom/utility_widgets/flowtablewithfields.cc: Added add_group() and 
	used it in mode_data/box_table_data.cc fill_layout(). Layout groups 
	are now shown inside a HIG-style frame.
	* glom/navigation/box_tables.cc on_AddDel_add(), and
	  glom/mode_design/fields/box_db_tabledefnition.cc on_AddDel_add(): 
	Create a default title for tables and fields.

2004-06-29  Gareth Owen  <gowen72@yahoo.com>

	* configure.in: Added en_GB to ALL_LINGUAS

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

	* glom/utility_widgets/flowtable.cc: get_minimum_column_height(), 
	get_column_height(): Make single items take up the whole width, 
	instead of affecting the width of the first sub-column.

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

	* glom/box_db.[h|cc]: Add get_default_button() virtual method, and 
	add implementation in glom/navigation/box_databases.cc, and used it in 
	constructor Dialog_Glom, so that the connect button is the default 
	button, so you can just press return in the password box to connect.

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

	* configure.in: Removed AC_CONFIG_AUX_DIRS(), which was causing 
	problems.

2004-06-24  Duarte Loreto <happyguy_pt@hotmail.com>

	* configure.in: Added Portuguese (pt) to ALL_LINGUAS.

0.8.2:
	
2004-06-20  Murray Cumming  <murrayc@murrayc.com>

	* glom/application.[h|cc]: Added on override of on_menu_help_init() to 
	merge in a menu item for the user guide. Called gnome_help_display() in
	the menu signal handler to show the docs.
	* glom/main.cc: Call gnome_program_init() so that gnome_help_display() 
	has the information that it needs. Hopefully this coexists with our
	Gtk::Main initialisation.
	* configure.in: Depend on libgnome, because that is where 
	gnome_help_display is. That is not good but at least it is not 
	libgnomeui.
	* Makefile.am: Add some defines needed by gnome_program_init() - see 
	comments in Makefile.am.

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

	* configure.in, docs/user-guide: Added skeleton for the user guide. 

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

	* glom/mode_design/fields/box_db_table_definition.cc: 
	get_field_definition(): Prevent crash - do not try to use a 
	TreeModel::iterator as the index to a vector.

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

	* Added glom.applications, to register glom as capable of opening 
	glom files.
	* Makefile.am: Install glom.applications in the applications-registry.
	* glom/navigation/box_tables.cc: fill_from_database(): Show tables 
	that are in the database, but not in the document, as hidden, if in 
	developer mode.
	* glom/utility_widgets/adddel/adddel.cc : set_column_choices(): Get the
	cellrenderer for the view column, not the model column. Among other 
	things, this makes the Relationships dialog work again.
	* glom/mode_design/dialog_relationships.[h|cc]: Add an on_hide() 
	override to actually save the relationships when the dialog is closed.
	
0.8.2:

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

	* glom/mode_data/box_data_details.cc fill_from_database(): Make 
	auto-increment fields non-editable.

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

	* glom/utility_widgets/adddel.cc add_column(Field): Make the column 
	non-editable if it is an auto-increment field, because the user should 
	never change or create those values.
	* glom/glom.glade: Create a HIG information dialog. Use it in 
	glom/frame_glom.cc show_ok_dialog().
	* glom/mode_design/box_db_tabledefinition.cc: on_AddDel_del(): Correct 
	for loop, so that we actually delete the field.
	* glom/base_db: get_fields_for_table(): Ignore any fields that are no 
	longer in the database. Among other things, this makes the field 
	definition window update correctly after deleting a field.
	* glom/frame_glom.cc: Update the data view when the fields window 
	is closed, because the structure might have changed.
	* glom/data_structure/glomconversions.cc: parse_value(): When parsing 
	a string as a number, create a GdaNumeric-based GdaValue instead of a 
	float, because that is the numeric type that we are using eveywhere. 
	Actually, maybe it's not the best type.
	* All over the place: Fixed lots of primary_key arguments to be 
	Gnome::Gda::Values rather than strings, and therefore made sure that 
	Field::sql() was used with them.

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

	* glom/document/document_glom.[h|cc]: Added get_default_table().
	* glom/frame_glom.cc: on_Box_Databases_selected(): open the default 
	table instead of showing the list of tables, if there is a default 
	table.

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

	* glom/glade.glom, glom/mode_design/fields/dialog_fielddefinition.cc: 
	Moved Default Value into its own Notebook tab, with new Lookup widgets.
	* glom/mode_data/box_data_list.cc: Make the rows have alternating 
	colors when the theme does that. Among other things, this makes the 
	data list look different to the field list.
	* The lookup details are not actually used yet to do any lookups.

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

	* glom/utility_widgets/adddel/adddel.[h|cc]: Simplifified the code for 
	the placeholder row a bit.
	* glom/navigation/box_db_tables.cc, 
	glom/mode_design/fields/box_table_field_definitions.cc: Fixed some odd 
	focus errors (hopefully) caused by rebuilding the TreeModel in a 
	CellRenderer signal handler.
	* glom/mode_design/fields/box_table_field_definitions.cc:
	get_field_definition(): Store the field title in the result, not in 
	the temporary field instance, so that new titles are really saved.

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

	* glom/navigation/box_tables.cc: on_AddDel_changed(): Implement 
	renaming of tables.

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

	* glom/mode_data/box_data_list.cc: Corrected problems with the 
	AddDel changes: Adding a record works again, and editing a list record 
	shows the correct record in the Details view.

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

	* glom/utility_widgets/adddel.[h|cc]: add_item(), remove_item(), 
	get_row() now use a key value instead of the value in the first column.
	This is a hidden TreeModel column. There is also a bool placeholder 
	column, used to mark the blank row that is for the user to add a new 
	row. This scheme should make it easier to handle reorderered rows, and 
	it allows us to get a unique identifier for a changed row even when 
	responding to a change an it is the first row (such as a field name) 
	that has changed.

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

	* glom/utility_widgets/adddel.[h|cc]: The API now uses Gtk::TreeModel
	iterators instead of integer indexes. The previous API was an 
	abstraction layer that is no longer required now that we have 
	Gtk::TreeView and plan to keep using it.
	* other files: Adapted accordingly.

0.8.1:

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

	* glom/application.cc: show_hint(): Do not show the help hints at the 
	bottom - they are just annoying and not really necessary anymore.
	
2004-06-12  Murray Cumming  <murrayc@murrayc.com>

	* glom/data_structure/glomconversions.cc: Simplify the time_get and 
	time_put code by using the default template iterators.
	
2004-06-12  Murray Cumming  <murrayc@murrayc.com>

	* glom/data_structure/glomconversions.cc: Various corrections from 
	Daniel Elstner (king of C++). Also fallback to parsing time in the C 
	locale, because parsing in the current locale never seems to work.
	* glom/utility_widgets/adddel/adddel.cc: on_treeview_celledited(),
	  glom/utility)widgets/entryglom: check_changed(): Update the entry 
	with the text as it would be displayed in the locale, after editing, 
	so that the user gets immediate feedback.

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

	* glom/dialog_data_invalid.[h|cc}, glom.glade: New dialog to show 
	when the user enters incorrect data, with advice, and offer to revert.
	glom/utility_widgets/entryglom.cc: check_for_changes(): Show the new 
	dialog, and put the focus back in the entry if the user tries again.
	* glom/utility_widgets/adddel/adddel.cc: on_treeview_cell_edited(): 
	Do the same, though the cell is obviously not reactivated properly.
	
2004-06-12  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/entryglom.cc: check_for_change(): Complain 
	about unparseable data (such as dates and times) instead of sending 
	garbage to the database. This dialog should be improved (see comments) 
	and we need the same thing for the List view.
	
2004-06-12  Murray Cumming  <murrayc@murrayc.com>

	* Moved generic parse/format routines to 
	glom/data_structure/glomconversions.[h|cc] from 
	glom/utility_widgets/entryglom.[h|cc].
	* glom/utility_widgets/adddel/adddel.[h|cc]: Add add_column() override 
	that takes a Field. Add set_value(Gda::Value) and get_value_as_value() 
	methods that use the glomconversions.
	* glom/mode_data/box_data_list.cc: fill_from_database(), 
	on_adddel_changed(): Use the GdaValue-based AddDel API so that dates, 
	times, and numbers are shown and parsed as per the locale.
	
2004-06-12  Murray Cumming  <murrayc@murrayc.com>

	* glom/utility_widgets/flowtable_withfields.cc: Change all parsing to 
	use C++ streams and facets, and rearranged them into generic 
	conversion routines that can be used elsewhere and should be moved 
	elsewhere too. Added conversions to ISO formats, fo use in SQL 
	statments.
	* glom/data_structure/field.cc: sql(): Use these conversion routines 
	to get text representations for SQL.

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

	* glom/utility_widgets/flowtable_withfields.cc: get_suitable_width(): 
	Use static locale-specific conversion function from EntryGlom to get 
	example text so that the number, date, and time fields have suitable 
	widths in all locales.

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

	* po/: Update it.po from Albert Paro.
	* configure.in: Re-enabled it.po now that the invalid multibyte 
	sequences are fixed.

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

	* Do locale-specific display and parsing of dates, times, and numbers 
	in the Data Details.
	* glom/utility_widgets/entryglom.[h|cc]: Added Gda::Value-based 
	get_value() and set_value(), which show and parse the text based on 
	the field type and the locale, though there are still some TODOS in 
	the code.
	* glom/mode_data/box_data_details.cc: Use EntryGlom::set/get_value() 
	instead of set/get_text(), so we delegate parsing/representation to 
	the EntryGlom.

2004-06-10  Adam Weinberger  <adamw@gnome.org>

	* configure.in: Added en_CA to ALL_LINGUAS.

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

	* glom/utility_widgets/entryglom.[h|cc]: Started to add validation, 
	depending on the field type.

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

	* glom/data_structure/: Removed fieldtype.[h|cc] to simplify things, 
	moving some of the static functions into the Field class.

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

	* glom/utility_widgets/flowtable_withstyles.[h|cc]: Use PangoLayout to 
	calculate an appropriate width for fields of different types. Need to 
	do locale-specific stuff here though.

2004-06-10  Gustavo Noronha Silva  <kov@debian.org>

	* configure.in: added pt_BR to ALL_LINGUAS

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

	* Added macros/macros.m4, and used the macro in configure.in, to add 
	--enable-warnings configure options, and used them by default in 
	autogen.sh. So now it builds with warnings by default.

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

	* glom/navigation/box_tables.cc: Handle AddDel::signal_user_changed so
	that changes are saved immediately. It does not update the list of 
	non-hidden tables properly yet though. The AddDel columns are no 
	longer editable when in operator mode.
	* glom/frame_glom.[h|cc]: Do not allow the user to design fields, 
	relationships, or layouts if no table has been selected.
	* glom/application.cc, frame_glom.[h|cc]: on_menu_userlevel_*(): 
	Use sigc::bind to send the RadioAction to the signal handler, so we 
	can check if it is active, because the signal seems to be sent both 
	when the menu item is un-activated (as a result of another radioaction 
	being activated) and when it is activated.

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

	* glom/box_db.[h|cc]: Move the database stuff into the Base_DB class to
	make the code a bit clearer. Connect to the signal of the document in 
	a set_document() override instead of the on_load_document() override.

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

	* po/il.po: Italian translation from Alberto Paro.
	* various headers: Alberto Paro added includes for libintl.h because 
	he says gettext() is not defined without them. It is strange that it 
	works for me, but they do no harm. I need to look at this properly.

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

	* po/de.po: German translation from Hendrik Brandt.

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

	* Mode menu: removed the Design Mode.
	* Developer menu: Added Fields, Relatationships, Users, and Layout, to 
	show the same functionality in secondary windows.

2004-06-09  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "sv" to ALL_LINGUAS.

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

	* glom/application.[h|cc], glom/Document/Document_Glom.[h|cc], and 
	others: The AppState (User Level) is now dependent on the document so 
	different instances (each with 1 document) can have different 
	user levels. And the user level is Operator if the file is read-only.
	* glom/Navigation/Box_DB_Tables.cc: Enable/Disable the extra UI in 
	fill_from_database() instead of the constructor, so that they are 
	changed when the user level changes. The table title is not yet shown 
	instead of the table name when in operator mode.

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

	* Changed all source code filenames to lowercase, because it was 
	getting ugly, and imported into GNOME cvs.

0.8.0:

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

	* glom/application.cc: init_menus(): Give Mode/Find a control-F 
	shortcut. Find does not work yet.
	* glom/Mode_Design/Box_Table_FieldDefinitions: Show the field titles 
	in the list of fields.
	* Changed all std::strings to Glib::ustrings. Thanks regexxer.
	* glom/Document/Document_Glom.cc set_data_layout_groups(): Really save 
	the groups.

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

	* glom/Data_Structure/Field.cc: sql(): Put quotes around dates and 
	time, so that entering them works in Date mode.

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

	* glom/Document/Document_Glom.cc: set_tables(): Removed old code that 
	caused tables to always be marked as hidden.
	* glom/Mode_Data/Box_Data_Details.cc: Change Related Records frame to
	HIG-style.

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

	* glom/Mode_Data/Box_Data.cc: get_fields_to_show(): Remove any fields 
	that are no longer in the database. This method is horribly 
	inefficient.
	* glom/Mode_Data/Box_Data_Details.cc: fill_related(): Do not try to 
	show records from a relationship that uses a field that does not exist 
	any longer in the other table.
	* Detail and List use Filed::value_to_string(), which deals with NULLs
	instead of filling them with the text NULL.

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

	* glom/Frame_Glom.cc: on_userlevel_changed(): Really switch to data 
	mode if the current mode is not allowed for the new userlevel.

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

	* glom/Utility_Widgets/: Added EntryGlom, which is an Entry with an
	edited signal that is only emitted when the user finishes editing.
	* glom/Utility_Widgets/flowtable_withfields.[h|cc]: Use EntryGlom 
	instead of Gtk::Entry.
	* glom/application.cc: init_menus(): Put the standard bakery save and
	saveas actions in the list of developer-mode actions, so that they
	will be disabled when in operator mode. Actually, I need to remove
	save anyway, because it should save automatically.
	* Added standard GPL copyright headers to all files.

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

	* Data Details changing of data now works, though it is doing an 
	insane amount of UPDATE commands.

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

	* Data Layouts now show newly-added fields.

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

	* glom/Mode_Data/Box_Data_Details.cc: Reordering the fields in the 
	Data Layout really works now.

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

	* Show the table title in the Data Layout dialog, and on the main
	window.

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

	* glom/Utility_Widgets/flow_table.cc: on_allocate(): Fixed awful 
	calculation bug, so the Data Details view now shows itself properly.

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

	* glom/Document/Document_Glom.h: Changed get/set_hidden_tables() to 
	get/set_tables(), using the new TableInfo class, so that we can 
	save table titles.

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

	* application.cc: init(): If it is a default empty document, offer 
	a choice of opening an existing document, or starting a new document, 
	to make it clearer that you need a document to work with the database.

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

	* Navigation: The user can not open a table that the document does not
	know about. We really need up-to-date information in the document, so 
	in future we must automatically-save it.
	* List entry: Works again. Instead of using the postgres 
	serial/auto-increment field type, I have added a hack that does a 
	max() to get the next value. Maybe we can fix libgda to make it 
	work with serial.

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

	* Box_DB_Data::get_fields_for_table() now gets some information from 
	the document - the information that libgda does not tell us.

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

	* All field information is now saved in the document when a table is 
	opened, and auto_increment information from the database is ignored,
	because libgda does not give us that information.

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

	* glom/Mode_Data/Box_Data_List::Fill(): Fixed some awful bugs - the
	list view now shows all the fields and stores changes properly.

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

	* glom/Document/Document_Glom.[h|cc]: get/set_data_layout*(): Removed 
	the hidden_fields argument - now the LayoutItems have a m_hidden 
	member instead.

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

	* glom/Mode_Design/Box_DB_Table_Definition.cc:postgres_change_column():
	Use to_date(), to_number(), and to_timestamp(), when CAST does not 
	work. So now all field type conversions work.

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

	* Layout groups can not have duplicate names.

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

	* Layout groups are now saved too.

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

	* Layouts are now saved.

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

	* The beginnings of the Data Layout dialog.

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

	* Added Notebook_Glom::merge_special_menus() so that modes can have 
	their own extra menus.
	* Added Box_Data::show_layout_dialog().

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

	* FlowTable: Fixed several position problems.

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

	* Combo_FieldType: made get give what you set.

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

	* The Field Definition dialog is now done via libglademm.

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

	* glom/Mode_Design/Fields/Combo_Type: Now derives from ComboBox instead
	of Combo.

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

	* Added Data_Structure/FieldType, which defines some simple Glom-only
	types, and what underlying types to use for these. From now on, Glom
	can not be used on databases that do not use these simple types. It
	will refuse to edit fields that use other types.

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

	* Box_Data_List: Gets specific fields (specified by document) instead 
	of all fields.

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

	* FlowTable now has 2 widgets in each row of each column. Kind of 
	works.

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

	* AppState: Added userlevel_changed signal.

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

	* Changing the field type works sometimes.

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

	* Added FlowTableWithFields, and used it a bit.

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

	* glom/Utility_Widgets:/ Addded FlowTable container.

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

	* App_Glom and Frame_Glom are now instantiated from glom.glade, 
	with get_widget_derived().

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

	* Information about which tables are hidden is now saved in the 
	document.

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

	* Replaced Connection with ConnectionPool which does more appropriate
	sharing of the connection.

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

	* AddDel: Used an AddDelColumnInfo field to simplify it a bit.

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

	* Box_Databases now loads its UI from a libglade file.

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

	* Added FieldTypes class and used it to get the actual GdaValueTypes
	and therefore show the correct field type in the Table Definition.
	* Added User Level menu.

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

	* AddDel: Used derived TreeViewColumn so we can store extra column
	information, so we can deal with reordered view columns.

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

	* Creating tables works, though defining them does not. Creating 
	databases does not work.

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

	* Initial port from mysqlcppapi to libgdamm. It doesn't do much but 
	you can navigate to a table with postgressql.

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

	* Updated for gtkmm 2.4 API.

0.7.0:

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

	* glom/Dialog_Glom.[h|cc]: Inherit from Gtk::Dialog instead of 
	Gtk::Window and use the action_area.

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

	* Users can now see full Details of Related Records by choosing Edit.

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

	* glom/Utility_Widgets/AddDel/AddDel.cc: Respected m_bHasRowTitles in
	get_value() and set_value(). This means that the Related Records pane
	in Data/Details now works again.

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

	* Updated for latest mysqlcppapi API - using shared, reference-counted
	objects.

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

	* Did some funky TreeView on_button_press_event() stuff to fix the
	context-menu and Design/Relationships popups. 

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

	* Now uses true bool model column types. This was achieved with some
	unpleasantly lengthy new/delete and switch/case stuff.

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

	* Data_Details works.
	* Adding new records works.
	* Used more stock buttons.

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

	* Opening of database when opening old documents works again - the 
	Bakery API had changed so on_Document_load() needed to be changed to
	on_document_load() so that it was an override.
	* Data_Details kind of works.

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

	* popup columns now work.

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

	* Column titles are now set properly.
	* Field definition editing works via the Edit dialog.
	* Added CellRendererList, from the gtkmm examples - doesn't quite
	work yet.

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

	* Updated for Bakery 1.3.7, with no gnomemm dependency.

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

	* configure.in, Makefile.am: Used intltool, like the gnomemm_hello
	build files. The intl, macros, and scripts directories are no longer
	used.
	* Updated for latest libxml++ API.
	* Added std:: prefixes where necessary.

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

	* Used Bakery::Document_XML now that it is part of Bakery itself, and
	use libxml++ API instead of Xerces-C++ because that is what it uses.
	This means that there are no more --with- options needed by the
	configure script.

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

	* Disabled part of Notebook_Find to prevent warnings and segfault
	on exit. It didn't do anything yet anyway.

2002-09-19  Murray Cummign  <murrayc@usa.net>

	* Dialog_FieldDefinition: Show()ed the child notebook, so field
	definition editing works again.

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

	* Notebook_Glom: The signal handlers were hiding the base class
	implementations.
	* Frame_Glom::show_ok_dialog(): Now use Gtk::MessageDialog.

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

	* AddDel widget: Adding of items now works, so Glom can create new
	databases and tables again.

2002-08-07  Murray Cummign  <murrayc@usa.net>

	* Updated for latest Menu::popup() API.

2002-07-27  Murray Cumming  <murrayc@localhost.localdomain>

	* Updated for latest pack_start enum and use new TreeView editable
	cells method.

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

	* Updated for changed gtkmm2 pack_start() and TreeView APIs.

2002-03-19  Murray Cumming  <murrayc@usa.net

	* Used pkg-config checks instead of the various old .m4 macros,
	and changed Xerces C++ version to 1.7.
	* Replaced gtk-- 1.2 includes with gtkmm2 includes.
	* Prefixed Xerces C++ includes with xercesc, as required by 1.7.
	* Changed e.g. clicked.connect(SigC::slot(this to
	signal_clicked.connect(SigC::slot(*this.
	* Replaced use of Gnome::Dialog with Gtk::MessageDialog.
	* Replaced use of Gnome::PropertyBox with a similar, but custom Window
	class.
	* Changed Gtk::wrap() to Glib::wrap(), and gtkobj() to gobj().
   * Changed Gtk::Widget::set_usize() to set_default_size().

