1.18.1:

2011-04-04  Murray Cumming  <murrayc@murrayc.com>

	Require the latest mm-common and dist the mm-common scripts.

	* configure.ac: Add a MM_CONFIG_DOCTOOL_DIR() call so that the scripts will
	be distributed with the tarball, avoiding a runtime dependency on mm-common.

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

	A simpler way to avoid the PyDateTime_Check() crash.

	* glom/libglom/init.cc: libglom_init(): Remove the g_assert because this
	can fail: See bug #644702.
	* glom/libglom/python_embed/pygdavalue_conversions.cc:
	glom_pygda_value_as_boost_pyobject(): Check that the local re-import
	(hopefully cached by Python) succeeded, to avoid a crash in PyDateTime_Check().

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

	Reverted the previous commit to prevent a crash if PyDateTime_IMPORT fails.

	* glom/libglom/init.[h|cc]: Added libglom_pydatetime_import() and
	libglom_pydatetime_imported(). Remove the g_assert() when it fails.
	* glom/libglom/python_embed/pygdavalue_conversions.cc: Use the new
	utility function instead of repeating our reimplementation here.

	There will now just be an error message on stderr. We must fix this properly
	but in the meantime it is better than requiring the use of a separate glom
	branch just for OnlineGlom.
	See https://bugzilla.gnome.org/show_bug.cgi?id=644702

	This commit was reverted because we really must repeat the implementation
	everywhere, because the PyDateTime variable is declared in Python's datetime.h
	header, and the macros then try to use that local instance. The copy in
	init.cc is not available to callers.
	And we cannot include datetime.h from init.h because it is full of other
	problems that cause compiler warnings.

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

	libglom: Added utils::build_sql_select_count_rows().

	* glom/base_db.[h|cc]: Make count_rows_returned_by() take a const SqlBuilder.
	* glom/libglom/utils.[h|cc]: Move some of count_rows_returned_by() into a
	build_sql_select_count_rows() method, for the convenience of UIs such as
	OnlineGlom.
	Bug #645110 (Ben Konrath)

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

	ComboEntry: Really have an entry.

	* glom/mode_data/datawidget/comboentry.cc: Constructor: Pass true to the
	base constructor so that this Gtk::ComboBox really has an entry.
	This was a mistake while avoiding use of deprecated API in gtkmm 2.24.

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

	ComoboEntry: Check for a null Entry.

	* glom/mode_data/datawidget/comboentry.cc: Always check the result of
	Gtk::ComboBox::get_entry() for null before dereferencing it, to prevent a
	crash.
	However, this probably shouldn't happen, so I might investigate more.
  This fixes bug #645041 (Ben Konrath)

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

	Do not crash if PyDateTime_IMPORT fails.

	* glom/libglom/init.[h|cc]: Added libglom_pydatetime_import() and
	libglom_pydatetime_imported(). Remove the g_assert() when it fails.
	* glom/libglom/python_embed/pygdavalue_conversions.cc: Use the new
	utility function instead of repeating our reimplementation here.

	There will now just be an error message on stderr. We must fix this properly
	but in the meantime it is better than requiring the use of a separate glom
	branch just for OnlineGlom.
	See https://bugzilla.gnome.org/show_bug.cgi?id=644702

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

	Require the latest libgdamm, because we use its latest API.

	* configure.ac: Require libgdamm 4.1.2.

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

	Make glom-1.18 parallel-installable with glom-1.16

	* configure.ac: Increase the ABI version.
	* glom/python_embed/python_module/py_glom_module.cc: Load the correct
	python version.

	I forgot to do this before.

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

	Fix the build.

	* glom/libglom/init.cc: Add an include so we can use std::cerr.

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

	libglom_init(): Show the python exception when PyDateTime_IMPORT fails.

	* glom/libglom/init.cc: The linker seems to behave differently when this
	code is run from inside a JVM in OnlineGlom. This gives us a clue.

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

	Fix the CSV import test.

	* tests/import/test_parsing.cc: Correct the number of expected tokens.
	This was previously just the number that was (incorrectly) parsed before.

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

	CSV Import: Fix quoted-newline detection, so we don't drop rows.

	* glom/import_csv/csv_parser.[h|cc]: on_idle_parse(): Make in_quotes a
	member variable, initialized in clear(), so we remember it across calls to
	on_idle_parse(), instead of thinking that we are in quotes just because we
	are parsing arbitrary chunks of bytes that look that way individually.

	This fixes bug #637529 (Darmon Xavier), so all rows should be imported
	instead of dropping some in the middle.

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

	tests: Link to all necessary libraries.

	* Makefile_libglom.am: Define libglom_all_libs to avoid duplication.
	* Makefile_glom.am: Use libglom_all_libs instead of repeating.
	* Makefile_tests.am: Use libglom_all_libs to explicitly link against the
	dependencies of libglom. This seems to have been automatic with the linker in
	previous versions of Ubuntu, but not with Ubuntu Natty.

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

	Adapt to libgdamm API change.

	* glom/libglom/connectionpool.cc:
	* glom/libglom/db_utils.cc: Adapt to the libgdamm change to use vector
	instead of list.

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

	Avoid GTK+ warning when clicking on the list button.

	* glom/mode_data/db_adddel/db_adddel.[h|cc]: on_cell_button_clicked():
	Delay the response to the click, to an idle handler, to avoid confusing
	GtkTreeView, which was showing a warning with GTK+ 3 about a NULL GtkAdjustment.

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

	Adapt to the gtkmm 3 change to using vectors.

	* glom/mode_data/datawidget/cellrenderer_dblist.cc:
	* glom/mode_data/db_adddel/db_adddel.cc:
	* glom/mode_design/layout/dialog_choose_field.cc:
	* glom/mode_design/print_layouts/print_layout_toolbar_button.cc:
	* glom/mode_design/print_layouts/window_print_layout_edit.h:
	* glom/utility_widgets/imageglom.cc:
	* glom/utility_widgets/layouttoolbarbutton.cc: Use std::vector instead of
	std::list.
	* glom/dialog_existing_or_new.cc: This one even used the intermediate type
	directly, showing how necessary this API change was.

2011-01-18  Murray Cumming  <murrayc@murrayc.com>

	Disable more deprecated API.

	* configure.ac: Add PANGO, PANGOMM, and CAIRO to the list.

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

	Fix the build with gtkmm 2.23/24 with --enable-warnings=fatal.

  * configure.ac: Require the latest gtkmm-2.4 version.
	* 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_choose_user.cc:
	* glom/mode_design/users/dialog_users_list.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc: More use of the non-deprecated
	version of some methods.

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

	GimpRuler: Use the GTK+-2.0 version of this code.

	* glom/utility_widgets/gimpruler/gimpruler.[h|c]: Use the version of the code
	that builds with GTK+-2.0 rather than GTK+-3.0.

2010-09-02  Murray Cumming  <murrayc@murrayc.com>

	Fix the build with latest gtkmm.

	* glom/utility_widgets/flowtable.[h|cc]: on_expose_event(): Use
  Cairo for drawing instead of Gdk::GC, which no longer exists.

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

	Fix ComboBoxEntry removal.

	* glom/mode_data/datawidget/comboentry.cc:
	* glom/mode_design/comboentry_currency.cc:
	* glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidt
	h.[h|cc]:
	* glom/variablesmap.cc: Use only non-deprecated ComobBox API.

2010-01-27  Murray Cumming  <murrayc@murrayc.com>

	Replaced GtkRuler with GimpRuler because GtkRuler was removed from GTK 3.

	* glom/utility_widgets/gimpruler/: Added several source files from
	gimp, with small changes to make it build for us, to provide the GimpRuler
	widget.
	* COPYING: Switch to GPL version 3 (instead of 2), because the GIMP source
	code uses it.
	* Makefile_glom.am:
	* glom/glom_developer.glade:
	* glom/mode_design/print_layouts/window_print_layout_edit.[cc|cc]: Use
	GimpRuler instead of GtkRuler, creating and adding them in code instead of
	in the .glade file, to avoid Glade needing to know about that widget.

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

	Do not use deprecated Gtk::ComboBoxEntry.

	* glom/glom_developer.glade:
	* glom/mode_data/datawidget/comboentry.[h|cc]:
	* glom/mode_design/comboentry_currency.[h|cc]:
	* glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidt
	h.[h|cc]:
	* glom/variablesmap.[h|cc]: Replace use of (deprecated) Gtk::ComboboxEntry
	with ComboBox with has_entry=true.

This is the glom-1-18 branch, which uses gtkmm 2.24.

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

	Do not use deprecated Gtk::ComboBoxEntry.

	* glom/glom_developer.glade:
	* glom/mode_data/datawidget/comboentry.[h|cc]:
	* glom/mode_design/comboentry_currency.[h|cc]:
	* glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidt
	h.[h|cc]:
	* glom/variablesmap.[h|cc]: Replace use of (deprecated) Gtk::ComboboxEntry
	with ComboBox with has_entry=true.

This is the glom-1-18 branch, which uses gtkmm 2.24.

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

	get_current_locale(): Handle more complex setlocale(NULL) results.

	* glom/libglom/utils.cc: locale_simplify(): On Ubuntu Natty,
	setlocale() has started returning a more complex string. Parse it, or the
	older simpler syntax.

2010-12-15  Ben Konrath  <ben@bagu.org>

	Add Eclipse 3.6 / CDT 7.0 configuration files.

	* .cproject: New file generated by Eclipse.
	* .project: New file generated by Eclipse.

2010-12-13  Murray Cumming  <murrayc@murrayc.com>

	Correct my previous commit.

	* configure.ac: Correct the no/yes test for --enable-glom-ui and add a comma
	so it actually works.
	* Makefile_tests.am: Restore the source file lists for the python tests.

2010-12-13  Murray Cumming  <murrayc@murrayc.com>

	Allow libglom to be built without building the Glom UI code too.

	* configure.ac: Added an --enable-glom-ui option, defaulting to yes.
	When using --enable-glom-ui=no then only libglom will be built. This is
	useful for deployment of libglom to servers where the UI dependencies are not
	wanted.
	We still use GLOM_LIBS and GLOM_FLAGS even in libglom, instead of using
	LIBGLOM_LIBS and LIBGLOM_CFLAGS anywhere, but this does reduce duplication
	of the flags in glom's UI build.
	* Makefile.am: Do not include Makefile_glom.am if the UI should not be built.
	* Makefile_glom.am: Move the bin_programs definition to here.
	* Makefile_libglom.am: Move the LTLIBRARIES definitions to here.
	* Makefile_tests.am: Attempt, unsuccessfully, to build and run UI-dependent
	tests only when the UI was built, when running make check.

1.16.2:

2010-11-25  Murray Cumming  <murrayc@murrayc.com>

	Fix the build after a cherry-pick that I had not checked properly.

	* glom/utility_widgets/db_adddel/db_adddel.cc: Constructor: Reorder the
	member variables in the initializer to avoid a warning, fixing the build
	with --enable-warnings=fatal.
	on_idle_treeview_cell_edited_revert(): Use the gtkmm-2.4 API
	(get_first_cell_renderer) instead of gtkmm-3.0 API (get_first_cell).
	I have also added get_first_cell() to gtkmm 2.23/24 to avoid the problem
	in future.

2010-11-12  Murray Cumming  <murrayc@murrayc.com>

	CSV Import: Actually preview and import the field values.

	* glom/import_csv/csv_parser.cc: advance_field(): Remove an excess continue,
	so that we actually add the character to the field's text. This error
	was probably introduced while removing the non-exceptions ifdefs.
	This fixed bug #625693 (maximiliano).

	We really must fix those import unit tests so that something like this does
	not happen again.

2010-11-11  Murray Cumming  <murrayc@murrayc.com>

	List view: Make the retry option actually work afer entering invalid data.

	* glom/mode_data/db_adddel/db_adddel.[h|cc]: on_treeview_cell_edited():
	If the user chooses to retry the edit, remember what he entered, and restart
	the editing (in an idle handler, to avoid confusing the treeview), with
	that text.
	This fixes bug #167818

2010-11-04  Murray Cumming  <murrayc@murrayc.com>

	Remove the gconfmm dependency, because we don't use it.

	* configure.ac: Do not check for gconfmm.
	* glom/bakery/app_withdoc.cc: Do not include gconfmm.h.

1.16.1:

2010-10-19  Murray Cumming  <murrayc@murrayc.com>

	Python module: Use _ instead of . in the .so file name.

	* Makefile.am: This was broken by the commit on 2010-09-10.
	* tests/test_load_python_library.cc: Use the variable instead of hard-coding.

1.16.0:

2010-10-18  Murray Cumming  <murrayc@murrayc.com>>

	Tests: Fix a typo to fix make check.

	* tests/test_load_python_library.cc: Fix a typo to properly load the
  correct library name.

2010-10-18  Murray Cumming  <murrayc@murrayc.com>

	Fix the build.

	* glom/mode_data/flowtablewithfields.cc: Use Gtk::AlignmentEnum instead of
  Gtk::Align because this is for gtkmm 2.22, not gtkmm 3.

2010-09-15  Murray Cumming  <murrayc@murrayc.com>

	Replace use of ALIGN_LEFT/RIGHT/TOP/BOTTOM with START/END.

	* glom/mode_data/flowtablewithfields.cc:
	* glom/print_layout/canvas_layout_item.cc: Use only the non-deprecated
	enum values.

2010-10-14  Murray Cumming  <murrayc@murrayc.com>

	Build fixes after recent commits.

	* glom/libglom/db_utils.cc:
	* glom/libglom/utils.cc:
	* glom/mode_data/datawidget/cellrenderer_dblist.cc: Added back some
  includes of iostream and fix a size type.

2010-10-11  David King  <davidk@openismus.com>

	Change some uses of long to more appropriate types

	* glom/libglom/python_embed/py_glom_record.[cc|h]:
	* glom/libglom/python_embed/py_glom_related.[cc|h]:
	* glom/libglom/python_embed/py_glom_relatedrecord.[cc|h]:
	* glom/libglom/utils.cc:
	* glom/utility_widgets/db_addel/glom_db_treemodel.cc:
	* glom/utils_ui.cc: Use other types than long where appropriate.

2010-10-11  David King  <davidk@openismus.com>

	Use array notation where appropriate

	* glom/dialog_connection.[cc|h]:
	* glom/dialog_existing_or_new.[cc|h]:
	* glom/dialog_invalid_data.[cc|h]:
	* glom/libglom/connectionpool_backends/backend.cc:
	* glom/libglom/connectionpool_backends/postgres.cc:
	* glom/libglom/connectionpool_backends/postgres_self.cc:
	* glom/libglom/connectionpool_backends/sqlite.cc:
	* glom/utils_ui.cc: Use array notation when initializing constant
	character arrays.

2010-10-11  David King  <davidk@openismus.com>

	Use unsigned integers where appropriate

	* glom/libglom/connectionpool_backends/postgres.[cc|h]:
	* glom/libglom/connectionpool_backends/postgres_central.[cc|h]:
	* glom/libglom/connectionpool_backends/postgres_self.[cc|h]:
	* glom/libglom/data_structure/glomconversions.[cc|h]:
	* glom/libglom/document/document.[cc|h]: Use unsigned integers where
	the variable cannot be negative.

2010-10-08  David King  <davidk@openismus.com>

	Remove some unnecessary includes

	* glom/bakery/app.h:
	* glom/base_db_table.h:
	* glom/base_db_table_data.h:
	* glom/box_db_table.h:
	* glom/libglom/sharedptr.h:
	* glom/mode_design/fields/combo_fieldtype.h:
	* glom/mode_design/relationships_overview/
	  dialog_relationships_overview.cc: Remove some unnecessary includes.

	* glom/bakery/app_withdoc_gtk.cc:
	* glom/base_db_table_data.cc:
	* glom/glom_privs.cc:
	* glom/import_csv/csv_parser.cc:
	* glom/import_csv/dialog_import_csv.cc:
	* glom/import_csv/dialog_import_csv_progress.cc:
	* glom/libglom/connectionpool.cc:
	* glom/libglom/connectionpool_backends/postgres.cc:
	* glom/libglom/connectionpool_backends/postgres_self.cc:
	* glom/libglom/connectionpool_backends/sqlite.cc:
	* glom/libglom/data_structure/field.cc:
	* glom/libglom/document/bakery/document.cc:
	* glom/libglom/document/bakery/document_xml.cc:
	* glom/libglom/document/document.cc:
	* glom/libglom/python_embed/py_glom_record.cc:
	* glom/mode_data/notebook_data.cc:
	* glom/mode_design/dialog_database_preferences.cc:
	* glom/mode_design/iso_codes.cc:
	* glom/mode_design/layout/combobox_fields.cc:
	* glom/mode_design/layout/dialog_layout_calendar_related.cc:
	* glom/mode_design/layout/dialog_layout_list_related.cc:
	* glom/mode_design/print_layouts/window_print_layout_edit.cc:
	* glom/mode_design/translation/combobox_locale.cc:
	* glom/mode_design/translation/dialog_identify_original.cc:
	* glom/navigation/box_tables.cc:
	* glom/print_layout/canvas_layout_item.cc:
	* glom/python_embed/glom_python.cc:
	* glom/utility_widgets/flowtable_dnd.cc:
	* glom/utility_widgets/layoutwidgetmenu.cc:
	* glom/utility_widgets/notebooklabelglom.cc: Add iostream include.

2010-10-05  David King  <davidk@openismus.com>

	Avoid uninitialized variables in CanvasGroupGrid

	* glom/utility_widgets/canvas/canvas_group_grid.cc: Initialize
	variables at declaration.

2010-10-04  Jon Nordby  <jonn@openismus.com>

	Set programming language explicitly around --enable-warnings macros

	* configure.ac:

2010-09-10  David King  <davidk@openismus.com>

	Use GLOM_ABI_VERSION where possible

	* Makefile.am:
	* Makefile_libglom.am:
	* configure.ac: Use GLOM_ABI_VERSION to avoid duplication.
	* glom/libglom/glom-1.16.pc.in: Move to unversioned
	glom/libglom/glom.pc.in, which will be moved to a versioned file by
	configure.

2010-09-10  Murray Cumming  <murrayc@murrayc.com>

	Use libosso instead of libossomm on Maemo

	* configure.ac:
	* glom/main.cc: Use libosso instead of libossomm, because we just use
	one function.

2010-08-31  Murray Cumming  <murrayc@murrayc.com>

	Avoid use of deprecated gdkmm API.

	* configure.ac: MM_ARG_ENABLE_WARNINGS(): Added GDKMM to the list of
  deprecation warnings.

2010-08-31  Murray Cumming  <murrayc@murrayc.com>

	Catch Gnome::Gda::ConfigError exceptions.

	* glom/libglom/connectionpool_backends/postgres.cc:
	* glom/libglom/connectionpool_backends/sqlite.cc: Output to stderr when
  we get ConfigError exceptions. This is informative when the tests fail
  because of missing libgda providers. Note that this won't happen in the UI
  because we test for the providers at startup.

2010-08-10  Murray Cumming  <murrayc@murrayc.com>

	Catch exceptions from std::locale::global().

	* glom/main.cc: Put a try/catch around the call to std::locale::global(),
  because it is throwing on at least one system under apparently normal
  circumstances.
  This should fix bug #619445 (teidooricaerak) or at least give us another clue.

2010-08-19  David King  <davidk@openismus.com>

	Include the correct config.h

	* glom/application.cc:
	* glom/bakery/app_withdoc.cc:
	* glom/bakery/app_withdoc_gtk.cc:
	* glom/bakery/app_withdoc_gtk.h:
	* glom/bakery/dialog_offersave.cc:
	* glom/bakery/dialog_offersave.h:
	* glom/libglom/connectionpool_backends/postgres.cc:
	* glom/libglom/document/bakery/document.cc:
	* glom/libglom/gst-package.c:
	* glom/main.cc:
	* glom/mode_design/translation/window_translations.cc:
	* glom/python_embed/glom_python.cc:
	* glom/python_embed/python_module/py_glom_module.cc:
	* glom/utils_ui.cc: Be sure to include the local config.h.

2010-08-10  Murray Cumming  <murrayc@murrayc.com>

	SpinButtons: Don't have 0 to 0 ranges with only 0 increments possible.

	* glom/import_csv/dialog_import_csv.cc: (Import dialog)
	* glom/mode_design/layout/layout_item_dialogs/box_formatting.cc:
  (Multiline text field height)
	* glom/utility_widgets/dialog_flowtable.cc: (number of columns in a group):
  Constructors: Set the range and increment manually, because Glade defaults
  to useless 0 values for these.
  This problem was introduced when we remove the extra adjustment objects
  from the .glade files, so we could simplify our use of Glade.
  It is a side-effect of GtkBuilder bug
  http://bugzilla.gnome.org/show_bug.cgi?id=575714
  This partially fixes bug #625693 (.cvs file import not working).

2010-08-09  Murray Cumming  <murrayc@murrayc.com>

	test_document_autosave: Change the temp filename to avoid a clash.

	* tests/test_document_autosave.cc: Rename the file because we sometimes
  seem to clash with a directory of the same name.

2010-08-10  Murray Cumming  <murrayc@murrayc.com>

	Catch exceptions from std::locale::global().

	* glom/main.cc: Put a try/catch around the call to std::locale::global(),
  because it is throwing on at least one system under apparently normal
  circumstances.
  This should fix bug #619445 (teidooricaerak) or at least give us another clue.

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

	Fix the tests.

	* tests/test_selfhosting_new_empty.cc:
	* tests/test_selfhosting_new_from_example.cc: Adapt to the recent
  change return type of ConnectionPool::startup().

1.15.2:

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

	FieldFormatting: Default to show-all for related choices.

	* glom/libglom/data_structure/layout/fieldformatting.cc:

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

	Formatting: Add get_choices_related() overload to reduce copy/pasted code.

	* glom/libglom/data_structure/layout/fieldformatting.[h|cc]:
  Added a get_choices_related() overload that returns the LayoutItem_Fields
  instead of just the field names. This reduces the copy/pasted code in the
  callers, and makes it easier to support related fields in future.
	* glom/libglom/utils.[h|cc]:
	* glom/mode_data/datawidget/combochoices.[h|cc]:
	* glom/utility_widgets/db_adddel/db_adddel.cc: Adapted and made necessary
  const corrections.

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

	Choices: Fix !show-all lists.

	* glom/mode_data/datawidget/combochoices.[h|cc]:
  refresh_data_from_database_with_foreign_key(): Add a document parameter,
  used to update the cached choices information if necessary.
	* glom/mode_data/flowtablewithfields.cc: set_field_value(): Adapted.

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

	Document loading: Show an error dialog even for unexpected errors.

	* glom/application.cc: on_document_load(): Don't just fail silently when
  there is an unexpected error, for instance if the postgres data directory
  is missing.

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

	Utils::get_choice_values(): Reduce copy/pasted code.

	* glom/libglom/utils.[h|cc]: build_sql_select_with_key(): Add a sort_clause
  parameter.
  get_choice_values(field): Rename this to get_choice_values_all() and change
  the implementation to just call the other get_choice_values(). Add
  a Document* parameter so we can do that.
  get_choice_values(document, field, ...): Sort the list by the first field.
  This should probably be an option in the developer-mode UI.
	* glom/mode_data/datawidget/combo.h:
	* glom/mode_data/datawidget/combochoices.[h|cc]:
	* glom/mode_data/datawidget/comboentry.h:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
  get_choice_values(): Adapt to the change, by adding a Document* parameter.
	* glom/base_db.cc: Adapt.

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

	DbAddDel: Avoid some copy/pasting of code to append items to choices cells.

	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]: Added set_cell_choices(),
  using it in refresh_cell_choices_data_from_database_with_foreign_key() and
  construct_specified_columns_cellrenderer().

2010-08-06  David King  <davidk@openismus.com>

	Minor build system cleanup

	* configure.ac: Drop unnecessary AC_DISABLE_STATIC. Use AS_IF rather
	than shell if...fi. Add a TODO.
	* Makefile.am:
	* Makefile_tests.am: Take advantage of dependencies to reduce
	duplication of linker flags.

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

	List: Choices with !show_all: Update the list when the from_field changes.

	* glom/libglom/utils.[h|cc]: Added a get_choice_values() overload that
	takes the foreign_key.
	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]: Added get_choice_index()
	to get the affected choice lists when a field value changes.
	Added refresh_cell_choices_data_from_database_with_foreign_key() to update
	these lists.
	set_value(): Use these methods to update choice lists when appropriate,
	as already happens in the Details view.

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

	List view: When a value is edited, update other instances of the same field.

	* glom/utility_widgets/db_adddel/db_adddel.[h|cc]:
	get_data_model_column_index(): Add a including_specified_field_layout bool
	parameter, used in a new set_value() method overload that has a
	set_specified_field_layout bool parameter.
	user_changed(): Call set_value() to show the new value in any other
	instances of the same field.
	The details view already does this.

2010-08-04  Murray Cumming  <murrayc@murrayc.com>>

	Simplified some code.

	* glom/mode_data/flowtablewithfields.[h|cc]: set_value(), set_other_value():
  Avoid copy/pasting of the code.

2010-08-04  Murray Cumming  <murrayc@murrayc.com>

	Details: Choices with !show_all: Update the list when the from_field changes.

	* glom/libglom/data_structure/layout/fieldformatting.[h|cc]: Renamed
	set/get_choices() to set/get_choices_related().
	* glom/libglom/utils.cc:
	* glom/libglom/document/document.cc:
	* glom/mode_design/layout/layout_item_dialogs/box_formatting.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc: Adapted.

	* glom/mode_data/datawidget/combochoices.[h|cc]: Remove the non-default
	constructor that took a second field.
	Move set_choices_with_second() to private.
	Add set_choices_related() and matching member variables.
	Add refresh_data_from_database_with_foreign_key(), like the one in
	Box_Data_RelatedRecords, which gets the related values and calls
	set_choices_with_second().
	* glom/mode_data/datawidget/combo.[h|cc]:
	* glom/mode_data/datawidget/combo_as_radio_buttons.[h|cc]:
	* glom/mode_data/datawidget/combochoiceswithtreemodel.[h|cc]:
	* glom/mode_data/datawidget/comboentry.[h|cc]: Adapt to the changed
	ComboChoices base API.
	* glom/mode_data/datawidget/datawidget.cc:
	create_combo_widget_for_field(): Do not take the second field as a parameter,
	because that is now specified later.
	Constructor: Simplify the code now that ComboChoices does more of the work.
	* glom/mode_data/flowtablewithfields.cc: set_field_value(),
	set_other_field_value(): Call refresh_data_from_database_with_foreign_key() on
	the choice widgets as they already does on the portals, to refresh the list of
	possible values.

2010-08-02  Murray Cumming  <murrayc@murrayc.com>

	FlowTableWithFields: Added get_choices_widgets(from_field).

	* glom/mode_data/datawidget/datawidget.cc: Constructor: Only fill the
	choices list at this point if show_all is set.
	* glom/mode_data/flowtablewithfields.[h|cc]: Addef get_choices_widgets(),
	like the existing get_portals() methods.

2010-08-02  Murray Cumming  <murrayc@murrayc.com>

	Field Formatting: Related Choices: Add a Show All checkbox.

	* glom/glom_developer.glade:
	* glom/libglom/data_structure/layout/fieldformatting.[h|cc]:
	* glom/mode_design/layout/layout_item_dialogs/box_formatting.[h|cc]:
	Add a Show All checkbox to the Related Choices section, so the developer
	may choose to restrict the choices depending on the relationship. The default
	(the previous behaviour) is to show all records from the related table.
	* glom/libglom/document/document.cc: save_before_layout_item_formatting(),
	save_after_layout_item_formatting(): Store the new bool in the document.
	* glom/libglom/utils.cc:
	* glom/mode_data/datawidget/datawidget.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc: Adapt the code to build, though
	the behaviour has not changed yet.

2010-07-27  Murray Cumming  <murrayc@murrayc.com>

	Fix the tests build after the merge.

	* tests/test_selfhosting_new_empty.cc: Fix the use of Utils::.

2010-07-27  Murray Cumming  <murrayc@murrayc.com>

	Rename libglom-1.14 to libglom-1.16 (parallel-installable)

	* configure.ac: Change the GLOM_ABI_VERSION number.
	* Makefile.am:
	* Makefile_libglom.am:
	* docs/pyglom_reference/Makefile.am:
	* docs/pyglom_reference/index.rst.in:
	* glom/libglom/init.h:
	* glom/python_embed/python_module/py_glom_module.cc:
	* tests/test_load_python_library.cc:
	* win32/build-installer:
	* win32/glom.iss.in: Change mentions of 1.14 to 1.16.

2010-07-25  Murray Cumming  <murrayc@murrayc.com>

	Allow unique fields with same name in multiple tables.

	* glom/libglom/connectionpool_backends/postgres.cc:
	change_column(): Prefix the table name to the constraint name when
	setting/removing the unique-key constraint, as libgda (or PostgreSQL)
	seems to do when creating a field. This prevents a clash when two tables
	have the same field name, and both should be unique.
	This is nasty code anyway that I would rather have in libgda.
	This fixes bug #625192 (fmyhr).

2010-07-22  Murray Cumming  <murrayc@murrayc.com>

	Added --restore command-line option.

	* glom/application.[h|cc]: Added init() with a bool restore option,
  calling do_backup_restore() if appropriate.
	* glom/main.cc: Added a --restore command and pass the bool result to
  Application::init().

  This allows the user to restore from a backup without first loading an
  existing file, though this is so far only possible via the terminal.

2010-07-22  Murray Cumming  <murrayc@murrayc.com>

  Added Developer/Restore Backup menu item.

	* glom/application.[h.cc]: Added a Developer/Restore Backup menu item,
  which lets the user choose a .tar.gz, untars it in /tmp/ and opens it.

	* tests/test_selfhosting_new_empty.cc:
	* glom/libglom/utils.[h|cc]: Move delete_directory() to Utils.
  Added get_directory_child_with_suffix(), used to find the .glom file inside
  an untarred directory.

2010-07-22  Murray Cumming  <murrayc@murrayc.com>

	Saving from a backup: Now works.

	* glom/application.[h|cc]: on_document_load(): Simplify the code to
  create from a backup, modifying the from-example code to handle it too,
  calling a new recreate_database_from_backup() method.
  That now creates the database and then adds the groups before trying
  to restore from the backup file.
	* glom/libglom/connectionpool_backends/backend.h: convert_backup():
	* glom/libglom/connectionpool_backends/postgres.[h|cc]: convert_backup():
	* glom/libglom/connectionpool_backends/sqlite.[h|cc]: convert_backup():
  Add a database_name_parameter. This now expects the database to exist
  already, though it should be empty. It should also already have the
  expected groups.
	* glom/libglom/connectionpool.[h|cc]: convert_backup(): Supply the
  database name. Also update the meta data so we know about the new tables.

2010-07-21  Murray Cumming  <murrayc@murrayc.com>

	Small Business example: Add table privileges.

	* examples/example_smallbusiness.glom: Give some privileges to the
    accounts and personnel groups and resave-as-an-example. These were
    probably lost some time.

2010-07-21  Murray Cumming  <murrayc@murrayc.com>>

	Saving as example: Fix this.

	* glom/libglom/document/document.cc: set_modified(): Actually use
    m_allow_auto_save so we don't just save every time, overwriting
    previous saves. For instance, the examples were saved with is_example=false
    after the document was changed back.

2010-07-21  Murray Cumming  <murrayc@murrayc.com>>

	Saving from examples: Set the table privileges mentioned in the document.

	* glom/base_db.[h|cc]: Added set_table_privileges_groups_from_document().
	* glom/application.cc: recreate_database_from_example(): call it.

2010-07-21  Murray Cumming  <murrayc@murrayc.com>

	Saving from examples: Create the groups mentioned in the document.

	* glom/base_db.[h|cc]: Added add_groups_from_document().
	* glom/application.cc: recreate_database_from_example(): call it.

2010-07-20  Murray Cumming  <murrayc@murrayc.com>>

	Fixed warnings with latest gtkmm-2.24

	* glom/mode_data/notebook_data.cc:
	* glom/mode_find/notebook_find.cc: Use Gtk::Notebook::append_page()
    instead of Gtk::Notebook::pages().push_back().

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

	Fixed warnings, even with the latest gtkmm-2.24.

	Many files: Try to include box.h or dialog.h before other treemodel.h.
    Sometimes just add a gtkmm.h to simplify things. This will not be necessary
    with gtkmm-3.0 (in glom's master branch).

2010-07-07  Murray Cumming  <murrayc@murrayc-desktop>

	PostgresQL backups: Suggest a dated name.

	* glom/application.cc: on_menu_developer_export_backup(): Suggest
    a directory name based on the current name and the date/time.
    Also use the directory name for the .glom filename, as we usually would do,
    instead of calling it just backup.glom.

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

	PostgreSQL backups: Archive the directory in a .tar.gz..

	* configure.ac: Check for the tar and gzip executables.
	* glom/application.cc: on_menu_developer_export_backup(): Use tar
    via the command line, to put it all in a .tar.gz, so it is self-contained.

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

	PostgreSQL backups: Use .pgpass.

	* glom/libglom/connectionpool_backends/postgres.[h|cc]:
	* glom/libglom/connectionpool_backends/postgres_self.[h|cc]:
    Move create_text_file() from PostgresSelf to Postgres and add an
    only_for_current_user bool parameter, so we can use it in a
    new save_password_to_pgpass() method.
    save_backup(), convert_backup(): Temporarily store the password in
    ~/.pgpass, so pg_dump and pg_restore actually work.

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

	Show progress in the UI during backup saving and restoring.

	* glom/application.[h|cc]: on_document_load(),
    on_menu_developer_export_backup(): Show a pulsing progress dialog while
    waiting for backup exporting and restoring.
    on_menu_developer_export_backup(): Close the file chooser dialog as soon
    as we stop using it.

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

	Improve backup saving and add backup restoring.

	* glom/libglom/document/document.[h|cc]: Added get/set_is_backup_file(),
	saved in the XML document..
  on_menu_developer_export_backup(): Mark the .glom file as a backup file.
	Rename recreate_database() to recreate_database_from_example().
	on_document_load(): Handle backup .glom files similarly to examples files,
	but using the backup file instead of example data.
	* glom/frame_glom.cc:
	* glom/libglom/connection_pool.[h|cc]:
	* glom/libglom/connectionpool_backends/backend.[h|cc]: startup(): Return a
	StartupErrors enum, to provide more clues, for instance to say that backup
	data was found.
	Add get/set_database_directory_uri(), replacing the one in sqlite.[h|cc] and
	replacing set_self_hosting_data_uri() in postgres_self.[hc|cc].
	save_backup(): Don't take a filepath - use get_database_directory_uri()
	instead.
	Added convert_backup() to restore from a backup.
	* glom/libglom/connectionpool_backends/sqlite.[h|cc]:
	* glom/libglom/connectionpool_backends/postgres.[h|cc]:
	get_path_to_postgres_executable(): Catch exceptions from Glib::build_filename().
	save_backup(): Use --format=c with pg_dump, because the default one can't be
	used with pg_restore.
	Implement convert_backup(), using pg_restore.
	Added get_self_hosting_config_path(), get_self_hosting_data_path() and
	get_self_hosting_backup_path() to avoid copy/pasting magic paths.
	* glom/libglom/connectionpool_backends/postgres_self.[h|cc]:
	Adapted.
	* glom/application.[h|cc]:
	* tests/test_selfhosting_new_empty.cc: Adapted to check the enum result from
	startup().

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

	Document: Avoid a crash when creating the parent directory.

	* glom/libglom/docment/bakery/document.cc: write_to_disk(): Check the
	result of Gio::File::get_parent() for null, because that happens if we
	provide a path instead of a URI.

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

	Save as Example: Reset the old file URI and allow auto-saving again.

	* glom/application.cc: on_menu_file_save_as_example(): reset the old file
	URI and turn auto-saving back on again, because it makes no sense to leave
	the user editing an example document. This is really an export anyway.
	This allows the user to close the window again after saving as an example.

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

	Add Save Backup menu item.

	* glom/libglom/connectionpool_backends/backend.[h|cc]:
	* glom/libglom/connectionpool_backends/posgres.[h|cc]:
	* glom/libglom/connectionpool_backends/sqlite.[h|cc]: Added save_backup()
	virtual method, using pg_dump for PostgreSQL.
	* glom/libglom/connectionpool.[h|cc]: Add save_backup() here, calling the
	backend.
	* glom/application.cc: Add a Developer/Export Backup menu item, to use
	this feature. This also saves the .glom file.

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

	Spawn functions: Catch some exceptions.

	* glom/libglom/spawn_with_feedback.cc():
	execute_command_line(), execute_command_line_and_wait(): Catch exceptions
	so that these functions don't throw, simplifying caller code. For instance,
	a command may be malformed and rejected by the shell.

2010-06-29  Murray Cumming  <murrayc@murrayc.com>

	* glom/application.[h|cc]: Developer menu: Added an Export Backup menu item.

	* glom/libglom/connectionpool_backends/postgres_central.[h|cc]:
	* glom/libglom/connectionpool_backends/postgres_self.[h|cc]: Moved
    m_host and m_port into the base class:
	* glom/libglom/connectionpool_backends/postgres.[h|cc]:
    because they are used in both derived classes. Therefore remove port
    parameter from attempt_connect().
    Also move get_path_to_postgres_executable() and port_as_string() there
    so they can be used in the base class.

2010-06-29  Murray Cumming  <murrayc@murrayc.com>

	Improve stderr message.

	* glom/libglom/spawn_with_feedback.cc:
    execute_command_line_and_wait_until_second_command_returns_success():
    Correct the error message when a command (such as postgres) fails. As
    noticed in bug #617504.

2010-06-21  David King  <amigadave@amigadave.com>

	Explicitly link with libdl for Python module loading test

	* Makefile_tests.am: Do not rely on libdl being a dependency of a
	library in LIBGLOM_LIBS, by linking with it explicitly.

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

	Use Gnome::Gda::SqlBuilder::Id

	* glom/base_db.cc:
	* glom/libglom/python_embed/py_glom_relatedrecord.cc:
	* glom/libglom/utils.cc:
	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: Use the typedef
	instead of guint. It is very lengthy, but it is correct.

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

	Use SqlBuilder::add_field_id() to avoid ambiguity.

	* glom/base_db.cc:
	* glom/base_db_table_data.cc:
	* glom/libglom/db_utils.cc:
	* glom/libglom/privs.cc:
	* glom/libglom/python_embed/py_glom_record.cc:
	* glom/libglom/python_embed/py_glom_relatedrecord.cc:
	* glom/libglom/utils.cc:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data_calendar_related.cc:
	* glom/mode_data/box_data_portal.cc:
	* glom/mode_design/dialog_database_preferences.cc:
	* glom/mode_design/fields/box_db_table_definition.cc:
	* glom/report_builder.cc: Replace use of add_id() with the new add_field_id(),
	which lets us specify the table too.

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>

	* glom/libglom/utils.cc: build_sql_select_with_where_clause(): Fix a crash.

2010-05-25  Murray Cumming  <murrayc@murrayc.com>

	libglom: Utils: Avoid SQL strings for extra_join for doubly-related records.

	* glom/libglom/data_structure/foundset.[h|cc]: Remove the extra_group_by
	member variable.
	* glom/base_db.cc: set_found_set_where_clause_for_portal(): Do not create
	the SQL GROUP BY string here.
	* glom/libglom/utils.[h|cc]: build_sql_select_with_where_clause(): Remove
	the extra_group_by parameter, instead grouping by all fields if there is
	an extra_join_by, because there is a 1-to-1 correlation.
	Also take extra_join as a Relationship instead of a SQL JOIN string, and
	reuse the existing code to define a join from a relationship.
	* glom/frame_glom.cc:
	* glom/libglom/data_structure/foundset.cc:
	* glom/libglom/data_structure/foundset.h:
	* glom/libglom/utils.cc:
	* glom/libglom/utils.h:
	* glom/mode_data/box_data_calendar_related.cc:
	* glom/print_layout/canvas_print_layout.cc:
	* glom/report_builder.cc:
	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: Adapt.

2010-05-25  Murray Cumming  <murrayc@murrayc.com>

	Document: get_field_used_in_relationship_to_one(): const correction.

	* glom/libglom/document/document.[h|cc]:
	get_field_used_in_relationship_to_one(): Make the relationship parameter
	const and adapt other code.

2010-05-25  Murray Cumming  <murrayc@murrayc.com>

	libglom: build_sql_select_add_fields_to_get(): Define joins here.

	* glom/libglom/data_structure/layout/usesrelationship.[h|cc]:
	Remove add_sql_join_alias_definition(), moving its code into
	Utils::build_sql_select_add_fields_to_get() because that was the only code
	that called it.
	get/set_relationship(), get/set_related_relationship(): const corrections.
	* several files: Adapt to const corrections.

2010-05-24  Murray Cumming  <murrayc@murrayc.com>

	UsesRelationship: Correct use of SqlBuilder for related relationships.

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

	Remove unnecessary gtk C includes.

	* glom/application.cc:
	* glom/bakery/app_withdoc_gtk.cc:
	* glom/libglom/data_structure/print_layout.cc:
	* glom/libglom/document/document.cc:
	* glom/libglom/gst-package.c:
	* glom/mode_design/comboentry_currency.cc:
	* glom/mode_design/fields/combo_fieldtype.cc:
	* glom/mode_design/layout/combobox_fields.cc:
	* glom/mode_design/layout/combobox_relationship.cc:
	* glom/mode_design/layout/layout_item_dialogs/combo_summarytype.cc:
	* glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.cc:
	* glom/mode_design/print_layouts/print_layout_toolbar.cc:
	* glom/mode_design/translation/combobox_locale.cc:
	* glom/utility_widgets/cellrendererlist/cellrendererlist.cc:
	* glom/utility_widgets/combo_textglade.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.cc:
	* glom/utility_widgets/flowtable.cc:
	* glom/utility_widgets/layouttoolbar.cc:
	* glom/xsl_utils.cc: Remove now-unnecessary gtk+/gtk* includes,
	replacing some with use of C++ API. These caused warnings due to GSEAL.

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

	Configure: Remove checks for libegg dependencies, because we don't use it.

	* configure.ac: We don't build libegg code here any more.

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

	Remove the avahi-ui dependency because we don't use it any more.

	* configure.ac: Don't check for avahi-ui.
	* glom/application.cc: Don't include avahi-ui.h

1.14.2:

2010-05-02  Murray Cumming  <murrayc@murrayc-x61>

	Python calculations: Really convert to expected types.

	* glom/libglom/data_structure/glomconversions.cc:
	get_double_for_gda_value_numeric(): Handle all numeric GTypes - not just
	G_TYPE_INT..
	convert_value(): Remove the special case for G_TYPE_INT (now handled in
	get_double_for_gda_value_numeric instead). Make sure that all numeric GTypes
	are converted to GDA_TYPE_NUMERIC, making it easier for callers to check.

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

	Add test of type conversion after python calculations.

	* Makefile_tests.am:
	* tests/test_python_execute_func_change_result_type.cc: Add a test that
	calls a python function that returns a number, for a text field, to
	check that the conversion is done.

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

	Python scripts and calculations: Test buttons now show python errors.

	* glom/libglom/data_structure/layout/usesrelationship.cc:
	add_sql_join_alias_definition(): Correct the join definition for
	related relationships.

2010-05-21  Murray Cumming  <murrayc@murrayc.com>

	UsesRelationship: Use SqlBuilder::select_add_target() with the join.

	* glom/libglom/data_structure/layout/usesrelationship.cc:
    add_sql_join_alias_definition(): Use select_add_target() instead of
    add_id() with the join's first target, to avoid the warning about an
    unknown ID, though we now get a warning about unimplmented code in libgda,
    which I emailed the gnome-db mailing list about.

2010-05-21  Murray Cumming  <murrayc@murrayc.com>

	Really replace the last non-users string-based SQL query.

	* glom/libglom/db_utils.cc:
    get_database_preferences(): Add a missing call to select_add_target().
    insert_example_data(): Use SqlBuilder.

2010-05-14  Daniel Borgmann  <danielb@openismus.com>

	Fix position of "Records / Found" labels.

	* glom/glom.glade: Make sure "Records: X Found: X" appears in the right
	order.

2010-05-14  Daniel Borgmann  <danielb@openismus.com>

	Fix a crash when using find mode.

	* glom/application.cc: Don't access m_action_mode_data.
	* glom/application.h: Remove m_action_mode_data.

2010-05-12  Daniel Borgmann  <danielb@openismus.com>

	Don't allow deleting placeholder rows.

	* glom/utility_widgets/db_adddel/db_adddel.cc: Don't allow deleting a
	placeholder row (which leads to broken behaviour).

2010-05-20  Murray Cumming  <murrayc@murrayc.com>

    Correct use of SQL functions with SqlBuilder.

	* glom/base_db.cc: count_rows_returned_by(): Use SqlBuilder::add_field_id()
    so the function is really used. And add a target alias. This now works.
	* glom/libglom/python_embed/py_glom_relatedrecord.cc: generic_aggregate()
	* glom/libglom/utils.cc: build_sql_select_add_fields_to_get():
	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc: get_record_counts():
    Use add_field_id() when adding a function to SqlBuilder, so it is
    really used.

2010-05-19  Murray Cumming  <murrayc@murrayc.com>

	More use of SqlBuilder. Almost finished.

	* glom/base_db.cc:
	* glom/libglom/data_structure/layout/usesrelationship.[h|cc]:
    Change get_sql_join_alias_definition() to get_sql_join_alias_definition().
	* glom/libglom/db_utils.[h|cc]: query_execute_select(): Add an optional
    use_cursor bool to use the non-random database access.
	* glom/libglom/utils.[h|cc]: Change build_sql_select_fields_to_get() to
    build_sql_select_add_fields_to_get().
    build_sql_select_with_where_clause(): Use SqlBuilder.
	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
    refresh_from_database(): Use DbUtils::query_execute_select(), to simplify
    the code. This is possible now that the function is not in BaseDB.

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

	DbUtils: Catch SqlError exception.

	* glom/libglom/db_utils.cc: query_execute_select(), query_execute_select():
	Catch SqlError too, as this seems to be thrown too.

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

	DbUtils::query_execute(): Remove params parameter.

	* glom/libglom/db_utils.[h|cc]: query_execute(): Remove the unused params
	parameter.

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

	Use SqlBuilder in all possible remaining places.

	* glom/libglom/db_utils.[h|cc]: Renamed query_execute(string) to
	query_execute_string() so we catch uses of it that could use SqlBuilder.

	* glom/base_db.cc: Replaced some INSERT and DELETE string sql queries
	with SqlBuilder.
	* glom/base_db_table_data.cc:
	* glom/libglom/db_utils.cc:
	* glom/libglom/db_utils.h:
	* glom/libglom/privs.cc:
	* glom/mode_design/users/dialog_groups_list.cc:
	* glom/mode_design/users/dialog_users_list.cc:
	* glom/navigation/box_tables.cc: Adapt.

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

	Remove redundant BaseDb::query_execute*() methods.

	* glom/base_db.[h|cc]: Removed query_execute_select() and query_execute().
	The same methods in DbUtils replace them.
	* glom/libglom/db_utils.[h|cc]: Removed the query_execute_select(string) override.
	* glom/mode_data/box_data_calendar_related.cc:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_portal.cc:
	* glom/mode_design/dialog_database_preferences.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/print_layout/canvas_print_layout.cc:
	* glom/report_builder.cc:
	* glom/base_db_table_data.cc:
	* glom/frame_glom.cc:
	* glom/libglom/db_utils.cc: Adapted.

2010-05-11  Daniel Borgmann  <danielb@openismus.com>

	Don't add a new row when cancelling a placeholder edit.

	* glom/utility_widgets/db_adddel/db_adddel.cc: Don't add a new row
	if the edited row was a placeholder and no text was entered.

2010-05-10  Daniel Elstner  <danielk@openismus.com>

	Move list of libglom sources to separate file

	* glom/libglom/filelist.am: New Automake include file, defining the
	lists of source and header files for building libglom.
	* Makefile_libglom.am: Include glom/libglom/filelist.am for the lists
	of header and source files, instead of listing them directly.
	* docs/libglom_reference/Makefile.am: Include the list of libglom
	source files from glom/libglom/filelist.am.
	(doc_input): Instead of naming a directory for Doxygen to search,
	explicitly define the Doxygen input to the list of all public libglom
	header files.

2010-05-10  Daniel Elstner  <danielk@openismus.com>

	Update Doxygen configuration for libglom reference

	* docs/libglom_reference/Doxyfile.in: Correct strip prefixes and
	include paths.  Do include the mm-common stylesheet and reference
	the external tag files.  Also clean some cruft.

2010-05-10  Daniel Elstner  <danielk@openismus.com>

	Honor --disable-documentation configure option

	* Makefile.am (gnome_doc_subdirs): Rename from $(doc_subdirs).
	(doc_subdirs): Conditionally define to the subdirectories of the
	reference documentation, depending on whether ENABLE_DOCUMENTATION
	is true.
	(SUBDIRS): Expand $(doc_subdirs) and $(gnome_doc_subdirs).

2010-05-10  Daniel Borgmann  <danielb@openismus.com>

	Make Find mode a toggle and move it to the Edit menu.

	* glom/application.cc: Move Find menu item, remove Mode menu.
	* glom/frame_glom.cc/h: Replace on_menu_Mode_Find()/Data() with
	on_menu_Mode_Toggle().

2010-05-06  Daniel Borgmann  <danielb@openismus.com>

	Save extras alignment improvements.

	* glom/utility_widgets/filechooserdialog_saveextras.cc: Adjust
	alignments and hide extra label if empty (thus not taking up space).

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

    Use Gnome::Gda::SqlExpr for where clauses.

	* glom/libglom/utils.[h|cc]: Added build_simple_where_expression()
    and build_combined_where_expression() to make it easier to work with
    Gnome::Gda::SqlExpr.
    build_sql_select_with_key(): Return a SqlExpr instead of a string.
	* glom/base_db.[h|cc]:
	* glom/base_db_table_data.cc:
	* glom/frame_glom.[h|cc]:
	* glom/libglom/data_structure/foundset.[h|cc]:
	* glom/mode_data/box_data.[h|cc]:
	* glom/mode_data/box_data_calendar_related.cc:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_portal.cc:
	* glom/mode_data/datawidget/dialog_choose_id..[h|cc]:
	* glom/mode_find/notebook_find.[h|cc]:
	* glom/print_layout/canvas_print_layout.cc:
	* glom/report_builder.cc:
	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
    Adapt, using SqlExpr instead of a string for where clauses.

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

    Utils::get_choice_values(): Complete the use of SqlBuilder.

	* glom/libglom/utils.cc: get_choice_values(): Use the new return value from
    Builder::select_add_field() for the ORDER BY, so we specify the field table
    too.

2010-05-03  Daniel Borgmann  <danielb@openismus.com>

	Set default icon instead of individual window icons.

	* glom/application.cc: Set default window icon.

	* glom/dialog_existing_or_new.cc:
	* glom/filechooser_export.cc:
	* glom/frame_glom.cc:
	* glom/glade_utils.h:
	* glom/mode_design/script_library/dialog_script_library.cc:
	* glom/mode_design/translation/window_translations.cc:
	* glom/mode_design/users/dialog_groups_list.cc:
	* glom/utility_widgets/filechooserdialog_saveextras.cc:
	* glom/utils_ui.cc:
	* glom/window_boxholder.cc:

	Don't call set_icon_name() on individual windows.

1.14.2:

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

	Python calculations: Really convert to expected types.

	* glom/libglom/data_structure/glomconversions.cc:
	get_double_for_gda_value_numeric(): Handle all numeric GTypes - not just
	G_TYPE_INT..
	convert_value(): Remove the special case for G_TYPE_INT (now handled in
	get_double_for_gda_value_numeric instead). Make sure that all numeric GTypes
	are converted to GDA_TYPE_NUMERIC, making it easier for callers to check.

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

	Add test of type conversion after python calculations.

	* Makefile_tests.am:
	* tests/test_python_execute_func_change_result_type.cc: Add a test that
	calls a python function that returns a number, for a text field, to
	check that the conversion is done.

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

	Python scripts and calculations: Test buttons now show python errors.

	* glom/python_embed/glom_python.[h|cc]:
	glom_execute_python_function_implementation(),
	glom_evaluate_python_function_implementation(): Add an error_message output
	parameter, to report syntax errors, for instance.
	* glom/mode_design/fields/dialog_fieldcalculation.cc:
  * glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.cc:
  Show the python error, if any, when pressing the Test button.
  * Other files: Adapt, ignoring the error message for now.
  * Makefile_tests.am:
	* tests/test_python_execute_func_bad_syntax.cc: Added a test of the new
	error_message parameter.

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

	Fix a possible crash when showing choices.

	* glom/mode_data/datawidget/combo.cc: set_text(): Don't show a warning if
	"" is not found because it's OK to use that to clear the combo.
	* glom/mode_data/datawidget/combochoiceswithtreemodel.cc:
	set_choices_with_second(): Don't dereference a null smartpointer, avoiding
	a crash with one .glom file that I tried.

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

	Python Glom API documentation improvement.

	* glom/python_embed/python_module/py_glom_module.cc: Turn off auto-writing
	of the Python signatures in the docstrings, because that is a) crappy and
	b) confuses the sphinx autodoc module, which adds an invisible ..function
	reStrucuredText line.
	Add :param:, :type, and :returns: lines with the necessary indenting and
	empty lines needed by that invisible ..function line.

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

	Move some more methods from Base_DB.

	* glom/base_db.[h|cc]: Move show_warning_no_records_found() to utils_ui.[h|cc].
	get_find_where_clause_quick(): Move to utils.[h|cc].
	* glom/frame_glom.cc: Adapted.
	* glom/mode_design/layout/layout_item_dialogs/box_formatting.h:
	* glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.[h|cc]:
		* glom/mode_data/datawidget/dialog_choose_id.[h|cc]: Don't derive from Base_DB
	because that is no longer necessary after adapting.

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

	* glom/libglom/db_utils.cc: create_database(): Actually use the progress slot.

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

	Move some Base_DB methods to DbUtils and test database recreation.

	* glom/base_db.[h|cc]: Move many db-related methods to
	glom/libglom/db_utils.[h|cpp], taking a Document* paramater where necessary.
	This makes Base_DB slightly less of a mess, makes it clearer when we are
	doing Database IO, and makes it possible to do more testing of non-UI code.
	* Makefile_tests.am:
	* tests/test_selfhost_new_from_example.cc: Use DbUtils to recreate the
	database structure and data from the example file.
	* Many files: Adapted.

This is the master branch. See also the glom-1-14 branch.

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

	Fix document saving (recently broken by me) and add a test for it.

	* glom/libglom/document/bakery/document.cc: write_to_disk():
	Do not fail if the parent directory already exists.
	* Makefile_tests.am:
	* tests/test_document_autosave.cc: Added a test of document saving and
	autosaving.

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

	Move tests out of sub-directories, simplifying the build file.

	* tests/Makefile_test.am:
	* tests/test_document_load.cc:
	* tests/test_selfhosting_new_empty.cc: Move out of the sub-directories,
	because they do not need extra files.

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

	PyGlom: Don't use deprecated boost::python::args.

	* glom/python_embed/python_module/py_glom_module.cc: Use boost::python::arg()
	instead of boost::python::args(), because I noticed that args is deprecated.

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

    More use of SqlBuilder.

	* glom/base_db.[h|cc]: Move sqlbuilder_get_full_query() to Utils so that
    other code can use it.
	* glom/libglom/utils.[h|cc]: get_choice_values(): Use SqlBuilder.

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

    More use of SqlBuilder.

	* glom/report_builder.cc: report_build_groupby(): Use the new
    SqlBuilder::select_group_by() method to replace another SQL string.

1.14.1:

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

	Make sure all glade-instantiated windows have the Glom icon.

	* glom/glade_utils.h: helper_get_glade_widget_derived_with_warning():
    Call set_icon_name() on windows, fixing my regression.

2010-04-27  Murray Cumming  <murrayc@murrayc-desktop>

    Documentation: Added libglom main page. Installed _sources for pyglom.

	* docs/pyglom_reference/Makefile.am: Also install html/_sources, used by search.
	* glom/libglom/init.h: Add a doxygen main page.

2010-04-26  Murray Cumming  <murrayc@murrayc.com>

	Fix the build.

	* Makefile_tests.am: test_selfhosting_new_empty: Link to the Glom sources
	to fix the unresolved link to Glom::Priv's method. We will use more from
	the rest of Glom here too.

2010-04-26  Daniel Elstner  <danielk@openismus.com>

	Use installed mm-common instead of copying it

	* autogen.sh: Run mm-common-prepare to pull in the mm-common include
	files for Automake.
	* docs/libglom_reference/Makefile.am: Set up configuration variables
	and include doc-reference.am instead of copy'n'pasting its content.
	* docs/libglom-reference/doxygen_to_devhelp.xsl: Delete file.  It is
	shipped with mm-common and also part of the glibmm installation.

2010-04-26  Murray Cumming  <murrayc@murrayc.com>

	Reenable test_load_document.

	* Makefile_tests.am: Reenable test_load_document.cc
	* tests/test_load_document/test_load_document.cc: Restore (rewrite) this
	missing file.

2010-04-26  Murray Cumming  <murrayc@murrayc.com>

	* configure.ac: Remove the dist-bzip2 option that was added by mistake.

2010-04-26  Murray Cumming  <murrayc@murrayc.com>

	Self-Hosting test: Check that cleanup works.

	* Makefile_tests.am:
	* glom/libglom/connectionpool.[h|cc]:
	* glom/libglom/connectionpool_backends/backend.[h|cc]:
	* glom/libglom/connectionpool_backends/postgres_self.[h|cc]:
	* tests/test_selfhosting_new_empty/test_selfhosting_new_empty.cc:
	Make cleanup() return a bool, so we can check it, because this fails sometimes.
	Use the standard username and password.

2010-04-26  Daniel Elstner  <danielk@openismus.com>

	Heavily cut the pyglom_reference build magic

	* docs/pyglom_reference/Makefile.am: Drop the custom installation
	rules and use the GNU make $(wildcard) function for both distribution
	and installation of the generated documentation files.  Since the
	files do not undergo translation at install time, it is not necessary
	to integrate the custom installation tool from mm-common.  Pull in a
	missing GNU make function definition for computing the list of files.

2010-04-26  Daniel Elstner  <danielk@openismus.com>

	Temporarily disable test_document_load

	* Makefile_tests.am (check_PROGRAMS), (TESTS): Temporarily remove
	test_document_load, because the corresponding source file is currently
	missing from the repository.

2010-04-26  Daniel Elstner  <danielk@openismus.com>

	Enable maintainer-mode build in autogen.sh

	* autogen.sh: Run configure with --enable-maintainer-mode since the
	AM_MAINTAINER_MODE macro is now used in configure.ac.

2010-04-26  Murray Cumming  <murrayc@murrayc.com>

	Python Glom module: Improved the docstrings, using reStructuredText

	* glom/python_embed/python_module/py_glom_module.cc: Use more
    reStructureText (or as much as sphinx allows us to use in a docstring).
    It's looking quite good.

2010-04-25  Murray Cumming  <murrayc@murrayc.com>

	Simplify test_selfhosting_new_empty.

	* glom/frame_glom.cc: Move setup_connection_pool_from_document() to:
	* glom/libglom/connectionpool.[h|cc]: Added setup_from_document().
	* tests/test_selfhosting_new_empty/test_selfhosting_new_empty.cc: Use the
	new function here, removing code to explicitly set the backend.

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

	Add a document-loading test and self-hosting test

	* glom/Makefile_tests.am: Added the tests.
	* glom/libglom/test_document.cc: Renamed to example_document_load.cc.
	* tests/test_document_load/test_document_load.cc: Added this new test to
	load a document, checking some known parts of its structure.

	* glom/libglom/document/bakery/document.cc: write_to_disk(): Create the
 	parent directory if necessary, instead of failing with a Gio exception.
 	* test/test_selfhosting_newempty/test_selfhosting_newempty.cc: Saves a new
 	file from an example, starts self-hosting of it, and stops self-hosting.
 	This needs work and expansion.

2010-04-20  Murray Cumming  <murrayc@murrayc.com>

	Python Glom module: Improve sphinx-generated documentation.

	* glom/python_embed/python_module/py_glom_module.cc: Added class docstring
	documentation, based on
	http://library.gnome.org/users/glom/unstable/sec-calculated-fields.html
	Use reStructuredText format as expected by sphinx and as apparently now
	use by Python for docstring text.

2010-04-20  Murray Cumming  <murrayc@murrayc.com>

    Fix the python Glom module name.

	* configure.ac: Fix a recent typo to again use the correct underlined
    name for the Python Glom module. This was fatal, in tests too.

2010-04-20  David King  <davidk@openismus.com>

	Relax the autoconf requirement

	* configure.ac: Relax the autoconf requirement to 2.63, as 2.65 is not
	required. Something older than 2.63 may even be acceptable, but I do
	not have an older version to test.

2010-04-20  David King  <davidk@openismus.com>

	Fix the sphinx-build configure check

	* configure.ac: Abort configure with an error if sphinx-build could
	not be found and --enable-documentation was passed to configure.

2010-04-20  Murray Cumming  <murrayc@murrayc.com>

	Glom Python API reference: Failed attempt to dist the html files.

	* docs/pyglom_reference/Makefile.am: Copied some stuff from the mm-common
    files, but it doesn't work yet.

2010-04-20  Murray Cumming  <murrayc@murrayc.com>

	Glom Python API reference: Install the html generated by sphinx.

	* docs/pyglom_reference/Makefile.am: Add install rules based on awful hacked
    copies of the mm-common stuff. I believe this could be far simpler.

2010-04-20  Murray Cumming  <murrayc@murrayc.com>

	Solve the long-paths problem with the doxygen-generated html files.

	* configure.ac: Change the AM_INIT_AUTOMAKE() call to be like gtkmm,
	allowing the tarball to contain long paths - needed for the libglom html
	documentation.

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

	More improved use of sphinx.

	* docs/pyglom_reference/conf.py.in: Do not generate the module index page
	because we have only one module.
	* docs/pyglom_reference/index.rst.in: Add back the link to the general index,
	which seems to actually be generated.

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

	* configure.ac: Ran autoupdate to remove use of deprecated macros.

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

    Avoid the requirement for sphinx-build if documentation is disabled.

	* configure.ac: Use AC_PATH_PROG() instead of AC_CHECK_PROG() so we get the
    path to use. Only check if --enable-documentation was used.
	* docs/pyglom_reference/Makefile.am: Only build the html if
    --enable-documentation was used (not yet built by default anyway).

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

    Improved use of sphinx.

	* configure.ac: AC_SUBST() GLOM_ABI_VERSION_UNDERLINED so we can use it
    in docs/pyglom_reference/Makefile.am. Mention these files that will be
    genereated form .in files with the ABI and version numbers substituted.
    Check for sphinx-build, though this should only matter when building docs.
	* docs/pyglom_reference/conf.py.in:
	* docs/pyglom_reference/index.rst.in: Use ABI and version variables instead
    of hard-coding. Add short introductory text with links.

2010-04-16  Murray Cumming  <murrayc@murrayc.com>

    Try to use sphinx for pyglom API documentation.

    * docs/pyglom_reference/Makefile.an:
	* docs/pyglom_reference/sphinx_sources/:
    An attempt to use sphinx instead of pydoc. sphinx is used by Python itself.
    I need to change my Python setup (not have Python in jhbuild) to test
    this properly, because I can't easily build pydoctor in my separate prefix.

2010-04-16  Murray Cumming  <murrayc@murrayc.com>

	Python: Really show warnings when modules can't be imported.

	* glom/python_embed/glom_python.cc: Add and use import_module() to make sure
	that we catch exceptions from boost::python::import(), so show the intended
	warnings instead of just crashing with an uncaught exception.
	Also correct the checks for empty/none boost::python::objects for imported
	modules. A simple ! is not what it seems.

2010-04-16  Murray Cumming  <murrayc@murrayc.com>

    Use mm-common for optional compiler warnings and to build libglom docs.

    * configure.ac: Use mm-common, removing macros/dk-warn.m4.
	* docs/libglom_reference/Doxyfile.in:
	* docs/libglom_reference/doxygen_to_devhelp.xsl:
	* docs/libglom_reference/Makefile.am: Generate libglom documentation
    properly usign build stuff copied from gtkmm.
	* docs/pyglom_reference/Makefile.am: A silly little initial attempt to
    have generated html for the glom python module, using pydoc.

2010-04-15  Murray Cumming  <murrayc@murrayc.com>

  Python field calculation: Fix a crash.

	* glom/libglom/python_embed/pygdavalue_conversions.cc:
	glom_pygda_value_as_boost_pyobject(): Add a PyDateTimeAPI call, as already
	done in glom_pygda_value_from_pyobject(), to prevent a crash (and valgrind
	warning about 0 dereference) when using this (silly, wrong) field calculation,
	though I can't reproduce it in a unit test:
	import datetime
  return (datetime.date.today() - record["date_of_birth"]).days / 365

2010-04-15  Murray Cumming  <murrayc@murrayc.com>

  Python module: Improve API documentation.

	* glom/python_embed/python_module/py_glom_module.cc: Added some options and
	text for docstrings, to improve the pydoc -w output.

1.14.0:

2010-04-14  Murray Cumming  <murrayc@murrayc.com>

	Fall back to the uninstalled .glade file to fix make distcheck.

	* Makefile.am: Define GLOM_PKGDATADIR_NOTINSTALLED as well as the existing
    GLOM_PKGDATADIR.
	* glom/glade_utils.h: get_glade_file_path(): Fall back to the uninstalled
    glade file if the installed one can't be found. This fixes make distcheck.

2010-04-14  Murray Cumming  <murrayc@murrayc.com>

    Glade utils: More error-checking.

	* glom/glade_utils.h:  helper_get_glade_widget_derived_with_warning():
    Catch the other 2 exception types that we now know that
    Gtk::Builder::create*() can throw.
	* glom/frame_glom.cc: create_database(): Use get_glade_widget_with_warning()
    to simplify the code. Our utility functions are now used everywhere.

2010-04-13  Murray Cumming  <murrayc@murrayc.com>

  Remove useless translatable strings.

	* glom/glom_developer.glade: Remove placeholder text from labels that will
	actually have their text set at runtime, so there's need actual need to have
	it in the glade file. They were even marked as translatable.
	Bug #615656 (Gianluca Ferri)

2010-04-12  Murray Cumming  <murrayc@murrayc.com>

  Python calculations and scripts: Fix regression in use of date and time fields.

	* glom/libglom/python_embed/py_glom_record.[h|cc]:
	Change PyGlomRecord_SetFields() to a member set_fields() method, and making
	more of the class private, finishing our conversion to boost::python.
	* glom/libglom/python_embed/py_glom_related.[h|cc]:
	Change PyGlomRelated_SetRelationships() to a set_relationships methods.
	* glom/libglom/python_embed/py_glom_relatedrecord.[h|cc]:
	Changed PyGlomRelatedRecord_SetRelationship() to a set_relationship() method.

	* glom/python_embed/glom_python.cc: glom_pygda_value_from_pyobject():
  Handle date, time, timestamp, geometric point values, whose code had been
  commented out since the port to boost::python.
	This fixes the test added in the previous commit, so glom calculations and
	scripts can again (it broke in unstable Glom 1.13) use date and time field
	values from the record.

2010-04-12  Murray Cumming  <murrayc@murrayc.com>

  Added test showing problem with date fields in python calculations.

	* tests/test_python_execute_func_date.cc: Added a test of dates as input
	values for record fields. This currently fails with this error from python,
	so I need to fix it in Glom:
	AttributeError: 'NoneType' object has no attribute 'year'

2010-04-12  Daniel Elstner  <danielk@openismus.com>

	Further clean up AX_BOOST_PYTHON_MURRAYC

	* macros/ax_boost_python_murrayc.m4: Simplify the logic of the checks
	and clean up the Bourne shell code.  Also, abort with a fatal error
	if the boost::python headers or library could not be found.

2010-04-12  Murray Cumming  <murrayc@murrayc.com>

    Slight AX_BOOST_PYTHON_MURRAYC() cleanup.

	* macros/ax_boost_python_murrayc.m4: Add necessary quotes, avoid ==,
    and use AC_LANG_PUSH/AC_LANG_POP instead of deprecated
    AC_LANG_SAVE/AC_LANG_CPLUSPLUS/AC_LANG_RESTORE. Noticed by Daniel Elstner,
    though we don't know if this solves any known problems yet.

2010-04-12  Murray Cumming  <murrayc@murrayc.com>

	Provide context for translations.

	* glom/application.cc:
	* glom/frame_glom.cc:
	* glom/mode_design/users/dialog_users_list.cc: Use the new (in glib 2.16)
    C_() macro to provide context for bare uses of "User" and "Developer",
    providing some explanation and allowing translators to use translate them
    differently, as may be required by some languages.
    Fixes bug #606931 (Urmas, André Klapper)

2010-04-12  Murray Cumming  <murrayc@murrayc.com>

  Fix glade loading.

	* glom/glade_utils.h: get_glade_widget_derived_with_warning(): Fix silly
	but fatal typo.

2010-04-11  Murray Cumming  <murrayc@murrayc.com>

  Simplify setting of the icon for windows.

	* glom/glade_utils.h: get_glade_widget_derived_with_warning():
	Call set_icon_name() on windows.
	* Several *.cc files: Don't bother calling set_icon_name() after calling
	get_glade_widget_derived_with_warning().

2010-04-10  Murray Cumming  <murrayc@murrayc.com>

  dialog_run_with_help(): Get the help ID from the class.

  * glom/utils_ui.h: dialog_run_with_help(): Add a templated version that uses
  the static glade_id member, to avoid repeating this in the source code.
	* Several .cc files: Remove the ID parameter from most uses of
	dialog_run_with_help().

2010-04-10  Murray Cumming  <murrayc@murrayc.com>

  Glade instantiation: Simplify, make more robust, and test.

  * glom/glade_utils.h: get_glade_widget_derived_with_warning(),
  get_glade_developer_widget_derived_with_warning(): Add method overloads that
  don't take an ID. These require the class to have a static glade_id member.
  This associates the IDs with the class, instead of being in other files,
  to avoid duplication and to avoid using the wrong ones.
  * Many files: Use these new methods, to avoid mentioning glade IDs.
  * tests/test_glade_derived_instantiation.cc: Try to instantiate all the known
  derived glade dialogs.

2010-04-10  Murray Cumming  <murrayc@murrayc.com>

  Glade files: Move a client-only dialog to the correct file.

	* glom/glom_developer.glade:
	* glom/glom.glade: Move dialog_choose_date to glom.glade.
	* glom/mode_data/datawidget/datawidget.cc: on_button_choose_date():
	Adapted.

2010-04-10  Murray Cumming  <murrayc@murrayc.com>

  Application: Forget the global instance when it has been deleted.

  * glom/application.cc: Destructor: reset the static instance to 0,
  to avoid anything from retrieving the pointer to the deleted object.

2010-04-10  Murray Cumming  <murrayc@murrayc.com>

  Remove some unused code.

	* glom/base_db.cc: offer_item_formatting(): Remove a useless use of
	Gtk::Builder.

2010-04-10  Murray Cumming  <murrayc@murrayc.com>

  Notebook properties dialog: Fix a probable crash.

	* glom/base_db.cc: :offer_notebook(): Fix a typo in the glade ID.
	I'm working on code to prevent these kinds of errors, to apply when we branch.

2010-04-09  Daniel Borgmann  <danielb@openismus.com>

	Update NEWS file.

	* NEWS: Add entry.

2010-04-09  Daniel Borgmann  <danielb@openismus.com>

	Clean up Add Related Table dialog.

	* glom/glom_developer.glade: (dialog_add_related_table) Remove frame,
	fix spacings, align form elements in table.
	* glom/mode_design/dialog_add_related_table.cc: Add window icon.

2010-04-09  Daniel Borgmann  <danielb@openismus.com>

	Update translation dialogs.

	* glom/application.cc:
	* glom/glom_developer.glade:
	* glom/mode_design/script_library/dialog_script_library.cc:
	* glom/mode_design/translation/window_translations.cc:
	* glom/mode_design/users/dialog_groups_list.cc:
	Translation dialog updates, set missing window icons.

2010-04-09  Murray Cumming  <murrayc@murrayc.com>

  Reports: Fix a crash when opening the secondary fields dialog.

  * glom/glom_developer.glade: dialog_groupby_secondary_fields: Rename a
  button to match what the class's constructor expects.

2010-04-09  Armin Burgmeier  <armin@arbur.net>

	* win32/build-installer:
	* win32/glom.iss.in: Update for Glom 1.14.

2010-04-09  Armin Burgmeier  <armin@arbur.net>

	* Makefile.am: Do not install .desktop file on Windows.

2010-04-09  Daniel Borgmann  <danielb@openismus.com>

	Update dialogs.

	* glom/frame_glom.cc: Set window icons.
	* glom/glom_developer.glade: Update user dialogs.
	* glom/mode_design/layout/dialog_layout.cc: Set window icons.
	* glom/mode_design/users/dialog_groups_list.cc: Set window icons.

2010-04-08  Daniel Borgmann  <danielb@openismus.com>

	Use buttonbox for details view.

	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_details.h:
	Use HButtonBox instead of HBox.

2010-04-08  Murray Cumming  <murrayc@murrayc.com>

  ImageGlom: Move scale_keeping_ratio() somewhere more sensible.

	* glom/utility_widgets/imageglom.[h|cc]: Move scale_keeping_ratio() to
	glom/utils_ui.[h]cc] as Utils::image_scale_keeping_ratio().
	* glom/utility_widgets/canvas/canvas_image_movable.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/flowtable_dnd.cc: Adapted.

2010-04-08  Murray Cumming  <murrayc@murrayc.com>

  glom/mode_data/datawidget/: Clean up classes, putting them in a namespace.

  * glom/mode_data/datawidget/: Removed Glom suffixes from class names
  and filenames, and put classes in a DataWidgetChildren sub-namespace,
  to make it clearer where we occasionally use these outside of DataWidget.

2010-04-08  Murray Cumming  <murrayc@murrayc.com>

  Cleaned glom/utility_widgets/ a little.

  * glom/utility_widgets/datawidget.[h|cc]: Moved to glom/mode_data/datawidget/
  because it is only used by the data-mode flowtable.
	* glom/utility_widgets/buttonglom.[h|cc]
	* glom/utility_widgets/checkglom.[h|cc]
	* glom/utility_widgets/combo_as_radio_buttons.[h|cc]
	* glom/utility_widgets/combochoices.[h|cc]
	* glom/utility_widgets/combochoiceswithtreemodel.[h|cc]
	* glom/utility_widgets/comboentryglom.c[h|cc]
	* glom/utility_widgets/comboglom.[h|cc]
	* glom/utility_widgets/dialog_choose_date.[h|cc]
	* glom/utility_widgets/dialog_choose_id.[h|cc]
	* glom/utility_widgets/entryglom.[h|cc]
	* glom/utility_widgets/labelglom.[h|cc]
	* glom/utility_widgets/textviewglom.[h|cc]
	* glom/utility_widgets/placeholder-glom.[h|cc]: Also move these to
  glom/mode_data/datawidget because they are only used by DataWidget.
	* glom/utility_widgets/alignment_justified.[h|cc]:
	* glom/utility_widgets/table_columns.[h|cc]: Deleted these unused classes.
  * Makefile_glom.am: Adapted.

2010-04-08  Daniel Borgmann  <danielb@openismus.com>

	Use button box for adddel widgets.

	* glom/utility_widgets/adddel/adddel_withbuttons.cc:
	* glom/utility_widgets/adddel/adddel_withbuttons.h:
	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.cc:
	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.h:
	Use ButtonBox instead of HBox.

2010-04-08  Daniel Borgmann  <danielb@openismus.com>

	Use button box for listview buttons.

	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.cc:
	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.h:
	Use ButtonBox instead of HBox to make buttons homogenous. Also change
	button order to match order used everywhere else (Add/Delete/Open).

2010-04-08  Daniel Borgmann  <danielb@openismus.com>

	Text and Image object Dialog adjustments.

	* glom/glom_developer.glade: Various dialog layout fixes.
	* glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.cc:
	* glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.h:
	* glom/mode_design/layout/layout_item_dialogs/dialog_textobject.cc:
	* glom/mode_design/layout/layout_item_dialogs/dialog_textobject.h:
	Update box variable name and add window icons.

2010-04-08  David King  <davidk@openismus.com>

	Update copyright information in about dialog

	* glom/application.cc: Update copyright year in about dialog.

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

    Recent Files: Make sure that we remember these for saved-from-example files.

	* glom/application.cc: on_document_load(): Add an extra call to
    document_history_add() after successfully saving from an example.

2010-04-07  Daniel Borgmann  <danielb@openismus.com>

	Find bar adjustments.

	* glom/frame_glom.cc: Rename Quick Find to Quick Search and add
	mneomnic.
	* glom/glom.glade: Update find id dialog and remove frame.
	* glom/utility_widgets/datawidget.cc: Add window icon to find id
	dialog.

2010-04-07  David King  <davidk@openismus.com>

	Fix boost:python m4 macro with -Wl,--as-needed

	* macros/ax_boost_python_murrayc.m4: Specify libraries in LIBS, not
	LDFLAGS. See http://www.gentoo.org/proj/en/qa/asneeded.xml

2010-04-06  Daniel Borgmann  <danielb@openismus.com>

	Dialog adjustments.

	* glom/glom.glade: Spacing adjustments to make dialogs more HIG
	compliant.

2010-04-06  Daniel Borgmann  <danielb@openismus.com>

	Initial Password Dialog adjustments.

	* glom/glom_developer.glade: Initial Password Dialog tweaks.
	* glom/mode_design/dialog_initial_password.cc: Set window icon.

2010-04-06  Daniel Borgmann  <danielb@openismus.com>

	CSV Import Dialog adjustments.

	* glom/glom.glade: Import dialog tweaks.
	* glom/import_csv/dialog_import_csv.cc: Add window icon, change title
	order.

2010-04-06  Daniel Borgmann  <danielb@openismus.com>

	Dialog fixes.

	* glom/frame_glom.cc: Add window icons and fix capitalisation of
	primary texts (dialog text uses sentence capitalisation).

2010-04-06  Daniel Borgmann  <danielb@openismus.com>

	Set Progress Dialog default size.

	* glom/glom.glade: Set a reasonable default size for the progress
	dialog, that allows to read the title at least.

2010-04-06  Daniel Borgmann  <danielb@openismus.com>

	Select Field Dialog adjustments.

	* glom/glom_developer.glade: Spacing and mnemonic adjustments/fixes,
	remove frame label.
	* glom/mode_design/layout/dialog_choose_field.cc: Add window icon.

2010-04-06  Daniel Borgmann  <danielb@openismus.com>

	Progress dialog adjustments.

	* glom/dialog_progress_creating.cc: Add window icon.
	* glom/glom.glade: Center dialog on parent window.

2010-03-31  Daniel Borgmann  <danielb@openismus.com>

	Don't show error icon for empty recent documents.

	* glom/dialog_existing_or_new.cc: Also don't show error icon for
	empty recent documents.

2010-03-31  Daniel Borgmann  <danielb@openismus.com>

	Welcome Screen adjustments.

	* glom/dialog_existing_or_new.cc: Fix typo and use of properties, don't
	show error icon when no network sessions are available.
	* glom/glom.glade: Hide label and icon, spacing adjustments.

2010-03-31  Daniel Borgmann  <danielb@openismus.com>

	Improve application title.

	* glom/application.cc: Don't show colon in application title when
	table name is empty.

2010-03-31  Daniel Borgmann  <danielb@openismus.com>

	Remove unneded alert dialogs / TODO items.

	* glom/frame_glom.cc: No table warnings are not needed anymore
	for menu items, so remove them.

2010-03-31  Daniel Borgmann  <danielb@openismus.com>

	Set window icon for OK dialogs.

	* glom/utils_ui.cc: show_ok_dialog: Set window icon.

2010-03-30  Daniel Borgmann  <danielb@openismus.com>

	Set window icon for welcome screen.

	* glom/dialog_existing_or_new.cc: Set window icon.

2010-03-30  Daniel Borgmann  <danielb@openismus.com>

	Disable some menu items when no table is loaded.

	* glom/application.cc: update_table_sensitive_ui: Function to set
	sensitivity of menu items depending on whether a table is loaded.
	init_menus: Add table sensitive menu items to a list.
	* glom/application.h: Add list to hold table sensitive menu items.
	* glom/frame_glom.cc: Call update_table_sensitive_ui when needed.

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

	Glade instantation test: Make it exit on failure.

	* tests/test_glade_toplevels_instantiation.sh: Use || exit 1, as in
    David's commit to the other files.

2010-03-30  David King  <davidk@openismus.com>

	Make DTD validation tests exit on failure

	* tests/test_dtd_file_validation.sh:
	* tests/test_glade_file_validation.sh: Append ‘ || exit 1’ to the
	xmllint call, to ensure that a validation failure leads to a failing
	test.

2010-03-30  Daniel Borgmann  <danielb@openismus.com>

	Capitalisation fixes.

	* glom/application.cc: Use lower case for short prepositions.

2010-03-30  Daniel Borgmann  <danielb@openismus.com>

	Fix mnemonics.

	* glom/application.cc: Add missing mnemonics and change double
	mnemonics.

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

    Update the document DTD, to fix tests.

	* glom/glom_document.dtd: data_layout_button: Allow this to have a
    formatting child node, because we now allow this in the UI and save this.

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

    Add a test to check instantiation of glade widgets.

    * Makefile_tests.am
	* tests/glade_toplevels_instantiation.cc: Added this code for an
    executable that will try to instantiate all GtkWindow and GtkDialog
    objects in a specified .glade file. It also checks that they are not
    visible by default.
	* tests/test_glade_toplevels_instantiation.sh: Added a tests script,
    run during make check, to run this executable on all our .glade files.

    * glom/glom.glade, glom_developer.glom: Fix small problems found by the
    test, removing an empty textbuffer top-level object and making all
    top-level objects non-visible by default.

2010-03-29  Daniel Borgmann  <danielb@openismus.com>

	Relationships Overview dialog adjustments.

	* glom/glom_developer.glade: Remove frame and adjust spacings for
	Relationships Overview dialog.

2010-03-29  Daniel Borgmann  <danielb@openismus.com>

	Correct mnemonic widgets.

	* glom/glom_developer.glade: Actually set the correct mnemonic
	widgets for Report Layout input labels.

2010-03-29  Daniel Borgmann  <danielb@openismus.com>

	Remove boldness from input labels.

	* glom/glom_developer.glade: Remove bold markup for Report Layout
	input labels.

2010-03-29  Daniel Borgmann  <danielb@openismus.com>

	Report Layout dialog adjustments.

	* glom/frame_glom.cc: Set Report Layout dialog window icon.
	* glom/glom_developer.glade: Report Layout dialog spacing
	adjustments and mnemonics fix.

2010-03-29  Daniel Borgmann  <danielb@openismus.com>

	Reports dialog adjustments.

	* glom/frame_glom.cc: Set Reports dialog window title.
	* glom/glom_developer.glade: Remove frame from Reports dialog.

2010-03-29  Daniel Borgmann  <danielb@openismus.com>

	Remove frame label on Fields dialog.

	* glom/box_reports.cc: Remove references to frame label.
	* glom/box_reports.h: Remove frame label member.
	* glom/frame_glom.cc: Set window icon for Fields and Relationships
	dialogs.
	* glom/glom_developer.glade: Adjust Fields and Relationships dialogs.
	* glom/mode_design/dialog_design.cc: Remove references to frame label.
	* glom/mode_design/dialog_design.h: Remove frame label member.
	* glom/mode_design/dialog_fields.cc: Remove references to frame label.
	* glom/mode_design/dialog_relationships.cc: Remove references to frame
	label.
	* glom/mode_design/print_layouts/box_print_layouts.cc: Remove
	references to frame label.
	* glom/mode_design/print_layouts/box_print_layouts.h: Remove frame
	label member.
	* glom/navigation/box_tables.cc: Remove references to frame label.

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

    Avoid Operation Not Supported warnings at startup.

	* glom/application.cc:
	* glom/bakery/app_withdoc.cc:
	* glom/libglom/connectionpool_backends/postgres_self.cc:
	* glom/libglom/connectionpool_backends/sqlite.cc:
	* glom/libglom/document/bakery/document.cc:
	* glom/libglom/utils.cc:
	* glom/xsl_utils.cc: Avoid creating a Gio::File() from an empty URI,
    avoiding useless stdout warnings at startup.

2010-03-29  Daniel Borgmann  <danielb@openismus.com>

	Edit Field Definition Dialog adjustments.

	* glom/glom_developer.glade: Update alignment and spacings, add mnemonics.
	* glom/mode_design/fields/box_db_table_definition.cc: Set window icon.

2010-03-29  Daniel Borgmann  <danielb@openismus.com>

	Export Format dialog adjustments.

	* glom/filechooser_export.cc: Set icon name for export format dialog.
	* glom/glom_developer.glade: (Export Format) Remove frame, move Add
	button to the start.
	* glom/mode_design/layout/dialog_layout_export.cc: Rename treeview
	header to "Fields" to replace the label.

2010-03-29  Daniel Borgmann  <danielb@openismus.com>

	Print Layouts dialog adjustments.

	* glom/frame_glom.cc: Set title and transient for Print Layouts dialog.
	* glom/glom_developer.glade: Remove the frame from Print Layouts dialog.

2010-03-26  Murray Cumming  <murrayc@murraycs.com>

	Say when a chosen file doen't exist, and remove it from the history.

	* glom/libglom/document/bakery/document.[h|cc]: Add an enum for
    standard failure_codes, including a last enum values that custom codes
    should start after.
    read_from_disk(): Set a failure_code output variable here too, so we
    can detect non-existant files.
	* glom/libglom/document/document.h: Start the custom code after the last
    standard one.
	* glom/bakery/app_withdoc.cc: open_document(): Remove non-existant
    files from the recent files history.
	* glom/application.cc: ui_warning_load_failed(): Say if the file could not
    be found, instead of being mysterious. This happens for me often for
    recent files that I have deleted.

2010-03-26  Daniel Borgmann  <danielb@openismus.com>

	Adjust file chooser dialogs.

	* glom/dialog_existing_or_new.cc: Adjust title of file open dialog,
	set glom icon.
	* glom/utility_widgets/filechooserdialog_saveextras.cc: Set glom icon.

2010-03-26  Daniel Borgmann  <danielb@openismus.com>

	Fix filechooser title label.

	* glom/utility_widgets/filechooserdialog_saveextras.cc: Add colon and
	mnemonic to "Title" label.

2010-03-26  Daniel Borgmann  <danielb@openismus.com>

	Fix column spacing in connection dialog.

	* glom/glom.glade: Set column spacing in connection dialog to 12px.

2010-03-26  Daniel Borgmann  <danielb@openismus.com>

	Connection dialog adjustments.

	* glom/dialog_connection.cc: Add glom icon and remove maemo title hack
	as primary text does not exist anymore.
	* glom/glom.glade: Remove double title from connection dialog
	and make it HIG/GNOME conform.

2010-03-26  Daniel Borgmann  <danielb@openismus.com>

	Export dialog adjustments.

	* glom/filechooser_export.cc: Add glom icon and set mnemonic for Export
	button.

2010-03-26  Daniel Borgmann  <danielb@openismus.com>

	Adjustments for Import dialog.

	* glom/frame_glom.cc: Set window icon and update title text.

2010-03-26  Daniel Borgmann  <danielb@openismus.com>

	Adjustments for Tables dialog.

	* glom/application.cc: Use gtkmm API to set document icon.
	* glom/frame_glom.cc: Change Tables dialog title to "Edit Tables" to
	match the command name.
	* glom/glom.glade: Remove the frame.
	* glom/navigation/box_tables.cc: Change column name from Tables to Table.
	* glom/navigation/box_tables.h: Remove frame member.
	* glom/window_boxholder.cc: Set icon and default position to center on
	parent.

2010-03-25  Murray Cumming  <murrayc@murrayc.com>

    Glade files: Remove adjustment objects, simplifying window instantiation.

	* glom/glom_developer.glade: Remove useless (default, empty) adjustment
    objects, so we can load the windows with GtkBuilder without specifying
    them. Recent versions of Glade no longer seem to create these when they
    would just have default values.
	* glom/base_db.cc:
	* glom/frame_glom.cc:
	* glom/glom.glade:
	* glom/mode_design/fields/dialog_fielddefinition.cc:
	* glom/mode_design/layout/layout_item_dialogs/dialog_field_layout.c
	c:
	* glom/mode_design/layout/layout_item_dialogs/dialog_formatting.cc:
	* glom/mode_design/print_layouts/dialog_text_formatting.cc:
    Don't provide the id of the adjustment, removing the silly workaround.

2010-03-24  Daniel Borgmann  <danielb@openismus.com>

	Don't show error dialog when user cancels template creation.

	* glom/application.cc: Display error message when trying to create
	a document from template in client-only-mode.
	* glom/bakery/app_withdoc.cc: Don't display error message if the
	document is rejected, let the application decide about it.

1.13.9:

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

    Refactored combo classes.

	* glom/utility_widgets/comboglomchoicesbase.[h|cc]:
    Split into combochoices.[h|cc] and combochoiceswithtreemodel.[h|cc] so
    that combo_as_radio_buttons.[h|cc] doesn't need to have an unused treemodel.

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

    Formatting: Choices: Add a Display as radio buttons option.

	* glom/glom_developer.glade: formatting: choices: Add a Show As Radio
    Buttons checkbox.
	* glom/libglom/data_structure/layout/fieldformatting.[h|cc]:
    set/get_choices_restricted(): Add a show_as_radio_buttons output parameter.
	* glom/libglom/document/document.cc:
    load_after_layout_item_formatting(), save_after_layout_item_formatting():
    load and save the new formatting detail.
	* glom/mode_design/layout/layout_item_dialogs/box_formatting.[h|cc]:
    Handle the new checkbox and make sure that it is only sensitive when
    the choices are restricted, because radio buttons provide no way to enter
    freeform data.
	* glom/utility_widgets/comboglomchoicesbase.h: Make set_choices() and
    set_choices_with_second() virtual.
    * glom/utility_widgets/combo_as_radio_buttons.[h|cc]: A new widget that is
    a vbbox of radio buttons, with a combo-like API.
	* Makefile_glom.am: Mention the new files.
	* glom/utility_widgets/datawidget.cc: Refactor some repeated code into
    create_combo_widget_for_field() and create the radiobuttons widget when
    necessary.

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

    Fix the distcheck. Don't use deprecated gtkmm API.

	* glom/utility_widgets/flowtable.cc:
	* glom/utility_widgets/flowtable_dnd.cc:
	* glom/utility_widgets/placeholder-glom.cc: Adapt to deprecated gtkmm API.
    Use get_has_window() and set_has_window() instead of get_flags(),
    unset_flags() and set_flags().

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

    Small fixes to glade file.

	* glom/glom_developer.glade: Add some still-missing vbox orientation=vertical
	lines.

2010-03-19  Daniel Borgmann <danielb@openismus.com>

	* configure.ac: Make Glom build with autoconf 2.65.
	Patch from Fryderyk Dziarmagowski in GNOME bug #613179.

2010-03-16  David King  <davidk@openismus.com>

	Fix GtkVBox orientation in GtkBuilder files

	* glom/glom.glade:
	* glom/glom_developer.glade: Manually set the orientation of GtkVBox
	objects specified in the GtkBuilder files to ‘vertical’. See GNOME bug
	#587256 for details of the issue with Glade.

2010-03-16  Murray Cumming  <murrayc@murrayc.com>

  Tests: Check that the .glade files are valid XML.

  * Makefile_tests.am:
	* tests/test_glade_file_validation.sh: Add this text that the .glade files
	are basically valid XML. It would be nice to have a Glade DTD to validate
	them against too.
	We should also check that each top-level widget can be instantiated by
	GtkBuilder.

2010-03-16  Murray Cumming  <murrayc@murrayc.com>

  Add a startup script feature.

  * libglom/document/document.cc: Added get/set_startup_script().
  load_after(), save_before(): Load and save the startup script.

  * glom_developer.glade:
  * glom/mode_design/dialog_database_preferences.[h|cc]: Add a startup script tab.

  * libglom/python_embed/py_glom_ui.h: Move PythonUICallbacks into its own
  py_glom_ui_callbacks.h header.
  * glom/python_embed/python_ui_callbacks.[h|cc]: Add this derived callbacks
  class that has handlers that call methods in the application.
  * glom/mode_data/box_data.cc: execute_button_script(): Use the new callbacks
  class instead of using member methods here.
  * glom/application.cc: on_document_load(): Run the startup script, if any,
  after loading the document, using the new derived callbacks class.

  * Makefile_glom.am, Makefile_libglom.am: Mention the new files.

2010-03-13  David King  <davidk@openismus.com>

	Depend on gtkmm >= 2.19.2, fixing GNOME bug #612796

	* configure.ac: Bump glom gtkmm version requirement to >= 2.19.2 for
	Gtk::ToolPalette. Fixes GNOME bug #612796.

2010-03-13  David King  <davidk@openismus.com>

	Depend on libxml++ >= 2.23.1, fixing GNOME bug#612794

	* configure.ac: Bump libglom libxml++ version requirement to >= 2.23.1
	for xmlpp::Element::add_child_text_before(). Fixes GNOME bug #612794.

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

    Initial Dialog: Do not crash sometimes if cancelling the file chooser.

	* glom/application.cc: offer_new_or_existing(): Show the dialog again if
    we get a 0 response, because we cannot (yet) prevent the dialog from
    doing this when the child file chooser dialog is cancelled. Fixes a crash
    if pressing the Select button instead of double-clicking on an item.
    Bug #612303 (David King)

1.13.8:

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

    Slight update of Small Business example.

	* examples/example_smallbusiness.glom: Resave, with a new record with
    a picture of a polar bear for use on the www.glom.org website.
    The picture is from http://www.flickr.com/photos/mape_s/350700095/
    (Creative-Commons licensed, by Marieke IJsendoorn-Kuijpers)

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

    Python button scripts: Rename print() to print_layout() and add start_new_record().

	* glom/application.[h|cc]
	* glom/frame_glom.[h|cc]
	* glom/libglom/python_embed/py_glom_ui.[h|cc]
	* glom/mode_data/box_data.[h|cc]
	* glom/mode_data/box_data_details.[h|cc]
	* glom/mode_data/notebook_data.[h|cc]
	* glom/python_embed/python_module/py_glom_module.cc:
	* tests/test_python_execute_script.cc:
    Add a ui.start_new_record() python method, and rename ui.print() to
    ui.print_layout() because print seems to be a python keyword that can't
    be used as a method name, seen when trying to use it in the unit test.

2010-03-08  Peter Penz  <ppenz@openismus.com>

	Fix the build with exceptions disabled.

	* glom/libglom/document/bakery/document_xml.cc:
	* glom/mode_design/iso_codes.cc: The exception handling is enabled by the
    define LIBXMLPP_EXCEPTIONS_ENABLED. But this is a typo, as libxml++ defines
    LIBXMLCPP_EXCEPTIONS_ENABLED.

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

    Python button scripts: Add ui.print() and ui.print_reports(report_name).

	* glom/application.[h|cc]: Add print() and print_report(), calling
    methods in the frame widget.
	* glom/libglom/python_embed/py_glom_ui.[h|cc]: Add new print() and
    print_report() methods, adding callback slots for use by Glom.
	* glom/python_embed/python_module/py_glom_module.cc: Register the new
    Python methods.
	* glom/mode_data/box_data.[h|cc]: execute_button_script(): Handle the
    new signals, calling the new methods in Application.

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

    Details: Align widgets in other columns too.

	* glom/utility_widgets/flowtable.[h|cc]: Added get_columns_count().
	* glom/mode_data/flowtablewithfields.[h|cc]: apply_size_group_to_label():
	Change this to apply_size_groups_to_label().
	align_child_group_labels(): Create a size group for each possible column,
	and call apply_size_groups_to_label() with them.

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

	Details: Align widgets in the first columns of neighbouring layout groups.

	* glom/utility_widgets/flowtable.[h|cc]: Added get_column_for_first_widget(),
	to discover what column a widget is in, and whether it has even been assigned
	to a column yet (if the size has been allocated already.)
	FlowTableItem: Remember whether the item has a column number and what it is.
	on_size_allocate(): Remember the column numbers of items for later retrieval.
	* glom/mode_data/flowtablewithfields.[h|cc]: Info, add_field_at_position():
	Store the pointer to eventbox too, so we can later discover its column from
	the base FlowTable.
	Add align_child_group_labels(), to make all first-level labels in child
	flowtables share a single Gtk::SizeGroup, making them align.
	Add apply_size_group_to_labels() to actually add the labels to the size group.
	add_layout_group_at_position(): Call align_child_group_labels() on new
	sub-flowtables.
	on_size_allocate(): After the base class has allocated the spaces for the
	child widgets, after it therefore knows the column positions for the widgets,
	call apply_size_group_to_labels() to make them align.
	* glom/mode_data/box_data_details.cc: create_layout(): Call
	align_child_group_labels() to align items in top-level groups.

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

  Details: Do not make field widgets too wide, so this fits on a laptop screen.

	* glom/utils_ui.cc: get_suitable_field_width_for_widget(): Do not add 150
	to all calculated widths. I don't know why this code ever did that.

1.13.7:

2010-02-28  Murray Cumming  <murrayc@murrayc.com>

    Python button scripts: Avoid a crash with buttons in lists.

	* glom/mode_data/box_data_list.[h|cc]: on_adddel_script_button_clicked():
	Run the script in the (existing) on_script_button_idle() idle handler because
	the script can cause the cell (that is emitting the signal) to be destroyed,
	by navigating to a different table. This fixes that crash.
	* glom/mode_data/box_data_list_related.cc: Do the same here.
	* glom/mode_data/notebook_data.cc: on_list_user_requested_details(): Use
	the same idle handler trick here, just in case.

2010-02-28  Murray Cumming  <murrayc@murrayc.com>

	Added unit test for the new button script ui python API.

	* Makefile_tests.am:
	* tests/test_python_execute_script.cc: Added unit test for the new button
	script ui python API.

2010-02-28  Murray Cumming  <murrayc@murrayc.com>

    PyGlomUI: Simplify the callbacks object.

	* glom/libglom/python_embed/py_glom_ui.[h|cc]: Use public sigc::slots instead
	  of signals, to simplify this.
	* glom/mode_data/box_data.cc
	  Box_Data::execute_button_script(): Adapt.

1.13.6:

2010-02-28  Murray Cumming  <murrayc@murrayc.com>

  Fix the python function tests.

	* glom/python_embed/glom_python.cc
	glom_execute_python_function_implementation,
	glom_evaluate_python_function_implementation: Import the glom python module
	before trying to create a boost::python::object(new PyGlomRecord), to avoid
	an exception in the tests.

2010-02-28  Murray Cumming  <murrayc@murrayc.com>

	Many files: Rename App_Glom to Application (in namespace Glom).

2010-02-28  Murray Cumming  <murrayc@murrayc.com>

  Python button scripts: Add show_table_details() and show_table_list().

	* Makefile_libglom.am:
	* glom/python_embed/python_module/py_glom_module.cc:
	* glom/libglom/python_embed/py_glom_ui.[h|cc]: Added a PyGlomUI object
	that can be passed to python functions in addition to the record object,
	with methods to navigate in the UI. So far there is just
	show_table_details() and show_table_list().
	* glom/glom_developer.glade: Script editor window: Mention the extra ui
	parameter.
	* glom/python_embed/glom_python.[h|cc]: Add a callback object parameter so
	scripts can tell the caller to change things in the UI.
  * glom/frame_glom.h: Made show_table() public so that the Application can
	call it.
	* glom/application.[h|cc]: Add show_table_details() and add_show_list()
	methods for the callbacks to call.
	* glom/mode_data/box_data.[h|cc]: Handle the callback signals, to actually do
	the navigation when a python script requests it.
	* glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.cc: Adapted.

2010-02-27  Murray Cumming  <murrayc@murrayc.com>

  Python: Prevent field calculations from changing the data in other fields.

	* glom/libglom/python_embed/py_glom_record.[h|cc]: Added set_read_only().
	* glom/python_embed/glom_python.[h|cc]:
	glom_evaluate_python_function_implementation(): Add a bool read_only
	parameter that defaults to true.
	glom_execute_python_function_implementation(): Pass read_only=false so
	scripts can write data to the database via the record object.

2010-02-27  Murray Cumming  <murrayc@murrayc.com>

  Increase required version of libgdamm.

	* configure.ac: Increase libgdamm dependency to the last one that doesn't
	need libgda 4.1/4.2. We actually need some API that was not in the older one.

2010-02-27  Murray Cumming  <murrayc@murrayc.com>

  Revert use of SqlBuilder because it requires libgda 4.1,
  which will not be packaged by the upcoming Ubuntu Lucid, which is an
  important version of an important distro.

2010-02-27  Murray Cumming  <murrayc@murrayc.com>

	More uses of SqlBuilder for SELECT statements.

2010-02-27  Murray Cumming  <murrayc@murrayc.com>

  Fix runtime problems with the use of SqlBuilder.

	* glom/base_db.[h|cc]: query_execute_select(), query_execute(): Catch more
  errors and output better debug and error text.
	get_database_preferences(): Don't bother catching exceptions already caught
	by query_execute*().
	add_standard_tables(): Fix a typo in the SQL query.
	insert_example_data(): Work around an inability in GdaSqlBuilder to INSERT
	a NULL value. I have asked about it on the mailing list.

2010-02-27  Murray Cumming  <murrayc@murrayc.com>

	Use Gnome::Gda::SqlBuilder

	* several files: Use Gnome::Gda::SqlBuilder to simplify query building and to
	make it safer.
	Much of this work was actually by Johannes Schmid for Openismus.

2010-02-27  Murray Cumming  <murrayc@murrayc.com>

  Increase required version of libgdamm.

	* configure.ac: Increase libgdamm dependency to the last one that doesn't
	need libgda 4.1/4.2. We actually need some API that was not in the older one.

2010-02-27  Murray Cumming  <murrayc@murrayc.com>

  Revert use of SqlBuilder because it requires libgda 4.1,
  which will not be packaged by the upcoming Ubuntu Lucid, which is an
  important version of an important distro.

2010-02-27  Murray Cumming  <murrayc@murrayc.com>

	More uses of SqlBuilder for SELECT statements.

2010-02-27  Murray Cumming  <murrayc@murrayc.com>

  Fix runtime problems with the use of SqlBuilder.

	* glom/base_db.[h|cc]: query_execute_select(), query_execute(): Catch more
  errors and output better debug and error text.
	get_database_preferences(): Don't bother catching exceptions already caught
	by query_execute*().
	add_standard_tables(): Fix a typo in the SQL query.
	insert_example_data(): Work around an inability in GdaSqlBuilder to INSERT
	a NULL value. I have asked about it on the mailing list.

2010-02-26  Murray Cumming  <murrayc@murrayc-desktop>

	Use Gnome::Gda::SqlBuilder

	* glom/base_db.[h|cc]: query_execute_select(), query_execute(),
	auto_increment_insert_first_if_necessary(),
	recalculate_next_auto_increment_value(),
	get_next_auto_increment_value(), get_database_preferences(),
	add_standard_table(), set_database_preferences(), insert_example_data(),
	set_field_value_in_database():
	Use Gnome::Gda::SqlBuilder to simplify query building and to make it
	safer.
	Most of this work was actually by Johannes Schmid for Openismus.

2010-02-26  Murray Cumming  <murrayc@murrayc.com>

	Fixed the tests build.

	* tests/test_python_execute_func.cc:
	* tests/test_python_execute_func_date.cc: Updated for the
	extra parameters for glom_evaluate_python_function_implementation().

2010-02-25  Murray Cumming  <murrayc@murrayc.com>

	Python functions: Allow setting of values in the record via [].

	* glom/python_embed/python_module/py_glom_module.cc: Specify a setitem(),
	so python code can use [] syntax to set the record's field values as
	well as getting them.
	* glom/libglom/python_embed/py_glom_record.[h|cc]:
	PyGlomRecord_SetFields(): Take and store the primary key details and value,
	and use it in setitem() to UPDATE the value in the database.
	* glom/python_embed/glom_python.[h|cc]:
	glom_execute_python_function_implementation(),
	glom_evaluate_python_function_implementation():
	Take the primary key field and value.
	* glom/base_db.cc:
	* glom/base_db_table_data.cc:
	* glom/mode_data/box_data.cc:
	* glom/mode_design/fields/dialog_fieldcalculation.cc:
	* glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.cc:
	Adapted.

2010-02-22  Murray Cumming  <murrayc@murrayc.com>

	Avoid showing %20 in the window title.

	* glom/libglom/document/bakery/document.cc: get_name():
	Use Gio::FileInfo::get_display_name() instead of
	Glib::filename_display_basename() or Glib::filename_display_name(), to avoid
	showing %20 in the window title bar when there are spaces in the file name.
	Noticed by Daniel Borgmann.

1.13.5:

2010-02-08  Peter Penz <ppenz@openismus.com>

	libglom: Fix build issue for Maemo.

	* glom/libglom/data_structure/glomconversions.cc: get_text_for_gda_value():
	Add an ifdef for the disabled-exceptions build.


2010-02-22  Murray Cumming  <murrayc@murrayc.com>

	Python functions: Fix regression since the switch to boost::python.

	* glom/python_embed/python_module/py_glom_module.cc: PyRelatedRecord:
	Fix a typo on the getitem() and len() declarations so we can really
	get a related record.

2010-02-22  Murray Cumming  <murrayc@murrayc.com>

	Python functions: Avoid a crash.

	* glom/python_embed/glom_python.cc:
	glom_evaluate_python_function_implementation(): When calling the
	function object, catch exceptions instead of crashing.

2010-02-12  Murray Cumming  <murrayc@murrayc.com>

	Glom Python: Minor code improvement.

	* glom/python_embed/glom_python.cc: glom_evaluate_python_function_implemention():
	Use the extra brackets trick to have boost::python::object and handle
	on one line, so I have to care less about handle<>.

2010-02-12  Murray Cumming  <murrayc@murrayc.com>

	Disable broken import tests.

	* Makefile_tests.am: Comment out the use of the import tests during
	make check. They hang most of the time, which is just stopping distcheck
	from working. We need to fix these (and or the importing itself).
	Then we can reenable them.

2010-02-11  Murray Cumming  <murrayc@murrayc.com>

	libglom/python_embed/: get_item(): Pass object by const reference.

	* glom/libglom/python_embed/py_glom_record.[h|cc]:
	* glom/libglom/python_embed/py_glom_related.[h|cc]:
	* glom/libglom/python_embed/py_glom_relatedrecord.[h|cc:
	getitem(): Pass the object by const &.

1.13.4:

2010-02-11  Murray Cumming  <murrayc@murrayc.com>

	Rename boost::python m4 macro.

	* configure.ac:
	* macros/ax_boost_python.m4: Rename to ax_boost_python_macro.m4 and
	rename the defined m4 macro, to avoid confusion with the cleaner (but
	not working) original.

2010-02-11  Murray Cumming  <murrayc@murrayc.com>

	Fix the build, due to file not added to git.

	* glom/libglom/python_embed/pygdavalue_conversions.cc: Added missing
	file to git.

2010-02-11  Murray Cumming  <murrayc@murrayc.com>

	Fixes for the boost::python configure checks.

	* configure.ac: AC_SUBST(PYTHON_CPPFLAGS) so our python checks can
	use it.
	* macros/ax_boost_python.m4: Use the previously-discovered python
	CPPFLAGS and LIBS so our checks really work.

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

	Use boost::python instead of the Python C API, simplifying the code.

	* configure.ac: Check for boost::python.
	* Makefile.am:
	* Makefile_glom.am: Use boost::python CFLAGS and LIBS.
	* macros/ax_boost_python.m4: Added this macro from
	http://www.nongnu.org/autoconf-archive/ax_boost_python.html
	and hacked it to make it actually work.

	* glom/python_embed/glom_python.cc: Use BOOST_PYTHON_MODULE() instead
	of the obscure Python C API structs and fields that were here and in
	the other .cc files.
	* glom/main.cc:
	* glom/libglom/python_embed/py_glom_record.[h|cc]
	* glom/libglom/python_embed/py_glom_related.[h|cc]
	* glom/libglom/python_embed/py_glom_relatedrecord.[h|cc]
	* glom/python_embed/python_module/py_glom_module.[h|cc]:
	* tests/test_python_execute_func.cc:
	Use boost::python, for instance via boost::python::object, to
	simplify memory management.

	* Makefile_libglom.am:
	* glom/libglom/python_embed/pygdavalue_conversions.[h|c]:
	Change this to a .cc file, using C++, using boost::python.

2010-02-08  Peter Penz <ppenz@openismus.com>

	libglom: Fix build issue for Maemo.

	* glom/libglom/data_structure/glomconversions.cc: get_text_for_gda_value():
	Add an ifdef for the disabled-exceptions build.

1.13.3:

2010-02-03  Michael Hasselmann  <michaelh@openismus.com>

	Fixed a crash that got uncovered by the previous commit

	* glom/libglom/utils.cc (build_sql_select_fields_to_get): Warn about layout
	items that are null and skip them.

2010-02-03  Michael Hasselmann  <michaelh@openismus.com>

	Added a guard clause when adding relationships from fields

	* glom/libglom/utils.cc (add_to_relationships_list): If an invalid layout item
	is passed then its relationship cannot be queried. Libglom users can also force
	layout item fields that are null into this function, hence an additional guard
	clause was added.

2010-02-02  Murray Cumming  <murrayc@murrayc.com>

	Do not include pygtk.h

	* glom/libglom/python_embed/py_glom_record.h:
	* glom/libglom/python_embed/py_glom_relatedrecord.h:
	* glom/python_embed/glom_python.cc: Include pygobject.h instead of
	pygtk/pygtk.h, because we do not use anything from pygtk, or link to it.

2010-01-31  Murray Cumming  <murrayc@murrayc.com>

	Command-line parsing: Added some checks.

	* glom/main.cc: Test the command-line argument filepath for existence and
	check that it's not a directory, so it fails before even showing UI.

2010-01-31  Murray Cumming  <murrayc@murrayc.com>

	Relationships Overview: Avoid GTK+ warnings.

	* glom/mode_design/relationships_overview/dialog_relationships_overview.cc:
	Constructor: Call add_accel_group(), which fixes the warnings during
	destruction mentioned in bug #607938.

2010-01-31  Murray Cumming  <murrayc@murrayc.com>

	Relationships Overview: Maybe fix a hang/crash.

	* glom/mode_design/relationships_overview/dialog_relationships_overview.[h|cc]:
	Signal handlers: Take sigc::bind() RefPtr parameters by value instead of by
	const &, to avoid having to use sigc::ref() or worry if it works.
	Save sigc::connections in a list so we can disconnect signal handlers when
	deleting items bound with sigc::bind(). Do this in the destructor too, which
	seems to fix the valgrind errors in bug #594737, though not the
	instance of invalid non-instantiatable type" warning.

2010-01-27  Michael Hasselmann  <michaelh@openismus.com>

	Fixed the parser to perform stateless async file operations

	* glom/import_csv/csv_parser.[h|cc]: The parser relied on a member variable for
	its async giomm operations, which was able to cause interleaving state
	changes to it, corrupting the object in the worst case. This commit uses the
	source object as a slot parameter to avoid this state problem (working around
	BGO bug #608269).

	* tests/import/utils.[h|cc]: During import tests, break mainloop on file
	read errors (e.g., no file at all).

2010-01-27  Michael Hasselmann  <michaelh@openismus.com>

	Added a test for BGO bug #607938

	* tests/import/data/albums.csv: Real-world example data used for the CSV
	import.

	* tests/import/utils.[h|cc]: Add the possibility to feed a filename into the
	ImportTest directly.

	* tests/import/test_parsing.cc: Test the CSV import of a whole file.

2010-01-27  Michael Hasselmann  <michaelh@openismus.com>

	Added a g_return_if_fail check for invalid URLs

	* glom/import_csv/csv_parser.cc: Do not start the async reading if the file
	object is invalid.

2010-01-27  Murray Cumming  <murrayc@murrayc.com>

	Use Gtk::ToolPalette from the latest gtkmm version, instead of
	EggToolPalette (C) from libegg.

2010-01-26  Murray Cumming  <murrayc@murrayc.com>

	libglom: Correct includes.

	* glom/libglom/*.h: Use the full include libglom/ path for headers, to
	avoid confusion and make life easier for other users of libglom.

2010-01-25  Murray Cumming  <murrayc@murrayc.com>

	* glom/libglom/data_structure/numeric_format.h: Remove unnecessary
	include of privileges.h.

2010-01-25  Murray Cumming  <murrayc@murrayc.com>

	Allow new files to have quotes in their titles.

	* glom/frame_glom.cc:
	connection_request_password_and_choose_new_database_name():
	Remove quotes (and other unusual characters) from the generated
	database name, to avoid errors from the database backend.
	Bug #607957 (Michael Hasselmann)

2010-01-24  Michael Hasselmann  <michael@taschenorakel.de>

	Fixed out-ouf-bounds access during CSV imports

	* glom/import_csv/dialog_import_csv.cc (get_field_for_column): Added boundary
	check for direct field access. Fixes bug #607938.

2010-01-24  Murray Cumming  <murrayc@murrayc.com>

	* ldtp/central-info.xml.example: Added an example central-info.xml, as
	mentioned in the README.

1.13.2:

2010-01-24  Murray Cumming  <murrayc@murrayc.com>

	Details: Buttons: Use horizontal aligment from formatting.

	* glom/mode_data/flowtablewithfields.cc: add_button_at_position():
	Use a Gtk::HBox with either pack_start() or pack_end(), putting it in the
	FlowTable with expand=true to have alignment in the button's space, if we
	don't want the FlowTable's default (left) alignment.

2010-01-24  Murray Cumming  <murrayc@murrayc.com>

	Details: Static Text items: Use horizontal alignment from formatting.

	* glom/utility_widgets/labelglom.[h|cc]: Add a constructor that does not
	take alignment values, like the Gtk::Label base class, so we can easily
	use the default for vertical alignment.
	* glom/mode_data/flowtablewithfields.cc: add_textobject_at_position():
	Use expand=true when adding the widget to the FlowTable, so that labels can
	have the full space in which to actually have alignment.
	* glom/utility_widgets/layoutwidgetbase.cc: apply_formatting: Use appropriate
	multi-line justification for labels, as a user would expect when setting
	horizontal alignment.

2010-01-23  Murray Cumming  <murrayc@murrayc.com>

	Details: Buttons: Use background color from formatting.

	* glom/mode_data/flowtablewithfields.cc: add_button_at_position(): Call
	apply_formatting on the button, not the label, so it has a chance to do the
	right thing on the right widget.

2010-01-23  Murray Cumming  <murrayc@murrayc.com>

	Details: Static Text items: Use background color from formatting.

	* glom/utility_widgets/labelglom.cc: Do not call set_visible_window(false)
	because we really need a visible child X window to be able to change the
	background color.

2010-01-23  Murray Cumming  <murrayc@murrayc.com>

	Details: Static Text items and Buttons: Use foreground color from formatting.

	* glom/utility_widgets/layoutwidgetbase.cc: apply_formatting(): Use the
	foreground color for labels (static text items and buttons).

2010-01-22  Murray Cumming  <murrayc@murrayc.com>

	Details: Static Text items: Use formatting.

	* glom/utility_widgets/labelglom.[h|cc]: Added get_label(), because this
	really has a label as a child.
	* glom/utility_widgets/layoutwidgetbase.cc: apply_formatting(): Use get_label()
	to make formatting work on static text items too.

2.13.1:

2010-01-22  Murray Cumming  <murrayc@murrayc.com>

	Fixed compiler warnings.

	* glom/libglom/data_structure/layout/layoutitem_field.cc:
	get_formatting_used_horizontal_alignment():
	* glom/print_layout/canvas_layout_item.cc: apply_formatting(): Fixed
	compiler warnings.

2010-01-22  Murray Cumming  <murrayc@murrayc.com>

	Make libglom-1.14 install in parallel with libglom-1.12.

	* glom/libglom/glom-1.12.pc.in: Rename to glom-1.14.pc.in
	* configure.ac: Change the libglom ABI version variable and specify the
	changed .pc.in file.
	* Makefile.am, Makefile_libglom.am: Adapt.
	* glom/python_embed/python_module/py_glom_module.[h|cc]: Mention
	2.14 instead of 2.14.
	* tests/test_load_python_library.cc: Adapt.

	* glom/libglom/document/document.cc:
	get_latest_known_document_format_version(): Increment.

2010-01-22  Murray Cumming  <murrayc@murrayc.com>

	Really use formatting for multi-line fields.

	* glom/utility_widgets/textviewglom.[h|cc]: Added get_textview().
	* glom/utility_widgets/layoutwidgetbase.cc: apply_formatting():
	Get the appropriate child for buttons and textviews, making this work
	for textviews (multi line fields), but it still does not work for
	labels (static text items) and buttons.

2010-01-22  Murray Cumming  <murrayc@murrayc.com>

	Allow custom text formatting of Buttons as well as text items and fields.

	* glom/libglom/data_structure/layout/layoutitem_button.[h|cc]:
	Derive from LayoutItem_WithFormatting.
	* glom/libglom/document/document.[h|cc]: Make loading/saving of
	formatting generic so we get it for free whenever a new class
	derives from LayoutItem_WithFormatting.
	* glom/mode_data/flowtablewithfields.cc:
	on_dnd_add_layout_item_button(): Try to apply the formatting to
	the button's label, though it doesn't seem to work.

2010-01-22  Murray Cumming  <murrayc@murrayc.com>

	Allow editing of formatting for static text items.

	* glom/mode_design/layout/layout_item_dialogs/dialog_formatting.[h|cc]:
	Added generic formatting (not choices, not default/custom) dialog
	for static text items and maybe others.
	* glom/mode_design/layout/layout_item_dialogs/box_formatting.[h|cc]:
	set_formatting(): Add optional bool paramters to hide numeric formatting
	and choices.
	* glom/base_db.[h|cc]: Added offer_item_formatting() to use this dialog.
	* glom/mode_design/layout/dialog_layout_details.cc(): Allow editing of
	the formatting for static text items instead of just fields.

	* glom/utility_widgets/db_adddel/db_adddel.cc:
	construct_specified_columns_cellrenderer(): Apply the formatting to
	any LayoutItem_WithFormatting, not just fields.
	* glom/mode_data/flowtablewithfields.cc: add_textobject_at_position():
	Try to apply the formatting to the label, but it doesn't seem to work.

2010-01-22  Murray Cumming  <murrayc@murrayc.com>

	Add LayoutItem_WithFormatting as a Field/StaticText common base class.

	* glom/libglom/data_structure/layout/layoutitem_withformatting.[h|cc]:
	Added LayoutItem_WithFormatting.
	* glom/libglom/data_structure/layout/layoutitem_text.[h|cc]:
	* glom/libglom/data_structure/layout/layoutitem_field.[h|cc]:
	Derive from Layout_WithFormatting, so we can use the base class
	polymorphically, making it easier to support formatting for static text
	items.
	* glom/utility_widgets/layoutwidgetbase.[h|cc]: apply_formatting(),
	* glom/print_layout/canvas_layout_item.[h|cc]: apply_formatting():
	Make this generic for LayoutItem_WithFormatting.

2010-01-22  Murray Cumming  <murrayc@murrayc.com>

	Show the alternative colors for negatives in fields with choices too.

	* glom/utility_widgets/comboentryglom.cc: set_value():
	* glom/utility_widgets/comboglom.cc: set_value(): Use the alternative
	negative color feature here too.

2010-01-21  Murray Cumming  <murrayc@murrayc.com>

	Field Formatting: Text Formatting: Add horizontal alignment option.

	* glom/libglom/data_structure/layout/fieldformatting.[h|cc]:
	Added get/set_horizontal_alignment().
	* glom/libglom/data_structure/layout/layoutitem_field.[h|cc]:
	Added get_formatting_used_horizontal_alignment() to interpret the
	AUTO alignment depending on the fields details.
	* glom/libglom/document/document.cc:
	load_after_layout_item_formatting(), save_before_layout_item_formatting():
	load/save the new setting.

	* glom/glom_developer.glade: window_formatting: Added the alignment combo.
	* glom/mode_design/layout/layout_item_dialogs/box_formatting.[h|cc]:
	Show/Save the alignment.
	* glom/utility_widgets/db_adddel/db_adddel.cc: apply_formatting():
	* glom/utility_widgets/entryglom.cc: set_layout_item():
	* glom/utility_widgets/comboentryglom.cc: set_layout_item():
	Set xalign from get_formatting_used_horizontal_alignment().

2010-01-16  Murray Cumming  <murrayc@murrayc.com>

	Field Formatting: Negative values color: Make this just a bool check box.

	* glom/libglom/data_structure/numeric_format.[h|cc]: Use just a bool
	to say if negative values should be shown in an alternative color.
	Add static get_alternative_color_for_negatives() to get that color.
 	* glom/libglom/data_structure/layout/fieldformatting.cc:
 	get_text_format_color_foreground_to_use(): Updated the implementation.
 	* glom/libglom/document/document.cc:
	load_after_layout_item_formatting(), save_before_layout_item_formatting():
	Updated.

	* glom/glom_developer.glade: window_formatting: Show only a checkbox, not
	a color too, for the alternative color for negatives.
	* glom/mode_design/layout/layout_item_dialogs/box_formatting.[h|cc]:
	Updated.

2010-01-15  Michael Hasselmann  <michaelh@openismus.com>

	Add forgotten header to libglom's Makefile

	* Makefile_libglom.am: libglom_include_HEADERS forgot to mention utils.h
	although it was mentioned in the *_la_SOURCES.


2010-01-15  Michael Hasselmann  <michaelh@openismus.com>

	Updated the comment for NumericFormat's default precision

	* glom/libglom/data_structure/numeric_format.h (get_default_precision): The
	precision applies to the decimal places only, not the whole number. Comment
	updated.

2010-01-15  Murray Cumming  <murrayc@murrayc.com>

	Field Formatting: Allow an alternative color for negative values.

	* glom/libglom/data_structure/numeric_format.[h|cc]:
	Added m_foreground_color_for_negatives.
	* glom/libglom/data_structure/layout/fieldformatting.[h|cc]:
	Added get_text_format_color_foreground_to_use().
	* glom/libglom/document/document.cc:
	load_after_layout_item_formatting(), save_before_layout_item_formatting():
	load/save the new setting.

	* glom/glom_developer.glade: window_formatting: Added negatives color
	and checkbox to the numeric formatting tab.
	* glom/mode_design/layout/layout_item_dialogs/box_formatting.[h|cc]:
	Show/Save the color.
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	treeviewcolumn_on_cell_data()_
	* glom/utility_widgets/entryglom.cc: set_value():
	Use the color for negatives if appropriate.
	* glom/print_layout/canvas_layout_item.cc: Add a TODO to use it here too.

1.12.5 (stable):

2010-01-20  Murray Cumming  <murrayc@murrayc.com>

	Fix a crash in previous commit.

	* glom/utility_widgets/db_adddel/db_adddel.cc: get_fixed_cell_height():
	Fixed a null-pointer crash when also checking LayoutItem_Text items,
	though the UI doesn't actually allow the font to be specified for them
	yet.

2010-01-20  Murray Cumming  <murrayc@murrayc.com>

	List View: Don't chop off the bottom of text when using large fonts.

	* glom/utility_widgets/db_adddel/db_adddel.cc: get_fixed_cell_height():
	Use the font description from the FieldFormatting, to get a more
	suitable max height for all columns.
	remove_all_columns(): Set m_fixed_cell_height back to 0 so it
	will be recalculated for the new columns.
	Fixes bug #607023 (Michael Hasselmann)

2010-01-14  Murray Cumming  <murrayc@murrayc.com>

	libglom: Some API documentation.

	* glom/libglom/data_structure/layout/layoutitem_field.h:
	* glom/libglom/data_structure/layout/usesrelationship.h:
	Added doxygen comments at request of Michael Hasselmann.

2010-01-14  Murray Cumming  <murrayc@murrayc.com>

	Rename get_stringstream_precision_default().

	* glom/libglom/data_structure/glomconversions.[h|cc]:
	get_stringstream_precision_default(): Rename this to the slighly-better
	named (because it's not mentioning implementation)
	NumericFormat::get_default_precision() in
	* glom/libglom/data_structure/numeric_format.[h|cc]: and document it
	vaguely.

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-14  Murray Cumming  <murrayc@murrayc.com>

	Minor simplification.

	* glom/libglom/data_structure/glomconversions.cc:
	get_stringstream_precision_default(): Simplify this fu
