2.12.1:

2009-10-02  Murray Cumming  <murrayc@murrayc.com>

	* glom/libglom/utils.h|cc]: build_sql_select_fields_to_get(): 
	Removed the unused extra_join parameter.
	* glom/base_db.cc: Adapted.

2009-10-02  Murray Cumming  <murrayc@murrayc.com>

	Related Records: Fix doubly-related records portals, such as a list of 
	an Artist's publishers (via their albums).

	* glom/libglom/utils.[h|cc]: build_sql_select_with_where_clause(): 
	Move some code into build_sql_select_fields_to_get(), so we can get the 
	list of fields to get without the rest of the SQL.
	* glom/base_db.cc: set_found_set_where_clause_for_portal(): 
	Use build_sql_select_fields_to_get() to GROUP BY the full field list 
	instead of just the primary key, as required by recent PostgreSQL, 
	and probably by the SQL specification.
	We should investigate SELECT DISTINCT again to simplify this. 

2009-10-02  Michael Hasselmann  <michaelh@openismus.com>

	Import: Cleanup, added comments.

2009-10-01  Michael Hasselmann  <michaelh@openismus.com>

	Import: Made import working again, changed import logic

	* glom/import_csv/csv_parser.[h|cc] (fetch_next_row): This method allows
	iterating over the parser's cache without the need for a max row/column
	count. Potential issue with valid empty rows during import needs to be fixed.

	* glom/import_csv/dialog_import_csv.[h|cc]: Removed logic based on row counts.
	It turned out that most places didn't need access to get_row_count() anyway.

	* glom/import_csv/dialog_import_csv_progess.cc: Switched import to use the
	parser's new fetch_next_row() API. Not tested for large files yet.

2009-09-29  Murray Cumming  <murrayc@murrayc.com>

  Doubly-related Records: Correct the SQL.
  
	* glom/base_db.cc: set_found_set_where_clause_for_portal():
	For doubly-related records, use the correct relationship for the GROUP BY to 
	avoid a SQL error about a non-existant field. We must have been lucky before.
	
	However, we now need to fix the SQL error (maybe new in a recent PostgreSQL 
	version) about not mentioning all viewed fields in the GROUP BY.

2009-09-29  Murray Cumming  <murrayc@murrayc.com>

  Design: Related Records Portal: Prevent use of inappropriate relationships.
  
	* glom/mode_design/layout/dialog_layout_list_related.cc: 
	on_combo_relationship_changed(): Do not allow the related record to show 
	relationships that would require duplicate values in unique fields to show 
	multiple records. Noticed by Alessio C.

2009-09-29  Murray Cumming  <murrayc@murrayc.com>

	LayoutGroup: Added accessors for columns count, hiding the member variable.
	
	* glom/libglom/data_structure/layout/layoutgroup.[h|cc]: Made m_columns_count 
	private and added get/set_columns_count() so I can see when this is changing.
	* glom/libglom/data_structure/layout/layoutgroup.h:
	* glom/libglom/document/document.cc:
	* glom/mode_data/flowtablewithfields.cc:
	* glom/utility_widgets/dialog_flowtable.cc: Adapted.

2009-09-29  Murray Cumming  <murrayc@murrayc.com>

	Maemo: Actually allow details to be opened.
	
	* glom/utility_widgets/db_adddel/db_adddel.cc: get_item_selected():
	Use Hildon::TouchSelector::get_selected() instead of get_active() so it 
	actually works for rows other than the first one. 
	See hildon bug https://bugs.maemo.org/show_bug.cgi?id=4640,
	though the error might be in our maemomm C++ code to work around that.

2009-09-28  Murray Cumming  <murrayc@murrayc.com>

	Maemo: Find: Show the quickfind.
	
	* glom/frame_glom.cc: Constructor: On Maemo, put the quickfind widgets in 
	the separate find window.

2009-09-28  Murray Cumming  <murrayc@murrayc.com>

	Create QuickFind buttons in code, instead of Glade.

	* glom/frame_glom.cc:
	* glom/glom.glade: Create the QuickFind widgets in code instead of in 
	Glade so we can adapt them for Maemo and put them in the separate Find 
	window.

2009-09-28  Murray Cumming  <murrayc@murrayc.com>

	Initial dialog: Expand the network item.

	* glom/dialog_existing_or_new.cc: Constructor: Expand the Network 
	item, because it helps to explain what it is, particularly on Maemo 
	where there are no treeview row arrows.

2009-09-28  Murray Cumming  <murrayc@murrayc.com>

	* glom/frame_glom.[h|cc]: Maemo: Show the Find UI in a separate window.

2009-09-28  Murray Cumming  <murrayc@murrayc.com>

	Maemo: Find: Use only the details view.
	
	* glom/mode_find/notebook_find.[h|cc]: Hide the list view (and tabs) on Maemo.
	This needs to be a separate window too.

2009-09-28  Murray Cumming  <murrayc@murrayc.com>

	Maemo: Show the table name in the AppMenu. Added a Find Button.
	
	* glom/application.cc: update_window_title(): Update the picker button here 
	too.
	init_menus(): Add a Find button for the AppMenu.
	* glom/navigation/maemo/pickerbutton_table.cc: set_table_name(): Actually 
	set the row as active.
	* glom/dialog_existing_or_new.cc: Make sure the first row is visible, 
	even on Maemo. Otherwise it looks strange.
	
2009-09-28  Murray Cumming  <murrayc@murrayc.com>

	Initial dialog: Expand the network item.

	* glom/dialog_existing_or_new.cc: Constructor: Expand the Network 
	item, because it helps to explain what it is, particularly on Maemo 
	where there are no treeview row arrows.

2009-09-28  Murray Cumming  <murrayc@murrayc.com>

	Fix a crash.

	* glom/dialog_existing_or_new.cc: Move some assertions so this works 
	again in non-client-only mode.

2009-09-28  Murray Cumming  <murrayc@murrayc.com>

	client-only mode: Ifdef out unused code.
	
	* glom/dialog_existing_or_new.[h|cc]: Ifdef out unused code for the new 
	document notebook tab in client-only mode.

2009-09-28  Murray Cumming  <murrayc@murrayc.com>

	Maemo: Removed icons from dialogs.
	
	* glom/glom.glade: Comment out icons in our maemo5 branch.

2009-09-28  Murray Cumming  <murrayc@murrayc.com>

	Client-only mode: Change the initial dialog label.
	 
	* glom/dialog_existing_or_new.cc: Constructor: Change the label text if in 
	client-only mode, to avoid mentioning creation of documents.

2009-09-25  Murray Cumming  <murrayc@murrayc.com>

	Fix the build with gtkmm < 2.18.
	
	* glom/utility_widgets/flowtable.cc: Correct the use of 
	GTKMM_MINOR_VERSION to fix the build with older gtkmm versions.

2009-09-25  Michael Hasselmann  <michaelh@openismus.com>

	Import: More code cleanup in tests
	
	* glom/import_csv/csv_parser.cc (set_file_and_start_parsing): Fail on empty
	file uri.
	
	* tests/import/*: Removed the ugly mainloop singleton, among other cleanups.

2009-09-25  Murray Cumming  <murrayc@murrayc-desktop>

	Cleanup.

	* glom/glom.glade: Really revert a bad merge from the maemo5 branch.
	* glom/libglom/connectionpool_backends/postgres_self.cc: Do not have 
	actual newlines in string literals.

2009-09-25  Murray Cumming  <murrayc@murrayc.com>

	Fix the build with gtkmm < 2.18.
	
	* glom/utility_widgets/flowtable.cc: Correct the use of 
	GTKMM_MINOR_VERSION to fix the build with older gtkmm versions.

2009-09-25  Murray Cumming  <murrayc@murrayc-desktop>

	Import tests: Fixed.

	* tests/import/utils.[h|cc]: run_parser_from_buffer(): Added a 
	version that takes a std::string, to make the common case more robust.
	* tests/import/test_parsing.cc:
	* tests/import/test_signals.cc: Fix the tests by not incorrectly 
	taking the length of the raw arrays, which caused the temp files to 
	contain garbage.

2009-09-25  Murray Cumming  <murrayc@murrayc-desktop>

	Import tests: Handle encoding errors.

	* tests/import/utils.cc: Handle signal_encoding_error too, because this
	is one way that the parser can stop.
	Increase the timeout because an infinite loop is unlikely (and not 
	currently happening).

2009-09-25  Murray Cumming  <murrayc@murrayc.com>

	tests/import/: Small cleanup.

	* tests/import/test_parsing.cc:
	* tests/import/utils.[h|cc]: Use a sigc::slot instead of the ugly 
	(because not typedefed) function pointer type.

2009-09-25  Murray Cumming  <murrayc@murrayc.com>

	Removed some debug output.

	* glom/libglom/data_structure/glomconversions.cc: parse_time():
	* tests/test_parsing_time.cc: Removed debug output.

2009-09-25  Michael Hasselmann  <michaelh@openismus.com>

	Import: Changed the signature of line_scanned handler
	
	* glom/import_csv/dialog_import_csv.[h|cc]: Changed the signare of
	on_parser_line_scanned, to use CsvParser::type_row_strings. It does not
	change anything, as the handler didn't even use the parameters.

	Import: Fixed tests to fit new parser API
	
	* glom/import_csv/csv_parser.[h|cc]: Added a finished_parsing signal since the
	max_row count logic is flawed
	(https://bugzilla.gnome.org/show_bug.cgi?id=588233#c16). Also moved common
	parts of on_stream_read(.) (now on_buffer_read(.)) into
	copy_buffer_and_continue_reading(.), to avoid copy'n'paste bugs.
	
	* tests/import/utils.[h|cc]: Added mainloop functionality to trigger the idle
	parse sequence of the CsvParser for the testcases.
	
	* tests/import/test_[parsing,signals].cc: Fixed the tests to fit new parser
	API.