0.8.36: 2005-07-21 Murray Cumming * glom/data_structure/layout/fieldformatting.cc: * glom/data_structure/layout/fieldformatting.h: Added change_field_name() and change_relationship_name(), to update choices when these change. * glom/data_structure/layout/layoutgroup.cc: Update field formatting too. * glom/document/document_glom.cc: change_relationship_name(), change_field_name(): Update all the default formatting too. * glom/mode_data/box_data_list.cc: * glom/mode_data/box_data_list_related.cc: * glom/mode_data/box_data_list_related.h: on_adddel_user_requested_add(): Do not try to add related records to portals that have no columns, avoiding a database error. 2005-07-21 Murray Cumming * glom/data_structure/layout/layoutgroup.cc: * glom/data_structure/layout/layoutgroup.h: * glom/data_structure/layout/layoutitem_portal.cc: * glom/data_structure/layout/layoutitem_portal.h: Inherit from LayoutGroup instead of LayoutItem, so we can store the related records layout inside it, instead of in a separate hacked-up layout node in the document. * glom/document/document_glom.cc: * glom/document/document_glom.h: Save LayoutItem_Portal layout groups. * glom/mode_data/box_data_details.cc: * glom/mode_data/box_data_list_related.cc: * glom/mode_data/box_data_list_related.h: * glom/mode_data/dialog_layout_details.cc: * glom/mode_data/dialog_layout_list_related.cc: * glom/mode_data/dialog_layout_list_related.h: * glom/mode_data/treestore_layout.h: * glom/utility_widgets/flowtablewithfields.cc: Pass the whole LayoutItem_Portal around instead of just the relationship name, and don't try to store the portal layout separately in the document. 2005-07-21 Murray Cumming * glom/data_structure/layout/layoutgroup.cc: * glom/data_structure/layout/layoutgroup.h: Added change_relationship_name() to update the layout when a relationship is renamed. * glom/document/document_glom.cc: * glom/document/document_glom.h: Added change_relationship_name(). * glom/mode_design/box_db_table_relationships.cc: save_to_document(): Detect a rename and call Document_Glom::change_relationship_name() so it does not break the layout. 2005-07-21 Murray Cumming * glom/data_structure/layout/layoutgroup.cc: * glom/data_structure/layout/layoutgroup.h: Added change_related_field_item_name(). change_field_item_name(): Process child groups and self-related fields. * glom/document/document_glom.cc: change_field_name(): Process all tables, to change related fields in layouts and reports. 2005-07-20 Murray Cumming * glom/mode_data/dialog_choose_field.cc: Constructor: The list is now sorted alphabetically. * glom/utils.cc: build_sql_select_with_where_clause(): Prefix aliases with relationship_ to avoid conflicts with table names. 2005-07-20 Murray Cumming * glom/base_db.cc: Base_DB::set_database_preferences(): Save the title into the document as well as the database, for the window title, and for database recreation. 2005-07-20 Murray Cumming * glom/data_structure/relationship.cc: * glom/data_structure/relationship.h: Added get/set_allow_edit() * glom/data_structure/layout/layoutitem_field.cc: get_editable_and_allowed(): Also check the relationship, if any. * glom/document/document_glom.cc: Load/Save the allow_edit of the relationship. * glom/mode_design/box_db_table_relationships.cc: * glom/mode_design/box_db_table_relationships.h: Add a column for allow_edit, so relationships can prevent editing of related fields. 2005-07-20 Murray Cumming * glom/document/document_glom.cc: fill_layout_field_details(): Get field details from the appropriate table, even if it is a related field. This stops us losing related fields on layouts. 2005-07-19 Murray Cumming * glom/utils.cc: build_sql_select(): Use AS to create an alias name for the related table, so we can use two relationships to the same table.