0.9.7:

2006-03-08  Murray Cumming  <[email protected]>

       * glom/data_structure/glomconversions.cc: parse_date(): Fix incorrect sanity check
       of the month, so that January is not changed to February. tm.tm_mon _does_ start
       with 0.

2006-03-08  Murray Cumming  <[email protected]>

       * glom/data_structure/glomconversions.cc: parse_value(): If parsing of the time
       fails, fall back to trying the C locale. This is usually necessary. No idea why.

2006-03-08  Murray Cumming  <[email protected]>

       * glom/utility_widgets/db_adddel/db_adddel.cc: on_cell_button_clicked():
       Do not interpret an edit request on a placeholder row as a request to add. This
       means that Glom switches to an empty details view instead, as you would expect.

2006-03-08  Murray Cumming  <[email protected]>

       * glom/utility_widgets/db_adddel/glom_db_treemodel.cc: refresh_from_database():
       If there are no rows it is not an error. There are just no records in the table
       yet.

2006-03-07  Murray Cumming  <[email protected]>

       * glom/data_structure/layout/layoutitem_field.cc: get_editable_and_allowed():
       Report calculated fields as always non-editable.
       * glom/layout_item_dialogs/dialog_field_layout.cc: set_field(): Do not allow
       calculated fields to be editable, by graying-out the checkbox.
       * glom/main.cc: Translate the command-line options, and add a --version
       option.
       * glom/utility_widgets/comboglomchoicesbase.cc: set_choices_with_second():
       For the optional second column in the popdown, use the correct formatting,
       instead of reusing the formatting from the first column.
       * glom/utility_widgets/datawidget.cc: set_editable(): For ComboBoxEntry
       widgets, set the child entry as non-editable.

2006-03-07  Murray Cumming  <[email protected]>

       * glom/main.cc: Call PySys_SetArgv, to prevent use of pygtk from
       crashing when using pygtk 2.9/2.10.
       * glom/mode_data/dialog_layout_details.cc: on_cell_data_name(): Name buttons as
       buttons in the name column, instead of leaving it blank.

2006-03-07  Murray Cumming  <[email protected]>

       * glom/application.cc: on_document_load(): When saving from an example, temporarily increase
       the user level, so that save_changes() always saves.
       * glom/document/document_glom.cc:
       set_modified(): Save even if modified is already set, because this can happen
       after unblocking save-on-modified. If there are endless loops then we need to
       fix them elsewhere instead.
       load_after(): Block setting of modified state while loading.

2006-03-06  Murray Cumming  <[email protected]>

       * glom/box_reports.cc:
       * glom/data_structure/report.cc:
       * glom/dialog_layout_report.cc:
       * glom/document/document_glom.cc: Prevent crashes when adding reports,
       or editing them.

2006-03-02  Ilkka Tuohela  <[email protected]>

       * configure.in: Added "fi" to ALL_LINGUAS

2006-02-24  Murray Cumming  <[email protected]>

       * glom/utility_widgets/adddel/adddel.cc:
       * glom/utility_widgets/adddel/adddel.h: Added set_prevent_duplicates() and
       set_prevent_duplicates_warning().
       * glom/mode_design/box_db_table_relationships.cc:
       * glom/mode_design/fields/box_db_table_definition.cc:
       * glom/navigation/box_tables.cc: Use the new AddDel methods to prevent, and warn about,
       duplicate tables, fields, and relationships, to prevent crashes.

2006-02-23  Murray Cumming  <[email protected]>

       * glom/mode_design/fields/box_db_table_definition.cc: postgres_change_column_type():
       Data conversion commands: Fix crashes when converting from text to boolean, and from
       boolean to number. Preserve information when converting from anything to boolean.

2006-02-22  Murray Cumming  <[email protected]>

       * glom/mode_data/dialog_layout_list.cc:
       * glom/mode_data/dialog_layout_list.h: Do not allow people to put image
       fields on the list view, because it can not show them yet.
       * glom/utility_widgets/db_adddel/db_adddel.cc: Some skeleton code to
       support (very scaled-down) images on the list view. But I have not actually
       implemented it because I do not want yet more versions of the code that
       works around the libgda 1.2 binary escaping problem.

2006-02-22  Murray Cumming  <[email protected]>

       * glom/mode_design/fields/box_db_table_definition.cc:
       postgres_change_column_type(): Use textcat() to add a preceding 0 when
       using to_number(), so that it always succeeds. Now I can not make glom
       crash or error when converting field types, though the results are a bit
       strange for text<->to date.

2006-02-22  Murray Cumming  <[email protected]>

       * glom/base_db.cc:
       * glom/base_db.h: Add override of
       calculate_field_in_all_records() that does not need the primary key
       spoon-fed to it. Get all the primary key values, not all the calculated
       field values.
       * glom/mode_design/fields/box_db_table_definition.cc:
       on_Properties_apply(): Warn about necessary recalculation and
       allow the user to cancel the change of field definition.
       change_definition(): Recalculate all values if necessary. This
       even works.

2006-02-22  Murray Cumming  <[email protected]>

       * glom/data_structure/field.cc:
       * glom/data_structure/field.h:
       * glom/base_db.cc:
       * glom/base_db.h: Move get_calculation_fields() to Base_DB,
       so it can return a LayoutItem_Field, instead of a field name,
       so it can refer to related fields, though we are not using them
       yet.
       * glom/mode_data/box_data_details.cc:
       * glom/mode_design/fields/dialog_fieldcalculation.cc: Adapt.

2006-02-22  Murray Cumming  <[email protected]>

       * glom/base_db.cc:
       * glom/base_db.h: FieldInRecord: Change primary_key*
       to key*, so we can use this for foreign keys for
       related records.
       * glom/mode_data/box_data.cc:
       * glom/mode_data/box_data_details.cc: Adapt.
       * glom/utils.cc:
       * glom/utils.h: Rename build_sql_select_with_primary_key() to
       build_sql_select_with_key

2006-02-22  Murray Cumming  <[email protected]>

       * glom/utils.cc:
       * glom/utils.h: Added build_sql_select_with_primary_key().
       * glom/base_db.cc:
       * glom/base_db.h: Added FieldInRecord inner class and
       used it to reduce the number of parameters for
       do_calculations(), do_lookups(), refresh_related_field(),
       calculate_field(), set_field_value_in_database().
       * glom/mode_data/box_data.cc:
       * glom/mode_data/box_data.h:
       * glom/mode_data/box_data_details.cc:
       * glom/mode_data/box_data_list.cc: Change the method
       overrides and implementations to match.

2006-02-20  Murray Cumming  <[email protected]>

       * glom/box_db_table.cc:
       * glom/box_db_table.h:
       * glom/mode_data/box_data.cc:
       * glom/mode_data/box_data.h:
       * glom/mode_data/box_data_details.cc:
       * glom/mode_data/box_data_details.h:
       * glom/mode_data/box_data_list.cc:
       * glom/mode_data/box_data_list.h:
       * glom/base_db.cc:
       * glom/base_db.h: Moved calculate_field(), get_record_field_values(),
       set_entered_field_data(), set_field_value_in_database(), build_sql_select(),
       do_calculations(), get_calculated_fields(), do_lookups(), get_lookup_fields(),
       get_lookup_value(), and refresh_related_fields() down to the Base_DB class,
       with extra table_name arguments, so we can recalculate/lookup fields even if they
       the tables or records are not being shown currently.

2006-02-20  Murray Cumming  <[email protected]>

       * glom/connectionpool.cc:
       * glom/connectionpool.h: connect(): Parse the result of SELECT version() and return
       it from get_postgres_server_version(), so we can optionally use some new features,
       behind the scenes.

2006-02-19  Murray Cumming  <[email protected]>

       * glom/combobox_relationship.cc:
       * glom/combobox_relationship.h: set_display_parent_table(): Add a separator after
       the table title, so that relationships are special.
       * glom/mode_data/dialog_choose_field.cc: set_document(): Scroll the current field
       into view, so it is always visible.

2006-02-19  Murray Cumming  <[email protected]>

       * glom/mode_data/dialog_choose_field.cc: set_document(): Supply the table title as
       well as the name, so it shows up.

2006-02-19  Murray Cumming  <[email protected]>

       * glom/mode_design/fields/dialog_fielddefinition.cc: set_field(): Do not show the
       current table name in the list of relationships for lookups.

2006-02-19  Murray Cumming  <[email protected]>

       * glom/glom.glade:
       * glom/mode_design/fields/dialog_fielddefinition.cc:
       * glom/mode_design/fields/dialog_fielddefinition.h: Rename the Default Value tab
       to Value. Use radiobuttons to make the calculation and the rest mutually exclusive.