2006-03-21 Murray Cumming * glom/standard_table_prefs_fields.h: * glom/document/document_glom.cc: create_table_system_preferences(): Added a logo image field to the system preferences table. * glom/mode_design/fields/box_db_table_definition.cc: * glom/mode_design/fields/box_db_table_definition.h: * glom/base_db.cc: * glom/base_db.h: Moved postgres_add_column() and postgres_change_column_extras() to Base_DB. Added create_table_add_missing_fields() and called it from add_standard_tables() to make sure that existing databases get new fields. Added get_field_exists_in_database() get_database_preferences(), set_database_preferences(): Check that the new field is in the database and do not try to use if it is it not there. * glom/data_structure/system_prefs.h: Added logo as a Gda::Value. * glom/glom.glade: * glom/dialog_database_preferences.cc: * glom/dialog_database_preferences.h: Add a new notebook tab for the logo. 2006-03-21 Murray Cumming * xslt/print_report_to_html.xsl: field: Correct the xpaths to get the correct border-widths. Use more specific apply-templates pattern, to put the header above the title. 2006-03-21 Murray Cumming * glom/base_db.cc: report_build_headerfooter(): Handle images, so they appear on header/footer parts of reports. * glom/reports/dialog_layout_report.cc: on_button_edit(): Handle images, so they can be edited. * xslt/print_report_to_html.xsl: Use xsl:variable and xsl:copy-of to reduce some copy and paste of node creation. 2006-03-21 Murray Cumming * glom/data_structure/glomconversions.cc: parse_value(): Handle images, assuming that the text is the escaped SQL image format. This means that the image layout items are actually loaded from the document. * glom/utility_widgets/flowtablewithfields.cc: add_textobject_at_position(), add_imageobject_at_position(): Pass true to add(), so that these widgets take up the full available width when they have no titles. 2006-03-21 Murray Cumming * po/POTFILES.in: * glom/data_structure/layout/Makefile.am: * glom/data_structure/layout/layoutitem_image.cc: * glom/data_structure/layout/layoutitem_image.h: Added new image type, for arbitrary images on layouts and reports. * glom/base_db.cc: * glom/base_db.h: Added build_records_imageobject() and offer_imageobject(). Handle image fields in report_build_records_field(). * glom/glom.glade: * glom/mode_data/dialog_layout_details.cc: * glom/mode_data/dialog_layout_details.h: Added Add Image button and handled it. * glom/document/document_glom.cc: * glom/document/document_glom.h: Load/Save the new layout item. * glom/layout_item_dialogs/Makefile.am: * glom/layout_item_dialogs/dialog_imageobject.cc: * glom/layout_item_dialogs/dialog_imageobject.h: New dialog for editing the new layout item. * glom/reports/dialog_layout_report.cc: Constructor: Add new image item to available parts. * glom/utils.cc: * glom/utils.h: Added create_local_image_uri(), to save a temporary copy of the image to the filesystem, for use in HTML report. * glom/utility_widgets/imageglom.cc: * glom/utility_widgets/imageglom.h: Added set_read_only(). * xslt/print_report_to_html.xsl: Handle field nodes that have image_uri instead of value. 2006-03-20 Murray Cumming * glom/base_db.cc: report_build_records_field(): Handle fields in headers and footers, assuming that they are to single records, such as system preferences. 2006-03-20 Murray Cumming * glom/base_db.cc: * glom/base_db.h: report_build_records_text(): Take bool vertical parameter, like report_build_records_field(), so we can handle these properly in vertical groups. * glom/data_structure/layout/report_parts/layoutitem_verticalgroup. cc: Correct node name for XML/XSL reports. * xslt/print_report_to_html.xsl: Handle headers and footers. 2006-03-20 Murray Cumming * po/POTFILES.in: Added some missing files. 2006-03-20 Murray Cumming * configure.in: * glom/Makefile.am: * glom/reports/Makefile.am: * glom/reports/dialog_layout_report.cc: * glom/reports/dialog_layout_report.h: Moved this dialog into a sub directory. Show different (less) available items for headers and footers, to avoid some confusion. * glom/reports/treestore_report_layout.cc: * glom/reports/treestore_report_layout.h: Added a custom treemodel, so that we can override row_drop_possible_vfunc(), to control what can be dropped where. 2006-03-18 Murray Cumming * glom/glom.glade: * glom/dialog_layout_report.cc: * glom/dialog_layout_report.h: Put the report parts into a Notebook, with extra tabs, with extra treeviews for the header and footer, because there is no point in allowing them to be added by the user anywhere but the start and end. * glom/base_db.cc: report_build(): Handle the Header and Footer parts, though it is reusing some datemodel-row-based functions in a hacky way, and it needs to create an equivalent of the HTML table and tr for the header parts. * xslt/print_report_to_html.xsl: Initial handling of header and footer parts. 2006-03-17 Murray Cumming * glom/data_structure/layout/layoutgroup.cc: * glom/data_structure/layout/layoutgroup.h: * glom/data_structure/layout/layoutitem.cc: * glom/data_structure/layout/layoutitem.h: * glom/data_structure/layout/layoutitem_field.cc: * glom/data_structure/layout/layoutitem_field.h: * glom/data_structure/layout/layoutitem_text.cc: * glom/data_structure/layout/layoutitem_text.h: * glom/data_structure/layout/report_parts/layoutitem_fieldsummary.c c: * glom/data_structure/layout/report_parts/layoutitem_fieldsummary.h : * glom/data_structure/layout/report_parts/layoutitem_groupby.cc: * glom/data_structure/layout/report_parts/layoutitem_groupby.h: * glom/data_structure/layout/report_parts/layoutitem_summary.cc: * glom/data_structure/layout/report_parts/layoutitem_summary.h: * glom/data_structure/layout/report_parts/layoutitem_verticalgroup. cc: * glom/data_structure/layout/report_parts/layoutitem_verticalgroup. h: Added virtual get_report_path_id() instead of hard-coding the node IDs in build_report() and friends. * glom/dialog_layout_report.cc: * glom/data_structure/layout/report_parts/layoutitem_footer.cc: * glom/data_structure/layout/report_parts/layoutitem_footer.h: * glom/data_structure/layout/report_parts/layoutitem_header.cc: * glom/data_structure/layout/report_parts/layoutitem_header.h: New layout report parts, not used yet. * glom/document/document_glom.cc: Load/Save the new report parts. * xslt/print_report_to_html.xsl: Some XSL to handle headers and footers. Might even work. * glom/base_db.cc: * glom/base_db.h: Added report_build_headerfooter(). Needs work. 2006-03-17 Murray Cumming * glom/frame_glom.cc: on_menu_report_selected(): Build the report with the current found set only. 2006-03-17 Murray Cumming * glom/utils.cc: Added #includes to fix the build. 2006-03-17 Murray Cumming * glom/data_structure/layout/report_parts/Makefile.am: * glom/data_structure/layout/report_parts/layoutitem_footer.cc: * glom/data_structure/layout/report_parts/layoutitem_footer.h: * glom/data_structure/layout/report_parts/layoutitem_header.cc: * glom/data_structure/layout/report_parts/layoutitem_header.h: Add header and footer parts for reports, though they are not used yet. * po/POTFILES.in: Add the new files. 2006-03-17 Murray Cumming * glom/base_db.cc: * glom/base_db.h: report_build(): Take extra Gtk::Window* parameter. * glom/frame_glom.cc: * glom/mode_data/box_data_details.cc: * glom/mode_data/box_data_list.cc: Call report_build() with extra Gtk::Window* parameter so that the dialog can be transient. * glom/utils.cc: * glom/utils.h: transform_and_open(): Show a dialog to hint to the user that they should look in their open web browser to see the report. * po/POTFILES.in: Added utils.c 0.9.91