2011-10-27  Murray Cumming  <murrayc@murrayc.com>

	More includes fixes to fix the build.

2011-10-26  Murray Cumming  <murrayc@murrayc.com>

	Add and move #includes for the latest glibmm. 

	* glom/import_csv/csv_parser.cc:
	* glom/import_csv/dialog_import_csv_progress.cc:
	* glom/libglom/connectionpool.cc:
	* glom/libglom/connectionpool_backends/postgres_self.cc:
	* glom/libglom/privs.cc:
	* glom/libglom/spawn_with_feedback.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/db_adddel/db_adddel.cc:
	* glom/mode_data/notebook_data.cc:
	* glom/mode_design/print_layouts/window_print_layout_edit.h:
	* glom/utility_widgets/dialog_image_load_progress.cc:
	* glom/utility_widgets/dialog_image_save_progress.cc:
	* glom/utils_ui.cc:
	* tests/import/utils.cc: Add individual glibmm includes now that 
	gmmproc does not include glibmm.h from headers.
	Always include glibmm/thread.h first to avoid deprecation warnings.

2011-10-25  Murray Cumming  <murrayc@murrayc.com>

	Change #includes for the latest glibmm.

	Add individual includes instead of general giomm.h, glibmm.h or gtkmm.h 
	includes.
	Among other things, this might let us avoid the annoying warning about 
	deprecated GThread functions.

2011-10-24  Murray Cumming  <murrayc@murrayc.com>

	Do not include gtkmm.h, glibmm.h, giomm.h, or similar in headers.

	* Many files: Use more specific includes.

2011-10-21  Murray Cumming  <murrayc@murrayc.com>

	Avoid calling g_thread_init() if possible.

	* configure.ac: Add a comment about not linking to gthread-2.0 in future.
	* glom/libglom/init.cc:
	* tests/import/test_parsing.cc:
	* tests/import/test_signals.cc: Avoid calls to deprecated Glib::thread_init()
	if glib is new enough.
	This is a step to making Glom build against glibmm from git master with
	--enable-warnings=fatal.

2011-10-17  Murray Cumming  <murrayc@murrayc.com>

	Examples: Remove all column_width attributes now that defaults are good.

	* 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:
	* examples/tests/example_field_formatting_test.glom:
	* ldtp/database-templates/PostgresCentral/Test.glom:
	* ldtp/database-templates/SQLite/Test.glom: A simple regexxer replace.

2011-10-17  Murray Cumming  <murrayc@murrayc.com>

	List View: Correct the default column widths.

	* glom/utils_ui.[h|cc]: get_suitable_field_width_for_widget(): Added a
	for_treeview parameter and adjust the width accordingly.
	* glom/mode_data/db_adddel/db_adddel.cc: treeview_append_colum():
	Replace the overly-generic division-by-3 hack with the new parameter, and 
	add some hard-coded extra space.
	
2011-10-17  Murray Cumming  <murrayc@murrayc.com>

	Details: Avoid an outdent after group titles

	* glom/mode_data/flowtablewithfields.cc: add_layout_group(): Work around 
	the GtkFrame bug #644199

2011-10-15  Murray Cumming  <murrayc@murrayc.com>

	Related records portals: Allow navigation via read-only relationships.

	* glom/mode_data/box_data_list_related.cc: on_adddel_user_requested_edit():
	Remove the check for a non-editable relationship, because that is about 
	editing, but this is about opening, and we already have the navigation=None
	option.

2011-10-13  Murray Cumming  <murrayc@murrayc.com>

	Deleting tables: Remove all auto-increment rows.

	* glom/navigation/box_tables.cc: Remove the autoincrement rows for all 
	autoincrement fields.

2011-10-13  Murray Cumming  <murrayc@murrayc.com>

	Deleting tables: Remove the auto-increment too.

	* glom/libglom/db_utils.[h|cc]: Added remove_auto_increment().
	* glom/navigation/box_tables.cc: on_adddel_Delete(): Remove the primary key's
	autoincrement too.
	Bug #661653 

2011-10-13  Murray Cumming  <murrayc@murrayc.com>

	DbUtils: Add some parameter checks to the autoincrement methods.

	* glom/libglom/db_utils.cc: Otherwise we risk having an empty where clause,
	and doing unwanted things to the entire table.

2011-10-13  Murray Cumming  <murrayc@murrayc.com>

	DbUtils: Avoid some repeated code.

	* glom/libglom/db_utils.cc: Add a utility function for adding the where 
	clause for the auto-increments table.

2011-10-13  Ben Konrath  <ben@bagu.org>

	Add example document to test field formatting.

	* examples/tests/example_field_formatting_test.glom: New file.

2011-10-11  Murray Cumming  <murrayc@murrayc.com>

	TranslatableItem: Make get_title() virtual.

	* glom/libglom/data_structure/translatable_item.h: Make get_title()
	virtual, like get_title_or_name() already is, so we can make get_title()
	useful generically via the base class.
	* glom/libglom/data_structure/layout/layoutitem_field.[h|cc]:
	* glom/libglom/data_structure/layout/layoutitem_portal.[h|cc]:
	* glom/libglom/data_structure/layout/report_parts/layoutitem_fields
	ummary.[h|cc]: Add get_title() overrides.
	* glom/mode_data/box_data_calendar_related.cc:
	* glom/mode_data/box_data_list_related.cc:
	* glom/print_layout/print_layout_utils.cc: Use get_title() instead of 
	get_title_or_name(), to avoid showing names of intentionally title-less 
	groups and notebooks.

2011-10-11  Murray Cumming  <murrayc@murrayc.com>

	LayoutItem_Portal: Make get_title_or_name() useful.

	* glom/libglom/data_structure/layout/layoutitem_portal.[h|cc]:
	Add an override for get_title_or_nam(), so that callers do not need to 
	special-case portals compared to other groups.
	* glom/mode_data/box_data_calendar_related.cc:
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/box_data_portal.cc:
	* glom/mode_data/flowtablewithfields.cc:
	* glom/print_layout/print_layout_utils.cc: Use get_title_or_name() 
	instead of more complicated code.

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

	TreeModelDb: fill_values_if_necessary(): Avoid a crash.

	* glom/mode_data/datawidget/treemodel_db.cc: Do not try to use a null
	GdaDataModel, which can happen if a SQL query fails.

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

	Document: get_data_layout_groups_default(): Simplify the default structure.

	* glom/libglom/document/document.cc: Do not create the useless "main" 
	top-level group for details layouts.

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

	Find: Get criteria even when a field is on the layout twice.

	* glom/mode_data/flowtablewithfields.cc: get_field_value(): 
	Look at all the widgets for this field, instead of just the first one, 
	and keep looking until we find a non-empty value.
	This is still rather arbitrary, but this method is only used for 
	find criteria, or should be.

2011-09-29  Murray Cumming  <murrayc@murrayc.com>

	Dialog_Choose_ID: Work around a crash in GTK+.

	* glom/mode_data/datawidget/dialog_choose_id.cc: Remove the Box_Data_List 
	from the parent container (we added it earlier), to avoid a crash, though 
	it would be good to fix that properly and generically.
	Bug #660347

2011-09-29  Murray Cumming  <murrayc@murrayc.com>

	build_simple_where_expression(): Check input parameters.

	* glom/libglom/utils.cc: build_simple_where_expression(): Check for an 
	empty key field, which can happen during debugging.

2011-09-29  Murray Cumming  <murrayc@murrayc.com>

	Glade utils: Catch generic exceptions.

	* glom/glade_utils.h: Though this only happens when gtkmm has not been 
	initialized.

2011-10-06  Ben Konrath  <ben@bagu.org>

	Fix small bugs in commented-out debugging print statements.

	https://bugzilla.gnome.org/show_bug.cgi?id=661009

	* glom/libglom/db_utils.cc: Change field to layout_item. Move print
	statement to be after the assignment to
	field_used_in_relationship_to_one.

2011-09-28  Murray Cumming  <murrayc@murrayc.com>

	Related Records: Fix bug with a blank row when there is only one row. 

	* glom/libglom/connectionpool.[h|cc]: Added get_backend_supports_cursor().
	* glom/mode_data/datawidget/treemodel_db.cc: refresh_from_database():
	Call that method, so we can avoid using GdaDataAccessWrapper unless 
	necessary. That avoids an apparent bug with GdaDataAccessWrapper returned 
	a row of all-nulls if there is only one row. See libgda bug #660344 .
	This is probably a performance improvement anyway.

2011-09-27  Murray Cumming  <murrayc@murrayc.com>>

  libglom::LayoutItem_Portal: Added get_suitable_table_to_view_details().

	* glom/base_db.[h|cc]: Move the get_portal_navigation_relationship_automatic()
	and get_suitable_table_to_view_details() utility functions to: 
	* glom/libglom/data_structure/layout/layoutitem_portal.[h|cc]: Also
	move other privately-used utility functions here too, from Base_DB.
	* glom/mode_design/layout/dialog_layout_calendar_related.cc: update_ui():
	* glom/mode_design/layout/dialog_layout_list_related.cc: update_ui():
	* glom/mode_data/box_data_portal.cc: 
  get_has_suitable_record_to_view_details(), 
  get_has_suitable_record_to_view_details(): Adapted.

2011-09-27  Murray Cumming  <murrayc@murrayc.com>

	libglom::layout_field_should_have_navigation(): Return Relationship not bool.

	* glom/libglom/db_utils.[h|cc]: layout_field_should_have_navigation():
	Make field_used_in_relationship_to_one() be a Relationship so it can 
	be used for actual navigation.
	Also require that the LayoutItem_Field has full field information, instead 
	of updating it, so that it can be const.
	* glom/mode_data/datawidget/datawidget.cc: Constructor: Adapted.
	* glom/mode_data/box_data_details.cc: 
  on_flowtable_field_open_details_requested(): Use it here instead of the 
  copy/pasted code.

2011-09-27  Murray Cumming  <murrayc@murrayc.com>

	Add libglom::layout_field_should_have_navigation().

	* glom/mode_data/datawidget/datawidget.cc: Constructor: Moved decision code
	from here to here:
	* glom/libglom/db_utils.[h|cc]: Added layout_field_should_have_navigation().