2005-05-04 Murray Cumming * glom/base_db.cc: get_table_privileges(): Really give full rights to members of the developer group, whatever rights that group has saved. 2005-05-04 Murray Cumming * glom/frame_glom.cc: Show the organisation name as well as the system name. * glom/navigation/box_tables.cc: Check for glom_system_* tables and do not show them. 2005-05-04 Murray Cumming * glom/mode_data/box_data_list.cc: * glom/utility_widgets/db_adddel/db_adddel.cc: Pass the where_clause when calling refresh_from_database() on the model. * glom/utility_widgets/db_adddel/glom_db_treemodel.cc: * glom/utility_widgets/db_adddel/glom_db_treemodel.h: refresh_from_database(): Take where_clause parameter as well as in the constructor. clear() existing records before getting them again. 2005-05-04 Murray Cumming * glom/base_db.cc: get_next_autoincrement_value(): Really increment the value. 2005-05-04 Murray Cumming * glom/base_db.cc: * glom/base_db.h: Added auto_increment_insert_first_if_necessary() by moving some code from get_auto_increment_next_value(). * glom/dialog_database_preferences.cc: * glom/dialog_database_preferences.h: load_from_document(): Iterate over all fields and call auto_increment_insert_first_if_necessary() for all primary keys, so they all show up in the dialog. 2005-05-04 Murray Cumming * glom/base_db.cc: get_table_privileges(): Reverted a search/replace that broke parsing of user rights. 2005-05-03 Murray Cumming * glom/base_db.cc: * glom/base_db.h: Added get_next_auto_increment_value() add_standard_table(): add the glom_system_autoincrements table. * glom/dialog_database_preferences.cc: * glom/dialog_database_preferences.h: Read and write to the autoincrement table. * glom/mode_data/box_data.cc: * glom/standard_table_prefs_fields.h: Added structure for glom_system_autoincrements table. 2005-05-03 Murray Cumming * glom/application.cc: * glom/application.h: * glom/base_db.cc: * glom/box_db.cc: * glom/box_db.h: * glom/frame_glom.cc: * glom/frame_glom.h: * glom/glom.glade: * glom/mode_data/box_data_details.cc: * glom/mode_data/box_data_list.cc: * glom/mode_find/box_data_details_find.cc: * glom/mode_find/box_data_list_find.cc: * glom/notebook_glom.cc: * glom/notebook_glom.h: Move Mode label to the bottom of the window. Show the system name at the top, from the database preferences. Remove crufty hints stuff. 2005-05-03 Murray Cumming * glom/Makefile.am: * glom/dialog_database_preferences.cc: * glom/dialog_database_preferences.h: * glom/glom.glade: Added dialog to show system-wide details and next auto-increment values. * glom/data_structure/Makefile.am: * glom/data_structure/system_prefs.cc: * glom/data_structure/system_prefs.h: New class to hold system-wide preferences. * glom/standard_table_prefs_fields.h: Added list of #defines for the standard table database structure. * glom/application.cc: recreate_database(): Call new add_standard_tables() method to hold system-wide preferences. * glom/base_db.cc: * glom/base_db.h: Move some of recreate_database() into create_table() and reused it in new add_standard_tables() method. * glom/frame_glom.cc: * glom/frame_glom.h: Add Developer/Database Preferences menu item and handle it. 2005-05-02 Murray Cumming * glom/utility_widgets/db_adddel/db_adddel.cc: Use ScrolledWindow::set_policy(POLICY_AUTOMATIC) so we do not get useless scrollbars. 2005-05-02 Murray Cumming * glom/mode_find/box_data_list_find.cc: * glom/mode_find/box_data_list_find.h: Override some signal handlers from the base class, to prevent adding new rows to the database. * glom/utility_widgets/db_adddel/glom_db_treemodel.cc: get_value_vfunc(): Check the count of columns, not the count of columns in the data model, so we can show an empty placeholder row without database data, for instance in Find mode. 2005-05-02 Murray Cumming * glom/application.cc: * glom/application.h: Added set_mode_find(). * glom/frame_glom.cc: on_notebook_find_criteria(): Show a dialog when no records were found, and offer to return to find mode. Show the mode in the Mode menu when programatically changing mode. 2005-05-02 Murray Cumming * glom/base_db.cc: * glom/base_db.h: * glom/box_db_table.cc: * glom/box_db_table.h: * glom/frame_glom.cc: * glom/frame_glom.h: * glom/main.cc: * 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/mode_data/box_data_list_related.cc: * glom/mode_data/box_data_list_related.h: * glom/mode_data/notebook_data.cc: * glom/mode_data/notebook_data.h: * glom/mode_design/box_db_table_relationships.cc: * glom/mode_design/box_db_table_relationships.h: * glom/mode_design/dialog_design.cc: * glom/mode_design/dialog_design.h: * glom/mode_design/dialog_fields.cc: * glom/mode_design/dialog_fields.h: * glom/mode_design/dialog_relationships.cc: * glom/mode_design/dialog_relationships.h: * glom/mode_design/fields/box_db_table_definition.cc: * glom/mode_design/fields/box_db_table_definition.h: * glom/mode_find/box_data_details_find.cc: * glom/mode_find/box_data_details_find.h: * glom/mode_find/box_data_list_find.cc: * glom/mode_find/box_data_list_find.h: * glom/mode_find/notebook_find.cc: * glom/mode_find/notebook_find.h: * glom/navigation/box_tables.cc: * glom/navigation/box_tables.h: init_from_database(), fill_from_database(), and refresh_from_database() now return a bool. This should let us detect empty results from finds. * 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: Add AddDel::refresh_from_database(), and DbTreeModel::refresh_from_database() so we can build the structure separately and refill it repeatedly with data. 2005-05-01 Murray Cumming * glom/data_structure/field.cc: * glom/data_structure/field.h: Added sql_find_operator() * glom/mode_data/box_data.cc: Use it instead of LIKE. * glom/utility_widgets/db_adddel/db_adddel.cc: * glom/utility_widgets/db_adddel/db_adddel.h: Fix crash due to use of old key column.