0.8.16: 2005-03-15 Murray Cumming * glom/mode_data/box_data.cc: * glom/mode_data/box_data.h: * glom/mode_data/box_data_details.cc: * glom/mode_data/box_data_details.h: * glom/mode_data/box_data_list.cc: Moved the related record creation/warning code from Box_Data_Details::on_flowtable_field_edited() into the base Box_Data class, as Box_Data::add_related_record_for_field(), and used it from Box_Data_List::on_adddell_user_changed(). This means that automatic creation of related records works from the List view too. 2005-03-15 Murray Cumming * glom/mode_data/box_data.cc: confirm_discard_unstored_data(): The buttons argument of MessageDialog is not a flag - really show both buttons. * glom/mode_data/box_data_details.cc: fill_from_database(): Call set_unstored_data(false) at the end. If there really is some unstored data then it is too late at this point. 2005-03-15 Murray Cumming * glom/mode_data/box_data_list.cc: on_adddel_user_requested_add(): When the primary key value does not exist yet, call on_adddel_user_added() regardless of whether the field is autoincremented. This makes record adding work again if the primary key is not auto-increment. 2005-03-15 Murray Cumming * glom/data_structure/glomconversions.cc: * glom/data_structure/glomconversions.h: * glom/mode_data/box_data.cc: generate_next_auto_increment(): unbreak this, so that adding records works again if the primary key is auto incremented. 2005-03-14 Murray Cumming * glom/document/document_glom.cc: * glom/mode_data/box_data_list.cc: * glom/utility_widgets/db_adddel/db_adddel.cc: * glom/utility_widgets/db_adddel/db_adddel.h: * glom/utility_widgets/db_adddel/glom_db_treemodel.cc: * glom/utility_widgets/db_adddel/glom_db_treemodel.h: Glom_Db_TreeModel::on_treeview_cell_edited(): Do not set a bogus key value when a column is the first to get a value, and do not mark it as no longer a placeholder. This prevents a crash when adding two field values without yet entereing a primary value. But the primary key value is still not used when it is entered. 2005-03-14 Murray Cumming * glom/box_db_table.h: * glom/data_structure/field.h: * glom/mode_data/box_data.cc: * glom/mode_data/box_data.h: * glom/mode_data/box_data_details.cc: * glom/mode_data/box_data_list.cc: * glom/utility_widgets/db_adddel/db_adddel.cc: Box_Data_Details::on_flowtable_field_edited(): When it's a related field that was edited, create a related record, where allowed by the relationship, and where possible, with warnings where not. This is quite a lot of code - it should be abstracted so it can be used for the list too. 2005-03-14 Murray Cumming * examples/example_smallbusiness.glom: * glom/glom_document.dtd: * glom/document/document_glom.cc: * glom/data_structure/relationship.cc: * glom/data_structure/relationship.h: Add get/set_auto_create() to specify whether details and lists view should automatically create related fields when the user enters data into a record that does not yet exist. * glom/mode_design/box_db_table_relationships.cc: * glom/mode_design/box_db_table_relationships.h: on_adddel_user_activated(): Do not clear the to_field when the user clicks on it. * glom/utility_widgets/db_adddel/db_adddel.cc: If allow_add is false, deactivate the Add context menu item, and do not add new-record placeholder rows. * glom/mode_data/box_data_list_related.cc: Set DbAddDel::set_allow_add() according to the relationship. 0.8.15: