[glom/glom-1-16] Adapt to latest libgdamm API.



commit 54b4adc167c182d3289c04d22781ebdd7c0b3866
Author: Murray Cumming <murrayc murrayc com>
Date:   Tue Jun 15 22:22:17 2010 +0200

    Adapt to latest libgdamm API.
    
    * glom/base_db.cc:
    * glom/libglom/db_utils.cc:
    * glom/libglom/python_embed/py_glom_relatedrecord.cc:
    * glom/libglom/utils.cc:
    * glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
    SqlBuilder::add_field_id() was renamed to add_field_value_id(), though I now
    notice that no value is involved when it is used for SELECT queries.

 ChangeLog                                          |17561 +-------------------
 glom/base_db.cc                                    |    2 +-
 glom/libglom/db_utils.cc                           |    2 +-
 glom/libglom/python_embed/py_glom_relatedrecord.cc |    2 +-
 glom/libglom/utils.cc                              |    2 +-
 .../utility_widgets/db_adddel/glom_db_treemodel.cc |    2 +-
 6 files changed, 19 insertions(+), 17552 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 122bf41..e749206 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-06-15  Murray Cumming  <murrayc murrayc com>
+
+	Adapt to latest libgdamm API.
+
+	* glom/base_db.cc:
+	* glom/libglom/db_utils.cc:
+	* glom/libglom/python_embed/py_glom_relatedrecord.cc:
+	* glom/libglom/utils.cc:
+	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: 
+	SqlBuilder::add_field_id() was renamed to add_field_value_id(), though I now 
+	notice that no value is involved when it is used for SELECT queries.
+
 1.15.1:
 
 2010-05-25  Murray Cumming  <murrayc murrayc com>
@@ -2323,17550 +2335,5 @@ This is the master branch. See also the glom-1-14 branch.
 	Minor simplification.
 
 	* glom/libglom/data_structure/glomconversions.cc:
-	get_stringstream_precision_default(): Simplify this function, for
-	Michael to see.
-
-2010-01-14  Michael Hasselmann  <michaelh openismus com>
-
-	Make the default precision used for stringstreams available for libglom users
-
-	* glom/libglom/data_structure/glomconversions.[h|cc]
-	(get_stringstream_precision_default): Wrap the constant used into a function
-	and export it in the headers. Users of libglom need it to show the same
-	precision for Glom's numeric type.
-
-
-2010-01-12  Murray Cumming  <murrayc murrayc com>
-
-	Music Collection Example: Changed a layout.
-
-	* examples/example_music_collection.glom: Albums: List View:
-	Add some related records to show a problem in Qlom.
-
-2010-01-08  Murray Cumming  <murrayc murrayc com>
-
-	Correct use of locales when creating text representations.
-
-	* glom/main.cc:  Set std::locale::global() to the user's current locale,
-        forcing us to imbue streams to whatever we actually want.
-	* glom/libglom/connectionpool_backends/postgres_self.cc: startup():
-	Do not use Utils::string_from_decimal() for the port number, because it
-	is meant to use the user's locale, but we need it in the C locale.
-	* glom/libglom/data_structure/field.cc: to_file_format(): Use
-	std::locale::classic() when we want the C locale, not std::locale(),
-	which means the user's locale, which was previously the C one by chance.
-	* glom/libglom/utils.cc: string_from_decimal(): Imbue the stream
-	as wanted.
-
-2010-01-07  Michael Hasselmann  <michaelh openismus com>
-
-	Fix potential encoding error for currency symbols
-
-	* glom/libglom/data_structure/glomconversions.cc (get_text_for_gda_value):
-	Glom's numeric type can be prefixed with a currency symbol. If the symbol
-	cannot be represented in the user's locale it would hide all data for the
-	column. This is fixed by using a fallback conversion for the symbol.
-	Fixes bug #606349.
-
-2010-01-07  Armin Burgmeier  <armin arbur net>
-
-	* win32/build-installer:
-	* win32/glom.iss.in: Install glom_1_12.pyd instead of glom.pyd. Bug
-	#605593.
-
-1.12.4:
-
-2009-12-30  Murray Cumming  <murrayc murrayc com>
-
-  Dnd layout: Avoid a crash when dragging to empty space.
-
-	* glom/utility_widgets/flowtable_dnd.cc: on_drag_data_received():
-	Avoid dereferencing a null group.
-	Bug #599232
-
-2009-12-30  Murray Cumming  <murrayc murrayc com>
-
-	Dnd layout: Avoid a crash.
-
-	* glom/utility_widgets/flowtable_dnd.cc: on_drag_data_received():
-	Use a dynamic_cast<> to avoid memory corruption with the MI class.
-	Bug #599232
-
-2009-12-16  Armin Burgmeier  <armin arbur net>
-
-	* win32/build-installer:
-	* win32/glom.iss.in: Add missing libpangoft2-1.0-0.dll. Bug #599966.
-
-2009-12-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom.desktop.in.in: Remove the Application category because
-	krazy2 says it is deprecated.
-
-2009-12-10  Murray Cumming  <murrayc murrayc com>
-
-	FlowTableDnd: Some refactoring.
-
-	* glom/utility_widgets/flowtable_dnd.[h|cc],
-	* glom/mode_data/flowtable_withfields.[h|cc]: Make FlowTableDnd less
-	aware of LayoutItems, though it is still not yet generic enough.
-	* glom/utility_widgets/test_flowtable_dnd.cc:
-	* glom/Makefile_tests.am: Added test_flowtable_dnd.
-
-2009-12-10  Murray Cumming  <murrayc murrayc com>
-
-	* examples/example_film_manager.glom: Added silly example data,
-	fixing bug #600859 (Michael Hasselmann)
-
-2009-12-10  Murray Cumming  <murrayc murrayc com>
-
-	Tests: Validate all examples against the DTD, and correct the DTD.
-
-	* tests/dtd/test_example_sqlite: Renamed to test_file_validation.sh.
-	* glom/Makefile_tests.am: Adapted.
-	* glom/libglom/document/document.cc: save_before(): Correct the saving
-	of group privileges so they are really inside the group nodes. Avoid
-	saving unnamed groups, as seen in the example files.
-	* glom/glom_document.dtd: Several corrections to fix the validation of
-	the example files, though I don't like that DTDs don't seem to give
-	us any way to say that the sequence of child elements is irrelevant.
-	I don't like enforcing the sequence.
-
-2009-12-10  Murray Cumming  <murrayc murrayc com>
-
-	Fix distcheck.
-
-	* Makefile.am:
-	* Makefile_tests.am: Fix the distcheck by disting the DTD validation
-	test script and the .glom file that it uses.
-	* glom/libglom/init.cc: Redefine Python's PyDateTime_IMPORT macro,
-	to avoid a compiler warning. See http://bugs.python.org/issue7463
-	* glom/main.cc: Avoid including Python's datetime.h, to avoid the same
-	compiler warning.
-
-2009-12-09  Murray Cumming  <murrayc murrayc-desktop>
-
-	Tests: Complete the test_python_execute_func_date test.
-
-	* glom/libglom/python_embed/pygdavalue_conversions.c
-	(glom_pygda_value_from_pyobject): Use g_date_new_dmy() so the GDate
-	is really completely initialized, avoiding errors about invalid dates.
-	* tests/test_python_execute_func_date.cc: Check the return type and
-	value, by comparing the python result with the current date.
-	Bug is now really fixed #603686. (Andrew Ruthven)
-
-2009-12-09  Murray Cumming  <murrayc murrayc com>
-
-	Fix the crash when calling python functions that return dates.
-
-	* glom/libglom/python_embed/pygdavalue_conversions.c
-	(glom_pygda_value_from_pyobject): Call the macro PyDateTime_IMPORT here,
-	though it was already called in libglom_init(). I don't know why this
-	fixes the crash, but it does. Bug #603686. (Andrew Ruthven)
-
-2009-12-08  Murray Cumming  <murrayc murrayc com>
-
-	Tests: Added glom_evaluate_python_function_implementation() tests.
-
-	* Makefile_tests.am:
-	* tests/test_python_execute_func.cc:
-	* tests/test_python_execute_func_date.cc: Added two unit tests for
-	Glom::glom_evaluate_python_function_implementation(). The date one
-	currently fails, as in bug #603686. (Andrew Ruthven)
-
-2009-12-07  Murray Cumming  <murrayc murrayc com>
-
-	Python: Trying to stop the PyDateTime_Check() crash.
-
-	* glom/libglom/init.cc: libglom_init(): Call the PyDateTime_IMPORT
-	macro, which is needed to stop PyDateTime_Check() and PyDate_Check()
-	from crashing, at least in my simple test case. It still crashes in
-	Glom though.
-	* glom/main.cc: Do not initialize Python here because Glom::init()
-	already did it, though doing it twice does not seem to be a problem.
-
-2009-12-04  Murray Cumming  <murrayc murrayc-desktop>
-
-	Rename some functions to avoid fear of linking to the wrong one.
-
-	* glom/libglom/python_embed/pygdavalue_conversions.[h|cc]:
-	pygda_value_from_pyobject(), pygda_value_as_pyobject(): Add a glom_
-	prefix so we know we are not using the copy in pygda.
-	* glom/python_embed/glom_python.cc:
-	* glom/libglom/python_embed/py_glom_record.cc:
-	* glom/libglom/python_embed/py_glom_relatedrecord.cc: Adapted.
-
-2009-12-04  Murray Cumming  <murrayc murrayc com>
-
-	Field Definitions: Default value: Fix crash when selecting a date.
-
-	* glom/utility_widgets/datawidget.cc: offer_field_list(),
-	offer_field_layout(), offer_related_record_id_find(): Avoid crashes
-	caused by calling set_transient_for() with a null parent window,
-	for instance from the field definitions dialog.
-
-2009-12-04  Murray Cumming  <murrayc murrayc com>
-
-	Field Definitions: Show default value widget for date fields.
-
-	* glom/utility_widgets/datawidget.cc: Constructor: show the
-	hbox_parent widget, so the widgets always show up for the default value
-	in the field definitio dialog for date fields. The details view must
-	be doing this via a show_all() somewhere.
-
-2009-12-03  Murray Cumming  <murrayc murrayc com>
-
-	Related Records layout: Field formatting: Choices: Fix related choices.
-
-	* glom/mode_design/layout/dialog_layout_details.[h|cc]
-	* glom/mode_design/layout/dialog_layout_list_related.[h|cc]:
-	Add virtual get_fields_table() and use this in
-	on_button_field_formatting() so that the formatting dialog shows
-	relationships for the to table instead of the parent table, when
-	editing formatting for a field in a related records portal.
-	Bug noticed by Michael Hasselmann and Andrew Ruthven.
-	* glom/mode_design/layout/layout_item_dialogs/dialog_field_layout.c:
-	Removed some debug output.
-
-2009-12-03  Murray Cumming  <murrayc murrayc com>
-
-	Allow use of example documents that mention an unsupported backend.
-
-	* glom/application.cc: check_document_hosting_mode_is_supported():
-	Don't check the backend if it is an example document because the user
-	will choose it when saving anyway.
-
-2009-11-17  Murray Cumming  <murrayc murrayc com>
-
-	tests: dtd: Now passes.
-
-	* glom/libglom/document/bakery/document_xml.cc: get_node_document():
-	Added commented-out code to write the DOCTYPE declaration, if we ever
-	want to specify the PUBLIC DTD idenitifier and URI in each document.
-	Let's avoid that for now because we'd have to make sure that it's
-	hosted properly.
-	* tests/dtd/test_example_sqlite: Do not use --valid because that
-	seems to always require a DTD in the document's DOCTYPE declaration.
-	--dtdvalid seems to do the same thing already, but with the specified
-	DTD.
-
-2009-11-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_document.dtd: Mention the xmlns attribute because DTD
-	validation doesn't know about XML namespaces.
-
-2009-11-17  Murray Cumming  <murrayc murrayc com>
-
-	Document: Ensure that the xmlns ID is always in saved documents.
-
-	* glom/libglom/document/bakery/document_xml.cc: get_node_document():
-	Make sure that the xmlns ID is added, even when the root node already
-	exists, for instance when opening existing documents.
-
-	* examples/example_film_manager.glom:
-	* examples/example_lesson_planner.glom:
-	* examples/example_music_collection.glom:
-	* examples/example_project_manager.glom:
-	* examples/example_smallbusiness.glom:
-	* examples/sqlite/test_sqlite_music/test_sqlite_music.glom:
-	Add the xmnls ID, to help to identify the MIME type of these documents.
-
-2009-11-17  Murray Cumming  <murrayc murrayc com>
-
-	Document saving: Remove unncessary empty singular_title nodes.
-
-	* glom/libglom/document/document.cc: save_before_translations():
-	Do not create empty singular_title nodes.
-	* examples/example_smallbusiness.glom: Resaved.
-
-2009-11-17  Murray Cumming  <murrayc murrayc com>
-
-	Partly fix the DTD validation test.
-
-	* glom/glom_document.dtd: table: Correct the syntax for the child
-	elements, to use ?, instead of | because they are all optional, instead
-	of being alternatives for each other.
-	Add the print_layouts element.
-	* Makefile_tests.am: Change the order so the sometimes-hanging import
-	tests are at the end, to make the tests more useful.
-
-2009-11-13  David King  <davidk openismus com>
-
-	* configure.ac: Fix check for SQLite and libgettextpo.
-
-2009-11-12  David King  <davidk openismus com>
-
-	* glom/glom_document.dtd: Update to more completely validate example
-	documents.
-	* Makefile_tests.am:
-	* tests/dtd/test_example_sqlite: Add a test that attempts to validate
-	an example SQLite Glom document against glom_document.dtd.
-
-2009-11-10  David King  <davidk openismus com>
-
-	* configure.ac: Fix incorrect conditional for Maemo libgettextpo check.
-
-2009-11-06  Murray Cumming  <murrayc murrayc com>
-
-	Fix a crash when specifying a static image on the layout.
-
-	* glom/utility_widgets/imageglom.cc: on_menupopup_activate_select_file():
-	Check for a null parent window pointer to avoid a crash, fixing bug
-	#600954 (Michael Hasselmann).
-
-2009-11-06  David King  <davidk openismus com>
-
-	* configure.ac:
-	* Makefile_glom.am: Do not link to libgettextpo on Maemo, and
-	additionally do not check for it either.
-
-2009-11-04  David King  <davidk openismus com>
-
-	* glom.xml: Add Maemo-specific category for classification of .glom
-	files as "documents".
-
-2009-11-04  David King  <davidk openismus com>
-
-	* Makefile_glom.am: Statically link to libgettextpo on Maemo, as
-	Gettext is available in the SDK and autobuilder but not on the device.
-
-1.12.3:
-
-2009-10-30  Murray Cumming  <murrayc murrayc com>
-
-	List views and related records portals: Enough space for titles.
-
-	* glom/utils_ui.[h|cc]: get_suitable_field_width_for_widget():
-	Optionally calculate enough space for the title too, for TreeView
-	columns.
-	* glom/utility_widgets/db_adddel/db_adddel.cc: treeview_append_column():
-	When choosing a default column width, make sure there's enough for the
-	title too.
-
-2009-10-30  Murray Cumming  <murrayc murrayc com>
-
-	List views and related records portals: Avoid zero-width columns.
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: treeview_append_column():
-	Except on maemo, don't try to auto-expand a non-rightmost column,
-	because that does not seem to be possible with fixed-height-mode,
-	which we use for performance.
-
-2009-10-30  David King  <davidk openismus com>
-
-	* configure.ac:
-	* glom/main.cc: Initialize libossomm on Maemo, to register a DBus
-	service.
-
-2009-10-28  David King  <davidk openismus com>
-
-	* configure.ac:
-	* Makefile.am:
-	* glom.desktop.in.in:
-	* glom.service.in: Add DBus service file for Maemo 5, and install to
-	the correct location as determined by the osso-af-settings pkg-config
-	file. Adjust the installation location of the glom.desktop file on
-	Maemo.
-
-2009-10-28  Murray Cumming  <murrayc murrayc com>
-
-	Do not mark an empty string for translation.
-
-	* glom/dialog_connection.cc: set_confirm_existing_user_note():
-	Do not do _(""), fixing bug #599868 (André Klapper).
-
-2009-10-27  Murray Cumming  <murrayc murrayc com>
-
-	Trying to ignore unwanted column resize signals.
-
-	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]:
-	Removed unused set_column_width().
-	construct_specified_columns_cellrenderer(): Added an InnerIgnore, though
-	we already use one in construct_specified_columns().
-	on_treeview_column_resized(): Check if we should ignore signals.
-	Do not cast an int size to a guint, because it could be -1.
-
-2009-10-27  Murray Cumming  <murrayc murrayc com>
-
-	Avoid runtime warnings about 0 size TreeViewColumn.
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: construct_specified_columns(),
-	treeview_append_column(): Avoid calling TreeViewColumn::set_fixed_width()
-	with a 0 size, avoiding a runtime assertion.
-
-2009-10-27  Murray Cumming  <murrayc murrayc com>
-
-	Fix some warnings.
-
-	* glom/dialog_existing_or_new.cc: get_service_info(): Replace a 0 with
-	(void*)0 to avoid a warning after my change on 2009-10-13.
-	* glom/libglom/data_structure/has_title_singular.cc():
-	operator==(): Actually use the src parameter.
-
-2009-10-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: treeview_append_column():
-	Don't try to put -1 in a guint for the column width.
-
-2009-10-25  Murray Cumming  <murrayc murrayc com>
-
-	BaseDb::query_execute*(): Const corrections.
-
-	* glom/base_db.[h|cc]: query_execute(), query_execute_select():
-	Const corrections and indentation corrections.
-
-2009-10-21  Armin Burgmeier  <armin arbur net>
-
-	* Makefile_libglom.am: Link against winsock on Windows.
-
-	* glom/application.cc (constructor): ifdefed out the avahi callbacks
-	setup on Windows.
-
-	* glom/dialog_existing_or_new.cc (constructor): ifdefed out the code
-	that expands the network item on Windows (because it doesn't exist
-	there).
-
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool.cc: ifdefed out the avahi callback setup
-	function, moved pgwin32_is_admin to main.cc.
-
-	* glom/main.cc: Moved pgwin32_is_admin from connectionpool.cc.
-
-	* glom/libglom/spawn_with_feedback.cc: Added <glibmm/fileutils.h>
-	include, required for the Windows build.
-
-	* glom/mode_design/print_layouts/print_layout_toolbar_button.cc:
-	* glom/utility_widgets/layouttoolbar.cc:
-	* glom/utility_widgets/layouttoolbarbutton.cc:
-	* glom/xsl_utils.cc: Fixed the construction to path files
-	relative to the executable on Windows: Glib::build_filename does take
-	only two arguments, not three.
-
-	* win32/build-installer:
-	* win32/glom.iss.in: Updated.
-
-2009-10-21  Armin Burgmeier  <armin arbur net>
-
-	* macros/mm-python.m4: Fix the python library lookup on Windows: Avoid
-	a python error if get_config_var('LIBS') is None and include
-	$PREFIX/libs and $EXEC_PREFIX/libs in the search path because this is
-	where the official Python installer puts the library in.
-
-2009-10-19  David King  <davidk openismus com>
-
-	* Makefile_libglom.am: Add missing backslash, fixing commit
-	e38fcaab322d4774faae2ecb707cdf67f84dd6ea.
-
-2009-10-19  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Adapt for latest hildonmm changes.
-
-	* glom/utility_widgets/comboentryglom.cc:
-	* glom/utility_widgets/comboglom.cc: get/set_active() changed to
-	set_selected() and we now have an iter-base get/set_selected() for the
-	PickerButton so we don't need to get the TouchSelector.
-
-2009-10-16  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Fix the build for the latest hildonmm.
-
-	* glom/navigation/maemo/pickerbutton_table.cc:
-	* glom/utility_widgets/comboentryglom.cc:
-	* glom/utility_widgets/comboglom.cc: Adapt to changed (simpler)
-	TouchSelector API.
-
-2009-10-16  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Fix my previous commit.
-
-	* glom/utility_widgets/datawidget.cc: set_child_size_by_field(): Move
-	the ifdefs around so normal fields get sensible sizes again on Maemo.
-
-2009-10-16  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Make TextViews small to begin with.
-
-	* glom/utility_widgets/datawidget.cc: set_child_size_by_field(): On
-	Maemo, do not increase the height of the TextView, even if specified in
-	the layout, because HildonTextViews expand automatically on Maemo when
-	entering more text.
-
-2009-10-16  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: When adding related records, show the foreign key value.
-
-	* glom/mode_data/box_data_portal.cc: on_maemo_appmenubutton_add():
-	Actually show the field value that links the new related record to the
-	parent record, though this is a bit hacky and will only work for
-	autogenerated keys.
-
-2009-10-16  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Actually show new related record in the list.
-
-	* glom/mode_data/box_data_portal.[h|cc]: on_maemo_appmenubutton_add():
-	* glom/mode_data/notebook_data.[h|cc]: Constructor:
-	Update the window when the maemo details window is hidden, for instance
-	to show the new related record in the portal.
-
-2009-10-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document.cc: load_after(), save_before():
-	Avoid crashes when load/saving singular_titles.
-
-2009-10-16  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Allow Relationships to have singular titles too. Use them.
-
-	* glom/libglom/data_structure/has_title_singular.[h|cc]: Added this new
-	base class, to be inherited by any TranslatableItem that could also have
-	a singular form.
-	* glom/libglom/data_structure/table_info.[h|cc]:
-	* glom/libglom/data_structure/relationship.[h|cc]: Derive
-	from HasTitleSingular, instead of just having the methods in TableInfo.
-	* glom/libglom/document/document.[h|cc]: Added
-	get_table_title_singular() to match the existing get_table_title().
-	* glom/mode_data/box_data_portal.[h|cc]: Added get_title_singular() to
-	match the existing get_title() and use it in the details window title
-	and AppMenu Add Related button.
-	* glom/mode_data/notebook_data.cc: Use the singular table title for the
-	details window title.
-
-2009-10-15  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Show a new Details window when adding related records.
-
-	* glom/mode_data/box_data_portal.[h|cc]:
-	* glom/mode_data/box_data_calendar_related.[h|cc]:
-	* glom/mode_data/box_data_list_related.[h|cc]:
-	Remove the just-added do_add_record() virtual method.
-	Instead add a Box_Data_Details and parent window to Box_Data_Portal,
-	used to show a details window for a new related record in
-	on_maemo_appmenubutton_add().
-	Move some code from Box_Data_List_Related::on_adddel_record_added() to
-	Box_Data_Portal::make_record_related() to make this easier.
-
-2009-10-15  Murray Cumming  <murrayc murrayc com>
-
-	Developer: Tables: Add singular title.
-
-	* glom/libglom/data_structure/tableinfo.[h|cc]: Add
-	get/set_title_singular(), using a member TranslatableItem, to hold
-	the singular form (such as Album instead of Albums) for use in the UI
-	for users.
-	* glom/libglom/document/document.cc: save_before(), load_after():
-	Load and save the singular table titles as a new node.
-	* glom/glom_document.dtd: Mentin the new node, though I don't think
-	we document translation nodes properly.
-	* glom/navigation/box_tables.[h|cc]: In developer mode, show the column
-	so the user can enter a singular title.
-
-2009-10-15  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Details: Show table title in window title.
-
-	* glom/mode_data/notebook_data.cc: show_details(): On Maemo, mention the
-	table title in the window title, though this again shows that we need to
-	ask the designer for the singular form for the table's items.
-
-2009-10-15  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Show Add Related buttons when showing portals on details.
-
-	* glom/application.[h|cc]: Removed unused on_menu_add_record().
-	* glom/mode_data/box_data_portal.[h|cc]: On Maemo, add a Hildon::Button
-	to the application's AppMenu on realize, removing it on unrealize.
-	Added a virtual do_add_record() that is called when the button is
-	clicked.
-	* glom/mode_data/box_data_calendar_related.[h|cc]:
-	* glom/mode_data/box_data_list_related.[h|cc]: Added do_add_record()
-	overrides, though they are empty so far.
-
-2009-10-13  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Add a Add Record to the App Menu and remove it from the List View.
-
-	* glom/application.cc: init_menus(): Add an Add Record item to the
-	AppMenu on Maemo.
-	* glom/frame_glom.[h|cc]: Added on_menu_add_record() on Maemo, calling
-	Notebook_Data::do_menu_file_add_record().
-	* glom/mode_data/box_data_details.[h|cc]: Added do_new_record().
-	* glom/mode_data/notebook_data.[h|cc]: Added do_menu_file_add_record()
-	to call the Box_Data_Details::do_new_record().
-	* glom/utility_widgets/db_adddel/db_adddel.h: Made start_new_record()
-	public and documented it.
-	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.[h|cc]: Remove
-	the Add button on Maemo.
-
-2009-10-13  Murray Cumming  <murrayc murrayc com>
-
-	* *.cc: Replace use of NULL with 0, because this is C++.
-	Replace use of != NULL with nothing.
-
-2009-10-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/flowtable.h:
-	* glom/utility_widgets/flowtable_dnd.cc: Correct non-maemo build
-	problems after merging from the maemo5 branch.
-
-2009-10-12  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Details: Put scrollbar against the right edge, as per spec.
-
-	* glom/window_boxholder.[h|cc]: On Maemo, use an Alignment with no
-	padding at the right, instead of just a window border, to match the UI
-	spec.
-
-2009-10-12  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Details: More correct padding, maybe.
-
-	* glom/utility_widgets/flowtable.[h|cc]: Change set_padding() to
-	set_column_padding() and set_row_padding(), allowing different padding
-	between rows and between columns, as per Maemo's UI specifications.
-
-2009-10-11  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Use Hildon buttons for Open, Find and ... buttons.
-
-	* glom/utility_widgets/datawidget.cc: Constructor: Use Hildon::Buttons.
-
-2009-10-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/comboentryglom.cc: init(): On Maemo, remove the
-	duplicate first column and do not expand the first column.
-
-2009-10-08  Murray Cumming  <murrayc murrayc com>
-
-	Maemo 5: List view: Subtly improve the separating lines.
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: treeview_append_column():
-	On Maemo, use an "x-pad" of HILDON_MARGIN_DEFAULT for the cell
-	renderers, because Mathias Hasselmann says that is required for Maemo 5.
-
-2009-10-08  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Use a PickerButton with TouchSelector for combo boxes on details views.
-
-	* glom/utility_widgets/comboentryglom.[h|cc]:
-	* glom/utility_widgets/comboglom.[h|cc]: On Maemo, derive from
-	Hildon::PickerButton instead of Gtk::ComboBox*, with a member
-	TouchSelector/TouchSelector. However, the ID field seems to be shown
-	twice.
-
-2009-10-08  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Actually show new list views and related records portals.
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	construct_specified_columns(): Use while(TouchSelector::remove_column())
-	to actually remove old view columns, so we actually see an effect when
-	navigating to a new table, and so we don't see old data in related
-	records tables.
-
-2009-10-07  Murray Cumming  <murrayc murrayc com>
-
-	Tests: Import: Fixed the no-exceptions build.
-
-	* tests/import/utils.cc: Fixed the no-exceptions build.
-
-2009-10-06  Daniel Elstner  <daniel kitta gmail com>
-
-	Support Automake silent rules
-
-	* configure.ac: Call the AM_SILENT_RULES macro if it is defined.
-	* Makefile.am (.rc.res): Prefix command with $(AM_V_GEN) to suppress
-	the echoing of the command line if silent rules are enabled.
-	* Makefile_libegg.am (eggmarshalers.h), (eggmarshalers.c): ditto.
-
-1.12.2:
-
-2009-10-05  Murray Cumming  <murrayc murrayc com>
-
-	Import: Handle large unquoted text (binary image data).
-
-	* glom/import_csv/csv_parser.cc: on_idle_parse(): When we reach the
-	end of the buffer without finding a newline, store all of the remaining
-	text instead of just since the last quote, so we don't discard parts
-	of large unquoted text, such as parts of binary image data.
-	This seems to break the test_fail_on_non_matching_quotes test, but
-	the tests are too hard to run until we have removed the idle handling
-	(and its timing problems) from CSvParser.
-
-	* glom/libglom/data_structure/field.cc: to_file_format(): Also
-	escape carriage-returns, just in case.
-	* tests/import/test_parsing.cc: Comment out the
-	test_skip_on_no_ending_newline test, because I see no reason why we
-	would want to ignore last lines with no newline.
-
-2009-10-06  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: List: Click to view details.
-
-	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]: Connect to
-	TouchSelector::signal_changed to respond to clicks on the list. Note that
-	a drag to pan (scroll) does not cause that signal to be emitted.
-	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.[h|cc]: On Mameo,
-	remove the Delete and Edit buttons because deleting can be done via the
-	details window (viewable on Maemo). The Add button is still there and is ugly.
-
-2009-10-06  Murray Cumming  <murrayc murrayc com>
-
-	DbAddDel: Expand an appropriate column.
-
-	* glom/libglom/data_structure/layout/layoutitem.[h|cc]: get_display_width():
-	Remove the bool return and just return the value, because 0 already means no
-	specified width.
-	* glom/libglom/document/document.cc:
-	* glom/mode_design/layout/dialog_layout_details.cc:
-	* glom/print_layout/canvas_layout_item.cc: Adapt.
-
-	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]:
-	Added get_column_to_expand() to choose the last expandable (text, no specified
-	width) column.
-	treeview_append_column(): Add a bool expand property and use it.
-	construct_specified_columns(): Expand the expandable column, to avoid
-	wasting space or expanding an inappropriate column.
-
-2009-10-05  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Allow editing of hidden tables (only) via its details window.
-
-	* glom/mode_data/box_data_list_related.cc: enable_buttons(): Add a maemo
-	ifdef around m_AddDel.set_allow_view_details().
-
-2009-10-05  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: List: Use only 2 columns by default, so some have enough space.
-
-	* glom/libglom/document/document.cc: get_data_layout_groups_plus_new_fields():
-	Restrict maemo to 2 list columns by default.
-
-2009-10-05  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Related Records / AddDel: Use icon-only Hildon buttons.
-
-	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.[h|cc]: Use Hildon
-	Buttons, with only icons.
-
-2009-10-05  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Hide group titles by default.
-
-	* glom/libglom/data_structure/translatable_item.[h|cc]:
-	Added clear_title_in_all_locales().
-	* glom/libglom/document/document.cc:
-	maemo_restrict_layouts_to_single_column_group(): Also clear the group titles
-	to make the default maemo layout more compact.
-
-2009-10-05  Murray Cumming  <murrayc murrayc-desktop>
-
-	Export: Correct problems in the binary data for images: Escape newlines.
-
-	* glom/libglom/data_structure/field.cc: to_file_format(): Escape
-	newlines as \012 instead of removing them, because this is probably
-	what gda_binary_to_string() intends.
-
-2009-10-05  Murray Cumming  <murrayc murrayc com>
-
-	Export: Correct problems in the binary data for images.
-
-	* glom/libglom/data_structure/field.cc: to_file_format(): Escape
-	newlines and quotes in binary data text, to workaround libgda bug
-	https://bugzilla.gnome.org/show_bug.cgi?id=597390
-	* glom/frame_glom.cc: export_data_to_stream(): Double check that
-	image data contains no newlines or quotes.
-	* glom/libglom/utils.cc: string_replace(): Avoid an endless loop
-	when the search_for input parameter is empty.
-	This fixes bug #593304 (Michael Hasselmann)
-
-2009-10-04  Murray Cumming  <murrayc murrayc com>
-
-	Fix regression: Actually show field choices again in combo boxes.
-
-	* glom/libglom/utils.cc: get_choice_values(): Move the list_values.push_back()
-	out of the ifdef block so we actually show field choices again in the combo
-	boxes. This was broken by the commit from Johannes on 2009-07-30.
-	Hopefully ldtp tests will avoid this in future.
-
-2009-10-02  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Really fall back to the standard layout if there is no maemo layout.
-
-	* glom/libglom/document/document.cc: get_data_layout_groups_plus_new_fields():
-	Really fall back to the standard layout if there is no maemo layout.
-	When creating a default layout, restrict the column count to 1.
-
-2009-10-02  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Avoid multi-column details layouts.
-
-	* glom/libglom/document/document.[h|cc]:
-	Added maemo_restrict_layouts_to_single_column_group().
-	* glom/application.cc: on_document_load(): On maemo, call it to make the
-	layout more suitable by default, if no custom maemo layout is defined.
-
-2009-10-02  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Fix the build.
-
-	* glom/frame_glom.cc:
-	* glom/import_csv/dialog_import_csv.cc:
-	* glom/import_csv/dialog_import_csv_progress.cc: Added no-exceptions ifdefs,
-	and corrected the hildonmm code.
-
-1.12.1:
-
-2009-10-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/utils.h|cc]: build_sql_select_fields_to_get():
-	Removed the unused extra_join parameter.
-	* glom/base_db.cc: Adapted.
-
-2009-10-02  Murray Cumming  <murrayc murrayc com>
-
-	Related Records: Fix doubly-related records portals, such as a list of
-	an Artist's publishers (via their albums).
-
-	* glom/libglom/utils.[h|cc]: build_sql_select_with_where_clause():
-	Move some code into build_sql_select_fields_to_get(), so we can get the
-	list of fields to get without the rest of the SQL.
-	* glom/base_db.cc: set_found_set_where_clause_for_portal():
-	Use build_sql_select_fields_to_get() to GROUP BY the full field list
-	instead of just the primary key, as required by recent PostgreSQL,
-	and probably by the SQL specification.
-	We should investigate SELECT DISTINCT again to simplify this.
-
-2009-10-02  Michael Hasselmann  <michaelh openismus com>
-
-	Import: Cleanup, added comments.
-
-2009-10-01  Michael Hasselmann  <michaelh openismus com>
-
-	Import: Made import working again, changed import logic
-
-	* glom/import_csv/csv_parser.[h|cc] (fetch_next_row): This method allows
-	iterating over the parser's cache without the need for a max row/column
-	count. Potential issue with valid empty rows during import needs to be fixed.
-
-	* glom/import_csv/dialog_import_csv.[h|cc]: Removed logic based on row counts.
-	It turned out that most places didn't need access to get_row_count() anyway.
-
-	* glom/import_csv/dialog_import_csv_progess.cc: Switched import to use the
-	parser's new fetch_next_row() API. Not tested for large files yet.
-
-2009-09-29  Murray Cumming  <murrayc murrayc com>
-
-	Doubly-related Records: Correct the SQL.
-
-	* glom/base_db.cc: set_found_set_where_clause_for_portal():
-	For doubly-related records, use the correct relationship for the GROUP BY to
-	avoid a SQL error about a non-existant field. We must have been lucky before.
-
-	However, we now need to fix the SQL error (maybe new in a recent PostgreSQL
-	version) about not mentioning all viewed fields in the GROUP BY.
-
-2009-09-29  Murray Cumming  <murrayc murrayc com>
-
-	Design: Related Records Portal: Prevent use of inappropriate relationships.
-
-	* glom/mode_design/layout/dialog_layout_list_related.cc:
-	on_combo_relationship_changed(): Do not allow the related record to show
-	relationships that would require duplicate values in unique fields to show
-	multiple records. Noticed by Alessio C.
-
-2009-09-29  Murray Cumming  <murrayc murrayc com>
-
-	LayoutGroup: Added accessors for columns count, hiding the member variable.
-
-	* glom/libglom/data_structure/layout/layoutgroup.[h|cc]: Made m_columns_count
-	private and added get/set_columns_count() so I can see when this is changing.
-	* glom/libglom/data_structure/layout/layoutgroup.h:
-	* glom/libglom/document/document.cc:
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/utility_widgets/dialog_flowtable.cc: Adapted.
-
-2009-09-29  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Actually allow details to be opened.
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: get_item_selected():
-	Use Hildon::TouchSelector::get_selected() instead of get_active() so it
-	actually works for rows other than the first one.
-	See hildon bug https://bugs.maemo.org/show_bug.cgi?id=4640,
-	though the error might be in our maemomm C++ code to work around that.
-
-2009-09-28  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Find: Show the quickfind.
-
-	* glom/frame_glom.cc: Constructor: On Maemo, put the quickfind widgets in
-	the separate find window.
-
-2009-09-28  Murray Cumming  <murrayc murrayc com>
-
-	Create QuickFind buttons in code, instead of Glade.
-
-	* glom/frame_glom.cc:
-	* glom/glom.glade: Create the QuickFind widgets in code instead of in
-	Glade so we can adapt them for Maemo and put them in the separate Find
-	window.
-
-2009-09-28  Murray Cumming  <murrayc murrayc com>
-
-	Initial dialog: Expand the network item.
-
-	* glom/dialog_existing_or_new.cc: Constructor: Expand the Network
-	item, because it helps to explain what it is, particularly on Maemo
-	where there are no treeview row arrows.
-
-2009-09-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.[h|cc]: Maemo: Show the Find UI in a separate window.
-
-2009-09-28  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Find: Use only the details view.
-
-	* glom/mode_find/notebook_find.[h|cc]: Hide the list view (and tabs) on Maemo.
-	This needs to be a separate window too.
-
-2009-09-28  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Show the table name in the AppMenu. Added a Find Button.
-
-	* glom/application.cc: update_window_title(): Update the picker button here
-	too.
-	init_menus(): Add a Find button for the AppMenu.
-	* glom/navigation/maemo/pickerbutton_table.cc: set_table_name(): Actually
-	set the row as active.
-	* glom/dialog_existing_or_new.cc: Make sure the first row is visible,
-	even on Maemo. Otherwise it looks strange.
-
-2009-09-28  Murray Cumming  <murrayc murrayc com>
-
-	Initial dialog: Expand the network item.
-
-	* glom/dialog_existing_or_new.cc: Constructor: Expand the Network
-	item, because it helps to explain what it is, particularly on Maemo
-	where there are no treeview row arrows.
-
-2009-09-28  Murray Cumming  <murrayc murrayc com>
-
-	Fix a crash.
-
-	* glom/dialog_existing_or_new.cc: Move some assertions so this works
-	again in non-client-only mode.
-
-2009-09-28  Murray Cumming  <murrayc murrayc com>
-
-	client-only mode: Ifdef out unused code.
-
-	* glom/dialog_existing_or_new.[h|cc]: Ifdef out unused code for the new
-	document notebook tab in client-only mode.
-
-2009-09-28  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Removed icons from dialogs.
-
-	* glom/glom.glade: Comment out icons in our maemo5 branch.
-
-2009-09-28  Murray Cumming  <murrayc murrayc com>
-
-	Client-only mode: Change the initial dialog label.
-
-	* glom/dialog_existing_or_new.cc: Constructor: Change the label text if in
-	client-only mode, to avoid mentioning creation of documents.
-
-2009-09-25  Murray Cumming  <murrayc murrayc com>
-
-	Fix the build with gtkmm < 2.18.
-
-	* glom/utility_widgets/flowtable.cc: Correct the use of
-	GTKMM_MINOR_VERSION to fix the build with older gtkmm versions.
-
-2009-09-25  Michael Hasselmann  <michaelh openismus com>
-
-	Import: More code cleanup in tests
-
-	* glom/import_csv/csv_parser.cc (set_file_and_start_parsing): Fail on empty
-	file uri.
-
-	* tests/import/*: Removed the ugly mainloop singleton, among other cleanups.
-
-2009-09-25  Murray Cumming  <murrayc murrayc-desktop>
-
-	Cleanup.
-
-	* glom/glom.glade: Really revert a bad merge from the maemo5 branch.
-	* glom/libglom/connectionpool_backends/postgres_self.cc: Do not have
-	actual newlines in string literals.
-
-2009-09-25  Murray Cumming  <murrayc murrayc com>
-
-	Fix the build with gtkmm < 2.18.
-
-	* glom/utility_widgets/flowtable.cc: Correct the use of
-	GTKMM_MINOR_VERSION to fix the build with older gtkmm versions.
-
-2009-09-25  Murray Cumming  <murrayc murrayc-desktop>
-
-	Import tests: Fixed.
-
-	* tests/import/utils.[h|cc]: run_parser_from_buffer(): Added a
-	version that takes a std::string, to make the common case more robust.
-	* tests/import/test_parsing.cc:
-	* tests/import/test_signals.cc: Fix the tests by not incorrectly
-	taking the length of the raw arrays, which caused the temp files to
-	contain garbage.
-
-2009-09-25  Murray Cumming  <murrayc murrayc-desktop>
-
-	Import tests: Handle encoding errors.
-
-	* tests/import/utils.cc: Handle signal_encoding_error too, because this
-	is one way that the parser can stop.
-	Increase the timeout because an infinite loop is unlikely (and not
-	currently happening).
-
-2009-09-25  Murray Cumming  <murrayc murrayc com>
-
-	tests/import/: Small cleanup.
-
-	* tests/import/test_parsing.cc:
-	* tests/import/utils.[h|cc]: Use a sigc::slot instead of the ugly
-	(because not typedefed) function pointer type.
-
-2009-09-25  Murray Cumming  <murrayc murrayc com>
-
-	Removed some debug output.
-
-	* glom/libglom/data_structure/glomconversions.cc: parse_time():
-	* tests/test_parsing_time.cc: Removed debug output.
-
-2009-09-25  Michael Hasselmann  <michaelh openismus com>
-
-	Import: Changed the signature of line_scanned handler
-
-	* glom/import_csv/dialog_import_csv.[h|cc]: Changed the signare of
-	on_parser_line_scanned, to use CsvParser::type_row_strings. It does not
-	change anything, as the handler didn't even use the parameters.
-
-	Import: Fixed tests to fit new parser API
-
-	* glom/import_csv/csv_parser.[h|cc]: Added a finished_parsing signal since the
-	max_row count logic is flawed
-	(https://bugzilla.gnome.org/show_bug.cgi?id=588233#c16). Also moved common
-	parts of on_stream_read(.) (now on_buffer_read(.)) into
-	copy_buffer_and_continue_reading(.), to avoid copy'n'paste bugs.
-
-	* tests/import/utils.[h|cc]: Added mainloop functionality to trigger the idle
-	parse sequence of the CsvParser for the testcases.
-
-	* tests/import/test_[parsing,signals].cc: Fixed the tests to fit new parser
-	API.
-
-1.12.0:
-
-2009-09-25  Murray Cumming  <murrayc murrayc com>
-
-	Command spawning: Really check the return value.
-
-	* glom/libglom/spawn_with_feedback.cc:
-	execute_command_line_and_wait_until_second_command_returns_success():
-	Actually check the return value of the first command, so we can fail
-	immediately (with stderr output) when, for instance, postgresql
-	fails to read the configuration file due to changed options, such as
-	no longer recognizing max_fsm_pages in PostgreSQL 8.4
-
-2009-09-25  Murray Cumming  <murrayc murrayc com>
-
-	Replace some NULLs with 0 because this is C++, not C.
-
-	* glom/libglom/connectionpool_backends/postgres.cc:
-	* glom/libglom/connectionpool_backends/postgres_self.cc:
-	* glom/libglom/spawn_with_feedback.cc: Replace NULLs with 0.
-
-2009-09-25  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Fix the non-exceptions build again.
-
-	* glom/print_layout/canvas_print_layout.cc: Added ifdefs around KeyFile
-	calls. I wonder why I only noticed this now.
-
-2009-09-24  Murray Cumming  <murrayc murrayc com>
-
-	Self-Hosting: Use the new ident configuration for PostgreSQL 8.4.
-
-	* glom/libglom/spawn_with_feedback.[h|cc]: Added an
-	execute_command_line_and_wait() overload that has an output parameter
-	for the stdout from the command.
-	* glom/libglom/connectionpool_backends/postgres_self.[h|cc]:
-	Added a get_postgresql_utils_version_as_number() utiltity method,
-	and use it in set_network_shared() to use a different syntax for
-	Postgres 8.4, hopefully fixing bug #595608 (Fryderyk Dziarmagowski)
-
-2009-09-24  Murray Cumming  <murrayc murrayc com>
-
-	Self-Hosting: Retry the connection just-long-enough.
-
-	* glom/libglom/connectionpool_backends/postgres.[h|cc]: attempt_connect():
-	Add a throw() declaration because we know that this really never throws,
-	though other similar methods do.
-	* glom/libglom/connectionpool_backends/postgres_self.cc: connect():
-	If not network-shared then retry every second when the connection fails,
-	because the (default) password really must be correct. Seems to work,
-	requiring 6 retries on my system.
-	However, we must still wait a hard-coded time to be sure of failure
-	if the password is not the default one, for instance when network sharing.
-	* glom/libglom/spawn_with_feedback.cc:
-	execute_command_line_and_wait_until_second_command_returns_success():
-	Remove the hacked 8-second wait here.
-
-2009-09-23  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Details: Do not show buttons.
-
-	* glom/mode_data/box_data_details.[h|cc]: ifdef out the buttons for maemo.
-	* glom/glom.glade: Hack a HildonStackableWindow into the maemo5 branch
-	to avoid a warning with our get_widget_derived() call.
-
-2009-09-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc: Rename the HBox member variables
-	to make their purposes clearer.
-
-2009-09-23  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Use Hildon::StackableWindow.
-
-	* glom/bakery/app_withdoc_gtk.h:
-	* glom/window_boxholder.h: Use Hildon::StackableWindow instead of just
-	Hildon::Window because this always seems to be the right thing to do.
-
-2009-09-23  Murray Cumming  <murrayc murrayc com>
-
-	Renamed Dialog_Glom to Window_BoxHolder.
-
-	* glom/dialog_glom.[h|cc]: Renamed to window_boxholder.[h|cc] to make
-	its purpose clearer.
-	* glom/frame_glom.[h|cc]:
-	* glom/mode_data/notebook_data.[h|cc]:
-	* Makefile_glom.am: Adapted.
-
-2009-09-22  Murray Cumming  <murrayc murrayc com>
-
-	Dialog_Glom: Make this a little less stupid, so we can ifdef for Maemo.
-
-	* glom/dialog_glom.[h|cc]: Derive from Window, not Dialog.
-	Constructor: Add the provided box instead of requiring us to add it
-	explicitly (to the Dialog's vbox).
-	* glom/frame_glom.cc:
-	* glom/mode_data/notebook_data.cc: Adapt.
-
-2009-09-22  Murray Cumming  <murrayc murrayc com>
-
-	On Maemo, show the details in a separate window.
-
-	* glom/mode_data/notebook_data.[h|cc]: On maemo, hide the tabs, and don't
-	add the details box to the notebook. Instead add it to a window and show that
-	window instead of switching to a details tab when details are requested.
-
-
-2009-09-21  Murray Cumming  <murrayc murrayc com>
-
-	import tests: Fix the no-exceptions build.
-
-	* tests/import/test_parsing.cc:
-	* tests/import/test_signals.cc: Fix the build without exceptions.
-
-2009-09-21  Johannes Schmid <jschmid openismus com>
-
-	* Makefile_tests.am:
-	Fixed make dist. The sources of tests/test_python_module weren't
-	given which broke at least with automake-1.10
-
-2009-09-21  Murray Cumming  <murrayc murrayc com>
-
-	Export: Use .csv file extension to match the filter when importing.
-
-	* glom/utils_ui.[h]cc]: Added get_filepath_with_extension() to add
-	(if necessary) a specified file extension to a filepath.
-	* glom/frame_glom.cc: on_menu_file_export(): Add a .csv file
-	extension if not already specified, so we automatically see the
-	export file in the file chooser when importing.
-
-2009-09-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_import_csv.cc: get_data(): Avoid out-of-bounds crashes
-	when accessing the vector of vectors. Note that this check is
-	already in the appropriate place in the import_csv_refactored branch.
-	This makes bug #593304 slighly clearer, though it is now an endless
-	loop with debug output.
-
-2009-09-21  Murray Cumming  <murrayc murrayc com>
-
-	Import dialog: Set the number of sample rows to 2 by default.
-
-	* glom/dialog_import_csv.cc: Set the number of sample rows to 2
-	by default, not 0.
-	* glom/frame_glom.cc: Hack around another (!) GtkBuilder warning about
-	a secondary top-level object (textbuffer).
-
-2009-09-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/glom-1.0.pc.in: Rename to glom-1.12.pc.in to match
-	the .so name and header install location. Noticed by Chris Coulson.
-
-2009-09-18  Michael Hasselmann  <michaelh openismus com>
-
-	Import tests: made them quiet
-
-	* Makefile_tests.am, test/import/utils.[cc|h],
-	tests/import/test_[parsing|signals].cc: Only report on failure. Moved common
-	parts into an utility namespace.
-
-2009-09-18  Murray Cumming  <murrayc murrayc com>
-
-	CsvParser: Make this an actual parser, with a sane API.
-
-	* glom/dialog_import_csv.[h|cc]:
-	* glom/dialog_import_csv_progress.[h|cc]: Move into glom/import_csv/
-	* glom/import_csv/: Added file_encodings.[h|cc], moving the encodings
-	list into it. This is similar to mode_design/iso_codes.[h|cc].
-	* glom/import_csv.[h|cc]: Rename to glom/import_csv/csv_parser.[h|cc]
-	to match the class name.
-	Move actual parsing (and the vector of row/column data) into
-	CsvParser, leaving the dialogs to just respond to signals and get
-	data via get methods.
-
-	However, this breaks the import tests, because they add data to
-	the parser directly using m_raw. They must be changed to read actual
-	files, or maybe we could add some intermediate level of API that they
-	could test.
-
-2009-09-18  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Use some Hildon widgets.
-
-	* glom/utility_widgets/entryglom.[h|cc]:
-	* glom/utility_widgets/textviewglom.h: Use Hildon::TextView and Hildon::Entry.
-
-2009-09-18  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac: Add a full configure example for maemo in a comment,
-		to help my memory.
-	* glom/dialog_import_csv.cc: Fix a typo to fix the build on maemo.
-
-2009-09-18  Murray Cumming  <murrayc murrayc-desktop>
-
-	CsvParser: Made some API private.
-
-	* glom/dialog_import_csv.[h|cc]: get_field_for_column(): Return a
-	sharedptr<const>, not a silly const sharedptr<>&.
-	* glom/dialog_import_csv_progress.cc:
-	* glom/import_csv.[h|cc]: add get_state() and get_rows_count(). Make
-	some API private to make it clearer what needs to be done to make
-	this a real self-contained class.
-
-2009-09-18  Murray Cumming  <murrayc murrayc com>
-
-	CSV Import: Minor code style changes.
-
-	* glom/dialog_import_csv.cc:
-	* glom/dialog_import_csv_progress.cc:
-	* glom/import_csv.[h]cc]: Prefix the state enum with STATE_.
-	Use 0 instead of NULL because this is C++. Remove some debug output.
-	Make signal type and variable names consistent with other code.
-	* tests/import/test_signals.cc: Add a last std::endl.
-
-2009-09-18  Murray Cumming  <murrayc murrayc com>
-
-	Tests: Stop using valgrind by default.
-
-	* Makefile_tests.am: Do not run all tests under valgrind. valgrind is
-	for humans to read, and make check has no way to know if the result is
-	appopriate or not. Run things under valgrind when you want to.
-
-2009-09-17  Michael Hasselmann <michaelh openismus com>
-
-Refactoring Dialog_Import_CSV: created testcase for the CsvParser's signal emission
-
-	* Makefile_tests.am: all tests now run within valgrind by default since mem
-	leaks in testcases are potential mem leaks in the application. Parameters might
-	need tweaking.
-
-	* glom/import_csv.cc (CsvParser::on_idle_parse): Fixed a missing negation in a
-	conditional, which was wrongfully leading to signal emissions. Found by the
-	import signals testcase.
-
-	* test/import/test_parsing.cc: Fixed a null byte issue when setting the raw
-	contents of the parser.
-
-	* test/import/test_signals.cc: This testcase checks the CsvParser's signal
-	emission on varying input. The basic idea was to have on testcase for each
-	code path that leads to a signal emission in glom/import_csv.cc, even if that
-	leads to overlapping code coverage tests with the parser testcase.
-
-2009-09-17  Johannes Schmid  <jschmid openismus com>
-
-	* Makefile_libglom.am: Don't link libglom
-	statically on maemo. (#594355)
-
-2009-09-17  Johannes Schmid  <jschmid openismus com>
-
-	* glom/application.cc: offer_new_or_existing():
-	Replace a TODO comment with g_assert_val_if_reached() because
-	reaching this branch would mean that the dialog returned
-	an unhandled response.
-
-2009-09-17  Johannes Schmid  <jschmid openismus com>
-
-	* regression_tests/test_python_module.cc:
-	* Makefile_tests.am:
-	Added a regression test for the loading of the python modules.
-	Unfortunately this test doesn't trigger the crash bug that
-	happens on exit() on the maemo platform.
-
-2009-09-17  Johannes Schmid  <jschmid openismus com>
-
-	* glom/main.cc:
-	Really check if pygda module is available. A typo caused
-	the check for the glom module twice while the gda module
-	wasn't checked at all
-
-2009-09-14  Johannes Schmid  <jschmid openismus com>
-
-	* glom/dialog_import_csv.cc:
-	Fixed maemo non-exception build of CsvParser refactoring.
-
-2009-09-14  Murray Cumming  <murrayc murrayc com>
-
-	Main Window: Correct (again) the order of Records/Found widgets.
-
-	* glom/glom.glade: main_window: Put the Records:/Found: widgets in
-	sub-hboxes, and change their order by hand in the .glade file because
-	GtkBuilder and Glade do not seem to interpret the file in the same way.
-
-1.11.2:
-
-2009-09-14  Murray Cumming  <murrayc murray com>
-
-	* glom/frame_glom.cc:
-	* glom/utility_widgets/flowtable.cc: Fixed warnings-as-errors build
-	problems with the latest gtkmm.
-
-2009-09-11  Michael Hasselmann <michaelh openismus com>
-
-	Refactoring Glom::Dialog_Import_CSV: first parser tests created
-
-	* Makefile_tests.am, tests/import.sh,
-	tests/import/test_parsing.cc: The first tests for the CsvParser
-	are ready. Basic input is tested but no real world examples yet. Run with 'make
-	check TESTS=tests/import.sh' to run tests with valgrind.
-
-	Renamed regression_tests folder to tests
-
-	* tests, Makefile_tests.am: Changed paths accordingly.
-
-2009-09-09  Michael Hasselmann <michaelh openismus com>
-
-	Refactoring Glom::Dialog_Import_CSV
-
-	* ChangeLog, Makefile_glom.am, glom/dialog_import_csv.[h|cc],
-	glom/import_csv.[h|cc], glom/dialog_import_csv_progress.cc: Moved the inlined
-	Parser class from the Dialog_Import_CSV class to the new CsvParser class.  The
-	CsvParser already handles the line scanning and encoding conversion but is
-	supposed to take over the file reading responsibility as well.  In order to
-	allow the Dialog_Import_CSV class to parse a scanned line into its tree model
-	the parser emits a lineScanned signal, with the currently scanned line as
-	parameter.
-	Bug #588233.
-
-2009-09-08  Johannes Schmid <jschmid openismus com>
-
-	 Bug 594357 -  Maemo: sqlite behaves strange
-
-	 * glom/utility_widgets/db_addel/glom_db_treemodel.cc:
-	 DbTreeModel::create():
-	 Create the correct DataAccessWrapper in both codepaths and not only
-	 in the exception code path. That makes no difference for postgres but
-	 is needed for sqlite.
-
-2009-09-08  Johannes Schmid <jschmid openismus com>
-
-	 Bug 594357 -  Maemo: sqlite behaves strange
-
-	 * glom/utility_widgets/db_addel/glom_db_treemodel.cc:
-	 DbTreeModel::create():
-	 Create the correct DataAccessWrapper in both codepaths and not only
-	 in the exception code path. That makes no difference for postgres but
-	 is needed for sqlite.
-
-2009-09-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/box_reports.[h|cc]:
-	* glom/navigation/box_tables.[h|cc]: Comment out some save_to_document()
-	methods in client-only mode.
-
-2009-09-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/frame_glom.cc: Fix tiny typos to fix the non-maemo build.
-
-2009-09-05  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: ifdef out useless menu code.
-
-	* glom/application.[h|c]]: Ifdef out any menu-building code because
-	it must be completely replaced by Hildon::AppMenu code on Maemo.
-	* glom/mode_data/notebook_data.cc: Constructor: Hide the notebook
-	tabs, in preparation for just showing the list, with the details in a
-	separate window on Maemo.
-
-2009-09-05  Murray Cumming  <murrayc murrayc com>
-
-	connection_request_password_and_attempt(): Fix a crash in client-only mode.
-
-	* glom/frame_glom.[h|cc]: connection_request_password_and_attempt():
-	Move some decision-making into handle_request_password_connection_error,
-	to allow us to handle the no-exception API better, though this is
-	clearer anyway, or would be without the ifdefs.
-
-2009-09-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: on_document_load(): Add a ! to really check
-	for unsupported backends.
-
-2009-09-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: check_document_hosting_mode_is_supported():
-	Correct and ifdef to an ifndef.
-
-2009-09-05  Murray Cumming  <murrayc murrayc com>
-
-	Maemo: Use Hildon::FileChooserDialog for opening files.
-
-	* glom/application.[h|cc]: Remove unused (and unnecessary since the new
-	initial dialog) on_menu_file_open() and on_menu_file_close() overrides
-	and ui_file_select_open_with_browse().
-	* glom/dialog_existing_or_new.cc: on_select_clicked(): Use
-	Hildon::FileChooserDialog on Maemo.
-	* glom/bakery/app_withdoc_gtk.cc: Remove the uncommented undef of
-	GLOM_ENABLE_MAEMO - no more nasty hacks please. Instead comment-out
-	the set_menu() call with a TODO, leaving the rest of the maemo-specific
-	code working.
-
-2009-09-05  Murray Cumming  <murrayc murrayc com>
-
-	Check for unsupported hosting modes.
-
-	* glom/application.[h|cc]:
-	Added check_document_hosting_mode_is_supported() to warn the user
-	if the build cannot use the hosting mode in the file, and call it from
-	on_document_load().
-	* glom/libglom/document/bakery/document.cc: load(), load_from_data():
-	Call set_is_new(false) so we can check for this in
-	App/View::on_document_load(), to avoid complaining about an unused
-	default hosting mode.
-
-2009-09-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: offer_new_or_existing(): In the client-only build,
-	actually handle the enum for opening an existing file in client mode.
-
-2009-09-05  Murray Cumming  <murrayc murrayc com>
-
-	offer_new_or_existing(): Add Gtk::Builder error handling .
-
-	* glom/application.cc: offer_new_or_existing(): Add error handling to
-	show how GtkBuilder complains about Atk objects in .glade files on
-	Maemo, and actually fails.
-
-2009-09-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/print_layout/canvas_print_layout.cc:
-	* glom/utility_widgets/imageglom.cc: Fix the build when -fno-exceptions
-	is used.
-
-2009-09-05  Murray Cumming  <murrayc murrayc com>
-
-	Added dlopen test of the python library.
-
-	* glom/libglom/test_connectionpool.cc:
-	* glom/libglom/test_document.cc: Fixed the build without exceptions.
-	* Makefile_tests.am: Added test_load_python_library, using dlopen()
-	to show the numpunct linker error (bug #594142) without actually using
-	python.
-
-2009-09-04  Daniel Elstner  <daniel kitta gmail com>
-
-	Do not try to catch non-existing MetaStructError
-
-	* glom/base_db.cc (Base_DB::get_fields_for_table_from_database):
-	For now, catch Glib::Error instead of Gnome::Gda::MetaStructError,
-	which does not exist.
-
-2009-09-04  Murray Cumming  <murrayc murrayc com>
-
-	Avoid compiler warnings.
-
-	* configure.ac: Add a comment about using the PYTHON environment
-	variable to specify the python version.
-	* glom/dialog_existing_or_new.cc:
-	* glom/dialog_import_csv_progress.cc:
-	* glom/utility_widgets/canvas/canvas_group_resizable.cc: Avoid some
-	compiler warnings, mostly about missing returns in unlikely
-	situations.
-
-2009-09-04  Murray Cumming  <murrayc murrayc com>
-
-	Mention the failed python module name on stdcerr.
-
-	* glom/python_embed/glom_python.cc: glom_python_module_is_available(),
-	gda_python_module_is_available(): Output a hint to the command-line too,
-	in case maemo crashes when showing UI as mine does at the moment,
-	and to mention the exact python module name that failed.
-
-2009-09-04  Murray Cumming  <murrayc murrayc com>
-
-	Fix the client-only non-maemo build on maemo.
-
-	* configure.ac: Correct the AS_IF() calls so that we really do not
-	need iso-codes in client-only mode.
-	* glom/print_layout/canvas_layout_item.cc:
-	* glom/print_layout/canvas_print_layout.cc:
-	* glom/printoperation_printlayout.cc: Fix the build without
-	exceptions, without properties and without default signal handlers,
-	with ifdefs.
-
-	* glom/base_db.cc: get_fields_for_table_from_database(): Actually add
-	a no-exceptions ifdef for the use of Gda::MetaStruct::complement()
-	instead of just ifdefing it out for Maemo.
-	* glom/mode_data/notebook_data.cc:
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/entryglom.cc:
-	* glom/utility_widgets/imageglom.cc:
-	Likewise, ifdef the use of get_accessible on GTKMM_ATKMM_ENABLED instead
-	of GLOM_ENABLE_MAEMO, to fix the client-only non-maemo build on Maemo.
-	Again, please stop abusing the MAEMO ifdef for hacks without even a TODO.
-
-2009-09-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.h:
-	Removed unnecessary GLOM_ENABLE_CLIENT_ONLY ifndef.
-
-2009-09-04  Murray Cumming  <murrayc murrayc com>
-
-	Moved more design-only classes to glom/mode_design/
-
-	* glom/libglom/data_structure/iso_codes.[h|cc]:
- 	* glom/utility_widgets/comboentry_currency.cc
-	* glom/mode_design/translation/:
-	Moved to glom/mode_design/.
-	* glom/Makefile_glom.am, *.[h|cc]:
-	* po/POTFILES.in: Adapted.
-	* configure.ac: Make use of iso-codes dependent on client-only, not
-	maemo, because that actually makes sense.
-
-1.11.1:
-
-2009-09-03  Murray Cumming  <murrayc murrayc com>
-
-	* Makefile_tests.am: Fixed a tiny typo to fix the tests build.
-
-2009-09-03  Murray Cumming  <murrayc murrayc com>
-
-	Move some non-layout print_layout code back out of mode_design
-
-	* glom/mode_design/print_layouts/canvas_layout_item.[h|cc]:
-	* glom/mode_design/print_layouts/canvas_print_layout.[h|cc]:
-	Moved to glom/print_layout/, because they are used by client-only mode
-	too.
-	* glom/Makefile_glom.am, *.[h|cc]: Adapted.
-	* po/POTFILES.in: Update for moved files.
-
-2009-09-03  Murray Cumming  <murrayc murrayc com>
-
-	Moved many developer-mode files into glom/mode_design/ now that our
-	non-recursive build allows that without linker errors.
-
-	* glom/combobox_fields.[h|cc]:
-	* glom/combobox_relationship.[h|cc]:
-	* glom/layout_item_dialogs/:
-	* glom/mode_data/dialog_choose_field.[h|cc]:
-	* glom/mode_data/dialog_choose_relationship.[h|cc]:
-	* glom/mode_data/dialog_layout*.[h|cc]:
-	* glom/mode_data/treestore_layout.[h|cc]:
-	* glom/layout_item_dialogs/:
-	Moved to glom/mode_design/layout/
-	* glom/reports/report_builder.[h|cc]: Moved to glom/
-	* glom/reports/dialog_layout_report.[h|cc]"
-	* glom/reports/treestore_report_layout.[h|cc]:
-	Moved to glom/mode_design/report_layout/
-	* glom/database_preferences.[h|cc]:
-	* glom/relationships_overview/: Moved to
-	glom/mode_design/
-	* glom/glom_developer.glade:
-	* glom/dialog_new_self_hosted_connection.[h|cc]:Rename to
-	glom/mode_design/dialog_initial_password.[h|cc], renaming the class too,
-	because that's what this is now.
-	* glom/utility_widgets/dialog_layoutitem_properties.[h|cc]: Removed
-	this unused class.
-	* glom/Makefile_glom.am, *.[h|cc]: Adapted.
-
-2009-09-03  Murray Cumming  <murrayc murrayc com>
-
-	libglom: Avoid client-only build changes: partial recommit of revert.
-
-	* glom/libglom/appstate.cc:
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool_backends/backend.h:
-	* glom/libglom/connectionpool_backends/postgres.h:
-	* glom/libglom/connectionpool_backends/postgres_central.h:
-	* glom/libglom/connectionpool_backends/postgres_self.h:
-	* glom/libglom/connectionpool_backends/sqlite.h:
-	* glom/libglom/document/document.h: Remove mention of
-	GLOM_ENABLE_CLIENT_ONLY from comments because we no longer use it in
-	libglom.
-	* glom/libglom/connectionpool_backends/postgres.cc: attempt_connect():
-	Do not use Gda::CONNECTION_OPTIONS_READ_ONLY just because exceptions
-	are disabled in the build. Please stop using vaguely-related ifdefs
-	to hack changes in. In this case it would be GLOM_ENABLE_CLIENT_ONLY,
-	but we don't want that option in libglom anymore.
-
-2009-09-01  David King  <davidk openismus com>
-
-	* glom/glom.glade: Fix an interesting warning, where the quickfind
-	Gtk::Entry was described in the glade file as having focus, even
-	though it was set to be not visible, and therefore not realized.
-
-2009-09-01  David King  <davidk openismus com>
-
-	* glom/dialog_existing_or_new.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc: Use Gtk::StockID
-	constructor with builtin stock items so that GTK+ warnings are not
-	triggered.
-
-2009-09-01  Johannes Schmid  <jschmid openismus com>
-
-	* glom/base_db.cc: Fixed small build problem with disabled exceptions
-
-2009-09-01  Johannes Schmid  <jschmid openismus com>
-
-	* glom/libglom/connectionpool_backends/postgres.cc:
-	Also use SQL_IDENTIFIERS_CASE_SENSITIVE on maemo
-	* glom/base_db.cc:
-	enable the use gda_meta_store_sql_identifier_quote() on maemo
-
-	These were hacks used before libgda 4.0.4 was available on maemo
-
-2009-08-31  David King  <davidk openismus com>
-
-	Revert "Really never use config.h in libglom."
-
-	This reverts commit 8d73f2051fb624e145505b3587a12d89ed3c8326.
-
-	The change gave no benefits, but did break any project that used libglom
-	and autoheader.
-
-2009-08-31  Johannes Schmid  <jschmid openismus com>
-
-	* Makefile_test.am: Fixed make dist (probably automake-1.11 is more
-	clever but it does not build with automake-1.10 because it assumes
-	that the test programs have sources in form of xxx.c and not xxx.cc
-
-2009-08-27  Murray Cumming  <murrayc murrayc com>
-
-	Avoid GTK+ warnings.
-
-	* glom/glom_developer.glade: Set GtkAdjustment page_size to 0 to
-	avoid new GTK+ warnings.
-	* glom/layout_item_dialogs/dialog_field_layout.cc:
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	* glom/mode_design/print_layouts/dialog_text_formatting.cc:
-	More nasty workarounds for GtkBuilder bug #575714, which is still not
-	fixed.
-
-2009-08-27  Murray Cumming  <murrayc murrayc com>
-
-	Remove a nasty hack that would become a runtime bug.
-
-	* glom/libglom/connectionpool_backends/sqlite.cc: Revert the previous
-	hack by Johannes, which misused GLIBMM_EXCEPTIONS_ENABLE to
-	avoid use of CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE. We will
-	just update libgdamm on Maemo Fremantle instead.
-
-2009-08-27  Murray Cumming  <murrayc murrayc com>
-
-	Really never use config.h in libglom.
-
-	* glom/libglom/*.cc: Remove some remaining includes of config.h
-	instead of libglom_config.h.
-	* glom/libglom/libglom_config.h.in: Add GETTEXT_PACKAGE,
-	PACKAGE_TARNAME, though I suspect that libglom requires different
-	build stuff for translations.
-	Added POSTGRES_UTILS_PATH and EXEEXT.
-
-2009-08-27  Murray Cumming  <murrayc murrayc com>
-
-	Update NEWS and increase version.
-
-	* NEWS:
-	* configure.ac: Update in anticipation of a release.
-	* regression_tests/test_signal_reemit.cc: Avoid an unused parameter
-	warning.
-
-2009-08-27  Johannes Schmid <jschmid openismus com>
-
-	* glom/libglom/connectionpool_backends/sqlite.c:
-	Fixed build issues on maemo platform
-
-2009-08-26  Murray Cumming  <murrayc murrayc com>
-
-	Fix a time parsing regression.
-
-	* glom/libglom/libglom_config.h.in: Moved HAVE_STRPTIME here from
-	config.h (which should maybe not be generated by autoheader),
-	to the test_parsing_time regression.
-	* glom/libglom/data_structure/iso_codes.cc: Include libglom_config.h
-	instead of config.h, after moving ISO_CODES_PREFIX there.
-
-2009-08-26  Murray Cumming  <murrayc murrayc com>
-
-	Tests: Correct the return values.
-
-	* regression_tests/test_parsing_time.cc:
-	* regression_tests/test_signal_reemit.cc: Return EXIT_SUCCESS or
-	EXIT_FAILURE properly.
-
-2009-08-26  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: remove_quotes(): Implement this simply, just removing
-	start and end quotes. However, I do not think this should be
-	necessary:
-	http://bugzilla.gnome.org/show_bug.cgi?id=593154
-
-2009-08-25  Murray Cumming  <murrayc murrayc com>
-
-	Comment out use of gda_sql_identifier_remove_quotes().
-
-	* glom/base_db.cc: remove_quotes(): Comment out use of
-	gda_sql_identifier_remove_quotes() with a stdcerr warning because
-	it is deprecated and I get a weird undefined reference error and we
-	need to change how we use this anyway. To fix the build.
-
-2009-08-25  Johannes Schmid <jschmid openismus com>
-
-	Fixed remaing maemo build problems
-
-	* autogen.sh: Don't hardcode automake-1.10
-	* glom/application.cc:
-	* glom/base_db.cc:
-	* glom/dialog_invalid_data.cc:
-	* glom/filechooser_export.cc:
-	* glom/glade_utils.cc:
-	* glom/glade_utils.h:
-	* glom/main.cc:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/imageglom:
-	Fixed error handling of Gtk::Builder (change in gtkmm 2.14)
-
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/mode_data/flowtablewithfields.h:
-	Fixed vfuncs problem
-
-2009-08-21  Daniel Elstner  <danielk openismus com>
-
-	Do not use .pyd extension on non-Windows systems
-
-	* Makefile.am (pymod_ldflags): Set variable conditionally and use
-	the "-shrext .pyd" option only on Windows hosts.
-
-2009-08-21  Michael Hasselmann  <michaelh openismus com>
-
-	* glom/libglom/connectionpool_backends/sqlite.cc: Fix typos to fix the build.
-	Bug #592576
-
-2009-08-21  Murray Cumming  <murrayc murrayc com>
-
-	Document::get/set_connection_user(): Don't save this in the document.
-
-	* glom/libglom/document/document.[h|cc]: get/set_connection_user():
-	Document these as not being saved in the document, because it makes no sense
-	to save a single user there, because Glom is a multi-user system.
-	* glom/dialog_connection.cc: load_after(), save_before(): Don't save the user
-	in the document.
-
-2009-08-19  David King  <davidk openismus com>
-
-	* glom.am:
-	* libegg.am:
-	* libglom.am:
-	* tests.am: Remove unused .am files.
-	* glom/libglom/test_document_with_layout.cc: Remove unused file,
-	identical to glom/libglom/test_document.cc.
-	* ChangeLog: Fix some formatting.
-
-2009-08-04  Murray Cumming  <murrayc murrayc com>
-
-	Rename included .am files.
-
-	* *.am: Rename to Makefile_*.am so they are grouped together.
-	* Makefile.am: Include the new filenames.
-
-2009-07-31  Johannes Schmid <jschmid openismus com>
-
-	* configure.ac: Add dependency on hildon-fmmm
-
-	* glom/application.cc:
-	* glom/utils_ui.cc: Comment out most hildon stuff for now
-
-	* glom/bakery/app_withdoc.cc:
-	* glom/bakery/app_withdoc_gtk.cc:
-	* glom/xsl_utils.cc:
-	Fix Gio exception handling
-
-	* glom/base_db.cc:
-	* glom/base_db_table_data.cc:
-	* glom/dialog_existing_or_new.cc:
-	* glom/dialog_import_csv.cc:
-	* glom/dialog_invalid_data.cc:
-	* glom/filechooser_export:
-	* glom/glom_privs.cc:
-	* glom/mode_data/box_data_calendar_related.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_portal.cc:
-	* glom/mode_data/notebook_data.cc:
-	* glom/reports/report_builder.cc:
-	Fixed Gda exception handling, most notable and often get_value_at()
-
-	* glom/glade_utils.h
-	* glom/glade_utils.cc: Fixed GtkBuilder usage (though this seems to be a bug
-	in Gtkmm)
-
-	* glom/mode_data/flowtablewithfields.h:
-	* glom/notebook_glom.cc:
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/entryglom.cc:
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/placeholder-glom.cc:
-	* glom/utility_widgets/placeholder-glom.h:
-	* glom/utility_widgets/dialog_image_progress.cc:
-	Use signals instead of virtual methods, disable accesibility on maemo
-
-	* glom/utility_widgets/canvas/*.cc: Use get/set_property() instead of the
-	direct property access when properties are disabled
-
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utiltiy_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-
-2009-07-30  Johannes Schmid <jschmid openismus com>
-
-	* autogen.sh: Use automake-1.10 explicitly
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool_backends/postgres.cc:
-	* glom/libglom/data_structure/field.cc:
-	* glom/libglom/data_structure/fieldtypes.cc:
-	* glom/libglom/document/bakery/document.cc:
-	* glom/libglom/python_embed/py_glom_relatedrecord.cc:
-	* glom/libglom/spawn_with_feedback.cc:
-	* glom/libglom/utils.cc:
-	Fix exception and client-only related problems on maemo platform. Also
-	fixed some TODOs that were related.
-
-	In sum this allows to build glom master on maemo fremantle.
-
-2009-07-28  Daniel Elstner  <danielk openismus com>
-
-	Build and run tests on make check
-
-	* Makefile.am (AM_DEFAULT_SOURCE_EXT): Make use of the Automake default
-	_SOURCES feature for building single-source-file programs.
-	(noinst_PROGRAMS): Move to tests.am.
-	* tests.am (check_PROGRAMS): List all test executables here, so they
-	are only built on make check.
-	(TESTS): List unit test programs from the regression_tests/ directory.
-
-2009-07-28  Daniel Elstner  <danielk openismus com>
-
-	Use deprecated libtool macros for Maemo's sake
-
-	* configure.ac (LT_PREREQ), (LT_INIT): Comment-out.
-	(AC_PROG_LIBTOOL): Use old-style and deprecated M4 macro to initialize
-	libtool because the Maemo development environment still ships with the
-	ancient libtool 1.4.
-	(AC_DISABLE_STATIC), (AC_LIBTOOL_WIN32_DLL): Call old-style macros to
-	set libtool options, instead of passing flag arguments to LT_INIT().
-
-2009-07-27  Murray Cumming  <murrayc murrayc com>
-
-	ldtp tests: Correct the English in the error messages.
-
-	* ldtp/common.py:
-	* ldtp/database-creation/create-db.py:
-	* ldtp/fields-edit/fields-edit.py: Correct the English in the error messages.
-
-2009-07-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/dialog_image_progress.cc: on_stream_read(): Add casts
-	to avoid compiler warnings, to fix distcheck.
-
-2009-07-27  Murray Cumming  <murrayc murrayc com>
-
-	Add more delay so that self-hosting does not fail sometimes.
-
-	* glom/libglom/spawn_with_feedback.cc:
-	execute_command_line_and_wait_until_second_command_returns_success(): Wait
-	for extra 8 seconds instead of 3, so that postgresql startup has really
-	finished. The delay was not enough since I removed the debug output, which
-	was probably providing extra delay.
-	This is unpleasant.
-
-2009-07-25  Daniel Elstner  <danielk openismus com>
-
-	List auto-generated files in MAINTAINERCLEANFILES
-
-	* Makefile.am (MAINTAINERCLEANFILES): Clean up the macros/*.m4 files
-	installed by autogen.sh, as well as the eggmarshalers.[ch] files.
-
-2009-07-25  Daniel Elstner  <danielk openismus com>
-
-	Pass --automake option to gnome-doc-prepare
-
-	* autogen.sh: Invoke gnome-doc-prepare with the --automake option to
-	tell it that Automake will take care of installing its macro files.
-
-2009-07-25  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_fields_for_table_from_database():
-	Use gda_meta_store_sql_identifier_quote() as mentioned in bug #589607
-	to maybe make this work with uppercase in the table name.
-
-2009-07-24  Daniel Elstner  <danielk openismus com>
-
-	Assign copyright of my work to Openismus GmbH
-
-	* configure.ac: Reassign the copyright which I had assigned to myself
-	temporarily to Openismus GmbH instead, as I did the work in my position
-	as an employee.
-	* *.am: ditto,
-	* macros/mm-python.m4: ditto.
-
-2009-07-24  Daniel Elstner  <danielk openismus com>
-
-	Split Makefile.am into logically separate parts
-
-	* glom.am: New file for building the glom binary itself.
-	* libglom.am: New file for building the libglom library.
-	* libegg.am: New file for building the libegg static library.
-	* tests.am: New file for building the test programs.
-	* Makefile.am: Move logical chunks into the separate files listed
-	above, and pull them in as Automake include files.
-
-2009-07-24  Daniel Elstner  <danielk openismus com>
-
-	Invoke gnome-doc-common from autogen.sh
-
-	* autogen.sh: Execute "gnome-doc-common --copy" to install the files
-	omf.make and xmldocs.make into the source tree.
-
-2009-07-24  Daniel Elstner  <danielk openismus com>
-
-	Use G_GSIZE_FORMAT instead of a cast
-
-	* glom/libglom/python_embed/pygdavalue_conversions.c: Change format
-	specifier for GType to "%" G_GSIZE_FORMAT and remove the explicit cast
-	again.  I forgot that this is C code, so GType will always be gsize --
-	at least with recent versions of GLib.
-
-2009-07-24  Daniel Elstner  <danielk openismus com>
-
-	Use format "%lu" for GType and add cast
-
-	* glom/libglom/python_embed/pygdavalue_conversions.c: Change format
-	specifier in g_warning() message back from "%u" to "%lu", and add an
-	explicit cast to unsigned long.  Looks like GLib silently changed the
-	type of GType from gulong to gsize, except when using a C++ compiler
-	with a 64 bit target.  (Yes, really.)
-
-2009-07-24  Daniel Elstner  <danielk openismus com>
-
-	Suppress warning for missing field initializers
-
-	* configure.ac (GLOM_WXXFLAGS): Add -Wno-missing-field-initializers to
-	the warning options at level max or higher, so that the Python module
-	code will build with both Python 2.5 and Python 2.6 without producing
-	warnings.
-
-2009-07-24  Murray Cumming  <murrayc murrayc com>
-
-	Catch unknown command-line options.
-
-	* glom/main.cc: Put try/catch around the Gtk::Main instantiation
-	because I noticed that it throws an exception if you provide an
-	unknown option.
-
-2009-07-24  Murray Cumming  <murrayc murrayc com>
-
-	Use CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE.
-
-	* glom/libglom/connectionpool_backends/postgres.cc:
-	* glom/libglom/connectionpool_backends/sqlite.cc: When calling
-	Gda::Connection::open_from_string(), use the new
-	CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE option so the libgda
-	API really does what we mean without needing any weird quoting.
-
-2009-07-23  Murray Cumming  <murrayc murrayc com>
-
-	Fix the build with Python 2.5, bringing back the warnings for others.
-
-	* glom/libglom/python_embed/py_glom_record.cc:
-	* glom/libglom/python_embed/py_glom_related.cc:
-	* glom/libglom/python_embed/py_glom_relatedrecord.cc:
-	* glom/libglom/python_embed/pygdavalue_conversions.c: Remove the extra
-	struct field initialization to fix the build with Python 2.5.
-
-2009-07-23  Daniel Elstner  <danielk openismus com>
-
-	Make libegg object files depend on eggmarshalers
-
-	* Makefile.am ($(*libegg*_a_OBJECTS)): Make all object files of
-	libeggutil.a and libeggtoolpalette.a depend on the generated source
-	files eggmarshalers.[ch].  This ensures that the marshaler files are
-	generated before any of the libegg objects are compiled, but avoids
-	having to resort to BUILT_SOURCES for that purpose.
-	(*_libeggtoolpalette_a_LIBADD): Remove dependency on libeggutil.a
-	again, as it is not required for linking the static library itself.
-
-2009-07-23  Daniel Elstner  <danielk openismus com>
-
-	* Makefile.am (*_libeggtoolpalette_a_LIBADD): List libeggutil.a as
-	dependency.
-
-2009-07-23  Daniel Elstner  <danielk openismus com>
-
-	* glom/bakery/app_withdoc.cc: Fix build with -Werror.
-	* glom/dialog_import_csv.cc: ditto,
-	* glom/libglom/python_embed/py_glom_record.cc: ditto,
-	* glom/libglom/python_embed/py_glom_related.cc: ditto,
-	* glom/libglom/python_embed/py_glom_relatedrecord.cc: ditto,
-	* glom/libglom/python_embed/pygdavalue_conversions.c: ditto,
-	* glom/mode_design/fields/dialog_fielddefinition.cc: ditto,
-	* glom/utility_widgets/dialog_image_progress.cc: ditto.
-
-2009-07-23  Daniel Elstner  <danielk openismus com>
-
-	Switch to non-recursive build process
-
-	* macros/mm-pkg.m4: New file, defining the MM_PKG_CONFIG_SUBST macro.
-	* macros/mm-python.m4: New file, defining the MM_CHECK_MODULE_PYTHON
-	macro to replace the old and messy AM_CHECK_PYTHON_HEADERS.
-	* acinclude.m4: Remove file which defined AM_CHECK_PYTHON_HEADERS.
-
-	* Makefile.am: Merge the contents of the Makefile.am files from all
-	subdirectories into a single top-level Makefile.am, with the exception
-	of docs/user-guide/Makefile.am.  Add the full subdirectory prefix to
-	all listed files and change the Automake variable names accordingly.
-	Get rid of the intermediate static libraries previously created for
-	each source subdirectory, and list the source files directly in the
-	toplevel target's SOURCES variable.  Overall, refactor and modernize
-	the build rules and organization.
-	* **/Makefile.am: Except for docs/user-guide/Makefile.am, remove the
-	Makefile.am files recursively from all subdirectories.
-
-	* config.h.in: Remove file, and use autoheader to generate it.
-	* autogen.sh: Replace with a modern minimalistic script which lets
-	autoreconf do the bulk of the work.
-	* configure.ac: Massive refactoring.  Adapt to the new non-recursive
-	build organization.  Modernize the M4 and shell code, and make use of
-	newer Autoconf and Automake constructs to simplify many checks.  Also
-	make minor corrections to a number of tests and definitions.
-
-	* glom/application.cc: Remove the need for GLOM_ICON_DIR by setting
-	the window icon by name instead of loading the image file directly.
-	Use PACKAGE_VERSION in place of VERSION.
-	* glom/dialog_existing_or_new.cc: Use a subdirectory of GLOM_DOCDIR
-	in place of GLOM_EXAMPLES_DIR.  Remove GLOM_EXAMPLES_DIR_ALTERNATIVE.
-
-	* glom/utils_ui.cc: Replace DATADIR by GLOM_DATADIR.
-	* glom/libglom/connectionpool.cc: Remove GLOM_SAVE_DATADIR hack, which
-	is not necessary anymore as DATADIR is not globally defined anymore.
-	* glom/libglom/connectionpool_backends/postgres_self.cc: ditto,
-	* glom/libglom/spawn_with_feedback.cc: ditto,
-	* glom/main.cc: ditto. Also replace LOCALEDIR by GLOM_LOCALEDIR, and
-	output PACKAGE_STRING instead of VERSION in response to the --version
-	command-line option.  Replace PACKAGE and VERSION by their modern
-	Automake equivalents.
-	* glom/xsl_utils.cc: Remove GLOM_SAVE_DATADIR hack, and replace
-	GLOM_XSLTDIR with a subdirectory of GLOM_PKGDATADIR.
-
-	* glom/mode_data/box_data_calendar_related.cc: Replace GLOM_GLADEDIR
-	by a combination of GLOM_PKGDATADIR and a subdirectory name.
-	* glom/mode_design/print_layouts/print_layout_toolbar_button.cc: Use
-	a subdirectory of GLOM_PKGDATADIR in place of GLOM_ICON_DIR.
-	* glom/utility_widgets/layouttoolbar.cc: ditto,
-	* glom/utility_widgets/layouttoolbarbutton.cc: ditto.
-
-	* glom/python_embed/glom_python.cc: Include generated config.h for the
-	definition of GLOM_ABI_VERSION_UNDERLINED.
-	* glom/python_embed/python_module/py_glom_module.cc: ditto.
-
-2009-07-22  David King  <davidk openismus com>
-
-	* glom/libglom/glom-1.0.pc.in: Add libxml++ dependency, needed for
-	Bakery headers.
-
-2009-07-23  David King  <davidk openismus com>
-
-	* glom/libglom/init.cc: Check that GThread is supported before calling
-	Glib::thread_init(). This fixes a crash, as otherwise g_thread_init()
-	can be called twice.
-
-2009-07-22  Johannes Schmid  <jschmid openismus com>
-
-	* configure.ac: Fixed typo with libepc
-
-2009-07-21  David King  <davidk openismus com>
-
-	* glom/libglom/glom-1.0.pc.in:
-	* glom/libglom/*/Makefile.am: Use GLOM_ABI_VERSION in place of "1.0" so
-	that installed headers go into the correct, ABI-specific directory.
-
-2009-07-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/glom-1.0.pc.in: Remove the bakery dependency, because no part
-	of Glom now depends on the bakery shared library.
-	I suspect that libglom should depend on python somehow, but we will see.
-
-2009-07-17  Murray Cumming  <murrayc murrayc com>
-
-	Use an xmlns ID for the MIME-type registration.
-
-	* glom/libglom/document/bakery/document_xml.[h|cc]: set_dtd_root_node_name():
-	Take an optional xmlns ID and write this in the document.
-	* glom/libglom/document/document.cc: Constructor: Specify a
-	http://glom.org/glom_document xmlns ID. I don't think this needs to exist.
-	This will make it easier for the MIME-type system to detect the file's MIME
-	type.
-	* glom.xml: (MIME-type detection rules): Add a root-XML rule, that checks
-	for the xmlns and the root node name. We keep the string check too for
-	legacy.
-
-2009-07-10  Murray Cumming  <murrayc murrayc com>
-
-	Export: Don't open the format dialog behind the FileChooser dialog.
-
-	* glom/frame_glom.cc: on_menu_file_export(): Set the FileChooser dialog as
-	transient so that the other dialog (opened from the FileChooser) is not
-	behind the FileChooser.
-	Ubuntu Launchpad bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/397409
-	(elmergato)
-
-2009-07-10  Murray Cumming  <murrayc murrayc com>
-
-	Really save field changes again.
-
-	* glom/libglom/document/document_glom.cc: set_table_fields():
-	Avoid the broken attempt at optimization, so that field changes are always
-	saved, for instance when changing them via the Field Definition dialog.
-	Ubuntu Launchpad bug
-	https://bugs.launchpad.net/ubuntu/+source/glom/+bug/394507
-	(elmergato)
-
-2009-07-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_import_csv.cc: advance_field(): Do not skip characters after
-	the ".
-
-2009-07-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_import_csv.cc: on_idle_parse(): Ignore newlines in quotes when
-	dividing the input into "lines" to give to handle_line().
-
-2009-07-10  Murray Cumming  <murrayc murrayc com>
-
-	Import: Handle "" as ". Fix a crash.
-
-	* glom/dialog_import_csv.[h|cc]: Use typedefs to simplify code.
-	advance_field(): Handle "" (escaped ") inside quotes.
-	field_data_func(): Avoid a crash if not enough data was found.
-
-2009-07-09  Murray Cumming  <murrayc murrayc com>
-
-	Import: " is the only quote character, as per the CSV RFC.
-
-	* glom/dialog_import_csv.cc: advance_field(): Parse only " as
-	start/end quotes, not ', as per the CSV RFC.
-
-	Part of Ubuntu bug
-	https://bugs.launchpad.net/ubuntu/+source/glom/+bug/394894
-	(elmergato)
-
-2009-07-08  Murray Cumming  <murrayc murrayc com>
-
-	Correct the export to use the CSV format as per the RFC "specification".
-
-	* glom/frame_glom.cc: export_data_to_stream(): For text fields, add
-	" as per the CSV RFC.
-	* glom/libglom/data_structure/field.cc: to_file_format(): Escape
-	" as "". Note that we do not try to escape newlines. This is per the
-	CSV RFC.
-	* glom/libglom/utils.cc: string_replace(): In the loop, do not check
-	what has already been processed, to avoid an infinite loop.
-
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/394894
-	(elmergato)
-
-2009-07-07  Murray Cumming  <murrayc murrayc com>
-
-	Catch libgda meta-store exceptions.
-
-	* glom/base_db.cc: get_table_names_from_database():
-	* glom/libglom/connectionpool.cc: connect(): Added try/catch around
-	calls to Gda::Connection::update_meta_store_*() because they now
-	throw a MetaStoreError exception, though we do not know why yet.
-
-2009-07-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_existing_or_new.h: #include config.h to avoid a crash
-	with the client-only build due to ABI code-size confusion.
-
-2009-07-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: init_menus_file(): Initialize
-	m_toggleaction_network_shared to avoid a crash.
-
-2009-07-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/bakery/app_withdoc_gtk.[h|cc]: Remove the toolbar widget because
-	we hide it anyway.
-
-2009-07-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: update_network_shared_ui(): Un-ifndef this for
-	client-only.
-
-2009-07-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/*.[h|cc]: Move some ifndefs around to fix the client-only build.
-
-2009-07-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document.cc: load_after(): Remove old code
-	to check for developer mode in client-only builds.
-
-2009-07-04  Murray Cumming  <murrayc murrayc com>
-
-	Fix loading of the versioned python module.
-
-	* configure.ac:
-	* glom/Makefile.am:
-	* glom/python_embed/Makefile.am:
-	* glom/python_embed/glom_python.cc:
-	* glom/python_embed/python_module/Makefile.am:
-	* glom/python_embed/python_module/py_glom_module.cc:
-	* glom/python_embed/python_module/py_glom_module.h: Use glom_1_12
-	instead of glom-1.12 because - and . are not valid in python module
-	names. I wish I knew of any standard way to do parallel install of
-	different versions of python modules.
-
-2009-07-04  Murray Cumming  <murrayc murrayc com>
-
-	libglom: Remove use of GLOM_ENABLE_MAEMO because it is about UI.
-
-	* glom/libglom/utils.cc:
-	* glom/libglom/connectionpool.cc: Remove use of GLOM_ENABLE_MAEMO so
-	because there should be no UI-specific login in libglom.
-	* glom/libglom/document/document.[h|cc]: Remove
-	get_active_layout_platform() because we no longer use GLOM_ENABLE_MAEMO.
-	* glom/base_db.[h|cc]: Add a get_active_layout_platform(document)
-	here instead.
-	* glom/libglom/libglom_config.h.in: Moved GLOM_ENABLE_MAEMO to
-	config.h.in because it is now only used in the app, not in libglom.
-
-	* glom/base_db_table_data.cc:
-	* glom/frame_glom.cc:
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/notebook_data.cc:
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/dialog_choose_id.cc:
-	* glom/utils_ui.h:
-	* glom/xsl_utils.cc: Adapted, using config.h instead of libglom_config.h
-
-2009-07-04  Murray Cumming  <murrayc murrayc com>
-
-	libglom: Always enable developer-mode (!client-only) API.
-
-	* glom/libglom/*.[h|cc]: Remove use of ENABLE_CLIENT_ONLY ifdefs,
-	so we can allow parallel install of full and
-	client-only versions.
-
-2009-07-04  Murray Cumming  <murrayc murrayc com>
-
-	Remove ifdefs from libglom to allow parallel install of sqlite- and
-	PostgreSQL-using versions of Glom.
-
-	* glom/libglom/connectionpool_backends/postgres.h:
-	* glom/libglom/connectionpool_backends/postgres_central.h:
-	* glom/libglom/connectionpool_backends/sqlite.h:
-	* glom/libglom/document/document.[h|cc]:
-	* glom/libglom/test_connectionpool.cc: Remove ifdefs that remove
-	PostgreSQL or Sqlite API so that libglom always offers all features and
-	always has the same ABI (ignoring no-exceptions/no-vfuncs
-	alternative-glibmm-api versions). This will allow us to parallel install
-	the full and client-only versions.
-
-	* glom/libglom/libglom_config.h.in: Move GLOM_ENABLE_POSTGRESQL/SQLITE
-	config.h.in because we now only use it in the application, not in libglom.
-	* glom/application.cc:
-	* glom/dialog_connection.cc:
-	* glom/frame_glom.cc:
-	* glom/utility_widgets/filechooserdialog_saveextras.cc:
-	* glom/utility_widgets/filechooserdialog_saveextras.h:
-	Include config.h to get these
-	definitions.
-
-2009-07-03  Murray Cumming  <murrayc murrayc com>
-
-	Allow parallel installs of libglom major versions.
-
-	* configure.ac: Define GLOM_ABI_VERSION as 1.12.
-	* glom/Makefile.am:
-	* glom/libglom/Makefile.am:
-        * glom/python_embed/Makefile.am
-	* glom/python_embed/python_module/Makefile.am:
-	* regression_tests/Makefile.am: Add a 1.12 suffix to
-	the libglom shared library name and the glom python module name.
-	This must be changed in several places when the ABI version changes
-	because we cannot use a variable in most of these places.
-	Define it also as a macro for the .cc files, so Glom can import the
-	correct version of the Glom python module
-	- for instance, import glom-1.12.
-	* glom/python_embed/glom_python.cc:
-	* glom/python_embed/python_module/py_glom_module.cc: Import the
-	correct version in python.
-
-2009-07-03  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac:
-	* glom/Makefile.am:
-	* glom/libglom/Makefile.am:
-	* glom/libglom/python_embed/Makefile.am:
-	* glom/python_embed/glom_python.cc:
-	* glom/python_embed/python_module/Makefile.am:
-	* glom/python_embed/python_module/py_glom_module.cc:
-	* ldtp/database-creation/create-db.py:
-	* regression_tests/Makefile.am:
-
-2009-09-30  Armin Burgmeier  <armin openismus com>
-
-	* ldtp/fields-edit/fields-edit.py: Added a new test which tests adding
-	a new field to an existing table. More operations to test, such as
-	changing and removing existing fields, can be added later.
-
-	* ldtp/fields-edit/postgres-central.xml:
-	* ldtp/fields-edit/postgres-self.xml:
-	* ldtp/fields-edit/sqlite.xml: XML Data files for the new test.
-
-	* ldtp/test.xml: Added it to the test suite, so that it can be run
-	with ldtprunner.
-
-2009-06-28  Armin Burgmeier  <armin openismus com>
-
-	* ldtp/database-templates/SQLite:
-	* ldtp/database-templates/PostgresCentral: Added database templates
-	for two of the three backends. These can be copied and then opened to
-	have a database available for LDTP tests to test.
-
-	* ldtp/common.py: Added create_test_database and delete_test_database
-	functions which create or remove a database to test, from such a
-	template database, respectively.
-
-	* ldtp/database-creation/create-db.py: Use the delete_test_database
-	function from common on cleanup, remove own delete_database function.
-
-2009-06-30  Armin Burgmeier  <armin openismus com>
-
-	* ldtp/database-creation/create-db.py: Changed the name of the created
-	database table (for empty databases) to TestTable, so that we test
-	that table names with capital letters work correctly.
-
-2009-06-30  Armin Burgmeier  <armin openismus com>
-
-	* glom/base_db.cc (get_fields_for_table_from_database): Make this work
-	for table names which need quotation, and return unquoted field names.
-	This fixes bug #587051.
-
-2009-06-30  Murray Cumming  <murrayc murrayc com>
-
-	get_table_names_from_database(): Remove quotes.
-
-	* glom/base_db.cc: get_table_names_from_database(): Remove quotes when they
-	are (sometimes) in the meta data. I complained on the gnome-db mailing list
-	about us having to do this.
-
-2009-06-29  Murray Cumming  <murrayc murrayc com>
-
-	Allow many fields to be added to layouts (or the export format) at once.
-
-	* glom/mode_data/dialog_choose_field.[h|cc]: Added get_fields_list() in
-	addition to the existing get_field_list(), and allow multiple selection.
-	* glom/base_db.[h|cc]: offer_field_list(): Rename to
-	offer_field_list_select_one_field().
-	Added offer_field_list() that returns a list of fields, allowing multiple
-	selection.
-
-	* *.[h|cc]: Adapted to use the appropriate function, allowing, for instance,
-	the export dialog to use multiple selection to add many fields at once.
-
-	Ubuntu Launchpad bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/393231
-	(elmergato)
-
-2009-06-29  Murray Cumming  <murrayc murrayc com>
-
-	Export: Offer File overwrite confirmation.
-
-	* glom/frame_glom.cc: on_menu_file_export():
-	* glom/translation/window_translations.cc: on_button_export():
-	Call Gtk::FileChooser::set_do_overwrite_confirmation() so the user is
-	warned when overwriting a file.
-	Ubuntu Launchpad bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/393229
-	(elmergato)
-
-2009-06-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/spawn_with_feedback.cc: ifdef out the debug output.
-
-2009-06-29  Murray Cumming  <murrayc murrayc com>
-
-	Reduce debug output.
-
-	* glom/libglom/data_structure/glomconversions.[h|cc]:
-	sanity_check_date_text_representation_uses_4_digit_years(): Make the debug
-	output optional.
-	* glom/main.cc: Added a --debug-date-check option, to avoid the debug out
-	about 4-digit dates normally.
-
-	* glom/dialog_existing_or_new.cc: list_examples_at_path(): Comment out debug
-	output.
-	* glom/libglom/connectionpool.cc: connect(): Comment out debug output that
-	showed the (previously slow) meta update calls.
-
-2009-06-28  Murray Cumming  <murrayc murrayc com>
-
-	Print exception messages to stdout.
-
-	* ldtp/database-creation/create-db.py: When catching the exception,
-	print it to stdout, because it does not seem to appear in the log file.
-	* ldtp/common.py: Corrected the English of some exception messages.
-
-2009-06-28  Murray Cumming  <murrayc murrayc com>
-
-	Fix an error check.
-
-	* glom/xsl_utils.cc: transform_and_open(): Fix the check for a failed
-	gtk_show_uri(), so we really check. Noticed while stealing this code
-	for vidrot.
-
-2009-06-27  Armin Burgmeier  <armin openismus com>
-
-	* ldtp/database-creation/postgres-central-empty.xml:
-	* ldtp/database-creation/postgres-self-empty.xml:
-	* ldtp/database-creation/sqlite-empty.xml: Added missing files.
-
-	* ldtp/database-creation/create-db.py: Allow passing the datafilename
-	as an argument when the script is called directly, not by ldtprunner.
-
-	* ldtp/README: Updated the section on how to execute a single test
-	script.
-
-2009-06-26  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/document/bakery/document.h: Document that failure_code
-	should be >= 1, so that we can detect whether the document could not
-	be opened because it couldn't be read from disk, or a custom error
-	code was set.
-
-	* glom/libglom/document/document.h: Set the value of
-	LOAD_FAILURE_CODE_FILE_VERSION_TOO_NEW to 1, to honor the requirement
-	explained above. This fixes showing the wrong error message when the
-	document could not be loaded from disk.
-
-2009-06-26  Armin Burgmeier  <armin openismus com>
-
-	* glom/application.cc (existing_or_new_new): When the new database
-	could be created successfully, then add the document to the recent
-	files list.
-
-2009-06-26  Armin Burgmeier  <armin openismus com>
-
-	* glom/frame_glom.cc
-	(connection_request_password_and_choose_new_database_name): Remember
-	the port also for centrally hosted documents when a successful
-	connection could be made.
-
-	* ldtp/database-creation/create-db.py: For empty documents, call the
-	initial table 'test_table', not 'TestTable', because of bug #587051.
-
-2009-06-26  Armin Burgmeier  <armin openismus com>
-
-	* glom/dialog_glom.h:
-	* glom/dialog_glom.cc: Added an optional second parameter to the
-	constructor, to specify a title name for the dialog.
-
-	* glom/frame_glom.cc: Set the title of the tables dialog to "Tables",
-	so that it can be accessed via LDTP.
-
-	* glom/glom.glade: Also change the title of that dialog, even though
-	it's not used, since only the window's child widget is loaded from the
-	glade file.
-
-	* glom/utility_widgets/adddel/adddel.h:
-	* glom/utility_widgets/adddel/adddel.cc: Added a
-	set_treeview_accessible_name() function, to set the accessible name of
-	the AddDel's TreeView.
-
-	* glom/navigation/box_tables.cc: Set an accessible name for the
-	TreeView, to be able to access it via LDTP.
-
-	* glom/utility_widgets/filechooserdialog_saveextras.cc: Set an
-	accessible name for the database title text entry.
-
-	* ldtp/common.py (select_backend): Added a dialog_title parameter, as
-	the dialog has a different title when creating a new, empty document.
-	(wait_for_database_open): Rely on the database title being 'Test', not
-	'Small Business Example'.
-
-	* ldtp/database-creation/create-db.py: Change the database title of
-	the newly created database to 'Test'. Support creating new, empty
-	documents, and reopen the document after it has been closed, to make
-	sure the document has been saved correctly.
-
-	* ldtp/database-creation/postgres-central-example.xml:
-	* ldtp/database-creation/postgres-self-example.xml:
-	* ldtp/database-creation/sqlite-example.xml: Moved from the files
-	without -example, set the <example> tag to 1.
-
-	* ldtp/database-creation/postgres-central-example.xml:
-	* ldtp/database-creation/postgres-self-example.xml:
-	* ldtp/database-creation/sqlite-example.xml: Same with <example> set
-	to 0.
-
-	* ldtp/test.xml: Added the three new files which create an empty
-	document instead of creating one from the Small Business Example.
-
-2009-06-24  Armin Burgmeier  <armin openismus com>
-
-	* ldtp/common.py: Work around bug #586291, added a function to enter
-	the connection credentials into the connection dialog if using a
-	centrally hosted database. Added mapping of backend name to button
-	texts in the database creation dialog.
-
-	* ldtp/database-creation/postgres-central.xml:
-	* ldtp/database-creation/postgres-self.xml:
-	* ldtp/database-creation/sqlite.xml: Removed the button texts from
-	the data XML files.
-
-	* ldtp/database-creation/create-db.py: Generalized the script so that
-	it also handles central hosting. Delete the newly created centrally
-	hosted database at the end. This requires pygda from git for now.
-
-	* ldtp/database-creation/create-central-db.py: Removed, as central
-	hosting is also handled by create-db.py now.
-
-2009-06-24  Armin Burgmeier  <armin openismus com>
-
-	* glom/glom.glade: Added a title to the connection dialog window, and
-	added accessible names for the entries, to be able to use them via
-	LDTP.
-
-	* ldtp/README: Describe how to set the login credentials required
-	to test creating a centrally hosted database.
-
-	* ldtp/common.py: Moved useful code from
-	ldtp/database-creation/create-db.py into functions in this file, so
-	other tests can use them, too.
-
-	* ldtp/database-creation/create-db.py: Adapt accordingly.
-
-	* ldtp/database-creation/create-central-db.py:
-	* ldtp/database-creation/postgres-central.xml: Added a new test script
-	and data XML which tests creating a centrally hosted database.
-
-	* ldtp/test.xml: Added the new script file.
-
-2009-06-24  Armin Burgmeier  <armin openismus com>
-
-	* glom/application.cc (on_document_load): Only provide a known user
-	name and password for self-hosted databases, and ask the user for the
-	database password for centrally-hosted ones.
-
-	* glom/frame_glom.cc (connection_request_password_and_attempt): Show
-	the connection dialog for centrally hosted connections, and fix trying
-	to login with the same (wrong) credentials all the time without giving
-	the user a chance to correct them. This fixes bug #586684.
-
-2009-06-22  Armin Burgmeier  <armin openismus com>
-
-	* glom/application.cc (on_document_load): If we load an example file,
-	set the connection port in the document to 0, and enable trying other
-	ports, instead of using the (arbitrary) values from the example file.
-	This allows trying out various standard ports for postgresql when
-	centrally-hosting the document and fixed creating a centrally-hosted
-	database from an example file.
-
-	* glom/dialog_connection.cc (connect_to_server_with_connection): On a
-	successful connection, set try other ports to false in the document,
-	as we found a working port and don't need to try all the other ports
-	next time.
-
-	* glom/frame_glom.cc
-	(connection_request_password_and_choose_new_database_name): When
-	creating a centrally-hosted database, remember the user name in the
-	document, to be able to connect to the database from the saved
-	document later. Actually, we would also need to save the password to
-	do this correctly, though I wonder whether it's a good idea to save
-	the user's database password in the .glom file.
-
-2009-06-22  Armin Burgmeier  <armin openismus com>
-
-	* glom/frame_glom.cc:
-	(connection_request_password_and_choose_new_database_name): Fixed a
-	mistyped #ifdef, so that creating a centrally-hosted database does not
-	lead to a crash.
-
-2009-06-20  Armin Burgmeier  <armin openismus com>
-
-	* ldtp/database-creation/create-db.py: Read the data what backend to
-	use from the a data XML file, instead of as a function's argument.
-
-	* ldtp/database-creation/self-hosted.py:
-	* ldtp/database-creation/sqlite.py: So we don't need these anymore.
-
-	* ldtp/database-creation/postgres-self.xml:
-	* ldtp/database-creation/sqlite.xml: Instead, the data is specified in
-	these data XML files.
-
-	* ldtp/test.xml: Adapt accordingly.
-
-2009-06-17  Armin Burgmeier  <armin openismus com>
-
-	* ldtp/README: Added a README file explaining how to run the tests.
-
-2009-06-17  Armin Burgmeier  <armin openismus com>
-
-	* ldtp/common.py: Added a common function to launch glom and wait for
-	its windows to appear into a new separate python script file.
-
-	* ldtp/database-creation/create_db.py: Added a function to create a
-	new database, with the backend to use as an argument. This allows to
-	reuse the existing code to test other backends.
-
-	* ldtp/database-creation/self-hosted.py: Adapted accordingly.
-
-	* ldtp/database-creation/sqlite.py: Added a test file to check whether
-	SQLite database creation works.
-
-	* ldty/test.xml: Added the test to create an SQLite database.
-
-2009-06-08  Armin Burgmeier  <armin openismus com>
-
-	* ldtp/database-creation/self-hosted.py: Added a LDTP test script
-	which checks creation of a new self-hosted database from the Small
-	Business Example file.
-
-	* ldtp/test.xml: Added an XML file for ldtprunner. Run "ldtprunner
-	test.xml" to execute the test.
-
-2009-06-08  Armin Burgmeier  <armin openismus com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: Added an accessible
-	name for the TreeView.
-
-	* glom/utility_widgets/imageglom.h:
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/entryglom.h:
-	* glom/utility_widgets/entryglom.cc: Set an accessible name, based on
-	the layout item's name.
-
-2009-06-08  Armin Burgmeier  <armin openismus com>
-
-	* glom/utility_widgets/layoutwidgetbase.cc: Initialize m_pLayoutItem
-	in client only mode, to avoid an uninitialized pointer in that case.
-
-2009-06-04  Murray Cumming  <murrayc murrayc com>
-
-	Show a specific error message when the flie format is too new.
-
-	* glom/libglom/document/bakery/document.[h|cc]:
-	* glom/libglom/document/bakery/document_xml.[h|cc]: load(),
-	load_after(): Take a int& failure_code output parameter to allow
-	derived document classes to report a custom failure code.
-	* glom/libglom/document/document.[h|cc]: load_after(): Return a
-	custom failure_code for a too-new file version.
-	* glom/bakery/app_withdoc.[h|cc]:
-	Add a virtual ui_warning_load_failed(int failure_code) method that
-	derived classes can override to respond to their own failure codes,
-	with a generic default error message.
-	open_document(), open_document_from_data(): Use the new method instead
-	of hard-coding the error message.
-
-	* glom/application.[h|cc]:
-	open_browsed_document(), on_menu_developer_changelanguage(): Adapt.
-	Add an override of ui_warning_load_failed() to show
-	our custom error dialog in response to our custom failure code.
-	* glom/libglom/test_document.cc: Apapted.
-
-	Exceptions might be purer and need less code changes, but they would
-	just be a container for an int failure code and it would be easier to
-	not catch the error.
-	This fixed bug #567102.
-
-2009-06-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/layout/layoutitem_portal.cc:
-	get_navigation_relationship_specific(): Remove unnecessary this-> to
-	be consistent with the rest of the code.
-
-2009-06-04  Murray Cumming  <murrayc murrayc com>
-
-	Related records portal: Hide the row button when navigation is none.
-
-	* glom/libglom/data_structure/layout/layoutitem_portal.h:
-	Add documentation for get/set_navigation_relationship_specific(),
-	get/set_navigation_type() and the enum.
-
-	* glom/mode_data/box_data_list_related.cc: enable_buttons():
-	Disable editing of details when the portal has NAVIGATION_NONE.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	construct_specified_columns(): Set the button column visibility
-	according to the member variable set in set_allow_view_details(),
-	because the button column often does not exist when that is actually
-	called.
-	This completes bug #574360.
-
-2009-06-04  Murray Cumming  <murrayc murrayc com>
-
-	Update the DTD for portal navigation and save space in XML.
-
-	* glom/glom_document.dtd: Update for the portal navigation changes,
-	as promised in bug #574360
-	* glom/libglom/document/document.cc: save_before_layout_group():
-	Do not even create the portal_navigation_relationship node if it is the
-	default ("automatic"), to save space in the XML file.
-
-2009-06-04  Murray Cumming  <murrayc murrayc com>
-
-	Clean up the code to load/save portal navigation options.
-
-	* glom/libglom/document/document.cc: load_after_layout_group():
-	Loading the portal's navigation options: Use == instead of
-	ustring::compare() because this is not C.
-	Explicitly default to automatic, removing the comment about defaulting
-	to the default in the Portal's class to preserve the deprecated file
-	format. This is more obvious.
-	save_before_layout_group(): Simplify the code.
-	Do not write GLOM_ATTRIBUTE_PORTAL_NAVIGATIONRELATIONSHIP_MAIN because
-	a) It is deprecated (should be read but not written) and b) It is not
-	read or used anywhere else anyway.
-	Use constants for the possible attribute values, instead of copy/pasting
-	the same string constants in several places.
-
-2009-06-04  Murray Cumming  <murrayc murrayc com>
-
-	Store script module code in child text nodes.
-
-	* glom/libglom/document/document.cc: load_after(), save_before():
-	Store the (importable) python script library modules in a child text
-	node instead of an attribute, as we do elsewhere, dealing with a TODO
-	that I found in the DTD.
-	* glom/glom_document.dtd: Update appropriately.
-
-1.11.0:
-
-2009-06-01  Murray Cumming  <murrayc murrayc com>
-
-	Remove ifdefs for disabled gtkmm vfuncs.
-
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/utility_widgets/db_adddel/cellrenderer_buttonimage.cc:
-	* glom/utility_widgets/db_adddel/cellrenderer_buttonimage.h:
-	* glom/utility_widgets/db_adddel/cellrenderer_buttontext.cc:
-	* glom/utility_widgets/db_adddel/cellrenderer_buttontext.h:
-	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.cc:
-	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.h:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.h:
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h: Remove ifdefs for disabled gtkmm vfuncs,
-	because they are now enabled in Maemo 5 (Fremantle).
-
-2009-05-29  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.cc: After invalidating a cached
-	connection, disconnect from the cached connection's "finished" signal,
-	to prevent the signal handler from being called later (other code
-	might still have a reference to the connection at the
-	invalidate_connection point). Also added a TODO comment, because this
-	can still happen in rare cases. This fixes initial records not being
-	shown after creating a database from an example file.
-
-2009-05-27  Armin Burgmeier  <armin openismus com>
-
-	* glom/mode_data/notebook_data.cc: Added an accessible name for the
-	notebook, so that it can be accessed via LDTP.
-
-2009-05-28  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac: Remove the mention of the eggcolumnchooser subdirectory, to
-	fix the build.
-
-2009-05-26  Armin Burgmeier  <armin openismus com>
-
-	* glom/glom.glade: Added a window title to the initial dialog, and
-	accessible names for the two tree views in it, so they are easily
-	accessible from LDTP.
-
-2009-05-25  Armin Burgmeier  <armin openismus com>
-
-	* glom/dialog_existing_or_new.cc (constructor): Create the top level
-	list elements before setting the cell data func, to avoid the cell
-	data func being called before all the list elements have been added.
-	This happended when Glom was launched via LDTP, leading to a crash.
-
-2009-05-20  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool_backends/backend.h:
-	* glom/libglom/connectionpool_backends/postgres.h:
-	* glom/libglom/connectionpool_backends/sqlite.h: Added
-	get_public_schema_name() virtual function and implementations for both
-	backends.
-
-	* glom/libglom/connectionpool.cc: Only update the meta store tables
-	for the public schema of the corresponding backend. This considerably
-	speeds up the initial meta store update. This requires latest libgdamm
-	from git.
-
-2009-05-10  Murray Cumming  <murrayc murrayc com>
-
-	Disables the Open button next to ID fields if the field is empty.
-
-	* glom/utility_widgets/datawidget.[h|cc]:
-	Added private update_go_to_details_button_sensitivity() method and
-	called it whenever the value is changed by the user or set via
-	set_value(). Fixes bug #565023.
-
-2009-05-07  Murray Cumming  <murrayc murrayc com>
-
-	Allow non-network-shared connections when using IPv6.
-
-	* glom/libglom/connectionpool_backends/postgres_self.cc:
-	DEFAULT_CONFIG_PG_HBA_LOCAL: Add an entry in IPv6 syntax, because
-	something seems to be more IPv6-like in Ubuntu Jaunty.
-
-2009-05-07  Murray Cumming  <murrayc murrayc com>
-
-	Pass some sharedptr&s as const.
-
-	* glom/utility_widgets/flowtable_dnd.h: on_dnd_add_layout_item()
-	* glom/mode_data/flowtablewithfields.[h|cc]: on_dnd_add_layout_item(),
-	on_entry_edited(), on_entry_open_details_requested(),
-	on_dnd_add_layout_item(): Pass the sharedptr& as const.
-
-2009-05-07  Murray Cumming  <murrayc murrayc com>
-
-	Fixed minor compiler warnings and removed some virtuals.
-
-	* glom/mode_data/flowtablewithfields.h: Made methods non-virtual where
-	the virtual is unnecessary and misleading.
-
-	* glom/utility_widgets/adddel/eggcolumnchooser/: Removed.
-	* several: Fixed minor compiler warnings.
-
-2009-05-07  Armin Burgmeier  <armin arbur net>
-
-	* glom/glom.glade:
-	* glom/utility_widgets/dialog_image_progress.h:
-	* glom/utility_widgets/dialog_image_progress.cc:
-	* glom/utility_widgets/Makefile.am: Added a dialog which loads an
-	image and shows progress of the operation.
-
-	* glom/utility_widgets/imageglom.h:
-	* glom/utility_widgets/imageglom.cc: Use this dialog when the user
-	selects an image to load, to indicate progress for large images.
-
-2009-05-05  Armin Burgmeier  <armin arbur net>
-
-	* glom/libglom/sharedptr.h: Added operator!=.
-
-	* glom/mode_data/flowtablewithfields.h:
-	* glom/mode_data/flowtablewithfields.cc: Added set_other_field_value
-	which is the same as set_field_value except that it does not set the
-	value for widget that belongs to the passed layout item's widget
-	itself. This can be used if that very widget already contains the new
-	value to avoid setting it again. Especially when dealing with large
-	images this brings an essential speedup.
-
-	* glom/mode_data/box_data_details.cc (on_flowtable_field_edited): Use
-	set_other_field_value, so that we don't set the value for the field
-	which the user already changed again.
-
-	* glom/utility_widgets/imageglom.h:
-	* glom/utility_widgets/imageglom.cc: Store the original data of the
-	image file, and return it in get_value(), instead of creating a PNG
-	from the raw image data, to speed up loading a large image file.
-
-	* glom/utils_ui.cc (get_pixbuf_for_gda_value): When loading images
-	from the database, allow all image types, not just PNGs.
-
-	* glom/xsl_utils.cc: Include gtk/gtk.h to fix the build for me.
-
-2009-04-24  Murray Cumming  <murrayc murrayc com>
-
-	Don't network share new documents from (old) examples.
-
-	* glom/libglom/document/document.cc: load_after(): Only assume network-sharing
-	for older documents if it's not an example, so we don't have to resave all the
-	examples.
-
-2009-04-23  Murray Cumming  <murrayc murrayc com>
-
-	Fix loading of old self-hosted files, broken since defaulting to no sharing.
-
-	* glom/libglom/document/document.cc:
-	get_latest_known_document_format_version(): Increase the number because we
-	have added nodes/attributes.
-	load_after(): For older document formats, read network_sharing as on if it
-	is false (not mentioned).
-
-2009-04-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: on_document_load(): Avoid false unexpected error warning.
-
-2009-04-22  Michael Hasselmann  <michaelh openismus com>
-
-	Allow to disable navigation in the related record layout.
-
-	* glom/libglom/data_structure/layout/layoutitem_portal.[h|cc] ctor(),
-	[set|get]_navigation_relationship_specific(), [set|get]_navigation_type(),
-	set_navigation_type(): Replaced the flag for whether a specific navigation
-	relationship should be used with an enum type, since we now have an
-	additional state (no navigation relationship) in the Glom::LayoutItem_Portal
-	class. Additionally, this internal state no longer needs to be exported so
-	[set|get]_navigation_relationship_specific() can now be called without
-	supplying a boolean output parameter.
-	* glom/libglom/document/document.cc load_after_layout_group(),
-	save_before_layout_group(): Added load and save support for the
-	no-navigation-relationship option.
-	* glom/mode_data/box_data_portal.cc get_suitable_table_to_view_details():
-	Return an empty table name if the navigation relationship type was set to
-	none.
-	* glom/mode_data/dialog_layout_list_related.[h,cc] ctor(), update_ui(),
-	save_to_document(), glom/glom_developer.glade: Insert a third choice ("none")
-	for the navigation radio buttons.
-	* glom/mode_data/dialog_layout_calendar_related.cc update_ui(),
-	save_to_document(): Replaced calls to
-	LayoutItem_Portal::[set|get]_navigation_relationship_specific() that still
-	used a boolean output parameter.
-	Bug #574360.
-
-2009-04-17  Murray Cumming  <murrayc murrayc com>
-
-	Makes navigation work to alternate specified relationships.
-
-	* glom/mode_data/flowtablewithfields.cc: on_portal_user_requested_details():
-	Don't default to navigating to just the immediate related table. Instead,
-	always use the navigation options, by always calling
-	LayoutItem_Portal::get_suitable_record_to_view_details().
-	Bug #579172 (Michael Hasselmann)
-
-2009-04-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: add_standard_groups(): Give the developer group
-	SUPERUSER rights, fixing a problem in another patch I am working on.
-	I am surprised that this was not a problem before - maybe because the
-	user (instead of the group) always had superuser rights via the
-	command line database initialization.
-
-2009-04-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.[h|cc] init_menus_file(): Add a File/Share On Network
-	toggle menu item. Added update_network_shared_ui() to ensure that it
-	is checked when appropriate.
-	open_browsed_document(), on_document_load():
-	Call update_network_shared_ui().
-	* glom/frame_glom.[h|cc]: on_menu_file_toggle_share(): Handle the
-	new menu item, to change the configration and restart the server.
-
-	* glom/libglom/document/document.cc: Added set_network_shared(),
-	get_network_shared(). load_after(), save_before(): Save it in the
-	document. This is the default that will be used when opening a document.
-	It defaults to not shared.
-	* glom/glom_document.dtd: Document the new network_shared XML attribute.
-
-	* glom/libglom/connectionpool.[h|cc]: get_and_connect(): Only start avahi
-	publishing if we are shared on the network.
-	set_network_shared(): Added this private function to change the configuration.
-	initialize(), startup(): Added network_shared parameter.
-	cleanup(): Call invalidate_connection() to prevent use of a connection
-	to a stopped server.,
-	* glom/libglom/connectionpool_backends/backend.[h|cc]: initialize,
-	  startup, set_network_shared(): Same change as for ConnectionPool.
-	* glom/libglom/connectionpool_backends/postgres_self.[h|cc]:
-	initialize(): set_network_share(): Move config file writing to
-	set_network_share() and use different pg_hba.conf contents depending on
-	whether we are shared on the network.
-	startup(): Ensure that the configuration is correct.
-
-2009-04-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: get_and_connect(): Check that
-	m_backend is not null, to avoid a critical warning at startup.
-
-2009-04-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/python_embed/glom_python.[h|cc]:
-	Added glom_python_module_is_available() and
-	gda_python_module_is_available().
-	* glom/main.cc: Use them to do some extra runtime sanity checking,
-	warning the user if their install is broken.
-
-2009-04-09  Michael Hasselmann <michaelh openismus com>
-
-	Fix crash if "Connect to Server" is cancelled and then a document is opened.
-
-	* glom/libglom/connectionpool_backends/backend.h:
-	Introduced new error code FAILURE_NO_BACKEND which shall be used to
-	detect logical errors in the backend implementations.
-	* glom/libglom/connectionpool_backends/postgres_self.cc (connect):
-	Set error correctly if no self-hosted instance is active.
-	* glom/libglom/connectionpool.cc (connect, cleanup):
-	Added a g_return_val_if_fail to check whether there is a backend to
-	connect to. Also reset m_ready_to_connect flag to false during
-	cleanup, which stops Glom from behaving funnily if the user supplies
-	wrong credentials (see bug #577821):
-	- The user enters wrong credentials, gets a 'Connection failed' dialog
-	  the first time. Then, enters wrong credentials a second time, gets no
-	  dialog (but gets dialog for next try and so on).
-	- Glom would crash if the user tried to open another document, then decides
-	  to abort and only opens another document (much) later (which would
-	  look like a random crash then).
-	The ConnectionPool class could perhaps be made more robust concerning
-	that flag since it currently allows inconsistent states.
-
-2009-04-05  Philip Withnall  <philip tecnocode co uk>
-
-	* glom/libglom/data_structure/glomconversions.cc: Add
-	xgettext:no-c-format to a string used with strftime which gettext is
-	erroneously marking as c-format. (Closes: #578013)
-
-2009-04-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: connection_request_password_and_attempt():
-	When the password fails, just loop around the while again to ask again,
-	instead of showing a one-off extra dialog. That fixes the problem of being
-	asked twice when the first try failed.
-	Load the document outside of the while() instead of each time we ask for the
-	password.
-
-2009-04-02  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool_backends/postgres_self.cc
-	(discover_first_free_port): Fixed the logic in this function to allow
-	two different glom instances to self-host a database at the same time.
-
-2009-03-31  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_fields_for_table_from_database(): Use the libgda
-	metastore API (almost as nasty as the schema API) to get the primarykeyness,
-	because the schema API does not give us this, for no good reason that I can
-	see. Anyway, it works, allowing us to use pre-existing databases.
-
-2009-03-31  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.[h|cc]: Renamed to document.[h|cc]:
-	* *.[h|cc]: Adapted.
-
-2009-03-31  Murray Cumming  <murrayc murrayc com>
-
-	* Renamed Document_Glom to Document, and type_vec* to type_vec_* in all
-	lower case, to make the API more consistent.
-
-2009-03-31  Murray Cumming  <murrayc murrayc com>
-
-	* config.h.in: Remove definitions that are in
-	glom/libglom/libglom_config_h.in
-	* configure.ac: Depend on pygobject instead of pygtk and remove duplicate
-	dependencies in Glom and libglom.
-	* glom/libglom/document/document_glom.h: Remove SWIG directives because I
-	am now using a separate SWIG .i file.
-	* po/POTFILES.in: Updated.
-
-2009-03-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/Makefile.am:
-	* glom/libglom/init.[h|cc]: Added this file with libglom_init() and
-	libglom_deinit(), containing some code that was in main(). This allows
-	code other than Glom to use libglom.
-	* glom/main.cc: Call the new functions, replacing some code.
-	* glom/libglom/test_document.cc: Call the new functions.
-
-2009-03-30  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac: Remove the gtkmm dependency from libglom.
-
-	* glom/libglom/Makefile.am:
-	* glom/bakery/Makefile.am:
-	* glom/libglom/busy_cursor.[h|cc]: Moved this to glom/bakery/.
-
-	* glom/libglom/data_structure/glomconversions.[h|cc]:
-	Moved get_pixbuf_for_gda_value() to glom/utils_ui.[h|cc].
-
-	* glom/libglom/*.[h|cc]: Adapted, and removed any gtkmm or gdkmm headers.
-
-2009-03-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glade_utils.cc: Added missing file to fix the build.
-
-	* glom/Makefile.am:
-	* glom/libglom/Makefile.am:
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h: Moved some of these functions to new
-	glom/utils_ui.[h|cc] files to avoid having the UI stuff in libglom.
-	*.cc: Adapted.
-
-	* glom/libglom/connectionpool.[h|cc]:
-	* glom/libglom/connectionpool_backends/backend.[h|cc]:
-	* glom/libglom/connectionpool_backends/postgres.[h|cc]:
-	* glom/libglom/connectionpool_backends/postgres_self.[h|cc]:
-	initialize(): Return an enum instead of a bool, to report errors, instead of
-	showing a UI warning here.
-	Added set_avahi_publish_callbacks() to avoid showing that UI here.
-	* glom/frame_glom.[h|cc]: Adapt to the new API, showing UI here instead of
-	in libglom.
-
-	* glom/libglom/spawn_with_feedback.cc: Disconnect the progress timeout
-		handlers.
-
-	* glom/libglom/data_structure/layout/layoutitem_image.[h|cc]: Removed
-	get_image_as_pixbuf() to avoid a gtkmm dependency in libglom. Made m_image
-	public instead, to avoid performance problems with copying lots of binary
-	data via a get*() method.
-	* glom/libglom/document/document_glom.cc: Adapted.
-
-	* glom/libglom/data_structure/print_layout.[h|cc]: Use a string instead of a
-	Gtk::PrintLayout, using the Glib::KeyFile format, to avoid depending on gtkmm
-	in libglom.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.cc: Adapted.
-
-2009-03-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/bakery/app_withdoc.[h|cc]: Added on_document_close() virtual method
-	now that we can break this ABI.
-	* glom/application.[h|cc]: Override on_document_close().
-	* glom/libglom/document/document_glom.cc: Destructor: Don't shutdown the
-	database here. Do in App_Glom::on_document_close() instead.
-
-	* glom/libglom/Makefile.am:
-	* glom/libglom/spawn_with_feedback.[h|cc]: execute_command_line_and_wait(),
-	  execute_command_line_and_wait_until_second_command_returns_success():
-	  Take a SlotProgress callback instead of a parent window, and don't take
-	  a human-readable message string to show, allowing the caller to show UI if
-	  it wants, removing UI code from this part of libglom.
-	  Use a Glib::MainLoop to block instead of using the Gtk::Main in
-	  Gtk::Dialog::run().
-	* glom/libglom/connectionpool.[h|cc]: initialize(), startup, cleanup():
-	* glom/libglom/connectionpool_backends/backend.[h|cc]: initialize(),
-	  startup(), cleanup():
-	* glom/libglom/connectionpool_backends/postgres_self.cc: initialize(),
-	startup, cleanup(): Take a SlotProgress callback instead of a parent window,
-	allowing the caller to show UI if it wants, removing UI code from this part of
-	libglom.
-
-	* glom/Makefile.am:
-	* glom/libglom/dialog_progress_creating.[h|cc]: moved to
-	* glom/glom/glade_utils.[h|cc]: Moved get_and_show_pulse_dialog() here.
-
-	* glom/dialog_new_self_hosted_connection.[h|cc]:
-	* glom/frame_glom.[h|cc]:
-	connection_request_password_and_choose_new_database_name(),
-	connection_request_password_and_attempt(): Adapted.
-
-2009-03-27  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac, glom/libglom/*/Makefile.am: Do two separate
-	PKG_CONFIG_MODULE() checks for Glom and libglom to avoid unnecessary
-	dependencies in libglom.
-	* Moved libglom/glade_utils.h to glom/libglom/glade_utils.h.
-	* *.[h|cc]: Some incomplete improvement of includes, to use full paths, to
-  make search/replace refactoring easier.
-
-2009-03-26  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac: Depend on the latest goocanvasmm for the new API.
-	* glom/libglom/document/bakery/Makefile.am:
-	* glom/libglom/document/bakery/view/Makefile.am: Install the headers as in
-	the other directories.
-	* glom/libglom/document/document_glom.h: Tell SWIG to add using Glom because
-	it gets confused about the namespace.
-
-2009-03-26  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac:
-	* macros/macros.m4: Removed this.
-	* macros/dk-warn.m4: Added this, which is the updated version.
-	* glom/*/*.am
-	* glom/*/*.cc: Fixed some warnings.
-
-2009-03-26  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/canvas_table_movable.[h|cc]: get_xy(),
-	set_xy(): Use the new height property instead of faking it.
-
-2009-03-25  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/canvas_line_movable.cc: get_xy(),
-	set_xy(), get_width_height(), set_width_height():
-	* glom/utility_widgets/canvas/canvas_text_movable.cc
-	get_width_height, set_width_height(): Use the new properties instead
-	of our custom implementations.
-
-2009-03-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/main.cc: Stop the mainloop when the window is hidden, and then
-	delete it. I think this was done by AppInstanceManager before.
-
-2009-03-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/bakery/:
-	* glom/libglom/document/bakery/: Rename the files to make them lower
-	case just because the inconsistency has always annoyed me.
-	* glom/*.[h|cc]: Adapted.
-
-2009-03-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.h: Added a SWIG hint telling it how to
-	include this header.
-
-2009-03-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/bakery/Document.h:
-	* glom/libglom/document/bakery/Document_XML.h: Removed more unnecessary
-	virtuals.
-
-2009-03-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.[h|cc]: Remove add_ui_from_string() because it is
-	in App_WithDoc_Gtk too.
-	* glom/bakery/App_WithDoc_Gtk.h: Make init_menus_file_recentfiles()
-	non virtual because nothing overrides it.
-
-2009-03-24  Murray Cumming <murrayc murrayc com>
-
-	* glom/bakery/Makefile.am:
-	* glom/bakery/App_WithDoc.h:
-	* glom/bakery/App_Gtk.[h|cc]: Remove this, merging it into:
-	* glom/bakery/App_WithDoc_Gtk.[h|cc]: allowing us to remove some
-	awkward virtual inheritance.
-	* glom/bakery/Dialog_OfferSave.cc:
-	* glom/application.cc:
-	* glom/utility_widgets/adddel/adddel.cc: Adapted.
-
-2009-03-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/bakery/Makefile.am:
-	* glom/bakery/GtkDialogs.[h|cc]: Remove this, moving the code into
-	these functions that previously just called the same named functions
-	in GtkDialogs, for reasons that are no longer relevant:
-	* glom/bakery/App_WithDoc_Gtk.cc ui_warning(),
-	ui_file_select_open(), uri_is_writable(),
-	ui_file_select_save(), ui_offer_to_save_changes().
-
-2009-03-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.[h|cc]: Added a load() that just calls
-	the base class, just to make life easier for SWIG, so it can ignore the base
-	class for client-only API.
-
-2009-03-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.[h|cc]: new_instance(): Spawn a new process via a
-	a command line command.
-	* glom/bakery/App.[h|cc]: new_instance(): Take a uri parameter.
-	on_menu_file_new():
-	* glom/bakery/App_WithDoc.cc: open_document():
-	new_instance() is now expected to start a new process instead of
-	returning a new C++ instance.
-
-	This means that File/New and File/Open will start a new independent
-	process.
-
-2009-03-22  Murray Cumming  <murrayc murrayc com>
-
-	Reverted this change because each instance is now an independent
-	process, or soon will be when I have made some more changes:
-
-	* configure.ac: Depend on libunique-1.0
-	* glom/bakery/App_WithDoc_Gtk.[h|cc]: Added set_unique_app(), to make
-	the app handle UniqueApp messages, to start new instances or open files.
-	* glom/main.cc: Use set_unique_app() and send messages to the existing
-	instance instead of starting a new instance, if one is already running.
-
-2009-03-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/bakery/Makefile.am:
-	* glom/bakery/AppInstanceManager.[h|cc]: Removed this class.
-	* glom/application.cc:
-	* glom/bakery/App.cc:
-	* glom/bakery/App.h:
-	* glom/bakery/App_Gtk.cc:
-	* glom/bakery/App_Gtk.h:
-	* glom/bakery/App_WithDoc.cc:
-	* glom/bakery/App_WithDoc_Gtk.cc: Removed management of multiple
-	instances. Each Glom window is now isolated. That is necessary anyway
-	because we have been storing a global application pointer separately
-	anyway for a while now, which broke this.
-
-	This would need to use some single-instance DBus thing anyway to make
-	it work properly between processes (started from the Application menu.)
-	That would be nice. Then we could really check if a file is already
-	open, like gedit does.
-
-2009-03-21  Armin Burgmeier  <armin openismus com>
-
-	* autogen.sh: Don't run autoheader.
-
-	* configure.ac: Prevent execution of autoheader with
-	--enable-maintainer-mode. Copied from glibmm.
-
-	* glom/libglom/libglom_config.h.in: Added include guards.
-
-	* config.h.in: Added this file which was previously generated by
-	autoheader. Removed the prefixed definitions from it but include
-	glom/libglom/libglom_config.h instead. This prevents warnings about
-	redefinitions when both config.h and libglom_config.h are included in
-	a translation unit.
-
-2009-03-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool_backends/postgres.cc:
-	check_postgres_gda_client_is_available_with_warning(): Avoid a
-	warning when libgda sometimes gives us a non-string GValue from
-	gda_config_list_providers(), which is a silly API.
-
-2009-03-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/bakery/App_WithDoc_Gtk.cc: Remove checks for GTK+ 2.10. We really
-	have it now.
-
-2009-03-20  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac: Depend on libunique-1.0
-	* glom/bakery/App_WithDoc_Gtk.[h|cc]: Added set_unique_app(), to make
-	the app handle UniqueApp messages, to start new instances or open files.
-	* glom/main.cc: Use set_unique_app() and send messages to the existing
-	instance instead of starting a new instance, if one is already running.
-
-2009-03-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/bakery/*.[h|cc]: Fixed compiler warnings. Used GLOM defines
-	instead of BAKERY defines.
-	* po/POTFILES.in: Added the bakery files.
-
-2009-03-18  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac: Correct the libgdamm and libgda versions needed.
-
-2009-03-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/bakery/App_Gtk.cc:
-	* glom/bakery/App_WithDoc.cc:
-	* glom/bakery/App_WithDoc_Gtk.cc:
-	* glom/bakery/Dialog_OfferSave.cc:
-	* glom/bakery/GtkDialogs.cc:
-	* glom/libglom/connectionpool_backends/postgres_self.cc:
-	* glom/libglom/data_structure/iso_codes.cc:
-	* glom/libglom/document/bakery/Document.cc:
-	* glom/libglom/document/bakery/view/View.h:
-	* glom/main.cc:
-	* glom/translation/window_translations.cc: Include config.h using <>
-	instead of "", to be consistent with elsewhere.
-
-2009-03-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool_backends/postgres.cc:
-	check_postgres_gda_client_is_available_with_warning(): Actually check.
-	This was commented out because the libgda-4.0 API for it is unpleasant.
-
-2009-03-17  Murray Cumming  <murrayc murrayc com
-
-	* glom/glom_developer.glade: Remove superfluous empty TextBuffer objects,
-	to avoid warnigns, but we still have problems with Adjustments.
-	See GtkBuilder bug #575714.
-
-2009-03-17  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac: Remove the libglademm dependency.
-	* glom/glom.glade:
-	* glom/glom_developer.glade: Resaved as GtkBuilder format in glade-3.
-	* glom/Makefile.am:
-	* glom/variablesmap.[h|cc]: Copied this from libglademm and adapted it to
-	Gtk::Builder.
-	* glom/*.[h|cc]: Use Gtk::Builder instead of Gnome::Glade::Xml. The changes
-	are mostly just search/replace.
-
-2009-03-17  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac: Remove bakery dependency.
-	* glom/Makefile.am:
-	* glom/bakery/: Added copies of the Bakery/App files.
-	* glom/libglom/document/bakery/: Added copies of the Bakery Document
-	and View files.
-	This allows us to change the Bakery ABI when we need to. We already
-	do unusually hacky things with Bakery so this is reasonable.
-
-2009-03-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/combo_textglade.[h|cc]: Remove the reimplementation
-	of Gtk::ComboBoxText now that we can use gtkmm 2.14.
-	* glom/frame_glom.cc:
-	* glom/libglom/data_structure/glomconversions.cc:
-	* glom/mode_design/dialog_add_related_table.cc:
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	* glom/mode_design/script_library/dialog_script_library.cc:
-	* glom/mode_design/users/dialog_users_list.cc: Adapted.
-	* glom/libglom/document/document_glom.cc: save_before: Remove another
-	gtkmm 2.10 workaround.
-
-2009-03-17  Murray Cumming  <murrayc murrayc com>
-
-	* configure.ac: Depend on gtkmm 2.14 rather than gtkmm 2.10.
-
-	* glom/Makefile.am:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/calendar/: Remove copy of Gtk::Calendar.
-	* glom/mode_data/box_data_calendar_related.h: Adapted.
-
-	* glom/application.cc:: init_toolbars(), add_ui_from_string():
-	* glom/dialog_existing_or_new.cc: constructor, get_uri(),
-	existing_icon_data_func():
-	* glom/dialog_existing_or_new.h
-	* glom/layout_item_dialogs/box_formatting.cc: get_formatting():
-	* glom/libglom/data_structure/print_layout.cc: Constructor, operator=():
-
-	* glom/mode_design/print_layouts/canvas_print_layout.cc: set_print_layout():
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	get_icon_for_toolbar_item(), on_canvas_drag_drop(), on_canvas_drag_motion():
-	* glom/xsl_utils.cc: transform_and_open():
-	Remove workarounds for gtkmm 2.10 now that we can depend on gtkmm 2.14.
-	This is not really necessary but it's nice to clean up the code.
-
-This is svn trunk, for Glom 1.11/12. See also the glom-1-10 branch.
-
-1.10.0:
-
-2009-03-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/calendar/glomcalendar.[h|cc]:
-	* glom/utility_widgets/calendar/glomgtkcalendar.[h|c]: Check for GTK+ 2.14,
-	not GTK+ 2.16, because the GtkCalendar details_func API is in 2.14.
-	Correct a typedef to fix the build in that case.
-
-2009-03-16  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/gst-package.c: Converted a C++ comment to a C comment,
-	to avoid a warning.
-
-	* glom/main.cc (main): Fixed the build on Linux, which was broken
-	since my last commit.
-
-2009-03-13  Armin Burgmeier  <armin openismus com>
-
-	* glom/dialog_existing_or_new.cc:
-	* libglom/connectionpool_backends/postgres_self.cc:
-	* libglom/glade_utils.h:
-	* glom/main.cc:
-	* glom/mode_design/print_layouts/print_layout_toolbar_button.cc:
-	* glom/utility_widgets/layouttoolbar.cc:
-	* glom/utility_widgets/layouttoolbarbutton.cc: Replaced
-	g_win32_get_package_installation_subdirectory() by
-	g_win32_get_package_installation_directory_of_module() since the
-	former is deprecated. Bug #575021.
-
-2009-03-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/box_db_table_definition.
-	field_has_null_values(): Do not warn about a false failure.
-
-2009-03-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: connect(): Update the meta store for
-	just the data types and the table names, instead of everything. This is
-	slightly faster. This needs libgdamm from svn.
-	More about the libgda meta store speed here:
-	http://bugzilla.gnome.org/show_bug.cgi?id=575235
-
-2009-03-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/fieldtypes.cc: Avoid an extra
-	update_meta_store() when exceptions are disabled.
-	* glom/navigation/box_tables.cc: fill_table_row(): Avoid a crash when
-	the TableInfo is null.
-
-2009-03-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool_backends/postgres.cc: Fix the build when
-	GLOM_CONNECTION_DEBUG is defined.
-
-2009-03-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/Makefile.am: Do not install some headers that are for
-	API that I do not really want other people to use.
-
-2009-03-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/adddel/eggcolumnchooser/: Copy a newer version from
-	libegg, which already fixed the use of deprecated GTK+ macros.
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h: child_type_vfunc(): Use GType instead
-	of deprecated GtkType.
-	This mostly fixes bug #575021 (André Klapper).
-
-2009-03-12  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Rename to configure.ac, because configure.in is
-	deprecated by recent autotools.
-
-2009-03-12  Armin Burgmeier  <armin openismus com>
-
-	* configure.in: Added config.h to AC_CONFIG_FILES, so that we create
-	two config files: config.h with all definitions, and libglom_config.h
-	which contains only definitions prefixed with GLOM_ to be installed.
-	This means header files cannot use non-prefixed definitions.
-
-	* glom/libglom/libglom_config.h.in: New file containing the
-	definitions to be installed.
-
-	* glom/libglom/connectionpool_backends/postgres_self.cc:
-	* glom/libglom/data_structure/iso_codes.cc:
-	* glom/translation/window_translations.cc:
-	* glom/utility_widgets/calendar/glomgtkcalendar.h:
-	* glom/utility_widgets/calendar/glomgtkcalendar.c:
-	* glom/application.cc:
-	* glom/main.cc: Adapt the code by including config.h instead of
-	libglom_config.h.
-
-1.9.4:
-
-2009-03-10  Armin Burgmeier  <armin openismus com>
-
-	* win32/build_installer: Only install the postgres and sqlite libgda
-	provider, and not all the others. This prevents libgda from trying to
-	load them, and fail doing so with a user-visible message about some
-	DLLs not being found.
-
-2009-03-10  Armin Burgmeier  <armin openismus com>
-
-	* glom/xsl_utils.cc: Made reports work on Windows, by using
-	Glib::get_tmp_dir() instead of "/tmp" and ShellExecute instead of
-	g_app_info_launch_default_for_uri(), for which file:// URIs don't seem
-	to be supported on Windows.
-
-	* win32/build_installer: Don't ship libdb47.dll anymore, as this is no
-	longer required with libgda 3.99.13.
-
-2009-03-09  Claude Paroz  <claude 2xlibre net>
-
-	* glom/mode_data/dialog_layout_details.cc: Add a translator comment.
-	Bug #574672.
-
-2009-03-09  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Require the latest (from svn, not yet in a tarball) version
-	of libgda, needed by the images in the example files.
-
-2009-03-09  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool_backends/postgres_self.cc (startup): Use
-	"postgres" executable instead of "postmaster".
-
-	* glom/libglom/connectionpool.cc: Fixed the Windows build.
-
-	* glom/main.cc: Fixed locale search path.
-
-	* win32/querymodules.bat: Removed, this file is no longer required.
-
-	* win32/build-installer:
-	* win32/glom.iss.in:
-	* win32/Makefile.am:
-	* win32/README: Update for current version.
-
-2009-03-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.h: HostingMode: Declare all enum
-	values regardless of what is enabled, to avoid ABI confusion and to maybe
-	allow us to say that some are not supported at runtime.
-
-2009-03-08  Stéphane Raimbault  <stephane raimbault gmail com>
-
-	* glom/libglom/data_structure/glomconversions.cc:
- 	sanity_check_date_text_representation_uses_4_digit_years(): Fix a typo
- 	in the word representation of the error message.
-
-2009-03-08  Stéphane Raimbault  <stephane raimbault gmail com>
-
-	* configure.in: Changes made to reflect new po linguas setup including
-	removing ALL_LINGUAS (now in new file LINGUAS).
-	* po/LINGUAS: new file.
-	Fixes #569721
-
-2009-03-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc: load_after(): Added an ifdef to
-    fix the client-only sqlite build.
-
-2009-03-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc:
-    connection_request_password_and_choose_new_database_name(): Added an ifdef
-    to fix the client-only postgres build.
-
-2009-03-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_portal.cc: get_suitable_record_to_view_details():
-	Use the correct primary key of the related table. This fixes navigation
-	on the Small Business Example, on the invoice lines, which goes to the
-	product record.
-
-2009-03-06  Murray Cumming  <murrayc murrayc com>
-
-	* examples/example_lesson_planner.glom:
-	* examples/example_project_manager.glom:
-	* examples/example_smallbusiness.glom: Resaved these, because libgda
-	corrected the string format for binary data (images). libgda also fixed
-	the crash when parsing that string, as used in from_file_format().
-
-2009-03-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/field.cc: from_file_format(): Add some
-	checks.
-
-2009-03-04  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Generate libglom/libglom_config.h instead of config.h,
-	so we can install it and use it in our public headers.
-	* glom/libglom/Makefile.am: Install libglom_config.h.
-	* glom/libglom/glom-1.0.pc.in: Correct the shared library name.
-	* *.[h|cc]: Include libglom/libglom_config.h instead of config.h.
-
-2009-03-04  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Ran autoupdate on this so it does things as per what is
-	currently correct.
-
-2009-03-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/Makefile.am: Link to the correct library name for
-	test_document.cc
-	* glom/libglom/test_document.cc: List the tables in the document.
-
-2009-03-03  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/document/document_glom.cc (load_after): Fixed another
-	misplaced else which prevented postgresql files from being opened
-	when support for both postgresql and sqlite was enabled.
-
-	* glom/libglom/document/document_glom.h: Changed DEFAULT_HOSTED to
-	HOSTING_MODE_POSTGRES_SELF if postgresql is enabled.
-
-	* glom/application.cc (constructor): Use DEFAULT_HOSTED to initialize
-	m_ui_save_extra_newdb_hosting_mode, so that we don't need an #ifdef.
-
-2009-03-03  Murray Cumming  <murrayc murrayc com>
-
-	* *.[h|cc]: Include all libglom headers via libglom/ instead of
-	glom/libglom so it works from outside, with the path to the installed
-	headers, from pkg-config.
-	* All Makefile.am files: Add -I top_srcdir@/glom to AM_CPPFLAGS.
-	The repetition is awful. We should avoid that somehow.
-
-2009-03-03  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* glom/libglom/Makefile.am:
-	* glom/libglom/glom-1.0.pc.in: Added and installed pkg-config file.
-
-	* glom/Makefile.am:
-	* glom/libglom/data_structure/Makefile.am:
-	* glom/libglom/data_structure/layout/Makefile.am:
-	* glom/libglom/data_structure/layout/report_parts/Makefile.am:
-	* glom/libglom/document/Makefile.am:
-	* glom/python_embed/python_module/Makefile.am:
-	* regression_tests/Makefile.am: Change libglom to libglom-1.0 so we can
-	use proper API versioning. Install the headers.
-
-	* glom/libglom/document/document_glom.cc: Use std::auto_ptr<> to
-	avoid instantiating Bakery::BusyCursor if no parent window was set,
-	to avoid the need to initialize gtkmm/GTK+.
-
-2009-03-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.h: Add some SWIG ifdefs to
-	improve the Java wrapping output with swig.
-
-2009-03-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_existing_or_new.cc: Parser::on_start_element():
-	Call xmlStopParser() to avoid unnecessary extra parsing, fixing a TODO.
-
-2009-03-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/Makefile.am:
-	* glom/libglom/document/document_glom.[h|cc]: Renamed the *_HOSTED enum values to
-	use a prefix. Moved the View tyepdefs into a view.h file.
-
-	* glom/application.cc:
-	* glom/base_db.h:
-	* glom/dialog_connection.cc:
-	* glom/frame_glom.cc:
-	* glom/layout_item_dialogs/dialog_field_layout.h:
-	* glom/mode_design/dialog_design.h:
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	* glom/translation/dialog_identify_original.h:
-	* glom/translation/window_translations.[h|cc]:
-	* glom/utility_widgets/datawidget.h:
-	* glom/utility_widgets/filechooserdialog_saveextras.cc: Adapted.
-
-2009-03-02  Armin Burgmeier  <armin openismus com>
-
-	* glom/frame_glom.cc:
-	(connection_request_password_and_choose_new_database_name): Call
-	connectionpool's startup() also if SQLite is disabled. Bug #573799.
-
-2009-03-02  Murray Cumming  <murrayc murrayc com>
-
-	* Many .h files: Changed many protected to private to make the API
-	clearer. This is particularly important for libglom, as I start
-	thinking of wrapping the API for Java/Web.
-
-2009-03-02  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Added an --enable-postgresql option, so we can have
-	embedded builds that only use SQLite. Disable SQLite by default.
-
-	* glom/utility_widgets/filechooserdialog_saveextras.[h|cc]:
-	Don't mention the backend names if only SQLite is disabled, to avoid
-	confronting people with unnecessary technicalese.
-
-	* glom/application.cc:
-	* glom/dialog_connection.cc:
-	* glom/frame_glom.cc:
-	* glom/libglom/connectionpool_backends/Makefile.am:
-	* glom/libglom/connectionpool_backends/postgres.h:
-	* glom/libglom/connectionpool_backends/postgres_central.[h|cc]:
-	* glom/libglom/connectionpool_backends/sqlite.h:
-	* glom/libglom/data_structure/glomconversions.h:
-	* glom/libglom/document/document_glom.[h|cc]:
-	* glom/libglom/gst-package.c:
-	* glom/libglom/test_connectionpool.cc:
-	* glom/main.cc:
-	Added ifdefs to allow builds with -enable-postgresql=no.
-
-	* glom/dialog_import_csv.cc: Replace gettext() with _().
-
-1.9.3:
-
-2009-02-27  Armin Burgmeier  <armin openismus com>
-
-	* glom/frame_glom.cc:
-	(connection_request_password_and_choose_new_database_name): When
-	creating a new self-hosting postgres database, then store the port it
-	uses within the document, so that remote connections (using browse
-	network) can connect to the newly created database. Bug #572982.
-
-2009-02-27  Armin Burgmeier  <armin openismus com>
-
-	* glom/mode_design/fields/box_db_table_definition.cc (on_adddel_add):
-	Add newly added field into document before refreshing m_vecFields, so
-	that Base_DB::get_fields_for_table() has an up-to-date document. This
-	fixes changing newly added fields with SQLite.
-
-	* configure.in: Fixed a typo, which caused libgda-sqlite-4.0 not being
-	required even when SQLite support was enabled.
-
-1.9.2:
-
-2009-02-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/flowtable.cc: on_size_allocate(): Change an
-	accidental += to the = that it should be, to stop columns getting
-	increasingly large amounts of extra width when there are >2 columns.
-	Bug #539369 (maximiliano)
-
-2009-02-24  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool_backends/postgres_central.cc (set_host):
-	Only reset m_port to zero if m_try_other_ports is true. Otherwise, a
-	specific port has already been set by the user.
-	(connect): Compare m_port to 0, not port, which is a Glib::ustring.
-	This fixes a warning about g_utf8_collate's argument being NULL, and
-	fixes connection to a remote postgres server advertized via networked
-	glom.
-
-2009-02-24  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool_backends/backend.h:
-	* glom/libglom/connectionpool_backends/backend.cc: Moved the
-	ConnectionPool backend base class into a new file in the
-	connectionpool_backends subdirectory.
-
-	* glom/libglom/connectionpool_backends/Makefile.am: Add it to the
-	build.
-
-	* glom/libglom/connectionpool_backends/postgres.h:
-	* glom/libglom/connectionpool_backends/sqlite.h:
-	* glom/libglom/connectionpool_backends/sqlite.cc:
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/test_connectionpool.cc:
-	* glom/dialog_connection.cc:
-	* glom/frame_glom.cc: Adapt.
-
-2009-02-24  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool.cc: Added a get_string_find_operator()
-	virtual method to ConnectionPoolBackend, and a similar method to
-	ConnectionPool which simply queries its backend.
-
-	* glom/libglom/connectionpool_backends/sqlite.h:
-	* glom/libglom/connectionpool_backends/postgres.h: Implement the new
-	virtual method appropriately.
-
-	* glom/libglom/data_structure/field.cc (sql_find_operator): Use the
-	get_string_find_operator() method of the connectionpool backend in
-	case the field's type is TYPE_TEXT. This fixes Find Mode with SQLite.
-	Bug #570401. I wonder whether libgda can generate a case-insensitive
-	string comparison, which would make this easier for us.
-
-2009-02-24  Armin Burgmeier  <armin openismus com>
-
-	* configure.in: Added an --enable-sqlite configure option, which is
-	enabled by default.
-
-	* glom/libglom/connectionpool_backends/sqlite.h: #error if this file
-	is included with SQLite support disabled. Mostly meant as a debugging
-	aid.
-
-	* glom/libglom/connectionpool_backends/Makefile.am: Don't build
-	sqlite.cc in case SQLite support is disabled.
-
-	* glom/libglom/document/document_glom.h:
-	* glom/libglom/document/document_glom.cc: Don't declare SQLITE_HOSTED
-	hosting mode if SQLite support is disabled, and refuse to open files
-	with unknown hosting mode instead of falling back to postgres central.
-
-	* glom/utility_widgets/filechooserdialog_saveextras.h:
-	* glom/utility_widgets/filechooserdialog_saveextras.cc: Don't show the
-	option to create a SQLite hosted file in the GUI if SQLite support is
-	disabled.
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: Removed a
-	superfluous <libglom/connectionpool_backends/sqlite.h> include.
-
-	* glom/frame_glom.cc:
-	* glom/application.cc: #ifdef-out code to create a SQLite
-	connectionpool backend if SQLite support is disabled, as well as a few
-	related checks.
-
-2009-02-24  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool_backends/sqlite.cc: Keep non-NULL
-	constraint of columns when recreating table.
-
-2009-02-23  David King  <davidk openismus com>
-
- 	* glom/frame_glom.cc: on_menu_file_import(): Add CSV mime-type filter
- 	to import dialog. Bug #572702
-
-2009-02-23  Armin Burgmeier  <armin openismus com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc
-	(construct_specified_columns): Clear m_refListStore if in case no
-	column types are set. This allows dropping the reference to the GDA
-	DataModel by setting an empty table name on the AddDel.
-
-	* glom/frame_glom.h:
-	* glom/frame_glom.cc: Added show_table_allow_empty() which allows the
-	table name to be empty, in which case no table is shown, and
-	show_no_table() as a shortcut for this case. Show an empty table
-	before opening the fields editing dialog, so that no references to the
-	database are used anymore. SQLite requires this to be able to drop the
-	old table when changing fields.
-	Bug #572847
-
-2009-02-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade, glom_developer.glade:
-	* glom/base_db.cc: offer_notebook(): Move the dialog_notebook window
-	into glom_developer.glade because it is only used in developer mode.
-
-2009-02-22  Murray Cumming  <murrayc murrayc com>
-
-	* Various minor fixes to avoid minor compiler warnings.
-
-2009-02-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/glomconversions.cc:
-	get_text_for_gda_value(): Avoid a warning about no return value.
-
-2009-02-22  Armin Burgmeier  <armin openismus com>
-
-	* glom/mode_data/flowtablewithfields.cc (add_field_at_position): Don't
-	leak the Gtk::EventBox.
-
-2009-02-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade: Resaved with glade-3. Recent versions of
-	glade-3 are much better at converting from glade-2. I just had to
-	hand-add the GtkSourceView widgets back.
-	Bug #567470
-
-2009-02-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/base_db.[h|cc]:
-	* glom/dialog_connection.cc:
-	* glom/frame_glom.cc:
-	* glom/libglom/connectionpool.[h|cc]:
-	* glom/libglom/connectionpool_backends/postgres_central.cc
-	* glom/navigation/box_tables.[h|cc]:
-	Added ifdefs to fix the build with --enable-client-only.
-
-2009-02-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_privs[h|cc]: get_current_privs(): Cache the priviliges
-	for each table for 30 seconds, to avoid unnecessary repetitive groups
-	queries to the database. This seems to avoid about 5 out of 6
-	requests, so it should be faster.
-	Bug #567473
-
-2009-02-20  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* glom/libglom/connectionpool_backends/postgres_self.cc: Use the
-	postgres executable name instead of the deprecated postmaster
-	executable. Everything probably has that now.
-	Bug # 525108
-
-2009-02-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utlity_widgets/datawidget.cc: Constructor: Show the Open button,
-	(but not Find) for related fields that are primary keys, so we can
-	navigate to that record.
-	* glom/mode_data/box_data_details.cc:
-	on_flowtable_field_open_details_requested(): Navigate to the
-	appropriate record in the appropriate table for this type of Open
-	button.
-	Bug #571975
-
-	* glom/base_db.cc: fill_full_field_details(): Avoid crashes.
-
-2009-02-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.[h|cc]:
-	get_field_used_in_relationship_to_one(): Make this take a
-	LayoutItem_Field instead of just a field name.
-	* glom/utlity_widgets/datawidget.cc: Constructor: adapt, so we add
-	Open and Find buttons for related fields too when appropriate.
-	* glom/base_db.cc: Adapt to API change.
-
-2009-02-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/field.cc: from_file_format(): Adjusted
-	for a libgda API change in gda_string_to_binary().
-
-2009-02-18  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/data_structure/field.cc (set_glom_type): Reset the
-	default value if the Glom type is changed. The old default value
-	probably doesn't make sense for the new type. This fixes a warning
-	when changing a field's type from text to numerical.
-	(set_default_value): Verify that the new default value is compatible
-	with the field's glom type.
-	(set_field_info): Verify that the default value of the new field info
-	is compatible with the field's glom type.
-
-	* glom/mode_design/fields/box_db_table_definition.cc
-	(get_field_definition): When changing the field info's GType, make
-	sure its default value matches the new GType, or reset it if not.
-
-	* glom/libglom/document/document_glom.cc (load_after): Set a field's
-	default value after having set the glom type, so that the checks
-	introduced above don't fail.
-
-2009-02-18  Murray Cumming   <murrayc murrayc com>
-
-	* glom/libglom/data_structure/field.[h|cc]: sql(value, format):
-	Replace this with sql(value, connection). Use
-	Gda::DataHolder::get_sql_from_value(), using the connection to get the
-	DataHolder. Remove the nasty Postgres escaping code, which is now
-	unnecessary. There is now no code in Glom to do escaping or unescaping
-	- we use libgda functions instead.
-	sql(value): Use the active connection.
-	* glom/libglom/connectionpool_backends/postgres.cc: change_columns():
-	* glom/libglom/connectionpool_backends/sqlite.cc: recreate_table():
-	Adapted, though these can probably just call sql(value), using the
-	active connection.
-
-	* glom/base_db.[h|cc]: get_connection(): Make this static because it
-	can be.
-
-2009-02-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/field.[h|cc]: Added static versions of
- 	from_file_format() and to_file_format(), taking the field type, for use
-	in document, though we can probably avoid that.
-	* glom/libglom/data_structure/glomconversions.[h|cc]:
-	* glom/libglom/document/document_glom.[h|cc]: Remove support for the
-	deprecated one-big-string example_rows format. Store the example rows as
-	a vector of vector of Values, instead of strings. This avoids extra
-	string parsing, unescaping, etc.
-	* glom/glom_document.dtd: Documented the change.
-	* glom/frame_glom.[h|cc]: Added export_data_to_vector().
-	* glom/application.cc: on_menu_file_save_as_example(): Use the vector
-	instead of a string.
-	* glom/base_db.cc: insert_example_data(): Handle the vector instead of
-	doing nasty string parsing.
-
-	* examples/example_*.glom: Resaved in the new format.
-
-2009-02-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/glomconversions.cc:
-	get_text_for_gda_value(), parse_value(): Use std::setprecision() to
-	avoid showing the awkward scientific e notation, raising the limit
-	from 7 digits to 15. We don't know how to avoid it always.
-	Noticed by Arq. Maximiliano Meilán.
-
-2009-02-16  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool_backends/sqlite.cc: Fixed various
-	problems with field type changes. Before, often some or all of the
-	records have been erased after certain changes (only from the view,
-	not from the database).
-
-2009-02-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/field.[h|cc]: Renamed from_sql() to
-	from_file_format(), without the sql_format parameter, to make it
-	clearer. Added to_file_format(), which currently just calls sql()
-	with the postgres format.
-	* glom/data_structure/glomconversions.cc: Removed unused
-	unescape_binary_data_sqlite().
-	* glom/base_db.cc: insert_example_data():
-	* glom/dialog_import_csv.cc: field_data_func():
-	* glom/dialog_import_csv_progress.cc: on_idle_import(): Adapt.
-	* glom/frame_glom.cc: export_data_to_string(): Use to_file_format()
-	instead of sql() to make it clearer.
-
-1.9.1:
-
-2009-02-15  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/data_structure/field.cc (get_gda_type_name): Use the
-	GType from m_field_info instead of converting the glom type to a gda
-	type, to take fallback types into account, as used by SQLite for
-	numeric values.
-	(get_holder): Use the passed value's type to initialize the holder
-	type. For binary values, there can be a mismatch between the value
-	type and the field type with SQLite. This is not optimal, but it
-	works for now.
-
-2009-02-15  Armin Burgmeier  <armin openismus com>
-
-	* glom/mode_data/box_data_details.cc (on_flowtable_field_edited):
-	Revert the changed value if set_field_value_in_database() throws a
-	glib exception.
-
-2009-02-15  Armin Burgmeier  <armin openismus com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc (user_changed): Revert
-	the changed value if set_field_value_in_database() throws an
-	exception.
-
-2009-02-15  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool_backends/sqlite.cc: Convert existing
-	values explicitely via the date() and time() SQLite functions when
-	converting existing values to date or time. This fixes all rows being
-	erased when changing a column to date or time.
-
-2009-02-12  Armin Burgmeier  <armin openismus com>
-
-	* glom/mode_design/fields/box_db_table_definition.cc
-	(check_field_change): Check field's glom type directly instead of
-	guessing the glom type from its GType, which might produce a wrong
-	result with some of the fallback types used with SQLite.
-
-	* glom/libglom/connectionpool_backends/sqlite.cc (recreate_table):
-	Don't crash if transaction rollback fails without the error variable
-	being set.
-
-2009-02-10  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool_backends/sqlite.h:
-	* glom/libglom/connectionpool_backends/sqlite.cc: Support dropping and
-	changing columns, though changing doesn't yet seem to work reliably
-	yet.
-
-2009-02-10  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool_backends/sqlite.cc (recreate_table):
-	Use get_value_type() to find out a value's not type, not get_g_type()
-	which returns the GType the value stores if it's value type is GType.
-
-	* glom/mode_design/fields/box_db_table_definition.cc (on_adddel_add):
-	Don't call on_adddel_changed() just to store the field into the
-	document, since on_adddel_changed() does a lot of unnecessary extra
-	stuff such as calling change_columns() on the backend, which forces a
-	whole table recreation with SQLite.
-
-2009-02-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: insert_example_data(): Fixed my typo to fix the
-	build. Sorry.
-
-2009-02-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/field.[h|cc]: get_gda_type():
-	Renamed to get_gda_type_name(). Removed get_gda_g_type() because
-	we already have a static get_g_type_for_glom_type(). This gets rids of
-	the nasty switch block.
-	* glom/base_db.cc: insert_example_data(), get_lookup_value(),
-	  get_primary_key_is_in_foundset(): Adapted.
-
-2009-02-09  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool.cc: Added set_server_operation_value(),
-	create_server_operation() and perform_server_operation() convenience
-	methods to connectionpool backend base class.
-
-	* glom/libglom/connectionpool_backends/sqlite.h:
-	* glom libglom/connectionpool_backends/sqlite.cc: Implemented table
-	recreation, required for changing or dropping columns, or adding
-	primary key columns. The glom type of newly added columns doesn't yet
-	seem to be recognized correctly, though.
-
-2009-02-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.[h|cc]:
-	constuctor/create(): Added a bool find_mode parameter and member
-	variable.
-	refresh_from_database(): Create a DataModelArray for find mode,
-	with the appropriate column types.
-	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]:
-	Remove the awkward ListStore alternative model for find mode that I
-	recently introduced,
-	construct_specified_columns(): Instead just specify find_mode=true
-	when creating the tree model.
-
-	* glom/mode_data/box_data_list.cc: Simplify this code again
-	accordingly.
-
-	* glom/utility_widgets/db_adddel/Makefile.am:
-	* glom/utility_widgets/db_adddel/treemodel_with_addrow.[h|cc]:
-	* glom/utility_widgets/db_adddel/liststore_with_addrow.[h|cc]:
-	* regression_tests/Makefile.am:
-	* regression_tests/test_treemodel_dynamic_cast.cc:
-	Removed these because they are no longer used.
-
-2009-02-08  Johannes Schmid  <jschmid openismus com>
-
-	* glom/libglom/data_structure/Makefile.am:
-	* glom/libglom/data_structure/parameternamegenerator.cc:
-	* glom/libglom/data_structure/parameternamegenerator.h:
-	New class to generate simple unique holder names
-
-	* glom/base_db.cc (insert_example_data):
-	Use the new ParameterNameGenerator class
-
-2009-02-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_field_value_is_unique(): Use the
-	Field::get_holder(value) method overload instead of get_holder(),
-	avoiding copying the Field and using Field::get_data().
-	* glom/libglom/data_structure/field.[h|cc]:
-	Removed the get_holder(name) method overload because it is now not
-	used.
-	Removed get/set_data() and the member variable because they are now
-	not used.
-
-2009-02-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_table_names_from_database(): Comment out the
-	checks for internal tables, because that is now fixed in libgda.
-	* glom/mode_data/box_data.[h|cc]:
-	* glom/base_db_table_data.[h|cc]: Move refresh_related_fields()
-	(which is virtual) and get_related_fields() down the hierarchy so that
-	the override is also used by DbAddDel, so related fields are updated
-	in the view on list views and related records.
-	This really fixes bug #569722 (Johannes Schmid)
-
-2009-02-05  Armin Burgmeier  <armin openismus com>
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: Added a
-	clarifying comment on why we use a DataAccessWrapper.
-
-2009-02-04  Armin Burgmeier  <armin openismus com>
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc
-	(DbTreeModelRow::fill_values_if_necessary): Use a
-	Gnome::Gda::DataModelWrapper to wrap the resulting cursor-based data
-	model. This avoids a special-case for SQLite. Requires libgda trunk.
-
-2009-02-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_document.dtd: Mention the new self_hosted <connection>
-	attribute.
-
-2009-02-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_table_names_from_database(): Filter out some
-	extra internal table names which may be created/reported by newer
-	versions of libgda.
-
-2009-02-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db_table_data.[h|cc]: Added get_row_selected() virtual function,
-	used in record_new() instead of an always-null TreeModel::iterator.
-	This lets lookups, default values, and calculated values be seen when
-	adding new list records or related records.
-	* glom/mode_data/box_data_list.[h|cc]:
-	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]:
-	Added get_row_selected() overrides.
-	This should fix bug #569722 (Johannes Schmid)
-
-2009-02-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: query_execute_select(), query_execute():
-	When using --debug_sql, use Statement::to_sql() to show the actual
-	SQL with actual values, though this does not seem to work for
-	non-SELECT queries.
-	* glom/mode_data/box_data.cc: refresh_related_fields(): Some extra
-	error checking.
-
-2009-02-02  Murray Cumming  <murrayc murrayc com>>
-
-	* glom/base_db.cc: :set_field_value_in_database(): Correct a
-	copy/paste typo that was probably introduced when switching to using
-	parameters, so we now actually specify the primary key, so we really
-	change the data in the database.
-
-2009-01-31  Johannes Schmid  <jschmid openismus com>
-
-	* glom/application.cc (on_document_load()):
-	Reinit cancelled state and some more cleanups.
-	Fixes #569721 â?? Glom behaves strange when you cancel the new dialog
-
-2009-01-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: Make the labels FILL and EXPAND so they really
-	align left instead of centering. This broke when I resaved with a
-	newer glade-2.
-
-2009-01-30  Murray Cumming  <murrayc murrayc com>
-
-	Added some TODO comments where we would like to use SQL parameters
-	instead of Field::sql(), if we can figure out how to do that for
-	fragments of SQL, or how to refactor the code to parse the whole
-	SQL query at once.
-
-2009-01-29  Johannes Schmid  <jhs openismus com>
-
-	* glom/base_db.cc:
-	* glom/base_db_table_data.cc:
-	* glom/mode_data/box_data_calendar_related.cc:
-	* glom/mode_data/box_data_list_related.cc:
-	Move the rest of queries from sql() to use params where this made sense.
-	Some methods generate random sql that is executed elsewhere which means that
-	they cannot use parameters themselves. I did not touch those.
-
-	* glom/libglom/data_structure/field.cc:
-	* glom/libglom/data_structure/field.h:
-	Added get_holder(value, name) to avoid having to use temporary field to
-	be able to use get_holder() and get_gda_holder_string()
-
-2009-01-29  Johannes Schmid  <jschmid openismus com>
-
-	* glom/base_db.cc:
-	* glom/base_db_table_data.cc:
-	Converted more queries to use parameters
-
-2009-01-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: auto_increment_insert_first_if_necessary(),
-	get_next_auto_increment_value(), set_database_preferences():
-	Use the new templated Gda::Set::add_holder(), simplifying the code.
-
-2009-01-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool_backends/postgres.cc
-	attempt_create_database(): Do not pass an empty Set to
-	create_operation() because I added a method overload in libgdamm.
-
-2009-01-27  Johannes Schmid  <jschmid openismus com>
-
-	* glom/base_db.cc (set_field_value_in_database):
-	Fix updating of fields with was broken due to a stupid mistake
-
-2009-01-26  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_fields_for_table_from_database(),
-	auto_increment_insert_first_if_necessary(),
-	get_next_auto_increment_value(), insert_example_data():
-	* glom/libglom/data_structure/field.cc: get_holder(): Adapt to
-	my set_value()/set_value_as_value() changes in libgdamm to slightly
-	simply the code. I guess that a better add_param() method could
-	simplify it more.
-
-2009-01-26  Johannes Schmid  <jschmid openismus com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	Ported more queries to use parameters. query_execute_select() now
-	accepts parameters.
-
-	* glom/base_db_table_data.cc:
-	* glom/dialog_database_preferences.cc:
-	* glom/frame_glom.cc:
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data_calendar_related.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	Removed parent_window argument from query_execute_select() call.
-
-	* glom/libglom/data_structure/field.cc:
-	* glom/libglom/data_structure/field.h:
-	Added get_holder() und get_gda_holder_string() as conveniece methods
-
-2009-01-25  Johannes Schmid <jschmid openismus com>
-
-	* glom/base_db.cc:
-	Some cosmetic changes to error messages and removed the reference()
-	call that is obviously caused by a bug in the postgres provider.
-
-2009-01-24  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/data_structure/fieldtypes.cc (constructor): Added
-	GdaBlob as a fallback type for GdaBinary, so that
-	Field::set_field_info() sets the correct glom type if the GType is
-	GDA_TYPE_BLOB.
-
-	* glom/libglom/data_structure/glomconversions.cc
-	(get_pixbuf_for_gda_value): Allow the value having type
-	GDA_TYPE_BLOB, and handle this appropriately. These changes fix images
-	in SQLite with libgda4, requiring libgda trunk.
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc
-	(refresh_from_database): Use STATEMENT_MODEL_RANDOM_ACCESS to create
-	the data model when using SQLite, because of bug #567891.
-
-	* glom/mode_design/fields/box_db_table_definition.cc (fill_field): Use
-	the field's glom type directly, instead of guessing it from the
-	field's GType.
-
-2009-01-23  Johannes Schmid  <jhs openismus com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	Refactored query_execute() to be able to use additional parameters. Changed
-	insert_example_data() to use the new method.
-
-	* glom/libglom/data_structure/field.cc:
-	* glom/libglom/data_structure/field.h:
-	Added get_gda_g_type() and made get_gda_type() should a wrapper around it
-
-	* glom/base_db_table_data.cc:
-	* glom/dialog_database_preferences.cc:
-	* glom/mode_data/box_data_calendar_related.cc:
-	* glom/mode_data/box_data_list_related.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/db_adddel/glom_db_treemodel.cc:
-	Removed the unused Gtk::Window* parameter from all query_execute() calls
-
-2009-01-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: insert_example_data(): Catch exceptions as const.
-	Remove spaces before (, again.
-
-2009-01-22  Johannes Schmid  <jschmid openismus com>
-
-	* glom/base_db.cc (insert_example_data(), get_connection()):
-	* glom/base_db.h:
-	Fixed insertion of example data by using variables in the sql statement
-	instead of inserting the data directly in the statement (which confuses the
-	GdaSqlParser and is inefficient)
-
-	* glom/libglom/data_structure/field.cc (get_gda_type()):
-	* glom/libglom/data_structure/field.h:
-	Added a method to get the gda GType of the field. This is necessary to
-	prepare the sql statement so I would rather like to reuse get_sql_type().
-	Currntly investigating on gnome-db-list.
-
-2009-01-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc: save_changes():
-	Revert the Johannes change here too, because it is causing infinite
-	loops when adding fields, and probably at other times, repeatedly
-	saving the file. The code is not equivalent.
-
-2009-01-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: document_history_add: Revert the previous,
-	because I removed the new API from Bakery and just fixed the existing
-	Bakery method instead.
-
-2009-01-19  Johannes Schmid  <jschmid openismus com>
-
-	* glom/application.cc: document_history_add():
-	Avoid a critical warning by adding the recent data instead of
-	letting Gtk::RecentManager query for non-existing uris which causes a
-	Gtk-Critical. Requires new bakery trunk
-
-	* glom/libglom/document/document_glom.cc:
-	Don't duplicate code from Bakery.
-
-1.9.0:
-
-2009-01-16  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Update the required libgda(mm) versions.
-
-2009-01-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: initial dialog: Correct the button order, which
-	seems to have been broken when re-saving with glade-2. The other
-	dialogs seem OK.
-	* glom/libglom/data_structure/fieldtypes.cc: Constructor:
-	* glom/mode_design/fields/box_db_table_definition.cc: fill_fields():
-	Comment out some debug output.
-
-2009-01-14  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool_backends/postgres.cc (change_columns):
-	When changing column types, only attempt to convert data if
-	Field::get_conversion_possible() returns TRUE, otherwise just change
-	the column type without trying to convert the data.
-
-	* glom/libglom/connectionpool.cc (change_columns): Added a TODO
-	comment about not failing when data could not be converted to the new
-	column type.
-
-	* glom/mode_design/fields/box_db_table_definition.cc
-	(get_field_definition): Set the glom type explicitely on the result
-	field, so that we don't have to guess from the GType.
-
-2009-01-13  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.cc add_column(): Don't set the
-	autoincrement field for the newly added column since we do control
-	this ourselves in Glom.
-
-2009-01-13  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool.cc: Explain that when changing a table's
-	primary key we are changing two columns, in response to Murray's
-	previously added TODO comment. Don't compile add_column(),
-	drop_column(), change_columns() in client only mode.
-
-	* glom/libglom/connectionpool_backends/postgres.h:
-	* glom/libglom/connectionpool_backends/postgres.cc: Added
-	postgres-specific code for changing a column's type, to allow
-	conversions from/to date and time fields.
-
-	* glom/mode_design/fields/box_db_table_definition.h:
-	* glom/mode_design/fields/box_db_table_definition.cc: Removed
-	commented-out code that did the same before I moved the functionality
-	to the connectionpool backend.
-
-2009-01-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: change_columns(): Added a TODO
-	comment asking why we would ever want to change multiple columns.
-	Changing just one columns would make the function simpler.
-
-2009-01-12  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool.cc: Added add_column(), change_column(),
-	drop_column(), using a generic implementation via libgda's DDL API.
-
-	* glom/libglom/connectionpool_backends/postgres.h:
-	* glom/libglom/connectionpool_backends/postgres.cc:
-	* glom/libglom/connectionpool_backends/Makefile.am: Added a base class
-	for the two postgres backends, implementing the common functionality.
-
-	* glom/libglom/connectionpool_backends/postgres_self.h:
-	* glom/libglom/connectionpool_backends/postgres_central.h:
-	* glom/libglom/connectionpool_backends/postgres_self.cc:
-	* glom/libglom/connectionpool_backends/postgres_central.cc: Use the
-	Postgres base class, instead of deriving directly from
-	ConnectionPoolBackend.
-
-	* glom/mode_design/fields/box_db_table_definition.h:
-	* glom/mode_design/fields/box_db_table_definition.cc: Use the
-	connectionpool add_column(), drop_column() and change_column()
-	functions instead of using postgres-specific code from
-	glom_postgres.cc. There is maybe a drawback concerning data conversion
-	when changing column types, but I'll re-add the relevant code to the
-	postgres connectionpool backend in the near future.
-
-	* glom/glom_postgres.h:
-	* glom/glom_postgres.cc: Removed postgres_add_column() and
-	postgres_change_column_extras().
-
-	* glom/main.cc: Adapt to
-	check_postgres_gda_client_is_available_with_warning() now being in
-	ConnectionPoolBackends::Postgres instead of
-	ConnectionPoolBackends::PostgresCentral.
-
-2009-01-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: Allowed a recent version of glade-2 to resave this.
-	The changes seem harmless, just adding things, but we will see.
-
-2009-01-12  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Increase version to 1.9.0, in anticiaption of a first
-	unstable 1.9/1.10 release.
-
-2009-01-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: Main window: Correct the order of the Records: and
-	Found: labels, which became confused at some point, maybe during 1.8.
-
-2009-01-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_find/box_data_list_find.cc: fill_from_database():
-	Call DbAddDel::set_columns_ready() so the treeview actually shows some
-	columns.
-	* glom/utility_widgets/db_adddel/Makefile.am:
-	* glom/utility_widgets/db_adddel/treemodel_with_addrow.[h|cc]: A new
-	common MI abstract base class for treemodels that have the extra empty
-	row for adding rows.
-	* glom/utility_widgets/db_adddel/liststore_with_addrow.[h|cc]: A new
-	treemodel derived from ListStore and the new base class, for use with
-	find mode.
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.h: Derive from
-	the new base class.
-	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]:
-	construct_specified_columns(): Create the ListStore model for find mode.
-	Use the model via the base class where possible, so we can use the
-	find mode model too.
-	Avoid changing the data in the database when in find mode.
-
-	This makes find mode work again in the list view, fixing bug #565579.
-
-2009-01-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.[h|cc]: Added update_gda_metastore_for_table().
-	* glom/mode_design/fields/box_db_table_definition.cc
-	  on_adddel_add(), on_adddel_delete(), postgres_change_column():
-	Call it, but it does not seem to work.
-	New fields are immedietaly reported as not found (on the command line)
-	and field type changes are reverted when reopening the dialog.
-
-2009-01-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom.desktop.in.in: Removed the encoding line because it is deprecated
-	according to http://standards.freedesktop.org/desktop-entry-spec/1.0/apc.html
-	and lintian (debian) complains about it.
-
-2008-12-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.h: show_tool_pallete(): Make this
-	non-virtual because there are no overrides.
-	* glom/mode_find/box_data_details_find.cc: constructor,
-	fill_from_database(): Hide the tool palette, because it is useless in
-	Find mode.
-
-2008-12-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.h: Documented two methods.
-	* glom/mode_design/fields/box_db_table_definition.cc: on_adddel_changed():
-	Warn on stdcerr if the newly-added field seems unknown to the database,
-	showing that the GdaMetaStore is not being updated automatically.
-
-2008-12-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: cleanup(): Clear the cached connection,
-	to stop Glom from using a connection that has been disconnected.
-
-2008-12-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_primary_key_is_in_foundset(): Avoid a crash
-	when (unusually) the primary key is not known.
-
-2008-12-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/layout/layoutitem_text.cc:
-	Copy constructor and operator=: Copy the underlying text, not just
-	the smartpointer to it. This stops us from accidentally changing the
-	empty available template parts in reports.
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/309417
-	(elmergato)
-
-2008-12-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/users/dialog_groups_list.cc
-	on_button_group_delete():
-	* glom/mode_design/users/dialog_users_list.cc
-	on_button_user_delete(), on_button_user_add(),
-	on_button_user_new(), on_button_user_edit():
-	Add missing quotes around user and group names in SQL queries.
-
-2008-12-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.[h|cc]: Split query_execute() into query_execute() and
-	query_execute_select(), returning just a bool for query_execute(),
-	as suggested by a TODO because of the changed API in libgda 4.0.
-	* Many files: Call the correct method.
-
-2008-12-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: query_execute(): Catch ServerProviderError
-	exceptions too. This needs the latest libgdamm.
-
-2008-12-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	get_field_definition(): Actually store the primary-key and unique
-	details. This was a regression since the port to libgda 4.0.
-
-2008-12-17  Armin Burgmeier  <armin openismus com>
-
-	* glom/base_db.cc (create_table_with_default_fields): Reverted the
-	previous change. People can choose not to show the "comments" or
-	"description" columns in their layouts. We'll later support removing
-	columns by recreating the whole table.
-
-2008-12-17  Armin Burgmeier  <armin openismus com>
-
-	* glom/base_db.cc (create_table_with_default_fields): Don't create the
-	"comments" and "description" columns if the database system does not
-	support removing columns.
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc
-	(fill_values_if_necessary): Adapt to libgdamm API change.
-	Gda::DataModelIter::move_at_row has been renamed to move_to_row.
-
-2008-12-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: connect(): Store a cache of the
-	connection for 30 seconds, to avoid unnecessary reconnects. Clear the
-	cache when setting the username/password/database, to force a reconnect.
-
-2008-12-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	refresh_from_database(): Use STATEMENT_MODEL_CURSOR instead of
-	ITER_MODEL_ONLY, as needed by libgda-4.0.
-
-2008-12-15  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/document/document_glom.cc (set_table_fields): Fixed
-	logic so that the document is set to be modified when the new fields
-	differ from the old fields, not when they compare equal.
-
-	* glom/libglom/document/document_glom.h: Also copy the m_info member
-	in DocumentTableInfo's copy constructor and assignment operator.
-
-	* glom/base_db.cc: Update the libgda meta store after having created a
-	new table, so that get_fields_for_table_from_database works correctly
-	for the new table. These changes fix creating new tables.
-
-2008-12-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool_backends/postgres_self.cc:
-	* glom/libglom/connectionpool_backends/sqlite.cc:
-	* glom/libglom/data_structure/glomconversions.cc:
-	* glom/libglom/document/document_glom.cc:
-	* glom/mode_data/box_data_calendar_related.cc:
-	* glom/mode_data/box_data_portal.cc:
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	* glom/relationships_overview/printoperation_relationshipsoverview.cc:
-	* glom/translation/window_translations.cc:
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/calendar/glomcalendar.cc:
-	* glom/utility_widgets/calendar/glomcalendar.h:
-	* glom/utility_widgets/calendar/glomgtkcalendar.h:
-	* glom/utility_widgets/canvas/canvas_group_resizable.cc:
-	* glom/utility_widgets/canvas/canvas_item_movable.cc:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/egg/toolpalette/eggtoolpalette.h:
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable_dnd.cc:
-	* glom/utility_widgets/sidebar.cc: Avoided compiler warnings, mostly
-	commenting out unused parameters.
-
-2008-12-15  Johannes Schmid  <jhs Obelix>
-
-	* glom/frame_glom.cc:
-	Fixed a warning (actually avoided a sprintf completely...)
-
-	* glom/libglom/connectionpool_backends/postgres_central.cc:
-	* glom/libglom/connectionpool_backends/postgres_central.h:
-	* glom/libglom/connectionpool_backends/postgres_self.cc:
-	Fixed creating of databases. Database is no created though things break
-	at a latter stage.
-
-2008-12-12  Murray Cumming  <murrayc murrayc com>
-
-	* Many files: Remove tabs, and spaces before ( and generally fix some
-	old Johannes-esque formatting.
-
-2008-12-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/field.[h|cc]: Store the primary_key and
-	unique_key details as bools in the C++ class, because we cannot
-	easily get that from libgda-4.0, so we at least remember that
-	information from the document. If we can get it from the database
-	somehow then we can do that later.
-	* glom/mode_design/fields/dialog_fielddefinition.cc: get_field():
-	Store the primary_key and unique_key details in the C++ class.
-	We previously stored them info Gda::Column but that code was commented
-	out during the port to libgda-4.0.
-
-	There is also a crash workaround in Gda::Holder and a refcount fix
-	in DataModelIter in libgdamm. With this we can now actually view data.
-
-2008-12-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: connect(): Call update_meta_store()
-	here.
-	* glom/libglom/data_structure/fieldtypes.cc: Constructor,
-	* glom/base_db.cc: get_fields_for_table_from_database(): Do not call
-	update_meta_store() here, because ConnectionPool::connect() has
-	already called it. This makes things faster but there is still some
-	slowness.
-
-2008-12-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/fieldtypes.cc: Constructor,
-	* glom/base_db.cc: get_fields_for_table_from_database():
-	Use the new get_meta_store_data() method overload with no filter
-	parameter to simplify the code slightly.
-	Add debug output to show how often we call update_meta_store() and
-	how awfully slow it is.
-
-2008-12-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/dialog_existing_or_new.[h|cc]: Also check an alternative
-	directory path for the examples because an (unofficial) Ubuntu package
-	installs them in an unexpected location. I would rather find out
-	how/why that is happening though.
-
-2008-12-10  Johannes  <jschmid openismus com>
-
-	* configure.in:
-	Depend on libgdamm-4.0, libgda-postgres-4.0 and pygda-4.0
-
-	* glom/main.cc: Call Gnome::Gda::Init() without arguments
-
-	* glom/base_db.cc:
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool_backends/postgres_central.cc:
-	* glom/libglom/connectionpool_backends/postgres_central.h:
-	* glom/libglom/connectionpool_backends/postgres_self.cc:
-	* glom/libglom/connectionpool_backends/postgres_self.h:
-	* glom/libglom/connectionpool_backends/sqlite.cc:
-	* glom/libglom/connectionpool_backends/sqlite.h:
-	* glom/libglom/data_structure/field.cc:
-	* glom/libglom/data_structure/fieldtypes.cc:
-	* glom/libglom/python_embed/py_glom_relatedrecord.cc:
-	* glom/libglom/test_connectionpool.cc:
-	* glom/libglom/utils.cc:
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	* regression_tests/test_parsing_time.cc:
-
-	Ported gda calls to libgda 4.0. This does mostly involve the removal of Gda::Client
-	and some more API changes (Gda::ParamList => Gda::Set, Gda::Parameter => Gda::Holder).
-	Some bits are still missing which involves creating database for Postgres (sqlite works) and
-	several checks if postgres is installed that have been performed in the past. Also, the
-	set_unique_key() and set_primary_key() methods of Gda::Column have no replacement in 4.0.
-	All things that are not finished are marked with "TODO_gda:".
-
-2008-12-09  Armin Burgmeier  <armin openismus com>
-
-	* glom/application.h:
-	* glom/application.cc: Set "Users" menu item in "Developer" menu
-	insensitive when the database does not support users.
-
-	* glom/frame_glom.cc: Don't ask for user/password for SQLite
-	connections.
-
-	* glom/libglom/data_structure/glomconversions.cc
-	(get_text_for_gda_value): Really allow TIME values to be strings.
-
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool_backends/postgres_central.h:
-	* glom/libglom/connectionpool_backends/postgres_self.h:
-	* glom/libglom/connectionpool_backends/sqlite.h: Added a
-	supports_remote_connection() virtual function to the ConnectionPool
-	backends.
-
-	* glom/libglom/connectionpool.cc: Don't advertize the Glom document
-	via avahi when the database does not support remote connections, such
-	as SQLite.
-
-2008-12-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_import_csv.[h|cc]:
-	validate_primary_key(): Avoid a null pointer dereference (crash) if
-	there is no primary key, though that should never happen now.
-	handle_line(), import(): Use a sorted tree model so the fields list is
-	alphabetically sorted.
-	Ubuntu bug #https://bugs.launchpad.net/ubuntu/+source/glom/+bug/306593
-	(elmergato)
-
-2008-12-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/users/dialog_groups_list.cc:
-	* glom/mode_design/users/dialog_users_list.cc: Constructors:
-	Do not enable row drag and drop on the treeviews, because it is not
-	used and it just confuses users who trigger it accidentally.
-	This was just some left-over code from when these classes were started
-	by copying the layout dialog.
-	As mentioned in Ubuntu bug
-	https://bugs.launchpad.net/ubuntu/+source/glom/+bug/299573
-	(elmergato)
-
-2008-12-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_existing_or_new.cc: Constructor: When the examples
-	directory does not exist, mention the path in the stderr message, to
-	help us to debug the problem.
-
-2008-12-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: cleanup(): Check for a null
-	m_backend, to avoid a crash when quitting Glom without opening a file.
-	I added some more checks elsewhere.
-
-2008-12-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/canvas_group_grid.cc: create_lines():
-	Do not create a GooCanvasGrid with 0 steps, so Glom works with versions
-	of GooCanvas without the bug fix.
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/303453
-	(elmergato)
-
-2008-12-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/combobox_fields.cc: on_cell_data_title(): Pass a ustring to
-	set_property() for the (None) item, so it really shows up.
-	set_property() cannot handle a char* there, it seems.
-	For instance, this means that the choices fields can be cleared again.
-	This regression probably happened when we first ported Glom to Maemo.
-	Bug found by Arq. Maximiliano Meilán.
-
-2008-12-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/box_reports.cc: on_adddel_Add(): Set a default title based on
-	the name, when adding a new report, as we do for tables, relationships,
-	print layouts, etc.
-
-2008-12-05  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/data_structure/glomconversions.h:
-	* glom/libglom/data_structure/glomconversions.cc: Replaced
-	get_escaped_binary_data by escape_binary_data_postgres() and
-	escape_binary_data_sqlite(). SQLite uses a different format for binary
-	data.
-	(get_text_for_gda_value): Allow DATE and TIME values to be strings,
-	and parse them always in ISO format. This is used for SQLite within
-	which we store dates and times as ISO-formatted strings.
-
-	* glom/libglom/data_structure/field.cc (glom_unescape_text): Don't
-	unescape double quotes, as they are not escaped in glom_escape_text
-	either.
-	(sql): Use the escape_binary_data_postgres or
-	escape_binary_data_sqlite functions from glomconversions, depending on
-	the preferred format.
-	(from_sql): Use the unescape_binary_data_postgres or
-	unescape_binary_data_sqlite functions from glomconversions, depending
-	on the preferred format.
-
-2008-12-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/foundset.[h|cc]: Added has_no_criteria()
-	to check if it has a sort order or where clause.
-	* glom/libglom/document/document_glom.[h|cc]: Added
-	set_criteria_current(), like set_layout_current(), so we can
-	temporarily remember the sort (and find) for a table while navigating.
-	DocumentTableInfo: Hand-wrote copy constructor and operator=() rather
-	than depend on generated ones.
-	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]:
-	Added signal_sort_clause_changed, emitted when the user clicks on
-	the column header, which already caused a refresh with that sort.
-	* glom/mode_data/box_data_list.[h|cc]: Respond to a sort change in the
-	DbAddDel widget, saving it temporarily in the document.
-	* glom/mode_data/frame_glom.cc: show_table(): Use the remembered
-	criteria, from the document, where there is one.
-
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/303422
-	(elmergato)
-
-2008-12-02  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/data_structure/fieldtypes.[h|cc]:  Added a fallback map
-	that specifies types that can be used when the database does not support
-	another type natively.
-
-	* glom/libglom/data_structure/field.cc (set_field_info): Only set glom
-	type of the field based on the GType of the info if it represents a
-	different type. This prevents losing type information of the field
-	when the type for this field used a fallback.
-
-	* glom/libglom/data_structure/glomconversions.cc
-	(get_text_for_gda_value): Don't complain for numeric types when the
-	gtype is double, because this is used when the database system does
-	not support GdaNumeric natively.
-
-2008-12-01  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Depend on the latest goocanvasmm version.
-
-2008-11-30  Armin Burgmeier  <armin openismus com>
-
-	* Makefile.am: Removed the DISTCHECK_CONFIGURE_FLAGS setting, since
-	the --disable-scrollkeeper option is already passed to configure
-	during distcheck by other means. This allows setting custom
-	DISTCHECK_CONFIGURE_FLAGS. Bug #562688.
-
-2008-11-29  Armin Burgmeier  <armin openismus com>
-
-	* configure.in: Fixed the description of the --with-postgres-utils
-	option to match the default.
-
-2008-11-29  Armin Burgmeier  <armin openismus com>
-
-	* Makefile.am: Changed DISTCLEAN_FILES to DISTCLEANFILES, to fix make
-	distcheck.
-
-2008-11-28  Armin Burgmeier  <armin openismus com>
-
-	* win32/build-installer:
-	* win32/glom.iss.in: Update for Glom 1.8.
-
-2008-11-28  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/data_structure/field.h:
-	* glom/libglom/data_structure/field.cc: Added a sql_format
-	enumeration, and added a format paramater to sql() and from_sql().
-	This is needed for sqlite because it does not understand the
-	E'binarydata'::bytea representation for binary data, which is a
-	postgres extension.
-
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool_backends/postgres_central.h:
-	* glom/libglom/connectionpool_backends/postgres_self.h:
-	* glom/libglom/connectionpool_backends/sqlite.h: Added a
-	get_sql_format() virtual method that returns the SQL format of the
-	backend.
-
-	* glom/libglom/data_structure/fieldtypes.cc
-	(get_string_name_for_gdavaluetype): Added some fallbacks for types
-	sqlite does not support. This means we are storing numerics as
-	doubles, and dates and times as strings in sqlite.
-
-	* glom/libglom/data_structure/glomconversions.cc
-	(get_double_for_gda_value_numeric): Handle the value being a double,
-	since we use this when the database system doesn't has a "numeric"
-	type.
-
-	* glom/dialog_import_csv.cc:
-	* glom/dialog_import_csv_progress.cc:
-	* glom/frame_glom.cc: Export/Import data always in postgres format,
-	because this is what we used to do.
-
-	* glom/base_db.cc (add_standard_groups): Make this a no-op in case the
-	database system doesn't support users.
-	(insert_example_data): Convert data from the example file from
-	postgres format to the format the current database backend uses before
-	importing.
-	(count_rows_returned_by): For sqlite the result of the SELECT COUNT
-	query is int, not int64, so handle that case as well.
-
-	* glom/glom_privs.cc (get_current_privs): Assume we have all possible
-	privileges in case the database system doesn't support users.
-
-	* glom/utility_widgets/filechooserdialog_saveextras.cc
-	(set_extra_newdb_hosting_mode): Fixed central hosting/self hosting
-	mismatch (the default option in the dialog was wrong).
-
-2008-11-26  Murray Cumming  <murrayc murrayc com>
-
-	* glom/relationships_overview/dialog_relationships_overview.[h|cc]:
-	Respond to changes in the scrolledwindow adjustments to increase the
-	canvas size when the window size changes, so it is always big enough,
-	avoiding dead areas.
-	Bug #559157 (Iain Lane).
-
-2008-11-25  Armin Burgmeier  <armin openismus com>
-
-	* glom/mode_data/dialog_layout_export.cc (get_layout_groups): Fixed a
-	crash which was caused by accessing mapGroups[1] in a
-	default-constructed vector. Bug #557052.
-
-2008-11-25  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/utils.[h|cc]:
-	Added a show_ok_dialog() overload that takes the parent_window as a
-	pointer to simplify code by avoiding the need for a null check by
-	callers.
-
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	check_field_change(): Refuse to leave no primary key set because
-	the rest of Glom expects each table to have one, by refusing to
-	directly unset a primary key.
-	When setting a primary key, ask the user if they really want to _change_
-	the primary key, and do the suitability checks that were previously in
-	change_definition().
-	change_definition(): When setting a primary key, unset the previous
-	primary key first.
-
-	This prevents the table from ever having no primary key.
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/299549
-	(elmergato)
-	Glom bug #562147
-
-2008-11-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc:
-	set_found_set_from_primary_key_value(): Do not crash if there is no
-	primary key, though we should not allow tables with no primary keys.
-
-2008-11-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: update_table_in_document_from_database:
-	Ignore the default_value property from libgda/database, because we only
-	use it from the document, because libgda returns weird values.
-	This prevents the loss of the default value information when reloading
-	a document.
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/299896
-	(elmergato)
-
-2008-11-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc
-	user_added(): Call set_value_key(), like the old code did.
-	Otherwise, each field edit adds another record, generating a new primary
-	key each time, resulting in duplicate records.
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/300819
-	(elmergato)
-
-2008-11-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/users/dialog_groups_list.cc: on_button_group_new():
-	Put quotes around the group name, to avoid a problem when it contains a
-	space.
-
-2008-11-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]: Removed
-	the unused signal_user_requested_delete signal.
-	on_MenuPopup_activate_Delete() (also called when the button is pressed):
-	Actually call user_requested_delete(), so that the user can delete a
-	list row. I forgot to do this when moving the other stuff down into
-	DbAddDel.
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/299853
-	(elmergato)
-
-2008-11-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/glomconversions.cc
-	get_text_for_gda_value: Add a more specific warning when getting a
-	text representation for a boolean, as done by the import dialog, though
-	it should not really. Return translated true/false strings in that case.
-
-2008-11-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade: Corrected a button name to avoid a crash
-	when editing reports.
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/300054
-
-2008-11-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: dialog_import_csv: Added a lable for advice about
-	the expected data format.
-	* glom/dialog_import_csv.cc: Constructor: Generate advice text in the
-	label, showing an example of the expected ISO date format.
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/299591
-
-2008-11-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: on_menu_file_export(): Correct the order of
-	parameters to Document_Glom::get_data_layout_groups_plus_new_fields()
-	so we actually get a sensible default set of fields instead of nothing.
-	This was only a problem since the addition of the active-layout feature
-	on trunk.
-
-2008-11-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: Mark a tooltip as translatable in the initial dialog.
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/299556
-
-2008-11-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/glomconversions.c:
-	sanity_check_date_text_representation_uses_4_digit_years():
-	Default to dd/mm/yyyy for dates when the translator has not provided
-	a 4-digit-year date syntax for the locale, printing a warning that the
-	default might not be suitable. This seems better than failing.
-
-2008-11-21  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.h: Changed connect() and
-	create_database() functions of Backend to always take an error
-	parameter as last argument, to save ugly #ifdefs. The ConnectionPool
-	is the only one accessing these functions anyway, so this is not part
-	of "public" API.
-
-	* glom/libglom/connectionpool_backends/postgres_self.h:
-	* glom/libglom/connectionpool_backends/postgres_self.cc:
-	* glom/libglom/connectionpool_backends/postgres_central.h:
-	* glom/libglom/connectionpool_backends/postgres_central.cc: Adapt.
-
-	* glom/libglom/connectionpool_backends/sqlite.h:
-	* glom/libglom/connectionpool_backends/sqlite.cc:
-	* glom/libglom/connectionpool_backends/Makefile.am: Added a sqlite for
-	creating and connecting to SQlite databases.
-
-	* glom/libglom/document/document_glom.h:
-	* glom/libglom/document/document_glom.cc: Replace self_hosted
-	attribute by a hosting_mode one in the document XML, which can be
-	either "postgres_central", "postgres_self" or "sqlite".
-
-	* glom/utility_widgets/filechooserdialog_saveextras.h:
-	* glom/utility_widgets/filechooserdialog_saveextras.cc: Offer to store
-	the data in a SQlite database.
-
-	* glom/application.h:
-	* glom/application.cc:
-	* glom/dialog_connection.cc:
-	* glom/frame_glom.cc: Handle the SQlite case, create corresponding
-	ConnectionPool backend. It is possible to create a SQlite database
-	this way, but some initial queries still fail yet because they are
-	specific to postgres.
-
-2008-11-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/glomconversions.[h|cc]:
-	Added sanity_check_date_parsing() and
-	sanity_check_date_text_representation_uses_4_digit_years().
-	* glom/main.cc: Use them to show informative warnings at startup.
-	The translators comment for %x mentions those warnings now too.
-	* po/es.po: Add a translation for %x because the es locales do not
-	use 4-digit years for this.
-	Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/300057
-
-	* glom/test_pyembed.cc: Add a cast to avoid a warning.
-	* glom/utility_widgets/db_adddel/db_adddel.cc: Initialize InnerIgnore
-	members to avoid warnings, though these would always be initialized in
-	real life.
-
-2008-11-17  Armin Burgmeier  <armin arbur net>
-
-	* glom/libglom/connectionpool.h: Removed postgres-specific functions,
-	added a common "Backend" interface. Simplified the code logic in
-	connect().
-
-	* glom/libglom/connectionpool_backends/postgres_self.h:
-	* glom/libglom/connectionpool_backends/postgres_self.cc:
-	* glom/libglom/connectionpool_backends/postgres_central.h:
-	* glom/libglom/connectionpool_backends/postgres_central.cc:
-	* glom/libglom/connectionpool_backends/Makefile.am: Added backends
-	for postgres central and self hosting.
-
-	* glom/libglom/gst-package.c:
-	* glom/libglom/test_connectionpool.cc:
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/document/document_glom.cc:
-	* glom/main.cc:
-	* glom/frame_glom.cc:
-	* glom/dialog_connection.cc:
-	* glom/application.cc:
-	* glom/dialog_new_self_hosted_connection.cc: Adapt other glom code,
-	instantate the backends appropiately.
-
-2008-11-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/canvas_group_grid.[h|cc]:
-	Use the new Goocanvas::Grid instead of creating lots of lines ourselves.
-	We still need this class to add the rules and do the snapping though.
-
-2008-11-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	* glom/utility_widgets/canvas/canvas_group_resizable.cc:
-	Adapt to goocanvasmm enum name changes.
-
-2008-11-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: dialog_import_csv: Set the GtkSpinButton page size to
-	0 because recent GTK+ warns that no other value is allowed.
-
-2008-11-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: Remove the system name label. It is in the window
-	title and this has always been a little weird. I never found a way to
-	make it pretty without wasting space, so it is now gone.
-	* glom/frame_glom.[h|cc]:
-	Removed show_system_name().
-	set_databases_selected(),
-	on_menu_developer_database_preferences():
-	* glom/application.cc: Constructor: Don't call it.
-
-2008-11-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.[h|cc]: init_menus(): Added Developer/ActivePlatform
-	sub menu.
-
-	* glom/libglom/document/document_glom.[h|cc]:
-	Added set/get_active_layout_platform(), and
-	set/get_default_layout_platform().
-	get_data_layout_groups_default(), get_data_layout_groups_plus_new_fields(),
-	set/get_data_layout_groups(), get_data_layout_groups_have_any_fields():
-	Added a layout_platform parameters.
-	load_after(), save_before(): Save the layout_platform for each layout.
-	* glom/frame_glom.cc: show_table(), on_menu_file_export():
-	* glom/mode_data/notebook_data.[h|cc]: init_db_details(),
-	  on_switch_page_handler():
-	* glom/mode_data/box_data.[h|cc]: init_db_details(),
-	  get_table_fields_to_show(), get_data_layout_groups()
-	* glom/mode_data/box_data_calendar_related.cc: init_db_details(),
-	  prepare_layout_dialog():
-	* glom/mode_data/box_data_details.cc: init_db_details(),
-	  create_layout(), on_button_new(),
-	  on_flowtable_layout_changed(), print_layout(),
-	  prepare_layout_dialog():
-	* glom/mode_data/box_data_list.cc: on_adddel_user_reordered_columns(),
-	  create_layout_get_layout(), prepare_layout_dialog():
-	* glom/mode_data/box_data_list_related.cc: init_db_details(),
-	  prepare_layout_dialog():
-	* glom/mode_data/box_data_portal.cc: init_db_details():
-	* glom/mode_data/dialog_layout.[h|cc]: set_document():
-	* glom/mode_data/dialog_layout_calendar_related.[h|cc]: set_document():
-	* glom/mode_data/dialog_layout_details.[h|cc]: set_document(),
-	  save_to_document():
-	* glom/mode_data/dialog_layout_list_related.[h|cc]: set_document():
-	* glom/mode_find/notebook_find.[h|cc]:
-	* glom/mode_find/box_data_details_find.[h|cc]:
-	* glom/mode_find/box_data_list_find.[h|cc]
-	* glom/utility_widgets/datawidget.cc: offer_related_record_id_find():
-	* glom/utility_widgets/dialog_choose_id.[h|cc]: on_box_find_criteria(),
-	  init_db_details():
-	* glom/utility_widgets/dialog_layoutitem_properties.[h|cc]:
-
-	Adapted to changed Document_Glom API, taking note of the active platform.
-
-	This allows people to define a different layout to be used when running
-	on a Maemo platform.
-
-	* glom/libglom/python_embed/py_glom_record.cc:
-	* glom/libglom/python_embed/py_glom_related.cc:
-	Added some casts to avoid warnings about literal to char* conversions.
-
-
-This is the trunk branch, for Glom 1.9/1.10. Among other things, we will now
-port to libgda-4.0.
-
-See also the glom-1-8 branch.
-
-1.8.1:
-
-2008-10-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list_related.cc create_layout_get_layout():
-	Return the portal as the group instead of trying to get the layout via
-	the (not meant to be used) list_related layout name. This makes related
-	records portals show the specified fields again, instead of all of them.
-	* glom/mode_data/box_data_manyrecords.cc:
-	* glom/mode_data/box_data_manyrecords.h: Remove the useless
-	create_layout_get_layout() override.
-
-2008-10-21  Koop Mast  <kwm FreeBSD org>
-
-	* glom/mode_data/notebook_data.cc: constructor:
-	Add an ifdef to fix the build in client-only mode.
-	Bug #557258
-
-1.8.0:
-
-2008-10-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_database_preferences.cc:
-	* glom/dialog_existing_or_new.cc:
-	* glom/dialog_existing_or_new.h:
-	* glom/dialog_import_csv.cc:
-	* glom/libglom/connectionpool.cc:
-	* glom/mode_data/dialog_choose_field.cc:
-	* glom/mode_data/dialog_choose_field.h:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_design/users/dialog_groups_list.cc:
-	* glom/reports/dialog_layout_report.cc:
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	Use Gtk::TreeModel::iterator instead of Gtk::TreeIter
-	and Gtk::TreeModel::Path instead of Gtk::TreePath, for
-	consistency.
-
-2008-10-20  Murray Cumming  <murrayc murrayc com>
-
-	* docs/user-guide/C/figures/glom_import.png:
-	* docs/user-guide/Makefile.am:
-	* docs/website/screenshots/glom_import.png:
-	Added new screenshot.
-
-	* glom/dialog_import_csv.cc: Use a more robust way of
-	creating TreeModel::Paths, to avoid a crash.
-
-2008-10-20  Murray Cumming  <murrayc murrayc com>
-
-	* NEWS: Updated, ready for a 1.8.0 release.
-	* configure.in: Depend on the latest goocanvasmmm, because of
-	my API change.
-	* glom/dialog_import_csv.cc:
-	* glom/dialog_import_csv.h: Some code syntax changes.
-
-2008-10-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	get_canvas_table_cell_child(): Adapted for my
-	Goocanvas::Item::get_child_property() API change.
-
-1.7.3:
-
-2008-10-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/icons/16x16/glom-line-horizontal.png
-	* glom/icons/16x16/glom-line-vertical.png: Incredibly bad initial
-	versions of these icons, featuring actual lines.
-
-2008-10-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/box_print_layouts.cc:
-	on_adddel_user_added(): Set a default title based on the name,
-	when adding a print layout.
-
-2008-10-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/box_print_layouts.[h|cc]:
-	Rename signal handler to make them clearer.
-
-2008-10-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_portal.cc
-	* glom/base_db.h
-	* glom/base_db.cc:
-	Moved code from Box_Data_Portal::init_db_details() into
-	set_found_set_where_clause_for_portal() so it can be reused.
-	Added get_field_value_in_database() overload that
-	takes a FoundSet.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc
-	* glom/mode_design/print_layouts/canvas_layout_item.h: moved some code into
-	get_rows_count_for_portal() so it can be reused.
-	* glom/frame_glom.cc
-	* glom/mode_design/print_layouts/canvas_print_layout.cc
- 	* glom/mode_design/print_layouts/canvas_print_layout.h:
-	fill_with_data(): Added and used some helper functions to fill tables
-	(for portals) with data so that portals actually show field data when
-	printed.
-
-2008-09-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h:
-	append_appropriate_row(): Make sure that this returns something even
-	for related records portals, so we can add buttons, text, and images to
-	them again.
-
-2008-09-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h:
-	* glom/mode_data/dialog_layout_export.cc:
-	* glom/mode_data/dialog_layout_export.h:
-	* glom/mode_data/dialog_layout_list.cc: Renamed some widgets to make the
-	code just slightly less weird. Also hid Add Group for list layouts.
-
-2008-09-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	* glom/mode_design/print_layouts/canvas_layout_item.h: set_layout_item():
-	Moved some code into a create_canvas_item_for_layout_item() function so
-	we can use it to create table cell items, without putting them inside
-	groups (resizables), because goocanvas cannot handle that.
-
-2008-09-26  Johannes Schmid  <johannes schmid openismus com>
-
-	* configure.in: Require correct version for bakery and goocanvasmm
-
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/mode_data/flowtablewithfields.h:
-	* glom/utility_widgets/flowtable_dnd.cc:
-	* glom/utility_widgets/flowtable_dnd.h:
-	* glom/utility_widgets/layouttoolbar.cc:
-	Added support for dragging related records to the layout. See #358092
-
-1.7.2:
-
-2008-09-13  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Increase the required goocanvasmm version, so we get the
-	grid lines.
-
-2008-09-12  Murray Cumming  <murrayc murrayc com>
-
-	* po/POTFILES.in: Mention a new file.
-
-2008-09-09  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.cc: Implemented check_user_is_not_root()
-	for Windows, using some code from postgresql.
-
-2008-09-09  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/spawn_with_feedback.cc: Refactored the code, removed
-	all blocking calls and use the CreateProcess() API on Windows to hide
-	the console window of child processes.
-
-	* glom/libglom/connectionpool.cc: Always call the spawn API with
-	double quotes for the path to the executable, because CreateProcess()
-	does not support single quotes.
-
-2008-09-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h:
-	* glom/mode_data/dialog_layout_list.cc: Add a column for the column width,
-	but only show it for the list. Also hide the columns count column for
-	the list.
-	* glom/libglom/document/document_glom.cc: load_after_layout_group(),
-        save_before_layout_group(): Save the column widths for items
-	in the document.
-
-	* glom/mode_data/dialog_layout_list_related.cc:
-	* glom/mode_data/dialog_layout_list_related.h: Remove one set_document()
-	method overload, adding the parent_table to the existing one, to simplify
-	code and to allow us to preserve LayoutItem_Portal details such as print
-	layout positions, even when no relationship is chosen yet.
-	* glom/mode_data/box_data_list_related.cc: Adapted.
-	* glom/mode_design/print_layouts/canvas_print_layout.cc: Adapted.
-
-	* glom/mode_design/print_layouts/canvas_layout_item.cc: create_item():
-	For the portal, create a rect cell for each field in the layout. Still
-	not very useful, but gradually becoming more sensible.
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: on_treeview_column_resized():
-	Do not save the column width if it is the last column because that autosizes
-	to take all remaining space.
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list.h: Remove the reset_column_widths
-	stuff, because ignoring the last column is a better fix.
-
-2008-09-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_calendar_related.cc:
-	* glom/mode_data/box_data_calendar_related.h:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h:
-	* glom/mode_data/box_data_portal.cc:
-	* glom/mode_data/box_data_portal.h: Added init_db_details()
-	method overloads that take a parent table instead of a
-	portal, to use when no relationship has been chosen yet.
-	* glom/mode_data/dialog_layout_calendar_related.cc:
-	* glom/mode_data/dialog_layout_calendar_related.h:
-	Added set_document() that takes a table instead of a portal,
-	as the other portal layout dialogs do already.
-	* glom/mode_data/flowtablewithfields.cc:
-	Specify a from table name instead of a portal when
-	no relationship has been chosen yet.
-	* glom/mode_data/dialog_layout_list_related.cc: Cope with a
-	a null portal, so the user can choose the relationship on this
-	dialog without choosing the relationship separately first.
-	* glom/mode_data/dialog_layout_details.cc: Do not ask for the
-	relationship whenever adding a portal.
-
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h: Added show_window_until_hide().
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.h:
-	Block when showing the layout dialog for a portal.
-
-2008-09-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/layout/layoutitem_portal.cc
-	* glom/libglom/data_structure/layout/layoutitem_portal.h: Added
-	get/set_print_layout_row_height().
-	* glom/mode_data/dialog_layout_list_related.cc
-	* glom/mode_data/dialog_layout_list_related.h: Added a set_document()
-	that takes the from_table, instead of an existing portal.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc: set_layout_item():
-	Slightly more sane code, though I'm still just playing.
-	* glom/mode_design/print_layouts/canvas_print_layout.h:
-	* glom/mode_design/print_layouts/canvas_print_layout.cc
-	Added offer_related_records(), used in on_context_menu_edit(). Still needs
-	to block on the dialog show.
-
-2008-08-28  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/application.cc:
-	Remeber state of layout toolbar when switching modes
-
-2008-08-28  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/application.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/notebook_data.cc:
-	Correctly unset the menu item when layout toolbar is shown and don't hide
-	layout toolbar when an item is dragged
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	(on_canvas_drag_drop, on_canvas_drag_motion)
-	Fixed build error with gtkmm 2.12 (const_cast, see comment)
-
-2008-08-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc offer_field_list(), offer_field_formatting(),
-	offer_imageobject(), offer_notebook(): Return the initial item if the user
-	cancelled the dialog.
-
-2008-08-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/print_layout_toolbar_button.cc:
-	* glom/mode_design/print_layouts/print_layout_toolbar_button.h: Added
-	get_item_type_from_selection_data().
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc: create_empty_item():
-	Mention unhandled items on std::cerr.
-	on_toolbar_item_drag_data_get(): Get the item type correctly.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc: set_layout_item(): Do
-	not reference an empty layout item.
-
-2008-08-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/action_layout_item.cc:
-	* glom/mode_design/print_layouts/action_layout_item.h: Removed this.
-	* glom/mode_design/print_layouts/Makefile.am:
-	* glom/mode_design/print_layouts/print_layout_toolbar.cc:
-	* glom/mode_design/print_layouts/print_layout_toolbar.h:
-	* glom/mode_design/print_layouts/print_layout_toolbar_button.cc:
-	* glom/mode_design/print_layouts/print_layout_toolbar_button.h:
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h: Use a toolbar like
-	the details layout toolbar, which use EggToolPallette.
-	* glom/utility_widgets/layouttoolbar.cc:
-	* glom/utility_widgets/layouttoolbarbutton.cc:
-	* glom/utility_widgets/layouttoolbarbutton.h: Use std::string for filenames
-	and parts of filenames.
-	* icons/16x16/Makefile.am: Added placeholder images for extra items used on
-	print layouts.
-
-2008-08-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/layouttoolbarbutton.cc:
-	* glom/utility_widgets/layouttoolbarbutton.h: Change the constructor to
-	take an icon name, to reduce some code elsewhere.
-	* glom/utility_widgets/layouttoolbar.cc: Adapted.
-	* glom/mode_data/box_data_details.cc:
-	* glom/utility_widgets/flowtable_dnd.cc:
-	* glom/utility_widgets/flowtable_dnd.h: Correct whitespace.
-
-2008-08-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/layouttoolbar.cc:
-	  Improve the tooltips text.
-	* glom/utility_widgets/layouttoolbar.h:
-	* po/POTFILES.in: Mention renamed files.
-
-2008-08-24  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/spawn_with_feedback.cc
-	(execute_command_line_and_wait_until_second_command_returns_success):
-	Set the encoding of the IO channel to read stderr from the child
-	process from to "", and set it to be unbuffered. Otherwise, we
-	sometimes receive an IO_IN event on Windows, but when trying to read
-	any data, then the read() call blocks the whole process forever.
-
-2008-08-23  Armin Burgmeier  <armin openismus com>
-
-	* glom/utility_widgets/layouttoolbar.cc: Locate images relative to
-	application executable on Windows.
-
-	* win32/build_installer:
-	* win32/glom.iss.in: Added pixmaps to the installer.
-
-2008-08-22  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/mode_data/box_data_details.h:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/dragbar.cc: renamed):
-	* glom/utility_widgets/dragbar.h (renamed):
-	* glom/utility_widgets/dragbutton.cc: renamed):
-	* glom/utility_widgets/dragbutton.h (renamed):
-	* glom/utility_widgets/flowtable_dnd.cc:
-	* glom/utility_widgets/layouttoolbar.cc: new):
-	* glom/utility_widgets/layouttoolbar.h (new):
-	* glom/utility_widgets/layouttoolbarbutton.cc: new):
-	* glom/utility_widgets/layouttoolbarbutton.h (new):
-	Changed names of DragBar to LayoutToolbar and DragButton to
-	LayouttoolbarButton
-
-2008-08-22  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.cc: discover_first_free_port): Print
-	WinSock error code in case the socket() call fails, since socket
-	errors are not reported via errno on Windows, so perror does not yield
-	a useful error message.
-
-	* glom/main.cc: Initialize WinSock at startup, so that
-	discover_first_free_port() can use the socket API.
-
-2008-08-22  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/application.cc:
-	* glom/application.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_details.h:
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h:
-	Added menuitem to hide/show the layout toolbar (default: off)
-
-	* glom/utility_widgets/dragbutton.h:
-	Added a comment
-
-2008-08-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/dragbar.cc:
-	* glom/utility_widgets/dragbutton.cc:
-	* glom/utility_widgets/dragbutton.h: Whitespace corrections.
-	Pass strings as const&. Added a TODO asking for explanation.
-	This needs to be renamed to something more layout-editing specific.
-	Maybe LayoutToolbar and LayoutToolbarButton.
-
-2008-08-20  Johannes Schmid <jhs gnome org>
-
-	* glom/utility_widgets/dragbar.cc:
-	* glom/utility_widgets/dragbutton.cc:
-	* glom/utility_widgets/dragbutton.h:
-	Added labels to the toolitems
-
-	* glom/utility_widgets/egg/toolpalette/eggtoolpalette.c
-	(egg_tool_palette_set_style):
-	Fixed a bug in eggtoolpalette ("toolbar-style" vs. "style). Also
-	fixed in libegg trunk.
-
-	* glom/utility_widgets/sidebar.cc:
-	Use GTK_TOOLBAR_BOTH_HORIZ as toolbar style. (Does only work with
-	gtk+ >= 2.14)
-
-2008-08-20  Johannes Schmid  <jhs idefix>
-
-	* glom/utility_widgets/dragbar.cc:
-	* glom/utility_widgets/dragbutton.cc:
-	* glom/utility_widgets/dragbutton.h:
-	Added tooltips to toolitems
-
-2008-08-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/egg/toolpalette/eggtoolitemgroup.c:
-	* glom/utility_widgets/egg/toolpalette/eggtoolitemgroup.h:
-	* glom/utility_widgets/egg/toolpalette/eggtoolpalette.c:
-	* glom/utility_widgets/egg/toolpalette/eggtoolpalette.h:
-	* glom/utility_widgets/egg/toolpalette/eggtoolpaletteprivate.h:
-	* glom/utility_widgets/egg/toolpalette/testtoolpalette.c: Updated from libegg.
-	* glom/utility_widgets/sidebar.cc:
-	* glom/utility_widgets/sidebar.h: Fixed the whitespace.
-	set_drag_source(): Added the extra parameter for the call to
-	egg_tool_palette_set_drag_source().
-
-2008-08-15  Armin Burgmeier  <armin openismus com>
-
-	* win32/build_installer:
-	* win32/glom.iss.in: We use self-built postgresql binaries again, so
-	we don't need to ship all the libraries the official ones are built
-	against.
-
-2008-08-12  Armin Burgmeier  <armin openismus com>
-
-	* win32/build_installer: Take a revision number as argument, producing
-	for instance glom-setup-1.7.1-2.exe.
-
-	* win32/glom.iss.in: Hide the components page, since all components
-	are fixed anyway.
-
-	* README: Added some general information on how the installer is
-	built.
-
-2008-08-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h: show_help() Add a note that this is a replacement
-	for gnome_help_display() until we have something in GTK+.
-
-2008-08-11  Armin Burgmeier  <armin openismus com>
-
-	* win32/build_installer:
-	* win32/glom.iss.in: Added libeay32.dll and ssleay32.dll to the
-	installer. These seem to be required for libpq.dll, which is in turn
-	required by the libgda postgres provider.
-
-2008-08-05  Armin Burgmeier  <armin openismus com>
-
-	* win32/build-installer:
-	* win32/glom.iss.in:
-	* win32/querymodules.bat: Updated to fit my new build setup.
-
-2008-08-05  Armin Burgmeier  <armin openismus com>
-
-	* glom/dialog_existing_or_new.cc: Changed the path where the example
-	files are looked up on Windows, to keep it consistent with the path to
-	load glade files from.
-
-2008-08-01  Claude Paroz  <claude 2xlibre net>
-
-	* glom/glom.glade: Removed translatable property from stock labels.
-
-2008-07-23  Armin Burgmeier  <armin openismus com>
-
-	* glom/existing_or_new.h:
-	* glom/existing_or_new.cc: Hide the network item on Windows in the
-	initial dialog.
-
-2008-07-23  Armin Burgmeier  <armin openismus com>
-
-	* glom/glom.glade: Removed the image from the Select button in the
-	initial dialog.
-
-	* glom/dialog_existing_or_new.cc: Add the image in the Code, via
-	Gtk::Button::set_image. This way the image is not shown when the theme
-	doesn't show images on buttons, such as the MS-Windows theme.
-
-2008-07-21  Armin Burgmeier  <armin openismus com>
-
-	* glom/main.cc: #ifdef out the atexit() call on Windows since
-	__libc_freeres() is not available there.
-
-2008-07-20  Armin Burgmeier  <armin openismus com>
-
-	* glom/application.cc: offer_new_or_existing): Fixed the
-	non-client-only build. There was a default: marker in a switch
-	statement with no code after it.
-
-2008-07-20  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.cc: Windows build fix: winsock2.h
-	somehow includes a file that defines a structure called DATADIR, but
-	DATADIR is a define glom uses, which breaks the build. Fixed by
-	#undefining DATADIR for that include.
-
-2008-07-20  Armin Burgmeier  <armin openismus com>
-
-	* glom/Makefile.am: Added glom.rc to the distribution, which is
-	required to build Glom on Windows.
-
-2008-07-19  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/dialog_existing_or_new.cc:
-	* glom/dialog_existing_or_new.h:
-	Don't show "Create database" tab for client only mode
-
-2008-07-17  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/application.cc:
-	* glom/application.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	* glom/layout_item_dialogs/dialog_buttonscript.h:
-	* glom/mode_data/box_data_calendar_related.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/mode_data/flowtablewithfields.h:
-	* glom/utility_widgets/buttonglom.cc:
-	* glom/utility_widgets/buttonglom.h:
-	* glom/utility_widgets/labelglom.cc:
-	* glom/utility_widgets/labelglom.h:
-	* glom/utility_widgets/layoutwidgetbase.cc:
-	* glom/utility_widgets/layoutwidgetutils.cc:
-	* glom/utility_widgets/layoutwidgetutils.h:
-	* glom/utility_widgets/notebookglom.cc:
-	Fixed build with GLOM_ENABLE_CLIENT_ONLY
-
-	* glom/main.cc:
-	Allow to pass arguments to Gtk+ like --g-fatal-warnings. Glom did filter those
-	as invalid arguments before
-
-1.7.1:
-
-2008-06-23  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Default to looking for postgres 8.3 instead of 8.2, to make
-	life easier for me when distchecking.
-
-2008-06-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_import_csv_progress.cc: on_idle_import(): Corrected the grammar
-	in two strings. Bug #538480 (Andre Klapper).
-
-2008-06-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/notebook_glom.h: Made on_switch_page_handler()
-	virtual again, so that the list updates again when moving from the details
-	tab. Fixes bug #532721 (Armin Burgmeier).
-
-2008-06-16  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/Makefile.am:
-	* glom/utility_widgets/egg/toolpalette/Makefile.am:
-	* glom/utility_widgets/egg/util/Makefile.am:
-	Fixed distcheck
-
-2008-06-16  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/utility_widgets/egg/toolpalette/Makefile.am:
-	Fixed distcheck
-
-2008-06-16  Johannes Schmid  <johannes schmid openismus com>
-
-	* configure.in:
-	* glom/Makefile.am:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/dragbar.cc:
-	* glom/utility_widgets/egg/Makefile.am:
-	* glom/utility_widgets/flowtable_dnd.cc:
-	* glom/utility_widgets/sidebar.h:
-	* glom/utility_widgets/egg/*:
-
-	Included eggtoolbar instead of using svn:externals to fix distcheck (#520741)
-
-2008-06-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_existing_or_new.cc:
-	* glom/glom.glade:
-	* glom/utility_widgets/dragbar.cc: Added comments for translators.
-	Bug #538480 (Andre Klapper).
-
-2008-06-07  Armin Burgmeier  <armin openismus com>
-
-	* configure.in:
-	* config.h.in: Check whether the strptime function is available.
-
-	* glom/libglom/data_structure/glomconversions.cc: parse_time): Don't
-	fall back to strptime if strptime is not available, such as on Windows
-	(mingw).
-
-	* glom/dialog_existing_or_new.h:
-	* glom/dialog_existing_or_new.cc:
-	* glom/dialog_import_csv.cc: Windows build fixes, mostly
-	#ifndef/#endif pairs around libepc stuff. We also need to #undef iconv
-	which seems to be a define to libiconv on Windows, in order to use
-	the Glib::Iconv::iconv function.
-
-	* glom/main.cc: Don include <fontconfig/fontconfig.h> on Windows since
-	it is not available. It doesn't seem to be used anyway.
-
-2008-05-23  Armin Burgmeier  <armin arbur net>
-
-	* glom/libglom/data_structure/field.h:
-	* glom/libglom/data_structure/field.cc: Added from_sql() to convert a
-	SQL representation to a Gnome::Gda::Value. This is the reverse to the
-	sql() function.
-
-	* glom/dialog_import_csv.cc: field_data_func): Remove own unescaping
-	code, use Field::from_sql() for preview instead.
-
-	* glom/dialog_import_csv_progress.cc: on_idle_import): Use
-	Field::from_sql() to do the actual import. This allows to correctly
-	import files that the Export functionality produces, escpecially
-	dates and images.
-
-2008-05-22  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/utility_widgets/flowtable_dnd.cc:
-	* glom/utility_widgets/flowtable_dnd.h:
-	Fixed some crashers when starting a drag from no item
-
-2008-05-22  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/libglom/data_structure/layout/layoutgroup.cc: (add_item)
-	Add item at the end of the group instead of losing it
-
-	* glom/utility_widgets/flowtable_dnd.cc:
-	(on_child_drag_motion):
-	Fix flickering of placeholder on bigger objects like images or text boxes
-
-2008-05-21  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/mode_data/flowtablewithfields.cc:
-	  (on_dnd_add_layout_item_image)
-	* glom/mode_data/flowtablewithfields.h:
-	* glom/utility_widgets/dragbar.cc
-	(DragBar):
-	* glom/utility_widgets/flowtable_dnd.cc
-	(on_drag_data_received):
-	* glom/utility_widgets/flowtable_dnd.h
-	(FlowTableDnd):
-	* glom/utility_widgets/layoutwidgetbase.h:
-	Add images as possible drag items to the sidebar and adjust flowtable
- 	to accept images.
-
-2008-05-18  Murray Cumming  <murrayc murrayc com>
-
-	* docs/user-guide/C/glom.xml:
-	* glom/dialog_import_csv.cc: Minor string corrections.
-
-2008-05-18  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/Makefile.am: Corrected indentation
-
-	* glom/mode_data/flowtablewithfields.cc:
-	(add_field_at_position):
-	Put labels for fields into their own EventBox
-
-	* glom/utility_widgets/flowtable_dnd.cc:
-	  (start_dnd), (stop_dnd), (find_current_dnd_item), (on_child_drag_begin)
-	  (on_child_drag_data_delete):
-	* glom/utility_widgets/flowtable_dnd.h:
-	Allow moving of items fields through drag and drop
-
-2008-05-15  Armin Burgmeier  <armin openismus com>
-
-	* glom/dialog_import_csv.h:
-	* glom/dialog_import_csv.cc: Added some more encodings, differentiate
-	between encoding name and charset.
-
-	* glom/application.cc: init_menus_file), (init_menus): Moved the
-	Import menu item from Tables to File menu.
-
-	* glom/frame_glom.h:
-	* glom/frame_glom.cc: Renamed the function from
-	on_menu_Tables_ImportIntoTable() to on_menu_file_import().
-
-2008-05-13  Armin Burgmeier  <armin openismus com>
-
-	* glom/dialog_import_csv.h:
-	* glom/dialog_import_csv.cc: Added missing functionality.
-
-	* glom/glom.glade:
-	* glom/dialog_import_csv_progress.h:
-	* glom/dialog_import_csv_progress.cc:
-	* glom/Makefile.am: Dialog showing progress of the import and error
-	messages, performing the actual import.
-
-	* glom/frame_glom.cc: on_menu_Tables_ImportIntoTable): Show the
-	progress dialog after the user has finished the settings in the
-	"Import from CSV" dialog, refresh display after import so the list and
-	details show the imported values.
-
-	* docs/user-guide/C/glom.xml: Added an initial explanation for the
-	Import Dialog.
-
-2008-05-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/notebook_data.cc: on_list_user_requested_details():
-	Improve my fix from 2008-04-30:
-	Call refresh_data_from_database_with_primary_key() again, but stop the
-	switch-page handler from running, so that we really see the details for
-	the row when clicking on the record in the list view.
-
-2008-05-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/notebook_data.cc: init_db_details():
-	Fix an if to avoid showing the list view when we want the details view,
-	just because the details view is already showing.
-	* glom/mode_data/notebook_data.h
-	* glom/mode_find/notebook_find.h
-	* glom/notebook_glom.h: Removed some unnecessary virtuals.
-
-2008-05-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list_related.cc: constructor:
-	Use add_view() to give the DbAddDel access to the document, to avoid
-	the repeated warning about the unexpected field type.
-
-2008-05-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc fill_from_database():
-	Get the primary key index (inefficiently) even if the primary key was
-	already in the list, allowing record editing to work again.
-	Fixes bug #530879 (Armin Burgmeier)
-
-2008-05-02  Johannes Schmid <jhs gnome org>
-
-	* glom/utility_widgets/flowtable_dnd.cc: on_child_drag_motion):
-	Fixed a stupid bug in the dnd code that caused dropping problems all
-	over.
-
-2008-04-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/notebook_data.cc: on_list_user_requested_details():
-	Do not call Box_Data_Details::refresh_data_from_database_with_primary_key()
-	because on_switch_page_handler() does it later. This avoids an
-	unnecessary extra refresh of the details view.
-
-	* glom/libglom/data_structure/layout/layoutitem_field.h:
-	Added predicate_LayoutItem_Field_IsSameField for use with std::find_if().
-	* glom/mode_data/box_data_details.cc: fill_from_database(): Do not add
-	the primary key to the list twice, to avoid setting it twice, to avoid
-	refreshing portals twice.
-
-2008-04-29  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/mode_data/flowtablewithfields.h
-	(on_dnd_add_layout_item)
-	Added new method to reparent items from other flowtables.
-
-	* glom/utility_widgets/flowtable_dnd.cc: start_dnd), (on_drag_motion),
-	  (on_drag_data_received), (dnd_item_at_position),
-	  (dnd_datawidget_from_item), (find_current_dnd_item),
-	  (on_child_drag_motion), (on_child_drag_data_get),
-	  (on_child_drag_begin), (on_child_drag_end):
-	* glom/utility_widgets/flowtable_dnd.h
-	Implemented drag sources for LayoutWidgets and allow dragging in and between
-	flowtables. Only works for labels as I didn't find out yet how to set other
-	widgets as drag sources.
-
-	* glom/utility_widgets/layoutwidgetbase.cc
-	  (set_dnd_in_progress), (get_dnd_in_progress):
-	* glom/utility_widgets/layoutwidgetbase.h:
-	Added some need methods for drag and drop
-
-2008-04-29  Murray Cumming  <murrayc murrayc com>
-
-	Large refactoring of the Base_DB_* and Box_DB_* hierarchy to make it
-	simpler and less hacky.
-
-	* docs/developer_reference/Doxyfile: Added this, so you can do
-	doxygen Doxyfile to get some HTML to help understand the code.
-
-	* glom/signal_reemitter.h: Added signal_connect_for_reemit_*args(),
-	to make it easier to just emit a signal in response to another one,
-	for instance to emit up to a parent widget.
-	* regression_tests/Makefile.am:
-	* regression_tests/test_signal_reemit.cc: Added a test for this.
-
-	* glom/Makefile.am:
-	* glom/base_db.[h|cc]: Split this, to create:
-	* glom/base_db_table.[h|cc]
-	* glom/base_db_table_data.[h|cc]: with some stuff from Box_DB_Table.
-
-	* glom/box_db.[h|cc]:  Renamed to
-	* glom/box_withbuttons.[h|cc] because that's all this is now.
-
-	* glom/box_db_table.[h|cc]: Derive from Base_DB_Table, instead of
-	implementing so much stuff.
-
-	* glom/mode_data/Makefile.am:
-	* glom/mode_data/box_data.[h|cc]: Derive from Box_WithButtons,
-        and Base_DB_Table_Data instead of implementing so much stuff.
-
-	* glom/mode_data/box_data_details.[h|cc]
-	* glom/mode_data/box_data_manyrecords.cc[h|cc]: Added this base class
-	for:
-	* glom/mode_data/box_data_list.[h|cc]
-	and Box_Data_Portal:
-
-	* glom/mode_data/box_data_portal.cc[h|cc]: Added this base class
-	for
-	* glom/mode_data/box_data_calendar_related.[h|cc]
-	and
-	* glom/mode_data/box_data_list_related.[h|cc]
-
-	* glom/utility_widgets/db_adddel/db_adddel.[h|cc] Derive from
-	Base_DB_Table_Data, to use its implementation, to move lots of
-	code for record adding, changing, and deleting into this widget instead
-	of having decisions in the parent Box_Data_List_Related and Box_Data_List.
-	This is simpler.
-
-2008-04-26  Armin Burgmeier  <armin openismus com>
-
-	* glom/glom.glade:
-	* glom/dialog_import_csv.h:
-	* glom/dialog_import_csv.cc:
-	* glom/Makefile.am: Added yet unfinished "Import from CSV" dialog.
-
-	* glom/frame_glom.h:
-	* glom/frame_glom.cc: Added Frame_Glom::on_menu_Tables_ImportIntoTable
-	to launch the import dialog.
-
-	* glom/application.cc: init_menus): Added an action for the "Import
-	Into Table" menu item.
-
-2008-04-25  Jeremiah Savage  <jeremiahsavage gmail com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/data_structure/glomconversions.cc:
-	* glom/libglom/document/document_glom.h:
-	* glom/libglom/utils.cc:
-	* glom/translation/window_translations.cc: Add <cstring> includes to
-	fix the build with gcc 4.3.
-	Bug #529530
-
-2008-04-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade:
-	* glom/utility_widgets/datawidget.cc: constructor:
-	Added : at the end of labels, as per the GNOME HIG.
-
-2008-04-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/glomconversions.cc:
-	parse_time(): Fall back to using strptime(), in various formats,
-	so we can parse 01:00 PM and 13:00, instead of parsing these as
-	01:00 AM.
-
-	* Makefile.am:
-	* configure.in:
-	* regression_tests/Makefile.am:
-	* regression_tests/test_parsing_time.cc: Added a test for this time
-	parsing.
-
-2008-04-22  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/mode_data/flowtablewithfields.cc:
-	(set_design_mode): Call FlowTableDnd::set_design_mode() if appropriate
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h:
-	(forall), (container_forall_callback):
-	Implement forall() with is not implement for Gtk::Container
-	(setup_dnd): Remove this and do all dnd stuff in flowtable_dnd
-
-	* glom/utility_widgets/flowtable_dnd.cc:
-	* glom/utility_widgets/flowtable_dnd.h:
-	(set_design_mode), (start_dnd), (stop_dnd):
-	Override set_design_mode() and call start_dnd() and stop_dnd() there.
-	Preparation for moving items around and setting them as drag source.
-
-2008-04-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_calendar_related.h
-	* glom/mode_data/box_data_calendar_related.cc
-	 on_calendar_month_changed(): Update the calendar details when the user
-	navigates to a different month.
-
-2008-04-22  Murray Cumming  <murrayc murrayc com>
-
-	* examples/example_lesson_planner.glom:
-	* examples/Makefile.am: Added a new example, which uses a calendar.
-
-	* glom/mode_data/box_data_calendar_related.h
-	* glom/mode_data/box_data_calendar_related.cc:
-	fill_from_database(): Do one SQL query for the whole month and store
-	the values.
-	on_calendar_details(): Show the stored values.
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h: Removed get_fields_to_show()
-	because it is in the base class.
-
-2008-04-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_calendar_related.cc
-	  (on_calendar_details):
-	* glom/mode_data/box_data_calendar_related.h
-	  (Box_Data_Calendar_Related):
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h:
-	Removed get_has_suitable_record_to_view_details(),
-        get_suitable_table_to_view_details() and
-	get_suitable_record_to_view_details() because they are in the base
-	Box_Data_Portal) class.
-
-	* glom/mode_data/box_data_portal.cc:
-	* glom/mode_data/box_data_portal.h: Removed unused empty
-	create_layout_dialog() and prepare_layout_dialog
-	* glom/mode_data/flowtablewithfields.h:
-	* glom/mode_data/flowtablewithfields.cc: get_portals(): Get a list of
-	Box_Data_Portal instead of Widget, to make this more self-documenting.
-	set_field_value(): Do not dynamic_cast to just Box_Data_List_Related,
-	so that Box_Data_Calendar_Related is updated too, to show just the
-	related records, instead of all.
-
-2008-04-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/combobox_fields.h
-	* glom/combobox_fields.cc: Added set_fields() that takes a field type to
-	reduce the list.
-	* glom/glom_developer.glade: window_data_layout(): Added a Add Related
-	Calendar button and added a Date section, which is hidden for the
-	existing layout dialogs.
-	* glom/libglom/data_structure/layout/Makefile.am:
-	Added layoutitem_calendarportal.[h|cc]
-	* glom/libglom/document/document_glom.cc
-	  load_after_layout_group(), save_before_layout_group(): Handle
-	LayoutItem_CalendarPortal items.
-
-	* glom/mode_data/Makefile.am:
-	* glom/mode_data/box_data_portal.cc
-	* glom/mode_data/box_data_portal.h: Added this new base class for
-	related records widgets, using LayoutItem_Portal as the base class for
-	their layout data.
-	* glom/mode_data/box_data_list_related.cc
-	* glom/mode_data/box_data_list_related.h: Derive from Box_Data_Portal,
-	to which some of the code has moved.
-	* glom/mode_data/box_data_calendar_related.cc
-	* glom/mode_data/box_data_calendar_related.h: Added this new portal,
-	which shows the related records in a calendar.
-
-	* glom/mode_data/dialog_layout_calendar_related.cc
-	* glom/mode_data/dialog_layout_calendar_related.h:
-	* glom/mode_data/dialog_layout_details.h
-	* glom/mode_data/dialog_layout_details.cc:
-	Allow adding of a related calendar portal.
-
-	* glom/mode_data/dialog_layout_list.cc: Dialog_Layout_List):
-	* glom/mode_data/flowtablewithfields.cc
-	* glom/mode_data/flowtablewithfields.h: Handle Box_Data_Portal instead
-	of just Box_Data_List_Related, and handle Box_Data_Calendar_Related
-	specifically where necessary.
-	* glom/utility_widgets/calendar/Makefile.am: Fixed a typo.
-	* glom/utility_widgets/calendar/glomgtkcalendar.c
-	  (glom_gtk_calendar_init, glom_gtk_calendar_new): Use the correct GType.
-
-2008-04-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade:
-	* glom/glom_developer.glade: Moved dialog_data_invalid_format to the
-	non-developer .glade file, where the code expects it to be, preventing
-	a crash.
-
-2008-04-17  Claude Paroz  <claude 2xlibre net>
-
-	* glom/glom.glade:
-	* glom/glom_developer.glade: Removed translatable properties for stock
-	labels.
-
-2008-04-16  Murray Cumming  <murrayc murrayc com>
-
-	* docs/user-guide/C/glom.xml: Remove sentences saying that names should
-	not have spaces or special characters, because they can.
-	Bug #528209 (Jean-François Fortin Tam)
-
-2008-04-15  Armin Burgmeier  <armin openismus com>
-
-	* glom/mode_data/box_data.h:
-	* glom/mode_data/box_data.cc: Made the show_layout_dialog() function
-	non-virtual and added two new (pure) virtual functions called
-	create_layout_dialog() and prepare_layout_dialog(). Create the dialog
-	in show_layout_dialog() if necessary, so the dialog is only created
-	when needed.
-
-	* glom/mode_data/box_data_list.h:
-	* glom/mode_data/box_data_details.h:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_details.cc: Implement the two new virtual
-	functions.
-
-	* glom/mode_data/box_data_list_related.h:
-	* glom/mode_data/box_data_calendar_related.h:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_calendar_related.cc: Removed the
-	m_pLayoutDialogRelated variable, and implement the two new virtual
-	functions instead. Removed the destructor which is no longer required.
-	(on_dialog_layout_hide): Cast m_pDialogLayout to a
-	Dialog_Layout_List_Related before usage. These changes clean up the
-	code in Box_Data_List_Related a bit.
-
-2008-04-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc
-	* glom/mode_data/box_data.h: add_related_record_for_field():
-	Added a primary_key_value_used output parameter so that the caller nows
-	what record was actually created.
-	* glom/mode_data/box_data_details.cc: on_flowtable_field_edited():
-	* glom/mode_data/box_data_list.cc: on_adddel_user_changed():
-	Use the new output parameter instead of calling get_entered_field_data(),
-	so that automatically-created related records are really linked from the
-	parent record even when the ID is not on the layout.
-	This fixes bug #526386 (Jani Monoses).
-
-2008-04-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc:
-	get_related_record_exists(): Don't bother looking for a record
-	with the key NULL, because that is not something we want to related
-	records by.
-	* glom/mode_data/box_data_list.cc: on_adddel_user_changed(): Get
-	full field details for the related field, to ensure that this works
-	properly.
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc
-	fill_values_if_necessary(): Use Conversions::get_empty_value() instead
-	of just creating a Gda::Value of the expected type, so we get a NULL
-	GdaValue initially for appropriate field types.
-
-	This fixes the automatic creation of related records, at least when
-	the from field is on the layout, partially fixing bug #526386
-	(Jani Monoses).
-
-2008-04-15  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/mode_data/flowtablewithfields.cc
-	  (add_layout_notebook_at_position):
-	  Set layout item for notebook and use notebooklabelglom
-	* glom/utility_widgets/notebookglom.cc
-	(delete_from_layout):
-	* glom/utility_widgets/notebookglom.h
-	  (GLOM_UTILITY_WIDGETS_NOTEBOOK_GLOM_H):
-	  Fixed typo in header and added delete method
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/notebooklabelglom.cc:
-	* glom/utility_widgets/notelabelbookglom.h:
-	Added new tab widget for notebook to be able to attach a popupmenu
-
-	Summary: Added popup-menu to notebook tabs to add new groups and delete
-	the notebook.
-
-2008-04-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/adddel/adddel.h
-	* glom/utility_widgets/adddel/adddel_withbuttons.h: Removed unnecessary
-	virtuals on methods.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h: Removed unused
-	signal_user_activated (though it is used in AddDel).
-
-2008-04-14  Murray Cumming,  <murrayc murrayc com>
-
-	* glom/utility_widgets/adddel/adddel.h
-	* glom/utility_widgets/adddel/adddel.cc:
-	construct_specified_columns(): Connect to the start_editing
-	signal., on_treeview_cell_edited. Emit user_activated() on that
-	instead of on the TreeView::button-press-event signal, so that any
-	previous editing has already finished.
-
-	This fixes the relationships window, so that clicking on the To Field
-	combo does not lose the new choice in the Table combo.
-	Bug #526900 (Jani Monoses).
-
-2008-04-13  Armin Burgmeier  <armin openismus com>
-
-	* glom/frame_glom.h:
-	* glom/frame_glom.cc: create_database): Simplified the function,
-	removed the request_password parameter. It was never set, and it
-	seemed to be a relict from libgda-1.2.
-	(connection_request_password_and_choose_new_database_name),
-	(connection_request_password_and_attempt): Create the connection
-	dialog when required, instead of loading it in the constructor, to
-	improve startup time.
-
-	* glom/dialog_existing_or_new.h: Added a comment about bug #527587.
-
-	* glom/application.cc: recreate_database), (existing_or_new_new):
-	Adapt to changed create_database() function in frame_glom.
-
-2008-04-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc fill_menu_tables(), fill_menu_reports(),
-	fill_menu_print_layouts(): Remove the ActionGroups before recreating
-	them to avoid warnings, and presumably to avoid the changes from
-	being ignored. Maybe GTK+ svn trunk has become less tolerant.
-	* glom/glom_developer.glade: Restored some GtkSourceViews, and put one
-	in a scrolled window as it was before.
-
-2008-04-11  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/utils.cc: Utils::show_help): Replace gnome_help_display
-	by constructing a path to the help file, making a ghelp: URI out of it
-	and passing it to g_app_info_launch_default_for_uri().
-
-	* glom/xsl_utils.cc: GlomXslUtils::transform_and_open): Replace
-	gnome_url_show by g_app_info_launch_default_for_uri().
-
-	* glom/main.cc: main): Don't call gnome_program_init().
-
-	* configure.in: Remove the libgnome dependency.
-
-2008-04-11  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/application.cc
-	(update_userlevel_ui):
-	* glom/application.h:
-	* glom/mode_data/box_data_details.cc
-	  (create_layout):
-	* glom/mode_data/box_data_details.h
-	Moved sidebar into "Details"-page
-
-	* glom/utility_widgets/sidebar.cc
-	  (on_child_detached),(on_child_attached):
-	* glom/utility_widgets/sidebar.h:
-	Made sidebar detachable again and give it a correct size when detached
-
-2008-04-11  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/glom_developer.glade:
-	* glom/layout_item_dialogs/dialog_buttonscript.cc
-	  (Dialog_ButtonScript), (set_script), (get_script),
-	  (get_script):
-	* glom/layout_item_dialogs/dialog_buttonscript.h
-	Added new entry for the button title to the dialog
-
-	* glom/mode_data/flowtablewithfields.cc
-	(FlowTableWithFields):
-	* glom/utility_widgets/buttonglom.cc
-	(on_menu_properties_activate):
-	* glom/utility_widgets/buttonglom.h:
-	* glom/utility_widgets/labelglom.cc:
-	* glom/utility_widgets/layoutwidgetutils.cc:
-	* glom/utility_widgets/layoutwidgetutils.h
-	(m_pPopupMenuUtils) (m_refUtilProperties):
-	Removed "Details" menu item as ButtonGlom has a dialog for all properties now.
-
-2008-04-10  Murray Cumming  <murrayc murrayc com>
-
-	* docs/user-guide/C/glom.xml: Improved the text about the initial dialog.
-
-	* glom/dialog_existing_or_new.cc:
-	* glom/dialog_existing_or_new.h: Added on_existing_select_func() and
-	on_new_select_func() select_function handlers, to prevent selection of
-	the parent nodes, which would be meaningless.
-
-2008-04-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_existing_or_new.cc
-	* glom/dialog_existing_or_new.h: Removed the second text-button column.
-	I changed my mind about this. It doesn't feel useful - a double-click
-	on the regular title makes more sense.
-
-2008-04-10  Armin Burgmeier  <armin openismus com>
-
-	* glom/glom.glade: Re-set scrolledwindow shadows to IN in initial
-	dialog since this is what other treeviews have.
-
-2008-04-10  Armin Burgmeier  <armin openismus com>
-
-	* glom/glom.glade: Added a help button, reordered Quit/Select buttons,
-	remove mnemonics from the tab labels as suggested by the HIG. Removed
-	the separator and added a tooltip for the select button.
-
-	* glom/dialog_existing_or_new.h:
-	* glom/dialog_existing_or_new.cc: constructor): Reordered items in
-	existing_model, use a cell data func for the item's title so we can
-	change the color when necessary, expand the recent items by default.
-	Add a dummy item telling that there are no documents in this category
-	if there are none.
-	(on_service_found, on_service_removed): Create/Remove that dummy item
-	accordingly.
-	(on_stream_read): Remove the dummy item for the "New From Template"
-	category, expand the "New From Template" category if this was the first
-	item discovered.
-
-	* glom/application.cc: offer_new_or_existing): Use
-	Utils::dialog_run_with_help() to make the Help button work.
-
-	* docs/user-guide/C/glom.xml: Added an initial text for the Help
-	button of the initial dialog.
-
-2008-04-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: on_linux_signal): Call the
-	previously-set SIGSEGV handler, to hopefully make bug-buddy or apport
-	catch (and report) crashes again.
-
-2008-04-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/spawn_with_feedback.h
-	* glom/libglom/spawn_with_feedback.cc: get_and_show_pulse_dialog,
-	  execute_command_line_and_wait,
-	  execute_command_line_and_wait_until_second_command_returns_success):
-	* glom/libglom/connectionpool.h
-	* glom/libglom/connectionpool.cc:
-	  start_self_hosting(), stop_self_hosting(), create_self_hosting():
-	Added parent_window parameter, so that any dialogs can be transient for
-	it.
-
-	* glom/application.cc on_document_load(),
-	  stop_self_hosting_of_document_database(): Call
-	start/stop_self_hosting() with the parent_window parameter.
-	* glom/frame_glom.cc:
-	  connection_request_password_and_choose_new_database_name():
-	* glom/libglom/document/document_glom.cc:
-	Call start/stop_self_hosting() with the parent_window parameter.
-
-	This should prevent these windows from being system-modal when using
-	the xfwm4 window manager.
-	Bug #525285 (Jani Monoses)
-
-2008-04-09  Johannes Schmid  <jhs gnome org>
-
-	* glom/glom_developer.glade:
-	Found one more wrong change
-
-2008-04-09  Johannes Schmid <jhs gnome org>
-
-	* glom/glom_developer.glade:
-	Fix crasher when opening GlomButton details dialog
-
-	* glom/utility_widgets/Makefile.am:
- 	Move flowtable_dnd.[cch] in !GLOM_CLIENT_ONLY section
-
-2008-04-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc
-	get_item_placeholder(), get_item_selected(),
-	on_cell_layout_button_clicked(), remove_item(),
-	on_treeview_cell_edited_bool(), on_treeview_cell_edited(),
-	on_treeview_button_press_event(), get_last_row(),
-	get_last_row, set_value_key(), get_is_placeholder_row,()
-	on_cell_button_clicked(): Check that the treemodel is not null before
-	dereferencing it.
-	This fixes a crash when trying to add a record when there is no
-	primary key.
-	Bug #527007 (Jean-François Fortin Tam)
-
-2008-04-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/flowtable.cc: Destructor: Remove my hack to
-	delete child widgets, because it causes double deletes.
-
-2008-04-08  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/libglom/sharedptr.h
-	(operator!): Added operator! for convenience
-
-	* glom/mode_data/flowtablewithfields.cc
-	* glom/mode_data/flowtablewithfields.h:
-	(FlowTableWithFields): Removed setup_menu()
-	(on_menu_delete_activate): Added a confirmation dialog
-
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/layoutwidgetmenu.cc:
-	* glom/utility_widgets/layoutwidgetmenu.h:
-	* glom/utility_widgets/layoutwidgetbase.cc:
-	* glom/utility_widgets/layoutwidgetbase.h:
-	Moved menu code from LayoutWidgetBase into it's own class
-	(on_menupopup_activate_delete): Added a menu item to delete fields
-
-	* glom/utility_widgets/buttonglom.cc:
-	* glom/utility_widgets/buttonglom.h:
-	* glom/utility_widgets/labelglom.cc:
-	* glom/utility_widgets/labelglom.h:
-	Derive from LayoutWidgetUtils, removed setup_menu() call in
-	constructors
-
-	* glom/utility_widgets/datawidget.h:
-	* glom/utility_widgets/notebookglom.h:
-	* glom/utility_widgets/layoutwidgetfield.h:
-	Derive from LayoutWidgetMenu
-
-	* glom/utility_widgets/layoutwidgetutils.cc:
-	* glom/utility_widgets/layoutwidgetutils.h:
-	Derive from LayoutWidgetBase
-	(on_menu_delete_activate): Added menu item to delete layout items
-
-	* glom/utility_widgets/placeholder-glom.cc:
-	Removed setup_menu() call
-
-2008-04-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/Makefile.am:
-	* glom/libglom/test_connectionpool.cc: Added this test.
-
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/test_flowtable.cc: Revived this test.
-
-2008-04-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/box_db_table_definition.cc
-	  check_field_change(): Refuse to change a field name to one that
-	already exists.
-
-2008-04-07  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/utility_widgets/flowtable.cc:
-	Really comitted last change (was in conflict)
-
-2008-04-07  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/mode_data/flowtablewithfields.h:
-	Derive from FlowTableDnd if not in CLIENT_ONLY mode
-
-	* glom/utility_widgets/flowtable.cc:
-	(dnd_*) (on_dnd_*)
-	* glom/utility_widgets/flowtable.h:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/flowtable_dnd.cc:
-	* glom/utility_widgets/flowtable_dnd.h:
-	Moved drag and drop stuff into it's own class and some code cleanup
-
-2008-04-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/main.cc: OptionGroup, main): Use atexit(__libc_freeres)
-	to maybe help valgrind to detect leaks.
-	* glom/mode_data/flowtablewithfields.cc Added TODO comments about
-	possible widget leaks.
-	* glom/utility_widgets/adddel/adddel.cc
-	* glom/utility_widgets/adddel/adddel.h: Use UIManager instead of
-	MenuElems, because it seems less leaky.
-
-2008-04-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/adddel/adddel.cc: construct_specified_columns():
-	Really delete the temporary TreeModelColumns to fix a leak.
-
-2008-04-04  Johannes Schmid  <johanens schmid openismus com>
-
-	* glom/glom_developer.glade:
-	Added dialog_flowtable
-
-	* glom/mode_data/flowtablewithfields.cc: FlowTableWithFields,
-	  (add_layout_group_at_position), (on_menu_properties_activate),
-	  (on_button_press_event):
-	* glom/mode_data/flowtablewithfields.h
-	Added popup-menu for flowtables
-
-	* glom/utility_widgets/buttonglom.cc: on_button_press_event):
-	* glom/utility_widgets/labelglom.cc: on_button_press_event):
-	Fixed a crasher when not in developer mode
-
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/dialog_flowtable.cc: Glom,
-	  (set_flowtable), (get_title), (get_columns_count):
-	* glom/utility_widgets/dialog_flowtable.h
-	Added configuration dialog for FlowTables
-
-	* glom/utility_widgets/layoutwidgetutils.h (LayoutWidgetUtils):
-	Do not derive from sigc::trackable as it's not necessary.
-
-2008-04-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: Fix the previous commit:
-	treeviewcolumn_on_cell_data(): Do set the pixbuf property to NULL when
-	it is empty, or images apear repeated on rows.
-
-2008-04-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	treeviewcolumn_on_cell_data(): Do not try to dereference a null pixbuf
-	refptr. This fixes a crash when adding an image field to the list view
-	if one of the records has no data in that field.
-	Bug #526114 (Jani Monoses).
-
-2008-04-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list.cc
-	* glom/mode_data/box_data_list.h
-	on_dialog_layout_hide(): Override this so we can set a bool and
-	check for this bool in create_layout_add_group(), to reset the column
-	widths after the layout dialog has been closed. Otherwise the new
-	columns are off the right-hand side of the scroll area, making users
-	think that nothing has happened unless they look at the scroll bar.
-	This is not ideal, but drag-and-drop will make this easier anyway.
-	Bug #526046 (Jani Monoses).
-
-2008-04-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc
-	* glom/libglom/connectionpool.h Added delete_instance().
-	* glom/main.cc: main): Clean up the ConnectionPool singleton at the
-	end, so it is not reported as a leak by valgrind.
-
-2008-04-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.h
-	* glom/application.cc added a Bakery::App::add_ui_from_string() override,
-	so we can workaround a problem with UTF8 in the UI description in
-	gtkmm < 2.12.7.
-	Bug #525718 (Pavel MlÄ?och)
-
-2008-04-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.h:
-	Remove the GlueItem and GlueItemList classes. Store a simple int
-	in GtkTreeIter::user_data instead of a pointer to an allocated GlueItem
-	instance (which just stored an int now anyway).
-	This should prevent the leak of these instances, which GtkTreeModel
-	really really gives us no way to ever know when to free, other than
-	when the GktTreeModel is destroyed.
-
-2008-04-01  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_privs.cc: Fixed the build (my previous changes did not
-	actually compile).
-
-2008-04-01  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_privs.cc: get_database_users(), get_current_privs():
-	* glom/mode_data/box_data.cc: record_new(),
-	  get_related_record_exists): Added use of BusyCursor because these
-	access the database.
-
-2008-04-01  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	on_treeview_column_clicked(): Show the busy cursor because the
-	new SQL query can take some time.
-
-2008-04-01  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/Makefile.am:
-	* glom/libglom/data_structure/foundset.cc
-	* glom/libglom/data_structure/foundset.h: Moved FoundSet into its own
-	file from base_db.[h|c], because I like that.
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.h:
-	* glom/base_db.cc
-	* glom/base_db.h: Moved count_rows_returned_by() to Base_DB so we
-	can use it elsewhere.
-
-	* glom/frame_glom.cc show_table(): Count the approximate number of
-	rows expected in the list view, and do not sort them by default if
-	it is more than 10,000. This allows Glom to show 600,000 MusicBrainz
-	album rows now in 1 minute.
-
-2008-04-01  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	refresh_from_database(): Omit the ORDER BY clause when counting the
-	number of rows from our SQL query. This is much faster.
-
-2008-04-01  Murray Cumming  <murrayc murrayc com>
-
-	* glom/notebook_glom.h
-	* glom/notebook_glom.cc: constructor, on_show(): Delay the connection of
-	the switch_page handler because GtkNotebook sometimes emits the signal
-	during show().
-	Save the sigc::connection so we can block it later.
-	* glom/mode_data/notebook_data.cc init_db_details(),
-	on_switch_page_handler(): Block the handling of this signal during
-	the first initialization, to avoid an unnecessary duplicate SQL query.
-
-	* glom/utility_widgets/db_adddel/db_adddel.h
-	* glom/utility_widgets/db_adddel/db_adddel.cc
-	 on_self_style_changed): Correct the ifndef to an ifdef so this is
-	really only used on Maemo, preventing a third duplicate SQL query.
-
-2008-04-01  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade: window_data_layout: Change window title from
-	Details Layout to Layout because it is used for the list and the
-	related records layout too. This string already exists elsewhere, so
-	it should not be a problem for translators.
-	Bug #525449 (Jani Monoses)
-
-2008-03-31  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/utility_widgets/flowtable.cc: on_drag_data_received):
-	Fixed side effect of idle hack that caused that items are always
-	inserted at the end of the flowtable when dropped.
-
-	* glom/utility_widgets/labelglom.cc: init):
-	set_visible_window (false) for the eventbox to remove ugly label border.
-
-2008-03-31  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	constructor: Do not handle style changes, because that currently
-	causes an extra SQL query. It is still enabled for Maemo, which needs
-	it. We should fix this properly.
-
-2008-03-31  Armin Burgmeier  <armin openismus com>
-
-	* glom/glom.glade:
-	* glom/dialog_existing_or_new.h:
-	* glom/dialog_existing_or_new.cc: Use a notebook for the two
-	treeviews, add a Select button. Removed the signals, instead added
-	get_action(), get_uri(), get_service_info() and get_service_name().
-	This way, the application can hide the dialog before handling the
-	action more easily.
-
-	* glom/application.h:
-	* glom/application.cc: offer_new_or_existing(): Hide the
-	existing_or_new dialog after having run it.
-	existing_or_new_new(): Removed the signal handlers, but keep the
-	action for creating a new empty document in a separate function since
-	it is still a lot of code.
-
-2008-03-31  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_record_field_values_for_calculation():
-	Do not show an error if the record does not exist yet. That is normal
-	and is already dealt with by the following code. Do show an error if
-	there is an exception.
-	Bug #525096 (Jani Monoses)
-
-2008-03-31  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade: Make return activate the default buttons
-	when in the last entry in some dialogs, such as the initial-user/password
-	dialog when self-hosting.
-	Bug #525284 (Jani Monoses)
-
-2008-03-31  Murray Cumming  <murrayc murrayc com>
-
-	* glom/navigation/box_tables.cc: on_adddel_changed(): When changing the
-	default-table column, make sure that only one row can have this checked.
-	It should really be a radio column, but that would be more work
-	(to work around the AddDel widget).
-	Bug #525186 (Jani Monoses)
-
-2008-03-31  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/field.cc: Field::init_map():
-	Comment out some previously-allowed conversions because postgres 8.3
-	has become less tolerant of conversions that could not produce useful
-	data, such as date-to-number, causing postgres errors at runtime.
-	Bug #525188 (Jani Monoses)
-
-2008-03-30  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/utility_widgets/flowtable.cc
-	(on_child_drag_motion):
-	Fixed dragging on ComboEntryGlom and added some comments about
-	what happens inside the widget detection.
-
-2008-03-30  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h:
-	dnd_remove_placeholder_idle(), dnd_remove_placeholder_real(),
-	on_drag_leave(), on_child_drag_motion(): Allow dropping last
-	item when mouse is over an entry or a similar HAS_WINDOW widget.
-
-2008-03-30  Armin Burgmeier  <armin openismus com>
-
-	* glom/glom.glade:
-	* glom/dialog_existing_or_new.h:
-	* glom/dialog_existing_or_new.cc:
-	* glom/Makefile.am: Redesigned initial dialog, as described in
-	http://www.murrayc.com/blog/permalink/2007/11/29/gloms-initial-dialog.
-
-	* glom/application.h:
-	* glom/application.cc: Actually use it.
-
-2008-03-30  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/labelglom.cc:
-	Fixed dropping on LabelGlom which was broken due to the EventBox
-
-2008-03-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc
-	create_iterator(): Always create a completely new iterator, instead of trying
-	to return one with an existing GlueItem. A comment says that this is
-	necessary to make operator=() work (it only compares pointers), but
-	I do not know why a working iterator::operator=() is necessary. I guess
-	we will find out. This was very inefficient. Glom can now show a list of
-	60,000 records in 5 minutes instead of hours/days. There is still much
-	room for improvement though.
-
-2008-03-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/navigation/box_tables.cc: fill_from_database(): Do show tables
-	that are in the database but not in the document (hidden by default),
-	allowing us to adapt to an existing database.
-	on_adddel_Edit(): Do not complain about tables that are not in the
-	document.
-
-2008-03-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_database_preferences(): Try to create the standard
-	tables if the query fails, as a small first step in making Glom adapt to
-	existing databases.
-
-2008-03-28  Johannes Schmid  <jhs idefix>
-
-	* glom/mode_data/flowtablewithfields.cc:
-	Fixed expanding of LabelGlom
-	* glom/utility_widgets/flowtable.cc:
-	Fixed dragging on Gtk::TextView
-
-2008-03-27  Johannes Schmid  <jhs gnome org>
-
-	* glom/layout_item_dialogs/dialog_textobject.cc:
-	* glom/layout_item_dialogs/dialog_textobject.h:
-	Added get_textobject(reference)
-
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/utility_widgets/labelglom.cc:
-	* glom/utility_widgets/labelglom.h:
-	Use the correct dialog for editing textobject (missed that one before...)
-
-2008-03-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/navigation/box_tables.cc: on_adddel_Delete(): Put quotes around
-	the table name when doing a DROP TABLE, so we can delete tables that
-	use upper case in their name.
-	Bug #522233 (Pavel MlÄ?och).
-
-2008-03-26  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h:
-	Remove append_newline().
-	save_before(): Stop using append_newline() - it never worked anyway.
-	Use add_indenting_white_space_to_node() which was just added to Bakery.
-	This makes the .glom files have nice readable indenting again.
-
-2008-03-26  Johannes Schmid  <jhs gnome org>
-
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/utility_widgets/dialog_layoutitem_properties.cc:
-	* glom/utility_widgets/labelglom.cc:
-	* glom/utility_widgets/labelglom.h:
-	Added popup menu for LabelGlom
-
-	* glom/utility_widgets/dragbutton.h:
-	Make a method const
-
-2008-03-24  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* docs/user-guide/C/figures: Added images from screenshots on website.
-	* docs/user-guide/C/glom.xml: Added screenshots and some text.
-	Added section about translations.
-
-2008-03-22  Murray Cumming  <murrayc murrayc com>
-
-	* docs/user-guide/C/glom.xml: Added sections about defining and using
-	reports.
-	* glom/glom_developer.glade: Reports list: Corrected packing expanding.
-	Added a tooltip for a checkbox.
-
-2008-03-22  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/glom_developer.glade:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/buttonglom.cc:
-	* glom/utility_widgets/buttonglom.h:
-	* glom/utility_widgets/dialog_buttonscript.cc:
-	* glom/utility_widgets/dialog_buttonscript.h:
-	* glom/utility_widgets/dialog_layoutitem_properties.cc:
-	* glom/utility_widgets/dialog_layoutitem_properties.h:
-	* glom/utility_widgets/labelglom.h:
-	* glom/utility_widgets/layoutwidgetutils.h:
-
-	Added popup-menu for buttons (and some refactoring to make it easier for other
-	widgets)
-
-2008-03-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc offer_new_or_existing(): Use a URI for the
-	examples directory instead of a filepath, sot that the examples
-	directory is really opened in the file chooser. gnome-vfs seems to
-	have become less tolerant of URIs without file:// at the start.
-
-2008-03-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/fieldtypes.cc
-	get_string_name_for_gdavaluetype(): Hard-code the result for
-	text fields (G_TYPE_STRING) so we always use varchar. Otherwise
-	we mistakenly create fields of type xml because libgda reports many
-	postgres 8.3 fields types as being of type G_TYPE_STRING.
-
-2008-03-18  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Depend on the new unstable bakery-2.6 API.
-	* glom/application.cc:
-	* glom/base_db.cc:
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/document/document_glom.cc:
-	* glom/main.cc:
-	* glom/xsl_utils.cc: Use giomm instead of Gnome::Vfs.
-
-2008-03-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/python_embed/python_module/py_glom_module.cc: initglom):
-	Added more casts to non-const char* from static strings, to
-	avoid warnings with Python. Python should use const char*, of course.
-
-2008-03-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc ui_file_select_open_with_browse():
-	Fixed a typo in my previous commit, to fix the build.
-
-2008-03-13  Murray Cumming  <murrayc murrayc com>
-
-	Bug 521992 â?? Pressing Escape on Initial dialog does not close
-	application properly.
-	(Pavel MlÄ?och)
-
-	* glom/dialog_database_preferences.cc load_from_document():
-	Do not crash if the Gda::DataModel is empty.
-
-	* glom/application.cc ui_file_select_save(), on_document_load(),
-	  offer_new_or_existing():
-	* glom/frame_glom.cc on_menu_file_export():
-	* glom/utility_widgets/imageglom.cc
-	  on_menupopup_activate_select_file(): Check for
-	Gtk::RESPONSE_DELETE_EVENT instead of just Gtk::RESPONSE_CANCEL, so
-	that we treat pressing Escape the same as pressing Cancel. When we
-	just ignore this then we can leave the application in an unexpected
-	state.
-
-2008-03-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	discover_first_free_port() Reformat the code to make the use of
-	ifdefs for various platforms clearer. Include errno.h and add a comment
-	about how this is essential to make the code actually work.
-	This stops Glom from starting a postgres instance on the same port that
-	is used by an existing instance.
-	start_self_hosting(): Set the port in the document so it is not
-	incorrectly set again later. This fixes the problem that Glom sometimes
-	started a server and then could not connect to it.
-
-2008-03-09  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.cc: Don't try to use remembered port
-	when m_port is 0. This broke connections to non-self-hosted database
-	servers since the connection attempt was only performed on port 0.
-
-	* glom/application.cc: Set "try_other_ports" to TRUE for new documents
-	if the document is not self-hosted. Otherwise, only port 5432 was
-	tried, and not the other ones specefied in the ConnectionPool's
-	constructor.
-
-2008-03-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/glomconversions.cc:
-	* glom/libglom/data_structure/glomconversions.h:
-	Added get_double_for_gda_value_numeric().
-	* glom/base_db.cc: auto_increment_insert_first_if_necessary(),
-	recalculate_next_auto_increment_value(),
-	get_next_auto_increment_value():
-	Return a GdaNumeric Gda::Value, not a string one, and
-	do the conversion without the locale affecting it.
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	fill_values_if_necessary(): Create default values of the correct type.
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h: Removed decimal_from_string() because it is
-	no longer used.
-	This avoids a warning about an incorrect type when adding a row in
-	the list view.
-
-	* examples/example_music_collection.glom: Song table:
-	Added Artists doubly-related fields on details and recreate this
-	example.
-
-2008-03-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: offer_new_or_existing():
-	Call connection_pool->set_get_document_func() before calling
-	connection_request_password_and_choose_new_database_name() to
-	avoid a (maybe harmless anyway) warning.
-
-2008-03-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/glomconversions.cc:
-	get_text_for_gda_value(): Improved the warning about the unexpected
-	value type, though I have not yet solved this (minor) problem.
-	* glom/utility_widgets/dragbar.cc: Improve the titles in the tool
-	pallete. And please stop using tabs in the source code.
-
-2008-03-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc:
-	get_data_layout_groups_default(): Restored the code that creates
-	the default layouts, which was lost somehow.
-	Bug #517665 (Johannes Schmid).
-
-2008-03-04  Johannes Schmid  <jhs gnome org>
-
-	* glom/mode_data/box_data_details.cc:
-	Fixed a crasher (probably related to an empty table)
-
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/checkglom.h: (added)
-	* glom/utility_widgets/checkglom.cc: (added)
-	Add a popup menu to checkbutton fields
-
-2008-02-29  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/utility_widgets/flowtable.cc:
-	Fixed dragging on LabelGlom
-
-2008-02-28  Johannes Schmid  <johannes schmid openismus com>
-
-	* glom/utility_widgets/dragbar.cc:
-	* glom/utility_widgets/dragbutton.cc:
-	* glom/utility_widgets/dragbutton.h:
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/sidebar.cc:
-	* glom/utility_widgets/sidebar.h:
-	Use EggToolPalette for the developer drag and drop toolbar
-
-  * glom/utility_widgets/eggtoolpalette: Updated to new external revision
-
-2008-02-25  Johannes Schmid <johannes schmid openismus com>
-
-	* configure.in:
-	* glom/Makefile.am:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/eggtoolpalette/* (external)
-	* glom/utility_widgets/util/* (external)
-
-	Integrated eggtoolpalette into the build system (not used yet)
-
-2008-02-24  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.cc: Pass -i instead of -h "*" to
-	postmaster. This is equivalent, but it does not require postgres to
-	be linked against CRT_noglob.o on Windows.
-
-2008-02-23  Armin Burgmeier  <armin openismus com>
-
-	* glom/main.cc: Add the bin/ subdirectory to the PATH environment
-	variable on Windows. This is where the gspawn-win32-helper.exe program
-	required for g_spawn* is installed, and g_spawn* requires it to be in
-	somewhere in PATH. This fixes self-hosting on machines where
-	gspawn-win32-helper.exe is not already in the PATH.
-
-2008-02-22  Murray Cumming  <murrayc murrayc com>
-
-	* C/glom.xml: Put the pygda appendix in its own section, instead of
-	inside the previous appendix. Update the application version from
-	0.8 to 1.6.
-
-2008-02-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.h: Moved the m_pDrag_Bar declaration to
-	avoid a warning about initialization sequence.
-	* glom/libglom/python_embed/py_glom_relatedrecord.cc:
-	* glom/python_embed/glom_python.cc: Cast some static strings to
-	gchar* because the Python C API does not use const. This avoids some
-	warnings.
-
-2008-02-20  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/mode_data/box_data_details.cc:
-	Cell set modified, when the document was modified...
-
-2008-02-20  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/mode_data/flowtablewithfields.cc:
-	Use set_layout_item() on all layout element to allow to
-	adding them at the correct place to a layout_group
-
-	* glom/utility_widgets/flowtable.cc:
-	Remove some debug messages
-
-2008-02-20  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/utility_widgets/flowtable.cc:
-	Allow dragging at below the last item of a group
-
-2008-02-19  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/mode_data/flowtablewithfields.h:
-	* glom/utility_widgets/flowtable.h:
-	Added drag and drop for notebooks
-
-2008-02-19  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/frame_glom.cc:
-	Fixed crasher when using Tables menu
-
-	* glom/glom.glade:
-	Removed unused dialog
-
-2008-02-19  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/mode_data/flowtablewithfields.h:
-	Cleaned up dnd code in FlowTableWithFields
-
-2008-02-19  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/application.cc:
-	* glom/application.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	Show drag toolbar when in developer mode
-
-	* glom/mode_data/box_data_details.cc:
-	Recreate layout when switching to developer mode
-
-2008-02-18  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/libglom/connectionpool.cc:
-	#ifdef'd all those annoying avahi debug messages
-
-	* glom/libglom/data_structure/layout/layoutgroup.cc:
-	* glom/libglom/data_structure/layout/layoutgroup.h:
-	Added LayoutGroup::remove_item()
-
-	* glom/libglom/document/document_glom.cc:
-	* glom/mode_data/dialog_layout_details.cc:
-	Remove default layout creation as it's no longer needed when you can
-	create your layout using drag and drop.
-
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/mode_data/flowtablewithfields.h:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_details.h:
-	Fixed dragging of groups (mostly)
-
-	* glom/utility_widgets/dragbar.cc:
-	* glom/utility_widgets/dragbutton.cc:
-	* glom/utility_widgets/dragbutton.h:
-	Use enum instead of string to determine drag type
-
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h:
-	Set default size when in developer mode
-
-	* icons/16x16/Makefile.am:
-	* icons/16x16/glom-notebook.png
-	Added notebook icon
-
-2008-02-14  Armin Burgmeier  <armin openismus com>
-
-	* win32/querymodules.bat:
-	* win32/build-installer:
-	* win32/glom.iss.in: Moved most files into the bin/ subdirectory. This
-	is because both Glom.exe and the postgres utilities need libpq.dll,
-	but the postgres utilities need to be in the bin/ subdirectory to find
-	their shared files. With this, the installer also works for me on a
-	machine that does not already have Python, GTK, etc. installed.
-
-2008-02-11  Armin Burgmeier  <armin openismus com>
-
-	* win32/build-installer:
-	* win32/glom.iss.in: Add all required python files. I would like to
-	put them into a separate python/ directory, but did not get it to find
-	them there. They are put into the main application directory for now.
-
-2008-02-09  Armin Burgmeier  <armin openismus com>
-
-	* win32/build-installer:
-	* win32/glom.iss.in: Added some missing DLLs and gda and glom python
-	modules.
-
-2008-02-05  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.cc: Fixed a 'non-void function does not
-	return a value' warning in
-	ConnectionPool::check_postgres_is_available_with_warning().
-
-	* glom/layout_item_dialogs/dialog_buttonscript.cc: Use a monospace
-	font for the python script text field. Coding is much more convenient
-	with a monospace font.
-
-2008-02-04  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.cc: Try finding postgres binaries in
-	bin/ first. The installer installs them there because they do not find
-	the shared data they need otherwise.
-
-	* icons/Makefile.am:
-	* icons/win32/Makefile.am: Include the glom.ico in the distribution.
-
-	* glom/Makefile.am: Link glom.exe with the -mwindows flag on Windows
-	so that starting glom does not start a console window additionally.
-
-	* win32/glom.iss.in: The script to create the Windows installer with
-	InnoSetup (http://www.innosetup.org). It is a .in files so that
-	configure automatically sets the correct Glom version in it.
-
-	* win32/querymodules.bat: Batch file the installer uses to register
-	pango modules, gdk pixbuf loaders and GTK+ input methods.
-
-	* win32/build-installer: Tool I use to gather all files for the
-	installer. It is currently verify specific to my own build setup.
-
-	* win32/Makefile.am: Include these files with make dist.
-
-	* Makefile.am: Add win32 to SUBDIRS.
-	* configure.in: Create win32/Makefile, win32/glom.iss and
-	icons/win32/Makfile.
-
-2008-02-03  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/glade_utils.h:
-	* glom/main.cc: Adjust paths of glade files and locales to match the
-	path the (yet to come) installer installs them.
-
-	* glom/libglom/connectionpool.cc: Pass the -L flag with a path
-	relative to the glom executable (where the installer will install it)
-	to initdb on Windows so that it finds necessary files that are
-	normally available in /usr/share/postgresql/.
-
-2008-02-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/layout_item_dialogs/dialog_field_summary.cc: on_button_field():
-	Pass the correct parameter to avoid a use of an uninitialized value.
-	* glom/libglom/data_structure/layout/report_parts/layoutitem_fields_summary.cc:
-	Constructor: Initialize a member variable to avoid a use of an
-	uninitialized value.
-	This fixed the crashes in bug #513927 (Göran)
-
-2008-01-31  Armin Burgmeier  <armin openismus com>
-
-	* icons/win32/glom.ico: Added 48x48 glom.ico to be used as icon for
-	glom.exe.
-	* glom/glom.rc: Added resource file containing glom.ico.
-	* glom/Makefile.am: Link resource file into glom.exe.
-
-2008-01-31  Armin Burgmeier  <armin openismus com>
-
-	* glom/main.cc: Load translations relative to glom.exe on Windows.
-
-2008-01-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc: on_flowtable_script_button_clicked():
-	Make sure that we send the primary key value when refreshing after a button
-	was clicked. This fixes the bug that most of the fields were blanked after
-	clicking a button.
-
-2008-01-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc: load_after_layout_item_field():
-	Call set_full_field_details() on the layout item, so we load the correct
-	formatting for that field type. For instance, this means we do not lose
-	the multiline formatting option when loading.
-	Thanks to Göran (TEK-en) for finding this bug.
-
-2008-01-28  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/spawn_with_feedback.cc: Set IOChannel that reads stderr
-	from child process to be nonblocking to make sure we don't block the
-	whole process.
-
-2008-01-27  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/glade_utils.h: Added Utils::get_glade_file_path() to
-	locate the glade file relative to the application executable on
-	Windows.
-
-	* glom/dialog_invalid_data.cc:
-	* glom/libglom/spawn_with_feedback.cc:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/frame_glom.cc:
-	* glom/layout_item_dialogs/dialog_field_layout.cc:
-	* glom/layout_item_dialogs/dialog_group_by.cc:
-	* glom/reports/dialog_layout_report.cc:
-	* glom/translation/window_translations.cc:
-	* glom/base_db.cc:
-	* glom/main.cc:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/filechooser_export.cc:
-	* glom/application.cc:
-	* glom/mode_design/script_library/dialog_script_library.cc:
-	* glom/mode_design/users/dialog_users_list.cc:
-	* glom/mode_design/users/dialog_groups_list.cc:
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_design/print_layouts/dialog_text_formatting.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.cc: Use
-	Utils::get_glade_file_path() to load the glade files.
-
-2008-01-26  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/dialog_progress_creating.h:
-	* glom/libglom/dialog_progress_creating.cc: Added a run() method so
-	that we can show it without the ugly while(Gtk::Main::events_pending())
-	Gtk::Main::iteration().
-
-	* glom/libglom/spawn_with_feedback.cc: Rewrote
-	execute_command_line_and_wait_until_second_command_returns_success()
-	so that it does not block the UI, does not run into an endless loop if
-	the first command fails, and shows a useful error message in that
-	case.
-
-	* glom/libglom/connectionpool.cc: Locate postgres executables via
-	Glib::find_program_in_path() on Windows, because hardcoding the path
-	to the postgres utils does not work. Use "postgres.exe" instead of
-	"postmaster.exe" on Windows because the postgres installer does not
-	install postmaster.exe (which is deprecated since postgresql 8.2).
-
-2008-01-25  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/mode_data/box_data_details.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-
-	Fixed two crasher related to working with empty layout/empty tables
-
-2008-01-21  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/libglom/document/document_glom.cc:
-	Fixed crasher in case there is no default layout group
-
-	* glom/utility_widgets/flowtable.cc:
-	Avoid division by zero
-
-2008-01-18  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/calendar/Makefile.am:
-	* glom/utility_widgets/calendar/README:
-	* glom/utility_widgets/calendar/glomcalendar.cc:
-	* glom/utility_widgets/calendar/glomcalendar.h:
-	* glom/utility_widgets/calendar/glomgtkcalendar.c:
-	* glom/utility_widgets/calendar/glomgtkcalendar.h:
-	Added copied (and renamed) versions of Gtk::Calendar and
-	GtkCalendar with the new details callback function,
-	instead of depending on unreleased/unstable GTK+ and gtkmm.
-
-2008-01-17  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/mode_data/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtable.cc:
-
-	Fixed some odd dragging bug and removed dialogs for
-	new buttons/label. Use Developers->Layout instead to
-	change the appearance of newly added items.
-
-2008-01-17  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connection_pool.h:
-	* glom/libglom/connection_pool.cc: Added
-	ConnectionPool::get_try_other_ports().
-
-	* glom/frame_glom.cc: Fixed connection proceduce after creating new
-	self-hosted database by setting port and try_other_ports into in the
-	document. These settings are later used for the connection. If we
-	don't do that, port is 0 and we can't connect.
-
-2008-01-14  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/utility_widgets/dragbutton.cc:
-	Setup drag source correctly.
-
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h:
-	Fixed placeholder expanding
-	Support dragging on child widgets (at least GtkEntry's for now)
-
-2008-01-13  Armin Burgmeier  <armin openismus com>
-
-	* configure.in: Disable the --with-postgres-utils options on Windows
-	because it does not make sense to hardcode paths on Windows. We use
-	Glib::find_program_in_path to locate the postgres executables.
-
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/connectionpool.cc: Severial windows fixes: Don't use
-	libepc, locate postgres programs using Glib::find_program_in_path,
-	quote path to executables, use closesocket() instead of close().
-
-	* glom/libglom/spawn_with_feedback.cc: Fixed typo.
-
-	* glom/Makefile.am: Changed library linking order so linking developer
-	mode on Windows succeeds.
-
-2008-01-10  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Depend on the latest version of libgda, because we
-	use the new Gda::Value::get_ulong() method. Thanks to Rohit Agrawal.
-
-2008-01-04  Johannes Schmid <jhs gnome org>
-
-	* glom/utility_widgets/flowtable.cc:
-	Cleaned-up setup_dnd() code and fix a very stupid
-	bug in column calculation
-
-2008-01-02  Armin Burgmeier  <armin openismus com>
-
-	* glom/utility_widgets/cellrendererlist/cellrendererlist.h:
-	* glom/utility_widgets/cellrendererlist/cellrendererlist.cc:
-	* glom/utility_widgets/cellrendererlist/Makefile.am
-	* configure.in: Moved cellrendererlist to this subdirectory.
-
-	* glom/mode_data/flowtablewithfields.h:
-	* glom/mode_data/flowtablewithfields.cc: Moved the FlowTableWithFields
-	class from utility_widgets to mode_data. mode_data is the only one who
-	uses this, and this way, utility_widgets do no longer depend on
-	mode_data. This is necessary to link libglom dynamically on Windows.
-
-	* glom/Makefile.am: Added
-	utility_widgets/cellrendererlist/libutility_widgets_cellrendererlist.a
-	to LDADD.
-
-	* glom/utility_widgets/Makefile.am:
-	* glom/mode_data/Makefile.am: Changed list of source files
-	accordingly.
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/mode_data/box_data_details.h: Changed include paths
-	accordingly.
-
-	* glom/libglom/Makefile.am: Link libglom dynamically on Windows. This
-	requires also the latest versions of libgdamm, gnome-vfsmm, gconfmm
-	and bakery because earlier versions do not create a shared library on
-	Windows, and shared libraries cannot be linked against static ones.
-
-	* glom/python_embed/python_module/Makefile.am: Rename the python glom
-	module from glom.dll to glom.pyd on Windows when installing because
-	python does not find the module when it does not end on .pyd. These
-	.pyd files are simply renamed DLLs.
-
-2007-12-30  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h:
-	Allow dragging on child widgets that use their own GdkWindow. This
-	works for GlomImage now but still needs some work for GlomEntrys and
-	other widgets.
-
-	* glom/utility_widgets/flowtablewithfields.cc:
-	Don't put child flowtables into Gtk::EventBox because it's useless
-
-2007-12-29  Armin Burgmeier  <armin openismus com>
-
-	* configure.in: Require latest libepc on both maemo and non-maemo.
-
-	* glom/application.cc: Fixed an #ifdef at the wrong position so the
-	application's menu is fully populated in client-only mode.
-
-2007-12-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_document.dtd: Several corrections and improvements. This is not
-	quite finished yet.
-
-2007-12-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_document.dtd: Updated and corrected DTD with documentation
-	comments. This was completed by Nicholas Sinnott-Armstrong (novanasa),
-	as a Google Highly-Open Participation (GHOP) task (GNOME GHOP task 49).
-	This is for documentation (or utilities) - we do not actually validate the
-	.xml so that we can be as liberal as possible when loading documents.
-
-2007-12-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/glomconversions.cc: get_text_for_gda_value():
-	Return escaped text for images, instead of using to_string(). This fixes the
-	loading of images from the document, so they are not lost when closing the
-	document.
-
-2007-12-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/canvas_image_movable.cc:
-	* glom/utility_widgets/canvas/canvas_item_movable.h: scale_to_size():
-	Set the size again after setting the pixbuf, to preserve the size.
-	* glom/utility_widgets/canvas/canvas_group_resizable.cc:
-	* glom/utility_widgets/canvas/canvas_group_resizable.h:
-	Added (and emitted) signal_resized().
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	* glom/mode_design/print_layouts/canvas_layout_item.h:
-	Handle signal_resized() to rescale images when they are resized.
-
-2007-12-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/canvas_image_movable.cc:
-	* glom/utility_widgets/canvas/canvas_image_movable.h: Store the
-	original pixbuf and use it in a new scale_to_size() method.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	set_layout_item(): Call scale_to_size() on images, after setting the
-	size.
-
-2007-12-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/canvas_item_movable.cc:
-	cast_to_movable(), cast_to_item(): Make these handle
-	CanvasGroupResizable too, causing snap-to-grid to work again,
-	though it seems to only work for moving, and not for resizing.
-
-2007-12-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: offer_imageobject(): Add show_title bool, like
-	offer_textobject() alread has.
-	* glom/glom_developer.glade: Correct the title of the choose image
-	dialog.
-	* glom/layout_item_dialogs/dialog_imageobject.cc:
-	* glom/layout_item_dialogs/dialog_imageobject.h: set_layout_item():
-	Add show_title bool and hide the title if it is true.
-	* glom/libglom/data_structure/layout/layoutitem_image.cc:
-	* glom/libglom/data_structure/layout/layoutitem_image.h: Added
-	get_image_as_pixbuf() for convenience.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	set_layout_item(): Actually show the image from the layout item.
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	on_context_menu_edit(): Handle image objects.
-
-2007-12-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h:
-	Remove m_drop_x and m_drop_y: They are useless now that we don't use
-	the menu signal handler when dropping.
-	create_empty_item(): Set appropriate sizes for the new items.
-
-2007-12-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	* glom/mode_design/print_layouts/canvas_layout_item.h:
-	Added remove_empty_indicators() to remove the missing-image icon from empty
-	static image items.
-	* glom/mode_design/print_layouts/canvas_print_layout.cc: fill_with_data():
-	Call remove_empty_indicators() so that the missing-image icons are not seen
-	when printing.
-
-2007-12-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/canvas_image_movable.cc:
-	* glom/utility_widgets/canvas/canvas_image_movable.h: Added set_image() and
-	set_image_empty(), which adds a MISSING_IMAGE stock icon.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc: set_layout_item():
-	Use set_image_empty().
-
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h:
-	on_canvas_drag_data_received(): After a drop, delete the temporary canvas
-	item shown during drag motion.
-	Added on_canvas_drag_leave(), so we can delete the temporary item when the
-	user drags out of the canvas without doing a drop.
-
-2007-12-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h:
-	Added create_empty_item() to avoid duplicate code for the various ways to add
-	new items. For instance, when dragging from the toolbar, actually put some text
-	in the text item so that something is visible.
-	We still need to make empty images and portals visible somehow.
-
-2007-12-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	Constructor: Do not use the drag_dest_set() default flag values,
-	because they prevent us from really using our own callbacks, and actually
-	cause a pointer grab when trying to get the data during a drag-motion event.
-	on_canvas_drag_drop(): Call drag_get_data(), because we are no longer
-	using DEST_DEFAULT_DROP (via DEST_DEFAULT_ALL), which previously did
-	this for us.
-
-2007-12-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc: Constructor:
-	* glom/utility_widgets/datawidget.cc: Constructor:
-	Added tooltip text for navigation buttons and the Open and Find buttons
-	next to IDs.
-
-2007-12-17  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Depend on the latest libepc.
-	* glom/libglom/connectionpool.cc: Use the new functions to
-	avoid duplicate libepc services.
-
-2007-12-16  Johannes Schmid <jhs gnome org>
-
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h:
-	Fixed drag&drop code to have a much better user-experience. The
-	items should now be dropped more accurate at the mouse-pointer position
-	and the placeholder is drawn there, too.
-
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h:
-	* glom/utility_widgets/dragbar.cc:
-	Removed the DragButton for LayoutItem Image because it does not make sense
-	without an associated field.
-
-2007-12-12  Johannes Schmid <jhs gnome org>
-
-	* glom/utility_widgets/placeholder-glom.cc:
-	* glom/utility_widgets/placeholder-glom.h:
-
-	Rewrote placeholder widget as a custom widget to get a better appearence
-	when dragging.
-
-2007-12-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	Constructor: Call drag_dest_set() instead of
-	m_canvas.drag_dest_set(m_drag_targets), which seems to allow us
-	to call drag_get_data() in our drag_motion signal handler.
-	on_canvas_drag_data_received(): Always call drag_status() when
-	this is during drag_motion, rather than only the first time,
-	so that we keep getting drag_motion signals.
-
-2007-12-10  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/glom.glade:
-	Fixed Bug 502570 â?? remove gtk-ok gtk-cancel from translation
-
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtablewithfields.cc:
-
-	Removed some debugging code
-
-2007-12-07  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/glom.glade:
-	Added dialog for new fields
-
-	* glom/libglom/data_structure/layout/layoutgroup.cc:
-	add_item() should add before - not after the item, at least for dnd
-
-	* glom/utility_widgets/dragbar.cc:
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h:
-	Added drag buttons for text, image and button
-	Fix crasher in dnd code
-
-	* icons/16x16/Makefile.am:
-	* icons/16x16/glom-button.png:
-	* icons/16x16/glom-text.png:
-	* icons/16x16/glom-image.png:
-
-	Added new icons (from glade3)
-
-2007-12-07  Johannes Schmid <johannes schmid openismus com>
-
-	* configure.in:
-	* glom/Makefile.am:
-	Merged maemo-launcher changes from glom-1.6 branch
-
-2007-12-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/appstate.cc: Fix an ifdef to allow us to go into developer mode
-	again in normal not-client-only mode.
-
-2007-12-04  Armin Burgmeier  <armin openismus com>
-
-	* acinclude.m4: Change the the python library finder so that is also
-	finds libpythonMAJORMINOR.* instead of libpythonMAJOR.MINOR.*, because
-	the former is used on windows.
-
-	* configure.in: Don't require avahi, iso-codes and libepc on Windows,
-	made goocanvasmm nonoptional because it is needed for the printing
-	stuff.
-
-	* glom/frame_glom.h:
-	* glom/libglom/connectionpool.h:
-	* glom/libglom/spawn_with_feedback.cc:
-	* glom/libglom/connectionpool.cc:
-	* glom/utility_widgets/flowtable.h:
-	* glom/utility_widgets/flowtablewithfields.h:
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/placeholder-glom.cc:
-	* glom/utility_widgets/Makefile.am:
-	* glom/frame_glom.cc:
-	* glom/application.h:
-	* glom/application.cc: Clientonly and Windows build fixes.
-
-	* glom/python_embed/python_module/Makefile.am:
-	* glom/libglom/Makefile.am:
-	* glom/Makefile.am:
-	* Makefile.am: Do not link against -lutil on Win32, because there is
-	no such library, and it does not seem to be needed. Link libglom
-	statically on Windows for now.
-
-2007-12-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/utility_widgets/filechooserdialog_saveextras.cc:
-	* glom/utility_widgets/flowtablewithfields.cc: Replace more hard-coded 6 spacing
-	with our constant, so it is less on Maemo.
-
-2007-12-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: on_document_load(): Call set_get_document_func() earlier
-	so that the connection pool always has it.
-	* glom/libglom/connectionpool.cc: connect(): Start avahi publihsing here if it has
-	not already been started, so we publish databases that are centrally-hosted too.
-	However, we need to do this only for the first user.
-	on_sharedconnection_finished(): stop avahi.
-
-2007-12-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list_related.cc: create_layout_get_layout(),
-	get_fields_to_show():
-	* glom/mode_data/dialog_layout_list_related.cc: update_ui():
-	Do not try to insert at position 0 of an empty std::vector, to prevent crashes.
-	I introduced this problem on 2007-11-17.
-
-2007-12-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h: ui_file_select_open_with_browse(),
-	open_browsed_document(): Remove the BrowsedServer inner class and instead use
-	EpcServiceInfo and a service_name string. This reduces the amount of code.
-
-2007-12-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: open_browsed_document(): Adapt to the latest
-	libepc API, using the EpcServiceInfo object.
-
-2007-12-03  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Rename --disable-doc to --disable-doc-utils to be
-	clearer, and move the check lower in configure.ac because it was
-	somehow causing the check for pkg-config to fail.
-
-2007-12-02  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* Makefile.am: Added --disable-doc configure option, because
-	Maemo has no gnome-doc-utils. This was copied partly from Ekiga.
-
-2007-12-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/Makefile.am:  Mention dragbar.h to fix the
-	dist.
-	* icons/16x16/Makefile.am: Dist pixmaps_DATA.
-
-2007-12-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/Makefile.am: Mention dragbar.h to fix the
-	dist.
-
-2007-12-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: Remove dialog_connection_error.
-	* glom/application.cc:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: Replace use of dialog_connection_error
-	with Utils::show_ok_dialog(), so we can use a Hildon::Note
-	on Maemo.
-
-2007-12-01  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/appstate.cc: Constructor: Make sure that we
-	default to operator mode for client-only mode.
-	* glom/glom.glade:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: Hide the footer (user level and found count)
-	in Maemo build.
-
-	* glom/dialog_glom.cc:
-	* glom/mode_find/box_data_list_find.cc:
-	* glom/utility_widgets/flowtablewithfields.cc: Replace some padding
-	and spacing with the constants, so we save space in the Mameo build.
-
-2007-12-01  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Check for glibmm 2.14.1, because only a libgdamm built with
-	that can create the iter-only treemodel.
-
-2007-11-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Use epc_shell_set_progress_hooks()
-	to show some UI while generating certificates during a first run.
-
-2007-11-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: stop_self_hosting():
-	Use the -m fast option with pg_ctl to avoid waiting for clients to
-	disconnect first.
-	This seems to fix bug #420962 (Craig Keogh, Denis Leroy, Perriman)
-
-2007-11-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Added get/set_try_other_ports().
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Added get/set_connection_try_other_ports(),
-	and saved it.
-	* glom/dialog_connection.cc: connect_to_server_with_connection_settings():
-	Use try_other_ports from the document.
-	* glom/application.cc: open_browsed_document(): Set try_other_ports in the
-	document (It is not really needed in the on-disk XML, but this is the easiest
-	place to pass that information).
-	This should prevent us from opening a different postgres server on the same
-	host when connecting via browse network.
-
-2007-11-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: on_document_load(): When starting self-hosting,
-	remember the port used and specify it again when connecting to the self-hosted
-	postgres database, to avoid connecting to another postgres server running on
-	the same machine which happens to have the same database name in it.
-	Confused the hell out of me.
-
-2007-11-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: open_browsed_document(): Check for
-	SOUP_STATUS_UNAUTHORIZED as well as SOUP_STATUS_FORBIDDEN because I
-	have started getting this.
-	* glom/application.h: Remove some unnecessary virtuals from methods.
-
-2007-11-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Added get/set_port().
-	Store the port after it has been used successfully.
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Added get/set_connection_port(),
-	so we can try to use the same port as last time, to save time, and to
-	avoid connecting to some other postgres server on the same host.
-
-2007-11-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_connection.cc:
-	* glom/dialog_connection.h: Added set_connect_to_browsed(), which dims the
-	host name.
-	* glom/application.cc:
-	* glom/application.h: ui_file_select_open_with_browse(): Store the service name
-	(the database name) and show it in the connection dialog in open_browsed_document().
-
-2007-11-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: open_browsed_document(): Replace the host name
-	if it is localhost, because our localhost is not the same as the localhost of
-	the publisher.
-
-2007-11-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	on_publisher_document_authentication(): Try to connect to the database
-	with the username/password, so we know whether they are correct.
-
-	* glom/dialog_connection.cc:
-	* glom/dialog_connection.h: Added set_username() and
-	set_password(), so we can reuse this code to connect,
-	even without showing the dialog.
-	* glom/application.cc:
-	* glom/application.h: open_browsed_document():
-	Ask for the usernmame and password before trying to
-	get the document over the network. Store the
-	username and password temporarily so we do not need
-	to ask the user again in on_document_load().
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: connection_request_password_and_attempt():
-	Added known_username and known_password string parameters, and do not
-	show the dialog if they are known already.
-	This seems to work.
-
-	* glom/libglom/Makefile.am:
-	* glom/libglom/glade_utils.h: Added this and moved the
-	glade_* convenience templates into it.
-
-2007-11-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/glomconversions.cc:
-	convert_value(): Deal with gint values specially, because
-	we usually really do want to convert gints to GdaNumerics,
-	though we do use gints for some serial keys.
-        (I think, but maybe not anymore.)
-	* glom/python_embed/glom_python.cc:
-	glom_evaluate_python_function_implementation(): Make sure that
-	the we return an appropriate value type, by calling
-	convert_value(), because pygda_value_from_pyobject() would not
-	necessarily return exactly what we want.
-	This seems to fix bug #499459 (Perriman) so that numeric
-	calculations do not cause SQL errors in non-English locales.
-
-2007-11-25  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Connected an authentication handler for the
-	publisher, but it needs the full password to try a postgres connection.
-
-2007-11-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: get/set_userlevel(): Do not
-	allow developer mode if the document was opened over the network via browse.
-	That would require writing of the original document. That is a feature for the
-	future maybe.
-	* glom/frame_glom.cc: on_menu_userlevel_Developer(): Warn when trying to
-	enter developer mode.
-	* glom/application.cc: When opening from browse, explicitly set the user
-	level to operator and update the UI, though I feel this should be automatic.
-
-2007-11-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Added get/set_opened_from_browse().
-	* glom/application.cc: on_menu_file_open(): Use set_opened_from_browse().
-	offer_new_or_existing(): Check get_opened_from_browse() so we don't think it
-	failed just because there is no URI, so we don't offer the window again.
-
-2007-11-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: Fix the double free, but for some reason it shows the initial
-	dialog again.
-
-2007-11-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Added save_and_get_content(),
-	so I can manipulate a temporary copy of the document and then load it properly.
-	* glom/application.cc:
-	on_menu_file_open(): When openeing a browsed document, use a temporary instance
-	of the document class (incredibly inefficiently) to mark the document as
-	not self-hosted. This now actually opens the file, but then it crashes with a
-	double free warning.
-
-2007-11-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: Don't provide the service type twice to
-	aui_service_dialog_set_browse_service_types(), so we don't get
-	an unnecessary type column.
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: avahi_start_publishing():
-	Mention the document name in the published service name, to make
-	browsing more sensible.
-
-2007-11-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Added set_get_document_func().
-	This avoids us having to link to the application (not in libglom)
-	to get the document from it.
-	avahi_start_publishing(): Publish the document contents via a
-	callback, though this needs a change in libepc to copy the data.
-
-	* configure.in: Depend on avahi-ui, so we can show the
-	browse dialog.
-	* glom/application.cc:
-	* glom/application.h:
-	Added ui_file_select_open_with_browse() which adds a browse
-	network button to the file chooser dialog and then gets the server
-	details after asking the user to browse.
-	on_menu_file_open(): Use ui_file_select_open_with_browse() instead
-	of regular ui_file_select_open(). Use the new
-	Bakery::App_WithDoc::open_document_from_data() if opening over the
-	network.
-
-2007-11-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h: Rearrange code to reduce the number of
-	ifdefs.
-	* glom/utility_widgets/Makefile.am: Do not build
-	filechooserdialog_saveextras.[h|cc] in client-only mode.
-
-2007-11-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/filechooserdialog.cc:
-	* glom/utility_widgets/filechooserdialog.h: Rename this to:
-	* glom/utility_widgets/filechooserdialog_saveextras.cc:
-	* glom/utility_widgets/filechooserdialog_saveextras.h:
-	because I want to add another custom one for loading.
-
-2007-11-20  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* glom/libglom/Makefile.am:
-	* glom/libglom/avahi_publisher.cc:
-	* glom/libglom/avahi_publisher.h: Remove this.
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Replace the old
-	AvahiPublisher with use of libepc.
-	As before, it currently just advertizes the service,
-	but soon it will publish the .glom file.
-
-2007-11-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/layout_item_dialogs/Makefile.am:
-	* glom/libglom/Makefile.am:
-	* glom/libglom/data_structure/Makefile.am:
-	* glom/libglom/data_structure/layout/Makefile.am:
-	* glom/libglom/data_structure/layout/report_parts/Makefile.am:
-	* glom/libglom/document/Makefile.am:
-	* glom/libglom/python_embed/Makefile.am:
-	* glom/mode_data/Makefile.am:
-	* glom/mode_design/Makefile.am:
-	* glom/mode_design/fields/Makefile.am:
-	* glom/mode_design/print_layouts/Makefile.am:
-	* glom/mode_design/script_library/Makefile.am:
-	* glom/mode_design/users/Makefile.am:
-	* glom/mode_find/Makefile.am:
-	* glom/navigation/Makefile.am:
-	* glom/python_embed/Makefile.am:
-	* glom/python_embed/python_module/Makefile.am:
-	* glom/relationships_overview/Makefile.am:
-	* glom/reports/Makefile.am:
-	* glom/translation/Makefile.am:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/adddel/Makefile.am:
-	* glom/utility_widgets/adddel/eggcolumnchooser/Makefile.am:
-	* glom/utility_widgets/canvas/Makefile.am:
-	* glom/utility_widgets/db_adddel/Makefile.am:
-	Use AM_CPPFLAGS instead of the deprecated INCLUDES.
-
-2007-11-19  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Depend on the latest Bakery.
-
-2007-11-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/layout/layoutgroup.cc:
-	* glom/libglom/data_structure/layout/layoutgroup.h:
-	Remove add_item(item, sequence). Added add_item(item, item at position);
-        Removed remove_item(). Removed m_sequence.
-	Use a vector of items instead of a map.
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Do not load or save the
-	layout item sequence number. Just use the sequence in the XML file.
-
-	* glom/application.cc:
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/filechooser_export.cc:
-	* glom/filechooser_export.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	* glom/layout_item_dialogs/dialog_group_by.cc:
-	* glom/layout_item_dialogs/dialog_groupby_secondaryfields.cc:
-	* glom/layout_item_dialogs/dialog_groupby_secondaryfields.h:
-	* glom/layout_item_dialogs/dialog_groupby_sortfields.cc:
-	* glom/layout_item_dialogs/dialog_notebook.cc:
-	* glom/libglom/data_structure/layout/layoutitem.cc:
-	* glom/libglom/data_structure/layout/layoutitem.h:
-	* glom/libglom/data_structure/layout/layoutitem_portal.cc:
-	* glom/libglom/sharedptr.h:
-	* glom/libglom/test_sharedptr_layoutitem.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.h:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_export.cc:
-	* glom/mode_data/dialog_layout_export.h:
-	* glom/mode_data/dialog_layout_list_related.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.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/reports/dialog_layout_report.cc:
-	* glom/reports/report_builder.cc:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h:
-	Adapt to the new LayoutGroup API. This is now much simpler - we don't have
-	to worry about the sequence number of keeping the two copies of it in sync.
-
-2007-11-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/flowtablewithfields.cc:
-	on_dnd_add_layout_item(): Copy/adjust lots of already-ugly
-	ugly code from on_datawidget_layout_item_added() to update
-	the group's list of child items, so that the layout is really
-	saved in the document.
-	Both these functions need to be improved and partly combined.
-
-2007-11-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	More whitespace fixes.
-
-2007-11-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h:
-	* glom/utility_widgets/dragbar.cc:
-	* glom/utility_widgets/dragbar.h:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/placeholder-glom.cc:
-	* glom/utility_widgets/placeholder-glom.h:
-	* glom/utility_widgets/sidebar.cc:
-	* glom/utility_widgets/sidebar.h: Corrected inconsistent
-	whitespace. Do not use tabs.
-
-2007-11-16  Andre Klapper  <a9016009 gmx de>
-
-	* glom/box_db_table_relationships.cc:
-	* glom/glom_developer.glade:
-	Added translator comments to fix bug #497188.
-
-2007-11-16  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/application.cc:
-	* glom/application.h:
-	* glom/glom.glade:
-
-	Added SideBar API
-
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-
-	Show drag sidebar when in developer mode
-
-	* glom/libglom/data_structure/layout/Makefile.am:
-	* glom/libglom/data_structure/layout/layoutitem_placeholder.cc:
-	* glom/libglom/data_structure/layout/layoutitem_placeholder.h:
-
-	Added Placeholder Layoutitem for use in drag & drop preview code
-
-	* glom/utility_widgets/sidebar.cc:
-	* glom/utility_widgets/sidebar.h:
-	* glom/utility_widgets/dragbar.cc:
-	* glom/utility_widgets/dragbar.h:
-	* glom/utility_widgets/dragbutton.cc:
-	* glom/utility_widgets/dragbutton.h:
-	Added sidebar base class and sidebar for dnd code
-
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/datawidget.h:
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h:
-	* glom/utility_widgets/placeholder-glom.cc:
-	* glom/utility_widgets/placeholder-glom.h:
-	* glom/utility_widgets/test_flowtable.cc:
-
-	Drag & Drop layout
-	(see http://www.glom.org/wiki/index.php?title=Development/Plans/DragAndDropLayout)
-	and #358092)
-
-	* icons/16x16/Makefile.am:
-	* icons/glom-field.png:
-	* icons/glom-group.png:
-
-	Added sidebar icons (stolen from glade-3...)
-
-2007-11-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade:
-	* glom/libglom/data_structure/layout/layoutitem_notebook.cc:
-	* glom/libglom/spawn_with_feedback.cc:
-	* glom/main.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/translation/window_translations.cc:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	Added translator comments and fixed typos from bug #497188.
-	(Andre Klapper)
-
-2007-11-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h:
-	construct_specified_columns(): Use the font, foreground-color,
-	and background-color settings for the list view too.
-
-2007-11-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/layoutwidgetbase.cc:
-	apply_formatting(): Use the correct widget color
-	properties to really set the foreground text color and
-	background color.
-
-2007-11-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am: Add an extra repeated link line.
-	* glom/frame_glom.h: Remove the horrible extra member
-	variable hack around that linker strangeness.
-
-	* glom/utility_widgets/canvas/Makefile.am: Correct some filenames to
-	fix the distcheck.
-
-2007-11-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h:
-	Handle the drag-motion signal to show a temporary canvas item while dragging.
-	But this does not work - the cursor is grabbed and no further motion events
-	occur, so this is partly commented out.
-
-2007-11-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: Move dialog creation from the constructor to
-	where they are first used. This reduces start-up time slightly, and stops
-	wasting memory, at the cost of slightly (impercetible, hopefully) longer
-	time to open menus.
-
-2007-11-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade: Make the toolbar pack_end and non-expand
-	so that it acts as expected.
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	Call set_default_position() with the drop coordinates, so that all items
-	are dropped at the correct place.
-
-2007-11-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	on_canvas_drag_drop(): Do not call drag_get_data(). It does not seem
-	necessary - it causes two drops to happen instead of one.
-
-2007-11-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/box_print_layouts.cc:
-	on_adddel_changed();
-	* glom/navigation/box_tables.cc: on_adddel_changed():
-	Fix the rename confirmation dialog to actually have two buttons.
-
-2007-11-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	fill_with_data(): Do not try to get data for fields that were
-	not yet chosen.
-
-2007-11-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/Makefile.am:
-	* glom/mode_design/print_layouts/action_layout_item.cc:
-	* glom/mode_design/print_layouts/action_layout_item.h:
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h:
-	Added a toolbar whose items can be dragged to the canvas.
-	It is not working perfectly and it is not pretty, but it is a
-	start.
-
-2007-11-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade:
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h:
-	Added an undockable vertical toolbar to replace the Insert menu.
-	It is not very attractive, and it needs to work as a drag source,
-	rather than being clickable items.
-
-2007-11-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.h:
-	add_layout_group(): added an is_top_level parameter, so we can
-	avoid adding a canvas item for the canvas's own layout group.
-
-2007-11-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/print_layout.cc: Copy constructor
-	and operator=(): Copy the page_setup.
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	get_print_layout(), set_print_layout(): Actually load/save the
-	page setup.
-
-2007-11-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	fill_with_data(): Don't crash if no fields are on the layout.
-	* glom/printoperation_printlayout.cc:
-	* glom/printoperation_printlayout.h: Handle the paginate
-	signal, though this probably requires the GTK+ patch in
-	bug #345345.
-
-2007-11-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	Some very minor comments next to some maemo-ifdefs.
-
-2007-11-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/layout/layoutitem.cc:
-	* glom/libglom/data_structure/layout/layoutitem.h: Added
-	get/set_print_layout_split_across_pages() for future use.
-
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h:
-	get/set_node_attribute_value_as_decimal(): Added a default parameter,
-	defaulting to 0, so we can use other values as defaults to avoid
-	superfluous attributes.
-	Used this when loading and saving groups, because 1 column is
-	the default, and 0 is meaningless.
-
-	* glom/utility_widgets/canvas/canvas_group_movable.cc:
-	* glom/utility_widgets/canvas/canvas_group_movable.h:
-	Store the x and y even before there is a child.
-
-	* glom/utility_widgets/canvas/Makefile.am:
-	* glom/utility_widgets/canvas/canvas_table_movable.cc:
-	* glom/utility_widgets/canvas/canvas_table_movable.h:
-	Added this canvas item.
-	* glom/utility_widgets/canvas/canvas_item_movable.cc:
-	Support the table item in the cast functions.
-	Return false from some signal handlers, so that other objects
-	can handle them too.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	set_layout_item(): Create a table canvas item for a portal layout
-	item, though it is currently just a useless test table.
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	Handle the loading and saving of the portal layout item.
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h:
-	Added an Insert Related Records menu item.
-
-2007-11-06  Armin Burgmeier  <armin openismus com>
-
-	* several files: Merged changes from GLOM_CLIENTONLY branch. This
-	polished up the maemo port a bit.
-
-2007-11-04  Gabor Kelemen  <kelemeng gnome hu>
-
-	*glom/glom_developer.glade: Remove translatable property from stock items. Fixes #493202
-
-2007-11-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/layout/Makefile.am:
-	* glom/libglom/data_structure/layout/layoutitem_line.cc:
-	* glom/libglom/data_structure/layout/layoutitem_line.h:
-	Added this new layout item, only for print layouts.
-	* glom/libglom/document/document_glom.cc: load and save the
-	new layout item.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	set_layout_item(): Handle the new layout item type, creating
-	a canvas line for it.
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h:
-	Added Insert menu items, to add horizontal and vertical lines.
-	* glom/utility_widgets/canvas/canvas_group_resizable.cc:
-	* glom/utility_widgets/canvas/canvas_group_resizable.h:
-	Create (and handle) different manipulators if the child is a line.
-	* glom/utility_widgets/canvas/canvas_line_movable.cc:
-	set_coordinates(): Set the x/y/width/height too, for generic code.
-
-2007-11-01  Murray Cumming  <murrayc murrayc com>
-
-	* po/POTFILES.in: Added new files.
-
-2007-10-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: Added bool get_viewing_details().
-	Handled the notebook's page_switch to refresh the
-	print sub-menu.
-	* glom/application.cc: fill_menu_print_layouts():
-	Do not list print layouts if we are viewing the list,
-	because they are (currently) only for details.
-
-2007-10-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_details.h: Set m_FoundSet
-	whenever the primary key value is set, so we really print
-	the layout for the current record.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	set_db_data(): Avoid triggering a crash in goocanvas
-	when setting a NULL pixbuf. Patch sent.
-
-2007-10-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/canvas_group_resizable.cc:
-	set_child(): Really remove the old item.
-
-2007-10-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/canvas_group_resizable.cc:
-	* glom/utility_widgets/canvas/canvas_group_resizable.h:
-	Re-enable hiding of the corner and edge manipulators when the
-	cursor is not over the item. Add a Rect so we can drag and
-	mouse-over the entire area, not just the part occupied by
-	the text.
-	Store and use the position even when there is no child yet.
-	set_child(): Ignore the initial position of the child:
-	set it to that of self. Document that.
-	Put the manipulators in a group, to simplify the code that
-	ensures their z position.
-	I am gradually more certain that I should have just used
-	a GooCanvasTable for this.
-
-	* glom/utility_widgets/canvas/canvas_editable.cc:
-	* glom/utility_widgets/canvas/canvas_editable.h:
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.h:
-	Override set_grid_gap() so we can make sure that it is above
-	our page bounds rect.
-
-2007-10-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h:
-	Added a View/Fit To Page menu item, and defaulted to this,
-	rescaling as the window is resized.
-
-2007-10-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.h:
-	Draw lines to indiciate the page margins (the parts on which
-	the printer cannot print).
-	* glom/printoperation_printlayout.cc: Call set_use_full_page(),
-	because we include the margin space our canvas.
-
-2007-10-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	fill_with_data(): Use the correct field index, so that the
-	field data is shown correctly.
-
-2007-10-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/canvas_editable.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.h:
-	Add the items to a group, so we can remove them without removing
-	other canvas items.
-	set_page_setup(): Make the canvas gray and put a white rectangle
-	on the bottom to show the page bounds.
-
-2007-10-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade:
-	* glom/base_db.cc: offer_textobject(): Return the starting
-	text if cancel was clicked, so that cancel doesn't clear the
-	text.
-	* glom/layout_item_dialogs/box_formatting.cc:
-	* glom/layout_item_dialogs/box_formatting.h: Replaced the
-	3 hide* functions with set_is_for_print_layout().
-	Replace the checkboxes with labels in this case.
-	This is still quite unpleasant but we will eventually have
-	an editor on the layout window, when selection is implemented.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	* glom/mode_design/print_layouts/canvas_layout_item.h:
-	Make sure that layout items have a font_desc set by default.
-
-2007-10-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	Fix a typo so that the positions really are preserved.
-
-2007-10-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade:
-	* glom/layout_item_dialogs/dialog_textobject.cc:
-	* glom/layout_item_dialogs/dialog_textobject.h:
-	set_textobject(): Added a bool show_title parameter.
-	* glom/base_db.cc:
-	* glom/base_db.h: offer_textobject(): Added a bool show_title
-	parameter.
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	update the position before showing edit or formatting dialogs,
-	to avoid losing the position when resetting the layout item.
-
-	* glom/utility_widgets/canvas/canvas_editable.cc:
-	* glom/utility_widgets/canvas/canvas_editable.h: Added an
-	add_item(item, group) overload, so we can group items together
-	instead of putting them directly in the root group.
-
-2007-10-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/printoperation_printlayout.cc: Call set_unit(), because
-	this apparently affects the cairo context that will be provided
-	to us.
-	* glom/utility_widgets/canvas/canvas_text_movable.cc:
-	* glom/utility_widgets/canvas/canvas_text_movable.h: Rename
-	set_font() to set_font_points(), and convert from mm to points,
-	using Pango::FontDescription to manipulate the font_desc string.
-
-	Text is now an appropriate size, though there is plenty of
-	other weirdness still.
-
-2007-10-25  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade:
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h:
-	Added rulers around the canvas, which update appropriately, like
-	in Inkscape.
-	* glom/printoperation_printlayout.cc: Do not scale the context.
-	Everything should already be exactly correct on the canvas.
-
-2007-10-25  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/layout/layoutitem_text.cc:
-	* glom/libglom/data_structure/layout/layoutitem_text.h:
-	Added m_formatting and get_formatting_used() here, as in
-	LayoutItem_Field. They should probably share a base class if
-	this gets silly.
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: load and save the
-	formatting for text items as well as just fields.
-	* glom/layout_item_dialogs/box_formatting.cc:
-	* glom/layout_item_dialogs/box_formatting.h: Added default
-	arguments for set_formatting() parameters, so we can ignore
-	stuff that is only relevant to fields.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	* glom/mode_design/print_layouts/canvas_layout_item.h:
-	set_layout_item(): Use set_text() rather than property_text(),
-	so that the markup is constructed. Use markup for text items as well
-	as fields.
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	on_context_menu(): Show formatting options for text items as well as
-	fields.
-	* glom/utility_widgets/layoutwidgetbase.cc:
-	* glom/utility_widgets/layoutwidgetbase.h: Added the
-	apply_formatting(widget, formatting) convenience method.
-	* glom/utility_widgets/datawidget.cc: Constructor: Use the
-	apply_formatting() convenience method.
-	* glom/utility_widgets/flowtablewithfields.cc: add_textobject():
-	Use formatting for text items.
-
-2007-10-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc: Save the font and color
-	formatting for all field types, not just text.
-	* glom/layout_item_dialogs/box_formatting.cc:
-	* glom/layout_item_dialogs/box_formatting.h: Added
-	hide_choices(), hide_multiline(), set_force_show_text_formatting().
-	enforce_constraints(): Show the font and color options for all
-	field types except booleans, not just text.
-	* glom/mode_design/print_layouts/dialog_text_formatting.cc:
-	* glom/mode_design/print_layouts/dialog_text_formatting.h:
-	Use the new functions to show appropriate options for the print
-	layout items.
-
-2007-10-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade:
-	* glom/layout_item_dialogs/box_formatting.cc:
-	* glom/layout_item_dialogs/box_formatting.h: Put the
-	numeric, text, and choices sections in a notebook, to
-	make the dialog smaller and less scary.
-	Add checkboxes so that the user can choose not to use
-	any special font or colors (to get the defaults).
-
-2007-10-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_developer.glade: Added window_text_format.
-	* glom/layout_item_dialogs/box_formatting.cc:
-	* glom/layout_item_dialogs/box_formatting.h:
-	Added font and color properties.
-	* glom/libglom/data_structure/layout/fieldformatting.cc:
-	* glom/libglom/data_structure/layout/fieldformatting.h:
-	Added get/set for font and foreground/background colors.
-	* glom/libglom/data_structure/layout/layoutitem.cc:
-	* glom/libglom/data_structure/layout/layoutitem.h:
-	Removed get/set_print_layout_text_size() - We use the new
-	stuff in FieldFormatting instead.
-	* glom/libglom/document/document_glom.cc: Load and save the
-	new field formatting.
-	* glom/mode_design/print_layouts/Makefile.am:
-	* glom/mode_design/print_layouts/dialog_text_formatting.cc:
-	* glom/mode_design/print_layouts/dialog_text_formatting.h:
-	Added a dialog for text formatting, containing the same
-	text formatting options as the field properties layout
-	(via box_formatting.[h|cc] and its glade definition.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	Use the field formatting to change the font and colors.
-	* glom/utility_widgets/canvas/canvas_text_movable.cc:
-	* glom/utility_widgets/canvas/canvas_text_movable.h: Added
-	set_font(), and set_text(), so we can build the pango markup.
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.h:
-	on_context_menu_formatting(): Show the font format dialog,
-	though I need to figure out why the inner box is not visible.
-	* glom/utility_widgets/datawidget.cc: Use the formatting font
-	and properties here, so weird styles can be used on the on-screen
-	layout too.
-
-2007-10-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/layout/layoutitem.cc:
-	* glom/libglom/data_structure/layout/layoutitem.h:
-	Added get_print_layout_text_size(), though we should have this for
-	on-screen text too.
-	* glom/utility_widgets/canvas/canvas_text_movable.cc:
-	* glom/utility_widgets/canvas/canvas_text_movable.h: Added set_text()
-	and set_text_size(), so we can use pango markup.
-	* glom/mode_design/print_layouts/canvas_layout_item.cc: set_layout_item():
-	Set the text size from the layout item.
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.h: Constructor:
-	Set the units to mm, and set the page setup to a default.
-	set_page_setup(): Change the canvas bounds to match the page setup.
-	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
-	* glom/mode_design/print_layouts/window_print_layout_edit.h:
-	init_menu(): Added zoom items to the view menu, and start with 50%.
-
-2007-10-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/canvas/Makefile.am:
-	* glom/utility_widgets/canvas/canvas_image_movable.cc:
-	* glom/utility_widgets/canvas/canvas_image_movable.h:
-	* glom/utility_widgets/canvas/canvas_item_movable.cc:
-	Added an image item.
-	* glom/utility_widgets/canvas/canvas_group_resizable.cc:
-	* glom/utility_widgets/canvas/canvas_group_resizable.h:
-	Added get_child().
-	* glom/mode_design/print_layouts/canvas_layout_item.cc:
-	* glom/mode_design/print_layouts/canvas_layout_item.h:
-	Create an image item for image fields, and text items for
-	the other field types.
-	Added set_db_data() which changes the item contents to show
-	real data instead of, for instance, a field name.
-	* glom/mode_design/print_layouts/canvas_print_layout.cc:
-	* glom/mode_design/print_layouts/canvas_print_layout.h:
-	Added fill_with_data().
-	* glom/mode_data/box_data_details.cc: init_db_details():
-	Set the m_found_set where_clause from the primary key details
-	so we can use it later.
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h: Added get_found_set_details().
-	* glom/frame_glom.cc: on_menu_print_layout_selected():
-	Fill the canvas with data before printing, from the currently
-	viewed details record.
-
-2007-10-23  Murray Cumming  <murrayc murrayc com>
-
-	* Merged from the glom-precise-printing branch, because I have
-	made most of the large changes, and I want to reduce the number
-	of branches that we are working on.
-
-2007-10-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h:
-	Added check_user_is_not_root().
-	* glom/main.cc: Do not allow the user to start glom
-	as root (or sudo) because postgres cannot start as root,
-	and it is generally a bad idea for a networked application.
-	Thanks to Norman for identifying the problem.
-
-2007-10-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/dialog_fieldcalculation.cc:
-	* glom/mode_design/fields/dialog_fieldcalculation.h:
-	on_button_test(): Warn if there is no return statement because it
-	is easy to forget this for simple calculations.
-	Thanks to Federico Munerotto for showing that this check is
-	helpful.
-
-2007-10-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/field.cc:
-	* glom/libglom/data_structure/field.h: Copy constructor:
-	copy m_field_info instead of sharing one reference-counted instance.
-	get_field_info(): Add a const overload and make the existing one non-const.
-	This const correctness should prevent us from using the same instance when
-	we actually want to explicitly take a copy.
-	This errors were probably caused during the port to libgda 3.0, when
-	Gda::Column became a reference-counted object.
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	get_field_definition(): copy the field_info instead of just reusing the
-	existing one, to avoid changing the original field_info accidentally.
-
-	These changes make field type changes actually work again in 1.6.
-
-2007-10-16  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* glom/main.cc:
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	* glom/relationships_overview/printoperation_relationshipsoverview.
-	h: Use the latest goocanvasmm API, with different pgk-config and
-	include path.
-
-2007-10-14  Yannig Marchegay  <yannig marchegay org>
-
-	* configure.in: Added 'oc' to ALL_LINGUAS.
-
-2007-10-12  Armin Burgmeier  <armin openismus com>
-
-	* glom/libglom/connectionpool.cc: Fixed #ifdef from last commit, it is
-	supposed to be #ifndef.
-
-2007-10-11  Armin Burgmeier  <armin openismus com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/adddel/adddel.cc: Don't use deprecated gtkmm
-	API.
-
-	* glom/libglom/connectionpool.cc:
-	(ConnectionPool::check_postgres_gda_with_warning): Use Hildon::Note
-	instead of Gtk::MessageDialog in maemo version.
-
-2007-10-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/relationships_overview/printoperation_relationshipsoverview.
-	cc: Fix the build for the latest goocanvasmm API, though all this
-	code has been reworked in the glom-precise-printouts branch.
-
-2007-10-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/relationships_overview/printoperation_relationshipsoverview.
-	cc: Get the bounds of the root item rather than of the whole canvas,
-	for more suitable scaling.
-
-2007-10-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	* glom/relationships_overview/printoperation_relationshipsoverview.
-	cc: scale before printing, because that is how cairo works.
-
-2007-10-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade:
-	* glom/relationships_overview/Makefile.am:
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	* glom/relationships_overview/printoperation_relationshipsoverview.
-	cc:
-	* glom/relationships_overview/printoperation_relationshipsoverview.
-	h: Some basic printing support for the relationships overview
-        (via a menu item in the dialog, which
-	is probably bad UI, but I don't like the idea of extra buttons either).
-	It currently does not scale to fit the page, and does not offer
-	landscape printing.
-
-2007-10-04  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Depend on goocanvasmm.
-	* glom/main.cc: initialize goocanvasmm if not in client-only mode.
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	Use C++ types as much as possible (often using Glib::wrap() instead of
-	the goocanvasmm constructors, because they are currently broken), and
-	generally clean up this code a bit.
-
-2007-10-01  Armin Burgmeier  <armin openismus com>
-
-	* several files: Merged changes from the GLOM_CLIENTONLY branch. This
-	adds an --enable-maemo configure option that builds a clientonly
-	version of glom for the maemo platform. See the ChangeLog in the
-	GLOM_CLIENTONLY branch for a detailed list of changes.
-
-2007-10-01  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: get_record_counts():
-	Return the stored record count (from the extra COUNT query), instead of using
-	DataModel::get_n_rows(), because that returns -1 when using the iter-only model.
-
-2007-09-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/layout/layoutitem_field.cc:
-	* glom/libglom/data_structure/layout/layoutitem_field.h: Added get_sql_name(),
-	to get the fully qualified field name (with the table name and .).
-	* glom/libglom/utils.cc: build_sql_select_with_where_clause():
-	Use get_sql_name() instead of building the name here, to simplify that code
-	slightly.
-
-	* glom/libglom/connectionpool.cc: handle_error(): When getting the text of
-	errors, ignore any events that are not Gnome::Gda::CONNECTION_EVENT_ERROR,
-	to avoid showing other irrelevant warnings. This requires the latest libgdamm.
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.h: Remove the useless
-	m_column_record member variable.
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	refresh_from_database(), fill_values_if_necessary(): Create an iter-only
-	model (needs the latest libgda, glibmm, and rebuilt libgdamm), to
-	hopefully only get the data that we actually want.
-
-2007-09-27  Armin Burgmeier  <armin openismus com>
-
-	* glom/glom.glade: Make the entry_quickfind not activate the default
-	button when pressing enter because glom already connects
-	signal_activate(). When no find criteria was entered, two error
-	dialogs were shown at the same time.
-
-2007-09-20  Armin Burgmeier  <armin openismus com>
-
-	* glom/frame_glom.cc: Load "connection failed" dialog also in client
-	only mode to prevent a crash when that dialog is supposed to be
-	displayed.
-
-	* glom/main.cc: Don't include <gtksourceviewmm/init.h> in client only
-	mode.
-
-2007-09-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/main.cc: initialize gtksourceviewmm so that the GType is available
-	to libglade, to avoid a warning (and possibly a crash).
-
-2007-09-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list.cc: create_layout(): Do not try to
-	add the previously-used primary key if there is no primary key in the
-	table (for instance, if there are no fields in the table). This avoids
-	an internal postgres warning about a non-existant field.
-	* glom/utility_widgets/db_adddel/db_adddel.cc: Clear the model if there
-	are no fields. This prevents a crash at startup if a table has no fields.
-
-2007-09-14  Armin Burgmeier  <armin openismus com>
-
-	* several files: Merged changes from the GLOM_CLIENTONLY branch. This
-	adds an --enable-client-only configure option that disables support
-	for developer mode and self-hosting. See the ChangeLog in the
-	GLOM_CLIENTONLY branch for a detailed list of changes.
-
-2007-09-13  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* glom/layout_item_dialogs/dialog_buttonscript.cc:
-	* glom/mode_design/fields/dialog_fieldcalculation.cc:
-	* glom/mode_design/script_library/dialog_script_library.cc:
-	Ported to the latest gtksourceviewmm, using the gtksourceview-2.0
-	API.
-
-This is svn trunk. See also the glom-1-6 branch.
-
-1.6.0:
-
-2007-09-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: Added a handle_error(Glib::Exception) overload.
-	* glom/frame_glom.cc:
-	* glom/main.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/reports/report_builder.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: Catch
-	Glib::Exceptions as well as std::exception, hopefully allowing us to
-	catch more errors without crashing.
-
-2007-09-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_privs.cc: Fix a warning. std::string::find() returns npos,
-	not -1 when it fails.
-
-1.5.3:
-
-2007-09-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: Fix an if, adding a !, stopping us from
-	updating the fields in the document unnecessarily. This avoid a
-	warning about unsaved changes when closing, even in operator mode.
-	* glom/libglom/document/document_glom.cc: set_modified(): Do nothing
-	if the user is not in developer mode, because there are legitimate
-	times when things can change temporarily in operator mode.
-
-2007-09-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: When the first postgres shutdown
-	fails (as happens under valgrind, and in bug #420962) try again,
-	though that seems to fail too.
-
-2007-09-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc:
-	save_before_layout_item_field_formatting(),
-	load_after_layout_item_field_formatting(),
-	* glom/utility_widgets/datawidget.cc: constructor:
-	Ignore the multiline formatting options for non-text fields,
-	so that these will not be used for number fields if they were used
-	before changing the field from text to number.
-	Bug #443360 (Harry Mills)
-
-2007-09-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: start_self_hosting(): Specify a
-	Linux/Unix SIGSEGV signal handler so we stop postgres when we
-	crash. I wonder if there is a way to still have bug-buddy's
-	crash reports while doing this.
-
-1.5.2 (unstable):
-
-2007-06-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/spawn_with_feedback.cc:
-	execute_command_line_on_thread_create(): Do not delete the data
-	before using it, to avoid a crash.
-	* configure.ac: Depend on the latest versions of libgdamm and libxml++,
-	which also have fixes for crashes in Glom.
-
-2007-06-05  Ignacio Casal Quinteiro  <nacho resa gmail com>
-
-	* configure.in: Added 'gl' to ALL_LINGUAS.
-
-1.5.1 (unstable):
-
-2007-05-22  Yselkowitz  <yselkowitz users sourceforge net>
-
-	* glom/libglom/Makefile.am:
-	* glom/libglom/connectionpool.cc:
-	Cygwin/Windows fix: Expect the EXEEXT file extension when searching for
-	postmaster. Bug #440335.
-
-2007-05-20  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Check for the pgk-config file of the libgda
-	postgres providers.
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h:
-	* glom/main.cc: Added and used
-	check_postgres_gda_client_is_available_with_warning() to do
-	a runtime check for the presence of the libgda postgres provider.
-
-2007-05-14  Johannes Schmid <johannes schmid openismus com>
-
-	* glom/python_embed/glom_python.cc:
-	#361171 - Show Python errors in a dialog
-
-2007-05-14  Armin Burgmeier  <armin openismus com>
-
-	* glom/relationships_overview/relationships_canvas.cc:
-	* glom/relationships_overview/relationships_canvas.h:
-	* glom/relationships_overview/relationshipscanvas_tablewidget.cc:
-	* glom/relationships_overview/relationshipscanvas_tablewidget.h:
-	* glom/relationships_overview/table_canvasitem.h:
-	* glom/relationships_overview/table_canvasitem.cc: Removed these files
-	since they are no longer used.
-
-	* glom/relationships_overview/Makfile.am: Removed aforementioned files
-	from build.
-
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	* glom/main.cc: Do not initialize/include libgnomecanvasmm anymore.
-
-	* configure.in: Dropped dependency on libgnomecanvasmm.
-
-2007-05-13  Armin Burgmeier  <armin openismus com>
-
-	* glom/glom.glade: Sort most recently used files first.
-
-	* glom/application.h:
-	* glom/appliaction.cc: Added m_example_uri field that stores the URI
-	of the opened example file. This is checked against in
-	document_history_ad() to prevent adding of example files into the
-	recent files list.
-
-2007-05-10  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Require libgda 3.0.1, which is the first version that works
-	enough for Glom.
-
-2007-05-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h: Override document_history_add from the Bakery App_WithDoc
-	class, to try (unsuccessfully so far) to prevent adding of example files to
-	the recent files list.
-	offer_new_or_existing(): Do not shown non-existing recent files.
-
-2007-05-08  Armin Burgmeier  <armin openismus com>
-
-	* several files: Merged changes from the GLOM_LIBGDA3 branch. Glom now
-	builds against the new libgda and pygda API. See the ChangeLog in that
-	branch for a more detailed view of what has exactly changed.
-
-2007-05-01  Armin Burgmeier  <armin openismus com>
-
-	* glom/application.cc: Do not leak the file chooser dialog in
-	ui_file_select_save().
-
-2007-04-23  Armin Burgmeier  <armin openismus com>
-
-	* glom/glade.glom: Fixed the dialog so that the recent chooser is
-	below the text and in its own frame.
-
-	* glom/application.cc: Hide the recent chooser when they are no
-	recently used items.
-
-2007-04-23  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* icons/16x16/Makefile.am:
-	* icons/22x22/Makefile.am:
-	* icons/24x24/Makefile.am:
-	* icons/32x32/Makefile.am:
-	* icons/48x48/Makefile.am:
-	* icons/Makefile.am:
-	* icons/scalable/Makefile.am: Used build rules like the ones in totem,
-	to install these icons.
-
-2007-04-23  Andreas Nilsson  <nisses mail home se>
-
-	* icons/16x16/glom.png
-	* icons/16x16/glom.svg
-	* icons/22x22/glom.png
-	* icons/22x22/glom.svg
-	* icons/24x24/glom.png
-	* icons/32x32/glom.png
-	* icons/32x32/glom.svg
-	* icons/48x48/glom.png
-	* icons/scalable/glom.svg: New icons following the tango style guidelines.
-
-2007-04-22  Armin Burgmeier  <armin openismus com>
-
-	* glom/application.cc:
-	* glom/glom.glade: Added a RecentChooser widget to the initial dialog
-	that allows to open quickly a recently used file, as requested in
-	bug #349355.
-
-	* configure.in: Depend on gtkmm-2.10 to make use of the new
-	RecentChooser API in GTK+.
-
-	However, this needs some more work to make it look less awkward. murrayc.
-
-2007-04-10  Armin Burgmeier  <armin openismus om>
-
-	* glom/libglom/document/document_glom.cc: Added support for a new
-	example rows format where the value of each field is identified by the
-	field name rather than the field index, to be more robust against
-	changes.
-
-	* glom/libglom/utils.cc: string_separate): For each quoted occurence,
-	do no longer put an empty string in the result vector when
-	ignore_quoted_separator is set.
-
-2007-04-01  Murray Cumming  <murrayc murrayc com>
-
-	po/en_GB.po: Restore the date printf format that was removed by
-	David Lodge <dave cirt net> on 2006-09-12.
-	This date format translation corrects the parsing and display of
-	4-digit dates.
-	Bug #425116
-
-2007-03-20  Mathias Hasselmann  <mathias hasselmann gmx de>
-
-	* glom/libglom/connectionpool.cc: Modify the default pg_hba.conf to
-	allow TCP/IP connections from any host when doing self-hosting.
-	Previously it had mistakenly only allowed connections from 127.0.0.1 (localhost).
-	Interestingly, not all local computers can be identified as 127.0.0.1  either,
-	so the connection was failing for some local computers too.
-        (ChangeLog comments from Murray)
-
-2007-03-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h: Added a show_ok_dialog() method, becasue it is silly to
-	always call the on in Frame_Glom.
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: create_self_hosting(): Take a parent window so we
-	can show some warning dialogs if something goes wrong. None of these have actually
-	been experienced though.
-
-	* glom/application.cc: ui_file_select_save(): If doing self-hosting then check that the
-	directory does not exist already, and warn the user.
-	For instance, you might specify test.glom, which would then creat test/test.glom, so it
-	will warn if test/ already exists.
-	Bug # 420482 (Mathias Hasselmann)
-
-
-2007-03-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: connection_request_password_and_choose_new_database_name():
-	Do not redeclare response variable, so we do not mistakenly think we failed later.
-	This is just a fix of the last commit.
-
-2007-03-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_new_self_hosted_connection.cc:
-	* glom/dialog_new_self_hosted_connection.h:
-	* glom/frame_glom.cc:
-	* glom/glom.glade:
-	* glom/mode_design/users/dialog_user.cc: Add a password confirm entry to the dialog,
-	check it, and check that the user name is not empty. As well as being obviously useful,
-	this will make it more obvious that you are entering a new user/password confirmation,
-	instead of an existing one.
-
-2007-03-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/utils.cc: Removed an unnessary static keyword on a typedef, which broke the
-	build with some compilers.
-
-2007-02-16  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* glom/Makefile.am:
-	* glom/frame_glom.cc: Enable the Relationships Overview code.
-
-1.4.0:
-
-2007-03-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/users/dialog_user.cc:
-	* glom/mode_design/users/dialog_user.h: Added check_password(), which warns about
-	an empty password or a password confirmation failure.
-	* glom/mode_design/users/dialog_users_list.cc: When adding or editing a user,
-	check the password, using check_password().
-
-1.3.12:
-
-2007-03-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom_privs.cc: Privs::get_table_privileges(): Cope with the changed
-	pg_class.relacl format in Postgres 8.x (8.2, maybe >=8.0), which does not have
-	the "group " prefix, now that users and groups are both just roles to Postgres.
-	The user/group distinction will remain in the Glom UI, because it is a sensible
-	way to organise the access rights.
-	This should still be able to cope with earlier versions of Postgres, such as
-	Postgres 7.4, but I have not tested that myself.
-
-	* glom/main.cc: Stop when there is a problem parsing the command line options,
-	and give a hint about using --help.
-
-2007-03-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: Commented-out the use of avahi, because
-	our use of it seems to be unstable, and it does not do anything useful yet
-	anyway.
-
-2007-03-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/Makefile.am:
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Moved the avahi code into its own class,
-	to keep the ConnectionPool class simpler.
-	The async stuff might mean that we cannot tie the avahi publishing to an
-	instance lifetime, but lets see.
-	* glom/libglom/test_avahi_publisher.cc: Added a test case for just the
-	avahi utility class.
-
-1.3.11:
-
-2007-03-04  Armin Burgmeier  <armin openismus com>
-
-	* glom/utilitiy_widgets/db_adddel/db_adddel.h:
-	* glom/utilitiy_widgets/db_adddel/db_adddel.cc: Added a
-	signal_script_button_clicked that is emitted when the user
-	clicks on a list button.
-
-	* glom/mode_data/box_data.h:
-	* glom/mode_data/box_data.cc: Added a execute_button_script()
-	function.
-
-	* glom/mode_data/box_data_details.cc: Make use of it.
-
-	* glom/mode_data/box_data_list.h:
-	* glom/mode_data/box_data_list.cc: Listen on
-	signal_script_button_clicked from m_AddDel and execute the script.
-	Refresh the list because the script may have altered it. This is done
-	in an idle handler because it crashes Glom otherwise.
-
-2007-03-04  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: Add a comment about the hope of using just the pg_ctl
-	result code in future.
-
-2007-03-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: When checking if the postgres instance
-	has finished starting, check for "is running" rather than "postmaster is running",
-	because this message has changed in postgres 8.2.
-	Yes, this is a nasty hack anyway, and we need a better way to programatically
-	know when the local server is running.
-
-2007-03-02  Armin Burgmeier  <armin arbur net>
-
-	* glom/mode_data/box_data_details.cc: Remove shadow from Viewport that
-	is created by Gtk::ScrolledWindow::add().
-
-2007-03-02  Murray Cumming  <murrayc murrayc-desktop>
-
-	* autogen.sh: Use --copy with gnome-doc-prepare, because that is
-	what gnome-common does.
-	* configure.in: Specify 0.9.0 to GNOME_DOC_INIT()
-	Change the default postgres tools path to use 8.2, as used on Ubuntu Feisty,
-	to make my life easier.
-
-1.3.10:
-
-2007-02-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: Add 5434 to the list of ports to try, because this
-	is used in the current Ubuntu Feisty beta for Postgres 8.2, though this might be changed
-	in later Ubuntu Feisty betas. Also added 5435 and 5436 for the future.
-
-2007-02-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: Corrected the title of the relationships overview
-	window.
-
-2007-02-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	More cleanup.
-
-2007-02-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	More syntax corrections.
-
-2007-02-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	Remember the windows size between instantiations, temporarily for the lifetime of the
-	application.
-
-2007-02-16  Rasmus Toftdahl Olesen  <halfdan halfdans net>
-
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	Patch in Bug #408408 to correct the source code formatting.
-
-2007-02-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_find/box_data_details_find.cc:
-	* glom/mode_find/box_data_list_find.cc: fill_from_database() methods:
-	Do not try to open a connection if the document is NULL, to stop a connection error dialog
-	while closing, after we have stopped self-hosting.
-
-2007-02-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/frame_glom.cc:
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: When starting self-hosting, double-check that the directory
-	is there so we can fail more pleasantly, in this rare case.
-
-2007-02-16  Murray Cumming  <murrayc murrayc com>
-
-	* examples/example_music_collection.glom: Publishers table: Correct the Albums relationship,
-	and add a list of related albums to the details view.
-
-2007-02-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/relationships_overview/dialog_relationships_overview.h: Added an override of
-	load_from_document() so that the tables are actually shown on the canvas.
-
-2007-02-16  Rasmus Toftdahl Olesen  <halfdan halfdans net>
-
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/relationships_overview/dialog_relationships_overview.h:
-	Updated for latest goocanvas API. Note that this code is disabled by default.
-	Bug #408408.
-
-1.3.9:
-
-2007-02-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/Makefile.am:
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Added check_postgres_is_available_with_warning(),
-	and install_postgress(). That latter may be patched by distros that choose (wrongly,
-	I believe) not to make Glom depend on Postgres at install-time.
-	There is some commented-out example code, with many helpful comments, implementing
-	the install-at-runtime code for Ubuntu/Debian.
-	* glom/libglom/gst-package.c:
-	* glom/libglom/gst-package.h: ifdefed-out helper code, taken from the Ubuntu/Debian patches
-	for gnome-system-tools.
-	* glom/main.cc:  main(): Call check_postgres_is_available_with_warning().
-	If Postgres is not installed, and cannot be installed, then Glom will quit.
-
-1.3.8:
-
-2007-02-12  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Depend on avahi-glib.
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Added avahi_start_publishing() and
-	avahi_stop_publishing() and use them to advertise the database server when self-hosting,
-	with a made-up avahi service type name. This is rough code based on the avahi examples.
-	I want to clean it up and maybe separate it into a separate class.
-
-2007-02-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: When creating a new database (not from an example) show the extended
-	FileChooserDialog again, by setting our new boolean.
-
-2007-02-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc: get_connection_self_hosted_directory_uri():
-	Use just glom_postgres_data for the subdirectory name, to create and to look for, for
-	self hosting, instead of prefixing it by the glom file name. This is less ugly, and it should
-	be safe enough because it is all inside the directory.
-	* glom/application.cc: get_file_uri_without_extension(): Do not ignore the return value of
-	Gnome::Vfs::Uri::append_string(). This should not have worked before, and still seems to work
-	now. Odd.
-
-2007-02-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: Always use a dynamically-found port number when starting
-	self-hosting, instead of only determining it when creating the file, by using the -p and -h
-	arguments to postmaster instead of specifying the same information in a postgresql.conf file.
-
-2007-02-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Add discover_first_free_port() helper function, based on
-	recommendation from Lennart Poettering. Use it to try a series of ports when deciding what port
-	to use for self-hosting. However, this should be tested every time we start the server, not just
-	when creating the files.
-
-2007-02-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_details.h: Remove the Gtk::Paned parent widget. Its functionality
-	was not used. It was just a relic from a previous nasty UI. Replaced it with a ScrolledWindow
-	that does vertical scrolling when necessary. Hopefully this will prevent the window from sometimes
-	being too high for the screen. Layout is variable height rather than variable width, so this makes
-	sense.
-	I also need to make the window take as much vertical space as it can.
-
-2007-02-11  Murray Cumming  <murrayc murrayc com>
-
-	* NEWS:
-	* glom/Makefile.am:
-	* glom/application.cc:
-	* glom/frame_glom.cc:
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h:
-	* glom/relationships_overview/dialog_relationships_overview.cc:
-	* glom/relationships_overview/dialog_relationships_overview.h: Added unfinished
-	code for Relationships Overview feature, by Rasmus Toftdahl Olesen.
-	(See http://halfdans.net/index.py/89 )
-	The actual use of goocanvas is disabled in configure.ac, frame_glom.cc, and glom/Makefile.am,
-	because the code must be updated to build against the latest goocanvas API.
-
-1.3.7:
-
-2007-02-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/python_embed/py_glom_relatedrecord.cc: Made the same changes here -
-	see the previous ChangeLog entry.
-
-2007-02-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/python_embed/py_glom_record.cc:
-	* glom/libglom/python_embed/py_glom_related.cc: PyMappingMethods: Remove (inquiry)
-	and (binaryfunc) casts because they should no longer be necessary and this might
-	help the build with Python 2.5.
-
-2007-02-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/python_embed/py_glom_record.cc:
-	* glom/libglom/python_embed/py_glom_related.cc: ifdef with PY_VERSION_HEX to
-	adapt to the changed function pointer signature of the tp_as_mapping_length
-	callbacks for PyMappingMethods in Python 2.5, which now have a Py_ssize_t
-	return type. This broke the build on 64-bit systems.
-	Also, take a PyObject* object instead of our derived struct, and cast inside
-	our functions, to avoid errors from more fussy compiler versions.
-	(Problems found by Daniel Holbach)
-
-2007-02-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h: Add m_ui_save_extra_showextras so we can turn off use of
-	the custom filechooser dialog completely in on_menu_file_save_as_example().
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Added append_newline() and used it in
-	save_before() to break up the incredibly long lines. This is not as nice as
-	newlines plus indenting, but it is a start.
-	* examples/example_smallbusiness.glom: Resaved this, using the newlines.
-
-1.3.6:
-
-2007-01-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/combobox_fields.cc:
-	* glom/combobox_fields.h: Added derived ComboBox for
-	showing a list of fields, with an optional None item.
-	* po/POTFILES.in: Added the new file.
-	* glom/layout_item_dialogs/box_formatting.cc:
-	* glom/layout_item_dialogs/box_formatting.h:
-	Use ComboBox_Fields instead of Combo_TextGlade for the
-	choices fields combo boxes, so we can show a None item
-	for the Also Show field combo box, so the user can clear it
-	after choosing something and then changing his mind.
-	Bug #365051 from L Davison.
-
-2007-01-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/spawn_with_feedback.cc:
-	execute_command_line_and_wait_until_second_command_returns_success():
-	When waiting for the specific text output from a second command,
-	temporarily set the LANG and LANGUAGE environment variables to C,
-	so that we get the same text in all locales.
-	This is not pretty, but neither is this whole command-line spawning idea anyway.
-	Bug #395511 from Aurelien.
-
-2007-01-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h: Actually show fixed text and button items
-	in the list view. This needed us to know when the column index was for the view or for the
-	model, to prevent us from trying to get a value for the wrong column.
-	At the moment, nothing happens when you click on a button, and the button appears like text.
-
-2007-01-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade:
-	* 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.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_data/dialog_layout_list_related.h:
-	Use the same layout and code for details, lists, and portals, reusing
-	the UI and the implementation, just hiding some widgets for some dialogs.
-
-2007-01-21  Murray Cumming  <murrayc murrayc com>
-
-	* po/POTFILES.in: Added glom/utility_widgets/filechooserdialog.cc
-
-2007-01-19  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Require libgda 1.2.4, which has a fix for database and table
-	encoding problem. Requiring this should encourage distro packagers to also update libgda,
-	which should fix crashes when creating databases, tables, fields, etc, with unusual
-	characters, which happens quite often.
-
-1.3.5:
-
-2007-01-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: dialog_new_self_hosted_connection: Start with the focus in
-	the user name instead of the password, because both are empty to start with.
-
-2007-01-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h: ui_file_select_save():
-	When self-hosting, create a directory and put the file and the data directory
-	inside the directory, so that they are not separated easily.
-
-2007-01-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/glom.glade:
-	* glom/dialog_new_database.cc:
-	* glom/dialog_new_database.h: Removed this class and dialog.
-	* glom/utility_widgets/filechooserdialog.cc:
-	* glom/utility_widgets/filechooserdialog.h: Add widgets from the
-	DialogNewDatabase dialog (asking for the title, and whether to self-host).
-	* glom/application.cc:
-	* glom/application.h: Add new m_ui_save_extra member variables for getting the
-	result of the extended save dialog while still using the Bakery file save API.
-	ui_file_select_save(): Set and get the new member variables.
-	on_document_load(): Use the new member variables (with values previously set by the
-	extended save dialog) instead of showing a new dialog to get the information.
-
-	This removes one dialog, making new file creation simpler.
-
-2007-01-10  Pema Geyleg  <pema geyleg gmail com>
-
-	* configure.in: Added 'dz' to ALL_LINGUAS.
-
-2006-12-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/filechooserdialog.cc:
-	* glom/utility_widgets/filechooserdialog.h: Add a derived Gtk::FileChooserDialog,
-	which can show our extra widgets. At the moment it can just show an extra text
-	message.
-	* glom/application.cc:
-	* glom/application.h: Override Bakery::App_WithDoc::ui_file_select_save(), so
-	we can use our custom file chooser dialog, using member variables to set the title
-	and extra message if necessary.
-	on_document_load(): Set the member variables so that we show the message about
-	saving an example file in the file chooser dialog, instead of in a separate dialog.
-	This removes one of the many dialogs.
-
-2006-12-27  Murray Cumming  <murrayc murrayc com>
-
-        * glom/libglom/Makefile.am:
-        * glom/python_embed/python_module/Makefile.am: Fix the cygwin (win32) build.
-        Bug #338844 from Yselkowitz.
-
-2006-12-21   Murray Cumming  <murrayc murrayc com>
-
-	* glom/translation/window_translations.cc:
-	* glom/translation/window_translations.h: Added get_translatable_type_name_nontranslated()
-	for in po message context strings.
-	* glom/libglom/data_structure/translatable_item.cc:
-	* glom/libglom/data_structure/translatable_item.h:
-	on_button_export(): Write context strings to the .po file to distinguish similar strings,
-	and provide hints to translators.
-	on_button_import(): Compare the context strings to more precisely identify the items.
-
-1.3.5:
-
-2006-12-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: offer_new_or_existing(): Fix a recent typo that stopped files being
-	created from examples.
-	* glom/libglom/spawn_with_feedback.cc:
-	execute_command_line_and_wait_until_second_command_returns_success(): Sleep for an extra
-	3 seconds, because I think that pg_ctl status sometimes reports success too early.
-
-2006-12-21  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Do an extra sanity check on the postgres utils path, and complain if
-	we can't find postmaster.
-
-2006-12-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/spawn_with_feedback.cc:
-	* glom/libglom/spawn_with_feedback.h:
-	Replaced execute_command_line_and_wait_fixed_seconds() with
-	execute_command_line_and_wait_until_second_command_returns_success(), so we
-	can use pg_ctl status to check whether postmaster has started, instead of
-	waiting an arbitrary number of seconds. This actually checks the stdout output (!)
-	from pg_ctl, because I think that it always returns a success code, but I am
-	not sure about that anymore.
-
-2006-12-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/glom.glade:
-	* glom/libglom/Makefile.am:
-	* glom/libglom/dialog_progress_creating.cc:
-	* glom/libglom/dialog_progress_creating.h: Moved this class here,
-	so we can use it from libglom, add add a set_message() method, so we can
-	change the text for each use.
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/spawn_with_feedback.cc:
-	* glom/libglom/spawn_with_feedback.h: Moved the spawn utility functions
-	here from connectionpool.cc.
-	execute_command_line_and_wait(): Added message parameter, shown in a
-	dialog with a pulsing progress bar. The command-line command is run in a
-	separate thread, which signals us with a Glib::Cond condition when it is
-	finished, so we can update the UI in the meantime.
-	* glom/application.cc:
-	* glom/main.cc: Call g_threads_init(), so we can use mutexes.
-
-2006-12-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: execute_command_line_and_wait(): Take a human-readable message,
-	and show it in a dialog while we are waiting. This is not ideal, but better than nothing. What
-	we really need is to do the spawn_command_line_sync() in another thread, and wait for that thread
-	to finish.
-
-2006-12-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_new_database.cc:
-	* glom/dialog_new_database.h: Added show_dialog_new_database() helper function.
-	* glom/application.cc: on_document_load(): When opening from an example, which always requires
-	database creation, show the self-host question dialog. This also allows the user to change the
-	database title, which is OK.
-
-2006-12-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_new_database.cc:
-	* glom/dialog_new_database.h: Added radio buttons, so the user can choose to self-host the
-	database, or create it on an external server.
-	* glom/Makefile.am:
-	* glom/dialog_new_self_hosted_connection.cc:
-	* glom/dialog_new_self_hosted_connection.h:
-	* glom/glom.glade: Added a new dialog, asking for the name and password for the first super user,
-	when creating a new self-hosted database.
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Added set_connection_is_self_hosted().
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Added create_self_hosting(), which creates
-	the postgres files in a folder.
-	* glom/frame_glom.cc: connection_request_password_and_choose_new_database_name():
-	If the database should be self-hosted, ask for the initial details, and create it.
-	* glom/dialog_connection.cc:
-	* glom/dialog_connection.h: Added set_self_hosted_user_and_password(), because
-	we currently use the connect_to_server_with_connection_settings() method from this
-	class to actually connect. I should refactor that.
-
-
-2006-12-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_connection.cc: load_from_document(): Disable the hostname entry
-	when the document is marked as being self-hosting.
-	connect_to_server_with_connection_settings(): Always use localhost as the hostname
-	when opening a self-hosted document.
-
-2006-12-16  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* config.h.in: Add a --with-postgres-utils option, so we can specify the
-	location of postmaster and pg_ctl.
-	* glom/application.cc:
-	* glom/application.h: Added stop_self_hosting_of_document_database().
-	on_document_load(): Start self-hosting before asking for connection details,
-	if the document is marked as self-hosting. Stop self-hosting if the connection
-	fails.
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: Added set_self_hosting(),
-	start_self_hosting(), stop_self_hosting();
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Added get_connection_is_self_hosted(),
-	and get_connection_self_hosted_directory_uri(). This bool is loaded from and
-	saved to the document, though it is not yet changed to true by anything in the UI.
-	Destructor: Stop self-hosting.
-
-2006-12-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.h: Remove unnecessary virtuals.
-
-2006-12-15  Murray Cumming  <murrayc murrayc com>
-
-	* docs/user-guide/C/glom.xml: Add text for the help sections for the connection and connection error
-	dialogs, with a link to the web page for setting up Postgres. Otherwise, people who have never seen
-	the Download web page will have no idea what to do.
-
-1.3.4:
-
-2006-12-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/utils.cc: Fix SQL error when sorting doubly-related records, by always putting the
-	GROUP BY in the correct position.
-
-1.3.3:
-
-2006-12-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/frame_glom.cc:
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: For child relationships, add an extra
-	GROUP_BY (on the key of the target table) to ensure that we only get distinct records, with
-	no repeats.
-
-2006-12-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade:
-	* glom/mode_data/dialog_layout_list_related.cc: Hide the title label and entry. They are too
-	confusing here.
-
-2006-12-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/dialog_layout_list_related.cc:
-	* glom/mode_data/dialog_layout_list_related.h:
-	* glom/glom.glade: Add a checkbox that allows us to use child (related) relationships,
-	which are then shown in the combobox.
-	* glom/combobox_relationship.cc:
-	* glom/combobox_relationship.h: set_relationships(): Add boolean parameter allowing
-	us to show related relationships without showing the parent table name too.
-	* glom/frame_glom.cc:
-	* glom/libglom/document/document_glom.cc: When saving/loading portals, save/load all levels
-	of relationships, by using the existing utiltity function for saving UsesRelationship objects.
-	* glom/libglom/data_structure/layout/usesrelationship.cc:
-	* glom/libglom/data_structure/layout/usesrelationship.h:
-	Added get_title_used(), get_to_field_used(), get_relationship_name_used(),
-	get_relationship_used_allows_edit(), so we can use this generically, regardless
-	of the level of relationships used by, for instance, a portal or layoutitem_field.
-	* glom/base_db.cc:
-	* glom/base_db.h: Add m_extra_join to FoundSet, for use when viewing records in a related relationship.
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h: refresh_data_from_database_with_foreign_key():
-	When viewing a related relationship, specify an extra SQL join to make that possible, and adjust the
-	WHERE clause too, providing these to the FoundSet object.
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h: build_sql_select_with_where_clause(): Add extra_join parameter, specified when
-	doing view of related relationship records.
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: refresh_from_database(): Provide the FoundSet
-	extra_join to build_sql_select_with_where_clause().
-	* glom/reports/report_builder.cc:
-	* glom/utility_widgets/flowtablewithfields.cc: Use the generic UsesRelationship methods rather than
-	extracting the main relationship and using that specifically, so we can adapt to related realationship
-	portals, and even in future support >2 levels of relationships.
-
-1.3.2:
-
-2006-12-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc: get_related_record_exists():
-	* glom/mode_data/box_data_list_related.cc: refresh_data_from_database():
-	In WHERE clauses, specify the table name, to avoid ambiguity when two of
-	the tables have the same field names. This avoids a SQL error.
-
-2006-12-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: Start dialog: Change the packing options for the Entry, to
-	try to stop the lines from breaking unnecessarily, but this does not seem to
-	have any effect on it. Bug #369602 from Javier F. Serrador.
-
-2006-12-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list.cc: create_layout_add_group(): Check that fields
-	exist before adding them as columns, to avoid SQL errors when we have failed
-	(we should not fail) to rename something everywhere.
-
-2006-11-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/python_embed/glom_python.cc: glom_evaluate_python_function_implementation():
-	Use Py_CompileString() and PyImport_ExecCodeModule() to make library scripts available
-	for import. It works too.
-
-2006-11-19  Murray Cumming  <murrayc murrayc com>
-
-	* po/POTFILES.in: Added new files so they can be translated.
-
-2006-11-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/python_embed/glom_python.cc: Added some commented-out experiments into
-	making the script library importable from our Python scripts.
-
-2006-11-18  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* glom/Makefile.am:
-	* glom/frame_glom.cc:
-	* glom/glom.glade:
-	* glom/mode_data/box_data.cc:
-	* glom/mode_design/Makefile.am:
-	* glom/mode_design/script_library/Makefile.am:
-	* glom/mode_design/script_library/dialog_new_script.cc:
-	* glom/mode_design/script_library/dialog_new_script.h:
-	* glom/mode_design/script_library/dialog_script_library.cc:
-	* glom/mode_design/script_library/dialog_script_library.h:
-	The UI for a script library now works, and it is saved and loaded in the
-	document. Now I just need to make the embedded python able to import these
-	modules.
-
-2006-11-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc:
-	* glom/glom.glade:
-	* glom/libglom/document/document_glom.cc:
-	* glom/mode_design/dialog_script_library.cc:
-	* glom/mode_design/dialog_script_library.h: Works slightly more.
-	Yes, I shouldn't check stuff in before it is finished.
-
-2006-11-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	* glom/glom.glade:
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h:
-	* glom/mode_design/Makefile.am:
-	* glom/mode_design/dialog_script_library.cc:
-	* glom/mode_design/dialog_script_library.h: Partial implementation of the UI
-	for a reusable python script library.
-
-1.3.1:
-
-2006-11-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Added get_document_format_version()
-	and get_latest_known_document_format_version().
-	load_after(): Check the document format version, and fail if it is higher than
-	we know about.
-	save_before(): Save the document format version (as the latest known) when
-	saving changes.
-	* glom/frame_glom.cc: on_menu_userlevel_Developer(): When going into developer
-	mode, warn that you might not be able to open the changed document with older
-	versions of Glom.
-
-2006-11-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc: connect(): Remember the port after the first
-	successful connection (even to the default database), and always try that first
-	when connecting again, only trying the extra ports if it fails or if no port
-	was remembered. This halves the number of connection attempts made.
-	Bug #368787 (Craig Keogh).
-
-2006-11-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_find_where_clause_quick():
-	* glom/mode_data/box_data.cc: get_find_where_clause():
-	Put quotes around the table names and field names, to avoid SQL errors when
-	using names with, for instance, capital letters.
-	Bug #375605 from William Manley.
-
-2006-11-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: Revert unrelated changes introduced by the patch from
-	Johannes. The left-alignment of labels had been removed. I guess that this
-	might have been caused by glade-3.
-
-2006-11-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: Translations window: Use a regular HBox instead of
-	a ButtonBox, because the ButtonBox leaves lots of empty space so it
-	looks odd.
-	* glom/translation/window_translations.cc: on_button_export():
-	Append the .po extension if it is not already in the filename.
-
-2006-11-16  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Added an AC_CHECK_MEMBER() check for the latest
-	libggettextpo error-handling API, defining HAVE_GETTEXTPO_XERROR,
-	so we can build with both the old and new APIs.
-	* config.h.in: Added HAVE_GETTEXTPO_XERROR,
-	defined in configure.
-	* glom/translation/window_translations.cc: Use ifdefs to add
-	alternative code for the older libgettextpo API.
-
-2006-10-26  Johannes Schmid <jhs gnome org>
-
-  Openismus Gmbh:
-
-	* glom/Makefile.am:
-	Added -lgettext-po
-
-	* glom/glom.glade:
-	Added Import/Export buttons to translation_window in a new buttonbox
-
-	* glom/translation/window_translations.cc:
-	* glom/translation/window_translations.h:
-	on_button_import(), on_button_export()
-	Added the feature to export and import translation in po format using libgettext-po
-
-2006-10-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list.cc: create_layout(): Do not call
-	m_AddDel.set_columns_ready() because we do that in fill_from_database(),
-	and we do not want to do it twice.
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.h:
-	Constructor: Call refresh_from_database(), and make
-	refresh_from_database() a protected method, so that model creation is
-	the only time that the SQL query is run.
-	* glom/utility_widgets/db_adddel/db_adddel.cc: refresh_from_database():
-	Just call construct_specified_columns(), to recreate the model, instead
-	of trying to reuse the existing model via refresh_from_database(),
-	because that was having some strange side-effects and seems complex to fix.
-
-2006-10-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h: Remove (empty) remove_all() method. It
-	does not make sense for a TreeModel that just shows what is in a database result.
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_find/box_data_list_find.cc: Do not use DbAddDel::remove_all().
-
-2006-10-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/layout/layoutitem_button.cc:
-	* glom/libglom/data_structure/layout/layoutitem_button.h: Added get_has_script()
-	method for efficient convenience.
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Added set/get_child_text_node() utility
-	methods.
-	load_after(), load_after_layout_group(): Load button scripts, field calculations,
-	and example row data from child text nodes instead of attribute values, to avoid
-	problems with newlines in attributes when using the .glom file with a different
-	XML parser.
-	Fall back to the now-deprecated attribute values if no child text node was found.
-	save_before(), save_before_layout_group(): Save as child text nodes.
-	Bug #357567.
-
-2006-10-19  Johannes Schmid <jhs gnome org>
-
-	* glom/main.cc: Added --debug_sql argument
-
-	* glom/application.cc:
-	* glom/application.h:
-	Added a global application instance which is available to all modules via the static
-	Application::get_application() method
-	Added get/set_sql_debug()
-	Remove File->Exit, to simplify Glom by not supporting muliple documents per instance.
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/libglom/python_embed/Makefile.am:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	Added debugging code for sql statements.
-
-	* glom/libglom/python_embed/py_glom_relatedrecord.cc:
-	Added debugging code but commented out for now because of linking issues. The debug
-	flag needs to link against application.lo
-
-2006-10-19  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Check for libgtksourceviewmm-1.0.
-	* glom/main.cc: Initialize gtksourceviewmm.
-	* glom/glom.glade: Use a GtkSourceView instead of a TextView for
-	calculated fields and the buttons script.
-	* glom/layout_item_dialogs/dialog_buttonscript.h:
-	* glom/mode_design/fields/dialog_fieldcalculation.cc:
-	* glom/mode_design/fields/dialog_fieldcalculation.h:
-	* glom/mode_design/fields/dialog_fielddefinition.h: Use a GtkSourceView
-	instead of a TextView for calculated fields and the buttons script, and
-	set the language as python.
-	Patch from bug #346896, with much help from Johannes Schmid and
-	Dodji Seketeli.
-
-This is the HEAD branch for new features.
-See the glom-1-2 branch for bug-fixes without new features.
-
-1.2.0:
-
-2006-10-18  Murray Cumming  <murrayc murrayc com>
-
-	* examples/example_film_manager.glom: Mark this as an example, so users are
-	asked to save a copy. I think this had example data once too, but it is gone
-	now.
-
-2006-10-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/dialog_layout_list.cc:
-	* glom/mode_data/dialog_layout_list.h: Remove warn_about_images()
-	and don't use it in on_button_add_field() and on_button_edit_field().
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/imageglom.h: Make scale_keeping_ratio() public,
-	so we can use it from elsewhere, and check for null pixbufs.
-	* glom/utility_widgets/db_adddel/db_adddel.cc: treeviewcolumn_on_cell_data():
-	Show pixbufs too, so that Image fields show up in the list view too.
-
-2006-10-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_design/fields/box_db_table_definition.h: Added field_has_non_unique_values().
-	change_definition(): If a field is being set to primary key,
-	use field_has_non_unique_values() to check and warn, to avoid an error from Postgres.
-	Bug #362895.
-
-2006-10-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Added forget_layout_record_viewed().
-	* glom/mode_design/fields/box_db_table_definition.cc: change_definition(): When
-	changing whether a field is the primary key, use forget_layout_record_viewed()
-	so that we do not try to use an inappropriate key value with a different field.
-
-2006-10-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_design/fields/box_db_table_definition.h: Added field_has_null_values().
-	change_definition(): If a field is being set to primary key,
-	use field_has_null_values() to check and warn, to avoid an error from Postgres.
-	Bug #362838.
-
-1.1.7:
-
-2006-10-13  Murray Cumming  <murrayc murrayc com>
-
-	* docs/user-guide/C/glom.xml: Added the section on the use of the full pygda
-	API, from the wiki. We need to just publish the docbook to the web somehow
-	instead.
-
-2006-10-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc: on_flowtable_script_button_clicked():
-	Check whether the current record still exists after the script has run,
-	and signal that it was deleted if necessary.
-
-2006-10-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc: load_after_layout_group(): When
-	loading the portal navigation relationship, create the object before passing
-	it to load_after_layout_item_usesrelationship(). This should have crashed
-	before. Also, pass in the related table name, not the parent table name,
-	so that the relationship can be found.
-
-2006-10-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/box_db_table_definition.cc: on_adddel_edit():
-	Make sure that the details dialog is transient for the current window.
-	* glom/utility_widgets/dialog_properties.cc: Constructor: Call set_modal(),
-	so that these windows are actually usuable when opened from other modal
-	windows, such as dialogs. This was a bug that I introduced when I changed the
-	base class from Dialog to Window. Fixed now.
-
-2006-10-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom.desktop.in.in: Added MimeType entry, so Glom should really be used
-	to open .glom documents. Thanks to Denis Leroy.
-
-2006-10-12  Johannes Schmid <jhs gnome org>
-
-	* glom/main.cc: Fixed gnome_program_init to use PACKAGE and VERSION
-	instead of PACKAGE_NAME and PACKAGE_VERSION
-
-	Fixes (#349357) with special thanks to Don Scorgie
-
-2006-10-12  Johannes Schmid <jhs gnome org>
-
-	For Openismus Gmbh (now that it's finally in place ;-)
-
-	* docs/user-guide/C/glom.xml:
-	Added ids for all dialogs to be filled with a documentation
-
-	* docs/user-guide/Makefile.am:
-	* docs/user-guide/glom.omf.in:
-	* docs/user-guide/glom-C.omf.in (removed):
-	Mostly fixed documentation generation. There is still an issue with
-	scrollkeeper but I hope I get this fixed soon.
-
-	* glom/application.cc:
-	* glom/base_db.cc:
-	* glom/dialog_invalid_data.cc:
-	* glom/frame_glom.cc:
-	* glom/layout_item_dialogs/dialog_group_by.cc:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	* glom/mode_design/users/dialog_groups_list.cc:
-	* glom/mode_design/users/dialog_users_list.cc:
-	* glom/translation/window_translations.cc:
-	* glom/utility_widgets/datawidget.cc:
-	Use dialog_run_with_help for all dialogs that contain help
-	buttons.
-
-	* glom/libglom/utils.h:
-	* glim/libglom/utils.c:
-	Added Utils::show_help which calls gnome_help_display and does
-	some error handling.
-	Added Utils::dialog_run_with_help with runs a dialog and return the
-	Gtk::Reponse. If the user clicked help the dialog is kept up and a
-	help browser is launched.
-
-1.1.6:
-
-2006-10-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/python_embed/py_glom_record.cc: Actually implement the
-	record.connection attribute. This is incredibly easy with pyobject_new().
-	Added a record.table_name attribute.
-	See http://www.glom.org/wiki/index.php?title=Calculated_Fields_API#Using_the_full_pygda_API
-	to see the wonderful things this makes possible.
-
-2006-10-09  Daniel Holbach  <daniel holbach ubuntu com>
-
-	* glom/mode_data/dialog_layout_list_related.h: Removed the class prefix from
-	the method declaration, to fix the build.
-
-2006-10-09  Murray Cumming  <murrayc murrayc com
-
-	* glom/mode_data/notebook_data.cc: init_db_details(): Do not bother
-	checking that the remembered record is in the found set if we are looking
-	at all records.
-
-2006-10-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: Added get_primary_key_is_in_foundset().
-	* glom/mode_data/notebook_data.cc: init_db_details(): Do not bother
-	checking whether the found set has changed, because it has always
-	changed when we are navigating to a different table. Therfore, always
-	try to view the last-viewed record for the table. But use
-	get_primary_key_is_in_foundset() to prevent showing a not-found record
-	when doing a find.
-	* glom/reports/report_builder.cc: Put parts of the where clause in
-	brackets, so that the AND has the desired effect, though I do not know
-	of any bug caused by this.
-
-2006-10-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/python_embed/glom_python.cc:
-	* glom/python_embed/glom_python.h:
-	glom_execute_python_function_implementation(): Added Gda::Connection parameter,
- 	which is passed to PyGlomRecord_SetFields().
-	* glom/libglom/python_embed/py_glom_record.cc:
-	* glom/libglom/python_embed/py_glom_record.h:
-	Record_getseters(): Added connection attribute to the python object, so
-	that scripts can use the pygda API on the underlying database.
-	BUT: This just returns None at the moment.
-	PyGlomRecord_SetFields(): Take an extra connection parameter.
-	* glom/base_db.cc: calculate_field():
-	* glom/layout_item_dialogs/dialog_buttonscript.cc: on_button_test():
-	* glom/mode_data/box_data.cc: set_primary_key_value():
-	* glom/mode_data/box_data_details.cc: on_flowtable_script_button():
-	* glom/mode_design/fields/dialog_fieldcalculation.cc: on_button_test():
-	Pass the extra connection parameter when calling
-	glom_evaluate_python_function_implementation().
-
-1.1.5:
-
-2006-10-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc: on_flowtable_script_button_clicked():
-	Refresh the view after the script has run, in case the script changed the data,
-	so we can see the new data.
-
-2006-10-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/dialog_layout_list_related.cc:
-	* glom/mode_data/dialog_layout_list_related.h:
-	* glom/glom.glade: Related Records layout: Add a Navigation frame,
-	allowing the user to choose the default navigation (based on the shown
-	fields and whether their tables are hidden, or manually choosing a relationship.
-	This is needed when the automatic choice is not appropriate, though it often is.
-	* glom/libglom/data_structure/layout/layoutitem_portal.cc:
-	* glom/libglom/data_structure/layout/layoutitem_portal.h:
-	Added set/get_navigation_relationship_specific().
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Saved the extra portal information.
-	* glom/base_db.cc:
-	* glom/base_db.h: get_field_is_from_non_hidden_related_record(),
-	get_field_identifies_non_hidden_related_record():  Move these here
-	from Box_Data_List_Related.
-	Added get_portal_navigation_relationship_automatic(),
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h: get_suitable_record_to_view_details():
-	Use the specified relationship if appropriate, and reuse the methods used to show
-	the automatic navigation choice in the layout dialog.
-	* glom/mode_data/dialog_layout.cc:
-	* glom/mode_data/dialog_layout.h: Added the make_sensitivity_depend_on_toggle_button()
-	convenience method.
-
-2006-10-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/Makefile.am:
-	* glom/utility_widgets/imageglom.cc: Moved value->pixbuf
-	conversion code from here to:
-	* glom/libglom/data_structure/glomconversions.cc:
-	* glom/libglom/data_structure/glomconversions.h:
-	* glom/utility_widgets/db_adddel/cellrenderer_button.cc:
-	* glom/utility_widgets/db_adddel/cellrenderer_button.h: renamed
-	to
-        * glom/utility_widgets/db_adddel/cellrenderer_buttonimage.cc:
-	* glom/utility_widgets/db_adddel/cellrenderer_buttonimage.h:
- 	Added:
-        * glom/utility_widgets/db_adddel/cellrenderer_buttontext.cc:
-	* glom/utility_widgets/db_adddel/cellrenderer_buttontext.h:
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h: add_column() now
-	take a LayoutItem rather than only a LayoutItem_Field, so that
-	the list can in future show other items, such as buttons.
-	* glom/libglom/data_structure/layout/layoutgroup.cc:
-	* glom/libglom/data_structure/layout/layoutitem.cc:
-	* glom/libglom/data_structure/layout/layoutitem.h:
-	* glom/libglom/data_structure/layout/layoutitem_field.cc:
-	* glom/libglom/data_structure/layout/layoutitem_field.h:
-	* glom/libglom/data_structure/layout/layoutitem_image.h:
-	* glom/libglom/data_structure/layout/layoutitem_portal.cc:
-	* glom/libglom/data_structure/layout/layoutitem_portal.h:
-	* glom/libglom/utils.cc:
-	* glom/mode_data/box_data.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: Adapted.
-
-2006-10-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc: append_column():
-	Use set_fixed_width(), followed by set_resizable(), instead of
-	set_min_width, so columns can be made smaller too.
-
-2006-10-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/utils.cc: build_sql_select_with_where_clause():
-	Define the first-level relationship (via a LEFT OUTER JOIN) of
-	a related relationship, even if no fields from the intermediate
-	relationship are shown, to avoid a SQL error and subsequent
-	crash.
-
-1.1.4:
-
-2006-10-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/sharedptr.h: cast_*(): Make the new sharedptr
-	share the refcount with the original, avoiding early deletions of
-	the object that they share. That was stupid of me.
-	* glom/libglom/test_sharedptr_layoutitem.cc: More testing.
-
-2006-10-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/Makefile.am:
-	* glom/libglom/test_sharedptr_layoutitem.cc: Added test.
-
-2006-10-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc: add_column(): Do an extra,
-	probably unnecessary, check for a null field before dereferencing it.
-	construct_specified_columns(): Do not clone the field - just use it.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	get_data_layout_groups_plus_new_fields(): When building a default
-	layout, because no layout is defined, store that layout in the
-	document (saving it to disk when in developer mode). This fixes a
-	dereference of a deleted field, though that should not be necessary
-	so I suspect a fundamental sharedptr problem. But luckily, this
-	is the correct thing to do anyway, for efficiency, and so that
-	layout data is preserved.
-
-2006-10-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: get_table_fields_to_show_for_sequence_add_group(),
-	Do not clone the layout items - just supply the originals, so that
-	we can store some data in them and have that data preserved for next
-	time. This should also be more efficient because it does less
-	object copying and therefore less memory copying.
-	* glom/libglom/data_structure/layout/layoutitem_field.cc:
-	* glom/libglom/data_structure/layout/layoutitem_field.h: Added
-	get/set_display_width() which is not saved in the document for now.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h: add_column() Take a
-	non-const layout item, so that we can store the display_width
-	in it, in property changed signal for the ViewColumn width
-	property. Use any previously set display_width when creating the
-	columns.
-	This means that columns widths are remembered when navigating
-	between tables. Bug #358089 from Peter Williams.
-
-2006-10-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc: get_find_where_clause():
-	When multiple fields are specified in a Find, join them together
-	in the SQL where clause with AND, instead of just joining them
-	together, because that would be an invalid SQL statement. Obviously.
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	refresh_from_database(): When the SQL command fails, output it to
-	stdcerr, to help debugging.
-
-1.1.3:
-
-2006-10-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/utils.cc: string_separate(): Correct an if so that
-	we really check for quoted separators when specified. This fixes a loss
-	of rows when adding example data from an example glom file.
-
-2006-09-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/dialog_add_related_table.cc:
-	* glom/mode_design/dialog_add_related_table.h:
-	* glom/base_db.cc:
-	* glom/base_db.h: Moved get_relationship_exists() here
-	so it can be used from frame_glom.cc.
-	* glom/frame_glom.cc: on_dialog_add_related_table_response():
-	Check the inputs here instead of in on_response() of the dialog,
-	because we can not stop a dialog from finishing. Instead we
-	show it again.
-	* glom/glom.glade: Change the dialog text slightly.
-	* po/POTFILES.in: Mentioned dialog_add_related_table.cc.
-
-2006-09-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/dialog_design.cc:
-	* glom/mode_design/dialog_design.h: Derive from Window instead
-	of Dialog, because that is what it is in the .glade file, and
-	that is how it is used.
-	* glom/application.cc:
-	* glom/base_db.cc:
-	* glom/base_db.h: Added create_table_with_default_fields(),
-	moving code from box_tables.cc.
-	* glom/navigation/box_tables.cc: on_adddel_Add(): Call
-	create_table_with_default_fields() to simplify code.
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Added add_table((),
-	so that create_table_with_default_fields() can update the
-	document immediately each time.
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h: Added string_remove_prefix().
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: Added do_menu_developer_fields() and
-	called it from on_menu_developer_fields(), so we can show the
-	fields dialog from other places.
-	* glom/mode_design/Makefile.am:
-	* glom/glom.glade:
-	* glom/mode_design/dialog_add_related_table.cc:
-	* glom/mode_design/dialog_add_related_table.h:
-	Added Tables/Add-Related-Table menu item, to quickly create
-	a related table and a relationship to it. Bug #355975.
-
-1.1.2:
-
-2006-09-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h:
-	get_field_identifies_non_hidden_related_record(): Return the relationship
-	used by the field, and use this to navigate to the related record
-	even if no doubly-related field is show. For instance, this allows
-	navigation when showing a product id, but not showing the product
-	description.
-
-2006-09-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list_related.cc:
-	get_suitable_record_to_view_details(): If the ID is invalid, because
-	no such record exists, warn the user with a dialog.
-	* glom/utility_widgets/flowtablewithfields.cc:
-	on_portal_user_requested_details(): Do not bother signalling further if
-	the primary key is empty.
-
-1.1.1:
-
-2006-09-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h: Add show_hints_model(), which
-	shows a single row, with a hint about editing the layout of the list or
-	related records portal, if no fields have been specified yet.
-	Bug #354073 from Peter Williams.
-
-2006-09-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/document/document_glom.cc:
-	* glom/libglom/document/document_glom.h: Override set_file_uri() to avoid
-	the call to set_modified() triggering a save of the file to the old filename.
-	This is necessary because we override/hack set_modified().
-
-2006-09-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: App_Glom::recreate_database(): Add the standard groups
-	after creating the tables, instead of once for every table. This should be
-	more efficient.
-
-2006-09-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: Field calculation editor, and button script editor:
-	Mark the label with the first part of the calculation as not for translation.
-	Layout editors: Add tooltips to explain what the buttons do.
-	This partly addreses bug #354073 from Peter Williams.
-
-2006-09-17  Murray Cumming  <murrayc murrayc com>
-
-        * glom/utility_widgets/db_adddel/db_adddel.cc:
-        * glom/utility_widgets/db_adddel/db_adddel.h: Added get_fixed_cell_height().
-        construct_specified_columns() Use CellRenderer::set_fixed_size(), using
-        get_fixed_cell_height(), which asks Pango how high some example text should
-        be. This should prevent multiline rows, and might be necessary for optimization
-
-2006-09-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/glom.glade: Field Formatting: For text fields, added a
-	spin button to specify the number of lines to show.
-	* glom/libglom/data_structure/layout/fieldformatting.cc:
-	* glom/libglom/data_structure/layout/fieldformatting.h: Added
-	get/set_text_format_multiline_height_lines(), which defaults to
-	6.
-	* glom/layout_item_dialogs/box_formatting.cc:
-	* glom/layout_item_dialogs/box_formatting.h:
-	enforce_constraints(): Only make the new spin button sensitive
-	when the multiline checkbox is checked.
-	get/set_formatting(): get/set the new value to interpret and
-	present it.
-	* glom/libglom/document/document_glom.cc:
-	save_before_layout_item_field_formatting(),
-	load_after_layout_item_field_formatting(): Handle the new option.
-	* glom/utility_widgets/datawidget.cc: Constructor: If the
-	field is multiline text, ask pango how high it should be,
-	based on the new option.
-	* glom/utility_widgets/db_adddel/db_adddel.cc: construct_specified_columns():
-	Use an ellipsize on text cells when their text is too long. This will be
-	more likely with multiline fields.
-
-This is the HEAD branch, for Glom 1.2.
-There is also a glom 1.0 branch for maintenance.
-
-1.0.5:
-
-2006-09-11  Murray Cumming,  <murrayc murrayc com>
-
-	* glom/base_db.cc:  Base_DB::create_table(): Quote the field names to avoid a postgres error when
-	creating the table with an id field based on a table name with special characters such as -.
-
-2006-09-10  Murray Cumming  <murrayc murrayc com>
-
-	* docs/user-guide/C/glom.xml: Fixed some validation problems.
-	* examples/Makefile.am: Add all example files to EXTRA_DIST, to fix distcheck.
-
-2006-09-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/box_db_table_definition.h:
-	* glom/mode_design/fields/box_db_table_definition.cc: Moved some checks from on_adddel_changed()
-	to check_field_change(), and added a check for an existing primary key, so we can give a nice
-	refusal warning to the user instead of a postgres error. This is then used from on_adddel_changed()
-	and on_Properties_apply(). Bug #350636.
-
-2006-09-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: dialog_connection: Use underline mnemonics for the labels
-	and mark them as labels for the entries, for accessibility. Also use an underline
-	mnemonic for the Connect button. Bug #349357 from Ryan Paul.
-
-2006-09-09  Fryderyk Dziarmagowski  <freetz gmx net>
-
-	* configure.in: Added update-mime-database configure option which sets/unsets UPDATE_MIME_DATABASE.
-	* Makefile.am: Do not update the mime database if UPDATE_MIME_DATABASE is not set.
-	This is apparently helpful for distro packagers, and other GNOME source tarballs have the same thing.
-	Bug #351989.
-
-2006-09-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: insert_example_data(): Use the new ignore_quoted_separators
-	option with Utils::string_separate() so we are not confused by nested newlines.
-	And check for newlines in the resulting row so we can ignore those rows as errors.
-	* glom/libglom/utils.cc: string_separate(): More efficient implementation when ignoring
-	quoted separators, doing less memory copying.
-
-2006-09-08  Johannes Schmid <jhs gnome org>
-
-	* glom/utility_widgets/datawidget.cc: DataWidget::on_button_choose_date():
-	Fixed #349359 (Dates added with the calendar dialog are not preserved), by
-	emitting the edited signal.
-
-2006-08-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h: separate_strings(): Added optional
-	ignore_quoted_separators bool parameter. Added incredibly slow
-	implementation, allowing us to handle example_rows data with
-	newlines in text data. This is necessary because the newlines are also
-	used to separate the field values. This is really slow and must be
-	improved.
-
-2006-08-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc: on_button_new(): Do not
-	dereference a null field, to avoid crashing when adding a record when
-	there is no primary key.
-
-2006-08-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: Frame_Glom::create_database():
-	When Gda::Connection::create_database() fails, output a more exact
-	error message for debugging. Added comment mentioning that,
-	when this fails, it might be due to installation of the unstable
-	libgda, which might not do a completely parallel install.
-
-2006-06-25  Murray Cumming <murrayc murrayc com>
-
-	* glom/application.cc: App_Glom::App_Glom(): Catch the exception if
-	the icon file is not found, though it will not happen if Glom is
-	properly installed.
-	* glom/frame_glom.cc: create_database(): Print a debug message if
-	this fails, as well as showing the dialog.
-	* icons/glom_icon_large.png: Updated.
-
-2006-06-22  Murray Cumming <murrayc murrayc com>
-
-	* examples/Makefile.am:
-	* examples/example_music_collection.glom: Added a new simple example.
-
-2006-06-21  Murray Cumming <murrayc murrayc com>
-
-	* docs/user-guide/C/figures/glom_design_fields.png:
-	* docs/user-guide/C/figures/glom_design_fields_dialog_calculated.pn
-	g: Added screenshots for use in the user guide.
-	* docs/user-guide/C/figures/start.png: Updated.
-	* docs/user-guide/C/glom.xml: Added Calculated Fields appendix, based
-	on the content in the Wiki.
-
-2006-06-20  Murray Cumming  <murrayc murrayc com>
-
-	* gnome-doc-utils.make: Hmm, now gnome-doc-utils.make _does_ seem
-	to be being autogenerated, by gnome-doc-prepare --force.
-	So I removed it from cvs again. Bug #345458.
-
-2006-06-20  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Fixed typo to fix the build.
-	* examples/example_project_manager.glom: Added some tables and
-	relationships and related records portals.
-
-2006-06-19  Murray Cumming  <murrayc murrayc com>
-
-	* gnome-doc-utils.make: Restore this file, because it does
-	not in fact seem to be autogenerated by anything.
-	* configure.in: Added AM_CONDITIONAL for SK_ENABLE, needed by the
-	new (copied from gnome-doc-utls) version of gnome-doc-utils.make.
-	* examples/Makefile.am:
-	* examples/example_film_manager.glom:
-	* examples/example_project_manager.glom: Added new examples.
-	The project manager one is not started yet.
-
-2006-06-15  Murray Cumming  <murrayc murrayc com>
-
-	* add1000.patch: Removed old test patch from cvs.
-	* gnome-doc-utils.make: Removed generated file from cvs.
-
-2006-06-14  Elijah Newren  <newren gmail com>
-
-	* glom/base_db.cc:
-	* glom/combobox_relationship.cc:
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/reports/report_builder.cc:
-	* glom/utility_widgets/comboglom.cc:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	Fix unused variable warnings.  #344815
-
-2006-06-14  Elijah Newren  <newren gmail com>
-
-	* autogen.sh: Don't hardcode for autoheader2.50 and autoconf2.50
-	especially since it works with newer versions too.  #344807.
-
-2006-05-29  Kjartan Maraas  <kmaraas gnome org>
-
-	* configure.in: Added nb to ALL_LINGUAS.
-
-2006-05-27  Murray Cumming  <murrayc murrayc com>
-
-	* Changed namespaces:
-	GlomUtils to Glom::Utils.
-	GlomConversions to Glom::Conversions.
-	GlomPrivs to Glom::Privs.
-
-2006-05-27  Murray Cumming  <murrayc murrayc com>
-
-	Almost all files: Put everthing in the Glom namespace.
-
-2006-05-26  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/application.cc:
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/frame_glom.cc:
-	* glom/glom_postgres.cc:
-	* glom/glom_postgres.h:
-	* glom/glom_privs.cc:
-	* glom/glom_privs.h:
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h:
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_design/box_db_table_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: Moved static methods from
-	Base_DB to GlomPrivs, GlomPostgres and GlomUtils.
-
-2006-05-26  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/glom_postgres.cc:
-	* glom/glom_postgres.h:
-	* glom/mode_design/fields/box_db_table_definition.cc: Moved
-	Base_DB::postgres_*() methods into Glom_Postgres class which has
-	only static methods. Just to keep things separate.
-
-2006-05-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/frame_glom.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/reports/Makefile.am:
-	* glom/reports/report_builder.cc:
-	* glom/reports/report_builder.h: Moved the Base_DB::report_*()
-	methods into a ReportBuilder object and use an instantiation of
-	that object wherever we would call report_builder. This is a start on
-	reducing the insane size of base_db.[h|cc].
-
-1.0.4:
-
-2006-05-21  Murray Cumming  <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom: Contacts reports: Restore the
-	group-by fields. I wonder why these were lost.
-
-2006-05-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: report_build(): Try to catch the exception here,
-	but it still crashes if there is a SQL error during report building.
-
-2006-05-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: report_build_records(): Add a space before LIMIT,
-	to avoid it ever clashing with the ASC before it.
-
-2006-05-21  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Use IT_PROG_INTLTOOL instead of AC_PROG_INTLTOOL
-	for intltool. It is apparently the new way.
-
-2006-05-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom.desktop.in.in: Remove the .png extension from the
-	icon name, as advised by http://live.gnome.org/GnomeGoals/AppIcon .
-	* glom/mode_design/fields/dialog_fieldcalculation.cc: Remove the [?]
-	* icons/Makefile.am: Add EXTRA_DIST stuff to fix distcheck
-	from the list of dependent relationships. It looks like an errror.
-
-2006-05-21  Murray Cumming  <murrayc murrayc com>
-
-	* Makefile.am:
-	* configure.in:
-	* glom.png: Removed. We use the stuff in icons/ instead.
-	* icons/Makefile.am:
-	* icons/glom.png:
-	* icons/glom.svg:
-	* icons/glom_icon_large.png:
-	* logo/glom_icon.png:
-	* logo/glom_icon.svg:
-	* logo/glom_icon.xcf:
-	* logo/glom_icon_large.png: Moved files from logo/ to icons/ and
-	used the Makefile snippet from
-	http://live.gnome.org/GnomeGoals/AppIcon .
-	Among other things, this means that the scalable icon is installed.
-	glom.svg: I increased the size of the window shape and removed the
-	database-cylinder shadow to prevent wasted space.
-	glom.png was regenerated from the svg.
-
-2006-05-21  Murray Cumming  <murrayc murrayc com>
-
-	* logo/glom_icon.svg: Change canvas size to 480x480, so I can use 10px sizes
-	that will be 1px in the 48x48px icon.
-
-2006-05-21  Murray Cumming  <murrayc murrayc com>
-
-	* logo/glom_icon.svg: Use the Tango color palette, though there is surely more
-	to do to make it a tango icon.
-
-2006-05-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: refresh_from_database():
-	Handle Gda exceptions here so we can fail a bit more gracefully.
-
-2006-05-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_calculation_fields(): Check the relationships used by the
-	calculation. If a relationship is used, report that the from-field should trigger the
-	calculation.
-	This did not actually need the big changes below, though they might be useful some
-	time.
-
-2006-05-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: Added predicate_LayoutItemIsEqual class for std::find_if.
-	calculate_field(), set_field_value_in_database(), get_field_value_in_database(),
-	do_calculations(), get_calculated_fields(), get_calculation_fields(),
-	do_lookups(), refresh_related_fields(): Deal in LayoutItem_Field rather than Field,
-	so we can trigger recalculations from related fields.
-	Added LayoutFieldInRecord to replace FieldInRecord in most places. It preserves the
-	parent table information.
-	* glom/libglom/utils.cc:
-	* glom/libglom/utils.h: Added build_sql_select_with_where_clause() and
-	build_sql_select_with_key() that takes lists of non-const LayoutItems. This is
-	annoying, but better than removing const from everywhere else.
-	* 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_design/fields/dialog_fieldcalculation.cc: Adapted to API changes.
-
-2006-05-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: Rename get_record_field_values() to
-	get_record_field_values_for_calculation() to make things clearer.
-	* glom/libglom/python_embed/py_glom_related.cc: Related_tp_as_mapping_getitem():
-	Leave key_value_sqlized as empty if there is no key value to find related records.
-	* glom/libglom/python_embed/py_glom_relatedrecord.cc:
-	PyGlomRelatedRecord_SetRelationship(): Leave key_value_sqlized as null if there is
-	no key value to find related records.
-	RelatedRecord_generic_aggregate(), RelatedRecord_tp_as_mapping_getitem(): Do not
-	try to get related records if the key is empty. This then returns a Py_None when
-	the python calculation tries to get related records. It could test for it, or just
-	let the error cause an overall Py_None return result.
-	* glom/python_embed/glom_python.cc: glom_execute_python_function_implementation:
-	Check whether the result is Py_None. If it
-	is then return a suitable empty value, instead of converting it to a string.
-	* glom/libglom/data_structure/glomconversions.cc:
-	* glom/libglom/data_structure/glomconversions.h:
-	Remove get_empty_value_suitable_for_python().
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data_details.cc: Use get_empty_value() instead of
-	get_empty_value_suitable_for_python() because the python calculations
-	(and our code for getting related records from python) do need to know whether non-text
-	fields are empty.
-
-2006-05-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data.h: Added virtual set_primary_key_value(),
-	so that record_new() can set the primary key as soon as it has been
-	set in the database.
-	record_new(): Take a row iterator, so we can update the list row.
-	After inserting the record, set the primary key value,
-	and do lookups and refresh-related so that the other row fields update.
-	Return the datamodel.
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_details.h: Override set_primary_key_value()
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list.h: Override set_primary_key_value().
-	on_adddel_user_added(): Provide the row iterator to record_new() and to
-	on_record_added().
-	on_record_added(): Take the row iterator
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h: on_record_added(): Take the row iterator,
-	to avoid a slow lookup to discover it.
-
-2006-05-15  Murray Cumming  <murrayc murrayc com>
-
-	* autogen.sh: Use specific versions of aclocal, autoheader, autoconf, and automake,
-	because the default version on Ubuntu Dapper (and probably Debian) does not have
-	AM_PATH_PYTHON(). This should help people not using jhbuild, though I guess it might
-	make life worse for others if those versioned executables are not present. Tell me if
-	it is a problem.
-
-2006-05-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/connectionpool.cc:
-	* glom/libglom/connectionpool.h: connect(): Attempt the connection on both
-	port 5433 and 5432, to make life easier for Ubuntu Dapper users, because it
-	defaults postgres 8.1 to port 5433. Bug #340836 from Paul Schulz.
-
-2006-05-07  Murray Cumming  <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom: Invoices: Mark the invoice lines relationship as allowing
-	editing, so that people can actually edit the invoice lines portal. Bug #340919 from Hendrik Richter.
-
-2006-05-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc: refresh_from_database(): Check for a null m_primary_key_field,
-	to prevent a crash when editing the fields so that no field is a primary key.
-
-2006-05-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/data_structure/relationship.cc:
-	* glom/libglom/data_structure/relationship.h: Added clone() methods, though we do not use them
-	yet.
-	* glom/libglom/sharedptr.h: operator==() check for equality, though this did not stop the crash.
-	* glom/mode_data/dialog_choose_relationship.cc: select_item(): If the relationship is null,
-	unselect all items.
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h: offer_relationship_list(): Optionally take the current
-	relationship as a parameter so that the current one is highlighted in the dialog. Just change the
-	existing portal, instead of setting the portal in the model row, because this causes some kind of
-	memory management confusion that caused a crash, and it is inefficient anyway. Bug #340888 from
-	Hendrik Richter.
-	Call row_changed() to tell the TreeView to update the display.
-
-2006-05-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: get_fields_for_table_from_database(): Report all primary keys are also
-	being unique, because they all must be.
-	postgres_change_column_extras(): When changing whether a field is a primary key, deal with
-	the fact that the uniqueness was a side-effect of it being a primary key, and do not try
-	to add/drop a non-existant uniqueness constraint, or specify uniqueness with both constraints.
-	Also, use the correct postgres SQL syntax  for setting/unsetting whether a field is a primary
-	key. It is very postgres specific.
-	Return a modified version of the field definition, so that callers can display the new
-	field definition correctly, so the constraints can be witnessed by the user.
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_design/fields/box_db_table_definition.h: on_adddel_changed(): Update the row to
-	show any constraints enforced when changing the field definition. This makes primary keys always
-	unique and unchecks unique when it removes primary key, though uniquness can then be specified
-	separately.
-	* glom/mode_data/box_data_list.cc: get_record_counts(): Avoid a segfault when the model is
-	null, which happens at the moment when there is no primary key.
-
-2006-05-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: postgres_change_column_extras(): Really set/unset the uniqueness
- 	constraint. This is very Postgres specific. We should do this with libgda one day, if it
-	can do it.
-
-2006-05-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/python_embed/python_module/Makefile.am: Put some stuff in LIBADD instead of LDFLAGS.
-	This seems to work, and seems to be necessary on cygwin. Bug #338844 from
-	Yselkowitz.
-
-2006-05-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/adddel/adddel.cc: on_button_press_event_Popup(): Do not edit
-	on double-click because it is annoying/confusing when the cells are editable on
-	single click as well. This affects the table list, and the field list, all of which
-	have a separate Open/Edit button.
-
-2006-05-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/libglom/Makefile.am: Put everything in LIBADD instead of some in LDFLAGS.
-	This seems to work, and seems to be necessary on cygwin. Bug #338844 from
-	Yselkowitz.
-
-2006-05-05  Murray Cumming  <murrayc murrayc com>
-
-	* Makefile.am: Define ACLOCAL_AMFLAGS so that autoreconf works. Bug #338844 from
-	Yselkowitz.
-
-2006-05-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/flowtablewithfields.cc: Do not make notebook tab titles bold. It gets
-	annoying when there are many tabs, and is not that helpful, as well as being non-HIG.
-
-2006-05-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h: Do not put the labels in Gtk::Alignments.
-	They are not necessary. This should save a little memory and speed.
-
-2006-05-05  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/flowtable.cc:
-	* glom/utility_widgets/flowtable.h: on_size_allocate(): Give the full max first-item width to
-	first items, instead of just what they request, so that labels can expand and align in the
-	actually-available space, so that xalign is useful.
-	* glom/utility_widgets/flowtablewithfields.cc: add_field_at_position():
-	Use label xalign and yalign instead of the Gtk::Aligment alignment, because it is not
-	needed. Align labels left, though I previously was trying to align them right. Right alignment
-	is untidy when using groups, because the entries do not line up across groups, and that would be
-	very difficult to implement. The vertical alignment of labels seems to be neater now.
-
-2006-04-30  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: show_table(): init_db_details(): Added optional primary_key_value_for_details
-	parameter. Pass it to show_table().
-	on_notebook_data_record_details_requested(): Pass the primary key value to show_table() instead of
-	calling show_details() afterwards, so that Glom does not show intermediate layouts.
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h: Added optional primary_key_value_for_details parameter and
-	show the details layout with this record when it is specified.
-
-2006-04-29  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:
-	* glom/mode_data/notebook_data.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h:
-	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.cc: Changes select_item() to
-	take a LayoutItem_Field instead of an index, to simplify things.
-	get_view_column_index(): Take the button column into account, so that, for instance,
-	clicking Add on the list view doesn't sometimes activate the button, taking us to the
-	details view instead.
-
-2006-04-29  Murray Cumming  <murrayc murrayc com>
-
-	* regexxered some method names to all lowercase.
-
-2006-04-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: Added check_entered_value_for_uniqueness()
-	and get_field_value_is_unique() and get_field_value_in_database().
-	set_entered_field_data(): Catch exceptions here, and return false, so that the
-	caller can handle errors more easily and more immediately.
-	* glom/mode_data/box_data_details.cc: on_flowtable_field_edited():
-	* glom/mode_data/box_data_list.cc: on_adddel_user_added(), on_adddel_user_changed():
-	Warn the user if the new value would not be unique, if it needs to be. This adds a new
-	translatable string, but the new string replaces an untranslated error message from
-	Postgres.
-
-1.0.3:
-
-2006-04-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc:  on_notebook_find_criteria(): Show a busy cursor while waiting
-	for the results.
-	on_menu_Mode_Find(): Show a busy cursor while showing the appropriate view, because it
-	takes a long time to do that, unfortunately.
-
-2006-04-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/flowtablewithfields.cc: add_layout_notebook_at_position():
-	Use add_layoutwidgetbase(portal) so that we connect signals, so that we save portal
-	layout changes to the document.
-
-2006-04-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: handle_error():
-	* glom/libglom/connectionpool.cc: handle_error(): Print more detailed information about
-	exceptions to stderr.
-
-2006-04-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: refresh_from_database():
-	Return false if the query returns no records, so that on_notebook_find_criteria()
-	can offer a new find if none are found.
-	* glom/application.cc: set_mode_find(): Actually activate the find action, not the
-	data action, so that a second find really works.
-
-2006-04-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/dialog_layout_details.cc: on_button_field_formatting():
-	Set m_modified so that the new formatting is actually used.
-
-2006-04-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/flowtablewithfields.cc: on_datawidget_layout_item_added():
-	Add a LayoutItem to the LayoutGroup of the flowtable, which is shared with the document,
-	and just let the parent rebuild the layout, instead of adding the actual widget here,
-	and expecting the parent to read layout from that. This makes right-click adding work
-	again.
-
-2006-04-28  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* glom/Makefile.am:
-	* po/POTFILES.in:
-	* many files: Moved data_structure, document, and part of python_embed directories
-	into libglom, so that the glom python module does not need to use symbols in the
-	glom executable, because this is not allowed in cygwin, using --no-undefined.
-	In future, this can be used as public API to make the document/database structure
-	available to separate utilities and a web UI.
-
-2006-04-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/field.cc: get_type_name_ui(): Actually return
-	the translated string instead of the string for SQL. This prevents an error+crash
-	when adding a field in any locale that has been translated. Kind of important.
-
-2006-04-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/layout_item_dialogs/Makefile.am:
-	* glom/layout_item_dialogs/dialog_buttonscript.cc:
-	* glom/layout_item_dialogs/dialog_buttonscript.h:
-	* glom/layout_item_dialogs/dialog_textobject.cc:
-	* glom/layout_item_dialogs/dialog_textobject.h:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_design/Makefile.am:
-	* glom/mode_design/dialog_buttonscript.cc:
-	* glom/mode_design/dialog_buttonscript.h:
-	* glom/mode_design/dialog_textobject.cc:
-	* glom/mode_design/dialog_textobject.h: Moved these dialog classes into
-	the layout_item_dialogs/ directory where they belong.
-
-2006-04-26  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/dialog_choose_id.cc: on_box_find_criteria:
-	Set the table name in the FoundSet, so that the init_db_details() can succeed,
-	and not falsely say that there are no results.
-
-2006-04-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/glomconversions.cc: Use memset to zero the tm structures,
-	to fix a build problem with cygwin. Bug #338844 from Yselkowitz.
-
-1.0.2:
-
-2006-04-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/Makefile.am:
-	* glom/glom.glade:
-	* glom/utility_widgets/dialog_choose_date.cc:
-	* glom/utility_widgets/dialog_choose_date.h: New dialog, for choosing a date
-	from a calendar.
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/datawidget.h: Constructor: Add a ... button next to
-	dates so people can choose the date from a calendar. This might help to give clues
-	about a strange locale bug that someone is experiencing with date fields.
-
-1.0.1:
-
-2006-04-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: add_standard_groups(): Do not grant developer access to a
-	table if the table does not exist yet. This avoids the failure during the first
-	creation of the first example (though a second try worked.)
-
-2006-04-01  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Added get_table_names(), using get_tables().
-	* glom/base_db.cc:
-	* glom/base_db.h: Renamed get_table_names() to get_table_names_from_database(),
-	to be more explicit.
-	* glom/mode_design/box_db_table_relationships.cc:
-	* glom/navigation/box_tables.cc: Call the appropriate get_table_names*(), so we
-	never show table names that are not in the document, because that usually leads to
-	problems later.
-
-2006-04-01  Murray Cumming  <murrayc murrayc com>
-
-	* glom/navigation/box_tables.cc: on_adddel_Add(): If the table exists on the server,
-	then try to reuse it and store it in the document. This should never happen, but it
-	was just useful to me when I lost a more recent copy of my .glom document. It adds a
-	translatable string, but users should never see this dialog anyway.
-
-1.0.0:
-
-2006-03-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list_related.cc: get_fields_to_show() Really make fields
-	non-editable if the relationship does not allow editing.
-
-2006-03-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_connection.cc: load_from_document(): Use localhost if the host name is
-	empty.
-	* glom/frame_glom.cc: connection_request_password_and_choose_new_database_name():
-	Store the successfully-used entered server host name in the document, so it is the
-	default when the document is reopened.
-
-2006-03-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list.cc: Call set_field_value_in_database() with the optional
-	use_current_calculations value instead of mistakenly casting the window pointer to bool.
-
-2006-03-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade: window_layout_report:
-	* glom/reports/dialog_layout_report.cc:
-	* glom/reports/dialog_layout_report.h: Add a show_table_title checkbutton, because the
-	table title is sometimes superfluous.
-	* glom/document/document_glom.cc: load_after(), save_before(): load and save
-	the new report property.
-	* glom/base_db.cc: build_report(): Put show_table_title in the xml.
-	* xslt/print_report_to_html.xsl: Interepret show_table_title in the xml.
-	* glom/data_structure/report.cc:
-	* glom/data_structure/report.h: Added get/set_show_table_title().
-
-2006-03-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: Use TreeView::set_fixed_height_mode() and
-	TreeViewColumn::set_fixed_width(), so that the TreeView does not request values that are
-	not visible in the scrolled window. If libgda does things properly then this should mean
-	that we do not get data from the database that we never see.
-
-2006-03-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h: Added get_suitable_record_to_view_details()
-	and get_has_suitable_record_to_view_details() so that the row button can go to a
-	doubly-related record if the related table is hidden, based on the first related field
-	in the portal.
-	* glom/utility_widgets/flowtablewithfields.cc: on_portal_user_requested_details():
-	If the related table is hidden, use get_has_suitable_record_to_view_details() instead.
-
-2006-03-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/flowtablewithfields.cc: create_related(): Connect to signals
-	here, instead of from the caller. This makes the row details button work in Notebooks.
-
-2006-03-27  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	get_table_fields(): Hide the hidden system field, though it
-	should never be in the document anyay.
-	Added set_parent_window() so that the load/save methods can
-	show a busy cursor, though this does not work yet.
-	* glom/application.cc: init_create_document(): Call set_parent_window() on
-	the document.
-	* glom/standard_table_prefs_fields.h:
-	Added GLOM_STANDARD_FIELD_LOCK - a hidden system field for
-	each table, not used yet.
-	* glom/base_db.h: get_fields_for_table_from_database():
-	Optionally hide the hidden system field.
-	* glom/base_db.cc: connect_to_server(), Query_Execute(): Added optional
-	parent_window parameter, so they can show the busy cursor.
-	* glom/box_db_table.cc:
-	* glom/dialog_connection.cc:
-	* glom/dialog_database_preferences.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/notebook_data.cc:
-	* glom/mode_design/box_db_table_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: Use the new parameters to show busy cursors.
-	* glom/utility_widgets/db_adddel/db_adddel.cc: treeview_append_column():
-	Escape underlines in column titles so that they are not interpreted as
-	mnemmonics.
-	* po/POTFILES.in: Added missing file.
-
-2006-03-25  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Depend on latest Bakery, for BusyCursor API addition.
-	* glom/application.cc:
-	* glom/base_db.cc:
-	* glom/box_reports.cc:
-	* glom/dialog_connection.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_design/box_db_table_relationships.cc:
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_find/box_data_details_find.cc:
-	* glom/mode_find/box_data_list_find.cc:
-	* glom/navigation/box_tables.cc: Correct the BusyCursor
-	declarations so that they actually instantiate an object, so that they
-	work.
-
-2006-03-25  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: offer_new_or_existing(): If creation of a new database
-	fails, offer again.
-	* glom/frame_glom.cc: create_database(): Warn the user if creation failed.
-
-2006-03-25  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: set_table_privileges(): When granting
-	create privileges, make sure to also grant edit privileges in the
-	hidden autoincrement table.
-	add_standard_groups(): Give them access to the standard prefs table too.
-	auto_increment_insert_first_if_necessary(): Check that the user is allowed
-	to edit the autoincrement table, and warn the user about this serious error if not.
-	get_database_prefefrences(): Check that the user is allowed to view this table.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Added create_table_system_preferences() with
-	no arguments.
-	get_tables(): Added optional plus_system_prefs boolean.
-	* glom/mode_design/users/dialog_groups_list.cc:
-	* glom/mode_design/users/dialog_groups_list.h: Show the table title instead of the
-	name, and show the system prefs table too.
-	on_button_group_new(): Grant access to the autoincrements table too.
-
-2006-03-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/users/dialog_groups_list.cc: fill_group_list():
-	Avoid a warning when using selection on a treeview with no model yet.
-
-2006-03-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_database_users():
-	* glom/mode_design/users/dialog_groups_list.cc:
-	* glom/mode_design/users/dialog_users_list.cc:
-	* glom/utils.cc: build_sql_select_with_where_clause():
-	Quote the table, group, and user names, because they otherwise fail
-	when using reserved names, such as cast.
-
-2006-03-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.h:
-	* glom/frame_glom.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/utils.cc:
-	* glom/utils.h: Pass sort_clause as a list of
-	LayoutItem_Fields, so that build_sql_select_with_where_clause() can define
-	the relationships used by the sort clause.
-	* glom/data_structure/layout/usesrelationship.cc:
-	* glom/data_structure/layout/usesrelationship.h:
-	get_sql_join_alias_definition(): Put quotes around the relationship names, in
-	some places where I forgot to do that.
-
-2006-03-24  Peter Williams  <peter newton cx>
-
-	* glom/frame_glom.h: Remove Frame_Glom:: from the
-	connection_request_password_and_choose_new_database_name() declaration,
-	to fix the build with g++ 4.1 (in Fedora Core 5).
-
-2006-03-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/application.cc: Call set_icon_from_file() so that metacity
-	shows the Glom icon in various places.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h: Connect to the clicked
-	signal of the TreeViewColumns, and change the sort order accordingly.
-
-2006-03-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: Added FoundSet class, instead of
-	passing table_name, where_clause, and sort_clause
-	around separately.
-	* glom/application.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_details.h:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h:
-	* glom/mode_find/box_data_details_find.cc:
-	* glom/mode_find/box_data_list_find.cc:
-	* glom/mode_find/box_data_list_find.h:
-	* 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/utility_widgets/dialog_choose_id.cc:
-	* glom/utils.cc: Use FoundSet instead of separate
-	parameters.
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: show_table(): Sort the list by
-	primary key by default, so that the order is at least
-	predictable.
-
-0.9.92:
-
-2006-03-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/standard_table_prefs_fields.h:
-	* glom/document/document_glom.cc:
-	create_table_system_preferences(): Added a logo image
-	field to the system preferences table.
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_design/fields/box_db_table_definition.h:
-	* glom/base_db.cc:
-	* glom/base_db.h: Moved postgres_add_column() and
-	postgres_change_column_extras() to Base_DB.
-	Added create_table_add_missing_fields() and called it from
-	add_standard_tables() to make sure that existing databases
-	get new fields.
-	Added get_field_exists_in_database()
-	get_database_preferences(), set_database_preferences():
-	Check that the new field is in the database and do not try
-	to use if it is it not there.
-	* glom/data_structure/system_prefs.h: Added logo as a
-	Gda::Value.
-	* glom/glom.glade:
-	* glom/dialog_database_preferences.cc:
-	* glom/dialog_database_preferences.h: Add a new notebook
-	tab for the logo.
-
-2006-03-21  Murray Cumming  <murrayc murrayc com>
-
-	* xslt/print_report_to_html.xsl: field: Correct the xpaths to get the
-	correct border-widths. Use more specific apply-templates pattern, to put
-	the header above the title.
-
-2006-03-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: report_build_headerfooter(): Handle images, so they
-	appear on header/footer parts of reports.
-	* glom/reports/dialog_layout_report.cc: on_button_edit(): Handle images, so
-	they can be edited.
-	* xslt/print_report_to_html.xsl: Use xsl:variable and xsl:copy-of to reduce
-	some copy and paste of node creation.
-
-2006-03-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/glomconversions.cc: parse_value(): Handle images,
-	assuming that the text is the escaped SQL image format. This means that
-	the image layout items are actually loaded from the document.
-	* glom/utility_widgets/flowtablewithfields.cc: add_textobject_at_position(),
-	add_imageobject_at_position(): Pass true to add(), so that these widgets
-	take up the full available width when they have no titles.
-
-2006-03-21  Murray Cumming  <murrayc murrayc com>
-
-        * po/POTFILES.in:
-	* glom/data_structure/layout/Makefile.am:
-	* glom/data_structure/layout/layoutitem_image.cc:
-	* glom/data_structure/layout/layoutitem_image.h:
-	Added new image type, for arbitrary images on
-	layouts and reports.
-	* glom/base_db.cc:
-	* glom/base_db.h: Added build_records_imageobject() and
-	offer_imageobject(). Handle image fields in
-	report_build_records_field().
-	* glom/glom.glade:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h: Added Add Image
-	button and handled it.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Load/Save the new layout
-	item.
-	* glom/layout_item_dialogs/Makefile.am:
-	* glom/layout_item_dialogs/dialog_imageobject.cc:
-	* glom/layout_item_dialogs/dialog_imageobject.h:
-	New dialog for editing the new layout item.
-	* glom/reports/dialog_layout_report.cc: Constructor:
-	Add new image item to available parts.
-	* glom/utils.cc:
-	* glom/utils.h: Added create_local_image_uri(), to
-	save a temporary copy of the image to the filesystem,
-	for use in HTML report.
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/imageglom.h: Added set_read_only().
-	* xslt/print_report_to_html.xsl: Handle field nodes that
-	have image_uri instead of value.
-
-2006-03-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: report_build_records_field(): Handle fields in headers
-	and footers, assuming that they are to single records, such as system preferences.
-
-2006-03-20  Murray Cumming  <murrayc murrayc com>
-	* glom/base_db.cc:
-	* glom/base_db.h: report_build_records_text(): Take bool vertical parameter,
-	like report_build_records_field(), so we can handle these properly in
-	vertical groups.
-	* glom/data_structure/layout/report_parts/layoutitem_verticalgroup.
-	cc: Correct node name for XML/XSL reports.
-	* xslt/print_report_to_html.xsl: Handle headers and footers.
-
-2006-03-20  Murray Cumming  <murrayc murrayc com>
-
-	* po/POTFILES.in: Added some missing files.
-
-2006-03-20  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* glom/Makefile.am:
-	* glom/reports/Makefile.am:
-	* glom/reports/dialog_layout_report.cc:
-	* glom/reports/dialog_layout_report.h: Moved this dialog into
-	a sub directory. Show different (less) available items for headers
-	and footers, to avoid some confusion.
-	* glom/reports/treestore_report_layout.cc:
-	* glom/reports/treestore_report_layout.h: Added a custom treemodel,
-	so that we can override row_drop_possible_vfunc(), to control
-	what can be dropped where.
-
-2006-03-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade:
-	* glom/dialog_layout_report.cc:
-	* glom/dialog_layout_report.h: Put the report
-	parts into a Notebook, with extra tabs, with extra treeviews
-	for the header and footer, because there is no point in
-	allowing them to be added by the user anywhere but the start and end.
-	* glom/base_db.cc: report_build(): Handle the Header and Footer parts,
-	though it is reusing some datemodel-row-based functions in a hacky way,
-	and it needs to create an equivalent of the HTML table and tr for the
-	header parts.
-	* xslt/print_report_to_html.xsl: Initial handling of header and footer
-	parts.
-
-2006-03-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutgroup.h:
-	* glom/data_structure/layout/layoutitem.cc:
-	* glom/data_structure/layout/layoutitem.h:
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	* glom/data_structure/layout/layoutitem_text.cc:
-	* glom/data_structure/layout/layoutitem_text.h:
-	* glom/data_structure/layout/report_parts/layoutitem_fieldsummary.c
-	c:
-	* glom/data_structure/layout/report_parts/layoutitem_fieldsummary.h
-	:
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.h:
-
-	* glom/data_structure/layout/report_parts/layoutitem_summary.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_summary.h:
-	* glom/data_structure/layout/report_parts/layoutitem_verticalgroup.
-	cc:
-	* glom/data_structure/layout/report_parts/layoutitem_verticalgroup.
-	h: Added virtual get_report_path_id() instead of hard-coding the
-	node IDs in build_report() and friends.
-	* glom/dialog_layout_report.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_footer.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_footer.h:
-	* glom/data_structure/layout/report_parts/layoutitem_header.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_header.h:
-	New layout report parts, not used yet.
-	* glom/document/document_glom.cc: Load/Save the new report parts.
-	* xslt/print_report_to_html.xsl: Some XSL to handle headers and footers.
-	Might even work.
-	* glom/base_db.cc:
-	* glom/base_db.h: Added report_build_headerfooter(). Needs work.
-
-2006-03-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: on_menu_report_selected(): Build the report with
-	the current found set only.
-
-2006-03-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utils.cc: Added #includes to fix the build.
-
-2006-03-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/report_parts/Makefile.am:
-	* glom/data_structure/layout/report_parts/layoutitem_footer.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_footer.h:
-	* glom/data_structure/layout/report_parts/layoutitem_header.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_header.h: Add
-	header and footer parts for reports, though they are not used yet.
-	* po/POTFILES.in: Add the new files.
-
-2006-03-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: report_build(): Take extra Gtk::Window* parameter.
-	* glom/frame_glom.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list.cc: Call report_build() with extra
-	Gtk::Window* parameter so that the dialog can be transient.
-	* glom/utils.cc:
-	* glom/utils.h: transform_and_open(): Show a dialog to hint to the user
-	that they should look in their open web browser to see the report.
-	* po/POTFILES.in: Added utils.c
-
-0.9.91
-
-2006-03-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/glomconversions.cc:
-	* glom/data_structure/glomconversions.h: format_date(): Takes a char* format, instead
-	of a char format, so we can use a greater variety of formats. Mark the locale-specific
-	x format as translated, and advise translators to translate it if their locales (stupidly)
-	represent/parse dates as only 2 digits.
-	parse_date(): If the format was translated, then it's useless here too, so just use
-	the Glib::Date fallback.
-	* po/en_GB.po: Translate the date format, so that dates are shown and parsed with
-	4-digit years. Bug found by Phill Gillespie.
-
-2006-03-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: add_standard_groups(): Add the current user to the developer group
-	here, rather than expecting the caller to do it (it did not always do it), so that
-	people who create databases successfully are always marked as developers, so they can
-	always change their databases. Bug found by Ryan Paul.
-        * glom/applicationcc: recreate_database(): Do not make the user a developer here -
-	let add_standard_groups() do it.
-
-2006-03-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/comboentryglom.cc: check_changes(): Do not allow any
-	changes when the Entry is set to sensitive, to prevent changes via the
-	combo menu. GtkComboBox has no set_editable() of its own. Show and informative dialog
-	when changing the value back to the original one, so it does not just seem broken.
-	* glom/utility_widgets/datawidget.cc: Do not make read-only comboboxentries insensitive,
-	now that we can make them non-editable instead.
-
-2006-03-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc: record_new(): Do not ignore entered field data for
-	related fields, because we just calculated them, and they are correct. Somehow or
-	other this fixes the bug that caused calculated field values from the last-shown
-	record to be inserted into new records.
-
-2006-03-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/imageglom.cc: set_value(): When clearing the image,
-	also clear m_pixbuf_original, so that it doesn't come back when the image
-	is rescaled. For instance, this makes sure that picture fields are empty when
-	adding new records on the detail view.
-
-2006-03-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc: set_userlevel(): Add some debug output.
-	* glom/frame_glom.cc: on_menu_userlevel_Developer(): Add some debug output,
-	because someone has reported that they can not go to developer mode. This
-	might help us find out exactly why.
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h: init_db(): Add optional
-	show_title parameter.
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h: add_layout_notebook_at_position():
-	Support Related Records portals as direct children of Notebook parts, putting their
-	titles in the tab instead of having an alignment tab, and instead of requiring them
-	to be inside a group.
-
-2006-03-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: Moved some code into report_build_records_field() and
-	report_build_records_text(). Added report_build_records_verticalgroup().
-	report_build() and report_build_records(): Handle vertical groups (recursively).
-	* glom/data_structure/layout/report_parts/Makefile.am:
-	* glom/data_structure/layout/report_parts/layoutitem_verticalgroup.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_verticalgroup.h:
-	Added new report part, for stacked rows of fields in one cell of a record,
-	for fitting more stuff into one row of a report.
-	* glom/document/document_glom.cc: Load/Save the new layout item.
-	* glom/dialog_layout_report.cc:
-	* xslt/print_report_to_html.xsl: Handle vertical_group and field_vertical.
-	* glom/utility_widgets/flowtablewithfields.cc:
-	add_layout_notebook_at_position(): Make the notebook tabs bold, so they
-	are as visible as group titles, which is what they are really. Make sure
-	that the notebook pages have border spacing.
-
-2006-03-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/data_structure/layout/Makefile.am:
-	* glom/data_structure/layout/layoutitem_notebook.cc:
-	* glom/data_structure/layout/layoutitem_notebook.h:
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	* glom/glom.glade:
-	* glom/layout_item_dialogs/Makefile.am:
-	* glom/layout_item_dialogs/dialog_notebook.cc:
-	* glom/layout_item_dialogs/dialog_notebook.h:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h:
-	* glom/utility_widgets/layoutwidgetbase.cc:
-	* glom/utility_widgets/layoutwidgetbase.h:
-	* glom/utility_widgets/notebookglom.cc:
-	* glom/utility_widgets/notebookglom.h:
-	* po/POTFILES.in: Added Notebook part, which has Groups as child items for tabs.
-
-2006-03-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: get_table_fields_to_show_for_sequence_add_group(): When getting
-	full field details for related fields, use get_table_used() instead of the single-related to_table,
-	so that this works with doubly-related fields. This makes doubly-related fields work in portals.
-	* glom/mode_data/dialog_layout_list_related.cc: on_button_edit_field(): Show fields to the to_table,
-	not the parent table.
-	* glom/utility_widgets/db_adddel/db_adddel.cc: get_column_index(): Use is_same_field(), so that it
-	works for doubly-related fields too.
-
-2006-03-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/custom_title.cc:
-	* glom/data_structure/layout/custom_title.h: Added get/set_use_custom_title().
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h: Added get_title_or_name_no_custom().
-	get_title_or_name(): Return an empty custom title if use_custom_title is set.
-	* glom/data_structure/translatable_item.cc:
-	* glom/data_structure/translatable_item.h: get_translatable_type_name(): Add a result for
-	custom field titles.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: load_after_layout_item_field(), save_before_layout_item_field():
-	Load/Save a bool use_custom_title attribute, to allow for empty custom titles.
-	Added get_translatable_report_items().
-	get_translatable_layout_items(): Handle GroupBy group-by fields and secondary fields.
-	* glom/layout_item_dialogs/dialog_field_layout.cc: set_field(): Show the non-custom
-	title as the default title, so it does not change if there is a custom title.
-	* glom/translation/window_translations.cc: Use get_translatable_report_items() to get
-	custom titles and GroupBy fields.
-
-2006-03-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc: load_after_layout_group(), save_before_layout_group():
-	For GroupBy parts, save a whole LayoutItem node for the group-by field, so we can use
-	related fields and custom formatting for it.
-	* glom/glom.glade: dialog_group_by: Rename the Select button for Sort Fields to
-	Edit, to match the button for secondary fields, which also has more than one field.
-	* glom/layout_item_dialogs/dialog_group_by.cc:
-	* glom/layout_item_dialogs/dialog_group_by.h: Added Formatting button, to allow us,
-	for instance, to change the title of the group-by field.
-
-2006-03-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: report_build_groupby_children():
-	In the ORDER BY clause, use the relationship alias name, instead of
-	the table name, to avoid getting extra records because we would not be using
-	the join.
-	* glom/data_structure/layout/usesrelationship.cc:
-	* glom/data_structure/layout/usesrelationship.h: Added get_sql_table_or_join_alias_name()
-	for convenience.
-	* glom/utils.cc: build_sql_select_with_where_clause(): Use get_sql_table_or_join_alias_name()
-	to simplify the code.
-	* glom/document/document_glom.cc: load_after_layout_group(): Fill the full field details for
-	secondary fields of GroupBy parts.
-	* glom/layout_item_dialogs/dialog_group_by.cc: update_labels(): Show the list of secondary fields.
-	* xslt/print_report_to_html.xsl: Only indent child group_by divs, to avoid wasting space at the left
-	margin.
-
-2006-03-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: treeviewcolumn_on_cell_data():
-	Check the type of the GdaValue before calling get_bool, to avoid warnings about
-	it not being bool. It seems to be null sometimes. Not sure why.
-
-2006-03-13  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc: report_build_groupby(): Use the border width also
-	when using the group_by node for non-grouped records.
-	* glom/layout_item_dialogs/comboentry_borderwidth.cc:
-	Constructor add a 0.05em border width choice, for a finer line.
-
-2006-03-13  Murray Cumming <murrayc murrayc com>
-
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.h: Use a list of
-	sort fields, instead of just one, for multiple sort levels.
-	* glom/base_db.cc:
-	* glom/dialog_layout_report.cc:
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	* glom/glom.glade:
-	* glom/layout_item_dialogs/Makefile.am:
-	* glom/layout_item_dialogs/dialog_group_by.cc:
-	* glom/layout_item_dialogs/dialog_group_by.h:
-	* glom/layout_item_dialogs/dialog_groupby_sortfields.cc:
-	* glom/layout_item_dialogs/dialog_groupby_sortfields.h:
-	* glom/utils.cc: Handle the lsit of sort fields.
-	* glom/data_structure/layout/layoutitem.cc:
-	* glom/data_structure/layout/layoutitem.h: Add get_layout_display_name() as virtual
-	method here, so we can call it polymorphically.
-
-2006-03-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/layout_item_dialogs/dialog_groupby_secondaryfields.cc:
-	* glom/mode_data/dialog_layout_export.cc:
-	* glom/mode_data/dialog_layout_list.cc:
-	* glom/mode_data/dialog_layout_list_related.cc: More removal of copy/pasted code. Using
-	get_layout_display_name() instead.
-
-2006-03-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/mode_data/dialog_layout_details.cc: on_cell_data_name(): Move the code to
-	create the field display name (with the :: separators) into LayoutItem_Field::get_layout_display_name(),
-	to avoid copy/paste wasteage and to make it show up properly in the Reports layout dialog.
-
-2006-03-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/combobox_relationship.cc: set_selected_relationship() Fix a crash caused by use of wrong
-	iterator.
-	* glom/mode_data/dialog_choose_field.cc: set_document(): Specify the related_relationship if there is
-	one, and make sure that the full list is visible if it's needed by the current field.
-
-2006-03-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade:
-	* glom/combobox_relationship.cc:
-	* glom/combobox_relationship.h:
-	* glom/mode_data/dialog_choose_field.cc:
-	* glom/mode_data/dialog_choose_field.h: Optionally show related relationships, to
-	allow specifying doubly-related fields.
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h: Added get_is_same_field() to check the name,
-	and both relationships easily.
-	* glom/utility_widgets/flowtablewithfields.cc: get_field(): Use get_is_same_field()
-	to handle doubly-related fields.
-	* glom/data_structure/layout/usesrelationship.cc:
-	* glom/data_structure/layout/usesrelationship.h: Added get/set_related_relationship()
-	and associated methods.
-	Added get_sql_join_alias_name() and get_sql_join_alias_definition(), moving SQL generation
-	code from GlomUtils::build_sql_select_with_where_clause().
-	* glom/utils.cc: GlomUtils::build_sql_select_with_where_clause(): Simplify by using the
-	UsesRelationships methods. This can now support doubly-related fields by creating aliases in
-	terms of other aliases.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Load/Save the related_relationship. Load layouts after all other
-	table information has been loaded for all tables, because the layouts need the full information.
-	* glom/data_structure/layout/fieldformatting.cc:
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutitem_portal.cc:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_list.cc:
-	* glom/mode_data/box_data.cc: Update appropriately.
-
-2006-03-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/layout_item_dialogs/dialog_field_summary.cc:
-	* glom/layout_item_dialogs/dialog_group_by.cc:
-	* glom/layout_item_dialogs/dialog_groupby_secondaryfields.cc:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h:
-	* glom/mode_data/dialog_layout_export.cc:
-	* glom/mode_data/dialog_layout_list.cc:
-	* glom/mode_data/dialog_layout_list_related.cc: Remove a lot of copying and pasting
-	of near-identical offer_field_list() and offer_field_formatting() functions. Just use
-	the one in Base_DB. Also made sure that these dialogs are always transient, by adding a
-	Window* parameter.
-	* glom/glom.glade:
-	* glom/dialog_layout_report.cc:
-	* glom/dialog_layout_report.h: Added a Formatting button. For instance, this allows
-	the field titles to be changed (or removed) on reports.
-
-2006-03-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutgroup.h: Added get/set_border_width() for use
-	when creating reports, for some slight formatting choice.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: load_after_layout_group(), save_before_layout_group():
-	Handle the border_width.
-	* glom/glom.glade:
-	* glom/layout_item_dialogs/dialog_group_by.cc:
-	* glom/layout_item_dialogs/dialog_group_by.h: Allow the user to choose a border width
-	for the rows in the group.
-	* glom/layout_item_dialogs/Makefile.am:
-	* glom/layout_item_dialogs/comboentry_borderwidth.cc:
-	* glom/layout_item_dialogs/comboentry_borderwidth.h: New widget for choosing the
-	border width.
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h: Simplify the if/ifelse blocks that deal with
-	layout parts.
-	* xslt/print_report_to_html.xsl: Reduce copy/paste by using xsl::variables (though those
-	xsl::variable blocks are copy/pasted). Use xsl::variables to apply a border-width style to
-	td and the HTML blocks, depending on the border_width of the group-by. Add a horizontal line
-	after the group-by titles.
-
-2006-03-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutitem_field.cc: get_layout_display_name(): Return the
-	name even if the full details cache is invalid.
-	* glom/document/document_glom.cc: load_after(): Fill the full field details when loading
-	report items, so that they show up in the report when it is edited.
-
-2006-03-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_layout_report.cc: enable_buttons(): Enable the Add button even if the item
-	can not be a parent of the new item, so that the new item can become a sibling instead, if
-	parent would allow that.
-
-2006-03-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: report_build_records(): Instead of generating different
-	node names for numeric field headings and field values, just add a field_type
-	attribute.
-	* xslt/print_report_to_html.xsl: In <xsl:template match="field_heading"> and
-	<xsl:template match="field">: Use xls:choose to do align="right" if the node has
-	a field_type="numeric" attribute.
-
-2006-03-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: report_build_groupby(): Move child record generation into
-	new report_build_groupby_children() method. Output child records even if there is no
-	group_by field in the GroupBy part, so users can use it just to sort records, though
-	that's a bit of a hack. I think adding an explicit SortBy part would confuse things,
-	because it might not be clear what group of records are being sorted. But maybe it
-	would work.
-	* xslt/print_report_to_html.xsl: In <xsl:template match="group_by">:
-	Do not print the group-by field title and value (with the : separator) if there is no
-	group-by field, to avoid a lone :.
-
-2006-03-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/dialog_layout_report.cc: set_report(), get_report(): Allow non-group
-	LayoutItems at the top level, instead of putting them inside an automatically-created
-	group.
-
-2006-03-10  Murray Cumming  <murrayc murrayc com>
-
-	* po/POTFILES.in: Added data_structure/layout/layoutitem_text.cc
-
-2006-03-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/box_reports.cc: on_adddel_Add(): Set the new report name in the
-	row key, so we know what row to edit in subsequent steps.
-
-2006-03-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutgroup.h: Added get_items_count().
-	* glom/dialog_layout_report.cc: get_original_report_name(): Do not crash if
-	there are top-level fields. Still need to handle this properly though.
-	* glom/utility_widgets/datawidget.cc: set_editable():
-	Call set_sensitive() on ComboBoxes, because the menu still changes the
-	value if we just call set_editable on its Entry.
-
-2006-03-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: report_build_records() takes a vector of LayoutItem
-	instead of LayoutItem_Field, so it can handle text items. So text objects
-	now work on record rows of reports.
-
-2006-03-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: Added offer_textobject().
-	* glom/data_structure/layout/Makefile.am:
-	* glom/data_structure/layout/layoutitem_text.cc:
-	* glom/data_structure/layout/layoutitem_text.h:
-	Added Text layout part, for adding arbitrary text or empty text
-	with a title, to a details layout. Does not work on reports yet.
-	* glom/data_structure/translatable_item.cc:
-	* glom/data_structure/translatable_item.h: get_translatable_type_name():
-	Update.
-	* glom/dialog_layout_report.cc: Constructor: Add the Text object as a
-	possible part to add.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: load_after_group(), save_before_group():
-	Handle the text object layout part.
-	* glom/glom.glade:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h: Added Add Text button and
-	handled it.
-	* glom/mode_design/Makefile.am:
-        * glom/mode_design/dialog_textobject.h
-        * glom/mode_design/dialog_textobject.cc: New dialog for editing the
-	text object.
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h:
-	add_layout_item_at_position(): Add a LabelGlom for text objects.
-	* glom/utility_widgets/labelglom.cc:
-	* glom/utility_widgets/labelglom.h: New widget for the text object.
-
-0.9.8:
-
-2006-03-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: do_lookups(): Do not pass a instance constructor its own member
-	variables. Avoids occasional crash and occasional non-working lookups.
-
-2006-03-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	get_table_fields_to_show_for_sequence_add_group(): Do not recurse into portals,
-	to avoid adding their fields to the SQL query for the parent table details view.
-	* glom/document/document_glom.cc: load_after_layout_group(): In portals,
-	load related (related from the related table) fields properly, so we remember
-	the relationship.
-
-0.9.7:
-
-2006-03-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/glomconversions.cc: parse_date(): Fix incorrect sanity check
-	of the month, so that January is not changed to February. tm.tm_mon _does_ start
-	with 0.
-
-2006-03-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/glomconversions.cc: parse_value(): If parsing of the time
-	fails, fall back to trying the C locale. This is usually necessary. No idea why.
-
-2006-03-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: on_cell_button_clicked():
-	Do not interpret an edit request on a placeholder row as a request to add. This
-	means that Glom switches to an empty details view instead, as you would expect.
-
-2006-03-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: refresh_from_database():
-	If there are no rows it is not an error. There are just no records in the table
-	yet.
-
-2006-03-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutitem_field.cc: get_editable_and_allowed():
-	Report calculated fields as always non-editable.
-	* glom/layout_item_dialogs/dialog_field_layout.cc: set_field(): Do not allow
-	calculated fields to be editable, by graying-out the checkbox.
-	* glom/main.cc: Translate the command-line options, and add a --version
-	option.
-	* glom/utility_widgets/comboglomchoicesbase.cc: set_choices_with_second():
-	For the optional second column in the popdown, use the correct formatting,
-	instead of reusing the formatting from the first column.
-	* glom/utility_widgets/datawidget.cc: set_editable(): For ComboBoxEntry
-	widgets, set the child entry as non-editable.
-
-2006-03-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/main.cc: Call PySys_SetArgv, to prevent use of pygtk from
-	crashing when using pygtk 2.9/2.10.
-	* glom/mode_data/dialog_layout_details.cc: on_cell_data_name(): Name buttons as
-	buttons in the name column, instead of leaving it blank.
-
-2006-03-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: on_document_load(): When saving from an example, temporarily increase
-	the user level, so that save_changes() always saves.
-	* glom/document/document_glom.cc:
-	set_modified(): Save even if modified is already set, because this can happen
-	after unblocking save-on-modified. If there are endless loops then we need to
-	fix them elsewhere instead.
-	load_after(): Block setting of modified state while loading.
-
-2006-03-06  Murray Cumming  <murrayc murrayc com>
-
-	* glom/box_reports.cc:
-	* glom/data_structure/report.cc:
-	* glom/dialog_layout_report.cc:
-	* glom/document/document_glom.cc: Prevent crashes when adding reports,
-	or editing them.
-
-2006-03-02  Ilkka Tuohela  <hile iki fi>
-
-	* configure.in: Added "fi" to ALL_LINGUAS
-
-2006-02-24  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/adddel/adddel.h: Added set_prevent_duplicates() and
-	set_prevent_duplicates_warning().
-	* glom/mode_design/box_db_table_relationships.cc:
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/navigation/box_tables.cc: Use the new AddDel methods to prevent, and warn about,
-	duplicate tables, fields, and relationships, to prevent crashes.
-
-2006-02-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/box_db_table_definition.cc: postgres_change_column_type():
-	Data conversion commands: Fix crashes when converting from text to boolean, and from
-	boolean to number. Preserve information when converting from anything to boolean.
-
-2006-02-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/dialog_layout_list.cc:
-	* glom/mode_data/dialog_layout_list.h: Do not allow people to put image
-	fields on the list view, because it can not show them yet.
-	* glom/utility_widgets/db_adddel/db_adddel.cc: Some skeleton code to
-	support (very scaled-down) images on the list view. But I have not actually
-	implemented it because I do not want yet more versions of the code that
-	works around the libgda 1.2 binary escaping problem.
-
-2006-02-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	postgres_change_column_type(): Use textcat() to add a preceding 0 when
-	using to_number(), so that it always succeeds. Now I can not make glom
-	crash or error when converting field types, though the results are a bit
-	strange for text<->to date.
-
-2006-02-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: Add override of
-	calculate_field_in_all_records() that does not need the primary key
-	spoon-fed to it. Get all the primary key values, not all the calculated
-	field values.
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	on_Properties_apply(): Warn about necessary recalculation and
-	allow the user to cancel the change of field definition.
-	change_definition(): Recalculate all values if necessary. This
-	even works.
-
-2006-02-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/field.cc:
-	* glom/data_structure/field.h:
-	* glom/base_db.cc:
-	* glom/base_db.h: Move get_calculation_fields() to Base_DB,
-	so it can return a LayoutItem_Field, instead of a field name,
-	so it can refer to related fields, though we are not using them
-	yet.
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_design/fields/dialog_fieldcalculation.cc: Adapt.
-
-2006-02-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: FieldInRecord: Change primary_key*
-	to key*, so we can use this for foreign keys for
-	related records.
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data_details.cc: Adapt.
-	* glom/utils.cc:
-	* glom/utils.h: Rename build_sql_select_with_primary_key() to
-	build_sql_select_with_key
-
-2006-02-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utils.cc:
-	* glom/utils.h: Added build_sql_select_with_primary_key().
-	* glom/base_db.cc:
-	* glom/base_db.h: Added FieldInRecord inner class and
-	used it to reduce the number of parameters for
-	do_calculations(), do_lookups(), refresh_related_field(),
-	calculate_field(), set_field_value_in_database().
-	* 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: Change the method
-	overrides and implementations to match.
-
-2006-02-20  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/base_db.cc:
-	* glom/base_db.h: Moved calculate_field(), get_record_field_values(),
-	set_entered_field_data(), set_field_value_in_database(), build_sql_select(),
-	do_calculations(), get_calculated_fields(), do_lookups(), get_lookup_fields(),
-	get_lookup_value(), and refresh_related_fields() down to the Base_DB class,
-	with extra table_name arguments, so we can recalculate/lookup fields even if they
-	the tables or records are not being shown currently.
-
-2006-02-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/connectionpool.cc:
-	* glom/connectionpool.h: connect(): Parse the result of SELECT version() and return
-	it from get_postgres_server_version(), so we can optionally use some new features,
- 	behind the scenes.
-
-2006-02-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/combobox_relationship.cc:
-	* glom/combobox_relationship.h: set_display_parent_table(): Add a separator after
-	the table title, so that relationships are special.
-	* glom/mode_data/dialog_choose_field.cc: set_document(): Scroll the current field
-	into view, so it is always visible.
-
-2006-02-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/dialog_choose_field.cc: set_document(): Supply the table title as
-	well as the name, so it shows up.
-
-2006-02-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/dialog_fielddefinition.cc: set_field(): Do not show the
-	current table name in the list of relationships for lookups.
-
-2006-02-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/glom.glade:
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	* glom/mode_design/fields/dialog_fielddefinition.h: Rename the Default Value tab
-	to Value. Use radiobuttons to make the calculation and the rest mutually exclusive.
-
-0.9.6:
-
-2006-02-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.h: Make on_flowtable_field_edited()
-	virtual again so that the override in BoxDataDetails_Find works again,
-	to avoid odd regressions when finding.
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	* glom/utils.cc:
-	* glom/base_db.cc: Try to print the SQL command on stdout when there
-	is a problem with it.
-
-2006-02-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: on_notebook_find_criteria(): Show all records if
-	the find was not successful, and the user did not want to try again.
-
-2006-02-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: on_menu_Mode_Find(): Start the Find mode
-	on the same layout (Details or List) as the Data mode was in.
-	Add a little hack to make sure that we go back into Data mode in List
-	view at first, to make sure that the first result will show up
-	properly in the Details mode.
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h: Added set_current_view().
-	* glom/mode_find/notebook_find.cc:
-	* glom/mode_find/notebook_find.h: Added set_current_view().
-
-2006-02-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/imageglom.cc: scale(): Call Gtk::Image::get_storage_type()
-	before Gtk::Image::get_pixbuf(), to avoid a critical warning.
-
-2006-02-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/imageglom.h: Override on_expose_event() so we can
-	scale the image when we actually have a real (>1) allocation.
-	scale(): Do not call set_image() if the scaled pixbuf has exactly the same
-	dimensions as the existing image. And do not try to scale the image if the
-	allocation is very small, because this will generally fail. This fixes the
-	disappearing image problem.
-
-2006-02-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/relationship.cc:
-	* glom/data_structure/relationship.h: Added get_has_to_table(), for
-	performance, to avoid string copying.
-	* glom/utils.cc: build_sql_select_with_where_clause(): Add to_table to the
-	FROM list for non-key-linked relationships. libpq adds the implicit FROM if we
-	do not do this, but it prints a warning on stdout.
-	* glom/mode_data/dialog_layout_list_related.cc: on_combo_relationship_changed():
-	Clear the list of fields when the relationship changes, so that there are no
-	invalid fields.
-
-
-2006-02-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc: get_translatable_items(): Return the CustomTitles of
-	LayoutItem_Fields.
-	* glom/translation/window_translations.cc: load_from_document(): Do not try to get the
-	custom titles here, because get_translatable_items() gets them instead.
-
-2006-02-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/Makefile.am:
-	* glom/data_structure/layout/custom_title.cc:
-	* glom/data_structure/layout/custom_title.h: New translatable
-	item, for use when layout items can optionally have special
-	titles, when the default (such as Street for contacts::address_street),
-	is not appropriate.
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h: Add get/set_title_custom().
-	* glom/data_structure/translatable_item.cc:
-	* glom/data_structure/translatable_item.h: Add new item type and name.
-	* glom/document/document_glom.cc: load_after_layout_item_field(),
-	save_before_layout_item_field(): Load/Save the custom_title of
-	LayoutItem_Field items.
-	* glom/glom.glade: dialog_layout_field_properties.
-	* glom/layout_item_dialogs/dialog_field_layout.cc:
-	* glom/layout_item_dialogs/dialog_field_layout.h: Add widgets to allow
-	a custom title.
-	* glom/translation/window_translations.cc: load_from_document():
-	Add the custom titles to the list.
-	* glom/utility_widgets/datawidget.cc: on_menupopup_activate_layout():
-	Save the new field properties, instead of replacing the whole item,
-	so that the document gets the new information. Makes this work again.
-
-2006-02-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/combobox_relationship.cc: Do not show the
-	Triggered By information if there are not linking key
-	fields for a relationship.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: get_relationships():
-	Optionally also return the extra System Properties
-	relationship.
-	get_relationship(): Return the extra System Properties
-	relationship if it is asked for by name, even though it
-	is not saved in the document.
-	* glom/mode_data/dialog_choose_field.cc: Show the extra
-	System Properties relationship too.
-	* po/POTFILES.in: Added document_glom.cc
-
-2006-02-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/relationship.cc:
-	* glom/data_structure/relationship.h: Added
-	get_has_fields() to identify relationships that
-	actually link fields in tables.
-	* glom/mode_data/box_data_list_related.cc: init_db_details(),
-	fill_from_database(): Get all rows (with no where clause) if the
-	relationship does not specify linking fields.
-	* glom/mode_design/box_db_table_relationships.cc:
-	* glom/utils.cc: build_sql_select_with_where():
-	If a related field's relationship doesn't specify
-	linking fields, don't attempt a JOIN.
-
-2006-02-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/box_db_table.cc:
-	* glom/box_db_table.h:
-	* glom/box_reports.cc:
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.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_related.cc:
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h:
-	* glom/mode_design/box_db_table_relationships.cc:
-	* glom/mode_design/dialog_design.cc:
-	* glom/mode_design/dialog_design.h:
-	* glom/mode_design/dialog_fields.cc:
-	* glom/mode_design/dialog_fields.h:
-	* glom/mode_design/dialog_relationships.cc:
-	* glom/mode_design/dialog_relationships.h:
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_find/box_data_details_find.cc:
-	* glom/mode_find/notebook_find.cc:
-	* glom/mode_find/notebook_find.h:
-	* glom/utils.cc: Code style uniformity: Change
-	strTableName to table_name and strWhereClause to
-	where_clause.
-
-2006-02-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/glomconversions.cc:
-	* glom/data_structure/glomconversions.h: Added
-	get_empty_value_suitable_for_python().
-	* glom/mode_data/box_data.cc: get_record_field_values():
-	Get full set of suitable empty values if there is no primary key,
-	and replace null values with suitable non-null empty values, with
-	get_empty_value_suitable_for_python(). This avoids warnings on the
-	command line when adding records.
-
-0.9.5:
-
-2006-02-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutitem_button.cc:
-	* glom/data_structure/layout/layoutitem_button.h:
-	Added get/set_script().
-	* glom/document/document_glom.cc: load_after_layout_group(),
-	save_before_layout_group(): Load/Save the scripts for buttons.
-	* glom/utility_widgets/buttonglom.cc:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_details.h: Handle button clicks and
-	run the python code.
-	* glom/glom.glade: Add a script editing dialog.
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h: on_button_edit():
-	Allow editing of buttons and start editing of the title column
-	if the item is a group.
-	* glom/mode_design/Makefile.am:
-	* glom/mode_design/dialog_buttonscript.cc:
-	* glom/mode_design/dialog_buttonscript.h: Added button script
-	editing dialog.
-	* glom/python_embed/glom_python.cc:
-	* glom/python_embed/glom_python.h: Added
-	glom_execute_python_function_implementation() because we buttons
-	do not care about the result.
-	* examples/example_smallbusiness.glom: Add a Test Button to the
-	Contacts layout, with a pygtk hello world script behind it.
-
-2006-02-13  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutitem_button.cc:
-	* glom/data_structure/translatable_item.cc:
-	* glom/data_structure/translatable_item.h: Give it a
-	translatable item type and name so it shows up properly in the
-	translations list.
-	* glom/document/document_glom.cc: save_before_layout_item_field():
-	Load the sequence number of child items. It was pure luck that this
-	worked sometimes without this.
-	* glom/document/document_glom.h:
-	* glom/mode_data/dialog_layout_details.cc: on_button_*(): Set m_modified,
-	so that all changes are always saved. I am surprised that this worked before.
-	on_cell_data_name(): Mark buttons as such.
-	on_cell_data_title(): Allow button titles to be edited.
-	* glom/utility_widgets/flowtablewithfields.cc:
-	add_button_at_position(): Set the button title and really show the widget.
-
-2006-02-12  Murray Cumming  <murrayc murrayc com>
-
-	* po/POTFILES.in:
-	* glom/Makefile.am:
-	* glom/data_structure/layout/Makefile.am:
-	* glom/data_structure/layout/layoutitem_button.cc:
-	* glom/data_structure/layout/layoutitem_button.h: Add Button
-	layout item.
-	* glom/glom.glade: Details Layout:
-	Put the Add buttons vertically at the right-hand side Add
-	an Add Button button.
-	* glom/mode_data/treestore_layout.cc:
-	* glom/mode_data/treestore_layout.h:
-	* glom/mode_data/dialog_layout_details.h:
-	* glom/mode_data/dialog_layout_details.cc:
-	Use the LayoutItems only in the model, simplifying this
-	dramatically, and making it easier to add new types of
-	layout items.
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/buttonglom.cc:
-	* glom/utility_widgets/buttonglom.h: Add a (not yet useful)
-	button widget.
-
-2006-02-10  Murray Cumming  <murrayc murrayc com
-
-	* Makefile.am: Install the logo used by the desktop file.
-
-2006-02-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: on_document_load(): When saving from an
-	example, do not open the Save As dialog box in the examples directory,
-	because it is usually read-only and it is not a wise place to put your
-	own stuff. Also see the latest Bakery 2.3.17 for fixes to prevent Save As
-	in read-only paths.
-
-0.9.4:
-
-2006-02-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutgroup.h:
-	Added remove_relationship(), to remove any
-	child items that use the relationship.
-	* glom/document/document_glom.cc:
-	remove_relationship(): Also remove any layout or report
-	parts that use the relationship.
-
-2006-02-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutgroup.h: Added remove_field().
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Added remove_field().
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	on_adddel_delete(): Call Document_Glom::remove_field() to prevent
-	a crash when deleting a field that is used on a layout.
-
-2006-02-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc: get_lookup_value():
-	Convert the key field value, in case the relationship's keys
-	have different types.
-
-2006-02-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/box_db_table_relationships.cc:
-	save_to_document(): Actually add new relationships.
-
-2006-02-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/glomconversions.cc:
-	* glom/data_structure/glomconversions.h: Added convert_value(),
-	which attemps to convert between differing value types if
-	necessary.
-	* glom/mode_data/box_data_details.cc:  do_lookups():
-	* glom/mode_data/box_data_list.cc: do_lookups(): Use
-	convert_value() to avoid errors when looking up a value from
-	a field with a different field type.
-
-0.9.3:
-
-2006-02-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/translatable_item.cc: get_title(): Really
-	fall back to related translations. For instance, if you are in
-	the German (Austria) locale, and there is no German (Austria)
-	translation for a title, but there is one for German (Germany),
-	use it.
-
-2006-02-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc:
-	set_translation_original_locale(): Mark the document
-	as modified so that this is saved.
-	* glom/glom.glade: Use language everywhere instead of
-	locale.
-	* glom/translation/Makefile.am:
-	* glom/translation/dialog_change_language.h:
-	* glom/translation/dialog_identify_original.cc:
-	* glom/translation/dialog_identify_original.h: Show the
-	locale name, not the ID.
-	* glom/translation/dialog_copy_translation.cc:
-	* glom/translation/dialog_copy_translation.h:
-	* glom/translation/window_translations.cc:
-	* glom/translation/window_translations.h: Implement
-	original locale identification and translation copying.
-
-2006-02-08  Murray Cumming <murrayc murrayc com>
-
-	* glom/document/document_glom.cc: Constructor:
-	Call TranslatableItem::set_original_locale() so that
-	TranslatableItem::set_title() does the right thing as early
-	as possible. This means that the automatically-generated
-	table titles will be visible when loading the document.
-
-2006-02-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/field.cc:
-	* glom/data_structure/groupinfo.cc:
-	* glom/data_structure/numeric_format.cc:
-	* glom/data_structure/privileges.cc:
-	* glom/data_structure/relationship.cc:
-	* glom/data_structure/translatable_item.cc:
-	Optimize the operator==() implementations, fixing
-	Field::operator==() along the way, so that entered field titles
-	when in non-original locales are used as translations for that
-	locale.
-	* glom/translation/combobox_locale.cc: Constructor:
-	Hide the locale IDs because they are not human-readable.
-
-2006-02-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/iso_codes.cc:
-	* glom/data_structure/iso_codes.h: Added get_locale_name(),
-	moving some of get_list_of_locales() into it.
-	* glom/data_structure/translatable_item.cc: get_title():
-	If there is no translation then use the first translation with
-	the same language (ignoring the country).
-	* glom/translation/window_translations.cc: load_from_document():
-	Use get_locale_name() to show the (believed) locale of the original
-	strings.
-	* glom/utils.cc:
-	* glom/utils.h: Added locale_language_id() so we can reuse the code.
-
-2006-02-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/dialog_database_preferences.cc:
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/python_embed/python_module/py_glom_relatedrecord.cc:
-	* glom/utils.cc: Put all field names in quotes too, to avoid
-	crashes when using uppercase characters in field names.
-
-2006-02-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/connectionpool.cc:
-	* glom/dialog_database_preferences.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_design/fields/box_db_table_definition.cc:
-	* glom/mode_design/users/dialog_users_list.cc:
-	* glom/navigation/box_tables.cc:
-	* glom/python_embed/python_module/py_glom_relatedrecord.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	* glom/utils.cc: Put all table names in quotes in SQL statements,
-	to avoid errors/crashes when using non-lowercase table names, and SQL keywords
-	as table names.
-
-2006-02-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/iso_codes.cc: get_list_of_locales():
-	Instead of just listing languages, get the full list of locale IDs from
-	/usr/share/i18n/locales/ (hopefully this works everywhere. If not, let's
-	have some configure.in stuff), and build the locale name from the language
-	part and country part. So it now also parses iso_3166.xml from iso-codes
-	to get translated country names.
-	* glom/utils.cc:
-	* glom/utils.h: Added locale_simplify() so we can ignore weird parts of
-	locale IDs.
-	* glom/data_structure/translatable_item.cc: get_current_locale(): Return
-	a locale instead of just a language.
-	* glom/translation/combobox_locale.cc: Try (unsuccessfully) to align the
-	second column. Sort it by name.
-	* glom/translation/window_translations.cc: load_from_document(): Prevent
-	a crash when the document is 0.
-
-2006-02-07  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: Use string_escape_underscores when building
-	the reports and tables menus.
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/adddel/adddel.h:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h:
-	* glom/utils.cc:
-	* glom/utils.h: Move string_escape_underscores() to here.
-
-2006-01-24  Clytie Siddall <clytie riverland net au>
-
-	* configure.in	Added vi in ALL_LINGUAS line.
-
-2006-01-27  Murray Cumming  <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom: Add German translations.
-	* glom/navigation/box_tables.cc: Avoid a null-sharedptr crash when
-	doing a Save As Example.
-
-2006-01-27  Murray Cumming  <murrayc murrayc com>
-
-	* Many: Use LayoutItems via sharedptr so we can translate the titles of
-	groups, portals, and report parts. LayoutItems are now created during
-	document loading, and by layout editing dialogs, but then just shared by the
-	various widgets. This means that we no longer need to rebuild the whole layout
-	from the widgets when a widget is changed - it is just shared, so we just
-	mark the document as modified.
-
-2006-01-26  Murray Cumming  <murrayc murrayc com>
-
-	* Many: Use relationship via sharedptr so we can translate its title too.
-        Derive LayoutItem_Field, LayoutItem_Portal, LayoutItem_Group, FieldFormatting
-	from new UsesRelationship class to simplify the code.
-
-2006-01-25  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: Reuse the Translations window, so it shows the
-	last-used locale when shown again.
-
-2006-01-25  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/box_reports.cc:
-	* glom/box_reports.h:
-	* glom/dialog_layout_report.cc:
-	* glom/dialog_layout_report.h:
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	* glom/frame_glom.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/translation/window_translations.cc: Use Report via
-	sharedptr<> so that Report title translations are used.
-
-2006-01-25  Murray Cumming  <murray murrayc com>
-
-	* glom/application.cc:
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/dialog_database_preferences.cc:
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	* glom/glom.glade:
-	* glom/mode_design/users/dialog_groups_list.cc:
-	* glom/mode_design/users/dialog_users_list.cc:
-	* glom/navigation/box_tables.cc:
-	* glom/navigation/box_tables.h:
-	* glom/relationships_overview/relationships_canvas.cc:
-	* glom/relationships_overview/table_canvasitem.cc:
-	* glom/relationships_overview/table_canvasitem.h:
-	* glom/translation/window_translations.cc: Use TableInfo via
-	sharedptr<> so that Table title translations are used.
-
-2006-01-24  Murray Cumming  <murray murrayc com>
-
-	* glom/data_structure/translatable_item.h: Copy m_title
-	(the original) in copy constructor and operator=(). This makes
-	the table titles show up again and be saved.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Save/load titles in
-	load_after_translations() and save_before_translations() instead
-	of separately.
-	* glom/sharedptr.h: Added cast_dynamic<>, cast_static<>, and
-	cast_const<>, based on RefPtr.
-	* glom/glom.glade:
-	* glom/translation/Makefile.am:
-	* glom/translation/combobox_locale.cc:
-	* glom/translation/combobox_locale.h: Added set_locale().
-	* glom/application.cc:
-	* glom/application.h:
-	* glom/translation/dialog_change_language.cc:
-	* glom/translation/dialog_change_language.h: New dialog
-	used to choose a language to test temporarily.
-	* po/POTFILES.in: Added dialog_change_language.cc.
-
-2006-01-24  Murray Cumming  <murray murrayc com>
-
-	* glom/data_structure/translatable_item.cc:
-	* glom/data_structure/translatable_item.h: Added a new
-	base class for all items that have a non-translated ID name and
-	a translated title. This base class has a map of translated titles
-	for locales.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Added load_after_translations()
-	and save_before_translations() and used it for fields, reports,
-	tables, and layout items, so these XML nodes get a translations
-	node if they have any translations.
-	* glom/application.cc:
-	* glom/base_db.cc:
-	* glom/box_reports.cc:
-	* glom/data_structure/Makefile.am:
-	* glom/data_structure/field.cc:
-	* glom/data_structure/field.h:
-	* glom/data_structure/groupinfo.cc:
-	* glom/data_structure/groupinfo.h:
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutgroup.h:
-	* glom/data_structure/layout/layoutitem.cc:
-	* glom/data_structure/layout/layoutitem.h:
-	* glom/data_structure/relationship.cc:
-	* glom/data_structure/relationship.h:
-	* glom/data_structure/report.cc:
-	* glom/data_structure/report.h:
-	* glom/data_structure/tableinfo.cc:
-	* glom/data_structure/tableinfo.h:
-	* glom/dialog_database_preferences.cc:
-	* glom/dialog_layout_report.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_design/users/dialog_groups_list.cc:
-	* glom/navigation/box_tables.cc:
-	* glom/utility_widgets/flowtablewithfields.cc: Use the base class
-	API, removing superfluous API.
-	* glom/translation/window_translations.cc:
-	* glom/translation/window_translations.h: Store sharedptr<TranslatableItem>
-	in the tree model.
-	* po/POTFILES.in: Added the new files.
-
-2006-01-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	Just store a const reference (sharedptr) to the
-	Field, instead of copying it.
-
-2006-01-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	Remove set_full_field_data_empty(). Instead, allow
-	the field cache to be null and use m_name when
-	there is no full data. Use a bool to mark when the
-	cache is up-to-date, and do no try to use it when it
-	is not up-to-date.
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/utils.cc: build_sql_select_with_where_clause():
-	Cope with fields with no names, in case that happens.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: load_after_layout_item_field()
-	and load_after_layout_item_field_formatting(): These functions
-	now take the field type, and the table name that can be used to
-	discover the field type if necessary. This is necessary in order
-	to interperet default values and choices.
-
-2006-01-23  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	on_adddel_add(): Call on_adddel_changed() to save the
-	guessed title into the document, even when the title is
-	not edited by the user.
-
-2006-01-23  Murray Cumming  <murrayc murrayc com>
-
-	* Many files: Use Field via sharedptr<Field>, to
-	avoid unnecessary copying. However, LayoutItem_Field still
-	copies it for now, to avoid conflicts.
-	* glom/sharedptr.h: Various improvements, particularly to
-	the nonconst->const cast, based on Glib::RefPtr.
-
-2006-01-21  Murray Cumming  <murrayc murrayc com>
-
-	* po/POTFILES.in: Mention the desktop file.
-
-2006-01-21  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in:
-	* glom.desktop: Removed
-	* glom.desktop.in.in: Added .in.in file instead, based on
-	the same thing in gnome-terminal, so that intltool can
-	translate strings prefixed by underscores (_Name and _Comment),
-	and so that configure.in can substitute the VERSION for
-	bug-buddy.
-	* glom.png:
-	* Makefile.am: Actually install the application icon, and
-	correct the install location for the .desktop file.
-
-2006-01-21  Murray Cumming  <murrayc murrayc com>
-
-	* Makefile.am:
-	* glom.applications: Removed .applications file because it is
-	apparently the old way, for versions of GNOME with which Glom
-	is not likely to work anyway.
-
-2006-01-20  Murray Cumming  <murrayc murrayc com>
-
-  * glom/data_structure/iso_codes.cc:
-  * glom/data_structure/iso_codes.h: Added get_list_of_locales().
-  The names will be translated.
-	* configure.in:
-	* glom/Makefile.am:
-	* glom/application.cc:
-	* glom/application.h:
-	* glom/data_structure/field.h:
-	* glom/data_structure/tableinfo.h:
-	* glom/document/document_glom.cc:
-	* glom/glom.glade:
-	* glom/translation/Makefile.am:
-	* glom/translation/combobox_locale.cc:
-	* glom/translation/combobox_locale.h:
-	* glom/translation/window_translations.cc:
-	* glom/translation/window_translations.h: The beginnings of some UI
-  to allow translation of field titles, table titles, etc. Not yet
-  available via menus.
-
-0.9.2:
-
-2006-01-18  Murray Cumming  <murrayc murrayc com>
-
-	* docs/website/screenshots/glom_data_details.png:
-	* docs/website/screenshots/glom_data_details_related.png:
-	* docs/website/screenshots/glom_data_list.png: Updated.
-	* examples/example_smallbusiness.glom: Added more example data, and
-	added a Position field to the Staff table.
-
-2006-01-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: init_menu_file(): Make the Save As Example menu
-	item only available in Developer mode, to avoid confusing operators.
-
-2006-01-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/application.cc:
-	* glom/glom.glade:
-	* glom/dialog_progress_creating.cc:
-	* glom/dialog_progress_creating.h: Try to show a pulsing progress dialog
-	while recreating the example database, but it does not show up until the
-	end.
-	* glom/frame_glom.cc: alert_no_table(): Correct the message. It is about a
-	lack of tables, not of databases, and it is not an error.
-
-2006-01-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: offer_new_or_existing(): Tell the document and the
-	connection about the actually-used database name.
-	* glom/base_db.cc: add_standard_tables(): Set the title from the document,
-	if the document already has a database title.
-	* glom/frame_glom.h:
-	* glom/frame_glom.cc: set_databases_selected(): Show the database title
-	when showing a new database.
-	create_database(): Re-connect to the new database, instead of staying in
-	template1, before creating the glom system tables. Set the title as
-	provided in a function parameter.
-
-2006-01-18  Murray Cumming  <murrayc murrayc com>
-
-	* NEWS:
-	* glom/application.cc: offer_new_or_existing(): When creating a new file,
-	discover and use an unused database name, based on the title.
-	* glom/utils.cc:
-	* glom/utils.h: Added create_name_from_title().
-	* glom/dialog_new_database.cc:
-	* glom/dialog_new_database.h:
-	* glom/glom.glade: When creating a new file/database, do not ask the user
-	for a database name - just guess one based on the human-readable title.
-
-2006-01-17  Murray Cumming <murrayc murrayc com>
-
-        * glom/exception.[h|cc]: Make what() const and throw(), so that it really
-	overrides std::exception::what() so we get real text in the error dialogs.
-	* glom/frame_glom.cc: create_database(): Call add_standard_tables() and
-	add_standard_groups() to avoid the error/crash when adding a record to a new
-	table in a new database.
-
-2006-01-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/field.cc: sql(): Move text escaping code into
-	glom_escape_text() so it can be reused. For IMAGE fields, assume that
-	get_binary() is already the escaped binary format, but escape it
-	again as text, so we get the \\ needed for SQL commands.
-	* glom/data_structure/glomconversions.cc: get_escaped_binary_data():
-	Use one \, not \\ to separate byte numbers, because that's the format
-	used by get/set_binary() in libgda at the moment.
-	* glom/utility_widgets/imageglom.cc:
-	get_value(): Use GlomConversions::get_escaped_binary_data() before
-	set_binary() because Glom must assume elsewhere that it is escaped
-	in all GdaValues. This workaround will all be unnecessary in libgda-2.0,
-	which properly unescapes binary buffers.
-	Images are now saved properly into examples, and inserted properly into
-	the new databases that are created when examples are opened.
-
-2006-01-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/imageglom.cc:
-	on_menupopup_activate_clear(): Emit the signal to actually update the database.
-	on_menupopup_activate_paste(): Prevent crash when the received pixbuf is NULL.
-	on_menupopup_activate_copy(): Prevent crash when the pixbuf is NULL.
-
-2006-01-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: export_data_to_*(): Use specified table name,
-	not the current table name, so that all tables are properly exported.
-	* glom/base_db.[h|cc]: Add recalculate_next_auto_increment_value(),
-	which does a SELECT MAX() on the table.
-        * glom/application.cc: recreate_database():  Recalculate next auto-increment
-	values, and create glom system tables and groups before adding data.
-
-2006-01-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	* glom/application.cc: on_menu_file_save_as_example():
-	Put the example data in a string instead of a stringstream,
-	because it was somehow truncating the data.
-	* glom/base_db.cc: insert_example_data(): Really return true
-	for success.
-
-2006-01-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/dialog_connection.cc:
-	* glom/dialog_connection.h:
-	* glom/document/document_glom.cc:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: When opening example documents,
-	always save a copy and always create a database, choosing
-	a new unused database name. Mark documents explicitly as examples.
-	* glom/glom.glade: Rename Open Example button to
-	New From Example.
-
-2006-01-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h:
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: Added half-working
-	File / Save As Example menu item, which stores the
-	data  in the .glom file, for use when creating the
-	database from an example.
-
-2006-01-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/dialog_layout.cc:
-	* glom/mode_data/dialog_layout_export.cc:
-	* glom/mode_data/dialog_layout_export.h:
-	* glom/glom.glade: Remove formatting button,
-        so we _always_ export in iso format.
-	* glom/filechooser_export.cc:
-	* glom/filechooser_export.h: The Define Data Format
-	button now works, though it opens in the background.
-	It now exports only the requested fields.
-
-2006-01-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: Add a File/Export menu item, for exporting the found set as
-	comma-separated text.
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/box_db_table.cc:
-	* glom/box_db_table.h:
-	* glom/data_structure/glomconversions.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	* glom/filechooser_export.cc:
-	* glom/filechooser_export.h:
-	* glom/mode_data/Makefile.am:
-	* 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/notebook_data.cc:
-	* glom/mode_data/notebook_data.h:
-	* glom/base_db.cc:
-	* glom/base_db.h:Moved various folders into Base_DB so that Frame_Glom can use them.
-	* glom/Makefile.am:
-	* glom/mode_data/dialog_layout_export.cc:
-	* glom/mode_data/dialog_layout_export.h: New layout UI for export field sequences,
-	not yet finished or used.
-
-2006-01-13  Murray Cumming   <murrayc murrayc com>
-
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	* glom/base_db.cc:
-	* glom/base_db.h: Move get_find_where_clause_quick() from Frame_Glom to
-	Base_DB so we can use it in Dialog_ChooseID.
-	* glom/glom.glade:
-	* glom/utility_widgets/dialog_choose_id.cc:
-	* glom/utility_widgets/dialog_choose_id.h: Add the Quick Find feature
-	to this dialog too.
-
-2006-01-13  Murray Cumming   <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom: Contacts: Add the web site
-	field to the layout, and change it to text.
-	* glom/mode_data/dialog_layout_details.cc: enable_buttons(): Properly
-	enable/disable Up and Down for the first and last _child_ items.
-	* glom/mode_data/dialog_layout_list.cc: enable_buttons(): Properly
-	enable/disable Up and Down when adding fields.
-
-2006-01-12  Murray Cumming   <murrayc murrayc com>
-
-	* 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:
-	Define the placeholder row as the last row, whose existance we
-	cause just by increasing the number of rows, so that iter_next_vfunc() gives
-	one more row, instead of marking a boolean. This simplifies things and
-	prevents extra placeholder rows being generated.
-	* glom/base_db.cc:
-	* glom/frame_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_details.h:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h:
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_find/box_data_list_find.cc:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/imageglom.cc: Adapt to new API. And some changes to
-	ensure that find results are shown in the appropriate view depending on whether
-	there are >1 records found.
-
-2006-01-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	* glom/glom.glade: Added widgets at bottom-right to show
-	the number of total and found records, with a Find All button
-	when appropriate.
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h: Added get_record_counts().
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.h: Added get_record_counts().
-
-2006-01-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: Connect explicitly to the activate
-	signal of the quick find entry, instead of using default widgets.
-
-2006-01-11  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	* glom/glom.glade: Add a Quick Find entry and button, only
-	shown when in Find mode. It is probably inefficient, because
-	it just ORs over all the fields.
-
-2006-01-10  Murray Cumming  <murrayc murrayc com>
-
-	* .cvsignore:
-	* Makefile.am:
-	* autogen.sh:
-	* configure.in:
-	* docs/user-guide/.cvsignore:
-	* docs/user-guide/C/Makefile.am:
-	* docs/user-guide/C/glom-C.omf:
-	* docs/user-guide/C/glom.xml:
-	* docs/user-guide/Makefile.am:
-	* docs/user-guide/de/de.po:
-	* docs/user-guide/glom-C.omf.in:
-	* gnome-doc-utils.make: Convert to the new
-	gnome-doc-utils (xml2po) system, with a
-	dummy de translation, though I get warnings about
-	the path to the images in figures.
-
-2006-01-10  Murray Cumming  <murrayc murrayc com>
-
-	* docs/postgres_gda_test.c: (main):
-	* glom/base_db.cc:
-	* 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.h:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h:
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	* glom/mode_design/users/dialog_groups_list.cc:
-	* glom/navigation/box_tables.cc:
-	* glom/python_embed/python_module/pygdavalue_conversions.c:
-	(pygda_value_from_pyobject):
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/combo_textglade.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h:
-	* glom/utility_widgets/flowtablewithfields.cc: Change all
-	instances of can not to cannot. Bug #300139 from Adam Weinberger.
-	This may or maynot be necessary.
-
-2006-01-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc: get_row():
-	Do not crash if there is not model yet.
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list.h: Added set_primary_key_value_selected().
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h: on_switch_page_handler():
-	Refresh the list when showing it, trying to keep the same row selected.
-	This means that new records (added in Details) show up. Thanks to
-	Daniel Holbach and Greg Breland.
-
-2006-01-10  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/field.cc:
-	Field::sql(): Also escape ; characters, because
-	libgda seems to cause postgres to be confused by these.
-	And allocate a big enough string for PQescapeString(), to
-	avoid crashes. Now bug #323266 seems to really be fixed.
-	* glom/utils.cc:
-	* glom/utils.h: Added inefficient string_replace() for use
-	by Field::sql().
-
-2006-01-09  Murray Cumming  <murrayc murrayc com>
-
-	* docs/user-guide/C/glom.xml: Add IDs for
-	sections, to make sub-menu links work.
-	Patch from Jorge Gonzalez in bug #313107.
-
-2006-01-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/field.cc: Field::sql():
-	Use a copy of the PQescapeString() function from
-	Posrgres, instead of gda_value_stringify() to really
-	escape text for SQL. This should fix bug #323266
-	(crash when typing quote) from Nicolas Chevreux.
-
-2005-12-20  Murray Cumming  <murrayc murrayc com>
-
-	* po/POTFILES.in: Added glom/connectionpool.cc.
-
-2005-09-04  Josep Puigdemont  <josep puigdemont gmail com>
-
-	* configure.in: Added 'ca' to ALL_LINGUAS.
-
-2005-08-24  Pawan Chitrakar  <pchitrakar gmail com>
-
-	* configure.in: Added ne in ALL_LINGUAS
-
-2005-08-17  Murray Cumming <murrayc murrayc com>
-
-	* docs/user-guide/Makefile.am: Removed new es SUBDIR because it
-	does not have a Makefile.am and that breaks the build. This
-	might need changing to the new gnome-doc-utils system anyway.
-
-2005-08-16  Murray Cumming  <murrayc murrayc com>
-
-	* po/POTFILES.in: Added glomconversions.cc, because it now
-	contains translatable strings.
-
-2005-08-02  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: connect(): Reimplement with
-	get_and_connect().
-	handle_error(): Reimplement with
-	ConnectionPool::handle_error().
-	* glom/connectionpool.cc:
-	* glom/connectionpool.h: Added get_and_connect().
-	Added handle_error().
-	* glom/frame_glom.cc: Frame_Glom::create_database():
-	Do not show the error dialog here because it is already shown
-	by the calling function in application.cc.
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/python_embed/python_module/py_glom_relatedrecord.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	Call handle_error() to show a dialog when there is a
-	database error.
-
-2005-08-02  Murray Cumming  <murrayc murrayc com>
-
-	* docs/postgres_gda_test.c: (main): call get_errors()
-	when database creation fails, so we know why.
-
-2005-08-02  Murray Cumming  <murrayc murrayc com>
-
-	* docs/postgres_gda_test.c: (main): Try to create a
-	database, because that seems to fail sometimes, possibly
-	depending on the type of authentication used, and possibly
-	not failing in the psql command-line tool.
-
-2005-07-30  Daniel Holbach <dh mailempfang de>
-
-	* glom/main.cc: Changed the gnome_program_init() call again.
-	Apparently it was crashing on AMD64, though we do not know
-	why.
-
-0.9.0:
-
-2005-07-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/frame_glom.cc: show_table_title():
-	Use pango markup to show a big title.
-	* glom/utility_widgets/imageglom.cc:
-	on_menupopup_activate_select_file(): Give the filter a name.
-
-2005-07-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: Added show_warning_no_records_found(),
-	using the code from Frame_Glom::on_notebook_find_criteria(),
-	so it can be reused.
-	* glom/frame_glom.cc:
-	* glom/mode_data/box_data.cc: on_Button_Find(): Warn the user
-	if they have not entered any criteria.
-	* glom/mode_find/box_data_details_find.cc:
-	* glom/mode_find/box_data_details_find.h: Override
-	on_flowtable_field_edited(), to stop it adding new records during
-	finds.
-	* glom/utility_widgets/dialog_choose_id.cc: on_box_find_criteria():
-	show a warning if no records were found.
-
-2005-07-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc: on_flowtable_field_edited():
-	Really add a new record when entering data on a blank record.
-
-2005-07-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data.h: Added
-	confirm_delete_record() based on the code
-	in box_data_list.cc
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_details.h: on_button_del():
-	Use confirm_delete_record(), already used in list view.
-	fill_from_database(): When no primary key value is
-	specified, fill the fields with empty values, instead
-	of preserving whatever was there last time.
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list.h: Use
-	confirm_delete_record() in the base class instead of
-	the existing code.
-
-2005-07-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/fieldformatting.h:
-	Removed unimplemented get_editable_and_allowed() function.
-	* glom/mode_data/dialog_layout_details.cc: on_button_field_formatting():
-	get/set the editableness from the specific column, not from the formatting
-	column, so we actually save the change.
-
-2005-07-29  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Added
-	get/set_layout_current() and
-	get/set_layout_record_viewed() for remembering
-	(not saving in the document) information about
-	the last-viewed records and layouts.
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data.h: Added get_layout_name().
-	* glom/mode_data/box_data_details.cc: fill_from_database():
-	Remember the record.
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h: Override on_switch_page_handler()
-	so we can remember the last-viewed layout.
-	init_db_details(): Open the last-viewed record and switch to the
-	last-viewed layout.
-	* glom/notebook_glom.h: Make on_switch_page_handler() virtual.
-
-2005-07-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list.h: Added
-	get_primary_key_value_first()
-	* glom/mode_data/notebook_data.cc: init_db_details(): Show the first
-	record from the list in the detauls.
-	* glom/notebook_glom.cc: on_switch_page_handler():
-	Do not call load_from_document() on the child page. It is
-	superfluous.
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	get_key_value(): Retrieve the data from the database
-	if necessary. Previously we always called get_value()
-	first.
-
-2005-07-28  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/field.cc:
-	* glom/data_structure/field.h: Added sql_find(), like sql(),
-	but with wildcards.
-	* glom/glom.glade: Added a dialog for finding an ID.
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/dialog_choose_id.cc:
-	* glom/utility_widgets/dialog_choose_id.h: Added dialog.
-	* glom/mode_data/box_data.cc: get_find_where_clause():
-	Use sql_find() to do a substring search.
-	* po/POTFILES.in: Added the new .cc file.
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list.h: Added set_read_only()
-	to prevent editing when the list is only for selection.
-	Added set_open_button_title() which delegates to the DbAddDel.
-	* glom/mode_find/box_data_details_find.cc:
-	* glom/mode_find/box_data_details_find.h:
-	* glom/mode_find/notebook_find.cc: Override init_db_details(),
-	without a primary key parameter.
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/datawidget.h: Added
-	offer_related_record_id_find() and a Find button next to
-	fields used in relationships. This opens a secondary dialog
-	with the Find UI.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h:
-	Added set_open_button_title() so we can use Select instead
-	of Open in the Find ID dialog.
-	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.cc:
-	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.h:
-	Override set_allow_view_details() to show/hide the open
-	button.
-
-0.8.37:
-
-2005-07-26  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc: fill_layout_field_details():
-	Handle portals, so we do not lose field information for portals
-	when editing the whole layout.
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/dialog_layout_details.cc:
-	Dialog_Layout_Details::fill_group(): Handle portals.
-	* glom/utility_widgets/flowtablewithfields.cc:
-
-2005-07-25  Murray Cumming  <murrayc murrayc com>
-
-	* configure.in: Depend on latest libgdamm.
-	* glom/utility_widgets/imageglom.cc:
-	* glom/data_structure/field.cc: Change for latest libgdamm
-	API change.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Remove unused
-	set_relationship_data_layout_groups().
-	* glom/mode_data/box_data_details.cc: on_flowtable_layout_changed():
-	Actually save the new layout in the document. For instance, really
-	save portal layout changes.
-
-2005-07-25  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/cellrenderer_button.cc:
-	* glom/utility_widgets/db_adddel/cellrenderer_button.h:
-	signal_clicked(): Add path parameter, so we know what row
-	was clicked.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h:
-	Open the clicked row, not just the selected row.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_details.h:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/datawidget.h:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h: Add an Open
-	button next to foreign keys, when a unique non-hidden record is
-	indicated.
-
-2005-07-22  Murray Cumming  <murrayc murrayc com>
-
-	* 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: Added virtual
-	enable_buttons(), and moved some code there to stop the
-	base class from making the Open button visible again for
-	hidden-table related records.
-	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.cc:
-	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.h:
-	Added a show_all_vfunc() implementation in case a
-	show_all() would show the hidden buttons.
-
-2005-07-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/cellrenderer_button.cc:
-	Constructor: Use the OPEN stock item instead of EDIT for
-	viewing details. Set mode to activatable so it actually
-	responds to clicks.
-
-2005-07-22  Murray Cumming  <set EMAIL_ADDRESS environment variable>
-
-	* glom/mode_data/box_data_list.cc: Call
-	DbAddDel::set_allow_view_details() so we get the open button
-	and the row open button.
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h: Change
-	*use_row_button to *allow_view_details.
-	on_button_press_event_Popup(): Do not handle double-click on
-	the row to open the details, because it is too easy to
-	double-click when single-clicking to edit a cell.
-	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.cc:
-	setup_buttons(): Just hide the buttons when necessary,
-	instead of adding and removing them.
-
-2005-07-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Added get_table_is_hidden().
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: Handle signal_record_details_requested on the
-	Notebook_Data, to show a specific record in another table.
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_details.h: Added
-	signal_requested_related_details, emitted when a FlowTable emits
-	its own signal_requested_related_details.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h: Added
-	set_use_row_button().
-	* glom/mode_data/box_data_list_related.cc: init_db_details():
-	If the related table is not hidden, then add a button on each
-	row, to navigate to the related record.
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h: Catch the signal from
-	Box_Data_Details, and emit
-	signal_details_requested signal_record_details_requested.
-	Added show_details(), so the parent Frame can specify a
-	record.
-	* glom/utility_widgets/db_adddel/Makefile.am:
-	* glom/utility_widgets/db_adddel/cellrenderer_button.cc:
-	* glom/utility_widgets/db_adddel/cellrenderer_button.h: New
-	derived CellRenderer, which is just an icon at the moment.
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h: Added
-	signal_requested_related_details.
-
-0.8.36:
-
-2005-07-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/fieldformatting.cc:
-	* glom/data_structure/layout/fieldformatting.h:
-	Added change_field_name() and change_relationship_name(),
-	to update choices when these change.
-	* glom/data_structure/layout/layoutgroup.cc:
-	Update field formatting too.
-	* glom/document/document_glom.cc:
-	change_relationship_name(), change_field_name():
-	Update all the default formatting too.
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h:
-	on_adddel_user_requested_add(): Do not try to add
-	related records to portals that have no columns,
-	avoiding a database error.
-
-2005-07-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutgroup.h:
-	* glom/data_structure/layout/layoutitem_portal.cc:
-	* glom/data_structure/layout/layoutitem_portal.h:
-	Inherit from LayoutGroup instead of LayoutItem, so we
-	can store the related records layout inside it, instead
-	of in a separate hacked-up layout node in the document.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	Save LayoutItem_Portal layout groups.
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_list_related.cc:
-	* glom/mode_data/dialog_layout_list_related.h:
-	* glom/mode_data/treestore_layout.h:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	Pass the whole LayoutItem_Portal around instead of just
-	the relationship name, and don't try to store the
-	portal layout separately in the document.
-
-2005-07-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutgroup.h: Added
-	change_relationship_name() to update the layout
-	when a relationship is renamed.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Added
-	change_relationship_name().
-	* glom/mode_design/box_db_table_relationships.cc:
-	save_to_document(): Detect a rename and call
-	Document_Glom::change_relationship_name() so it does not
-	break the layout.
-
-2005-07-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutgroup.h: Added
-	change_related_field_item_name(). change_field_item_name():
-	Process child groups and self-related fields.
-	* glom/document/document_glom.cc: change_field_name():
-	Process all tables, to change related fields in layouts and
-	reports.
-
-2005-07-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/dialog_choose_field.cc: Constructor:
-	The list is now sorted alphabetically.
-	* glom/utils.cc: build_sql_select_with_where_clause():
-	Prefix aliases with relationship_ to avoid conflicts with table
-	names.
-
-2005-07-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: Base_DB::set_database_preferences(): Save
-	the title into the document as well as the database, for the
-	window title, and for database recreation.
-
-2005-07-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/relationship.cc:
-	* glom/data_structure/relationship.h: Added get/set_allow_edit()
-	* glom/data_structure/layout/layoutitem_field.cc:
-	get_editable_and_allowed(): Also check the relationship, if any.
-	* glom/document/document_glom.cc: Load/Save the allow_edit of
-	the relationship.
-	* glom/mode_design/box_db_table_relationships.cc:
-	* glom/mode_design/box_db_table_relationships.h: Add a column
-	for allow_edit, so relationships can prevent editing of
-	related fields.
-
-2005-07-20  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc: fill_layout_field_details():
-	Get field details from the appropriate table, even if it is a
-	related field. This stops us losing related fields on layouts.
-
-2005-07-19  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utils.cc: build_sql_select(): Use AS to create an
-	alias name for the related table, so we can use two
-	relationships to the same table.
-
-0.8.35:
-
-2005-07-18  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc: set_field_value_in_database():
-	Use the related table name if it is a related table.
-	add_related_record_for_field(): Added some warnings.
-	* glom/mode_data/box_data_details.cc:
-	get_primary_key_value_selected(): Actually return the field,
-	instead of a null field.
-	get_field_primary_key(): Return true instead of false, to
-	indicate success. This fixes automatic related-field setting.
-	* glom/utility_widgets/imageglom.cc:
-
-2005-07-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_design/box_db_table_relationships.cc:
-	* glom/mode_design/box_db_table_relationships.h: Add a suitable
-	capitalized title when adding a relationship name.
-
-2005-07-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc:
-	get_data_layout_groups_plus_new_fields(): Create a more useful
-	default details layout, with overview and details sections.
-	* glom/utility_widgets/flowtable.cc:
-	get_minimum_column_height(): Change a < to <= so we check
-	all widgets, so that multi-column FlowTables work when they
-	have only one item.
-
-2005-07-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutgroup.h: add_item():
-	Return a pointer to the added item.
-	* glom/navigation/box_tables.cc: on_adddel_Add(): Add
-	a description and comments field as well as an ID field
-	when creating new tables.
-
-2005-07-17  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/treestore_layout.cc: Prevent items from being
-	dragged directly under themselves, preventing a crash.
-
-2005-07-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc: get_suitable_width()
-	* glom/utility_widgets/datawidget.cc: constructor:
-	Give images the same width as text fields, with an equal height,
-	so they line up more, though this might be too big.
-
-2005-07-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/imageglom.cc: Do not crash when reading bad
-	image data from the database.
-
-0.8.34:
-
-2005-07-15  Murray Cumming  <murrayc murrayc com>
-
-	* examples/example_smallbusiness.cc: Contacts table: Made the ID
-	autoincrement again and added choice for Title. This got lost
-	somehow. Changed database name again to avoid clash with already-
-	created examples.
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/imageglom.h: Added a Clear context menu item.
-
-2005-07-15  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc: Comment out the debug query output on
-	stdout, because it slows us down when we use lots of image data.
-	* glom/data_structure/glomconversions.cc: Tried to use
-	PQescapeBytea() instead of my custom (slow) encoding code, without
-	success, so left that code commented-out.
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/imageglom.h: Implemented copy/paste.
-
-2005-07-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc:on_flowtable_field_edited():
-	Special case to avoid calling set_value() with a _correct_
-	GdaValue, because we expect the current broken binary GdaValue.
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/imageglom.h: Images show up again after
-	loading, and after retrieval from database. Nifty.
-
-2005-07-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/imageglom.h: Put the Gtk::Image in a
-	Gtk::Frame so we can see it when it is empty. Added a context
-	menu for user mode, and restricted the file chooser to pixbuf
-	types.
-
-2005-07-14  Murray Cumming  <murrayc.com>
-
-	* glom/data_structure/field.cc: sql(): Handle TYPE_IMAGE
-	fields.
-	* glom/data_structure/glomconversions.cc:
-	* glom/data_structure/glomconversions.h: Add
-	get_escaped_binary_data() and parse_escaped_binary_data(),
-	using a a copy of the PQunescapeBytea() function from
-	Postgres, because gda_value_get_binary() does not unescape
-	the data yet.
-	* glom/utility_widgets/datawidget.cc: Connect to the
-	LayoutWidgetField signals for the ImageGlom widget.
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/imageglom.h: set_value():
-	Use our copy of PQunescapeBytea().
-	* glom/utility_widgets/layoutwidgetfield.cc:
-	* glom/utility_widgets/layoutwidgetfield.h: Added
-	get_has_original_data() for later optimisation.
-
-2005-07-12  Murray Cumming  <murrayc murryac com>
-
-	* glom/data_structure/field.h: Document the IMAGE type
-	as always being stored as PNG.
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/imageglom.h: Implement set_value(),
-	though I'm still not sure how to get/set it in SQL.
-
-2005-07-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/imageglom.h: Scale images down to fit the
-	allocated size of the Image widget.
-
-2005-07-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/imageglom.cc:
-	* glom/utility_widgets/imageglom.h: Use a derived Image widget
-	so we can catch button_press_events on it.
-
-2005-07-12  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/field.cc:
-	* glom/data_structure/field.h:
-	- Added map of possible field conversions, and
-	get_conversion_possible().
-	- Added TYPE_IMAGE, which maps to "bytea" in SQL and
-	Gnome::Gda::Value::TYPE_BINARY.
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	Don't cast the data if it is not possible.
-	* glom/utility_widgets/datawidget.cc: Constructor: Create a
-	Gtk::Image widget for image fields.
-
-2005-07-11  Daniel Holbach <dh mailempfang de>
-
-	* glom/main.cc: Pass G_PARAM_NONE to gnome_program_init() to
-	avoid a crash at startup.
-
-0.8.33:
-
-2005-07-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/mode_data/dialog_layout_details.cc: on_cell_data_name():
-	Allow group names to be changed.
-
-2005-07-09  Murray Cumming  <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: get_table_names(): Added optional bool
-	ignore_system_tables parameter
-	* glom/mode_design/box_db_table_relationships.cc:
-	fill_from_database(): Hide the system tables.
-
-2005-07-09  Murray Cumming  <set EMAIL_ADDRESS environment variable>
-
-	* configure.in: Depend on gnome-vfsmm 2.11, instead of just
-	the version that bakery needs, because we need
-	Uri::make_from_shell_arg().
-	* glom/navigation/box_tables.cc: load_from_document(): Really
-	hide the glom_system_* tables.
-
-2005-07-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: Added get_first_table().
-	* glom/frame_glom.cc: on_dialog_tables_hide(): If the current
-	table was deleted, show the default or first table.
-
-0.8.32:
-
-2005-07-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/glomconversions.cc: Really use GDate
-	to parse dates that the C++ facet can not parse.
-
-2005-07-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/main.cc: Allow the filename to be specified
-	even without a --file option name. And convert
-	the filename to a URI so it actually works.
-
-2005-07-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc: remove_table():
-	Prevent infinite loop.
-
-2005-07-08  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.h: Made fill_tables_menu() public.
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: When the tables dialog is hidden,
-	in developer mode, update the tables menu, in case the
-	list has changed.
-
-2005-07-08  Murray Cumming <murrayc murrayc com>
-
-	* docs/Makefile.am:
-	* docs/postgres_gda_test.c: Added a libgda test
-	to test whether the installed libgda works.
-
-2005-07-04  Murray Cumming <murrayc murrayc com>
-
-	* glom/applications.cc:
-	App_Glom::on_document_load(): Add a Save As button
-	to the dialog that warns when an example is
-	read only.
-
-0.8.31:
-
-2005-06-16  Murray Cumming <murrayc murrayc com>
-
-	* examples/Makefile.am:
-	Install the examples in <prefix>/share/glom/doc/,
-	which I guess is correct.
-	* glom/Makefile.am:
-	* glom/application.cc: offer_new_or_existing():
-	* glom/glom.glade:
-	Add an Open Examples button that goes straight to
-	the installed examples.
-	* configure.in: Depend on bakery 2.3.14, to get
-	changed API for this.
-
-2005-05-25  Murray Cumming <murrayc murrayc com>
-
-	* glom/utility_widgets/flowtable.cc: Commented out
-	a g_warning that was causing a compiler warning.
-
-0.8.30:
-
-2005-05-25  Murray Cumming <murrayc murrayc com>
-
-	* glom/layout_item_dialogs/box_formatting.cc:
-	* glom/layout_item_dialogs/dialog_field_layout.cc:
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	Make Box_Formatting a sub-view so it has access
-	to the document, so we can use choices from
-	related tables again.
-
-0.8.29:
-
-2005-05-18  Murray Cumming <murrayc murrayc com>
-
-	* glom/document/document_glom.cc:
-        set_node_attribute_value_as_bool/as_decimal():
-	Save lots of space by writing/interpreting
-	non-existant attributes as false or zero.
-
-2005-05-18  Murray Cumming <murrayc murrayc com>
-
-	* glom/dialog_layout_report.cc: constructor:
-	Position the available parts hierarchically, to
-	indicate their expected relationship.
-
-2005-05-18  Murray Cumming <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom: Add default
-	field formatting, instead of custom formatting.
-	* glom/base_db.cc:
-	* glom/data_structure/field.cc:
-	* glom/data_structure/field.h: Added default_formatting.
-	* glom/data_structure/layout/Makefile.am:
-	* glom/data_structure/layout/fieldformatting.cc:
-	* glom/data_structure/layout/fieldformatting.h:
-	Added FieldFormatting to hold numeric formatting,
-	text formatting, and the various choices.
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	Replace individual formatting members with a
-	FieldFormatting, and added boolean to specify
-	use of the default.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	Save/load the formatting as a whole node, and save
-	Field default formatting.
-	* glom/glom.glade: Move field formatting into a
-	VBox that can be used in both the field definition
-	dialog and the field layout dialog for custom
-	formatting.
-	* glom/layout_item_dialogs/Makefile.am:
-	* glom/layout_item_dialogs/box_formatting.cc:
-	* glom/layout_item_dialogs/box_formatting.h:
-	Added derived VBox for the formatting.
-	* glom/layout_item_dialogs/dialog_field_layout.cc:
-	* glom/layout_item_dialogs/dialog_field_layout.h:
-	Use Box_Formatting instead of the individual
-	formatting widgets.
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list.cc:
-	Use the appropriate formatting, using custom formatting
-	if specified.
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	* glom/mode_design/fields/dialog_fielddefinition.h:
-	Moved Extras tab into the main tab. Added Default
-	Formatting tab.
-	* glom/utility_widgets/comboentryglom.cc:
-	* glom/utility_widgets/comboglom.cc:
-	* glom/utility_widgets/comboglomchoicesbase.cc:
-	* glom/utility_widgets/comboglomchoicesbase.h:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/entryglom.cc:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/textviewglom.cc:
-	* glom/utils.cc:
-	Use the default formatting, if specified.
-
-0.8.28:
-
-2005-05-16  Murray Cumming <murrayc murrayc com>
-
-	* xslt/print_report_to_html.xsl:
-	* glom/base_db.cc: build_report(): Left align most fields and
-        right-align numeric fields, though this is a bit of a hack.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h: load_after_layout_group():
-	Corrected loading of groupby secondary fields.
-        update_cached_relationships(): Do not save the document while
-	doing this.
-
-2005-05-16  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/box_db_table.cc:
-	* glom/layout_item_dialogs/dialog_group_by.cc:
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	Do not call fill_from_database() if the connection is not
-	ready, to prevent misleading g_warnings.
-
-2005-05-15  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.h:
-	* glom/document/document_glom.cc:
-	* glom/glom.glade:
-	* glom/layout_item_dialogs/Makefile.am:
-	* glom/layout_item_dialogs/dialog_group_by.cc:
-	* glom/layout_item_dialogs/dialog_group_by.h:
-	* glom/layout_item_dialogs/dialog_groupby_secondaryfields.cc:
-	* glom/layout_item_dialogs/dialog_groupby_secondaryfields.h:
-	* glom/mode_data/dialog_layout.cc:
-	* glom/utility_widgets/comboglomchoicesbase.cc:
-	* xslt/print_report_to_html.xsl:
-	Added secondary_fields to the GroupBy report part, so we can show,
-	for instance, a contact name as well as the contact id that we
-        group by.
-
-2005-05-15  Murray Cumming <murrayc murrayc com>
-
-	* po/POTFILES.in: Mention new files.
-
-2005-05-15  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc: build_report_fields(): For numeric fields
-	create a <field_numeric> instead of <field> node.
-	* xslt/print_report_to_html.xsl: Handle <field_numeric>, like
-	<field>, but with align=right in the HTML <td>. Hopefully there is
-	a better way to do this.
-
-2005-05-15  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	report_build_summary(): Implemented, so summary parts show up in
-	reports.
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	Added get_title_or_name(), delegating to the member Field.
-	* glom/data_structure/layout/report_parts/layoutitem_fieldsummary.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_fieldsummary.h:
-	Override get_title_or_name() to mention the summary type. Added
-	get_layout_display_name_field() to get just the field part. Corrected
-	the copy constructor and operator== to use the summary type too.
-	* glom/dialog_layout_report.cc:
-	Show the field name and summary type properly.
-	* glom/document/document_glom.cc:
-	Save the summary type of LayoutItem_FieldSummary parts.
-	* glom/layout_item_dialogs/dialog_field_summary.cc:
-	* glom/utils.cc: build_sql_select_with_where_clause(): If the LayoutItem_Field
-	is actually a LayoutItem_FieldSummary, use a summary function instead of just
-	getting the field value.
-	* xslt/print_report_to_html.xsl: Added a block for the summary part.
-
-2005-05-14  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.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/mode_data/dialog_layout.h:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_list.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.h:
-	* glom/utils.cc:
-	* glom/utils.h:
-	type_vecLayoutItems now stores sharedptr<LayoutItem_Field>s
-	instead of by-value copying. This allows us to use the
-        LayoutItem_Field polymorphically as well as improving
-        performance.
-
-2005-05-14  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	Moved report_build_* methods from Frame_Glom to
-	Base_DB, so they can be used in Box_Data_List.
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list.h:
-	Overrode print_layout() and created a non-grouping
-	report on the fly, to implement File/Print for Lists.
-	* xslt/print_report_to_html.xsl:
-	Handle ungrouped_fields, a bit like group_by.
-
-2005-05-14  Murray Cumming <murrayc murrayc com>
-
-	* glom/data_structure/layout/report_parts/Makefile.am:
-	* glom/data_structure/layout/report_parts/layoutitem_fieldsummary.c
-	c:
-	* glom/data_structure/layout/report_parts/layoutitem_fieldsummary.h
-	: Add a LayoutPart for the field summary report parts.
-	* glom/dialog_layout_report.cc:
-	* glom/dialog_layout_report.h:
-	Disable the Add button when inappropriate parts are selected.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	Save/Load the Summary parts.
-	* glom/glom.glade:
-	* glom/layout_item_dialogs/Makefile.am:
-	* glom/layout_item_dialogs/combo_summarytype.cc:
-	* glom/layout_item_dialogs/combo_summarytype.h:
-	* glom/layout_item_dialogs/dialog_field_summary.cc:
-	* glom/layout_item_dialogs/dialog_field_summary.h:
-	Added UI fo rthe summary parts.
-	* po/POTFILES.in: Mention the new files.
-
-2005-05-11  Murray Cumming <murrayc murrayc com>
-
-	* glom/glom.glade:
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/textviewglom.cc:
-	Use SHADOW_IN for ScrolledWindows. The HIG
-	wants that.
-
-0.8.27:
-
-2005-05-11  Murray Cumming <murrayc murrayc com>
-
-	* glom/data_structure/layout/report_parts/Makefile.am:
-	Fixed a distcheck problem.
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	on_menu_report_selected(): Add field headings, and
-	recurse into sub-groupbys.
-	* po/POTFILES.in: Updated.
-	* xslt/print_report_to_html.xsl: Added class names for
-	the various parts, and added a little inline css to
-	use them. Used select with apply-templates to put
-	sub-groupbys in the right place.
-
-2005-05-11  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data.h:
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	Moved get_layout_item_table_name() here from
-	box_data. Added fill_full_field_details().
-	* glom/document/document_glom.cc:
-	update_cached_relationships(): Fill in the
-	relationships in the report layouts too.
-        Also call this at the start of save_before(),
-	to ensure that relationships are always up to
-	date.
-	* glom/frame_glom.cc: on_menu_report_selected():
-	Do a GROUP BY sql SELECT and then a WHERE sql
-	SELECT for each value, creating nodes for each
-	value.
-	* xslt/print_report_to_html.xsl: Show field
-	headings, and group-by details.
-
-2005-05-11  Murray Cumming <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/dialog_layout_report.cc:
-	* glom/dialog_layout_report.h:
-	* glom/document/document_glom.cc:
-	* glom/frame_glom.cc:
-	* glom/mode_data/dialog_layout.h:
-	Fix various problems with loading/saving
-	report parts.
-
-2005-05-10  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	Added offer_field_list(), moved from B
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.h:
-	Added set_field_group_by() and set_field_sort_by().
-	* glom/dialog_layout_report.cc:
-	* glom/dialog_layout_report.h:
-	on_button_edit(): show Dialog_GroupBy to change properties.
-	* glom/document/document_glom.cc:
-	load_after_layout_group(), save_before_layout_group(): Handle
-	the GroupBy part so we really save the report items.
-	* glom/glom.glade:
-	* glom/layout_item_dialogs/Makefile.am:
-	* glom/layout_item_dialogs/dialog_group_by.cc:
-	* glom/layout_item_dialogs/dialog_group_by.h:
-	Added dialog for GroupBy part properties.
-
-2005-05-10  Murray Cumming <murrayc murrayc com>
-
-	* Makefile.am:
-	* configure.in:
-	* glom/Makefile.am:
-	* glom/dialog_layout_report.cc:
-	* glom/layout_item_dialogs/Makefile.am:
-	* glom/layout_item_dialogs/dialog_field_layout.cc:
-	* glom/layout_item_dialogs/dialog_field_layout.h:
-	* glom/mode_data/Makefile.am:
-	* glom/mode_data/dialog_field_layout.cc:
-	* glom/mode_data/dialog_field_layout.h:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_list.cc:
-	* glom/mode_data/dialog_layout_list_related.cc:
-	* glom/utility_widgets/datawidget.cc:
-	Moved dialog_field_layout.[h|cc] from mode_data/
-	to the new layout_item_dialogs/ directory.
-
-2005-05-10  Murray Cumming,,,  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/data_structure/glomconversions.cc:
-	* glom/data_structure/glomconversions.h:
-	* glom/utils.cc:
-	* glom/utils.h: Added utils.[h|cc] with some functions from
-	GlomConversions:: and some from xsl stuff from Box_Data.
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.h:
-	Add sort_by field.
-	* glom/frame_glom.cc: on_menu_report_selected():
-	Beginnings of report generation.
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data_details.cc:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	Use functions from GlomUtils::.
-	* xslt/Makefile.am:
-	* xslt/print_report_to_html.xsl:
-	Added xsl transformation for reports.
-
-2005-05-09  Murray Cumming <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h:
-	fill_menu_tables(), fill_menu_reports(): Use UIManager::remove_ui()
- 	to remove the previous tables, so we really lose removed/renamed
-	report names.
-	* glom/box_reports.cc:
-	Handle, and save, title changes.
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.h:
-	* glom/data_structure/layout/report_parts/layoutitem_summary.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_summary.h:
-	Add get_layout_part_name() overrides so they show up in the
-	list of available parts.
-	* glom/dialog_layout_report.cc:
-	* glom/dialog_layout_report.h:
-	Added get_report() and get_original_name().
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	Added signal_hide handlers for the report list and report layout
-	dialogs, to rebuild the report menu and save the report details.
-
-2005-05-09  Murray Cumming <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/box_reports.cc:
-	Set changes in the document.
-	* glom/data_structure/report.cc:
-	* glom/data_structure/report.h:
-	Added get_title_or_name().
-	* glom/data_structure/tableinfo.cc:
-	* glom/data_structure/tableinfo.h:
-	Added get_title_or_name().
-	* glom/frame_glom.cc: fill_menu_tables(),
- 	fill_menu_reports():
-	Show the name if the title is empty.
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/adddel/adddel.h:
-	Added remove_item_by_key().
-
-2005-05-08  Murray Cumming <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h: Added Reports menu,
-	like the new Tables menu.
-
-2005-05-08  Murray Cumming <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	Changed the Navigation menu to a Tables menu,
-	with dynamic menu items for each non-hidden
-	table. The full tables dialog is now only for
-	developers, available from the Edit Tables
-	menu item.
-
-2005-05-08  Murray Cumming <murrayc murrayc com>
-
-	* configure.in:
-	* glom/Makefile.am:
-	* glom/glom.glade:
-	* glom/box_reports.cc:
-	* glom/box_reports.h:
-	* glom/dialog_layout_report.cc:
-	* glom/dialog_layout_report.h:
-	Beginnings of UI to add/remove reports, and to edit them.
-	* glom/data_structure/Makefile.am:
-	* glom/data_structure/layout/Makefile.am:
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/report_parts/Makefile.am:
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_groupby.h:
-	* glom/data_structure/layout/report_parts/layoutitem_summary.cc:
-	* glom/data_structure/layout/report_parts/layoutitem_summary.h:
-	* glom/data_structure/report.cc:
-	* glom/data_structure/report.h:
-	Beginnings of data structure for reports and their parts.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	API to get/set reports, and load/save them.
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	Use the new UI bits for reports.
-
-2005-05-06  Murray Cumming <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/application.cc:
-	* glom/data_structure/layout/layoutgroup.cc:
-	* glom/data_structure/layout/layoutgroup.h:
-	* glom/data_structure/layout/layoutitem.h:
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	* glom/data_structure/layout/layoutitem_portal.cc:
-	* glom/data_structure/layout/layoutitem_portal.h:
-	* glom/dialog_layout_report.cc:
-	* glom/dialog_layout_report.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	* glom/glom.glade:
-	* glom/main.cc:
-	* glom/mode_data/dialog_layout.cc:
-	* glom/mode_data/dialog_layout.h:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* po/POTFILES.in:
-	Added a Developer/Reports menu item, with non-working
-	beginnings of a simple layout dialog, with available
-	parts on the left, and chosen parts on the right.
-
-2005-05-04  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc: get_table_privileges(): Really give full
-	rights to members of the developer group, whatever rights
-	that group has saved.
-
-2005-05-04  Murray Cumming <murrayc murrayc com>
-
-	* glom/frame_glom.cc: Show the organisation name as well as
-	the system name.
-	* glom/navigation/box_tables.cc: Check for glom_system_*
- 	tables and do not show them.
-
-2005-05-04  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	Pass the where_clause when calling refresh_from_database()
-	on the model.
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.h:
-	refresh_from_database(): Take where_clause parameter as
-	well as in the constructor. clear() existing records before
-	getting them again.
-
-2005-05-04  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc: get_next_autoincrement_value():
-	Really increment the value.
-
-2005-05-04  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	Added auto_increment_insert_first_if_necessary()
-	by moving some code from get_auto_increment_next_value().
-	* glom/dialog_database_preferences.cc:
-	* glom/dialog_database_preferences.h:
-	load_from_document(): Iterate over all fields and
-	call auto_increment_insert_first_if_necessary() for all
-	primary keys, so they all show up in the dialog.
-
-2005-05-04  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc: get_table_privileges():
-	Reverted a search/replace that broke parsing of
-	user rights.
-
-2005-05-03  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h: Added
-        get_next_auto_increment_value()
- 	add_standard_table(): add the
-	glom_system_autoincrements table.
-	* glom/dialog_database_preferences.cc:
-	* glom/dialog_database_preferences.h:
-	Read and write to the autoincrement table.
-	* glom/mode_data/box_data.cc:
-	* glom/standard_table_prefs_fields.h:
-	Added structure for glom_system_autoincrements
-	table.
-
-2005-05-03  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h:
-	* glom/base_db.cc:
-	* glom/box_db.cc:
-	* glom/box_db.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	* glom/glom.glade:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_find/box_data_details_find.cc:
-	* glom/mode_find/box_data_list_find.cc:
-	* glom/notebook_glom.cc:
-	* glom/notebook_glom.h:
-	Move Mode label to the bottom of the window.
-	Show the system name at the top, from the
-	database preferences. Remove crufty hints
-	stuff.
-
-2005-05-03  Murray Cumming <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/dialog_database_preferences.cc:
-	* glom/dialog_database_preferences.h:
-	* glom/glom.glade:
-	Added dialog to show system-wide details
-	and next auto-increment values.
-	* glom/data_structure/Makefile.am:
-	* glom/data_structure/system_prefs.cc:
-	* glom/data_structure/system_prefs.h:
-	New class to hold system-wide preferences.
-	* glom/standard_table_prefs_fields.h:
- 	Added list of #defines for the standard
-	table database structure.
-	* glom/application.cc: recreate_database():
-	Call new add_standard_tables() method to
-	hold system-wide preferences.
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	Move some of recreate_database() into
-	create_table() and reused it in new
-	add_standard_tables() method.
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	Add Developer/Database Preferences menu
-	item and handle it.
-
-2005-05-02  Murray Cumming <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	Use ScrolledWindow::set_policy(POLICY_AUTOMATIC) so
-	we do not get useless scrollbars.
-
-2005-05-02  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_find/box_data_list_find.cc:
-	* glom/mode_find/box_data_list_find.h:
-	Override some signal handlers from the base class, to
-	prevent adding new rows to the database.
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	get_value_vfunc(): Check the count of columns, not the
-	count of columns in the data model, so we can show
-	an empty placeholder row without database data, for
-	instance in Find mode.
-
-2005-05-02  Murray Cumming <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/application.h:
-	Added set_mode_find().
-	* glom/frame_glom.cc:
-	on_notebook_find_criteria(): Show a dialog
-	when no records were found, and offer to
-	return to find mode. Show the mode in the
-	Mode menu when programatically changing mode.
-
-2005-05-02  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/box_db_table.cc:
-	* glom/box_db_table.h:
-	* glom/frame_glom.cc:
-	* glom/frame_glom.h:
-	* glom/main.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_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/box_data_list_related.h:
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h:
-	* glom/mode_design/box_db_table_relationships.cc:
-	* glom/mode_design/box_db_table_relationships.h:
-	* glom/mode_design/dialog_design.cc:
-	* glom/mode_design/dialog_design.h:
-	* glom/mode_design/dialog_fields.cc:
-	* glom/mode_design/dialog_fields.h:
-	* glom/mode_design/dialog_relationships.cc:
-	* glom/mode_design/dialog_relationships.h:
-	* 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_details_find.h:
-	* glom/mode_find/box_data_list_find.cc:
-	* glom/mode_find/box_data_list_find.h:
-	* glom/mode_find/notebook_find.cc:
-	* glom/mode_find/notebook_find.h:
-	* glom/navigation/box_tables.cc:
-	* glom/navigation/box_tables.h:
-	init_from_database(), fill_from_database(), and
-	refresh_from_database() now return a bool. This should
-	let us detect empty results from finds.
-	* 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:
-	Add AddDel::refresh_from_database(), and
-	DbTreeModel::refresh_from_database() so we can build
-	the structure separately and refill it repeatedly with
-	data.
-
-2005-05-01  Murray Cumming <murrayc murrayc com>
-
-	* glom/data_structure/field.cc:
-	* glom/data_structure/field.h: Added
-	sql_find_operator()
-	* glom/mode_data/box_data.cc: Use it instead
-	of LIKE.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h:
-	Fix crash due to use of old key column.
-
-0.8.25:
-
-2005-04-29  Murray Cumming <murrayc murrayc com>
-
-	* glom/data_structure/field.cc:
-	* glom/data_structure/field.h:
-	Added get_has_calculation() for performance.
-	* glom/mode_data/Makefile.am:
-	* glom/mode_data/calcinprogress.cc:
-	* glom/mode_data/calcinprogress.h:
- 	Added data structure for fields being calculated.
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data.h:
-	- Added m_FieldsCalculationInProgress, so we can
-	maintain the state of all ongoing calculations
-	when calculating fields.
-	- Added calculate_field() which calculates and
-	sets a calculated field and any calculated fields
-	that it needs. Whenc called recursively, it
-	is aware of existing calculations in
-	m_FieldsCalculationInProgress.
-	- do_calculations(),
-	* glom/mode_data/box_data_details.cc:
- 	- recalculate_fields_for_related_records():
-	Use calculate_field() to simplify the code.
-
-2005-04-26  Murray Cumming <murrayc murrayc com>
-
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	construct_columns(): Right-align numeric fields.
-
-2005-04-26  Murray Cumming <murrayc murrayc com>
-
-	* glom/utility_widgets/comboentryglom.cc:
-	* glom/utility_widgets/comboentryglom.h:
-	* glom/utility_widgets/entryglom.cc:
-	* glom/utility_widgets/entryglom.h:
-	Right-align number fields.
-	* glom/utility_widgets/layoutwidgetbase.h:
-	Make set_layout_item() virtual so we can
-	change parts of the derived widget according to
-	the layout details.
-
-2005-04-26  Murray Cumming <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom: Make comments
-	multiline formatted on Details views.
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	Added get/set_text_format_multiline().
-	* glom/document/document_glom.cc:
-	load_after(), save_before(): load/save the multiline
-	text formatting bool.
-	* glom/mode_data/dialog_field_layout.cc:
-	load/save the multiline checkbox setting.
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/textviewglom.cc:
-	* glom/utility_widgets/textviewglom.h:
-	Added TextViewGlom which is a TextView in a
-	ScrolledWindow. Use it for multiline text.
-	* glom/utility_widgets/flowtable.cc:
-	Expand the second item to take the remaining
-	columns width, like single items already do,
-	where specified.
-
-2005-04-26  Murray Cumming <murrayc murrayc com>
-
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/comboentryglom.h:
-	* glom/utility_widgets/comboglomchoicesbase.cc:
-	* glom/utility_widgets/comboglomchoicesbase.h:
-	* glom/utility_widgets/entryglom.cc:
-	* glom/utility_widgets/entryglom.h:
-	* glom/utility_widgets/layoutwidgetfield.cc:
-	* glom/utility_widgets/layoutwidgetfield.h:
-	Move get/set_value() and signal_edited() into
-	a new LayoutWidgetField base class.
-	* glom/utility_widgets/datawidget.cc: Use
-	LayoutWidgetField instances polymorphically via
-	the base class, simplifying the code.
-
-2005-04-25  Murray Cumming <murrayc murrayc com>
-
-	* glom/document/document_glom.cc: Use #defines
-	for XML node and attribute names, to avoid
-	errors when repeating them.
-
-0.8.24:
-
-2005-04-23  Murray Cumming <murrayc murrayc com>
-
-	* glom/main.cc:
-	Remove debug code that hardcoded one filepath.
-	* glom/utility_widgets/cellrendererlist.cc:
-	* glom/utility_widgets/comboentryglom.cc:
-	* glom/utility_widgets/comboglom.cc:
-	Attempt to left-align second combo column,
-        unsuccessfully.
-
-0.8.23:
-
-2005-04-23  Murray Cumming <murrayc murrayc com>
-
-	* glom/utility_widgets/comboentryglom.cc:
-	* glom/utility_widgets/comboentryglom.h:
-	* glom/utility_widgets/comboglomchoicesbase.cc:
-	* glom/utility_widgets/datawidget.cc:
-	Actually use the Combo* constructors that take
-	a second LayoutItem_Field column.
-
-2005-04-23  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_data/dialog_layout_details.cc:
-	on_button_add_field(): Make fields editable
-	by default.
-
-2005-04-23  Murray Cumming <murrayc murrayc com>
-
-	* glom/base_db.cc:
-	* glom/base_db.h:
-	* glom/box_db_table.cc:
-	* glom/box_db_table.h:
-	* glom/dialog_invalid_data.cc:
-	* glom/dialog_invalid_data.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_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h:
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_find/box_data_details_find.cc:
-	* glom/mode_find/box_data_list_find.cc:
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/comboentryglom.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/entryglom.cc:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	Rename fill_from_database_layout() to
-	create_layout(), refresh_db_details() to
-	refresh_data_from_database() and describe how
-	these and the other 2 methods work together in
-	the class documentation for Box_Data.
-
-2005-04-23  Murray Cumming<murrayc murrayc com>
-
-	* glom/box_db_table.cc:
-	* glom/box_db_table.h:
-	Remove fill_fields(). It has no use here.
-	Its equivalent is the new fill_database_layout()
- 	in Box_Data, a derived class.
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data.h:
-	Add virtual fill_database_layout() so the
-	derived implementations can be called from
-	init_db_details().
-	* glom/mode_data/box_data_details.cc:
-	fill_database_layout() is now called by the
-	base class, at the appropriate time, so we
-        do not need to call it from fill_database().
-	refresh_db_details(): Call fill_from_database()
-	instead of init_db_details() so we do not
-	unnecessarily rebuild the whole layout UI.
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list.h:
-        fill_fields(): Rename to fill_database_layout(),
-	which is now called from the base class.
-	fill_from_database(): Do not call fill_fields/
-	fill_database_layout() unnecessarily here.
-	* glom/mode_data/notebook_data.cc:
-	* glom/mode_data/notebook_data.h:
-	Rename on_Details_user_requested_details() to
-	on_list_user_requested_details() because that it is
-	a signal on list, not details.
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	fill_from_database(): Call fill_fields() because
-	the base class does not call it anymore.
-	* glom/utility_widgets/flowtablewithfields.cc:
-	add_layout_item_at_position(). When adding
-	a Box_Data_List_Related portal, call add_view()
-	before init_db_details() because the latter needs
-	the document.
-
-2005-04-22  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list.cc:
-	Add the DbAddDel as a view with add_view(), so
-	it has the document.
-	* glom/utility_widgets/cellrendererlist.cc:
-	* glom/utility_widgets/cellrendererlist.h:
-	Handle the editing_started signal to add the
-	second column.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h:
-	Fill the second choices column of the
-	CellRendererList.
-
-2005-04-22  Murray Cumming <murrayc murrayc com>
-
-	* glom/data_structure/glomconversions.cc:
-	Added some warnings for when relationships are
-	unexpectedly empty.
-	* glom/data_structure/layout/layoutitem_field.cc:
-	get_has_choices(). Return false if the choices
-	information is empty, so we have no empty dropdown
-	menus.
-	* glom/data_structure/layout/layoutitem_portal.cc:
-	* glom/data_structure/layout/layoutitem_portal.h:
-	Store the whole Relationship information here.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	Use a more explicit data structure for layouts,
-	clearly marking related (portal) layouts.
-	update_relationships(): Update related (portal)
-	layouts too.
-	* glom/mode_data/dialog_layout_list_related.cc:
-	on_button_formatting(): Specify the correct
-	table name, so we get choices from the
-	related table, not the parent table.
-
-2005-04-22  Murray Cumming <murrayc murrayc com>
-
-	* glom/glom.glade:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h:
-	* glom/mode_data/treestore_layout.h:
-	Details Layout: Add a Formatting button,
-	because I can not yet implement a context
-	menu for a GtkComboBox, and because nothing
-	should be available only via a context menu
-	anyway.
-
-2005-04-22  Murray Cumming  <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/adddel/Makefile.am:
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/adddel/cellrendererlist.cc:
-	* glom/utility_widgets/adddel/cellrendererlist.h:
-	Move cellrendererlist out of adddel into
-	utlity_widgets, because it is also used by
-	DbAddDel.
-	* glom/utility_widgets/cellrendererlist.cc:
-	* glom/utility_widgets/cellrendererlist.h:
-	* glom/utility_widgets/comboentryglom.cc:
-	* glom/utility_widgets/comboentryglom.h:
-	* glom/utility_widgets/comboglomchoicesbase.cc:
-	* glom/utility_widgets/comboglomchoicesbase.h:
-	Add ComboGlom and ComboGlomChoicesBase which is
-	a base class for ComboGlom and ComboEntryGlom.
-	* glom/utility_widgets/datawidget.cc:
-	Use ComboGlom instead of ComboEntryGlom when
-	the choices should be restricted.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	Restrict the choices when specified, using
-	CellRendererCombo::property_has_entry().
-
-2005-04-21  Murray Cumming <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom:
-	Add drop down choices for name_title.
-	* glom/data_structure/field.h:
-	* glom/data_structure/glomconversions.cc:
-	get_text_for_gda_value(): Prevent use of
-	values that do not have the expected type.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	Added get/set_attribute_value_as_value()
-	for convenience.
-	load_after(), save_before(): load/save the
-	custom choices.
-	* glom/mode_data/dialog_field_layout.cc:
-	* glom/mode_data/dialog_field_layout.h:
-	Really save/load the custom choices, by
-	storing and using the correct column index.
-
-2005-04-21  Murray Cumming <murrayc murrayc com>
-
-	* glom/data_structure/glomconversions.cc:
-	* glom/data_structure/glomconversions.h:
-	Add get_choice_values(), with code moved
-	from DataWidget.
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	Use a CellRendererCombo on the List view,
-	if the field layout has choices. However, it
-	only shows the first column so far.
-	* glom/base_db.cc:
-	* glom/box_db.cc:
-	* glom/dialog_connection.cc:
-	* glom/dialog_connection.h:
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	* glom/frame_glom.cc:
-	* glom/main.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_field_layout.cc:
-	* glom/mode_data/dialog_layout.cc:
-	* glom/mode_data/dialog_layout.h:
-	* 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/box_db_table_relationships.cc:
-	* glom/mode_find/box_data_details_find.cc:
-	* glom/navigation/box_tables.cc:
-	Use get_document() from the View base class
-	instead of another member variable. Use add_view()
-	and remove_view() in some more places.
-
-2005-04-21  Murray Cumming  <murrayc murrayc com>
-
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	Added update_cache_relationship() and call it from
-	set_relationship() and load_after() instead of
-	filling-in relationship details along the way.
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	* glom/utility_widgets/comboentryglom.cc:
-	* glom/utility_widgets/comboentryglom.h:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/datawidget.h:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	Show data from the second related field in the
-	drop down choice.
-
-2005-04-21  Murray Cumming  <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom:
-	Invoice details: Added choice of contacts dropdown.
-	* glom/data_structure/glomconversions.cc:
-	util_trim(): reverse iterate from rbegin to rend,
-	not the other way around. This avoids accessing
-	invalid memory too.
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	Add members and methods for choices drop-downs.
-	* glom/document/document_glom.cc:
-	Load/Save the choices details for LayoutItem_Fields.
-	* glom/glom.glade:
-	* glom/main.cc:
-	* glom/mode_data/box_data.h:
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/dialog_choose_relationship.cc:
-	* glom/mode_data/dialog_choose_relationship.h:
-	* glom/mode_data/dialog_field_layout.cc:
-	* glom/mode_data/dialog_field_layout.h:
-	* glom/mode_data/dialog_layout.h:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_list.cc:
-	* glom/mode_data/dialog_layout_list_related.cc:
-	* glom/utility_widgets/Makefile.am:
-	* glom/utility_widgets/adddel/adddel.cc:
-	* glom/utility_widgets/adddel/adddel.h:
-	* glom/utility_widgets/adddel/adddel_withbuttons.cc:
-	* glom/utility_widgets/adddel/adddel_withbuttons.h:
-	* glom/utility_widgets/comboentryglom.cc:
-	* glom/utility_widgets/comboentryglom.h:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/datawidget.h:
-	* glom/utility_widgets/entryglom.cc:
-	* glom/utility_widgets/entryglom.h:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/layoutwidgetbase.cc:
-	* glom/utility_widgets/layoutwidgetbase.h:
-	In the Layout Properties dialog, show a second tab
-	for choices, either a custom list or a list from
-	a related record. Only works on Details so far.
-	* glom/frame_glom.cc:on_menu_developer_users(),
-	* glom/mode_data/box_data_list_related.cc: destructor,
-	* glom/mode_data/box_data.cc: destructor,
-	Call remove_view() before deleting the dialog.
-
-
-2005-04-19  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data.h:
-	Add m_TableFields and fill it in
-	fill_database(), as a cache instead of
-	repeatedly getting it from the document.
-        get_lookup_fields(), get_calculated_fields(),
-	* glom/mode_data/box_data_details.cc:
-	recalculate_fields_for_related_records(),
-        Examine all table fields, via m_TableFields,
-        instead of just shown fields.
-
-2005-04-19  Murray Cumming <murrayc murrayc com>
-
-	* glom/application.cc:
-	* glom/box_db_table.cc:
-	* glom/document/document_glom.cc:
-	* glom/frame_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_find/box_data_details_find.cc:
-	* glom/mode_find/box_data_list_find.cc:
-	* glom/navigation/box_tables.cc:
-	More use of Field methods instead of getting the
-	FieldAttributes and using its methods. This should be
-	more efficient.
-
-2005-04-19  Murray Cumming,,,  <murrayc murrayc com>
-
-	* glom/data_structure/field.cc:
-	* glom/data_structure/field.h:
-	Add get_primary_key(), get_unique_key(),
-        get_default_value(), etc, so we do not always need
-	to copy the whole FileAttributes member just to get
-	a little information.
-	* glom/mode_design/fields/box_db_table_definition.cc:
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	Use the Field methods instead of getting the
-	FieldAttributes and using its methods. This should be
-	more efficient.
-
-0.8.22:
-
-2005-04-18  Murray Cumming <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom:
-	Remove 0 and NULL default values.
-	* glom/document/document_glom.cc:
-	Save default values with
-	GlomConversions::get_text_for_gda_value(), in
-	iso-format, instead of Gda::Value::to_string().
-	This stops empty default values being changed
-	to 0s and NULLs.
-	* glom/mode_data/box_data_list.cc:
-	Specify the list row when calling
-        set_field_value_in_database() so that lookups/
-	calcs actually happen.
-
-2005-04-18  Murray Cumming <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom:
-	product: Add vat_percent field.
-	invoice_lines: Lookup vat_percent along with
-	the other product information.
-	* 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:
-	Always use set_field_value_in_database()
-	instead of custom UPDATE sql queries,
-	and do all dependent recalcs/lookups/etc in
-	set_field_value_in_database().
-
-2005-04-18  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/notebook_data.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/dialog_fielddefinition.cc:
-	* glom/mode_design/users/dialog_groups_list.cc:
-	* glom/mode_find/notebook_find.cc:
-	Added View_Composite::remove_view() calls before
-	deleting widgets that have been add_view()ed. This
-	fixes a crash when reopening the field definition
-	details dialog.
-
-2005-04-17  Murray Cumming  <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom:
-	Add VAT fields to invoice_lines and invoices,
-	with calculations.
-	* glom/data_structure/layout/layoutitem.cc:
-	* glom/data_structure/layout/layoutitem.h:
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	Add operator==().
-	* glom/glom.glade:
-	* glom/mode_data/dialog_layout_list_related.cc:
-	* glom/mode_data/dialog_layout_list_related.h:
-	Add a Formatting button, as already in the regular
-	List Layout dialog.
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data.h:
-	do_calculations(),
-	* glom/mode_data/box_data_details.cc:
-	recalculate_fields_for_related_records(): Recalculated
-	fields that depend on the just-recalculated fields, with
-	some attempt to prevent circular fields. The dependency-
-	sequence needs to be figured out all at once, however -
-	see the TODO>
-	* glom/python_embed/python_module/pygdavalue_conversions.c:
-	(pygda_value_as_pyobject): Return a PyFloat for a GdaNumeric,
-	instead of a PyLong.
-
-2005-04-17  Murray Cumming  <murrayc murrayc com>
-
-	* 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:
-	Emit the signal_record_changed signal when
-	deleting related records, to cause
-	field recalculations.
-
-2005-04-17  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc: record_new(): Iterate
-	from begin to end, not begin to begin, so we actually
-	set default values and calculate initial values.
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	set_field(): Monitor changes to the dynamically-created
-	default value widget, not just the rest, so that
-	changes to the default value enable the Save button.
-
-2005-04-17  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list.cc:
-	fill_from_database(): Call
- 	DbAddDel::set_where_clause(), so that
-	related records portals show only the related
-	records instead of all records.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h:
-	Added set_where_clause(), and used it when
-	creating the treemodel.
-	get_is_placeholder(): Cope with invalid
-	iterators.
-	* po/POTFILES.in:
-	Updated.
-
-2005-04-17  Murray Cumming <murrayc murrayc com>
-
-	* docs/website/index.html: Updated.
-	* glom/mode_data/box_data_details.cc:
-	* glom/mode_data/box_data_details.h:
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h:
-	* glom/mode_design/fields/dialog_fieldcalculation.cc:
-	* glom/utility_widgets/flowtablewithfields.cc:
-	* glom/utility_widgets/flowtablewithfields.h:
-	Add FlowTable::signal_related_record_changed() and
-	Box_Data_List_Related::signal_record_changed() to allow
-	the Box_Data_Details to recalculate fields that use
-	the relationship whose records have changed.
-
-2005-04-16  Murray Cumming <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom:
-	Add count and total_price (calculated) fields to invoice_lines.
-	Add price_total (calculated) field to invoices.
-	* glom/data_structure/field.cc:
-	* glom/data_structure/field.h:
-	Add get_calculation_relationships() to discover what relationships
-	are used by a calculation.
-	* glom/data_structure/glomconversions.cc:
-	Change example value for numbers to 1 from 123, so we are more
-	likely to find related records when testing calculations.
-	* glom/python_embed/python_module/py_glom_record.cc:
-	* glom/python_embed/python_module/py_glom_record.h:
-	Remove the unused m_gda_connection member variable.
-	* glom/python_embed/python_module/py_glom_relatedrecord.cc:
-	Add sum(), count(), min(), and max() python methods. For instance,
-	record["invoice_lines"].sum("total_price");
-
-2005-04-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	Forward get/set_name() to m_field instead of
-	using m_name from the base class.
-	* glom/document/document_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:
-	Remove set_name() where we also set m_field with
-	an identical name.
-
-2005-04-16  Murray Cumming <murrayc murrayc com>
-
-	* glom/python_embed/python_module/py_glom_relatedrecord.cc:
-	RelatedRecord_tp_as_mapping_getitem():
-	Actually execute the SQL so that it actually gets the data.
-	And also handle various errors and give interesting warnings.
-
-2005-04-16  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc:
-	* glom/mode_design/fields/dialog_fieldcalculation.cc:
-	* glom/python_embed/glom_python.cc:
-	* glom/python_embed/glom_python.h:
-	* glom/python_embed/python_module/Makefile.am:
-	* glom/python_embed/python_module/py_glom_module.cc:
-	* glom/python_embed/python_module/py_glom_module.h:
-	* glom/python_embed/python_module/py_glom_record.cc:
-	* glom/python_embed/python_module/py_glom_record.h:
-	* glom/python_embed/python_module/py_glom_related.cc:
-	* glom/python_embed/python_module/py_glom_related.h:
-	* glom/python_embed/python_module/py_glom_relatedrecord.cc:
-	* glom/python_embed/python_module/py_glom_relatedrecord.h:
-	Added record.related[relationship_name][field_name] syntax for
-	calculated fields, though it is not working yet.
-	* glom/python_embed/python_module/pygdavalue_conversions.c:
-	* glom/utility_widgets/adddel/eggcolumnchooser/eggcolumnchooserdial
-	og.c:
-	* glom/utility_widgets/adddel/eggcolumnchooser/eggcolumnmodel.c:
-	Extra C casts needed for g++ 3.4.
-
-2005-04-16  Murray Cumming  <murrayc murrayc com>
-
-	* glom/python_embed/glom_python.cc:
-	* glom/python_embed/python_module/py_glom_record.cc:
-	* glom/python_embed/python_module/py_glom_record.h:
-	Access field values via record[] instead of
-	record.fields[].get().
-	* glom/data_structure/field.cc:
-        get_calculation_fields(): Revise for the new syntax.
-	* glom/python_embed/python_module/
-	Added py_glom_related.[h|cc], which will, soon,
-	provide access to related records.
-	Added py_glom_module.[h|cc]: Added, and moved the
-	module init stuff into here.
-
-0.8.21:
-
-2005-04-14  Murray Cumming  <murrayc murrayc com>
-
-	* glom/application.cc: Updated copyright year.
-	* glom/frame_glom.cc: Use US spelling of
-	canceled. Bug #300139.
-
-2005-04-14  Murray Cumming <murrayc murrayc com>
-
-	* examples/example_smallbusiness.glom:
-	Invoice details: Show the related, calculated,
-        Full Name instead of the individual name parts, now that
-       calculated fields work.
-	* glom/data_structure/layout/layoutgroup.h:
-	Make the items map public so we can change it more
-	efficiently.
-	* glom/document/document_glom.cc:
-	* glom/document/document_glom.h:
-	Add fill_layout_field_details() to fill layout groups
-	with full field information.
-	* glom/glom.glade:
-	* glom/mode_data/dialog_layout_list.cc:
-	* glom/mode_data/dialog_layout_list.h:
-	Added a Formatting button to show the now-separate
-	formatting dialog.
-	set_document(): Get the full field information from
-	the document.
-	* glom/mode_data/box_data_list.cc:
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/entryglom.cc:
-	* glom/utility_widgets/layoutwidgetbase.cc:
-	Move action creation into the base class instead of
-	duplicating it.
-
-2005-04-14  Murray Cumming <murrayc murrayc com>
-
-	* docs/website/screenshots/glom_data_details.png:
-	* docs/website/screenshots/glom_design_layout_field_formatting.png:
-	* docs/website/screenshots/glom_select_field.png:
-	* docs/website/screenshots/index.html:
-	Updated some screenshots and pictures.
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data.h:
-	Added get_record_field_values(), get_calculated_fields(), and
-	do_calculations() which use them.
-	* glom/mode_data/box_data_details.cc: on_flowtable_field_changed():
-	* glom/mode_data/box_data_list.cc: on_adddel_user_changed():
-	Call do_calculations() to update calculated field values.
-
-2005-04-13  Murray Cumming  <murrayc murrayc com>
-
-	* docs/website/screenshots/glom_design_fields_dialog_calculated.png
-	: Updated the screenshot to show these changes.
-	* examples/example_smallbusiness.glom:
-	Added a name_full fields to contacts, as a simple calculated-field
-	test.
-	* glom/data_structure/field.cc:
-	* glom/data_structure/field.h:
-	Added get_caculation_fields() - it parses the python code and
-	guesses what fields are used in the calculation.
-	* glom/data_structure/glomconversions.cc:
-	* glom/data_structure/glomconversions.h:
-	Added get_example_value(), so we have some field values for the
-	calculation test dialog.
-	* glom/glom.glade:
-	* glom/mode_data/box_data.cc:
-	* glom/mode_data/box_data.h:
-	* glom/mode_design/fields/dialog_fieldcalculation.cc:
-	* glom/mode_design/fields/dialog_fieldcalculation.h:
-	* glom/mode_design/fields/dialog_fielddefinition.cc:
-	Show the (according to our parsing) used fields, and show that
-	we import the glom module implicitly.
-
-2005-04-13  Murray Cumming <murrayc murrayc com>
-
-	* glom/python_embed/glom_python.cc:
-	glom_evaluate_python_function_implementation()
-	Correctly check whether the result is a gda.Value
-	and process it appropriately. This now works.
-
-2005-04-13  Murray Cumming <murrayc murrayc com>
-
-	* glom/python_embed/python_module/Makefile.am:
-	Link the module to the glom dependencies, to
-	avoid undefined symbols when using it from python.
-
-2005-04-13  Murray Cumming <murrayc murrayc com>
-
-	* glom/python_embed/python_module/Makefile.am:
-	Use pyexec_* instead of pkpyexec_* so that the
-	module is not installed in a package sub-directory,
-	so that it can be imported.
-
-2005-04-13  Murray Cumming <murrayc murrayc com>
-
-	* glom/Makefile.am:
-	* glom/python_embed/python_module/Makefile.am:
-	Create glom.la, not libglom.la. That seems to be what
-	python modules do.
-	* glom/python_embed/python_module/py_glom_record.cc:
-	* glom/python_embed/python_module/py_glom_record.h:
-	Rename the initglomRecord() method to initglom(), in
-	case that is what python is looking for. Still does
-	not work though.
-
-2005-04-13  Murray Cumming <murrayc murrayc com>
-
-	* configure.in:
-	* glom/Makefile.am:
-	* glom/python_embed/Makefile.am:
-	* glom/python_embed/glom_python.cc:
-	* glom/python_embed/python_module/Makefile.am:
-	* glom/python_embed/python_module/py_glom_record.cc:
-	* glom/python_embed/python_module/py_glom_record.h:
-	Put the python module in a sub directory, making the
-	build easiert. Rename the python module from pyglom
-	to glom, and import that. But python still says that
-	the module does not exist when we import it.
-
-2005-04-13  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_data/box_data.cc: record_new(),
-	* glom/mode_design/fields/dialog_fieldcalculation.cc:
-	on_button_test(): Pass some test fields values to
-	glom_evaluate_python_function_implementation().
-	* glom/python_embed/Makefile.am:
-	Try to actually build and install the glom python
-	module.
-	* glom/python_embed/glom_python.cc:
-	* glom/python_embed/glom_python.h:
-	glom_evaluate_python_function_implementation() now
-	receives a map of field values to be used by the
-	python function.
-	* glom/python_embed/py_glom_record.cc:
-	Add the fields attribute.
-
-2005-04-12  Murray Cumming <murrayc murrayc com>
-
-	* glom/python_embed/glom_python.cc: Get access to
-	the python gda.Value type and use it instead of
-	the hack.
-
-2005-04-12  Murray Cumming <murrayc murrayc com>
-
-	* configure.in: pkg-config check for pygtk-2.0,
-	because we need the header to access the internals
-	of the gda.Value object.
-	* glom/python_embed/glom_python.cc:
-	Handle the result as a gda.Value.
-
-2005-04-10  Murray Cumming <murrayc murrayc com>
-
-	* glom/mode_data/box_data_list.cc:
-	* glom/mode_data/box_data_list.h:
-	on_adddel_user_added(): Call
-	on_adddel_user_changed() to do lookups.
-	* glom/mode_data/box_data_list_related.cc:
-	* glom/mode_data/box_data_list_related.h:
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h:
-	DbAddDel::signal_user_added(): Pass the column
-	index of the field that was filled-in to create
-	the new row.
-
-2005-04-10  Murray Cumming <murrayc murrayc com>
-
-	* po/POTFILES.in: Added files that I think
-	Christian Rose removed accidentally.
-
-2005-04-09  Murray Cumming <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	Add get/set_hidden(), so we can add a hidden list
-	column for keys, without showing them in the UI.
-	* glom/mode_data/box_data_list.cc:
-	Do not create rows in the AddDel from the database -
-	allow it (the model) to fill itself.
-	* glom/utility_widgets/db_adddel/db_adddel.cc:
-	* glom/utility_widgets/db_adddel/db_adddel.h:
-	Use the new explicit get_last_row() method of the model
-	instead of iterating back from end().
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
-	* glom/utility_widgets/db_adddel/glom_db_treemodel.h:
-	Constructor: create rows from the database automatically,
-	as well as allowing creating of new empty rows.
-
-2005-04-08  Murray Cumming <murrayc murrayc com>
-
-	* glom/data_structure/layout/layoutitem_field.cc:
-	* glom/data_structure/layout/layoutitem_field.h:
-	* glom/data_structure/relationship.cc:
-	* glom/data_structure/relationship.h:
-	Added Relationship::get_name_not_empty() and used it,
-	for performance, instead of getting the whole string
-	just to see if it is empty.
-	* glom/glom.glade:
-	* glom/mode_data/Makefile.am:
-	* glom/mode_data/dialog_choose_field.cc:
-	* glom/mode_data/dialog_choose_field.h:
-	* glom/mode_data/dialog_field_layout.cc:
-	* glom/mode_data/dialog_field_layout.h:
-	* glom/mode_data/dialog_layout_details.cc:
-	* glom/mode_data/dialog_layout_details.h:
-	Moved formatting options to their own dialog.
-	* glom/utility_widgets/datawidget.cc:
-	* glom/utility_widgets/datawidget.h:
-	* glom/utility_widgets/entryglom.cc:
-	* glom/utility_widgets/entryglom.h:
-	* glom/utility_widgets/layoutwidgetbase.h:
-	Added a context menu item for the new layout
-	properties dialog.
-
-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().
+	get_stringstream_precision_default(): Simplify this fu
+	
diff --git a/glom/base_db.cc b/glom/base_db.cc
index 42c7702..dc5c1fd 100644
--- a/glom/base_db.cc
+++ b/glom/base_db.cc
@@ -1902,7 +1902,7 @@ int Base_DB::count_rows_returned_by(const Glib::RefPtr<Gnome::Gda::SqlBuilder>&
   builder->select_add_target_id(target_id, "glomarbitraryalias");
 
   const guint id_function = builder->add_function("COUNT", builder->add_id("*"));
-  builder->add_field_id(id_function);
+  builder->add_field_value_id(id_function);
 
 
   int result = 0;
diff --git a/glom/libglom/db_utils.cc b/glom/libglom/db_utils.cc
index fa7c2df..d6c1ff5 100644
--- a/glom/libglom/db_utils.cc
+++ b/glom/libglom/db_utils.cc
@@ -1385,7 +1385,7 @@ static void recalculate_next_auto_increment_value(const Glib::ustring& table_nam
   Glib::RefPtr<Gnome::Gda::SqlBuilder> builder = Gnome::Gda::SqlBuilder::create(Gnome::Gda::SQL_STATEMENT_SELECT);
   std::list<guint> args;
   args.push_back(builder->add_id(table_name + "." + field_name));
-  builder->add_field_id(builder->add_function("MAX", args));
+  builder->add_field_value_id(builder->add_function("MAX", args));
   builder->select_add_target(table_name);
 
   Glib::RefPtr<Gnome::Gda::DataModel> datamodel = query_execute_select(builder);
diff --git a/glom/libglom/python_embed/py_glom_relatedrecord.cc b/glom/libglom/python_embed/py_glom_relatedrecord.cc
index 1aea8b2..d29b934 100644
--- a/glom/libglom/python_embed/py_glom_relatedrecord.cc
+++ b/glom/libglom/python_embed/py_glom_relatedrecord.cc
@@ -197,7 +197,7 @@ boost::python::object PyGlomRelatedRecord::generic_aggregate(const std::string&
     Gnome::Gda::SqlBuilder::create(Gnome::Gda::SQL_STATEMENT_SELECT);
 
   const guint id_function = builder->add_function(aggregate, builder->add_id(field_name)); //TODO: It would be nice to specify the table here too.
-  builder->add_field_id(id_function);
+  builder->add_field_value_id(id_function);
 
   builder->select_add_target(related_table);
   builder->set_where(
diff --git a/glom/libglom/utils.cc b/glom/libglom/utils.cc
index e6ed5f0..87f3a13 100644
--- a/glom/libglom/utils.cc
+++ b/glom/libglom/utils.cc
@@ -339,7 +339,7 @@ void Utils::build_sql_select_add_fields_to_get(const Glib::RefPtr<Gnome::Gda::Sq
       const guint id_function = builder->add_function(
         fieldsummary->get_summary_type_sql(),
         builder->add_id(layout_item->get_sql_name(table_name)) ); //TODO: It would be nice to specify the table here too.
-      builder->add_field_id(id_function);
+      builder->add_field_value_id(id_function);
     }
     else
     {
diff --git a/glom/utility_widgets/db_adddel/glom_db_treemodel.cc b/glom/utility_widgets/db_adddel/glom_db_treemodel.cc
index 77d29da..f4670ed 100644
--- a/glom/utility_widgets/db_adddel/glom_db_treemodel.cc
+++ b/glom/utility_widgets/db_adddel/glom_db_treemodel.cc
@@ -910,7 +910,7 @@ void DbTreeModel::get_record_counts(gulong& total, gulong& found) const
         Gnome::Gda::SqlBuilder::create(Gnome::Gda::SQL_STATEMENT_SELECT);
 
       const guint id_function = builder->add_function("count", builder->add_id("*")); //TODO: Is * allowed here?
-      builder->add_field_id(id_function);
+      builder->add_field_value_id(id_function);
 
       builder->select_add_target(m_found_set.m_table_name);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]