2011-10-27 Murray Cumming More includes fixes to fix the build. 2011-10-26 Murray Cumming Add and move #includes for the latest glibmm. * glom/import_csv/csv_parser.cc: * glom/import_csv/dialog_import_csv_progress.cc: * glom/libglom/connectionpool.cc: * glom/libglom/connectionpool_backends/postgres_self.cc: * glom/libglom/privs.cc: * glom/libglom/spawn_with_feedback.cc: * glom/mode_data/box_data_list.cc: * glom/mode_data/box_data_list_related.cc: * glom/mode_data/db_adddel/db_adddel.cc: * glom/mode_data/notebook_data.cc: * glom/mode_design/print_layouts/window_print_layout_edit.h: * glom/utility_widgets/dialog_image_load_progress.cc: * glom/utility_widgets/dialog_image_save_progress.cc: * glom/utils_ui.cc: * tests/import/utils.cc: Add individual glibmm includes now that gmmproc does not include glibmm.h from headers. Always include glibmm/thread.h first to avoid deprecation warnings. 2011-10-25 Murray Cumming Change #includes for the latest glibmm. Add individual includes instead of general giomm.h, glibmm.h or gtkmm.h includes. Among other things, this might let us avoid the annoying warning about deprecated GThread functions. 2011-10-24 Murray Cumming Do not include gtkmm.h, glibmm.h, giomm.h, or similar in headers. * Many files: Use more specific includes. 2011-10-21 Murray Cumming Avoid calling g_thread_init() if possible. * configure.ac: Add a comment about not linking to gthread-2.0 in future. * glom/libglom/init.cc: * tests/import/test_parsing.cc: * tests/import/test_signals.cc: Avoid calls to deprecated Glib::thread_init() if glib is new enough. This is a step to making Glom build against glibmm from git master with --enable-warnings=fatal. 2011-10-17 Murray Cumming Examples: Remove all column_width attributes now that defaults are good. * examples/example_film_manager.glom: * examples/example_lesson_planner.glom: * examples/example_music_collection.glom: * examples/example_project_manager.glom: * examples/example_smallbusiness.glom: * examples/sqlite/test_sqlite_music/test_sqlite_music.glom: * examples/tests/example_field_formatting_test.glom: * ldtp/database-templates/PostgresCentral/Test.glom: * ldtp/database-templates/SQLite/Test.glom: A simple regexxer replace. 2011-10-17 Murray Cumming List View: Correct the default column widths. * glom/utils_ui.[h|cc]: get_suitable_field_width_for_widget(): Added a for_treeview parameter and adjust the width accordingly. * glom/mode_data/db_adddel/db_adddel.cc: treeview_append_colum(): Replace the overly-generic division-by-3 hack with the new parameter, and add some hard-coded extra space. 2011-10-17 Murray Cumming Details: Avoid an outdent after group titles * glom/mode_data/flowtablewithfields.cc: add_layout_group(): Work around the GtkFrame bug #644199 2011-10-15 Murray Cumming Related records portals: Allow navigation via read-only relationships. * glom/mode_data/box_data_list_related.cc: on_adddel_user_requested_edit(): Remove the check for a non-editable relationship, because that is about editing, but this is about opening, and we already have the navigation=None option. 2011-10-13 Murray Cumming Deleting tables: Remove all auto-increment rows. * glom/navigation/box_tables.cc: Remove the autoincrement rows for all autoincrement fields. 2011-10-13 Murray Cumming Deleting tables: Remove the auto-increment too. * glom/libglom/db_utils.[h|cc]: Added remove_auto_increment(). * glom/navigation/box_tables.cc: on_adddel_Delete(): Remove the primary key's autoincrement too. Bug #661653 2011-10-13 Murray Cumming DbUtils: Add some parameter checks to the autoincrement methods. * glom/libglom/db_utils.cc: Otherwise we risk having an empty where clause, and doing unwanted things to the entire table. 2011-10-13 Murray Cumming DbUtils: Avoid some repeated code. * glom/libglom/db_utils.cc: Add a utility function for adding the where clause for the auto-increments table. 2011-10-13 Ben Konrath Add example document to test field formatting. * examples/tests/example_field_formatting_test.glom: New file. 2011-10-11 Murray Cumming TranslatableItem: Make get_title() virtual. * glom/libglom/data_structure/translatable_item.h: Make get_title() virtual, like get_title_or_name() already is, so we can make get_title() useful generically via the base class. * glom/libglom/data_structure/layout/layoutitem_field.[h|cc]: * glom/libglom/data_structure/layout/layoutitem_portal.[h|cc]: * glom/libglom/data_structure/layout/report_parts/layoutitem_fields ummary.[h|cc]: Add get_title() overrides. * glom/mode_data/box_data_calendar_related.cc: * glom/mode_data/box_data_list_related.cc: * glom/print_layout/print_layout_utils.cc: Use get_title() instead of get_title_or_name(), to avoid showing names of intentionally title-less groups and notebooks. 2011-10-11 Murray Cumming LayoutItem_Portal: Make get_title_or_name() useful. * glom/libglom/data_structure/layout/layoutitem_portal.[h|cc]: Add an override for get_title_or_nam(), so that callers do not need to special-case portals compared to other groups. * glom/mode_data/box_data_calendar_related.cc: * glom/mode_data/box_data_list_related.cc: * glom/mode_data/box_data_portal.cc: * glom/mode_data/flowtablewithfields.cc: * glom/print_layout/print_layout_utils.cc: Use get_title_or_name() instead of more complicated code. 2011-10-06 Murray Cumming TreeModelDb: fill_values_if_necessary(): Avoid a crash. * glom/mode_data/datawidget/treemodel_db.cc: Do not try to use a null GdaDataModel, which can happen if a SQL query fails. 2011-10-06 Murray Cumming Document: get_data_layout_groups_default(): Simplify the default structure. * glom/libglom/document/document.cc: Do not create the useless "main" top-level group for details layouts. 2011-10-02 Murray Cumming Find: Get criteria even when a field is on the layout twice. * glom/mode_data/flowtablewithfields.cc: get_field_value(): Look at all the widgets for this field, instead of just the first one, and keep looking until we find a non-empty value. This is still rather arbitrary, but this method is only used for find criteria, or should be. 2011-09-29 Murray Cumming Dialog_Choose_ID: Work around a crash in GTK+. * glom/mode_data/datawidget/dialog_choose_id.cc: Remove the Box_Data_List from the parent container (we added it earlier), to avoid a crash, though it would be good to fix that properly and generically. Bug #660347 2011-09-29 Murray Cumming build_simple_where_expression(): Check input parameters. * glom/libglom/utils.cc: build_simple_where_expression(): Check for an empty key field, which can happen during debugging. 2011-09-29 Murray Cumming Glade utils: Catch generic exceptions. * glom/glade_utils.h: Though this only happens when gtkmm has not been initialized. 2011-10-06 Ben Konrath Fix small bugs in commented-out debugging print statements. https://bugzilla.gnome.org/show_bug.cgi?id=661009 * glom/libglom/db_utils.cc: Change field to layout_item. Move print statement to be after the assignment to field_used_in_relationship_to_one. 2011-09-28 Murray Cumming Related Records: Fix bug with a blank row when there is only one row. * glom/libglom/connectionpool.[h|cc]: Added get_backend_supports_cursor(). * glom/mode_data/datawidget/treemodel_db.cc: refresh_from_database(): Call that method, so we can avoid using GdaDataAccessWrapper unless necessary. That avoids an apparent bug with GdaDataAccessWrapper returned a row of all-nulls if there is only one row. See libgda bug #660344 . This is probably a performance improvement anyway. 2011-09-27 Murray Cumming > libglom::LayoutItem_Portal: Added get_suitable_table_to_view_details(). * glom/base_db.[h|cc]: Move the get_portal_navigation_relationship_automatic() and get_suitable_table_to_view_details() utility functions to: * glom/libglom/data_structure/layout/layoutitem_portal.[h|cc]: Also move other privately-used utility functions here too, from Base_DB. * glom/mode_design/layout/dialog_layout_calendar_related.cc: update_ui(): * glom/mode_design/layout/dialog_layout_list_related.cc: update_ui(): * glom/mode_data/box_data_portal.cc: get_has_suitable_record_to_view_details(), get_has_suitable_record_to_view_details(): Adapted. 2011-09-27 Murray Cumming libglom::layout_field_should_have_navigation(): Return Relationship not bool. * glom/libglom/db_utils.[h|cc]: layout_field_should_have_navigation(): Make field_used_in_relationship_to_one() be a Relationship so it can be used for actual navigation. Also require that the LayoutItem_Field has full field information, instead of updating it, so that it can be const. * glom/mode_data/datawidget/datawidget.cc: Constructor: Adapted. * glom/mode_data/box_data_details.cc: on_flowtable_field_open_details_requested(): Use it here instead of the copy/pasted code. 2011-09-27 Murray Cumming Add libglom::layout_field_should_have_navigation(). * glom/mode_data/datawidget/datawidget.cc: Constructor: Moved decision code from here to here: * glom/libglom/db_utils.[h|cc]: Added layout_field_should_have_navigation().