1.11.1: 2009-09-03 Murray Cumming * Makefile_tests.am: Fixed a tiny typo to fix the tests build. 2009-09-03 Murray Cumming Move some non-layout print_layout code back out of mode_design * glom/mode_design/print_layouts/canvas_layout_item.[h|cc]: * glom/mode_design/print_layouts/canvas_print_layout.[h|cc]: Moved to glom/print_layout/, because they are used by client-only mode too. * glom/Makefile_glom.am, *.[h|cc]: Adapted. * po/POTFILES.in: Update for moved files. 2009-09-03 Murray Cumming Moved many developer-mode files into glom/mode_design/ now that our non-recursive build allows that without linker errors. * glom/combobox_fields.[h|cc]: * glom/combobox_relationship.[h|cc]: * glom/layout_item_dialogs/: * glom/mode_data/dialog_choose_field.[h|cc]: * glom/mode_data/dialog_choose_relationship.[h|cc]: * glom/mode_data/dialog_layout*.[h|cc]: * glom/mode_data/treestore_layout.[h|cc]: * glom/layout_item_dialogs/: Moved to glom/mode_design/layout/ * glom/reports/report_builder.[h|cc]: Moved to glom/ * glom/reports/dialog_layout_report.[h|cc]" * glom/reports/treestore_report_layout.[h|cc]: Moved to glom/mode_design/report_layout/ * glom/database_preferences.[h|cc]: * glom/relationships_overview/: Moved to glom/mode_design/ * glom/glom_developer.glade: * glom/dialog_new_self_hosted_connection.[h|cc]:Rename to glom/mode_design/dialog_initial_password.[h|cc], renaming the class too, because that's what this is now. * glom/utility_widgets/dialog_layoutitem_properties.[h|cc]: Removed this unused class. * glom/Makefile_glom.am, *.[h|cc]: Adapted. 2009-09-03 Murray Cumming libglom: Avoid client-only build changes: partial recommit of revert. * glom/libglom/appstate.cc: * glom/libglom/connectionpool.h: * glom/libglom/connectionpool_backends/backend.h: * glom/libglom/connectionpool_backends/postgres.h: * glom/libglom/connectionpool_backends/postgres_central.h: * glom/libglom/connectionpool_backends/postgres_self.h: * glom/libglom/connectionpool_backends/sqlite.h: * glom/libglom/document/document.h: Remove mention of GLOM_ENABLE_CLIENT_ONLY from comments because we no longer use it in libglom. * glom/libglom/connectionpool_backends/postgres.cc: attempt_connect(): Do not use Gda::CONNECTION_OPTIONS_READ_ONLY just because exceptions are disabled in the build. Please stop using vaguely-related ifdefs to hack changes in. In this case it would be GLOM_ENABLE_CLIENT_ONLY, but we don't want that option in libglom anymore. 2009-09-01 David King * glom/glom.glade: Fix an interesting warning, where the quickfind Gtk::Entry was described in the glade file as having focus, even though it was set to be not visible, and therefore not realized. 2009-09-01 David King * glom/dialog_existing_or_new.cc: * glom/utility_widgets/db_adddel/db_adddel.cc: Use Gtk::StockID constructor with builtin stock items so that GTK+ warnings are not triggered. 2009-09-01 Johannes Schmid * glom/base_db.cc: Fixed small build problem with disabled exceptions 2009-09-01 Johannes Schmid * glom/libglom/connectionpool_backends/postgres.cc: Also use SQL_IDENTIFIERS_CASE_SENSITIVE on maemo * glom/base_db.cc: enable the use gda_meta_store_sql_identifier_quote() on maemo These were hacks used before libgda 4.0.4 was available on maemo 2009-08-31 David King Revert "Really never use config.h in libglom." This reverts commit 8d73f2051fb624e145505b3587a12d89ed3c8326. The change gave no benefits, but did break any project that used libglom and autoheader. 2009-08-31 Johannes Schmid * Makefile_test.am: Fixed make dist (probably automake-1.11 is more clever but it does not build with automake-1.10 because it assumes that the test programs have sources in form of xxx.c and not xxx.cc 2009-08-27 Murray Cumming Avoid GTK+ warnings. * glom/glom_developer.glade: Set GtkAdjustment page_size to 0 to avoid new GTK+ warnings. * glom/layout_item_dialogs/dialog_field_layout.cc: * glom/mode_design/fields/dialog_fielddefinition.cc: * glom/mode_design/print_layouts/dialog_text_formatting.cc: More nasty workarounds for GtkBuilder bug #575714, which is still not fixed. 2009-08-27 Murray Cumming Remove a nasty hack that would become a runtime bug. * glom/libglom/connectionpool_backends/sqlite.cc: Revert the previous hack by Johannes, which misused GLIBMM_EXCEPTIONS_ENABLE to avoid use of CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE. We will just update libgdamm on Maemo Fremantle instead. 2009-08-27 Murray Cumming Really never use config.h in libglom. * glom/libglom/*.cc: Remove some remaining includes of config.h instead of libglom_config.h. * glom/libglom/libglom_config.h.in: Add GETTEXT_PACKAGE, PACKAGE_TARNAME, though I suspect that libglom requires different build stuff for translations. Added POSTGRES_UTILS_PATH and EXEEXT. 2009-08-27 Murray Cumming Update NEWS and increase version. * NEWS: * configure.ac: Update in anticipation of a release. * regression_tests/test_signal_reemit.cc: Avoid an unused parameter warning. 2009-08-27 Johannes Schmid * glom/libglom/connectionpool_backends/sqlite.c: Fixed build issues on maemo platform 2009-08-26 Murray Cumming Fix a time parsing regression. * glom/libglom/libglom_config.h.in: Moved HAVE_STRPTIME here from config.h (which should maybe not be generated by autoheader), to the test_parsing_time regression. * glom/libglom/data_structure/iso_codes.cc: Include libglom_config.h instead of config.h, after moving ISO_CODES_PREFIX there. 2009-08-26 Murray Cumming Tests: Correct the return values. * regression_tests/test_parsing_time.cc: * regression_tests/test_signal_reemit.cc: Return EXIT_SUCCESS or EXIT_FAILURE properly. 2009-08-26 Murray Cumming * glom/base_db.cc: remove_quotes(): Implement this simply, just removing start and end quotes. However, I do not think this should be necessary: http://bugzilla.gnome.org/show_bug.cgi?id=593154 2009-08-25 Murray Cumming Comment out use of gda_sql_identifier_remove_quotes(). * glom/base_db.cc: remove_quotes(): Comment out use of gda_sql_identifier_remove_quotes() with a stdcerr warning because it is deprecated and I get a weird undefined reference error and we need to change how we use this anyway. To fix the build. 2009-08-25 Johannes Schmid Fixed remaing maemo build problems * autogen.sh: Don't hardcode automake-1.10 * glom/application.cc: * glom/base_db.cc: * glom/dialog_invalid_data.cc: * glom/filechooser_export.cc: * glom/glade_utils.cc: * glom/glade_utils.h: * glom/main.cc: * glom/utility_widgets/datawidget.cc: * glom/utility_widgets/imageglom: Fixed error handling of Gtk::Builder (change in gtkmm 2.14) * glom/mode_data/flowtablewithfields.cc: * glom/mode_data/flowtablewithfields.h: Fixed vfuncs problem 2009-08-21 Daniel Elstner Do not use .pyd extension on non-Windows systems * Makefile.am (pymod_ldflags): Set variable conditionally and use the "-shrext .pyd" option only on Windows hosts. 2009-08-21 Michael Hasselmann * glom/libglom/connectionpool_backends/sqlite.cc: Fix typos to fix the build. Bug #592576 2009-08-21 Murray Cumming Document::get/set_connection_user(): Don't save this in the document. * glom/libglom/document/document.[h|cc]: get/set_connection_user(): Document these as not being saved in the document, because it makes no sense to save a single user there, because Glom is a multi-user system. * glom/dialog_connection.cc: load_after(), save_before(): Don't save the user in the document. 2009-08-19 David King * glom.am: * libegg.am: * libglom.am: * tests.am: Remove unused .am files. * glom/libglom/test_document_with_layout.cc: Remove unused file, identical to glom/libglom/test_document.cc. * ChangeLog: Fix some formatting. 2009-08-04 Murray Cumming Rename included .am files. * *.am: Rename to Makefile_*.am so they are grouped together. * Makefile.am: Include the new filenames. 2009-07-31 Johannes Schmid * configure.ac: Add dependency on hildon-fmmm * glom/application.cc: * glom/utils_ui.cc: Comment out most hildon stuff for now * glom/bakery/app_withdoc.cc: * glom/bakery/app_withdoc_gtk.cc: * glom/xsl_utils.cc: Fix Gio exception handling * glom/base_db.cc: * glom/base_db_table_data.cc: * glom/dialog_existing_or_new.cc: * glom/dialog_import_csv.cc: * glom/dialog_invalid_data.cc: * glom/filechooser_export: * glom/glom_privs.cc: * glom/mode_data/box_data_calendar_related.cc: * glom/mode_data/box_data_details.cc: * glom/mode_data/box_data_portal.cc: * glom/mode_data/notebook_data.cc: * glom/reports/report_builder.cc: Fixed Gda exception handling, most notable and often get_value_at() * glom/glade_utils.h * glom/glade_utils.cc: Fixed GtkBuilder usage (though this seems to be a bug in Gtkmm) * glom/mode_data/flowtablewithfields.h: * glom/notebook_glom.cc: * glom/utility_widgets/flowtable.cc: * glom/utility_widgets/entryglom.cc: * glom/utility_widgets/imageglom.cc: * glom/utility_widgets/placeholder-glom.cc: * glom/utility_widgets/placeholder-glom.h: * glom/utility_widgets/dialog_image_progress.cc: Use signals instead of virtual methods, disable accesibility on maemo * glom/utility_widgets/canvas/*.cc: Use get/set_property() instead of the direct property access when properties are disabled * glom/utility_widgets/adddel/adddel.cc: * glom/utility_widgets/datawidget.cc: * glom/utiltiy_widgets/db_adddel/db_adddel.cc: * glom/utility_widgets/db_adddel/glom_db_treemodel.cc: 2009-07-30 Johannes Schmid * autogen.sh: Use automake-1.10 explicitly * glom/libglom/connectionpool.cc: * glom/libglom/connectionpool_backends/postgres.cc: * glom/libglom/data_structure/field.cc: * glom/libglom/data_structure/fieldtypes.cc: * glom/libglom/document/bakery/document.cc: * glom/libglom/python_embed/py_glom_relatedrecord.cc: * glom/libglom/spawn_with_feedback.cc: * glom/libglom/utils.cc: Fix exception and client-only related problems on maemo platform. Also fixed some TODOs that were related. In sum this allows to build glom master on maemo fremantle. 2009-07-28 Daniel Elstner Build and run tests on make check * Makefile.am (AM_DEFAULT_SOURCE_EXT): Make use of the Automake default _SOURCES feature for building single-source-file programs. (noinst_PROGRAMS): Move to tests.am. * tests.am (check_PROGRAMS): List all test executables here, so they are only built on make check. (TESTS): List unit test programs from the regression_tests/ directory. 2009-07-28 Daniel Elstner Use deprecated libtool macros for Maemo's sake * configure.ac (LT_PREREQ), (LT_INIT): Comment-out. (AC_PROG_LIBTOOL): Use old-style and deprecated M4 macro to initialize libtool because the Maemo development environment still ships with the ancient libtool 1.4. (AC_DISABLE_STATIC), (AC_LIBTOOL_WIN32_DLL): Call old-style macros to set libtool options, instead of passing flag arguments to LT_INIT(). 2009-07-27 Murray Cumming ldtp tests: Correct the English in the error messages. * ldtp/common.py: * ldtp/database-creation/create-db.py: * ldtp/fields-edit/fields-edit.py: Correct the English in the error messages. 2009-07-27 Murray Cumming * glom/utility_widgets/dialog_image_progress.cc: on_stream_read(): Add casts to avoid compiler warnings, to fix distcheck. 2009-07-27 Murray Cumming Add more delay so that self-hosting does not fail sometimes. * glom/libglom/spawn_with_feedback.cc: execute_command_line_and_wait_until_second_command_returns_success(): Wait for extra 8 seconds instead of 3, so that postgresql startup has really finished. The delay was not enough since I removed the debug output, which was probably providing extra delay. This is unpleasant. 2009-07-25 Daniel Elstner List auto-generated files in MAINTAINERCLEANFILES * Makefile.am (MAINTAINERCLEANFILES): Clean up the macros/*.m4 files installed by autogen.sh, as well as the eggmarshalers.[ch] files. 2009-07-25 Daniel Elstner Pass --automake option to gnome-doc-prepare * autogen.sh: Invoke gnome-doc-prepare with the --automake option to tell it that Automake will take care of installing its macro files. 2009-07-25 Murray Cumming * glom/base_db.cc: get_fields_for_table_from_database(): Use gda_meta_store_sql_identifier_quote() as mentioned in bug #589607 to maybe make this work with uppercase in the table name. 2009-07-24 Daniel Elstner Assign copyright of my work to Openismus GmbH * configure.ac: Reassign the copyright which I had assigned to myself temporarily to Openismus GmbH instead, as I did the work in my position as an employee. * *.am: ditto, * macros/mm-python.m4: ditto. 2009-07-24 Daniel Elstner Split Makefile.am into logically separate parts * glom.am: New file for building the glom binary itself. * libglom.am: New file for building the libglom library. * libegg.am: New file for building the libegg static library. * tests.am: New file for building the test programs. * Makefile.am: Move logical chunks into the separate files listed above, and pull them in as Automake include files. 2009-07-24 Daniel Elstner Invoke gnome-doc-common from autogen.sh * autogen.sh: Execute "gnome-doc-common --copy" to install the files omf.make and xmldocs.make into the source tree. 2009-07-24 Daniel Elstner Use G_GSIZE_FORMAT instead of a cast * glom/libglom/python_embed/pygdavalue_conversions.c: Change format specifier for GType to "%" G_GSIZE_FORMAT and remove the explicit cast again. I forgot that this is C code, so GType will always be gsize -- at least with recent versions of GLib. 2009-07-24 Daniel Elstner Use format "%lu" for GType and add cast * glom/libglom/python_embed/pygdavalue_conversions.c: Change format specifier in g_warning() message back from "%u" to "%lu", and add an explicit cast to unsigned long. Looks like GLib silently changed the type of GType from gulong to gsize, except when using a C++ compiler with a 64 bit target. (Yes, really.) 2009-07-24 Daniel Elstner Suppress warning for missing field initializers * configure.ac (GLOM_WXXFLAGS): Add -Wno-missing-field-initializers to the warning options at level max or higher, so that the Python module code will build with both Python 2.5 and Python 2.6 without producing warnings. 2009-07-24 Murray Cumming Catch unknown command-line options. * glom/main.cc: Put try/catch around the Gtk::Main instantiation because I noticed that it throws an exception if you provide an unknown option. 2009-07-24 Murray Cumming Use CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE. * glom/libglom/connectionpool_backends/postgres.cc: * glom/libglom/connectionpool_backends/sqlite.cc: When calling Gda::Connection::open_from_string(), use the new CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE option so the libgda API really does what we mean without needing any weird quoting. 2009-07-23 Murray Cumming Fix the build with Python 2.5, bringing back the warnings for others. * glom/libglom/python_embed/py_glom_record.cc: * glom/libglom/python_embed/py_glom_related.cc: * glom/libglom/python_embed/py_glom_relatedrecord.cc: * glom/libglom/python_embed/pygdavalue_conversions.c: Remove the extra struct field initialization to fix the build with Python 2.5. 2009-07-23 Daniel Elstner Make libegg object files depend on eggmarshalers * Makefile.am ($(*libegg*_a_OBJECTS)): Make all object files of libeggutil.a and libeggtoolpalette.a depend on the generated source files eggmarshalers.[ch]. This ensures that the marshaler files are generated before any of the libegg objects are compiled, but avoids having to resort to BUILT_SOURCES for that purpose. (*_libeggtoolpalette_a_LIBADD): Remove dependency on libeggutil.a again, as it is not required for linking the static library itself. 2009-07-23 Daniel Elstner * Makefile.am (*_libeggtoolpalette_a_LIBADD): List libeggutil.a as dependency. 2009-07-23 Daniel Elstner * glom/bakery/app_withdoc.cc: Fix build with -Werror. * glom/dialog_import_csv.cc: ditto, * glom/libglom/python_embed/py_glom_record.cc: ditto, * glom/libglom/python_embed/py_glom_related.cc: ditto, * glom/libglom/python_embed/py_glom_relatedrecord.cc: ditto, * glom/libglom/python_embed/pygdavalue_conversions.c: ditto, * glom/mode_design/fields/dialog_fielddefinition.cc: ditto, * glom/utility_widgets/dialog_image_progress.cc: ditto. 2009-07-23 Daniel Elstner Switch to non-recursive build process * macros/mm-pkg.m4: New file, defining the MM_PKG_CONFIG_SUBST macro. * macros/mm-python.m4: New file, defining the MM_CHECK_MODULE_PYTHON macro to replace the old and messy AM_CHECK_PYTHON_HEADERS. * acinclude.m4: Remove file which defined AM_CHECK_PYTHON_HEADERS. * Makefile.am: Merge the contents of the Makefile.am files from all subdirectories into a single top-level Makefile.am, with the exception of docs/user-guide/Makefile.am. Add the full subdirectory prefix to all listed files and change the Automake variable names accordingly. Get rid of the intermediate static libraries previously created for each source subdirectory, and list the source files directly in the toplevel target's SOURCES variable. Overall, refactor and modernize the build rules and organization. * **/Makefile.am: Except for docs/user-guide/Makefile.am, remove the Makefile.am files recursively from all subdirectories. * config.h.in: Remove file, and use autoheader to generate it. * autogen.sh: Replace with a modern minimalistic script which lets autoreconf do the bulk of the work. * configure.ac: Massive refactoring. Adapt to the new non-recursive build organization. Modernize the M4 and shell code, and make use of newer Autoconf and Automake constructs to simplify many checks. Also make minor corrections to a number of tests and definitions. * glom/application.cc: Remove the need for GLOM_ICON_DIR by setting the window icon by name instead of loading the image file directly. Use PACKAGE_VERSION in place of VERSION. * glom/dialog_existing_or_new.cc: Use a subdirectory of GLOM_DOCDIR in place of GLOM_EXAMPLES_DIR. Remove GLOM_EXAMPLES_DIR_ALTERNATIVE. * glom/utils_ui.cc: Replace DATADIR by GLOM_DATADIR. * glom/libglom/connectionpool.cc: Remove GLOM_SAVE_DATADIR hack, which is not necessary anymore as DATADIR is not globally defined anymore. * glom/libglom/connectionpool_backends/postgres_self.cc: ditto, * glom/libglom/spawn_with_feedback.cc: ditto, * glom/main.cc: ditto. Also replace LOCALEDIR by GLOM_LOCALEDIR, and output PACKAGE_STRING instead of VERSION in response to the --version command-line option. Replace PACKAGE and VERSION by their modern Automake equivalents. * glom/xsl_utils.cc: Remove GLOM_SAVE_DATADIR hack, and replace GLOM_XSLTDIR with a subdirectory of GLOM_PKGDATADIR. * glom/mode_data/box_data_calendar_related.cc: Replace GLOM_GLADEDIR by a combination of GLOM_PKGDATADIR and a subdirectory name. * glom/mode_design/print_layouts/print_layout_toolbar_button.cc: Use a subdirectory of GLOM_PKGDATADIR in place of GLOM_ICON_DIR. * glom/utility_widgets/layouttoolbar.cc: ditto, * glom/utility_widgets/layouttoolbarbutton.cc: ditto. * glom/python_embed/glom_python.cc: Include generated config.h for the definition of GLOM_ABI_VERSION_UNDERLINED. * glom/python_embed/python_module/py_glom_module.cc: ditto. 2009-07-22 David King * glom/libglom/glom-1.0.pc.in: Add libxml++ dependency, needed for Bakery headers. 2009-07-23 David King * glom/libglom/init.cc: Check that GThread is supported before calling Glib::thread_init(). This fixes a crash, as otherwise g_thread_init() can be called twice. 2009-07-22 Johannes Schmid * configure.ac: Fixed typo with libepc 2009-07-21 David King * glom/libglom/glom-1.0.pc.in: * glom/libglom/*/Makefile.am: Use GLOM_ABI_VERSION in place of "1.0" so that installed headers go into the correct, ABI-specific directory. 2009-07-21 Murray Cumming * glom/libglom/glom-1.0.pc.in: Remove the bakery dependency, because no part of Glom now depends on the bakery shared library. I suspect that libglom should depend on python somehow, but we will see. 2009-07-17 Murray Cumming Use an xmlns ID for the MIME-type registration. * glom/libglom/document/bakery/document_xml.[h|cc]: set_dtd_root_node_name(): Take an optional xmlns ID and write this in the document. * glom/libglom/document/document.cc: Constructor: Specify a http://glom.org/glom_document xmlns ID. I don't think this needs to exist. This will make it easier for the MIME-type system to detect the file's MIME type. * glom.xml: (MIME-type detection rules): Add a root-XML rule, that checks for the xmlns and the root node name. We keep the string check too for legacy. 2009-07-10 Murray Cumming Export: Don't open the format dialog behind the FileChooser dialog. * glom/frame_glom.cc: on_menu_file_export(): Set the FileChooser dialog as transient so that the other dialog (opened from the FileChooser) is not behind the FileChooser. Ubuntu Launchpad bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/397409 (elmergato) 2009-07-10 Murray Cumming Really save field changes again. * glom/libglom/document/document_glom.cc: set_table_fields(): Avoid the broken attempt at optimization, so that field changes are always saved, for instance when changing them via the Field Definition dialog. Ubuntu Launchpad bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/394507 (elmergato) 2009-07-10 Murray Cumming * glom/dialog_import_csv.cc: advance_field(): Do not skip characters after the ". 2009-07-10 Murray Cumming * glom/dialog_import_csv.cc: on_idle_parse(): Ignore newlines in quotes when dividing the input into "lines" to give to handle_line(). 2009-07-10 Murray Cumming Import: Handle "" as ". Fix a crash. * glom/dialog_import_csv.[h|cc]: Use typedefs to simplify code. advance_field(): Handle "" (escaped ") inside quotes. field_data_func(): Avoid a crash if not enough data was found. 2009-07-09 Murray Cumming Import: " is the only quote character, as per the CSV RFC. * glom/dialog_import_csv.cc: advance_field(): Parse only " as start/end quotes, not ', as per the CSV RFC. Part of Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/394894 (elmergato) 2009-07-08 Murray Cumming Correct the export to use the CSV format as per the RFC "specification". * glom/frame_glom.cc: export_data_to_stream(): For text fields, add " as per the CSV RFC. * glom/libglom/data_structure/field.cc: to_file_format(): Escape " as "". Note that we do not try to escape newlines. This is per the CSV RFC. * glom/libglom/utils.cc: string_replace(): In the loop, do not check what has already been processed, to avoid an infinite loop. Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/394894 (elmergato) 2009-07-07 Murray Cumming Catch libgda meta-store exceptions. * glom/base_db.cc: get_table_names_from_database(): * glom/libglom/connectionpool.cc: connect(): Added try/catch around calls to Gda::Connection::update_meta_store_*() because they now throw a MetaStoreError exception, though we do not know why yet. 2009-07-05 Murray Cumming * glom/dialog_existing_or_new.h: #include config.h to avoid a crash with the client-only build due to ABI code-size confusion. 2009-07-05 Murray Cumming * glom/application.cc: init_menus_file(): Initialize m_toggleaction_network_shared to avoid a crash. 2009-07-05 Murray Cumming * glom/application.cc: * glom/bakery/app_withdoc_gtk.[h|cc]: Remove the toolbar widget because we hide it anyway. 2009-07-05 Murray Cumming * glom/application.cc: update_network_shared_ui(): Un-ifndef this for client-only. 2009-07-05 Murray Cumming * glom/*.[h|cc]: Move some ifndefs around to fix the client-only build. 2009-07-05 Murray Cumming * glom/libglom/document/document.cc: load_after(): Remove old code to check for developer mode in client-only builds. 2009-07-04 Murray Cumming Fix loading of the versioned python module. * configure.ac: * glom/Makefile.am: * glom/python_embed/Makefile.am: * glom/python_embed/glom_python.cc: * glom/python_embed/python_module/Makefile.am: * glom/python_embed/python_module/py_glom_module.cc: * glom/python_embed/python_module/py_glom_module.h: Use glom_1_12 instead of glom-1.12 because - and . are not valid in python module names. I wish I knew of any standard way to do parallel install of different versions of python modules. 2009-07-04 Murray Cumming libglom: Remove use of GLOM_ENABLE_MAEMO because it is about UI. * glom/libglom/utils.cc: * glom/libglom/connectionpool.cc: Remove use of GLOM_ENABLE_MAEMO so because there should be no UI-specific login in libglom. * glom/libglom/document/document.[h|cc]: Remove get_active_layout_platform() because we no longer use GLOM_ENABLE_MAEMO. * glom/base_db.[h|cc]: Add a get_active_layout_platform(document) here instead. * glom/libglom/libglom_config.h.in: Moved GLOM_ENABLE_MAEMO to config.h.in because it is now only used in the app, not in libglom. * glom/base_db_table_data.cc: * glom/frame_glom.cc: * glom/mode_data/box_data.cc: * glom/mode_data/box_data_details.cc: * glom/mode_data/notebook_data.cc: * glom/relationships_overview/dialog_relationships_overview.cc: * glom/utility_widgets/adddel/adddel.cc: * glom/utility_widgets/datawidget.cc: * glom/utility_widgets/dialog_choose_id.cc: * glom/utils_ui.h: * glom/xsl_utils.cc: Adapted, using config.h instead of libglom_config.h 2009-07-04 Murray Cumming libglom: Always enable developer-mode (!client-only) API. * glom/libglom/*.[h|cc]: Remove use of ENABLE_CLIENT_ONLY ifdefs, so we can allow parallel install of full and client-only versions. 2009-07-04 Murray Cumming Remove ifdefs from libglom to allow parallel install of sqlite- and PostgreSQL-using versions of Glom. * glom/libglom/connectionpool_backends/postgres.h: * glom/libglom/connectionpool_backends/postgres_central.h: * glom/libglom/connectionpool_backends/sqlite.h: * glom/libglom/document/document.[h|cc]: * glom/libglom/test_connectionpool.cc: Remove ifdefs that remove PostgreSQL or Sqlite API so that libglom always offers all features and always has the same ABI (ignoring no-exceptions/no-vfuncs alternative-glibmm-api versions). This will allow us to parallel install the full and client-only versions. * glom/libglom/libglom_config.h.in: Move GLOM_ENABLE_POSTGRESQL/SQLITE config.h.in because we now only use it in the application, not in libglom. * glom/application.cc: * glom/dialog_connection.cc: * glom/frame_glom.cc: * glom/utility_widgets/filechooserdialog_saveextras.cc: * glom/utility_widgets/filechooserdialog_saveextras.h: Include config.h to get these definitions. 2009-07-03 Murray Cumming Allow parallel installs of libglom major versions. * configure.ac: Define GLOM_ABI_VERSION as 1.12. * glom/Makefile.am: * glom/libglom/Makefile.am: * glom/python_embed/Makefile.am * glom/python_embed/python_module/Makefile.am: * regression_tests/Makefile.am: Add a 1.12 suffix to the libglom shared library name and the glom python module name. This must be changed in several places when the ABI version changes because we cannot use a variable in most of these places. Define it also as a macro for the .cc files, so Glom can import the correct version of the Glom python module - for instance, import glom-1.12. * glom/python_embed/glom_python.cc: * glom/python_embed/python_module/py_glom_module.cc: Import the correct version in python. 2009-07-03 Murray Cumming * configure.ac: * glom/Makefile.am: * glom/libglom/Makefile.am: * glom/libglom/python_embed/Makefile.am: * glom/python_embed/glom_python.cc: * glom/python_embed/python_module/Makefile.am: * glom/python_embed/python_module/py_glom_module.cc: * ldtp/database-creation/create-db.py: * regression_tests/Makefile.am: 2009-09-30 Armin Burgmeier * ldtp/fields-edit/fields-edit.py: Added a new test which tests adding a new field to an existing table. More operations to test, such as changing and removing existing fields, can be added later. * ldtp/fields-edit/postgres-central.xml: * ldtp/fields-edit/postgres-self.xml: * ldtp/fields-edit/sqlite.xml: XML Data files for the new test. * ldtp/test.xml: Added it to the test suite, so that it can be run with ldtprunner. 2009-06-28 Armin Burgmeier * ldtp/database-templates/SQLite: * ldtp/database-templates/PostgresCentral: Added database templates for two of the three backends. These can be copied and then opened to have a database available for LDTP tests to test. * ldtp/common.py: Added create_test_database and delete_test_database functions which create or remove a database to test, from such a template database, respectively. * ldtp/database-creation/create-db.py: Use the delete_test_database function from common on cleanup, remove own delete_database function. 2009-06-30 Armin Burgmeier * ldtp/database-creation/create-db.py: Changed the name of the created database table (for empty databases) to TestTable, so that we test that table names with capital letters work correctly. 2009-06-30 Armin Burgmeier * glom/base_db.cc (get_fields_for_table_from_database): Make this work for table names which need quotation, and return unquoted field names. This fixes bug #587051. 2009-06-30 Murray Cumming get_table_names_from_database(): Remove quotes. * glom/base_db.cc: get_table_names_from_database(): Remove quotes when they are (sometimes) in the meta data. I complained on the gnome-db mailing list about us having to do this. 2009-06-29 Murray Cumming Allow many fields to be added to layouts (or the export format) at once. * glom/mode_data/dialog_choose_field.[h|cc]: Added get_fields_list() in addition to the existing get_field_list(), and allow multiple selection. * glom/base_db.[h|cc]: offer_field_list(): Rename to offer_field_list_select_one_field(). Added offer_field_list() that returns a list of fields, allowing multiple selection. * *.[h|cc]: Adapted to use the appropriate function, allowing, for instance, the export dialog to use multiple selection to add many fields at once. Ubuntu Launchpad bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/393231 (elmergato) 2009-06-29 Murray Cumming Export: Offer File overwrite confirmation. * glom/frame_glom.cc: on_menu_file_export(): * glom/translation/window_translations.cc: on_button_export(): Call Gtk::FileChooser::set_do_overwrite_confirmation() so the user is warned when overwriting a file. Ubuntu Launchpad bug https://bugs.launchpad.net/ubuntu/+source/glom/+bug/393229 (elmergato) 2009-06-29 Murray Cumming * glom/libglom/spawn_with_feedback.cc: ifdef out the debug output. 2009-06-29 Murray Cumming Reduce debug output. * glom/libglom/data_structure/glomconversions.[h|cc]: sanity_check_date_text_representation_uses_4_digit_years(): Make the debug output optional. * glom/main.cc: Added a --debug-date-check option, to avoid the debug out about 4-digit dates normally. * glom/dialog_existing_or_new.cc: list_examples_at_path(): Comment out debug output. * glom/libglom/connectionpool.cc: connect(): Comment out debug output that showed the (previously slow) meta update calls. 2009-06-28 Murray Cumming Print exception messages to stdout. * ldtp/database-creation/create-db.py: When catching the exception, print it to stdout, because it does not seem to appear in the log file. * ldtp/common.py: Corrected the English of some exception messages. 2009-06-28 Murray Cumming Fix an error check. * glom/xsl_utils.cc: transform_and_open(): Fix the check for a failed gtk_show_uri(), so we really check. Noticed while stealing this code for vidrot. 2009-06-27 Armin Burgmeier * ldtp/database-creation/postgres-central-empty.xml: * ldtp/database-creation/postgres-self-empty.xml: * ldtp/database-creation/sqlite-empty.xml: Added missing files. * ldtp/database-creation/create-db.py: Allow passing the datafilename as an argument when the script is called directly, not by ldtprunner. * ldtp/README: Updated the section on how to execute a single test script. 2009-06-26 Armin Burgmeier * glom/libglom/document/bakery/document.h: Document that failure_code should be >= 1, so that we can detect whether the document could not be opened because it couldn't be read from disk, or a custom error code was set. * glom/libglom/document/document.h: Set the value of LOAD_FAILURE_CODE_FILE_VERSION_TOO_NEW to 1, to honor the requirement explained above. This fixes showing the wrong error message when the document could not be loaded from disk. 2009-06-26 Armin Burgmeier * glom/application.cc (existing_or_new_new): When the new database could be created successfully, then add the document to the recent files list. 2009-06-26 Armin Burgmeier * glom/frame_glom.cc (connection_request_password_and_choose_new_database_name): Remember the port also for centrally hosted documents when a successful connection could be made. * ldtp/database-creation/create-db.py: For empty documents, call the initial table 'test_table', not 'TestTable', because of bug #587051. 2009-06-26 Armin Burgmeier * glom/dialog_glom.h: * glom/dialog_glom.cc: Added an optional second parameter to the constructor, to specify a title name for the dialog. * glom/frame_glom.cc: Set the title of the tables dialog to "Tables", so that it can be accessed via LDTP. * glom/glom.glade: Also change the title of that dialog, even though it's not used, since only the window's child widget is loaded from the glade file. * glom/utility_widgets/adddel/adddel.h: * glom/utility_widgets/adddel/adddel.cc: Added a set_treeview_accessible_name() function, to set the accessible name of the AddDel's TreeView. * glom/navigation/box_tables.cc: Set an accessible name for the TreeView, to be able to access it via LDTP. * glom/utility_widgets/filechooserdialog_saveextras.cc: Set an accessible name for the database title text entry. * ldtp/common.py (select_backend): Added a dialog_title parameter, as the dialog has a different title when creating a new, empty document. (wait_for_database_open): Rely on the database title being 'Test', not 'Small Business Example'. * ldtp/database-creation/create-db.py: Change the database title of the newly created database to 'Test'. Support creating new, empty documents, and reopen the document after it has been closed, to make sure the document has been saved correctly. * ldtp/database-creation/postgres-central-example.xml: * ldtp/database-creation/postgres-self-example.xml: * ldtp/database-creation/sqlite-example.xml: Moved from the files without -example, set the tag to 1. * ldtp/database-creation/postgres-central-example.xml: * ldtp/database-creation/postgres-self-example.xml: * ldtp/database-creation/sqlite-example.xml: Same with set to 0. * ldtp/test.xml: Added the three new files which create an empty document instead of creating one from the Small Business Example. 2009-06-24 Armin Burgmeier * ldtp/common.py: Work around bug #586291, added a function to enter the connection credentials into the connection dialog if using a centrally hosted database. Added mapping of backend name to button texts in the database creation dialog. * ldtp/database-creation/postgres-central.xml: * ldtp/database-creation/postgres-self.xml: * ldtp/database-creation/sqlite.xml: Removed the button texts from the data XML files. * ldtp/database-creation/create-db.py: Generalized the script so that it also handles central hosting. Delete the newly created centrally hosted database at the end. This requires pygda from git for now. * ldtp/database-creation/create-central-db.py: Removed, as central hosting is also handled by create-db.py now. 2009-06-24 Armin Burgmeier * glom/glom.glade: Added a title to the connection dialog window, and added accessible names for the entries, to be able to use them via LDTP. * ldtp/README: Describe how to set the login credentials required to test creating a centrally hosted database. * ldtp/common.py: Moved useful code from ldtp/database-creation/create-db.py into functions in this file, so other tests can use them, too. * ldtp/database-creation/create-db.py: Adapt accordingly. * ldtp/database-creation/create-central-db.py: * ldtp/database-creation/postgres-central.xml: Added a new test script and data XML which tests creating a centrally hosted database. * ldtp/test.xml: Added the new script file. 2009-06-24 Armin Burgmeier * glom/application.cc (on_document_load): Only provide a known user name and password for self-hosted databases, and ask the user for the database password for centrally-hosted ones. * glom/frame_glom.cc (connection_request_password_and_attempt): Show the connection dialog for centrally hosted connections, and fix trying to login with the same (wrong) credentials all the time without giving the user a chance to correct them. This fixes bug #586684. 2009-06-22 Armin Burgmeier * glom/application.cc (on_document_load): If we load an example file, set the connection port in the document to 0, and enable trying other ports, instead of using the (arbitrary) values from the example file. This allows trying out various standard ports for postgresql when centrally-hosting the document and fixed creating a centrally-hosted database from an example file. * glom/dialog_connection.cc (connect_to_server_with_connection): On a successful connection, set try other ports to false in the document, as we found a working port and don't need to try all the other ports next time. * glom/frame_glom.cc (connection_request_password_and_choose_new_database_name): When creating a centrally-hosted database, remember the user name in the document, to be able to connect to the database from the saved document later. Actually, we would also need to save the password to do this correctly, though I wonder whether it's a good idea to save the user's database password in the .glom file. 2009-06-22 Armin Burgmeier * glom/frame_glom.cc: (connection_request_password_and_choose_new_database_name): Fixed a mistyped #ifdef, so that creating a centrally-hosted database does not lead to a crash. 2009-06-20 Armin Burgmeier * ldtp/database-creation/create-db.py: Read the data what backend to use from the a data XML file, instead of as a function's argument. * ldtp/database-creation/self-hosted.py: * ldtp/database-creation/sqlite.py: So we don't need these anymore. * ldtp/database-creation/postgres-self.xml: * ldtp/database-creation/sqlite.xml: Instead, the data is specified in these data XML files. * ldtp/test.xml: Adapt accordingly. 2009-06-17 Armin Burgmeier * ldtp/README: Added a README file explaining how to run the tests. 2009-06-17 Armin Burgmeier * ldtp/common.py: Added a common function to launch glom and wait for its windows to appear into a new separate python script file. * ldtp/database-creation/create_db.py: Added a function to create a new database, with the backend to use as an argument. This allows to reuse the existing code to test other backends. * ldtp/database-creation/self-hosted.py: Adapted accordingly. * ldtp/database-creation/sqlite.py: Added a test file to check whether SQLite database creation works. * ldty/test.xml: Added the test to create an SQLite database. 2009-06-08 Armin Burgmeier * ldtp/database-creation/self-hosted.py: Added a LDTP test script which checks creation of a new self-hosted database from the Small Business Example file. * ldtp/test.xml: Added an XML file for ldtprunner. Run "ldtprunner test.xml" to execute the test. 2009-06-08 Armin Burgmeier * glom/utility_widgets/db_adddel/db_adddel.cc: Added an accessible name for the TreeView. * glom/utility_widgets/imageglom.h: * glom/utility_widgets/imageglom.cc: * glom/utility_widgets/entryglom.h: * glom/utility_widgets/entryglom.cc: Set an accessible name, based on the layout item's name. 2009-06-08 Armin Burgmeier * glom/utility_widgets/layoutwidgetbase.cc: Initialize m_pLayoutItem in client only mode, to avoid an uninitialized pointer in that case. 2009-06-04 Murray Cumming Show a specific error message when the flie format is too new. * glom/libglom/document/bakery/document.[h|cc]: * glom/libglom/document/bakery/document_xml.[h|cc]: load(), load_after(): Take a int& failure_code output parameter to allow derived document classes to report a custom failure code. * glom/libglom/document/document.[h|cc]: load_after(): Return a custom failure_code for a too-new file version. * glom/bakery/app_withdoc.[h|cc]: Add a virtual ui_warning_load_failed(int failure_code) method that derived classes can override to respond to their own failure codes, with a generic default error message. open_document(), open_document_from_data(): Use the new method instead of hard-coding the error message. * glom/application.[h|cc]: open_browsed_document(), on_menu_developer_changelanguage(): Adapt. Add an override of ui_warning_load_failed() to show our custom error dialog in response to our custom failure code. * glom/libglom/test_document.cc: Apapted. Exceptions might be purer and need less code changes, but they would just be a container for an int failure code and it would be easier to not catch the error. This fixed bug #567102. 2009-06-04 Murray Cumming * glom/libglom/data_structure/layout/layoutitem_portal.cc: get_navigation_relationship_specific(): Remove unnecessary this-> to be consistent with the rest of the code. 2009-06-04 Murray Cumming Related records portal: Hide the row button when navigation is none. * glom/libglom/data_structure/layout/layoutitem_portal.h: Add documentation for get/set_navigation_relationship_specific(), get/set_navigation_type() and the enum. * glom/mode_data/box_data_list_related.cc: enable_buttons(): Disable editing of details when the portal has NAVIGATION_NONE. * glom/utility_widgets/db_adddel/db_adddel.cc: construct_specified_columns(): Set the button column visibility according to the member variable set in set_allow_view_details(), because the button column often does not exist when that is actually called. This completes bug #574360. 2009-06-04 Murray Cumming Update the DTD for portal navigation and save space in XML. * glom/glom_document.dtd: Update for the portal navigation changes, as promised in bug #574360 * glom/libglom/document/document.cc: save_before_layout_group(): Do not even create the portal_navigation_relationship node if it is the default ("automatic"), to save space in the XML file. 2009-06-04 Murray Cumming Clean up the code to load/save portal navigation options. * glom/libglom/document/document.cc: load_after_layout_group(): Loading the portal's navigation options: Use == instead of ustring::compare() because this is not C. Explicitly default to automatic, removing the comment about defaulting to the default in the Portal's class to preserve the deprecated file format. This is more obvious. save_before_layout_group(): Simplify the code. Do not write GLOM_ATTRIBUTE_PORTAL_NAVIGATIONRELATIONSHIP_MAIN because a) It is deprecated (should be read but not written) and b) It is not read or used anywhere else anyway. Use constants for the possible attribute values, instead of copy/pasting the same string constants in several places. 2009-06-04 Murray Cumming Store script module code in child text nodes. * glom/libglom/document/document.cc: load_after(), save_before(): Store the (importable) python script library modules in a child text node instead of an attribute, as we do elsewhere, dealing with a TODO that I found in the DTD. * glom/glom_document.dtd: Update appropriately.