2007-11-21  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 2.0.2

2007-11-14  Marius Vollmer  <marius.vollmer@nokia.com>

	* utils/maemo-select-menu-location-main.c (run_move_to_dialog):
	Increase dialog width by 100 pixels (N71762).

2007-10-11  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 2.0.1
	
	* src/main.cc (get_next_package_info): Do not unref PI when
	getting its info failed, there is no ref for this (N72881).

2007-10-08  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 2.0.0

2007-10-08  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.24

2007-10-04  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/util.cc (start_entertaining_user): Make the dialog wider to
	fix wrong wrap of text after changes applied in	2.10.12-0osso16
	version of gtk (N71864) (N71866).

2007-10-03  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/instr.cc (execute_add_catalogues, execute_install_package):
	Provide the package name for the hidden "%s" in the translations.
	* src/operations.cc (if_details_reply): Likewise.

	* src/apt-worker.cc (operation): Added check_free_space parameter
	and omit required_free_space check when it is false.  Updated all
	callers.
	(cmd_install_package): Get check_free_space parameter from request
	and apss to operation.
	* src/apt-worker-proto.h, src/apt-worker-client.h,
	src/apt-worker-client.cc (APTCMD_INSTALL_PACKAGE,
	apt_worker_install_package): Added check_free_space parameter to
	protocol.
	* src/operations.cc (ip_install_cur): Only set check_free_space
	when not in red-pill mode.

	* src/operations.cc (ip_upgrade_check, ip_maybe_continue): New.
	(ip_close_apps): Call ip_ugrade_check instead of ip_install_cur so
	that the checking is also done for packages with the close-apps
	flag.
	(ip_install_with_info): Allow continuation in red-pill mode when
	the required-free-space test fails.
	
	* src/repo.cc (make_catcache_from_xexp): Never make catalogues
	read-only in red-pill mode.

2007-10-02  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/main.cc (install_named_package): Included the package name
	with the error message for ai_ni_error_download_missing (N66899).

2007-10-01  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/dbus.cc (device_name): Use OSSO_PRODUCT_INFO environment
	variable instead of logical id when the Bluetooth name is not
	available.

	* src/log.cc (save_log): Return immediately when uri is NULL
	(N71169).

2007-09-26  Mario Sanchez Prada  <msanchez@maemo.org>

	* utils/maemo-select-menu-location-main.c (run_move_to_dialog):
	Replaced hard coded "Ok" with the "ckdg_bd_change_folder_ok"
	logical id provided by OSSO1.1 File management in OSSO UI
	specification (N71172).

2007-09-25  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/main.h, src/main.cc (get_osso_context): New. Function to
	retrieve the osso_context_t variable initialized in the main
	function from out of main.cc (N70767).
	(Include <libosso.h>): Moved from main.cc to main.h, to define the
	new function commented above (N70767).
	(rpc_show_error_report): Replaced the ai_ni_bd_retry logical id
	for notice dialog with ai_bd_ok (N70914).

	* src/operations.cc (ip_suggest_backup): Changed the method to
	invoke the osso-backup application: now using the
	osso_application_top function instead of the run_cmd utility
	function, to avoid having more than one instance of osso-backup
	when pressing the 'Backup' button (N70767).
	(ip_suggest_backup_cmd_done): Removed, since it's not needed
	because run_cmd it's not used now to launch osso-backup (N70767).

	* src/apt-worker.cc (operation): Changed to use recursion instead
	of an iterative loop here, in order to have a cleaner and better
	understandable code, and taking into account that there shouldn't
	be noticeable efficiency problems in this case.

2007-09-24  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.23

2007-09-20  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/repo.cc (set_cat_list): Added a new parameter to specify a
	GtkTreeIter pointing to the element of the treeview that will be
	focused after rendering it (N67880).
	(cat_edit_response): Update call to set_cat_list to set the
	currently selected iter as the iter to be focused (N67880).
	(refresh_cat_list): Update call to set_cat_list using NULL as the
	new parameter, since it's not needed to focus any iter (N67880).
	(remove_cat_cont): Update call to set_cat_list using NULL as the
	new parameter, since it's not needed to focus any iter (N67880).
	(show_catalogue_dialog): Moved the creation of the treeview after
	setting the sensitiveness to buttons, to let the signals work and
	set it as is needed according to the selected item (N67880).

2007-09-19  Mario Sanchez Prada  <msanchez@maemo.org>

	* utils/maemo-select-menu-location-main.c (dialog_exposed):
	New. Callback to ensure that the select location dialog is always
	drawn on top of HAM windows (N69646).
	(run_select_location_dialog): Connected the 'expose-event' signal
	to new callback commented above (N69646).

2007-09-17  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/operations.cc (ip_suggest_backup): Fixed bug when trying to
	cancel the suggest-backup dialog with escape hardkey (N69652).

	* src/util.cc (start_interaction_flow): Fixed a localization error
	for the "operation in progress" message (N68912).
	(make_global_package_list): Show logical background colors for
	even/odd rows in the package list (N69616).

	* utils/maemo-select-menu-location-main.c (make_folder_tree_view):
	Fixed a mistake creating a GtkTreeModelFilter (N69644).

2007-09-14  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/main.cc (install_from_file_flow): Added extra logic to
	convert the filename received to a valid GnomeVFS uri (N66407).

	* src/search.cc (emit_dialog_response): New callback. It emits the
	"response" signal for the search dialog with GTK_RESPONSE_OK as
	the response ID (N58335).
	(show_search_dialog_flow): Signal "activate" of GtkEntry for
	 search words connected to the new callback (N58335).

2007-09-13  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/operations.cc (result_code_to_message): Changed
	implementation and list of parameters to also receive package info
	struct and to take it into account to include its name in the
	returned string (N68825) (N68832).
	(ip_install_cur_reply): Changed the way of calling to
	result_code_to_message (N68825) (N68832).
	(ip_install_reply): Changed the way of calling to
	result_code_to_message (N68825) (N68832).
	(up_remove): Added the name of the package to the string shown
	when uninstalling it is not possible (N68850).
	(installable_status_to_message): Fixed some mistakes setting the
	final localized strings with the name of the packages inside of
	them (N68879) (N68886) (N68898).
	(ip_install_with_info): Set the logical id for the "Not enough
	memory" message (N68911).

	* src/util.cc (entertainment_insensitive_press): Replaced
	hardcoded string with the right l10n logical id (N68844).

	* src/main.cc (rpc_with_network): Removed dialog shown when
	there's no available network connection. Just stop current
	operation silently in that case (N68894).

2007-09-12  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/main.cc (static gboolean package_list_ready): New global
	variable to take care of the status for the first package list
	load in main function (N56637).
	(get_package_list_reply): Update the value of the new global
	variable when needed (N56637).
	(check_catalogues): Don't get catalogues if the package list is
	not ready yet (N56637).
	(rpc_show_error_report): Fixed localization issue for the continue
	button and the dialog main text (N68736).

	* src/operations.cc (ip_check_cert_reply): Fixed localization
	issue for the continue button and the dialog main text (N68736).
	(ip_abort_cur): Fixed localization issue for the continue button
	and the dialog main text (N68736).

	* src/apt-worker.cc (operation): Fixed a bug that made the
	installation of certain packages to kill the apt-worker.

2007-09-11  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/repo.cc (reset_cat_list): Fixed a mistake using delete when
	g_free was the right choice. Removed gtk_list_store_clear to avoid
	a problem later reading an already freed memory block from
	emit_row_signal (N67698).
	(set_cat_list): Added gtk_list_store_clear here to clear the list
	(if needed) when setting a new GtkListStore (N67698).

2007-09-10  Mario Sanchez Prada  <msanchez@maemo.org>

	Done some changes to the smart download location choosing
	implementation:

	* src/settings.h, src/settings.cc (red_pill_download_packages_to_mmc):
	Renamed into download_packages_to_mmc, since it's an optional
	configuration value that is always functional, not only in
	red-pill mode. Changed its default value to true, since
	downloading packages to MMC is now the default behavior, which
	can be disabled with red-pill mode.

	* src/operations.cc (ip_install_with_info): Changed according to the
	renamed variable mentioned above. Replaced a hard-coded string
	with an appropriate logical_id: sfil_ni_not_enough_memory.

	* src/apt-worker.cc (class AptWorkerState): Removed
	saved_dir_cache_archives field, since it's not useful anymore with
	the current changes.
	(restore_dir_cache_archives): Removed, since it's not useful
	anymore with the current changes.
	(set_alt_dir_cache_archives): Removed.
	(set_dir_cache_archives): New. Allows to change the download
	location with an alternative path, updating the APT configuration
	but without creating a unique temporary directory each time it's
	called. It also allows to restore the default location by passing
	NULL as its only parameter.
	(operation): Now the alternative directory is only set (and
	created, if needed) when it's not being already used by the
	apt-worker. If an alternative directory is being used and
	alt_download_root is NULL, then default values are restored in APT
	configuration. Improved the check for enough free space, too.

2007-09-07  Mario Sanchez Prada  <msanchez@maemo.org>

	Implemented the smart download location choosing bug in README.

	* src/settings.h (red_pill_download_packages_to_mmc): New. Red
	pill option for using a MMC to download packages when possible.

	* src/settings.cc (load_settings): Added code to parse the new red
	pill option from the configuration file.
	(save_settings): Added code to save settings with the new option.
	(make_settings_tab): Added new boolean option to the tab, to allow
	the user to select the new option.

	* src/apt-worker-proto.h: Added new parameter definition for the
	INSTALL_PACKAGE command: alt_download_root (string).

	* src/apt-worker-client.h, src/apt-worker-client.cc
	(apt_worker_install_package): Added new parameter to the function,
	to allow sending and alternative download path from HAM to the
	apt-worker. Updated request encoding to add this new parameter.

	* src/operations.cc
	(INTERNAL_MMC_MOUNTPOINT, REMOVABLE_MMC_MOUNTPOINT): New defines
	to hard-code the mount-points /media/mmc2 and /media/mmc1.
	(struct ip_clos): Added a new field to store
	the optional alt_download_root value.
	(install_packages): Initialized the new field commented above.
	(ip_install_with_info): Modified to check the red-pill mode and
	the red-pill-download-to-mmc value. If true, it looks for an
	alternative storage with enough free space to set it as the
	alt_download_root value. If not true, or if not alternative
	storage was finally chosen, it checks the available free space in
	the default download dir and continues with the install operation,
	showing an error message if there's not enough space left there
	either.
	(ip_install_cur): Modified to use the new version of the protocol
	client function apt_worker_install_package.

	* src/util.h, src/util.cc (get_free_space_at_path): New. It checks
	how much free space there is at the specified path.
	(get_free_space): Modified. Now it works using the new
	get_free_space_at_path function.
	(volume_path_is_mounted): New. It checks if there is a mounted
	device at the specified path using GnomeVFS.

	* src/apt-worker.cc (class AptWorkerState): Added new fields to
	mark when an alternative download path is being used, as well as
	the original path before changing it, to restore it later.
	(cmd_install_package): It decodes the new parameter coming with
	the request, uses it to invoke the modified operation() function
	and makes a clean up of the current download directory if needed.
	(cmd_install_check): Updated calling to operation() with the new
	parameter required.
	(cmd_remove_package): Updated calling to operation() with the new
	parameter required.
	(get_free_space_at_path): New. Private function that checks how
	much free space is at the specified path.
	(set_alt_dir_cache_archives): New. Private function that creates a
	temporary directory under a specified path to download packages,
	updating the APT configuration, too.
	(restore_dir_cache_archives): New. Private function that makes a
	clean up of the temporary directory created with
	set_alt_dir_cache_archives and restores APT configuration.
	(operation): Now it receives an additional parameter with the
	optional alt_download_root value, to see if it's necessary to use
	an alternative download directory for the packages. It also checks
	now for enough free space considering the optional alternative
	download place and, and if there's no enough space there, trying
	once again with default directory as usual. At last, computed the
	required_free_space for all the packages to be installed, so it's
	possible to check whether there's enough free space to install
	them in the root file-system after the download process, or not.

	* doc/red-pill.txt: Added explanation for the new red pill option.

	* README: Removed "Implement smart download location choosing" from
	the bugs list.

	* configure.ac: Just removed an ugly trailing white space.

2007-09-06  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.22
	
	Use libhildondesktop instead of libhildonmenu, which is
	deprecated.
	
	* configure.ac (HAM_DEPS): Use libhildondesktop instead of
	libhildonmenu.

	* utils/maemo-select-menu-location-main.c: Include
	<libhildondesktop/libhildonmenu.h>.
	(selection_location_response): Don't call set_separators.

2007-09-03  Mario Sanchez Prada  <msanchez@maemo.org>

	* debian/control: Added libhildonmenu-dev to Build-Depends.
	* maemo-select-menu-location-main.c: Fixed incorrect include of
	hildon.caption.h. 

2007-08-30  Marius Vollmer  <marius.vollmer@nokia.com>

        Released 1.9.21

	* src/settings.h, src/settings.cc
	(red_pill_include_details_in_log): New.
	* src/details.cc (add_table_field): Dump field to log when
	requested.
	
	* src/repo.cc (add_entry): Use "hildon-input-mode" property
	instead of "autocap".

	* utils/maemo-select-menu-location-main.c: It's the real thing
	now.
	* configure.ac: Added libhildonmenu to HAM_DEPS.

	* src/util.cc (is_user_section, package_visible): New.
	(set_global_package_list): Use them to filter out packages that
	should be invisible.  This is needed for packages where the
	installed version should be invisible but the available one should
	not, for example.

	* src/apt-worker.cc (cmd_get_package_list): Only skip packages
	when both the installed and the candidate version should be
	invisible.  Put the "magic:sys" package into the user segment.

2007-08-28  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/util.cc (close_apps): Re-implemented using the libhildonwm
	library, to allow closing all the applications except the HAM when
	it's required (tipically, when installing a package with the
	'close-apps' flag).
	* src/test-app-killer.c: Removed an incorrect include (config.h).
	* src/Makefile.am: Build the test-app-killer, but don't install it.
	* configure.ac (HAM_DEPS): Check for "libhildonwm".
	* debian/control: Added libhildonwm-dev to Build-Depends.

2007-08-28  Marius Vollmer  <marius.vollmer@nokia.com>

	* utils/maemo-select-menu-location-main.c,
	utils/maemo-select-menu-location: New.
	* utils/Makefile.am: Build and install them.

2007-08-22  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.20
	
	Work around a osso-backup limitations.
	
	* src/confutils.h (BACKUP_CATALOGUES2): New.
	* src/confutils.cc (backup_catalogues): Write the catalogues into
	two files.
	* src/hildon-application-manager-util: Added restore-catalogues2
	subcommand.
	* hildon-application-manager.sudoers: Allow it.
	* hildon-application-manager.sh: Handle catalogues2.backup file.

	* src/hildon-application-manager-config.cc (element_description):
	Handle localized name elements.

	* src/search.cc (show_search_dialog_flow): Set default response
	(N58335).

	* utils/maemo-confirm-text-user.c (_): Use
	"hildon-application-manager" text domain instead of
	osso-application-installer.

	* src/confutils.h (BACKUP_CATALOGUES, BACKUP_PACKAGES,
	get_backup_catalogues): Moved here from apt-worker.cc.
	(backup_catalogues): New.
	* src/apt-worker.cc (cmd_save_backup_data): Call it instead of
	doing it explicitly.
	* src/hildon-application-manager.cc (update_conf): Call
	backup_catalogues (N64617).
	
	* src/instr.cc (convert_compatibility_catalogue): Removed "dist"
	parameter, se "filter_dist" element of catalogue xexps is not used
	anymore.
	(convert_compatibility_catalogues): Filter out unsuitable
	compatibility catalogues here (N64802).

	* src/repo.cc (cat_row_activated): Ignore read-only catalogues.

	* src/main.cc (search_packages_reply): Only search the first
	section to avoid duplicate results.

	* src/operations.cc: (install_packages): Make sure that we have
	the package info also for single package confirmations (N64800).
	(ip_confirm_with_info): New.
	
2007-08-21  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/operations.cc (up_remove): Use correct logical id.
	(ip_check_cert_reply): Likewise.

	* src/main.h, src/main.c (refresh_package_cache): Cleanup once
	more.  Added 'continued' parameter and changed meaning of result.
	Updated all callers.

	* src/instr.cc (execute_install_package, execute_card_install): Do
	not use start_entertaining_user_silently, it's not good enough
	after all.

	* src/operations.cc (installable_status_to_message): Forcefully
	include package name in all messages.  Needs to be improved.

	* src/repo.cc (render_catalogue_errors): New.
	(make_catcache_from_xexp): Use it to create the details for a
	catcache.
	(cat_text_func): Show detail of catalogue when appropriate.
	(cat_selection_changed): Keep track of currently selected catcache
	so that cat_text_func can do its thing.
	
	* hildon-application-manager.sudoers: New.
	* Makefile.am: Install it.
	(EXTRA_DIST): Add it.

2007-08-20  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/operations.cc (install_packages): Only reboot when a package
	with the "reboot" flag has been successfully installed.

	* configure.ac (HAM_DEPS): Check for "mce".

	Refactored catalogue management and cache refreshing.

	* src/main.h, src/main.cc (refresh_package_cache,
	refresh_package_cache_with_cont): Removed former and renamed
	latter to former.  Added "catalogues" parameter.  Changed all
	callers.  refresh_package_cache now implements setting the
	catalogues and refreshing the cache in one place, including
	letting the user edit the catalogues to correct failures.
	
	* src/repo.h (show_cat_dialog_with_catalogues,
	get_failed_catalogues, render_catalogue_report): Removed.
	(set_catalogues, set_temp_catalogues): Removed. Replaced users
	with calls to the new refresh_package_cache.
	(show_catalogue_dialog): New.
	
	* src/apt-worker.cc (reset_catalogue_errors): New.
	(cmd_update_package_cache): Use to get a slean error slate.

	* src/util.h, src/util.cc (start_entertaining_user_silently): New.
	(start_entertaining_user, stop_entertaining_user): Allow calls to
	be nested.
	(annoy_user_with_arbitrary_details_2): New.

	* src/instr.cc (execute_install_package, execute_card_install):
	Use start_entertaining_user_silently to keep the progressbar
	dialog open after the catalogues have been refreshed.

2007-08-14  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/repo.h, src/repo.cc (struct cat_dialog_closure): Added a new
	bool field (failed_catalogues) to know when a catalogues dialog is
	being realized to show the 'failed catalogues' report.
	(cat_selection_changed): Modified to take into account the new
	failed_catalogues field when setting sensitiveness to the delete
	button. Also modified to set edit button sensitiveness to FALSE
	when the selected repository is marked as 'essential'.
	(cat_response): Modified to take into account the new
	failed_catalogues field when tapping the close button.
	(show_cat_dialog_with_catalogues): Published in repo.h and
	modified to use its second parameter (unused before this change)
	for knowing when it's realizing a 'failed catalogues' dialog.
	(get_failed_catalogues): New. Useful to filter a xexp structure
	with a catalogues report, returning only those ones with some kind
	of errors.

	* src/util.h, util.cc (close_apps): New. Tries to kill all the
	user application apart from the AM. Useful to install packages
	with the 'close_apps' flag.
	(send_reboot_message): New. Sends a DBUS message to reboot the
	device. Useful to install package with the 'reboot' flag.

	* src/operations.cc (HAM_BACKUP_RESPONSE): New define. For being
	used with the new ip_suggest_backup function, which shows a dialog
	with an extra 'Backup' button.
	(ip_suggest_backup): New. Opens a custom dialog with three buttons
	-'Ok', 'Backup' and 'Cancel'- to give the user an advice
	suggesting that a backup would be recommended. If the 'Backup'
	button is pressed, it opens the osso-backup application. Useful to
	install packages with the 'suggest_backup' flag.
	(ip_suggest_backup_cmd_done): New. Used to be passed to the
	run_cmd, invoked from ip_suggest_backup, as the function to be
	executed after the desired shell command had finished.
	(ip_close_apps): New. Used as the response function for the
	confirmation dialog opened from ip_install_with_info to ask the
	user whether the installation of a package is going to close all
	the applications or not.
	(ip_end_rebooting): New. Used from ip_end to reboot the device
	when a package contains the 'reboot' flag.
	(ip_install_with_info): Modified to take into account the
	'suggest_backup' and the 'reboot' flags.
	(ip_end): Modified to call ip_end_rebooting when a 'reboot' flag
	was detected during the installation.

	* src/main.cc (rpc_show_detailed_report): Modified to use
	get_failed_catalogues and show_cat_dialog_with_catalogues to show
	the 'failed catalogues' dialog with the report after an
	unsuccessful refresh, instead of realizing its own custom dialog
	with a text version of such that report.
	(rpc_detailed_report_response): Removed, because it's no longer
	used since rpc_show_detailed_report was modified.

2007-08-13  Mario Sanchez Prada  <msanchez@maemo.org>

	* debian/control: Added new entry for building a new package with
	debug symbols: hildon-application-manager-dbg. (N61786)
	* debian/rules: Changed dh_strip line in order to separate the
	debug symbols into the -dbg package mentioned above. (N61786)

2007-08-07  Mario Sanchez Prada  <msanchez@maemo.org>
	
	* src/instr.cc (annoy_user_with_gerror): Removed an incorrect
	g_error_free calling which caused the program to crash with a
	segmentation fault error when something is wrong trying to
	install packages from an erroneous .install file. (N63862)

2007-08-06  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/settings.h (RESTORE_BACKUP_FILENAME): New define. The
	".hildon-application-manager.backup" string for being used from
	several places without hard-coding it.
	* src/main.cc (restore_packages_flow): Now using the
	RESTORE_BACKUP_FILENAME value to access the backup file, instead
	of hard-coding it as before.
	* src/menu.cc (create_menu): Checks whether a right backup file is
	available or not, in order to enable or disable the "Restore
	applications" menu item after the menu creation. It also uses the new
	define commented above to check such that file. (N56245)
	* src/operations.cc (install_packages): Fixed a mistake using
	logical names for title and description in the install packages
	dialog. (N63856)
	
2007-08-03  Mario Sanchez Prada  <msanchez@maemo.org>
	
	* src/util.cc (irritate_user): Use result value returned by
	get_main_window() as first parameter with
	hildon_banner_show_information function, instead of NULL.
	(update_required_space_label): Removed. From now on the work done
	by this callback would be achieved by the new function
	update_packages_list_selection. (N54796)
	(update_packages_list_selection): New. Updates the "required space" label
	value and the sensitiveness of the OK button when needed, by
	working as a callback for the "row-changed" signal emitted by the
	tree model with the list of packages available. (N54796)
	(packages_list_insensitive_ok_button): Shows an information
	banner when the OK button is pressed while being insensitive. (N54796)
	(select_package_list_with_info): Added a GtkScrolledWindow to
	render the list of packages with scroll bars when needed. Changed
	a bit the layout replacing several calls to gtk_container_add by
	gtk_box_pack_start with 4 pixes of padding. Connected the
	'insensitive-press' signal emitted by the OK button in order to
	show a 'Nothing to install' message when pressed. (N54796)
	(struct upls_closure): New. Used to pass both the OK button widget
	and the "required size" label to the right callback. (N54796)
	* utils/Makefile.am: Changed to also compile non-maemo-launched
	version	of the maemo_confirm_text utility program.

2007-08-02  Mario Sanchez Prada  <msanchez@maemo.org>
	
	* src/util.cc (select_package_list_with_info): use a
	GtkSrolledWindow to add vertical scroll bars (when needed), to the tree view
	with the packages list when installing applications from a memory
	card / backup (N58480).

2007-07-30  Mario Sanchez Prada  <msanchez@maemo.org>
	
	All these changes fix 'make deb' failure.

	* src/Makefile.am: changed bin_SCRIPTS variable to
	dist_bin_SCRIPTS, in order to add such those scripts to
	distribution process.
	Added the prefix directory $(srcdir) to export.map file, allowing
	'make distcheck' to find that file during the check.
	* utils/Makefile.am: same for this file.
	* Makefile.am: Added uninstall-local rule to properly clean
	distribution during the 'make distcheck' process.

2007-07-26  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (fcd_response): Call cont with NULL when dialog has
	been cancelled.

2007-07-25  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.19
	
	New "install_file" D-Bus method.
	
	* src/operations.h, src/operations.cc (install_file): New, for
	installing all kinds of files, including remote ones and .install
	files.
	(install_local_deb_file): Removed.
	* src/main.cc (install_from_file_flow): Rewritten to use
	install_file.
	* src/dbus.cc (dbus_install_file): New.
	(dbus_handler): Dispatch to it.

2007-07-24  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/dbus.h, src/dbus.cc: New files.
	* src/Makefile.am (hildon_application_manager_launch_SOURCES):
	Added them.
	* src/util.h, src/util.cc: Moved D-Bus related stuff into dbus.h
	and dbus.cc.  Updated users.

	Polished D-Bus interaction.
	
	* src/main.h, src/main.cc (notice_initial_packages_available,
	with_initialized_packages): New.
	(update_system_flow): Made public.
	(mime_open_handler, connect_dbus_handlers): Removed, this is now
	handled by dbus_mime_open.
	(main): Call init_dbus_or_die very early.  Don't call setup_dbus.
	Cause notice_initial_packages_available to be called when the
	first request has finished.
	
	* src/util.h, src/util.cc (init_dbus_handlers, init_dbus_or_die):
	Renamed former to latter.  Exit when something goes wrong with
	D-Bus.  Call top_application D-Bus method when our name is already
	regisgtered.
	(setup_dbus): Removed, after merging functionality into
	init_dbus_or_die.
	(dbus_mime_open): New.
	(dbus_handler): Call it for the "mime_open" method.  Handle
	"top_application" instead of "show".
	(dbus_install_packages): Use with_initialized_packages so that
	install_named_packages can find the packages.

	* src/hildon-application-manager-util: Removed "show" subcommand.

	* hildon-application-manager.desktop (Exec): Reverted to
	/usr/bin/hildon-application-manager, which does the right thing
	now when an instance is already running.  (X-Osso-Service,
	X-Osso-Type): Re-added.  Otherwise mime handling seems to be
	broken.

	Released 1.9.18
	
	* src/xexp.c (xexp_parser_text): Do not attempt to transmogrify an
	empty node into a text node with an empty string.

	* src/hildon-application-manager-config.cc
	(main): Recognize "--prepend" option.
	(handle_generic_element): Act accordingly.

2007-07-18  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.17
	
	* src/apt-worker.cc (mark_named_package_for_install): Return
	indication of whether package was found or not.
	(cmd_get_package_info): Don't call mark_for_remove with invalid
	iterator when package is not found.
	(cmd_install_check): Return failure for packages that are not
	found.
	(cmd_install_package): Fail immediately for packages that are not
	found.
	
	* src/apt-worker-proto.h (status_not_found): New.
	* src/operations.cc (installable_status_to_message): Handle it
	(N63279).
	(ip_check_cert_loop): Skip status_not_found packages.

	* src/main.cc (nicify_section_name): Handle NULL sections.
	(install_named_packages): Use status_not_found for packages that
	are not found.

	* src/util.cc (make_select_package_list_store): Use
	get_display_name so that we get the pretty name.
	(select_package_list): Don't ask for the 'removable' info.
	(dbus_handler): Removed "xxx" prefix of method name.

2007-07-17  Marius Vollmer  <marius.vollmer@nokia.com>

	Allow interaction flows on top of foreign windows.  Provide D-Bus
	method for it.  Only one interaction flow is allowed at any one
	time, and all dialogs are shown from within an interaction flow.
	This is a quite conservative approach, but better safe than sorry.
	
	* src/operations.h, src/operations.cc (install_packages): Added
	title, desc parameter, pass n_succesful to continuation.  Updated
	all callers.
	* src/main.h, src/main.cc (install_named_packages): Likewise

	* src/util.cc (dbus_install_package): Expect title, desc, and list
	of packages.  Use install_named_packages instead of
	install_named_package.  Pass n_successful back in D-Bus reply.

	* src/menu.cc (menu_close): Call hide_main_window and maybe_exit
	instead of exiting directly.

	* src/main.cc (main): Don't show main window when "--no-show"
	parameter is given.

	* src/main.h, src/main.cc (install_named_package_flow): Removed.
	(refresh_package_cache_flow): New.
	(call_refresh_package_cache): Use it.
	(connect_mime_open_handler, connect_dbus_handlers): Renamed former
	to latter.
	(main): Call it after getting the package list for the first time.
	
	* src/util.h, src/util.cc (start_interaction_flow,
	end_interaction_flow): Don't take a window parameter, they are now
	only for the main window.  Updated all callers.
	(push_dialog_parent, push_dialog): Renamed former to latter.  Make
	dialog modal here.  Updated all callers.
	(pop_dialog_parent, pop_dialog): Renamed former to latter.
	Updated all callers.
	(get_dialog_parent): Removed, updated all callers to use NULL
	instead.
	(start_foreign_interaction_flow): New, for foreign windows.
	(present_main_window): Moved here to update state for maybe_exit.
	(hide_main_window, maybe_exit): New.
	(dbus_install_package): New.
	(dbus_handler): Call it.  Handle "show" method.

	* src/hildon-application-manager-util: Added "show" sub-command.

	* com.nokia.hildon_application_manager.service (Exec): Pass
	--no-show to start the AM in the background.

	* hildon-application-manager.desktop: Don't advertise us as a
	D-Bus service.  Use "hildon-application-manager-util show" to
	start the AM.
	
	* src/log.cc (show_log, show_log_dialog_flow): Renamed former to
	latter.  Wrapped in interaction flow.  Changed all callers.
	* src/repo.cc (show_repo_dialog, show_catalogue_dialog_flow): Likewise.
	* src/search.cc (show_search_dialog, show_search_dialog_flow):
	Likewise.
	* src/settings.cc (show_sort_settings_dialog,
	show_sort_settings_dialog_flow): Likewise.
	(show_settings_dialog, show_settings_dialog_flow): Likewise.

	* src/details.h, src/details.cc (show_package_details): Added
	continuation.  Rewritten a bit for clarity.  Changed all callers
	to provide continuation.
	(show_package_details_flow): New.

	* src/main.cc (available_package_details,
	installed_package_details): Call show_package_details_flow instead
	of show_package_details.

	* src/util.cc (annoy_user_with_log): Removed.
	
2007-07-13  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.16
	
	* src/repo.cc (cat_response): Construct new catalogue with proper
	defaults (N62712).

	* src/menu.h, src/menu.cc (add_item_with_shortcut): New.
	(create_menu): Expect HildonWindow as parameter and create/set the
	main menu item here.  Use add_item_with_shortcut for "Close"
	(N61571).
	* src/main.cc (main): Adapted to change above.

	* src/main.cc (install_from_file_cont): Correctly end the
	interaction flow when the file chooser has been cancelled
	(N61223).

	* src/operations.cc (install_packages): Use correct logical id
	instead of "Nothing to install" (N54795).

	* src/main.cc (rpc_do_it): Only call ensure_network for the
	default state (N54792).

	* src/operations.cc (install_packages): Added 'automatic'
	parameter so that we can show the 'memory card install cancelled'
	information note appropriately.
	* src/main.cc (install_named_packages): Likewise.
	* src/instr.cc (execute_card_install): Check filename for
	".auto.install" and call install_packages accordingly (N54791).

	* src/apt-worker-client.cc (apt_worker_update_cache,
	apt_worker_install_package): Do not call ensure_network.
	* src/main.cc (rpc_do_it): Do it here.

	* src/util.cc (call_copy_cont): Only call stop_entertaining_user
	when start_entertaining_user has been called previously.

	* src/instr.cc (convert_compatibility_catalogues): Handle NULL
	results from convert_compatibility_catalogue (N60798).

2007-07-11  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/main.cc (set_toolbar_visibility,
	rpc_maybe_get_package_list): Call save_state instead of
	save_settings (N46509).

	* src/settings.cc (load_state, save_state): New, to store
	persistent state in a non-backed-up location.
	(save_settings, load_settings): Don't load and save state
	variables.
	(open_user_file): New, generalized from open_settings_file.
	(open_settings_file): Removed.  Updated all callers to use
	open_user_file instead.
	* src/main.cc (set_toolbar_visibility,
	rpc_maybe_get_package_list): Call save_state instead of
	save_settings.

	* src/util.cc (copy_progress): Return "!copy_cancel_requested"
	instead of "copy_cancel_requested" to keep the copy going, stupid.

	* src/util.h, src/util.cc (reset_global_target_path): New.
	* src/main.cc (view_clicked): Call it so that the first package
	gets selected after switching views.

	* src/details.cc (add_table_field): Default to
	PANGO_ELLIPSIZE_NONE.
	(show_with_details_with_cont): Don't ellipsize user fields.  Put
	common tab into scrolled window.
	(decode_summary): Also show pi->name in addition to display name
	when in red-pill mode.

	* src/operations.cc (up_remove): Added missing "else" so that only
	one error message is shown.

	* src/util.cc (operation_in_progress_response): Removed, it was
	unused.

	Cleanup of the annoy_user family of functions.  There are no
	variants without continuations anymore.
	
	* src/util.h (annoy_user, annoy_user_with_log): Removed.  Replaced
	uses with irritate_user.
	(annoy_user_with_cont): Renamed to annoy_user.  Updated callers.
	(annoy_user_with_details): Removed, it was unused.
	(annoy_user_with_details_with_cont): Renamed to
	annoy_user_with_details.  Updated callers.
	(annoy_user_with_gnome_vfs_result): Added continuation.  Updated
	callers to provide it.
	(what_the_fock_p): New.  Use it for "Operation failed"
	irritations.
	(currently_annoying_user): Removed, recursive annoyances are
	allowed now.
	
2007-07-09  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (start_interaction_flow): Use information banner
	instead of a information dialog when there is a interaction flow
	active so that it is not interrupted.

	* src/main.cc (mime_open_handler): Put in missing "else" so that
	only one interaction flow is started for "magic:restore-packages",
	stupid.
	(connect_mime_open_handler): New.
	(main): Move mime-open initialization to connect_mime_open_handler
	and call it as an idle handler.  This somehow causes dialogs to be
	centered when the AM is started in response to a mime-open call.

	* src/hildon-application-manager-util: Redirect output of
	dbus-send to /dev/null.

2007-07-06  Marius Vollmer  <marius.vollmer@nokia.com>

	Big rewrite of the progress bar dialog.
	
	* src/util.h, src/util.cc (show_progress, hide_progress,
	set_progress, reset_progress_was_cancelled,
	progress_was_cancelled, set_general_progress_title): Removed.
	(start_entertaining_user, stop_entertaining_user,
	set_entertainment_fun, set_entertainment_cancel,
	set_entertainment_title, cancel_entertainment,
	entertainment_was_cancelled): New.

	* src/main.cc, src/operations.cc, src/util.cc,
	src/apt-worker-client.cc: Use new functions instead of removed
	ones.

	* src/apt-worker-proto.h (op_updating_cache): Removed.
	* src/apt-worker.cc (UpdateProgress::Update): Use op_general
	instead of op_updating_cache.

	Miscellaneous.
	
	* src/apt-worker-client.h, src/apt-worker-client.cc
	(apt_worker_noop): New.

	* src/menu.h, src/menu.cc (menu_close): Made non-static.  Call
	apt_worker_noop to wait for the apt-worker to be idle (N49759).

	* src/main.cc (window_delete_event): New, to call menu_close.
	(main): Connect it.

	* src/main.cc, src/main.h (get_intermediate_package_list_info):
	New.
	* src/util.cc (select_packages_list): Use it so that the sizes in
	the dialog are right (N56501).
	
2007-07-05  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (global_target_path): New.
	(global_selection_changed): Keep it up-to-date.
	(make_global_package_list): Put focus on global_target_path
	instead of on the root item  (M1148).

	* src/apt-worker.cc (update_package_cache): Call need_cache_init
	instead of cache_init when some repositories had errors.

	* src/main.cc (refresh_package_cache_with_cont): Get the package
	list concurrently with showing the error report.

	Report details of catalogues that failed to refresh.  (Preliminary
	version with thoughtless UI.)
	
	* src/apt-worker.cc (find_catalogue_for_item_desc): New.
	(update_package_cache, cmd_update_package_cache): Add error
	messages to the catalogue xexpression and return that augmented
	xexp in the response.
	* src/main.cc (refresh_package_cache,
	refresh_package_cache_with_cont): Restructured cps for better
	documentation.  Expect and show catalogue xeps in response from
	apt_worker_update_cache.
		
	* src/apt-worker-proto.h (apt_proto_result_code): Added
	rescode_partial_success and rescode_cancelled.

	* src/repo.h, src/repo.cc (render_catalogue_report): New.

	* src/util.h, src/utils.cc (annoy_user_with_arbitrary_details):
	New.

2007-07-03  Marius Vollmer  <marius.vollmer@nokia.com>

	* utils/maemo-confirm-text-user.c (dialog_realized): Call
	find_application_manager_window instead of
	find_application_installer_window, stupid (N56154).

2007-07-02  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.15
	
	* src/main.cc (main): Use "hildon-application-manager" as the text
	domain.

2007-06-18  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.14

2007-06-15  Xan Lopez  <xan.lopez@nokia.com>

	* src/main.cc (view_clicked): this returns a boolean, not void.
	This might be triggering a bug in old versions of the trail if
	void return value is taken as FALSE.

2007-06-12  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/apt-worker.cc (cmd_get_package_list): Filter out packages
	with the system-update flag that are available but not installed.

2007-06-07  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.13

	* src/operations.cc (install_package, install_packages,
	uninstall_package, install_local_deb_file): Removed "xxx_"
	prefixes; they have been real for some time now.  Changed all
	callers.

2007-06-06  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/main.cc (update_system_flow): New.
	(mime_open_handler): Call it for the "magic:update-system" token.
	Changed restore token to "magic:restore-packages".
	* src/hildon-application-manager-util: Updated for new mime-open
	tokens.
	
        * src/apt-worker-client.cc, src/apt-worker-client.h,
	src/apt-worker-proto.h, src/apt-worker.cc: New
	APTCMD_GET_SYSTEM_UPDATE_PACKAGES.

	* src/operations.cc, src/operations.h
	(INSTALL_TYPE_UPDATE_SYSTEM): New.
	(xxx_install_packages): Don't ask for confirmation when type if
	INSTALL_TYPE_UPDATE_SYSTEM.

	* src/apt-worker.cc (struct domain_info): Removed 'key' and 'uri'
	fields in favor of general 'conf' field that holds the whole xexps
	for this domain.  This allows multiple keys and uris per domain.
	(read_domain_conf): Adapted.
	(find_domain_by_tag): New, factored out of find_domain and
	find_domain_by_uri.  Handle multiple occurences of the tag.
	(find_domain, find_domain_by_key): Renamed former to latter,
	changed callers.
	(get_description): Fall back to 'Description' when
	'Maemo-Upgrade-Description' can't be found, stupid.

	* src/xexp.c, src/xexp.h (xexp_aref_rest): New.

2007-06-05  Marius Vollmer  <marius.vollmer@nokia.com>

	Localizable package names and descriptions, upgrade descriptions,
	and domains identified by URI.
	
	* src/apt-worker.cc (domain_info): Added 'uri' field.
	(read_domain_conf): Initialize it.
	(find_domain_by_uri): New.
	(get_domain): Use it before looking at keys.
	(lc_messages): New.
	(main): Initialize it.
	(struct package_record): New, to encapsulate package record
	parsing.  Use it all over the place.
	(package_record::get_localized_string): New, for trying localized
	fields first.  Use it for Maemo-Pretty-Name, Description, and
	Maemo-Upgrade-Description.
	(get_description, get_short_description, get_long_description):
	Use Maemo-Upgrade-Description as appropriate.  Changed all callers
	for new arguments.
	(encode_localized_field): New.
	(cmd_get_file_details): Use it as appropriate.

2007-06-04  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/hildon-application-manager-config.cc (main): Removed
	"error", it was unused.

	* src/log.cc (log_response): Add ".txt" extension before creating
	the dialog so that it can do its autonaming magic.
	(save_log): Don't add the extension here.

2007-05-10  Marius Vollmer  <marius.vollmer@nokia.com>

 	* debian/postinst: Run "hildon-application-manager-config update"
	to pick up changes in how the secondary configuration files are
	created.

2007-06-04  Xan Lopez  <xan.lopez@nokia.com>

	* src/main.cc: port to use the new HildonBreadCrumbTrail.
	We clear and rebuild the contents on each step, which is
	against the design of the widget, but you got to start
	somewhere.

	* src/Makefile.am: remove old widget from the build.

2007-05-09  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.12
	
	* hildon-application-manager.conf: Reorder entries so that the
	"applications" category gets priority.  This ensures that the
	"applications" category works even now before the backup can
	handle one file in multiple categories.

	* configure.ac (DEFAULT_DIST): Changed to "chinook".

	* src/hildon-application-manager-util: New.
	* hildon-application-manager.sh: Use it.
	* debian/postinst, debian/prerm: Add sudo line for it.
	* src/Makefile.am: Install it.
	
2007-05-07  Marius Vollmer  <marius.vollmer@nokia.com>

	* configure.ac (DEFAULT_DIST): Changed to "unstable".

	* src/apt-worker.cc (cmd_install_file): Do not remove the package
	when the installation failed.

	Released 1.9.11
	
	* src/apt-worker.cc (get_domain for pkgCache::PkgIterator):
	Removed, it was unused.
	(mark_sys_upgrades): Do not try to install packages that are not
	in the "keep" mode.  This prevents us from accidentally undoing
	removals that are part of the upgrade.
	
	* src/details.cc (show_with_details_with_cont): Always list
	everything in red pill mode.

2007-05-03  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.10
	
	* src/apt-worker.cc (cmd_get_file_details): Report NULL when there
	is no Maemo-Display-Name field instead of the empty string.
	
	* src/operations.cc (if_details_reply): Decode sizes as int64 to
	correspond to protocol, stupid.

2007-05-02  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.9

	* debian/preinst: Never fail.
	* debian/postinst: Use "-f" with rm and mv.

2007-04-27  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.7
	
	* src/repo.cc (cat_edit_response): Ask the pill question after
	destroying this dialog so that the dialog parents don't get out of
	sync.

	* src/hildon-application-manager-config.cc (xexp_read_stdin):
	Return the xexp instead of always NULL, stupid.
	(handle_generic_element): Also report elements that should be
	deleted but are not found.
	
	* Makefile.am: Create empty "domains" config file.

2007-04-26  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/Makefile.am (hildon_application_manager_launch_SOURCES,
	apt_worker_SOURCES): Added confutils.cc and confutils.h.

	* src/apt-worker.cc (DOMAIN_CONF, CATALOGUE_CONF,
	CATALOGUE_APT_SOURCE, write_sources_list): Removed, they are in
	confutils now.

	* src/repo.cc: (cats_are_equal, find_catalogue): Removed, use
	confutils.h instead.

	* src/util.h, src/util.cc (tokens_equal): Removed, it's in
	confutils now.

	* hildon-application-manager.sh: Use
	hildon-application-manager-config instead of
	hildon-application-manager-merge-catalogues.

	* src/confutils.h, src/confutils.cc,
	src/hildon-application-manager-config.cc: New.
	* src/Makefile.am: Added hildon-application-manager-config program,
	removed hildon-application-manager-merge-catalogues program.
	
	* configure.ac: Check for
	apt_set_index_trust_level_for_package_hook.

	* srtc/apt-worker.cc: Implemented domains.
	(DOMAIN_CONF, domain_t, domain_info, domain_conf, domains,
	default_domain, read_domain_conf, find_domain,
	index_trust_level_for_package, cur_source, find_deb_meta_index,
	get_domain, domain_dominates_or_is_equal, reset_new_domains,
	collect_new_domains): New.
	(encode_trust_summary): Rewritten.
	(collect_trust_information): Removed.
	(package_flags_struct, extra_info_struct): Renamed former to
	latter, added domain information, changed all users.
	(load_package_flags, load_extra_info): Renamed former to latter,
	load all extra information.  Changed all callers.
	(save_package_flags, save_extra_info): Likewise.
	(main): Call read_domain_conf and install
	index_trust_level_for_package.
	
	* src/apt-worker-proto.h (apt_proto_pkgtrust): Reduced trust
	indicators to pkgtrust_not_certified and
	pkgtrust_domains_violated.
	* src/operations.cc (ip_check_cert_reply): Changed acoordingly.

	* src/util.cc: Removed DBUS_API_SUBJECT_TO_CHANGE.

2007-04-23  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (do_copy): Use gnome_vfs_async_xfer instead of
	ovu_async_xfer.
	* configure.ac: Don't check for obex-vfs-utils.
	* debian/control: Removed osso-gnomevfs-extra-dev from
	Build-Depends.

2007-04-20  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/hildon-application-manager-merge-catalogues.cc: New.
	* src/Makefile.am: Build it.

	* src/apt-worker.cc (cmd_save_backup_data): Save catalogues and
	packages to separate files.
	* hildon-application-manager.conf, hildon-application-manager.sh:
	Handle catalogues and apckages separately.

	* src/main.cc (restore_packages_flow, rp_restore): Don't expect
	catalogues to be in the backup data.  Don't add them, just refresh
	the caches.
	(mime_open_handler): Run the restore flow for all files ending in
	backup.install, for now.

	* src/repo.cc (set_catalogues_reply): Call save_backup_data to
	save the changes to the catalogues.

	* src/xexp.c, src/xexp.h (xexp_pop): New.

	* src/menu.cc (simulate_backup_restore, create_menu): Removed
	backup/restore simulation, it's not that simple anymore...

2007-04-19  Marius Vollmer  <marius.vollmer@nokia.com>

	Keep track of which packages are from non-trusted sources.
	Removed concept of certified sources.

	* src/apt-worker-proto.h (apt_proto_preptype): Removed.
	(apt_proto_pkgtrust): Added.
	
	* src/apt-worker.cc (package_flag_struct): Added
	not_from_trusted_source.
	(load_auto_flags, save_auto_flags, load_package_flags,
	save_package_flags): Renamed former two to latter two.  Also save
	the "notrust" file.
	(collect_trust_information): New.
	(operation): Call it.
	(encode_prep_summary, encode_trust_summary): Renamed former to
	latter.  Use new pkgtrust enumeration.  Discover broken trusted
	upgrade paths.
	(read_certified_conf, is_certified_source): Removed.
	
	* src/operations.cc (ip_install_with_info): Record reboot request.
	Ask for application closing when requested.
	(ip_end): Ask for reboot when requested.
	(ip_check_cert_reply): Handle new pkgtrust reply.
	
2007-04-18  Marius Vollmer  <marius.vollmer@nokia.com>

	* hildon-application-manager.conf: Removed /etc/apt/sources.list.
	Use applications category for the state file.

	* src/details.cc (show_with_details_with_cont): Omit summary when
	it would contain exactly one package.

2007-04-17  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/apt-worker-proto.cc, src/apt-worker-proto.cc,
	src/apt-worker.cc, src/main.cc, src/operations.cc: Use int64_t for
	sizes instead of off_t or int.
	(ip_install_with_info): Check free space.
	
	* src/details.cc (add_table_list_1): Removed for now.  The
	smartness will return later.
	(show_with_details_with_cont): Use add_table_list instead for now.

	* src/util.cc (get_free_space): New.
	(annoy_user_with_errno): Added continuation.
	(size_string_detailed, size_string_general): Use int64_t instead
	of int for the size.
	
	Pretty display names, flags and required free space for
	packages.

	* src/apt-worker-proto.h, src/apt-worker-proto.cc,
	src/apt-worker.cc, src/apt-worker-client.cc: Renamed
	APTCMD_GET_PACKAGES_TO_REMOVE to APTCMD_REMOVE_CHECK.  Changed all
	occurences.
	(APTCMD_GET_PACKAGE_LIST): Include pretty names in reply.
	(status_system_update_unremovable): New.
	(APTCMD_GET_PACKAGE_INFO): Include required free space and
	installation flags in reply.  Report sizes as off_t instead of as
	int.
	(APTCMD_GET_FILE_DETAILS): Include pretty name in reply.
	
	* src/apt-worker.cc (append_display_name): New, use when reporting
	summaries.

	* src/main.h, src/main.cc (package_info): Added
	installed_pretty_name and available_pretty_name.  Updated
	constructor and desctructor.
	(package_info::get_display_name): New.  Use instead of
	package_info::name where appropriate.

	* src/operations.cc (if_details_reply): Retrieve pretty name from
	reply.

	* src/util.cc (global_name_func): Get the right pretty name for
	display.

	* src/instr.cc (convert_catalogues): Use gsize instead of int for
	catalogue index.

2007-04-13  Marius Vollmer  <marius.vollmer@nokia.com>

        Released 1.9.6
	
	* src/main.cc, src/operations.cc (save_backup_data): Moved to main.cc.
	(main): Call it on startup.

	* src/menu.cc (simulate_backup_restore): Use correct file names,
	stupid.

2007-04-12  Marius Vollmer  <marius.vollmer@nokia.com>

	* hildon-application-manager.sh: Only copy backup file into save
	place, don't start Application Manager.
	* Makefile.am (restoredir, restore_DATA): Reactivated restore script.

	* src/apt-worker.cc (get_backup_catalogues, get_backup_packages,
	cmd_save_backup_data): New.
	(cmd_save_applications_install_file): Removed.
	* src/apt-worker-proto.h, src/apt-worker-client.h,
	src/apt-worker-client.c: Adapted to above change.
	
	* src/main.cc (restore_packages_flow): New.
	(mime_open): Call it when appropriate.

	* src/menu.cc (simulate_backup_restore): New.
	(create_menu): Added "restore" item.

	* src/operations.cc (save_backup_data): New.  Call it when the
	list of installed packages might have changed.

	* src/util.cc (call_copy_cont): Make sure that copy_cont is called
	after the annoying dialog has been answered.

	* src/main.cc (install_from_local_file): Make sure that the flow
	always ends.

	Released 1.9.5
	
	* Makefile.am: Do not install restore script and 00-smallcache.

	Released 1.9.4
	
	* src/instr.cc (execute_install_package): Merge catalogues
	correctly also when they are NULL.

	Big rewrite of the interaction flows.  Functionality remains the
	same, code is hopefully easier to maintain now.
	
	* src/util.h (start_interaction_flow, end_interaction_flow): New,
	use them as appropriate.
	(pop_dialog_parent): Added window parameter for extra checking.
	Changed all callers.
	(start_dialog_flow, end_dialog_flow): Removed.  Changed callers to
	use start_interaction_flow and end_interaction_flow instead.
	
	* src/operations.h, src/operations.cc: New.
	* src/main.cc: Moved interaction flows from here to operations.cc.
	* src/Makefile.am (hildon_application_manager_launch_SOURCES):
	Added them.

	* src/apt-worker-client.cc (apt_worker_get_package_details): Added
	state parameter.

	* src/details.h (show_package_details_with_cont): Removed.
	 (show_package_details): Added state parameter.

	* src/xexp.c, src/xep.h (xexp_append): New.

	* src/instr.cc (open_local_install_instructions): Added
	continuation.  Do not call cleanup_temp_file.

	* src/menu.cc (create_menu): Use install_from_file_flow.

2007-04-04  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/main.cc (check_catalogues_reply): Test "catalogues" for
	NULL, not "dec", stupid.

	Robustify against startup failures of apt-worker by not havong the
	frontend block until the apt-worker is ready.
	
	* src/apt-worker.cc (must_set_flags, block_for_read): New.
	(maybe_read_byte, read_byte): Renamed former to latter.  Do not
	poll here, just use read directly.  Whether or not this blocks is
	determined by the flags of the file descriptor now.  Changed all
	callers.
	(main): Open read fifos in non-blocking mode and perform the newly
	required handshake with the frontend.

	* src/apt-worker-client.h, src/apt-worker-client.cc
	(must_open): Do not reset O_NONBLOCK here.
	(must_open_nonblock): New, to handle O_NONBLOCK.
	(try_apt_worker_closure, start_closure, cancel_apt_worker_start,
	try_apt_worker_start): Removed.
	(handle_apt_worker, add_apt_worker_handler): Moved here from
	main.cc.
	(apt_worker_watch): New.
	(start_apt_worker): Removed all callbacks.  Open read fifos, do
	that in non-blocking mode and setup the listeners, including
	handle_apt_worker.  Install apt_worker_watch as a child watch.
	(finish_apt_worker_startup): New, to complete the startup
	handshake.
	(handle_one_apt_worker_response): Call it when the first response
	comes.
	(apt_worker_is_running): Look at apt_worker_in_fd instead of
	apt_worker_out_fd since the latter is only valid when the
	apt-worker startup is complete.
	(pending_request): Added enough extra fields to also keep requets
	pending, not only responses.
	(send_apt_worker_cmd): New, factored out of call_apt_worker.
	(send_pending_apt_worker_cmds): New.
	(call_apt_worker): Delay a request when the apt-worker startup has
	not been completed yet.
	(status_out_of_space, reset_client_error_status,
	client_error_out_of_space): Removed, they are unused.

	* src/main.cc (handle_apt_worker, add_apt_worker_handler): Moved
	to apt-worker-client.cc.
	(apt_status_callback): Ignore statuses with non-positive totals.
	(start_apt_worker_reply): Removed.
	(main): Do not create the startup progress dialog.  Call
	get_package_list right after starting the apt-worker; the request
	will automatically be delayed if necessary.  Removed magic for
	determing whether we should show our main window or not.
		
2007-03-16  Marius Vollmer  <marius.vollmer@nokia.com>

        Released 1.9.2
	
	* configure.ac: Check for hildon-help instead of libossohelp.
	* src/main.cc (set_dialog_help): Use
	hildon_help_dialog_help_enable instead of
	ossohelp_dialog_help_enable.
	(show_help): Use hildon_help_show instead of ossohelp_show.

	Released 1.9.1
	
	Hildon consolidation changes.  All header locations have been
	changed from <hildon-widgets/...> to <hildon/...>.

	* src/repo.cc (stripped_equal, catalogue_dist, set_catalogue_dist,
	catalogue_components): Removed.  Changed all users to use
	xexp_aref_text directly.
	(cat_edit_response): Allow empty "Distribution" field.
	(cats_are_equal): Use tokens_equal instead of strcmp.

	* configure.ac: Check for hildon-1 instead of hildon-libs and
	hildon-fm-2 instead of hildon-fm.

	* src/util.h, src/util.cc (all_white_space, all_whitespace):
	Renamed former to latter.  Changed all callers.
	(tokens_equal): New.
	(make_global_section_list): Do not use attach flags, they are
	gone.
	(irritate_user): Use hildon_banner_show_information instead of
	gtk_info_print.
	
	* src/main.cc (main): Use HILDON_ICON_SIZE_TOOLBAR instead of
	HILDON_ICON_SIZE_26.
	(make_main_view): Use HILDON_ICON_SIZE_SMALL instead of
	HILDON_ICON_SIZE_26.

2007-03-09  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 1.9.0pre0, which is violent change of upstream versions
	to comply with the Hildon unified versioning scheme.  Sorry for
	the confusion.

2007-03-08  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (create_progress): Turn a NULL title into the empty
	string.  This shouldn't happen, but it's the robust thing to do.

2007-03-07  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 5.0pre5

2007-03-01  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/instr.cc (execute_card_install): Use gnome_vfs_escape_string
	before using the dirname in a URI.

	* src/main.cc (xxx_open_file_when_idle): Call
	open_local_install_instructions instead of
	xxx_open_local_install_instructions.
	(check_repositories, check_catalogues): Renamed former to latter.
	Changed all callers.  Rewritten to use get_catalogues instead of
	apt_worker_get_sources_list.
	(check_repositories_reply, check_catalogues_reply): Likewise.

	Dead code removal after rewriting catalogue handling.

	* src/repo.h, src/repo.cc, src/instr.h, src/instr.cc
	(maybe_add_repos, temporary_set_repos): Removed together with all
	their subroutines.
	(parse_quoted_word): Moved to instr.cc and made static.
	(xxx_open_local_install_instructions,
	open_local_install_instructions): Removed latter with all its
	subroutines.  Renamed former to latter to hook new code into the
	rest of the program.

	* src/apt-worker-client.h, src/apt-worker-client.cc,
	src/apt-worker-proto.h, src/apt-worker.cc
	(APTCMD_GET_SOURCES_LIST, APTCMD_SET_SOURCES_LIST,
	apt_worker_get_sources_list, apt_worker_set_sources_list,
	cmd_get_sources_list, cmd_set_sources_list): Removed.
	
2007-02-28  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/main.cc (install_named_packages): Remove leading whitespace
	from package names.
	(call_with_package_list_info_cont): Only check pi->have_info when
	pi is not NULL.

	* src/instr.cc (convert_catalogue): Added file_uri_base parameter
	and handle "file_uri" key.  Updated all callers.
	(convert_compatibility_catalogue,
	convert_compatibility_catalogues): New, to handle old .install
	files.
	(execute_install_package): Use them to detect and handle old
	.install files.
	(execute_card_install): New.
	(xxx_open_local_install_instructions): Dispatch to it as
	appropriate.
	
	* src/repo.h, src/repo.cc (set_temp_catalogues): New.
	(set_catalogues_1): New, common code for set_catalogues and
	set_temp_catalogues.

	* src/xexp.h, src/xexp.c (xexp_free): Do nothing for NULL xexp.
	(xexp_text_newn): New.

	* src/apt-worker.cc (AptWorkerState::IsTemp): New.
	(class AptWorker): Added source_parts configuration parameter for
	"Dir::Etc::SourceParts".
	(cmd_set_catalogues): Provide default value for dist.  Write the
	correct file, depending on state.  Don't write main catalogues
	file for temporary state.
	(write_sources_list): New, factored out of cmd_set_catalogues,
	
	* src/instr.cc (convert_catalogue): Handle non-existent groups and
	non-existent names.  Do not convert file_uri keys, they will be
	handled differently.
	(convert_catalogues, execute_add_catalogues,
	execute_install_package): New.
	(xxx_open_local_install_instructions): Dispatch to one of the
	execute_* functions.
	
	* src/repo.h, src/repo.cc: Documented catalogue xexps.  Updated
	code to comply with new format.
	(catalogue_name): Use "default" language code instead of first
	element.
	(catalogue_dist, catalogue_components, set_catalogue_dist): New.
	Use in appropriate places.
	(cats_are_equal): New.
	(find_catalogue): Use it, don't look at tags.
	(catalogue_is_newer): Removed.
	(add_catalogues): Do not filter here, we expect the list to be
	filtered list already now.

	* src/Makefile.am: Don't set CXXFLAGS, leave it to the user.

	* configure.ac (DEFAULT_DIST): New define, hardcoded for now.
	
	* src/main.cc (refresh_package_cache_reply): Show error message
	after list of apckages has been refreshed.  Call our continuation
	after error message has been acknowledged.  This change has been
	made to ensure that our continuation is only called when both the
	refreshing and the interaction with the user has been completed so
	that the continuation can then interact itself.
	(refresh_package_cache_cont2, refresh_package_cache_cont3):
	Updated for new control flow.
	
	Refined the "Add catalogues" interaction flow.
	
	* src/repo.cc (add_catalogues_cont_3): Cancel whole operation only
	when this is an 'udate'.
	(add_catalogues_cont_2): Set the catalogues and refresh when they
	have been changed or this is an 'update'.

	Initial support for new-style .install files.
	
	* src/instr.h, src/instr.cc (xxx_open_local_install_instructions,
	convert_locale_string, convert_catalogue): New.
	* src/main.cc (xxx_open_file_when_idle): New.
	(main): Setup xxx_open_file_when_idle to be called when there is a
	second argument on the command line.

2007-02-26  Marius Vollmer  <mvo@zagadka.de>

	* src/repo.h, src/repo.cc (add_catalogues): Renamed 'for_install'
	parameter to 'update'.  Always set the catalogues and refresh the
	cache.  Detect and report when all catalogues have been filtered
	out.

2007-02-25  Marius Vollmer  <mvo@zagadka.de>

	* src/xexp.h, src/xexp.c: Introduced the concept of empty xexps,
	since our XML format can not readily distinguish between empty
	list and empty text expressions.

2007-02-22  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/xexp.h, src/xexp.c: Cleanup xexp API.  Changed all users.

2007-02-21  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/main.cc (make_padded_button): Removed attach_flags
	parameter; view buttons will not be supported in the future.
	Updated all callers.

2007-02-20  Jose Dapena Paz  <jdapena@iga\lia.com>

	* src/apt-worker-client.cc: now status_fd is global. This fixes
	an error that happend when we couldn't get all the fd's in the 
	same call to try_apt_worker (it happens frequently, at least
	if you don't use valgrind and then startup and iterations
	happen quickly).

	* src/apt-worker-client.cc (must_open): now must_open removes
	O_NONBLOCK, as app manager depends on blocking calls from now
	on.

	* src/apt-worker-client.cc (try_apt_worker_start, main):
	now all initalization of fd's (statusfd, log_from_fd) is done
	after success of apt-worker init.

2007-02-20  Jose Dapena Paz  <jdapena@iga\lia.com>

	* apt-worker-client.cc (try_apt_worker_start): fix a very silly
	bug (bad parenthesis in conditions) that made startup
	break completely. Now the feature is working again.

	* apt-worker-client.cc (start_apt_worker): removed comment
	about using O_NONBLOCK, as now it's using it.

2007-02-20  Jose Dapena Paz  <jdapena@iga\lia.com>

	More reliable startup of apt-worker:

	* apt-worker-client.cc: added functions cancel_apt_worker_start
	and try_apt_worker_start to make apt-worker initialisation
	asynchronous. This prevents locks of app manager on startup.
	Now it waits 3 seconds trying to start the apt-worker before
	giving up. Then it returns to the GUI, letting user read the
	log (all the other functions don't work).

	* main.cc (main): added start_apt_worker_reply callback and added
	asynchronous support for apt-worker initialization, as offered in
	apt-worker-client.

2007-02-20  Marius Vollmer  <marius.vollmer@nokia.com>

	* Makefile.am (install-data-local): Create empty catalogues file
	when it doesn't exist.

2007-02-19  Jose Dapena Paz  <jdapena@iga\lia.com>

	* src/apt-worker.cc (cmd_save_applications_install_file): leak
	fixes (string arrays of package names and deb lines were not
	freed).

	* src/util.cc (really_cancel_response): do gtk_main_quit instead
	of exit(1) to do a cleaner close of the application.

2007-02-18  Marius Vollmer  <mvo@zagadka.de>

	* src/apt-worker.cc (append_system_sources,
	append_system_source_dir): New.
	(cmd_get_catalogue): Include the system sources in the reply as
	"source" xexps.
	(cmd_set_catalogues): Ignore "source" xexps in the argument.

	* src/repo.h, src/repo.cc (with_catalogues, get_catalogues):
	Renamed former to latter.
	(set_catalogues): Added continuation, updated all callers.
	(add_catalogues): New.
	(make_catcache_from_xexp): Handle "source" xexps.

	* src/instr.cc (open_local_install_instructions): Experimentally
	call add_catalogues when the instructions file can be read as an
	xexp.
	
	* src/xexp.h, src/xexp.c (xexp_copy, xexp_aref_int,
	xexp_adel_all): New.

	* src/apt-worker.cc (cmd_set_catalogues): Ignore non-"catalogue"
	entries when writing the sources for apt.
	* src/repo.cc (set_cat_list): Likewise when filling the list widget.

	Support for X-Expressions and initial rich catalogue
	configurations based on them.
	
	* src/xexp.h, src/xexp.x: New.
	* Makefile.am: Add them to both hildon-application-manager and
	apt-worker.
	* src/apt-worker-proto.cc (apt_proto_decoder::decode_xexp,
	apt_proto_encoder::encode_xexp): New.
	(APTCMD_GET_CATALOGUES, APTCMD_SET_CATALOGUES): New.
	* src/apt-worker-client.h,
	src/apt-worker-client.cc (apt_worker_get_catalogues,
	apt_worker_set_catalogues): New.
	(apt_worker_temp_set_sources_list): Removed, it was unused.
	* src/apt-worker.cc (cmd_get_catalogues, cmd_set_catalogues): New.

	* src/repo.h, src/repo.cc (get_catalogues, set_catalogues): New.
	(show_repo_dialog): Rewritten with new X-Expression representation
	of catalogues.
	(add_entry): Handle end == NULL.
	
2007-02-15  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 5.0pre4
	
	* src/main.cc (install_package): Added 'ask' parameter and
	suppress confirmation dialog when it is false.  Changed all
	callers so that we don't ask again after showing the multi-package
	confirmation dialog.
	(install_packages_with_package_info): Specify a message for
	INSTALL_TYPE_STANDARD since it might be used in red-pill mode.
	(install_named_packages): When there are no packages to install
	left after filtering, annoy user approrpiately instead of silently
	doing nothing.

	* src/instr.cc (instr_cont3): Use multi-package flow for all
	install types when in red-pill mode (and there is more than one
	package).

2007-02-14  Jose Dapena Paz  <jdapena@iga\lia.com>

	Misc fixes:

	* instr.cc (open_local_install_instructions): Now it doesn't
	fail when descriptions do not match the deb lines in the
	Single-click install file.

	* instr.cc (open_local_install_instructions): some bugfixes in
	conditions, better handling of cases in temporary files.

	* repo.cc (temporary_set_repos): typo, was using GSList, and
	but it should use GList. Fixed.

	* main.cc (free_sections): style fix.

	Leak fixes:
	
	* instr.cc (open_local_install_instructions): free the package
	list if the file is incompatible and won't be processed.

	* settings.cc (make_settings_tab): GtkSizeGroup is  now unref'd.

	* search.cc (show_search_dialog): GtkSizeGroup is now unref'd.

	* repo.cc (show_repo_edit_dialog): GtkSizeGroup is now unref'd.

	* repo.cc (sources_list_reply): free translation lists after being
	used.

	* repo.cc (maybe_add_repos): free translation lists after being 
	used.

	* repo.cc (temporary_set_sources_list): free repo_line list after
	setting the sources list.

	* util.cc (make_select_package_list_store): increase the reference
	counter of package_info's as it's been referenced by the list store.

	* util.cc (select_package_response): if the package is not selected,
	it should be unref'd. Also unref all packages if no callback is
	called.

	* main.cc (gpi_reply, call_with_package_list_info_cont,
	get_next_package_info): always call the callback in gpi_reply, in
	order to unref the objects taht should be disposed. Also some leaks
	fixed.

	* main.cc (get_intermediate_package_info): if there's no callback
	and the info has been retrieved, package info should be unref'd.

	* main.cc (install_package_reply): delete closure if it's not used.

	* main.cc (install_package_cont3): remove allocation of closure2
	as it wasn't used (and was leaking).

	* main.cc (install_package_cont): unref package info after calling
	install_package, as it gets its own reference.

	* main.cc (install_packages_response): free input package list, and
	also output package list if required.

	* main.cc (available_package_selected): add a reference to package
	info before calling get_intermediate_package_info.

	* main.cc (install_named_package): unref the package info if it
	was already installed (and then no processing is done for it).

	* main.cc (install_named_packages): if there are more than one
	package entries found by find_package_in_lists, it should free the
	remaining references. It should also unref the installed packages.

2007-02-09  Jose Dapena Paz  <jdapena@iga\lia.com>

	Bugfixes:
	
	* src/apt-worker.cc (load_auto_flags): avoid crashing
	when app manager starts and package cache load fails.

	* src/repo.cc (maybe_add_new_repo_cont, sources_list_reply,
	maybe_add_repo_next): fix some leaks

	* src/util.cc (annoy_user_response): fix leak.

	Other issues:
	
	* src/repo.cc: limit lines added to sources.list to 300
	characters, as 	APT cannot handle longer lines.

2007-02-08  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/apt-worker.cc (cmd_save_applications_install_file): Don't
	flag the repositories in the applications.install file as
	temporary.

	Released 5.0pre3

2007-02-07  Jose Dapena Paz  <jdapena@iga\lia.com>

	Auto install from memory card support:

	* src/instr.cc (instr_cont3): add install from memory card case
	to the set of types that should run the multipackage dialog
	flow.

	* src/instr.cc (get_install_type_from_filename): add detection
	of memory card case.

	* src/main.cc (install_packages_with_package_info): added
	install from memory card case and string.

	* doc/repository.txt: added documentation of autorun from memory
	card functionality.

	Bugs and fixes:

	* src/main.cc (install_package_reply): fix bug "when app manager
	is activated from mime_open and more than one package should be 
	installed, it only installs one" (a bad end_dialog_flow call).

	* src/main.cc (install_packages_cont): added a missing
	end_dialog_flow.

	* src/main.cc (install_packages_response): fixed a bug. Now
	we use the list of packages returned by the select packages
	dialog (previously we were ignoring this value).

2007-02-06  Jose Dapena Paz  <jdapena@iga\lia.com>

	* src/instr.cc, src/instr.h, src/main.cc: move
	save_installed_packages_file() from instr.cc to main.cc,
	and remove apt-worker-client dependency from instr.cc this way.

	* doc/repository.txt: removed references to multipackage
	support in single-click install files, as implementation has
	been disabled. Now multipackage support is only used for the
	backup/restore case.

	* doc/repository.txt: added reference to the applications.install
	file function (it's used for backup/restore tool integration).

	* Added hildon-application-manager.sh. Script for osso-backup
	restore.d directory. It's used to run the application manager
	in the restore process, and then, restore the installed
	applications.

	* Makefile.am: added hildon-application-manager.sh to the files to
	install.

2007-02-06  Marius Vollmer  <mvo@zagadka.de>

	* src/apt-worker.cc (package_is_needed): New.
	(mark_for_remove): Use it instead of relying on the broken count.
	(encode_package_and_version): Take a VerIterator instead of
	strings.  Changed all callers.
	(encode_install_summary, encode_remove_summary): Encode the
	current version for removals, not the candidate version.
	
2007-02-05  Marius Vollmer  <mvo@zagadka.de>

	* src/apt-worker.cc (package_replaces): New.
	(mark_for_install): Use it to remove packages that are in
	Conflicts and also in Replaces.

2007-02-04  Marius Vollmer  <mvo@zagadka.de>

	* Makefile.am (install-data-local): Create empty
	/etc/hildon-application-manager directory so that it is easier for
	other packages to put stuff into it.

	* src/apt-worker.cc (mark_related): Don't recurse over
	dependencies.
	(mark_for_install): Do auto-installation of dependencies
	explicitly here, in order to control the algorithm better.  Call
	mark_related while recursing.
	
2007-02-03  Marius Vollmer  <mvo@zagadka.de>

	* src/util.h, src/util.cc (package_info_callback): Removed state,
	cont and data parameters.  The package list widget shouldn't need
	to care about those.  Changed all callers of the callbacks.

	* src/main.cc (install_operation_callback,
	uninstall_operation_callback): New, for use with
	set_operation_callback instead of install_package and
	uninstall_package, which are now incompatible with
	set_operation_callback.  Changed all uses.
	(available_package_selected, installed_package_selected): Changed
	parameters so that they are suitable as package_info_callbacks.
	(available_package_activated, installed_package_activated): New,
	to be used with package list widget instead of install_package and
	uninstall_package, which are now incompatible.
	
2007-02-02  Jose Dapena Paz  <jdapena@iga\lia.com>

	Added preliminar support for integration with backup system:

	* src/apt-worker.cc: added command 
	cmd_save_applications_install_file () used to save a Single-click
	install formated file with the list of currently installed
	packages and active repositories. This file can be used to restore
	the packages using the single-click API.

	* src/instr.cc: added install types support. Now, depending on the
	type of single-click install file name it runs the standard
	dialog for installing one package, or it runs the packages selection
	dialog of backup restore dialogs.

	* src/instr.cc: added function for saving the applications.install 
	file.

	* src/main.cc, src/main.h: added support for install types in install 
	packages dialogs. New specific support for restoring backups.

	* hildon-application-manager.conf: added applications.install file to
	the list of locations that should be backed up.

2007-02-01  Jose Dapena Paz  <jdapena@iga\lia.com>

	Some fixes for running dialog flows on top of other applications
	calling app manager with mime_open calls.
	
	* src/util.cc, src/util.h (end_dialog_flow, mark_keep_running):
	added functions to quit the application when a dialog flow ends
	and nobody requested to keep the application running. Added also
	a function to request to keep running.

	* src/main.cc (window_property_topmost_notify_event, main): mark 
	the application to keep running after a dialog flow when the main 
	window becomes topmost.

	Other fixes:

	* src/main.cc (install_from_file_reply): removed call to
	end_dialog_flow in this function, that made application die before
	it should.

2007-02-01  Marius Vollmer  <mvo@zagadka.de>

	* src/settings.h, src/settings.cc, src/main.cc, src/log.cc,
	src/repo.cc, src/menu.cc, src/util.cc (ui_version,
	force_ui_version): Removed.  Changed all users to assume
	ui_version == 2.

	* src/repo.cc (repo_edit_response): Only change the name after all
	input has been validated.

	* src/log.h, src/log.cc (clear_log): New, so that the log header
	is only added in one place.
	(log_response): Use it.
	* src/main.cc (main): Call clear_log instead of adding the log
	header explicitly.
	
2007-01-31  Marius Vollmer  <mvo@zagadka.de>

	Use new libconic API to talk to the connectivity
	facility.
	
	* src/util.cc (connection_object): New.
	(iap_callback): Adapted to be a handler for the "connection-event"
	signal.
	(ensure_network): Use ConICConnection object etc instead of
	osso_iap_cb and osso_iap_connect.

	* configure.ac (HAM_DEPS_CFLAGS, HAM_DEPS_LIBS): use conic package
	instead of osso-ic.

	* debian/control: Build-Depend on libconic0-dev instead of
	osso-ic-dev.

2007-01-31  Jose Dapena Paz  <jdapena@iga\lia.com>

	Refactored support of temporary repositories in Single-click
	install files:
	* src/apt-worker.cc, src/apt-worker.h: now apt-worker commands
	with temporary state support accept a state parameter.
	* src/apt-worker-client.cc, src/apt-worker-client.h: added state 
	parameter to protocol implementation and many calls. Also removed 
	_temp_ variations of calls, as now state parameter selects the type 
	of state.
	* src/instr.cc: removed "temp" functions. Now states are handled
	using a state attribute in the standard instr_* functions.
	* src/settings.cc, src/menu.cc, src/repo.cc: add state parameter to 
	get_package_list calls.
	* src/repo.cc: add state parameter to apt_worker_set_sources_list
	calls.
	* src/repo.cc, src/repo.h: renamed temporary_repos to 
	temporary_set_repos.
	* src/util.cc: now global callbacks receive a state parameter.
	* src/main.cc (free_all_packages): now it gets a state parameter,
	to free temp packages or all packages.
	* src/main.cc: added function find_package_in_lists (), that retrieves
	the package info from proper lists depending on states. This enables
	to refactor install_named_package[s] to remove _temp_ variations.
	* src/main.cc: now there's a single get_package_list_reply, with a
	state parameter. Depending on it it calls get_package_list_entry_temp
	or get_package_list_entry_default.
	* src/main.cc (get_package_list*, call_with_package_[list]*,
	install_package*, install_named_package*): added 
	support for using states. Removed _temp_ versions of functions.
	* src/main.cc: added get_package_list_entry () function, that parses
	a decoder package list. It's used from get_package_list_reply_default
	and get_package_list_reply_temp.
	* src/main.cc (refresh_package_cache*): added state parameter handling
	and removed _temp_ versions.
	* doc/temporary.txt: update implementation notes.
	* src/instr.cc: removed multipackage selection feature on getting
	more than one package from a standard single-click install file, as this
	is not in specifications.

	Added better support for launching app manager dialogs from
	other applications
	* src/util.cc: added functions for launching dialog flows without
	parents: push_no_parent () and end_dialog_flow ().
	* src/util.cc, src/instr.cc, src/main.cc: added end_dialog_flow support.
	* src/main.cc (mime_open_handler, main): add support for launching dialogs
	on top of other applications. It simply iconifies the main application 
	window before launching the new dialog, and changes the dialog stack to
	make it think there's no parent (and then run on top of current 
	application.

2007-01-23  Jose Dapena Paz  <jdapena@iga\lia.com>

	Added support of temporary repositories in Single-click
	install files:
	* src/apt-worker.cc: big reorganization work, to add
	support for maintaining a standard configuration of APT,
	and a temporary configuration. This is all implemented
	through the use of the new AptWorkerState class.
	* src/instr.cc: added parsing of temporary parameter in
	Single-click install files. If it's found and it's true,
	it will get temporary repositories, refresh the temporary
	cache and install the packages.
	* src/repo.cc, src/repo.h: added temporary_repos, that
	sets the temporary sources.list file, and refreshes the
	temporary cache in apt worker.
	* src/main.cc: maintains a new package list (temp_packages)
	with the list of package info objects for the last
	selected temporary repository.
	* src/main.cc: added functions to manage temporary
	repositories (free_all_temp_packages (), 
	get_temp_package_list_with_cont (), get_temp_package_list (),
	refresh_temp_package_cache_with_cont (), install_temp_package (),
	install_named_package_with_temp_repository (),
	* src/main.cc: modified get_intermediate_package_info 
	and get_next_package_info to support getting information 
	from temporary repositories.
	* src/details.cc (show_details_with_cont): adapt to new
	API of get_intermediate_package_info ().
	* Added doc/temporary.txt with a description of the implementation
	of temporary repositories.

	Other changes:
	* src/util.cc (annoy_user_with_details_with_cont): set 
	the callback for being able to use it in the response.
	* src/main.cc (confirm_install): remove a warning (now
	it does not return a boolean).
	* Minor code style changes.
	
2007-01-15  Jose Dapena Paz  <jdapena@iga\lia.com>

	Implementation of support of l10n in catalogue names in
	.install files:
	* src/instr.cc (get_repo_names_locs): new function that parses
	the file to get the available translation names.
	(open_local_install_instructions): now it obtains the 
	translations for all repository names, and passes them to
	maybe_add_repos ().
	* src/repo.cc, src/repo.h (maybe_add_repos): now it gets the
	translations, and passes them to the repo_line constructor.
	* doc/repository.txt: added description of localisation support
	in .install files.

	Other changes:
	* src/repo.cc: now repo_line::get_name() is used always
	when a function wants to get the name of a repo_line to
	show to the user.
	* src/instr.cc 	(open_local_install_instructions): now 
	repo_name_list is initialized with 0 values, to prevent
	problems when the list is empty.
	* src/instr.cc (open_local_install_instructions): fix
	added same day: translation lists for each repository
	must be reversed when created, to preserve the order of
	the localisation names list.

	
2007-01-12  Jose Dapena Paz  <jdapena@iga\lia.com>

	Implementation of support of l10n in catalogue names in
	sources.list:
	* src/repo.cc (struct repo_line): add support to store
	translations of the repository name. Support is also
	added to constructor.
	(repo_line::get_name): new function to get the proper
	translated name of a repository
	(repo_edit_response): if user changes the catalogue name
	drop all translations.
	(show_repo_edit_dialog): shows the proper catalogue
	name (translated or not).
	(add_new_repo): create new repositories without
	translations.
	(repo_encoder): encode translated strings for catalogues.
	(sources_list_reply): decode translated strings for
	catalogues.
	* doc/repository.txt: add description of sources.list
	repository names localisation support.
	
2007-01-11  Jose Dapena Paz  <jdapena@iga\lia.com>

	* src/instr.cc, src/repo.h, src/repo.cc: coding style review.
	Fixed many typos.
	Implementation of support of multiple catalogue files in
	.install files:
	* src/instr.cc: parse multiple catalogues names and deb lines.
	* src/repo.cc, src/repo.h: implementation of handling of
	multiple catalogues in .install file (UI flow, enable
	adding a last callback, and chaining calls to get repositories.
	* doc/repository.txt: add description of multicatalogue
	.install file feature.

2007-01-10  Jose Dapena Paz  <jdapena@iga\lia.com>

	* src/instr.cc (instr_select_packages_next, 
	instr_select_packages_cont, instr_select_packages): added
	stub dataflow to ask for selecting packages to install from a
	.install file.
	(instr_cont3, instr_cont2): changes to process more than one
	package (get char ** instead of char *).
	(open_local_install_instructions): parse more than one package
	in the .install file if they're present.
	* src/util.cc (yes_no_response): support for NULL closure
	callback.
	* src/util.cc: support closure callbacks for many dialogs
	(annoy_user_with_cont instead of annoy_user, 
	annoy_user_with_details_with_cont instead of
	annoy_user_with_details). Also prevented more cases for
	null closures.
	* src/main.cc: same for all install package procedure. With this
	we can run dataflows, and set a function to be run when it's
	finished. It's used to implement sequences of package installing
	back to back (for example, when you install a .install file with
	more than one package, next package is installed when the last one
	has ended).
	* src/main.cc: add support in the install package and install named
	package flow to install more than one package.
	* src/details.cc (show_package_details_with_cont, 
	show_package_details): also added support for running a callback 
	after the dialog.
	* doc/repository.txt: added information about installing more than
	one package using a .install file.

2007-01-01  Marius Vollmer  <mvo@zagadka.de>

	The great renaming.
	
	* src/apt-worker.cc (save_auto_flags, load_auto_flags): Put auto
	flags into /var/lib/hildon-application-manager.
	(read_certified_conf): Look into /etc/hildon-application-manager.

	* src/main.cc (install_package_cont3, check_uninstall_scripts2):
	Look into /var/lib/hildon-application-manager/info/ for the
	checkrm scripts.
	(main_window_realized): Use hildon-application-manager as the
	window name.
	(main): Use "hildon_application_manager" when registering with
	libosso.

	* src/settings.cc (SETTINGS_FILE): Changed to
	.osso/hildon-application-manager.

	* utils/maemo-confirm-text-user.c
	(find_application_installer_window,
	find_application_manager_window): Renamed former to latter,
	changed all callers.  Look for the hildon-application-manager
	name.

	* Makefile.am (SUBDIRS): Removed test-data.
	* configure.ac: Do not generate test-data/Makefile

	* src/Makefile.am, utils/Makefile.am: Use HAM_DEPS_CFLAGS and
	HAM_DEPS_LIBS instead of the old AI_DEPS_ names.

	* Makefile.am: Don't install and distribute certified.list.

2006-12-15  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.45
	
	* src/apt-worker.cc (operation): Only send the status reply before
	fetching when there is actually something to fetch.  Otherwise the
	Download dialog is also shown during uninstalling, stupid.

2006-12-14  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.44
	
	* src/apt-worker.cc (operation): Send a status reply before
	starting to fetch files.  This makes sure that the progress dialog
	appears immediately even if the first pulse of the fetcher takes
	some time to happen. (N47877)

2006-12-11  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.43
	
	* src/util.cc (create_progress): Use respond_on_escape to set up
	our own Escape handler.  The default one seems to destroy the
	dialog.  (N47877).

	* src/settings.cc (settings_dialog_response): Add missing
	pop_dialog_parent.

	* src/util.cc, src/repo.cc: Use get_dialog_parent,
	push_dialog_parent, and pop_dialog_parent for the rest of the
	dialogs.

2006-12-04  Marius Vollmer  <marius.vollmer@nokia.com>

	Keep track of dialog stacking order in a general way. (N48797)
	
	* src/details.cc, src/details.h, src/log.cc, src/main.cc,
	src/repo.cc, src/search.cc, src/settings.cc, src/util.cc,
	src/util.h
	(push_dialog_parent, pop_dialog_parent, get_dialog_parent): New,
	Use them for all dialogs by pushing newly created ones and
	popping when they are destroyed.
	* src/main.cc (main): Push the main window as the default dialog
	parent.
	* src/details.h, src/details.cc (show_package_details): Removed
	'parent' parameter.  Updated all callers.  Don't pass parent
	around via closure etc.
	* src/repo.cc (show_repo_edit_dialog): Removed 'parent' parameter.
	Updated all callers.  Don't pass parent around via closure etc.
	
2006-11-20  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.42
	
	* src/apt-worker.cc (handle_request): Dump errors after calling
	cache_init.
	(ensure_cache): New, to retry creating the cache when needed.  Use
	it everywhere instead of testing package_cache for NULLness.
	(N46125)
	
	* src/main.cc (show_help): Don't log unavailable help topics.

	* src/repo.cc (find_repo): Be robust against NULL deb lines as
	parameter.
	(maybe_add_repo): Catch malformed deb_line parameters and abort
	installation in that case. (N47858)

2006-11-14  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.41
	
	* src/repo.cc (add_new_repo): Default to "bora" instead of
	"mistral".  (N47458).

	Released 4.40
	
	* src/util.h, src/util.cc, src/log.cc
	(show_file_chooser_for_save): Added parent parameter.  Updated
	callers.

	Released 4.39

	* src/repo.cc (show_repo_edit_dialog): Also use the right parent
	for the non-readonly version of the dialog, stupid.

2006-11-13  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.38
	
	* src/details.cc, src/details.h, src/utils.cc, src/main.cc
	(show_package_details): Added parent parameter so that the
	stacking order of dialogs can be preserved.  Updated all callers
	to provide it.
	* src/repo.cc (show_repo_edit_dialog): Likewise: added parent
	parameter for the dialog, updated all callers.  (N46824)

2006-11-07  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc, src/menu.cc, src/main.cc, src/log.cc,
	src/hildonbreadcrumbtrail.c, src/apt-worker.cc: Removed unused
	variables and static functions. Use unsigned ints when
	appropriate.

	* src/util.cc (BTNAME_DEFAULT): Removed.
	(device_name): Use translated sfil_li_folder_root instead of
	BTNAME_DEFAULT. (N47440)
	
2006-11-03  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.37
	
	* src/details.cc (show_with_details): Don't line wrap the summary
	line, but ellipsize in the middle.  Otherwise we seem to trigger a
	bug in GtkLabel that produces an extra blank line.
	
	* src/apt-worker.cc (must_open): Put in proper return statement.
	D'Oh.
	(cache_init): Added with_status parameter.
	(UpdateProgress::Update): Only send status message when requested.
	(handle_request): Don't request status messages when updating in
	the background.
	(main): Likewise.

2006-10-30  Marius Vollmer  <marius.vollmer@nokia.com>
 
 	* src/main.cc: initialize lots of global vars to NULL.
 	* src/main.cc (show_view): now the previous child is removed
 	with gtk_container_remove. Should be cleaner.
 	* src/main.cc (make_main_view): unref the buttons size group
 	after setting it up.  (N38397)
 	* src/main.cc (get_intermediate_package_info): unref a new 
 	package info reference if it's already being loaded.  (N38397)
 	* src/util.cc (create_progress, set_progress): nullify global
 	references to widgets of progress dialog when destroyed.
 	* src/util.cc (get_https_proxy): don't leak the gconf client
 	response.
	(get_http_proxy): Free strings gotten from
	gconf_client_get_string.

2006-10-30  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (get_small_font): Changes the way get_small_label is
	calculated. Instead of using osso-SmallFont, it uses
	PANGO_SCALE_SMALL with osso-SystemFont. Should make fonts in
	details dialog and log bigger (N32242, N32249).

	* src/details.cc (add_table_field): Added ellipsize mode parameter
	and use it for the value label.  Don't line wrap value label.
	(show_with_details): Ellipsize from start for the maintainer.

2006-10-30  Marius Vollmer  <marius.vollmer@nokia.com>

	Disable dialog separator (N43352) for:

        * src/util.cc (ask_yes_no_with_details, 
	ask_yes_no_with_arbitrary_details, scare_user_with_legalese).
	* src/details.cc (show_with_details).
	* src/log.cc (show_log).
	* src/repo.cc (show_repo_edit_dialog, sources_list_reply).
	* src/search.cc	(show_search_dialog).
	* src/settings.cc (show_settings_dialog).

2006-10-26  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.36.1

	* Changes to debian/ only, see debian/changelog.

2006-10-24  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.36
	
	* src/util.cc (pixbuf_from_base64): Only ref the pixbuf if it is
	non-NULL.
	(b64decode): Reset load_ptr to start of buffer once the buffer has
	been written.  Correct test for buffer fullness.  (Most
	embarrassing bug so far... N43737.)

2006-10-23  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.35

	* src/util.cc (create_progress): Make the longer title shorter by
	two Xs so that the Dutch downloading message is not truncated.
	Hackish.  Bug 44440 has been filed for the real issue (N38086).

	* src/util.cc (set_bt_name_from_message): Don't log name changes.

	* src/util.cc (annoy_user_with_details): Set close button response
	id to GTK_RESPONSE_CANCEL, so dialog closes when ESC key is
	pressed (N43732).

2006-10-18  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (make_global_package_list): Packed icon and package
	name in a single column to avoid the column separator in the
	header (N43112).
	(localize_file_and_keep_it_open): Return with an error when a
	localization operation is active.
	(cleanup_temp_file): Guard against closing and freeing things
	twice. (N43471)

2006-10-16  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/main.cc (get_package_list_reply): Use localized
	ai_ni_operation_failed instead of literal "Operation
	failed". (N43144)

2006-10-10  Marius Vollmer  <marius.vollmer@nokia.com>

        Released 4.34.
	
	* src/Makefile.am, utils/Makefile.am (CXXFLAGS): Default to
	$(CFLAGS). (N41085)

2006-10-07  Marius Vollmer  <mvo@zagadka.de>

	* src/instr.cc (open_local_install_instructions): Use "repo_deb_3"
	instead of "repo_deb", to prepare for maemo 3.0.  Annoy user when
	not found.

2006-10-02  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.33.
	
	* src/util.cc (make_global_package_list): Explicitly set cursor to
	beginning and scroll to it.  (N40794, N40845, N41160)
	(set_global_package_list): Use gtk_list_store_insert_with_values
	instead of append/set.

	* src/instr.h, src/instr.cc (instr_cont,
	open_install_instructions, open_local_install_instructions): Do
	not call localize_file in open_install_instructions since this has
	already been done.  Renameds open_install_instructions to
	open_local_install_instructions to reflect this fact.  Removed
	instr_cont and do everything directly in
	open_local_install_instructions.
	* src/main.cc (install_from_file_cont2): Call
	open_local_install_instructions instead of
	open_install_instructions.
	* src/util.h, src/util.cc (localize_file,
	localize_file_and_keep_it_open): Renamed former to latter; changed
	callers.  Open a GnomeVFSHandle.
	(cleanup_temp_file): Close it.
	
	* osso-application-installer.desktop: Added Comment field for
	thumb menu. (N41583)

2006-10-01  Marius Vollmer  <mvo@zagadka.de>

	* src/repo.cc (_UI2_): Removed, corrected all uses.

	* src/utils.cc: Don't include <bttools-dbus.h>, it is deprecated.
	(BTNAME_SERVICE, BTNAME_REQUEST_IF, BTNAME_SIGNAL_IF,
	BTNAME_REQUEST_PATH, BTNAME_SIGNAL_PATH, BTNAME_REQ_GET,
	BTNAME_SIG_CHANGED): New, using the "bluez.org" D-Bus API.
	* debian/control (Build-Depends): Don't depend on osso-bttools-dev

	* src/repo.cc (sources_list_reply): Use ai_ti_add_catalogue
	instead of ai_ti_add_cataloque, stupid.  (N36147)

	Optimizations for the launcherized osso-application-installer from
	Leonid Moiseichuk.  Thanks!  (N41085)

	* utils/export.map, src/export.map: New.
	* utils/Makefile.am, src/Makefile.am: Hardcode launcher flags.
	Use export.map when linking.
	(EXTRA_DIST): Distribute export.map.
	* src/Makefile.am (osso_application_installer_launch_CXXFLAGS): 
	Added -fno-rtti and -fno-exceptions.
	* debian/rules (CFLAGS): Add -mthumb when requested by
	DEB_BUILD_OPTIONS.
	* configure.ac: Removed LAUNCHER_CFLAGS and LAUNCHER_LDFLAGS.

2006-09-30  Marius Vollmer  <mvo@zagadka.de>

	* src/apt-worker.cc (encode_dependencies): Put version information
	in parentheses.

2006-09-25  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/main.cc (refresh_package_cache_reply): Show the "Refresh
	cancelled" message for all versions of the UI. (N35475)

2006-09-24  Marius Vollmer  <mvo@zagadka.de>

	* utils/maemo-confirm-text-user.c (get_small_font): Updated with
	new code from src/util.cc.
	(find_window_1, find_window, find_application_installer_window):
	New.
	(dialog_realized): New, to make the dialog transient for the
	Application Installer main window.
	(main): Connect it.
	
	* src/main.cc (main_window_realized): New, to set WM_NAME of the
	main window.
	(main): Connect it.
	
2006-09-18  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.32.
	
	* src/repo.cc (show_repo_edit_dialog): Let the "Close" button
	respond with GTK_RESPONSE_CANCEL, to make the Escape key work.
	(N40618)

	* src/details.h (decode_summary): Transfer lists to
	package_info::summary_packages and put the header into
	package_info::summary directly.  Don't return a value.  Updated
	all callers.
	(add_table_field): Omit field when value is blank.  Handle NULL
	field names.
	(add_tabel_list, add_table_list_1): New, they do the job of
	format_string_list and format_string_list_1 now.
	(format_string_list, format_string_list_1): Removed.
	(show_with_details): Use a GtkTable for the summary tab. (N32246)
	
	* src/main.h, src/main.c (package_info): Added summary_packages
	field.
	(package_info, ~package_info): Initialize and free it.
	
	* src/util.h, src/util.cc (setup_dbus): New.
	(btname, set_bt_name_from_message, btname_received,
	handle_dbus_signal): New.
	(device_name): Just return btname.
	* src/main.h, src/main.cc (device_label): New.
	(make_main_view): Set it and make sure it is reset.
	(get_device_label): Return it.
	(main): Call setup_dbus. (N29726)
	
	* src/main.cc (make_main_view): Set ellipsize mode to device name
	label and new organization for main window, removing GtkTable and
	add just containers (GtkHbox). (N36027)

	* src/repo.cc (repo_edit_response): Move check for empty name
	before check for empty web address so that the empty name check
	has higher priority. (N34922)
	(add_entry): Added mandatory argument to select the flags for the
	captions.
	(show_repo_edit_dialog): Pass mandatory flag to add_entry as
	appropriate.

2006-09-12  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.31.

	* src/apt-worker.cc (update_package_cache): Reverted change from
	2006-09-11: call cache_init so that the process is visible, return
	rescode_failure instead of rescode_download_failed.

2006-09-11  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/apt-worker.cc (update_package_cache): Call need_cache_init
	instead of cache_init so that the cache building happens in the
	background.  Return rescode_download_failed for any kind of
	failure.
	(escape_for_shell): New.
	(get_deb_record, install_from_file): Use it to guard against
	filenames with single quotes in them. (N38383)

	* src/main.cc (refresh_package_cache_reply): Show appropriate
	error message when result code is
	rescode_download_failed. (N36104)

	* src/util.h (show_updating): Added label parameter.
	(update_label): New, to store it.
	(refresh_updating_banner): Use it.
	* src/main.cc (search_packages): Show "searching" banner before
	calling backend.
	(search_packages_reply): Hide it. (N32375)

	* src/repo.h (parse_quoted_word): Added prototype.
	* src/main.cc (check_repositories, check_repositories_reply): New,
	to check whether any repositories are defined and enabled and
	either show the right info banner or call
	maybe_refresh_package_cache.  them.
	(make_install_applications_view, make_upgrade_applications_view):
	Use check_repositories instead of maybe_refresh_package_cache.
	(N30390, N33091)
	
	* src/util.cc (call_copy_cont): Replaced 'success' parameter with
	GnomeVFSResult.  Removed 'show_error' parameter.  Use "no
	connection" for ERROR_IO.  Updated all callers.
	(copy_progress): When completed, check for existence of file and
	fail with ERROR_IO if it is not there. (N30375)
	
	* src/util.cc (get_small_font): Added support to get the
	osso-SmallFont from the theme instead of a fixed font
	definition. It uses a fixed definition just in case the theme has
	not osso-SmallFont definition.
	(make_small_text_view): Modified the call to the get_small_font
	function.
	(make_small_label): Modified the call to the get_small_font
	function. (N32249)

	* src/main.h, src/main.cc (get_main_trail): New function, required
	to access the main_trail from other objects.
	* util.cc (global_package_list_key_pressed): Added, this function
	is a callback that controls the focus movement between the
	main_trail and the package list. It is connected to the
	key-press-event of the package list treeview. If we are in the
	first row and press up hardkey we send the focus to the last
	button in the main_trail. It also avoids left and right movements
	in the treeview.
	(make_global_package_list): Added the connection of the of the
	key-press-event to its new callback. (N27946)

2006-09-08  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.h, src/util.cc (reset_progress_was_cancelled): New, to
	reset the progress_cancelled flag which used to be done in
	create_progress.
	(create_progress): Don't reset it here.
	(show_progress): Call reset_progress_was_cancelled here.
	* src/apt-worker-client.cc (apt_worker_install_package_cont): Call
	reset_progress_was_cancelled here to be prepared for the
	spontaneous showing of the dialog. (N35475)

2006-09-07  Marius Vollmer  <marius.vollmer@nokia.com>

	* debian/postinst: Make /etc/sudoers writable before appending to
	it. (N39538)

	* 00-smallcache: Use the "Small-Cache-Limit" option instead of
	"Cache-Limit", available in apt 0.6.42.3osso17.  (N31929, N32959)

2006-09-06  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.30.
	
	* src/util.h, src/util.cc (skip_whitespace): New.
	(all_white_space): Make it return bool, not int.  Reimplemented
	using skip_whitespace.
	* src/repo.cc (skipped_equal): New.
	(repo_edit_response): Use it to reject URIs that are just
	"http://". (N35491)
	
	* src/util.cc (create_progress): Added title parameter since we
	really have to create the dialog with the correct title from the
	start.  Resizing does not happen afterwards. (N38086)
	(show_progress): Pass title.
	(set_progress): Redone logic so that the title of the dialog is
	only changed if necessary.  Pass new title when recreating dialog.
	
	* src/repo.cc (repo_edit_closure): Added had_name flag.
	(repo_edit_response): Irritate user when it is true but the name
	entry is empty (N34922). If the flag is false, allow an empty name
	and canonicalize it to NULL.
	(show_repo_edit_dialog): Set had_name appropriately.

	* src/util.cc (refresh_updating_banner): New, for showing/hiding
	the banner based on the current state.
	(updating_timeout): Increase updating_level here and call
	refresh_updating_banner ...
	(show_updating): ... and not here.
	(hide_updating): Let refresh_updating_banner do the work.
	(allow_updating_banner, allow_updating, prevent_updating): New.
	* src/main.cc (show_view): Call allow_updating so that it is the
	default.
	(make_main_view): Call prevent_updating to disallow the banner
	from ever showing in the main view. (N32230)
	
	* src/repo.cc (add_entry): Use a non-editable, non-focusable
	GtkTextView instead of a GtkLabel for displaying read only
	entries. (N34538)
	(show_repo_edit_dialog): Use proper logical id for "Close" button.
	Make it grab the focus.

2006-09-04  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/repo.cc (maybe_add_new_repo_cont): Don't annoy user when
	catalogue was already in the list.

2006-08-30  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.29
	
	* src/repo.cc (make_repo_list): Make both scrollbars
	automatic. (N34533)

	* src/main.cc (refresh_package_cache,
	refresh_package_cache_with_cont): Added 'ask' parameter.  Updated
	all callers.

	* src/repo.cc (show_repo_edit_dialog): Make dialog wider.
	(sources_list_reply): Make dialog taller. (N32236)
	(maybe_add_new_repo_cont): Don't refresh cache here.

	* src/instr.cc (instr_cont2, instr_cont3): Renamed former to
	latter.
	(inst_cont2): New, always refresh the cache here, without asking.

	* src/main.cc (make_last_update_label): Use "ai_li_update_%s"
	instead of "ai_li_update_%x" and put ai_li_never in it when
	appropriate.

	* src/repo.cc (repo_response): Irritate user when 'editing' an
	essential repository and show the readonly details dialog.
	(repo_row_activated): Likewise.
	(repo_selection_changed): The edit button is active for all repos
	now.
	(refresh_repo_list): Use gtk_list_store_insert_with_values instead
	of append-plus-set so that the selection-changed signal gets all
	information that it needs. (N34528)
	(insensitive_press, insensitive_delete_press): Renamed former to
	latter.  Show "unable to remove", but only when there is a
	selected row.
	(sources_list_reply): Don't connect to insensitive-press for the
	edit button.  Use insensitive_delete_press for the delete button.
	Make edit and delete button insensitive initially,
	repo_selection_changed will take care of making them sensitive in
	the right way.
	
2006-08-29  Marius Vollmer  <marius.vollmer@nokia.com>

	Redone fishing for extra hints about installation failures.
	
	* src/log.h, src/log.cc (set_log_start, scan_log,
	scan_log_for_result_code): New.
	* src/main.cc (install_package, install_package_reply,
	install_from_file, install_from_file_reply): Use them to augment
	result code. (N25494)
	* src/apt-worker-client.h, src/apt-worker-client.cc
	(status_out_of_space, reset_client_error_status,
	client_error_out_of_space): Removed.
	(interpret_pmstatus): Don't interpret "pmerror:".

2006-08-25  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/apt-worker-client.h, src/apt-worker-client.cc
	(status_out_of_space, reset_client_error_status,
	client_error_out_of_space): New.
	(interpret_pmstatus): Interpret "pmerror:" as well and set
	status_out_of_space accordingly.
	* src/main.cc (install_package_reply): Explicitely set result_code
	when client_error_out_of_space is true. (N31101)
	
2006-08-21  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.28.
	
	Made the red-pill mode configurable.

	* src/settings.h, src/settings.cc:
	(red_pill_show_deps, red_pill_show_all, red_pill_show_magic_sys):
	New. Updated old users of red_pill_mode to also check the more
	specific setting.
	(make_boolean_option): New.
	(make_updates_tab, make_settings_tab): Renamed former to latter.
	Use make_boolean_option to add more configuration options in
	red_pill_mode.
	(settings_dialog_response): Set boolean options created with
	make_boolean_option.  Reget package list when in red_pill_mode
	since it might have changed.

	* src/main.cc (make_main_view): Do not add "Refresh list of
	packages" button here when in red-pill mode...
	(main): ...add a button to the toolbar here instead.
		
	* src/apt-worker-client.cc, apt-worker-client.h,
	apt-worker-proto.h, apt-worker.cc: Added show_magic_sys parameter
	to APTCMD_GET_PACKAGE_LIST to control the inclusion of the
	"magic:sys" package.  Updated all callers.

2006-08-20  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/details.cc (nicify_description_in_place): Deal with NULL
	descriptions.

	* main.h, main.cc, details.h, details.cc, util.h, util.cc:
	Replaced the old "bool installed" flag for selecting what kind of
	details to display with a proper "enum detail_kind" throughout.
	This allows us to keep track of what kind of detail is actually
	cached in the package_info structure.  Previously, the wrong kind
	of details were displayed when you first asked for "install
	details", say, and later for "remove details".

	Implemented the artificial "magic:sys" package that represents all
	non-user packages.
	
	* src/apt-worker.cc (mark_sys_upgrades,
	mark_named_package_for_install): New.
	(cmd_get_package_list): Append the "magic:sys" package.
	(installable_status_1, installable_status, removable_status):
	Removed 'want' parameter which is not needed.  Updated all
	callers.
	(cmd_get_package_info): Handle "magic:sys" package by using
	mark_named_package_for_install instead of mark_for_install and
	explicitely setting the removable_status.
	(encode_broken, encode_install_summary): Pass 'want' package by
	name, not as a cache iterator.  Use mark_named_package_for_install
	instead of mark_for_install.  This allows artifical packages to
	work.
	(cmd_get_package_details): Explicitly handle "magic:sys" package.
	(cmd_install_check, cmd_install_package): Use
	mark_named_package_for_install instead of mark_for_install.

2006-08-02  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.27

	(Skipped 4.25 and 4.26 due to tagging and committing mistakes)
	
	* src/main.cc (expose_main_view): New, for drawing the big image
	in a themable way and such that it is always in the background.
	(make_main_view): Put everything in a GtkEventBox and use
	expose_main_view for that. (N36318, N36694)

2006-07-31  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (scroll_to_widget): New.
	(make_global_section_list): Connect it to the focus-in-event for
	every section button so that the scrolled window shows the focused
	button. (N35753)

	* src/details.cc (add_table_field): Enable line wrapping for the
	value label and expand the value cell horizontally, but don't
	expand anything else. (N35651)
	(show_with_details): Don't put table in hbox since it is supposed
	to expand to the full width now.
	
	* osso-application-installer.conf: New, for backuping up
	sources.list. (N36696)
	* Makefile.am: Install it and distribute it.  Don't install
	sources.list.
	* debian/postinst: Touch sources.list into existence.

2006-07-13  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.24
	
	Ensure that the dependencies of a installed package are
	reinstalled when needed.
	
	* src/apt-worker.cc (auto_flags, package_flags): Replaced
	auto_flags with more general package_flags construction to
	accomodate the new ' related' flag.  Updated all users.
	(restore_auto_flags): Removed since cache_reset can do it for us.
	(load_auto_flags): Don't call restore_auto_flags.
	(cache_init): Call cache_reset here after load_auto_flags.
	(is_related, mark_related): New.
	(cache_reset_package): Reset 'related' flag of a package.
	(mark_for_install): Don't set ReInstall flag, mark_related does it
	now.  Call mark_related.
	(myDPkgPM::CreateOrderList): Use 'related' flag to decide whether
	to ignore an interesting package, not the ReInstall flag.

2006-07-06  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.23
	
	* src/util.cc (ensure_network): Use correct logical ID
	"ai_nw_connecting", stupid.

2006-07-05  Marius Vollmer  <marius.vollmer@nokia.com>

	Show a "Disabled" button instead of "Enabled" one for UI version 2
	and up. (N34057)

	* src/repo.cc (repo_edit_closure): Added disabled_button field.
	(show_repo_edit_dialog): Create it for UI versions 2 and up.
	(repo_edit_response): Take enabled flag from either the enabled or
	disabled button, as appropriate.

	* src/repo.cc (add_entry): Use GtkLabels instead of GtkEntries for
	readonly texts.
	(maybe_add_new_repo_cont): Don't add new_repo when it is already
	present.  Show information note in that case.
	(sources_list_reply): When new_repo is already present, only
	succeed immediately when this request for installing a package.
	
	* src/util.cc (ask_yes_no_with_arbitrary_details): Set
	line-wrapping mode for label. (N34052)
	(ensure_network): Use ai_new_connecting for UI versions 2 and
	later instead of stealing the text from the browser-ui.

	Show more specific information banners when pressing on
	insensitive things.

	* src/main.cc: Throughout, only show "Foo has been cancelled"
	information notes for UI version 2 and up. (N33240)
	(set_operation_label): Added "insens" parameter.  Updated all
	callers to provide the right string.  Force old value of "Not
	available" for UI versions below 2.  Pass insens text on to
	set_operation_menu_label.
	(make_last_update_label): Show "Never" when last_update is
	zero. (N33651)
	(install_named_package): Use available logical instead of English.
	(insensitive_press): Expect text to show as data parameter.
	Changed all signal connections to provide the right text.
	(insensitive_operation_press): New.
	(main): Use it for the toolbar operation button.

	* src/menu.h, src/menu.cc (set_operation_menu_label): Added insens
	parameter.  Updated all callers to provide the right string.
	Force "Not available" for UI versions below 2.
	(add_item): Added insens parameter.  Updated all callers.  Only
	connect to insensitive-press signal when insens is provided.
	Force "Not available" for UI versions below 2.
	(insensitive_operation_press): New.
	(create_menu): Use it for the operation menu item.	
	
2006-06-30  Marius Vollmer  <marius.vollmer@nokia.com>

	Deal with packages that need to be reinstalled. (N33648)
	
	* src/apt-worker.cc (mydebSystem::ClearUpdates,
	clear_dpkg_updates): Renamed former to latter.  Don't remove
	files, but run dpkg to apply the journal when a updates file is
	found.
	(mydebSystem::Lock): Don't call ClearUpdates.
	(cache_init): Call clear_dpkg_updates here, before creating the
	cache.
	(mark_for_install): Set reinstall flag for packages that need to
	be reinstalled.
	(myDPkgPM::CreateOrderList): Don't ignore packages that have the
	reinstall flag set.
	(cmd_get_package_list): Also offer an available version when the
	package needs to be reinstalled and the installed version can be
	downloaded.
	
2006-06-28  Marius Vollmer  <marius.vollmer@nokia.com>

	Implement a better way to ignore unrelated packages.  This one
	ignores all kept packages, not only the NeedsConfigure kepts ones.
	
	* src/apt-worker.cc (myDPkgPM::CreateOrderList): New.
	(myDPkgPM::Configure): Removed, it is no longer needed.
	(operation): Call myDPkgPM::CreateOrderList explicitely since it
	is not virtual.

2006-06-20  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.22
	
	* src/util.cc (iap_callback): Only log errors, but not connections
	and disconnections.

	* src/apt-worker.cc (encode_prep_summary): Only log results when
	DEBUG is defined.
	(cmd_clean): Ignore locking failures for EPERM and ENOSPC which
	both might be due to a 'out of space' condition and we badly want
	to free some space in that case.  Also, init the cache again if
	that has failed previously.  (N32851)
	
2006-06-13  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.21
	
	* src/util.cc (annoy_user): Use correct parent for dialog so that
	it isn't system modal.

	* src/settings.cc (open_settings_file): Don't log ENOENT error
	message.

	* src/main.cc (install_package_cont3): Don't log the check command.
	(check_uninstall_scripts2): Likewise.

	* src/util.cc (run_cmd): Don't log ENOENT errors.

	* src/apt-worker.cc (cmd_get_file_details): Pass back NULL for the
	installed version when the archive file can not be parsed. (N32315)
	* src/main.cc (file_details_reply): Give correct summary for
	status_corrupted.

	* utils/maemo-confirm-text-user.c (no_button_events): New.
	(make_small_text_view): Connect it to "button-press-event" to
	suppress all interaction with the text. (N30939)

	* src/util.cc (make_global_section_list): Set attach detail so
	that buttons form a group.

2006-06-12  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (get_https_proxy): Return NULL when secure_host is
	not set or the empty string.
	(ensure_network_cont): Reset en_callback and en_data before
	invoking callback.
	(ensure_network): Always set en_callback and en_data and always
	use ensure_network_cont to invoke the callback.  Previously, the
	callback was not called when osso_iap_cb returned failure.
	
	* src/main.cc (make_padded_button): Added attach_flags argument to
	get the style 'detail' right.
	(make_main_view): Updated all callers of make_padded_button to
	pass the correct flags.
	(get_package_list_reply): Make sure that the reference count of
	the created package_info structures is correct by reffing them
	explicitely before every insertion into a list, and unreffing once
	at the end.  Specifically, updateable packages are in two lists,
	but were only referenced once. (N31849)

	* src/apt-worker-client.cc (apt_worker_install_package_cont): Bug
	fix: don't use already freed http_proxy for the https_proxy
	argument.

2006-06-07  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.20
	
	* src/main.cc (search_packages): Only search the first section,
	not all to avoid hitting a package in both the "All" section and
	in its real section.

	* src/util.cc (make_global_package_list): Fix column resizing
	parameters so that the Version and Size columns expand as needed
	to avoid truncation of the column headers. (N32066)

	* src/main.cc (make_search_results_view): Call set_operation_label
	appropriately.

	Pass https proxy to apt-worker.
	
	* src/util.h, src/util.cc (get_https_proxy): New.
	* src/apt-worker-proto.h (APTCMD_UPDATE_PACKAGE_CACHE,
	APTCMD_INSTALL_PACKAGE): Added https_proxy parameter.
	* src/apt-worker-client.cc (apt_worker_update_cache_cont) 
	(apt_worker_install_package_cont): Get and pass https proxy.
	* src/apt-worker.cc (cmd_update_cache, cmd_install_package): Set
	https_proxy envvar when requested.

	* 00-smallcache: Reduce limit again to 1.6 MiB.  We don't cater to
	bloated repositories.

2006-06-05  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (create_progress): Reset progress_cancelled and
	cancel_count here...
	(show_progress): ... instead of here. (N32056)

2006-05-29  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/repo.cc (repo_selection_changed): Disable "Edit" and
	"Delete" buttons when nothing is selected.

2006-05-26  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (annoy_user_with_log): Don't use logical ID in
	disabled code.

	* src/main.cc (install_package_reply): Use correct logical ID
	"ai_ni_error_update_failed".

	* src/details.cc (decode_summary): Use correct logical ID
	"ai_fi_details_packages_update".

	* src/settings.cc: Removed code for SHOW_CLEANING_SETTINGS, which
	was disabled for a long time now but confuses the automatic l10n
	code review.

2006-05-24  Marius Vollmer  <marius.vollmer@nokia.com>

        * certified.list, sources.list: Remove comment that they are
	empty.  This is less confusing when other packages add to these
	files.

	* 00-smallcache: Raise limit to 3 MB, to cope with bloated
	repositories that unfortunately do exist.

2006-05-22  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.19
	
	* src/util.cc (annoy_user_with_gnome_vfs_result): Show info
	banners for "name too long" and "not allowed" instead of info
	notes. (N30282)

	* src/main.cc (maybe_refresh_package_cache): Never ask more than
	once per session.
	(refresh_package_cache_reply): Set last_update only on success.
	(refresh_package_cache_cont): Don't set it here. (N29384)
	(make_main_view): Prevent device name from growing the table
	column. (N29382)

	* src/util.cc (annoy_user_with_details_response): Do not close
	dialog when displaying details. (N29531)
	(device_name): Default to "Nokia 770", not "???".
	
2006-05-19  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (escape_key_press_event): Renamed from
	escape_key_release_event.  Don't check event type.
	(respond_on_escape): Connect to "key_press_event". (N29522)

	* src/main.cc (key_event): Toggle fullscreen on key press, not key
	release. (N28068)
	
	* 00-smallcache: New.
	* Makefile.am (aptconfdir, aptconf_DATA): Install it. (N29642)
	(EXTRA_DIST): Distribute it.

	* src/apt-worker-client.h, src/apt-worker-client.cc
	(apt_worker_install_package): New "updating" paramater, for
	getting the progess title right.  Changed all callers.
	(apt_worker_install_package_cont): Set appropriate title for the
	progress bar that is shown after the "Downloading" one.
	(apt_worker_update_cache_cont): Show progress indicator here, not
	before calling ensure_network.
		
	* src/util.h, src/util.cc (set_general_progress_title): New.
	(progress_cancel_button): Removed.
	(create_progress): New, for creating a fresh progress dialog each
	time the operation changes.
	(show_progress): Use it.
	(hide_progress): Destroy progress dialog, don't just hide it.
	(set_progress): Create a new dialog, if current operation changes,
	but not when the new operation is "Refreshing" and we are not
	currently showing any progress dialog.
	(ensure_network): Show "Connectin" progress when we are going to
	wait for the callback.
	(ensure_network_cont): Hide it.

	* src/main.cc (refresh_package_cache_cont): Don't show progress,
	apt_worker_update_cache does it now.
	(install_package_cont3): Likewise for apt_worker_install_package.
	(install_packahe_cont2, install_package_with_net,
	install_package): Request network after the confirmation dialog,
	not before it. (N27762)

2006-05-17  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/repo.cc (sources_list_reply): Use correct logical id for
	"Unable to delete cataloque".  Didn't I test this?
	Embarassing. (N28620)

2006-05-16  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/search.cc (set_search_area_default): New.
	(show_search_dialog): Use it as a kluge for getting the dialog
	size right. (N28184)

	* src/util.cc (make_global_package_list): Use proper logical id
	and not hardcoded strings for the column title. (N29195, N29232,
	N29235, N29236, N29237)

	* src/main.cc (main): Only put first separator into
	tooolbar. (N27902)
	(window_state_event): Set border of main window when
	fullscreening. (N27905)

2006-05-15  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.18.1

	No code changes, but sources.list was missing from subversion
	which breaks our build system.

2006-05-11  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.18
	
	* src/util.h, src/util.cc (no_button_events): New.
	(make_small_text_view): Use it to suppress button events so that
	no text can be selected. (N28855)
	(grab_focus_on_map): New.
	(make_global_package_list, make_global_section_list): Use
	it. (N27936, N27934)
	* src/main.cc (make_main_view): Likewise. (N27908)

	* src/apt-worker-proto.h (apt_proto_result_code): Added
	rescode_package_corrupted.
	* src/main.cc (annoy_user_with_result_code): Handle
	rescode_package_corrupted.  Added 'upgrade' parameter.  Changed
	all callers.
	* src/apt-worker.cc (combine_rescodes): New.
	(operation): Figure out more precise results for each item, and
	combine them with combine_rescodes. (N28904)
	
2006-05-10  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/main.cc (nicify_section_name): Empty section names are
	turned into "-". (N25433)

	* src/details.cc (show_with_details): Make dialog slightly taller
	so that everything fits always.

	* src/apt-worker.cc (is_user_section): Require section name to be
	longer than 5 characters, not 6.
	(check_installable): Treat packages without a "Section" field as
	non-user packages.
	(encode_field): New default parameter, with "" as default default.
	(cmd_get_file_details): Use NULL as default for Maemo-Icon-26.

	* src/main.cc (is_user_section): Removed.  It was unused.

2006-05-08  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/details.h, src/details.cc (nicify_description_in_place):
	Made non-static.
	* src/main.cc (file_details_reply): Use it.
	(search_packages): Show "Search complete" banner (N28574).
	(search_packages_reply): Likewise.
	
	* src/main.cc (file_details_reply): Initialize "broken".

	* src/util.cc (call_copy_cont): Added optional 'show_error'
	parameter.
	(copy_progress): Use it to suppress error message when copy has
	been cancelled.  Indicate failure when copy has been cancelled.
	
	* Makefile.am (aptdir, apt_DATA): New.  Installs sources.list.
	(EXTRA_DIST): Distribute it.

	* src/util.h, src/util.cc (annoy_user_with_gnome_vfs_result): New.
	(fcd_response): Get URI from file chooser, not filename.  Changed
	all parameter names from "filename" to "uri" to reflect this.
	(N28625)
	
	* src/log.cc (save_log_cont, save_log): Rewritten to use GnomeVFS.
        (N28524, N28531)
	
2006-05-04  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/repo.cc (sources_list_reply): Emit correct irritation when
	trying to remove an essential repository. (N28620)

	* src/menu.cc (add_item): Show "Not available" when any item is
	pressed insensitively. (N28618)

2006-05-03  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.17
	
	* src/log.cc (save_log): Check for extension only in basename of
	filename, not entire pathname.
	
	* src/settings.h, src/settings.cc (break_locks): New.
	(load_settings, save_settings): Load and save it.

	* src/apt-worker-client.cc (start_apt_worker): Pass "B" option to
	apt-worker when break_locks is true.

	* src/util.cc (really_cancel_response): New.
	(cancel_response): Ask whether to exit on the tenth cancel
	attempt.

	* apt-worker.cc (flag_break_locks): New.
	(main): Set it when passed the "B" option.
	(ForceLock): New, for breaking locks when allowed to.  Use it
	instead of GetLock everywhere.
	(mydebSystem, mydebsystem): New, to be able to use ForceLock
	instead of GetLock, and to clear the dpkg updates journal.
	
2006-05-02  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.h, src/util.cc (respond_on_escape,
	escape_key_release_event): New.
	* src/repo.cc (sources_list_reply): Use respond_on_escape to close
	the dialog on ESC.
	* src/details.cc (show_with_details): Likewise. (N28387)
	* src/log.cc (show_log): Likewise. (N28382)

	* src/main.cc (install_check_reply): Show the unsure variant of
	the legal disclaimer when authentication fails.
	(main): Add separators between toolbar buttons. (N27902)
	(key_event): Rect to fullscreen key when it is released, avoiding
	key repeating. (N27946)
	* src/main.cc (show_help): Don't ask for a help dialog, ask for
	the full help application. (N25774)

	* src/apt-worker.cc (operation): Don't do the sanity check;
	proceed also when packages are broken.
	(cmd_get_file_details): Use empty string ""
	instead of NULL for versions when the file is corrupted.

2006-04-28  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/utils.h, src/util.cc (show_file_chooser_for_save): Set
	default folder to "Documents". (N27900)
	(ask_custom): New.
	* src/log.cc (save_log): Use it to get the correct button labels.
	(log_response): Put version information into log after clearing it.

	* src/util.h, src/util.cc (annoy_user_with_errno): New.
	* src/log.cc (save_log, save_log_cont): Detect existing files and
	ask for permission to continue.  Use annoy_user_with_errno to
	produce appropriate error messages.  Put up information banner
	when saved succeeded. (N27888)

	* src/apt-worker.cc (operation): Return rescode_packages_not_found
	when all downloads failed with result code 404.

2006-04-25  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.16
	
	Cleanup progress reporting.
	
	* src/main.cc (install_package_cont2): Don't show progress during
	checking, it is fast enough now.
	(install_check_reply): Don't hide progress since it has not been
	shown.
	(install_package_with_net): New, does what install_package used to
	do.
	(install_package): Call ensure_network and continue with
	install_package_with_net.
	(uninstall_package_doit): Add newline to log message.
	(get_package_list_with_cont): Clear the displayed
	lists here in order not to show outdated information now that the
	cach is being rebuilt without progress banner.
	(get_package_list_reply): Don't clear them here.
	* src/apt-worker.cc (cmd_get_package_info): Provide useful
	download_size and user_size_deltas even for non-installable or
	non-removable packages.
	(init_cache_after_request, need_cache_init): New.
	(handle_request): Call cache_init after shipping back the response
	when requested.
	(install_package, remove_package, install_file): Call
	need_cache_init instead of cache_init.
	
	* src/main.cc (confirm_install): Show download_size also for
	non-installable packages. (N27743)

	* osso-application-installer.desktop (X-Osso-Service): Don't use
	the full name.  Using the "com.nokia." prefix will prevent the
	Task navigator from showing the loading banner.  (N27736)

	* src/main.cc (key_press_event, key_event): Renamed former to
	latter.  Show parent view on ESC release.
	(main): Connect key_press to both "key_press_event" and
	"key_release_event". (N27735)
	
	* src/util.cc (show_deb_file_chooser): Also filter in
	application/x-install-instructions mime type.

	* src/search.cc (show_search_dialog): Make dialog application
	modal instead of system modal.
	* src/settings.cc (show_sort_settings_dialog,
	show_settings_dialog): Likewise.

	* src/main.cc (main_image): New.
	(make_main_view): Only load the AI image once and not every time
	the main view is constructed.
	(confirm_install): Use correct logical ids. (N27742)
	(install_from_file_cont2): Recognize ".install" files here.
	(mime_open_handler): Don't recognize them here.

	Only simulate removal when necessary.
	
	* src/apt-worker-proto.h (apt_proto_able_status): Added
	status_unknown.
	(APTCMD_GET_PACKAGE_INFO): Document new only_installable
	parameter.
	* src/apt-worker-client.h, src/apt-worker-client.cc (must_mkfifo):
	Unlink fifo before creating it.
	(apt_worker_get_package_info): Added only_installable parameter.
	Changed all callers.
	* src/apt-worker.cc (cmd_get_package_info): Decode
	only_installable parameter.  Only simulate removal when requested,
	return status_unknown otherwise.
	* src/main.h, src/main.c (call_with_package_info): Added
	only_installable_info parameter.  Changed callers.  If the
	removable status is wanted, only continue immediately when we
	actually have it.
	(get_intermediate_package_info): Likewise.
	
2006-04-21  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.15

	* src/log.cc (save_log): Append ".txt" if there is no extension
	already.  Report errors in the log.

2006-04-20  Marius Vollmer  <marius.vollmer@nokia.com>

	Completed support for automatically removing non-user packages
	that have been automatically installed and are no longer needed.
	
	* src/apt-worker.cc (auto_flags, package_count, save_auto_flags,
	load_auto_flags, restore_auto_flags): New, to keep track of which
	packages have been installed automatically.
	(cache_init): Maintain package_count and auto_flags.  Call
	load_auto_flags.
	(operation): Call save_auto_flags after everything has been done.
	(is_auto_package): Use the real flag now.
	(cache_reset, cache_reset_package): 'Refactored' to allow
	resetting of individual packages now that we need to get the auto
	flag right as well.
	(mark_for_install): Use cache_reset_package instead of MarkKeep.
	(mark_for_remove): Added only_maybe parameter.  Reset package if
	it can't be removed and only_maybe is true.  Set only_maybe true
	when recursing.

	* src/settings.cc (load_settings): Try to be smart about selecting
	the desired UI version when not forced.

	* src/repo.cc (repo_text_func): Only use repository name for UI
	versions 2 and later.  Showing the name without giving the user a
	way to edit it is confusing.

2006-04-19  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.cc (iap_callback): Log unexpected event types.
	(cancel_count): New.
	(show_progress): Clear it.
	(cancel_response): Hide progress on the fifth cancel request.

2006-04-18  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/util.h, src/util.cc (device_name): New.
	* src/main.cc (make_main_view): Use it.

	* src/apt-worker.cc (operation): Do not run fetcher loop.  Call
	_system->Lock() before returning.

	* src/util.h, src/util.cc (show_updating, hide_updating): New.
	* src/main.cc (get_package_list, get_package_list_reply): Use
	them.

	* src/util.cc (global_icon_func): Use correct icon.
	
2006-04-17  Marius Vollmer  <mvo@zagadka.de>

	* src/apt-worker.cc (is_auto_package): New.
	(mark_for_install, mark_for_remove): New.  Use them thruout
	instead of pkgDepCache::MarkInstall and pkgDepCache::MarkDelete,
	respectively.

	* src/main.cc (installed_package_selected): Don't call
	get_intermediate_package_info, it is not needed.
	(make_uninstall_applications_view): Don't call
	get_package_list_info.
	(make_search_results_view): Likewise, when searching the installed
	packages.
	
	* src/main.h, src/main.cc (package_info): Added dependencies
	member.
	* src/details.cc (show_with_details): Show them in red-pill-mode.
	(get_package_details_reply): Only throw them away in
	blue-pill-mode.
	
2006-04-16  Marius Vollmer  <mvo@zagadka.de>

	* src/apt-worker.cc (cache_reset): New.
	(cmd_get_package_info): Use it instead of pkgDepCache::Init.
	(encode_install_summary, encode_remove_summary,
	cmd_get_packages_to_remove): Likewise.
	(cmd_install_check): Likewise, and don't call cache_init.
	(cmd_install_package): Do not call pkgDepCache::Init as the cache
	is now always in a pristine state.
	(cmd_remove_package): Likewise.
	(update_package_cache): Do not call pkgCacheFile::BuildCaches,
	cache_init does it indirectly via pkCacheFile::Open.
	(encode_upgrades): Do not list newly installed packages. (They
	were listed for debugging and it is harmless to do so, but we
	shouldn't do it for correctness sake.)

	* src/main.cc (make_main_view): Do not fake device name so that I
	don't forget to fix this.  Show additional "apt-get update" button
	when in red-pill-mode.
	
2006-04-15  Marius Vollmer  <mvo@zagadka.de>

	* src/apt-worker-proto.h (APTCMD_GET_PACKAGE_LIST): Added broken
	return value.
	* src/apt-worker.cc (cmd_get_package_list): Provide it.
	* src/main.h, src/main.cc (package_info): Added broken member.
	(get_package_list_reply): Set it from the response.
	(search_packages_reply): Ignore it.
	* src/util.cc (broken_icon): New.
	(global_icon_func): Initialize it and use it for installed,
	broken packages.
	* src/details.cc (show_with_details): Use package_info broken
	instead if assuming false.

	* src/apt-worker.cc (class myDPkgPM): New.
	(operation): Use it instead of the one created by _system.

2006-04-14  Marius Vollmer  <mvo@zagadka.de>

	* src/apt-worker.cc (cmd_get_package_list): Use
	pkgDepCache::GetCandidateVer instead of walking the list of
	versions ourselves since not all entries on that list are actually
	candidates for installing, such as removed-but-not-purged ones.

	* src/util.cc (make_global_package_list): Increase refcount of
	global_section_list.  Otherwise it becomes invalid when the widget
	is destroyed.
	(clear_global_section_list): Unref it.

2006-04-13  Marius Vollmer  <marius.vollmer@nokia.com>

	* debian/rules (config.status): Don't depend on configure, just
	run autogen.sh manually when it doesn't exist.
	(configure): Deleted target since autogen.sh might not be
	available.
	
	* Makefile.am (EXTRA_DIST): Distribute the various _DATA files.
	* utils/Makefile.am (EXTRA_DIST): Distribute the bin_SCRIPTS.

	Released 4.14
	
	* Makefile.am (deb): New target, for making cleaner source packages.
	* make-package: New.
	
	* src/util.cc (size_string_detailed): Corrected 1Gb threshold.
	Corrected logical id for sizes larger than 1Gb.

	* src/apt-worker.cc (operation): Don't check for enough free space
	when we are only checking the 'certified' status of the packages.
	* src/main.cc (annoy_user_with_result_code): Handle
	rescode_out_of_space.

	* src/settings.cc (force_ui_version, ui_version): New.
	(load_settings, save_settings): Handle them.

	* src/util.h, src/util.cc (ask_yes_no_with_arbitrary_details,
	gettext_alt): New.
	(show_progress): Use "Refreshing package list" as initial title
	since it is probably the longest one and the dialog is not
	resizing automatically when changin the title later... yeah, shoot
	me.
	(do_copy): Use "Opening..." logical id from hildon-fm.

	* src/apt-worker-proto.h (apt_proto_able_status): Added
	status_conflicting.
	* src/apt-worker.cc (installable_status_1, installable_status):
	Return it when appropriate.
	* src/main.cc (annoy_user_with_installable_status_details):
	Produce error message for it.

	* src/apt-worker.cc (cmd_get_file_details): Add information about
	the installed version of the package.
	(check_installable): Output explanation about non-user packages to
	the log.
	
	* src/main.cc (get_package_list_with_cont): New.
	(get_package_list_reply): Call cont when everything has been done.
	Also, switch to parent view in more cases, as appropriate.
	(refresh_package_list_with_cont): New.
	(refresh_package_list_reply): use get_package_list_with_cont to
	invoke our cont when everything has been done.
	(refresh_package_list): Update last_updated and save it even when
	user declines to do the update.

	(install_from_file_reply, install_from_file_cont4): Say "updating"
	instead of "installing" when the package is already installed.
	(install_from_file_cont): Free uri string, as required.
	
	New MIME type for 'single-click install', named repositories.
	
        * src/instr.h, src/instr.cc: New.
	* src/Makefile.am: Add them.
	
	* osso-application-installer.desktop (MimeType): Also list
	"application/x-install-instructions".
	* osso-application-installer.xml: Define it here.
	* src/main.h, src/main.cc (install_named_package): New.
	(mime_open_handler): Call open_install_instructions for files
	ending with ".install"

	* src/repo.h, src/repo.cc (maybe_add_repo): New.
	(repo_line): Added name member.
	(repo_line::repo_line): Do not handle parsing of "#maemo:" lines
	here.
	(sources_list_reply): Do the parsing here.  Launch into the "Add
	catalog" routine when requested instead of into the "Catalog"
	dialog routine.
	(repo_encoder): Output "#maemo:" flags explicitely.
	(repo_closure::find_repo): New.
	(repo_edit_closure): Added readonly member.
	(repo_edit_response): Don't do anything about the repo_line when
	the dialog is readonly.  Use proper logical IDs.  Handle name
	attribute.
	(add_entry): Added autocap and readonly parameters.
	(show_repo_edit_dialog): Added readonly parameter.  Construct
	dialog accordingly.  Show name when ui version is at least 2.
	(repo_text_func): Show name instead of deb_line when there is one.
	
2006-04-11  Marius Vollmer  <marius.vollmer@nokia.com>

	* configure.ac (AI_DEPS): Use obex-vfs-utils.
	(DEB_HOST_ARCH): New, for architecture checking of standalone
	files.
	* debian/control (Build-Depends): Added osso-gnomevfs-extra-dev.

	* src/main.cc (get_package_list_reply): If current view becomes
	empty, switch to parent.
	(refresh_package_cache_reply): Always call get_package_list, even
	when refresh failed.
	(annoy_user_with_result_code): New.
	(install_package_reply): Use it.
	(install_check_reply): Display correct error message, depending on
	whether this is an upgrade or an installation.
	(annoy_user_with_installable_status_details): New.
	(install_package_cont2): Use it.
	(annoy_user_with_removable_status_details): New.
	(uninstall_package_doit): Use it.
	(install_from_file_reply, install_from_file_cont4,
	install_from_file_cont3, file_details_reply, file_details_reply):
	Call cleanup_temp_file appropriately.
	(install_from_file_fail): Use
	annoy_user_with_installable_status_details (N26424).
	(file_details_reply): Don't filter non-user packages here, this is
	now done by apt-worker.
	Produce appropriate summary for installable_status.
	(main): Don't call maybe_refresh_package_cache ();
	(make_upgrade_applications_view): But call it here.

	* src/apt-worker-proto.h (apt_proto_able_status): New.
	(apt_proto_package_info): Renamed installable to
	installable_status and removable to removable_status.  Updated all
	users to use apt_proto_able_status codes with them.
	(apt_proto_result_code): New.
	(APTCMD_UPDATE_PACKAGE_CACHE, APTCMD_INSTALL_PACKAGE): Specify
	that they uses apt_proto_result_code as the return value.
	(APTCMD_GET_FILE_DETAILS): Added only_user parameter.  Updated all
	callers.  Use apt_proto_able_status in return values.

	* src/apt-worker.cc (installable_status_1, installable_status,
	removable_status): New.
	(cmd_get_package_info): Use them to fill status fields in
	response.
	(update_package_cache): Return result code.  Call cache_init
	always once the BuildCaches has been called.  Don't abort when
	cleaning old files fails.
	(cmd_update_package_cache): Return result code in response.
	(operation, operation_1): Merged these two. cache_init is now
	called by the individual command handlers, errors are dumped by
	the handler loop.  Return result code instead of a boolean.
	Updated all callers.
	(cmd_install_package): Return result code in response.
	(check_and_encode_missing_dependencies): Return able_status
	instead of boolean.  Updated all callers.
	(combine_status): New.
	(check_installable): Return able status.  Check for user packages
	if requested.  Check for correct architecture.
	(cmd_get_file_details): Create fake response for corrupted packages.
	Handle only_user parameter.
	
	* src/apt-worker-client.h, apt-worker-client.cc
	(apt_worker_get_file_details): Added only_user parameter.  Updated
	all callers.

	* src/details.h, src/details.cc (show_package_details): Added
	show_problems paramater.  Updated all callers.
	(show_with_details): Switch notebook to problems page when
	show_problems is true.

	Support installing from remote files.
	
	* src/util.h, src/util.cc (cleanup_temp_file): New.
	(currently_annoying_user): New.
	(annoy_user_response, annoy_user,
	annoy_user_with_details_response, annoy_user_with_details,
	annoy_user_with_log_response, annoy_user_with_log): Maintain it
	and do nothing when it is true.
	(copy_copy_cont, copy_progress, do_copy): New, with lots of global
	state.
	(localize_file): Use it to really copy remote files.
	
	* src/repo.cc (show_repo_edit_dialog): Show help for "New" dialog
	also for "Edit" dialog since there is no help for the latter.

2006-04-10  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/settings.cc (SETTINGS_FILE): Changed location to be inside
	.osso/ so that it is automatically backed up.

2006-04-07  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.13, skipped 4.12.
	
	* src/util.cc (get_http_proxy): Use http_proxy envvar when gconf
	says there is no proxy.

2006-04-07  Marius Vollmer  <mvo@zagadka.de>

	* src/util.h, src/util.cc (localize_file): Make uri parameter
	const.

2006-04-06  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/repo.cc (add_entry): Set "autocap" to FALSE for all entry
	widgets.

	* src/apt-worker.cc (main): Be 20 clicks nicer.

	* src/main.cc (main): Set application name to "" to get rid of the
	two part title.

	Released 4.11

	* Makefile.am (mo_DATA, noinst_DATA): Don't install the engb .mo
	file.
	* src/Makefile.am (install-exec-local): Use $(DESTDIR), stupid.
	
2006-04-05  Marius Vollmer  <marius.vollmer@nokia.com>
	
	* src/menu.h, src/menu.cc (create_package_menu): New.
	* src/util.h, src/util.cc (make_global_package_list): Use it to
	set the tap and hold menu.  Added op_label parameter for this;
	udated all callers.

	* src/menu.h, src/menu.cc (set_search_menu_sensitive): New.
	* src/main.cc (enable_search): Call it.

	* src/details.cc (nicify_description_in_place): New.
	(get_package_details_reply): Use it.

	Fix searching.

	* src/main.cc (struct view): Removed path member.  Updated all
	initialisations.
	(show_view): Construct from fresh every time since views might
	change their parent.
	(search_packages_reply): Fix by decoding leading success int of
	response.  First collect results and only switch the search
	results view when there are some.  Otherwise show information
	banner.  Free old search results only when actually having new
	ones.
	(search_packages): Likewise for the the searches in package names
	only.

	Add new repositories at the end.  Dim Edit and Delete buttons for
	essential repositories.
	
	* src/repo.cc (repo_closure): Added edit_button and delete_button
	members to aid in dimming those buttons for essential
	repositories.  Added lastp member to aid in adding to the end of
	the list.
	(add_new_repo): Add new repo to the end.
	(remove_repo): Maintain lastp.
	(repo_response): Don't check for essential repos here, the button
	are insensitive for them.
	(repo_row_activated): Use information banner with the correct
	logical id instead of note.
	(repo_selection_changed): New, dim buttons appropriately.
	(make_repo_list): Connect repo_selection_changed.
	(insensitive_press): New.
	(sources_list_reply): Use it for the Edit and Delete buttons.
	
	Launcherized osso-application-installer.
	
	* src/Makefile.am (bin_PROGRAMS): Renamed
	osso-application-installer to osso-application-installer.launch.
	(osso_application_installer_launch_CFLAGS,
	osso_application_installer_launch_LDFLAGS,
	osso_application_installer_launch_CXXFLAGS): Add launcherizing
	flags.
	(install-exec-local): Make launcherizing symlink.
	
	* debian/control: Depend on maemo-launcher.

2006-04-04  Marius Vollmer  <marius.vollmer@nokia.com>

	Maemo-launcherize maemo-confirm-text.
	
	* configure.ac (LAUNCHER_CFLAGS, LAUNCHER_LDFLAGS): New.
	* utils/Makefile.am: Renamed maemo-confirm-text.user to
	maemo-confirm-text.launch.
	(maemo_confirm_text_launch_CFLAGS,
	maemo_confirm_text_launch_LDFLAGS): Use new flags to really turn
	maemo-confirm-text.user into maemo-confirm-text.launch.
	* utils/maemo-confirm-text-user.c (fill_text_buffer_from_file):
	Don't support "-" since the launcher does not support it, either.
	* utils/maemo-confirm-text: Use maemo-invoker to call
	maemo-confirm-text.launch.

	* debian/control: Merged bugfix from 4.10-build-depends-fix.

	* src/settings.h, src/setting.cc (fullscreen_toolbar,
	normal_toolbar): Added.
	(load_settings): Load them.
	(save_settings): Save them.
	(make_updates_tab): Use a HildonCaption (N25613).
	
	* src/menu.cc (create_menu): Initialize toolbar checkboxen from
	settings.

	* src/main.cc: Use "updating" logical IDs instead of the
	"installing" ones when the operation is in fact an update.
	(fullscreen_toolbar_visibility, normal_toolbar_visibility): Removed.
	(set_toolbar_visibility): Use new global settings instead.
	
	* src/main.cc (make_install_applications_view): Show package list
	directly when there is only one category.  Refresh package cache
	here.
	(make_install_section_view): Don't do it here.
	(get_package_details_reply): If less than
	MAX_PACKAGES_NO_CATEGORIES are in the "all" category, use only
	that category and forget about the rest.

	* src/repo.cc (repo_reply): use ai_ni_operation_failed instead of
	ai_ni_error_general.

	* src/main.h (section_info): Renamed 'name' member to
	symbolic_name.  Added new 'name' member that points to the UI
	string.  Updated all users to use the right one.
	(canonicalize_section_name, nicify_section_name): Split off
	subsection extraction from latter into former.
	(find_section_info): Use canonicalize_section_name for the
	symbolic name, and nicify_section_name for the UI name.  Added
	allow_all parameter and change section to "other" when it is "all"
	but not allowed.
	(get_package_details_reply): Put all new packages into the
	artificial "all" section.
	(sort_all_packages): Exclude "all" section when sorting sections.
	* src/util.cc (make_global_section_list): Do not call
	nicify_section_name since we have the UI string already.
	
	* src/details.cc (show_with_details): Use correct logical ids
	instead of ai_va_details_updating_requires,
	ai_va_details_updating_frees, ai_fi_packages_install,
	ai_fi_packages_update, ai_fi_packages_uninstall.

	* Makefile.am (mo_DATA): Install en_GB translation.

2006-03-31  Marius Vollmer  <marius.vollmer@nokia.com>

        Released 4.10
	
	* src/main.h, src/main.cc
	(section_info): Added reference counting; updated all users.
	The name member is now allocated and not nicified.
	(cur_section): Removed.
	(cur_section_name): Use this instead.
	(view_section): Set cur_section_name here.
	(make_install_section_view): Use it here to find the current
	section_info struct.
	(find_section_info): Added create parameter, updated callers.
	(set_install_section_name): Nicify the view label here.
	* src/util.cc (make_global_section_list): Nicify section name here.
	
	* src/details.cc (get_package_details_reply): Don't recode
	maintainer name.

	* src/apt-worker-proto.h, src/apt-worker-proto.cc: Specify that
	strings are in UTF-8.
	(apt_proto_decoder::decode_string_in_place): Check for UTF-8
	validity and correct if necessary.

	* src/apt-worker.cc (install_file): Call cache_init after
	everything has been done.

2006-03-30  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/apt-worker-client.cc (apt_worker_update_cache_cont): Show
	error message when network connection could not be established.

	* src/hildonbreadcrumbtrail.c (hildon_bread_crumb_trail_set_path):
	Set button widget name to "osso-breadcrumb-button".  Make arrow
	smaller.

	* src/main.h, src/main.cc (AI_TOPIC, set_dialog_help, show_help):
	New.
	(enable_search, set_current_help_topic): New.  Call them in all
	view makers to use them appropriately.
	(make_main_view): Use logical id instead of "Repository".
	(nicify_section_name): Try to get translation for category name.
	(refresh_package_cache_reply, install_package_reply,
	install_package_cont5, install_package_cont2,
	uninstall_package_cont2, install_from_file_cont4): Notice a
	cancelled operation and show appropriate info note.
	(refresh_package_cache_cont): Remember time etc of this refresh
	also when it was cancelled or unsuccessful.
	(main): Show info banner when insensitive things in the toolbar
	are pressed.
	
	* src/settings.cc (show_settings_dialog): Activate help.
	* src/search.cc (show_search_dialog): Likewise.
	* src/repo.cc (show_repo_edit_dialog, sources_list_reply): Likewise
	* src/log.cc (show_log): Likewise.
	* src/details.cc (show_with_details): Set parent of dialog.
	Activate help.

	* src/util.h, src/utils.cc (ask_yes_no_with_details): Use a
	GtkDialog.  Added title parameter for that.  Changed all callers
	to provide the correct title.
	(scare_user_with_legalese): Added 'sure' parameter and display the
	certain or uncertain version of the text accordingly.  Changed
	callers.  Create a dialog, not a confirmation note.
	(progress_was_cancelled, progress_cancelled): New.
	(set_progress): Never make cancel button insensitive.
	(cancel_response): Make decisison whether to cancel here and show
	info banner when not doing it.  Set progress_cancelled.
	(show_progress): Reset progress_cancelled.
	(default_icon): New.
	(global_icon_func): Fetch default icon if needed.  Use it as
	default.
	
	* configure.ac (AI_DEPS): Addd libossohelp.
	(AW_DEPS): New, to get rid of dependencies on UI libraries in
	apt-worker.

	* src/Makefile.am (apt_worker_CFLAGS, apt_worker_CXXFLAGS,
	apt_worker_LDADD): Use AW_DEPS instead of AI_DEPS.

2006-03-28  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.9
	
	* src/apt-worker.cc (get_field): Return string by setting start
	and end pointers, not as a pointer into a dead C++ 'string'.
	Changed callers.
	(get_field_int, encode_field): New.
	(check_and_encode_missing_dependencies): Expect start and end
	pointers.
	(make_file_details_response): Use encode_field and get_field_int
	instead of long-hand.

	* src/apt-worker-proto.cc, src/apt-worker-proto.h
	(apt_proto_encoder::encode_stringn,
	apt_proto_encoder::encode_mem_plus_zeros): New.
	(apt_proto_encoder::encode_mem, apt_proto_encoder::encode_mem):
	Use them respectively.
	
	* src/hildonbreadcrumbtrail.c (hildon_bread_crumb_trail_set_path):
	Set name of buttons, do not unset relief, make padding smaller.

	* src/main.cc (install_check_reply): Hide progress when apt-worker
	has failed.

2006-03-24  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 4.8
	
	* src/main.cc (hw_state_handler): New.
	(main): Register it.
	(refresh_package_cache_reply, status_callback): Handle cancelling
	of request.
	
	* src/util.h, src/util.cc (set_progress): Changed arguments to
	match APTCMD_STATUS responses.  Updated all callers.  Dim cancel
	button when not in op_downloading.
	(iap_callback): Cancel apt-worker when disconnected and the
	current operation is op_downloading.
	
	* src/apt-worker-client.cc (cancel_request,
	cancel_all_pending_requests): New.
	(notice_apt_worker_failure): Call cancel_all_pending_requests, put
	up error note.
	(call_apt_worker): Use cancel_request instead of doing it
	explicitely.

	* utils/maemo-list-user-packages: New.
	* utils/Makefile.am (bin_SCRIPTS): Added it.

	* configure.ac: Check for gnome-vfs-2.0 module.

	* src/main.h, src/main.c (present_main_window): New.
	(install_check_reply, install_package_cont3,
	install_package_cont4): Retrieve upgraded packages and call
	checkrm scripts.
	(check_uninstall_scripts2): Include package name in dialog text.
	(mime_open_handler): Call present_main_window.
	(set_fullscreen): Use gtk functions for fullscreening.
	(fullscreen_state_change, window_state_event): Replaced former
	with latter.
	(key_press_event): New.
	(main): Connect new event handlers.
	
	* src/util.h, src/util.cc (push, pop): New.
	* src/util.cc (pulse_progress): Return TRUE so that the pulsing
	doesn't stop.
	(show_progress): Call start_pulsing always, not only when the
	dialog already exists.
	(set_progress): Pulse when fraction is negative, stop pulsing
	otherwise.
	(localize_file): Use GnomeVFS to parse the URI and unescape it.

	* src/apt-worker.cc (encode_upgrades): New.
	(operation_1): Call it when checking only.  Also, send -1 as
	percentage when starting the real operation so that the progress
	bar starts pulsing.
	
2006-03-22  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/apt-worker.cc (get_icon, make_file_details_response): The
	icon field is now named "Maemo-Icon-26".

2006-03-16  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/apt-worker.cc (handle_request): Only set http_proxy when the
	value is non-NULL.

	* src/apt-worker-client.h (cancel_apt_worker): Added prototype.

	* src/util.cc (cancel_response): New.
	(show_progress): Connect it to cancel button.
	(pulse_id, pulse_progress, start_pulsing, stop_pulsing): New, used
	to pulse before the first real status response.
	(iap_callback): Don't call callback for disconnect message, data
	is invalid then.
	
	* configure.ac: Check for gconf-2.0 module.

	* osso-application-installer.desktop (Name): Use logical id.

	Pass http_proxy to apt-worker when needed.
	
	* src/apt-worker-proto.h: Added http_proxy parameter to
	APTCMD_UPDATE_PACKAGE_CACHE and APTCMD_INSTALL_PACKAGE.
	* src/util.h, src/util.cc (get_http_proxy): New.
	* src/apt-worker-client.cc (apt_worker_update_cache_cont,
	apt_worker_install_package_cont): Use it to pass the http proxy to
	apt-worker.
	* src/apt-worker.cc (handle_request): Set http_proxy envvar for
	APTCMD_UPDATE_PACKAGE_CACHE and APTCMD_INSTALL_PACKAGE.
	
	* utils/maemo-confirm-text-user.c (main): Bugfix: correctly use
	'file' parameter instead of argv[1].

	* utils/maemo-confirm-text: Only "su" when invoked as root,
	otherwise just run maemo-confirm-text.user.

2006-03-13  Marius Vollmer  <marius.vollmer@nokia.com>

	* utils/Makefile.am: Removed check-application-for-uninstall,
	added maemo-application-running and maemo-confirm-text.

	* src/repo.cc (add_new_repo): Provide defaults for distribution
	and components.

	* src/main.cc: Use HildonWindow instead of HildonApp and
	HildonAppview.  Thanks to Johan Bilien!

	* src/apt-worker-client.h, src/apt-worker-client.cc,
	src/apt-worker-proto.h, src/apt-worker.cc, src/main.cc: Changed
	identification of user packages; now we look at the component, not
	the category, and the value should be "user", not "maemo".
	Changed parameter name of GET_PACKAGE_LIST request from
	"only_maemo" to "only_user".

2006-03-10  Marius Vollmer  <marius.vollmer@nokia.com>

	General improvement of robustness in failure cases.  Bring up
	network when needed.  Changed scheme for identifying user
	packages.
	
	* configure.ac: Include osso-ic PKG_CHECK_MODULES.
	* debian/control: Include osso-ic-dev in Build-Depends.
	
	* settings.cc: Removed "clean_after_install" setting from UI.

	* main.h, main.cc, util.cc, apt-worker-proto.h, apt-worker.cc:
	Return short descriptions and icons in the GET_PACKAGE_LIST
	response, not in the GET_PACKAGE_INFO response.  Expect these
	values to always be valid, not only when have_info is true.

2006-03-09  Marius Vollmer  <marius.vollmer@nokia.com>

	* configure.ac: Include hildon-fm in PKG_CHECK_MODULES since the
	hildon_file_chooser_dialog has been moved from hildon-libs to
	hildon-fm.

2006-03-08  Marius Vollmer  <marius.vollmer@nokia.com>

        * util.h, util.c (all_white_space): New function.
	
	* src/repo.cc (repo_edit_response): Disallow empty URLs and
	distributions.

	* utils/check-application-for-uninstall.c: Proper parsing of
	command line options.  Look into /proc to find the executable.
	Include application name in dialog.

2005-12-09  Marius Vollmer  <marius.vollmer@nokia.com>

	Started from scratch, thus no detailed ChangeLog entries until the
	code settles a bit.
