2010-07-16  Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
	* src/main.cc: add "/home/user/MyDocs/.tmp" to dirs prefixes from which
	  HAM is allowed to unlink downloaded .debs
	  as specified in
	  https://projects.maemo.org/bugzilla/show_bug.cgi?id=177125#c30

	  Relase 2.2.71

2010-07-01  Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>

	* src/main.cc: Check /home/user/MyDocs/.apt-archive-cache deleting
	  trusted .debs, according to NB#177568, blocked by NB#177125
	* src/util.cc: Add interaction tasks to enqueues task in need of interactive UI
        * src/main.cc: change of return type from void to null for install_from_file_flow()
	* irc/main.cc: Use interction tasks to enqueue the install operation
	  instead of dropping it, in install_from_file_flow() (NB#177568)

	Release 2.2.70

2010-06-14  Alban Crequy  <alban.crequy@collabora.co.uk>

	* src/operations.cc: Fix "not enough memory" error message

	Release 2.2.69

2010-06-10  Alberto Garcia  <agarcia@igalia.com>

	* src/util.cc: Fix visual artifact in progress bar

	Release 2.2.68

2010-06-07  Alberto Garcia  <agarcia@igalia.com>

	* src/confutils.cc: Don't add repo definition with more than 1024
	char
	* src/repo.cc: Ignore badly formatted catalogues
	* src/main.cc: Update the cache using an idle call

	Release 2.2.67

2010-04-22  Alban Crequy  <alban.crequy@collabora.co.uk>

	* src/operations.cc: Fix "not enough memory" error message

	Release 2.2.66

2010-03-29  Alban Crequy  <alban.crequy@collabora.co.uk>

	* src/apt-worker.cc: Check 150mb free space in /home/

	Release 2.2.65

2010-03-26  Marco Barisione <marco.barisione@collabora.co.uk>

	Release 2.2.64

2010-03-26  Marco Barisione  <marco.barisione@collabora.co.uk>

	* src/main.cc: Delete packages installed from /var/tmp/

2010-03-24  Marco Barisione  <marco.barisione@collabora.co.uk>

	* src/dbus.cc:
	* src/main.cc:
	* src/main.h:
	* src/menu.cc:
	* src/operations.cc:
	* src/operations.h: Make it possible to avoid the legal warning when
	installing a local package.

2010-03-26 Alban Crequy <alban.crequy@collabora.co.uk>

	* src/apt-worker.cc: Check free space in /home/

2010-03-11 Alberto Garcia <agarcia@igalia.com>

	* src/util.cc (get_device_mode): Set the telephony service state when
	requesting OFFLINE mode.

2010-03-04 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* apt-worker.cc (fs_setup): New function.
	(fs_teardown): New function.
	(do_rescue): use the new functions

2010-02-25 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/settings.cc: set to true the show_ssu_problems global
	variable by default

2010-02-23 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/operations.cc (ip_download_cur): Reset the cancel/break
	flags before every download

	* src/util.cc (iap_callback): Nullify the iap identifier after
	free it.

	* src/details.cc (spd_with_details): don't remove the tab if the
	setting is enabled.

2010-02-22 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/settings.h: export the global variable

	* src/settings.cc (load_settings): read the new key
	(save_settings): save the new key
	(make_settings_tab): put the option in the widget

2010-02-18 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/operations.cc (ip_download_cur_retry): reset entertainment
	state before downloading again.

	* src/util.cc (reset_entertainment): New function

	* src/util.h: New function exporting

	* src/operations.cc (ip_autoremove_reply): New function.
	(ip_reboot): call the autoremove apt-worker command.

	* src/apt-worker.cc (cmd_autoremove): Remove useless log messages

	* src/operations.cc (up_remove_reply): Stop the entertainment only
	if apt-worker fails.
	(up_remove_reply): Call the autoremove process.
	(up_autoremove_reply): New function.

2010-02-09 Mario Sanchez Prada <msanchez@igalia.com>

	* src/main.cc (rp_end): Make sure packages list is always
	initialized after restoring the list of packages.

2010-02-17 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* apt-worker-client.h: function signature
	src/apt-worker-client.cc (apt_worker_autoremove): New function.

	* src/apt-worker-proto.h: add the command id.

	* src/apt-worker (handle_request): handle the command request.
	(cmd_autoremove): New function.

	* src/operations.cc (ip_download_cur_reply): Retrying downloading
	three times if it fails.

2010-01-21 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/operations.cc (result_code_to_message): Show the new label
	for retrying.
	(ip_download_cur_retry_confirm): Enable the ask_yes_no dialog
	(ip_download_cur_retry): New function.
	(ip_download_cur_retry_confirm_response): fix the function in
	order to re-ensure the network connection before downloading
	again.
	(ip_download_cur_reply): Ask to retry if the download was broke

2010-01-11 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/util.cc (iap_callback): handler and report errors, handle
	the disconnecting status, and try to handle reconnections.

2010-01-28 Mario Sanchez Prada <msanchez@igalia.com>

	* src/dbus.c (MCE_SERVICE): Removed from here.
	(MCE_REQUEST_IF): Likewise.
	(MCE_REQUEST_PATH): Likewise.
	(MCE_GET_DEVICE_MODE_REQ): Likewise.
	(MCE_DEVICE_MODE_CHANGE_REQ): Likewise.
	(get_device_mode): Likewise.
	(set_device_mode): Likewise.

	* src/dbus.h (device_mode): Removed from here.
	(get_device_mode): Likewise.
	(set_device_mode): Likewise.
	(send_reboot_message): Removed unused function.

	* src/operations.cc (ip_kill_all_and_install_delayed): Removed
	crappy code to kill and stop processes from here and call a new
	utility function instead: kill_processes_for_SSU

	* src/util.cc (stop_dsme_service): Made this function private.
	(maybe_kill_all_by_name): Made this function private.
	(MCE_SERVICE): Moved from dbus.cc.
	(MCE_REQUEST_IF): Likewise.
	(MCE_REQUEST_PATH): Likewise.
	(MCE_GET_DEVICE_MODE_REQ): Likewise.
	(MCE_DEVICE_MODE_CHANGE_REQ): Likewise.
	(get_device_mode): Likewise.
	(set_device_mode): Likewise.
	(connected_event_handler_id): New global variable to
	store the handler id for the 'connection-event' callback.
	(ensure_network): Store the handler id when connecting the signal.
	(listen_to_conic_events): New function, to easily state when HAM
	should start or stop listening to conic events.
	(set_device_mode): Make sure HAM stops listening to conic events
	before going to offline mode and that starts listening back to
	them right after going online again.

	* src/util.h (enum device_mode): Moved from dbus.h.
	(stop_dsme_service): Removed from header.
	(get_device_mode): Added prototype.
	(set_device_mode): Added prototype.
	(maybe_kill_all_by_name): Removed from header.
	(kill_processes_for_SSU): Added prototype.

2010-01-25 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (live_search_look_for_prefix): New function to
	easily look for a given prefix among an array of tokens.
	(live_search_filter_func): For each token provided by the live
	search widget, look for a match among words in package name or
	description.

2010-01-28 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (tree_tap_and_hold_cb): New function to handle the
	'tap-and-hold' signal coming from the tree view.
	(make_global_package_list): Don't pass the menu to the function
	gtk_widget_tap_and_hold_setup and manually connect to the
	'tap-and-hold' signal instead.

2010-01-27 Mario Sanchez Prada <msanchez@igalia.com>

	* src/main.cc (update_all_get_upgradeable_packages): New function
	to get the list of upgradeable packages for the "update all"
	button, returning the OS package only in the list if present.
	(update_all_packages_flow): Call
	update_all_get_upgradeable_packages.

	* src/ham-after-boot.c (main): For the OS update, make sure the
	icon will blink after reboot by deleting user files related to its
	state.

	* statusbar/ham-updates-status-menu-item.c
	(should_force_check_for_updates): New function to check whether a
	check-for-updates should be forced (no tapped-updates file on
	disk).
	(run_service_now): Call should_force_check_for_updates to know
	whether a check-for-updates should be forced even before the next
	interval

2010-01-26 Mario Sanchez Prada <msanchez@igalia.com>

	* statusbar/ham-updates.c (ham_updates_check): Return value in the
	proper units (minutes) when gconf client failed to get the client.
	(ham_updates_get_blink_after): New function to retrieve the
	'blinking-after' value from GConf, or its default value.
	(ham_updates_maybe_force_blinking): New function to decide whether
	the blinking should be forced or not, depending on several
	factors.
	(ham_updates_check): Make sure the 'tapped-updates' and
	'seen-updates' files get removed before checking for updates if
	more time has passed since tapping the icon than the 'blink-after'
	value. Call to ham_updates_maybe_force_blinking

	* statusbar/update-notifier-conf.h (UPNO_GCONF_BLINK_AFTER): New
	define for the minimum amount of time before forcing the blinking.
	(UPNO_DEFAULT_BLINK_AFTER): Default value for
	UPNO_GCONF_BLINK_AFTER

	* src/util.cc (make_global_package_list): Made it private, as it
	will just handle common logic for the new public functions from
	now on. Added extra parameters to allow setting a button in the
	GtkTreeView's action area when needed, by just specifying the
	label and the callback when clicked.
	(make_install_apps_package_list): New function to take care of
	making packages list for the "install apps" views.
	(make_upgrade_apps_package_list): New function to take care of
	making packages list for the "update apps" view. Added extra
	parameter to tell whether the action area should be shown or not
	for the upgrade view.
	(make_uninstall_apps_package_list): New function to take care of
	making packages list for the "uninstall apps" view.

	* src/util.h: Updated prototipes and comments.

	* src/main.cc (make_install_section_view): Call to the new
	function make_install_apps_package_list instead of
	make_global_package_list.
	(make_install_applications_view): Call to the new function
	make_install_apps_package_list instead of
	make_global_package_list.
	(make_upgrade_applications_view): Call to the new function
	make_upgrade_apps_package_list instead of
	make_global_package_list. Remove calls to enable_update_all.
	(make_uninstall_applications_view): Call to the new function
	make_uninstall_apps_package_list instead of
	make_global_package_list.
	(make_search_results_view): Call to the new functions for install,
	upgrade or uninstall apps, instead of make_global_package_list.
	(set_current_view): Remove calls to enable_update_all.

	* src/menu.cc (update_all_menu_item): Removed unused menu item.
	(create_menu): Removed code adding the 'update all' button.
	(enable_update_all): Removed.

	* src/menu.h (enable_update_all): Removed.

2010-01-20 Mario Sanchez Prada <msanchez@igalia.com>

	* src/main.cc (enum package_list_state): New enumeration for
	package list states: unknown, retrieving and ready.
	(pkg_list_state): New variable of type package_list_state.
	(package_list_ready): New preprocessor macro to ease replacing the
	usage of the old package_list_ready variable in the code.
	(get_package_list_reply): Set pkg_list_state to 'ready'
	(get_package_list_with_cont): Set pkg_list_state to 'retrieving'
	(iff_end): Ensure maybe_init_packages_list is called here.
	(maybe_init_packages_list): Do the right check to know whether the
	global packages list is or not ready or being retrieved.

2010-01-19 Mario Sanchez Prada <msanchez@igalia.com>

	* src/details.cc (show_package_details): Make sure the details
	dialog gets created and properly filed both for packages in the
	apt repositories and those coming from .deb files.
	(get_notebook_width): Renamed into get_screen_width.
	(get_screen_width): New, gets the screen width instead of trying
	to figure out the realized width of the dialog or the notebook,
	which is troublesome at many points.
	(make_small_text_label): Use get_screen_width instead of
	get_notebook_width. Make sure no width is explicitly requested if
	not a valid value was got. Apply a reduction factor of 0.85 for
	the wrapping sinc the base value (screen width) now is bigger than
	before.
	(spd_with_details): Only take care of showing full details for the
	package when the filling_details parameter is set to TRUE. Don't
	ask for an specific width for the dialog, just for the height.

	* src/operations.cc (if_details_reply): Initialize flags to zero
	for packages coming from a .deb file.

	* hildon-application-manager.sh: Remove old backup file if
	outdated

2010-01-15 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker.cc: Don't use const char* for strings that may
	change.
	(ICONS_THEME_PATH): New define pointing to the root of the theme
	icons path.
	(operation): Call to utimes to 'touch' the icons theme path.

	* src/operations.cc (force_icons_theme_reload): New, send a
	GdkEvent to make sure the icons get reloaded.
	(ip_install_loop): Call to force_icons_theme_reload.

2010-01-07 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (package_info_func): Ignore package's version and
	size when settting properties for the PackageInfoCellRenderer.

	* src/package-info-cell-renderer.c (enum): Dropped
	PROP_PKG_VERSION and PROP_PKG_SIZE properties.
	(struct _PackageInfoCellRendererPrivate): Dropped pkg_version and
	pkg_size private fields.
	(package_info_cell_renderer_instance_init): Removed unused code.
	(package_info_cell_renderer_finalize): Likewise.
	(package_info_cell_renderer_class_init): Likewise.
	(package_info_cell_renderer_get_property): Likewise.
	(package_info_cell_renderer_set_property): Likewise.
	(paint_row): Removed unneeded parameters for the right layout, as
	there won't be used anymore.
	(package_info_cell_renderer_render): Updated call to paint_row and
	removed unneeded code after the changes commented above.

2009-12-18 Alejandro Piñeiro <apinheiro@igalia.com>

	* src/repo.cc (cat_icon_func): Add missing NULL check.
	(cat_text_func): Add missing NULL check.

2009-12-18 Mario Sanchez Prada <msanchez@igalia.com>

	* src/menu.cc (sort_by_name_menu_item): Removed.
	(sort_by_size_menu_item): Removed.
	(toggle_sort): Removed.
	(create_menu): Removed creation of sort-related item.
	(enable_sort): Removed.
	(show_sort_order): Removed.

	* src/menu.h (enable_sort): Removed.
	(show_sort_order): Removed.

	* src/main.cc (set_current_view): No longer call to enable_sort.

	* src/settings.cc (load_settings): Don't call to show_sort_order.
	(set_sort_settings): Likewise.

2009-11-17 Mario Sanchez Prada <msanchez@igalia.com>

	* src/operations.cc (result_code_to_message): Use the logical ID
	ai_ni_memory_shortage from HAM instead the generic one.

2009-11-06 Mario Sanchez Prada <msanchez@igalia.com>

	* src/repo.cc (add_catalogues_cont_2): Swapped branches order to
	properly check when a catalogue must be added or just enabled.

	* src/confutils.cc (dist_get_actual_string): New. Always returns a
	string for the distribution, returning the default one in case
	nothing was specified.
	(components_get_array): New. Returns a gchar** array with the list
	of components, for ease of comparison when fields are not sorted.
	(catalogue_uri_equal): New. Checks whether two uris are the same.
	(catalogue_dist_equal): New. Checks whether two dist field are
	equal.
	(catalogue_n_components): New. Returns the number of components.
	(catalogue_components_equal): New. Checks whether the same
	components are present in two catalogues, regardless of the order.
	(catalogue_equal): Use the new functions defined to better check
	when two catalogues are actually equal and not just identical.

2009-12-10 David Kedves <dkedves@blumsoft.eu>

	* src/apt-worker.cc: New function rootfs_set_compression_level
	  (cmd_install_package): Set high compression on SSU
	  (do_rescue): Doing the same ^

2009-12-08 David Kedves <dkedves@blumsoft.eu>

	* src/util.cc:
	  Adjust hildon-check-version to 2.2.5

2009-12-07 David Kedves <dkedves@blumsoft.eu>

	* src/util.cc:
	  Following a libhildon API change...

2009-11-17 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker.cc (cmd_get_package_list): Reorder checks for
	system-update flagged packages when retrieving the list.

2009-11-12 Mario Sanchez Prada <msanchez@igalia.com>

	* src/menu.cc (create_menu): Don't create the search button.
	(enable_search): Removed, no longer needed.

	* src/menu.h (enable_search): Removed, no longer needed.

	* src/main.cc (set_current_view): Remove usage of enable_search.
	(make_main_view): Likewise.
	(make_install_section_view): Likewise.
	(make_uninstall_applications_view): Likewise.
	(make_search_results_view): Likewise.

2009-11-11 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (global_tree_model_filter): New global variable to
	store the GtkTreeModelFilter used in the treeviews to allow live
	searching through the list.
	(global_row_activated): Handle the global_tree_model_filter
	variable instead of the global_list_store.
	(make_global_package_list): Added a new parameter to tell the
	function the GtkWidget referencing the window for the view whose
	treeview is being created.  Create a GtkTreeModelFilter containing
	a GtkTreeModel, and create a GtkTreeView with the filter as its
	model. Create a HildonLiveSearch widget and put it along with the
	pannable area for the treeview inside a GtkVBox widget, which
	would be returned by the function from now on after properly
	setting their visibility.
	(live_search_filter_func): New. Function to filter out the
	packages in a treeview as instructied through the new
	HildonLiveSearch widget.
	(set_global_package_list): Extract the GtkListStore widget from
	the GtkTreeModelFilter before proceeding.
	(make_global_section_list): Update visibility of the widgets.

	* src/util.h (make_global_package_list): Updated prototype.

	* src/main.cc (make_install_section_view): Pass the window for the
	view to the make_global_package_list function. Don't use
	gtk_widget_show_all for the returned view, just gtk_widget_show.
	(make_install_applications_view): Likewise.
	(make_upgrade_applications_view): Likewise.
	(make_uninstall_applications_view): Likewise.
	(make_search_results_view): Likewise.

2009-12-04 Mario Sanchez Prada <msanchez@igalia.com>

	* src/operations.cc (ip_reboot_delayed): Show the
	"ai_ni_device_restart_long" l10n id right after installation and
	before rebooting, for OS updates only.

2009-12-02 Leonid Moiseichuk <leonid.moiseichuk@nokia.com>

	* src/apt-worker.cc (is_ssu): Add NULL-checks for the package name
	and the list of ssu packages previously stored, to avoid the crash.

2009-12-02 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker-proto.h (enum apt_command): New available
	operation in the apt-worker: APTCMD_GET_FREE_SPACE.

	* src/apt-worker.cc (cmd_names): New operation name
	"GET_FREE_SPACE".
	(handle_request): Handle the new GET_FREE_SPACE request.
	(get_free_space): Moved upwards in the code.
	(cmd_get_free_space): New function to retrieve free space in "/"

	* src/apt-worker-client.cc (apt_worker_get_free_space): New
	function, to call the new APTCMD_GET_FREE_SPACE apt-worker
	command.

	* src/apt-worker-client.h: New proto for
	apt_worker_get_free_space.

	* src/operations.cc (ip_install_one_with_space_checked): New
	function to continue ip_install_one after checking free space
	available.
	(ip_install_one): Check free space through apt-worker.
	(ip_install_cur_with_space_checked): New function to continue
	ip_install_cur after checking free space available.
	(ip_install_cur): Check free space through apt-worker.

	* src/util.cc (get_free_space): Removed as from now on this would
	no longer be useful as it would be got through the apt-worker.
	(get_free_space_at_path): Removed along with get_free_space.

	* src/util.h (get_free_space): Removed.
	(get_free_space_at_path): Removed.

2009-11-29 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/apt-worker.cc (maybe_bindmount_docsfs): Log the docsfs mounts
	and umounts.
	(maybe_bindumount_docsfs): Same.
	(choose_tmpfs_for_docs): Use const for threshold and use
	an iterator for choosing the fs.
	(cmd_install_package): Use const string and don't free
	(do_rescue): Use const string and don't free
	(cmd_install_package): Fix regression.
	(is_there_enough_free_space): Verify if get_free_space
	doesn't return error.

2009-11-28 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/apt-worker.cc (is_there_enough_free_space): Use the function
	get_free_space when checking for the download mount point.
	(do_rescue): At rescue also do the docfs hack.
	(cmd_install_package): If the pkg to install is SSU do the
	docsfs hack.
	(maybe_bindmount_docsfs): New function.
	(maybe_bindumount_docsfs): New function.
	(get_free_space): New function.
	(choose_tmpfs_for_docs): New function.
	(cmd_install_package): Use the new is_ssu function to
	check whether erase the operation record.
	(is_ssu): New function to verify if the package is a SSU.
	(is_there_enough_free_space): use the f_bavail for getting
	the free space in disk. According to the man page, f_bavail is The
	total number of free blocks available to a non-privileged process,
	which seems more close to the results given by df.
	(operation): sync just before do the package
	installation.
	(is_there_enough_free_space): sync disk prior read it free
	space and log it

	* src/operations.cc (ip_kill_all_and_install_delayed): Fix the
	browserd path.

	* src/util.cc (get_free_space_at_path): use the f_bavail for getting
	the free space in disk. According to the man page, f_bavail is The
	total number of free blocks available to a non-privileged process,
	which seems more close to the results given by df.
	(get_free_space_at_path): log the free space in rootfs.


2009-11-26 Mario Sanchez Prada <msanchez@igalia.com>

	* ham-killer.sh: Removed. Now all the work done by it is done from
	HAM's code through the proper API, instead of using new processes.

	* src/operations.cc (ip_stop_hsm_and_install_delayed): Renamed to
	ip_kill_all_and_install_delayed, as this function is no longer
	used to stop h-s-m only, but to kill a bunch of processes in a
	desperate way to free resources for the SSU. Added more things to
	kill here.
	(ip_kill_all_and_install_delayed): stop alarmd service before
	starting to install an SSU package.
	(ip_warn_about_reboot_response): Don't kill nor stop any services
	here, which should be done after the downloading phase.
	(ip_install_cur): Updated name for the timeout callback.

	* src/apt-worker.cc (RESCUE_RESULT_FILE): New path for the file
	storing the result (1 or 0) of the last rescue operation.
	(do_rescue): Always write the content of RESCUE_RESULT_FILE either
	with 1 or 0 to reflect status after rescuing (success or not).

	* src/ham-after-boot.c (main): Apart from checking the UFILE_BOOT
	file, also check RESCUE_RESULT_FILE content to actually know when
	it really makes sense to show the "SSU successfully" banner or not

	* src/util.cc (run_cmd_simple): Allow passing a string with
	space-separated parameters to automatically tokenize and execute
	the full command through run_cmd.
	(set_prestarted_apps_enabled): Removed add_log().

	* debian/postinst: Remove screenshot from ~/.cache/launch

2009-11-25 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker.cc (rescue_operation_with_dir): Replaced
	"Rescuing" with "Installing".
	(rescue_operation_with_dev): Likewise.
	(rescue_operation_with_devnode): Likewise.
	(do_rescue): Likewise.
	(show_fb_text): Changed 0xF000 to 0X0000.
	(show_fb_status): Likewise.

	* src/util.cc (run_cmd_simple): New, just takes a full path to a
	command and executes it through run_cmd. No parameters allowed.
	(run_cmd_simple_cont): Tear down function for run_cmd_simple.
	(stop_dsme_service): Use run_cmd_simple_cont instead of defining
	its own tear down function, as it would share same implementation.
	(stop_dsme_service_cont): Removed.

	* ham-killer.sh: New script to make sure everything that needs to
	be killed is killed by HAM, before installing a SSU.

	* Makefile.am: Include ham-killer in distribution

	* src/operations.cc (ip_stop_hsm_and_install_delayed): Right after
	going in offline mode and before starting SSU installation, make
	sure everything is killed

2009-11-23 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker.cc (cmd_install_package): Delete the installation
	journal for successfully installations only for SSU packages.

	* src/operations.cc (ip_install_cur_reply): Always reboot the
	device if the package being installed needs it so, regardless of
	the result code, unless the user had cancelled the process on
	purpose.

2009-11-23 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/operations.cc (ip_warn_about_reboot_response): Stop the
	camera-ui and the browserd services throught dsme.
	(ip_warn_about_reboot_response): Send sighup to rtcom-messagin-ui
	before install.

	* src/apt-worker.cc (do_rescue): Honor coding style.

	* src/util.cc (set_prestarted_apps_enabled): Honor coding style.
	read_cmdline): new function.
	(find_pid_by_name): new function.
	(maybe_kill_all_by_name): new function.

	* src/util.h: export the maybe_kill_all_by_name function.

2009-11-10 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker.cc (write_available_updates_file): Check if the
	package is in broken state before writing it down to the file.

2009-11-20 Mario Sanchez Prada <msanchez@igalia.com>

	* src/repo.cc (cat_edit_response): Don't ask the pill question
	(pill_response): Removed, as no longer necessary.
	(ask_the_pill_question): Removed, as no longer necessary.

2009-11-18 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (set_prestarted_apps_enabled): New function. Allows
	enabling/disabling prestarted apps in hildon destkop.

	* src/util.h (set_prestarted_apps_enabled): New prototype.

	* src/operations.cc (ip_warn_about_reboot_response): Call the new
	function set_prestarted_apps_enabled to disable prestarted apps.
	(ip_end): Always re-enable (just in case) prestarted apps.

2009-11-13 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (close_apps): Check when the signal () function
	returned SIG_ERR, since otherwise it would return the old handler,
	which is never SIG_IGN for the first time it's called.

	* src/apt-worker.cc (HOME_MOUNTPOINT): New define for "/home"
	(cmd_download_package): Try "/home" if internal and removable
	mmc's are not available for use, before falling back to rootfs.
	(is_there_enough_free_space): Consider archives path not being
	under "/home" when checking for enough free space both for
	downloading and installation (when using rootfs for downloading,
	basically).

2009-11-12 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/util.cc (package_is_hidden): Remove the static attribute to
	the function.

	* src/util.h: Export the function package_is_hidden.

	* src/main.cc (match_pattern): This new function look up for all
	the specified search words in the package name parameter. If they
	are all the function return true; otherwise return false
	(search_package_list): Insert to the result package list those
	packages which all the search words match with the package name
	and either that package has an installed version string (this
	means that it's currently installed) and it doesn't belong to the
	hidden section. This filtering also use the new function
	match_pattern.
	(search_packages): Even it's prevented by the UI, in a precautory
	action, searches are not done in the hidden section.
	(search_packages_reply): Don't search in the current section list
	those packages what belong to the HIDDEN section or those what
	belong to ALL section and have the hidden category.

2009-11-11 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/apt-worker.cc (encode_package_repository): When the
	distribution has the form "dist/comp" and comp is NULL, the
	distribution string is splited and the distribution has the first
	substring and component the second.  Evaluate the string and if it
	is NULL print "" instead.

	* src/util.cc (set_global_package_list): Instead of missusing the
	parameter `installed` to know if the package is installed, we rely
	on the installed_version property of the package_info object. The
	explanatory comment is also fixed.

2009-11-09 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/util.cc (package_is_hidden): New function.
	(set_global_package_list): If the package is in the "user/hidden"
	section, it won't be inserted in the tree-view model.
	(make_global_section_list): Filter out the any section which
	belongs to the HIDDEN rank.

	* src/main.h (SECTION_RANK_HIDDEN): New section rank.

	* src/main.cc (make_install_applications_view): If there's only
	hidden packages to install, avoid to show an empty tree-view but
	the "no available packages" instead.
	(create_section_info): If the package belongs to the "hidden"
	section its rank is set to HIDDEN and its name to "hidden"

2009-11-04 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/apt-worker.cc (cmd_get_package_list): speed up the package
	list retrieval.

2009-11-03 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (progressbar_dialog_realized): Don't mess with
	XChangeProperty at all as no NOTIFICATION hint will be finally
	used for setting the window type.
	(start_entertaining_user): Don't set the window type hint.

2009-11-02 Mario Sanchez Prada <msanchez@igalia.com>

	* src/main.cc (reset_view): Disconnect window handlers using the
	view* struct through the user_data parameter, when such a piece of
	data would already be invalid at that time.

2009-10-30 Mario Sanchez Prada <msanchez@igalia.com>

	* src/main.cc (set_current_view): Explicitly call to
	allow_updating() and prevent_updating() before changing to a view,
	as needed.

2009-10-23 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/util.cc (progressbar_dialog_realized): Set the
	HILDON_NOTIFICATION_TYPE in the X properties.
	(start_entertaining_user): set the
	GDK_WINDOW_TYPE_HINT_NOTIFICATION type; reorder the pack
	parameters and hide the dialog's action area if it's not needed.
	(select_package_list_with_info): dialogue now uses 350px of
	high. Store the restore label in small font and
	wrapped (NB#144042)

2009-10-22 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/repo.cc (show_cat_edit_dialog): Use our
	hildon_pannable_area_set_size_request_children instead of the
	deprecated HILDON_SIZE_REQUEST_CHILDEN.

	* src/util.cc (make_scare_user_with_legalese): same here.

2009-10-22 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/util.cc (pannable_area_size_request): new function
	(hildon_pannable_area_set_size_request_children): new function

	* src/util.h: exported
	hildon_pannable_area_set_size_request_children function.

2009-10-22 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/util.cc: moved out already included headers in util.h
	* src/util.h: include hildon header

2009-10-21 Mario Sanchez Prada <msanchez@igalia.com>

	* src/repo.cc (struct cat_dialog_closure): New variables to allow
	handling when the failing catalogues dialog should be
	automatically closed (no more failing catalogues present).
	(cat_edit_response): Emit 'response' signal for the main dialog
	when needed. Refactorized some code.
	(set_cat_list): Set proper value for flag has_failing_catalogues.
	(cat_response): Unref dialog, whose reference was previously
	saved.
	(show_catalogue_dialog): Initialize flag has_failing_catalogues to
	false and save a reference to the dialog inside the closure.

2009-10-21 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/apt-worker.cc (catalogue_name): new function.
	(find_catalogue_by_info): use catalogue_name to extract the
	localized name.
	(encode_package_repository): don't use the ArchivoInfo string as
	output because it contains the package name.  Instead craft one.

2009-10-19 Mario Sanchez Prada <msanchez@igalia.com>

	* src/main.cc (make_upgrade_applications_view): Check
	upgradeable_packages list when calling to enable_update_all()

2009-10-28 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker-client.cc (APT_WORKER_CMD_DEFAULT): New define
	for the default fallback to be used as the apt-worker command.
	(set_apt_worker_cmd): New function to tell the which command will
	be used to launch the apt-worker.
	(start_apt_worker): Converted to a private function and removed
	parameter to tell which command to use as the apt-worker. From now
	on it will use that one set with set_apt_worker_cmd or the default
	one.
	(cancel_download): Moved from main.cc, needed for
	apt_status_callback.
	(apt_status_callback): Moved from main.cc, needed for the initial
	start up of the apt-worker, now done from this file itself.
	(maybe_start_apt_worker): New function to start the apt-worker if
	and only if it was not previously started.
	(call_apt_worker): Always call to maybe_start_apt_worker to ensure
	it was started before communicating with it.

	* src/apt-worker-client.h (set_apt_worker_cmd): Public
	declaration.
	(maybe_start_apt_worker): Public declaration.

	* src/main.cc (cancel_download): Moved to apt-worker-client.cc.
	(apt_status_callback): Moved to apt-worker-client.cc.
	(maybe_init_packages_list): New function to initialize, for the
	very first time, the list of packages as retrieved from the
	apt-worker. Such a list will be retrieved once per execution of
	HAM.
	(main): Don't retrieve the package list always, just call to
	maybe_init_packages_list when the --no-show parameter was not
	set. Call to set_apt_worker_cmd when needed and don't start up
	apt-worker before entering the main look with gtk_main.

	* src/main.h (maybe_init_packages_list): Public declaration.

	* src/dbus.cc (dbus_top_application): New function to handle the
	"top_application" D-Bus message.
	(dbus_show_check_for_updates_view): New function to handle the
	"dbus_show_check_for_updates_view" D-Bus message.
	(dbus_showing_check_for_updates_view): New function to handle the
	"dbus_showing_check_for_updates_view" D-Bus message.
	(dbus_check_for_updates): New function to handle the
	"dbus_check_for_updates" D-Bus message.
	(dbus_handler): Use the new functions above to handle every D-Bus
	message when they arrive, instead of having all the code for each
	of them directly in the "if" branches.
	(dbus_install_packages): Call maybe_init_packages_list before
	installing any package, to make sure everything will work.
	(dbus_install_file): Call maybe_init_packages_list before
	installing any file, as in dbus_install_packages.
	(dbus_search_packages): If the search pattern is ok, call to
	maybe_init_packages_list before performing the search.

2009-10-22 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (make_global_section_list): Set the 'vovershoot-max'
	property for the pannable area to '0' (no bouncing).

2009-10-21 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (ICONS_GRID_ITEM_WIDTH): New define to specify the
	desired width for every cell in the GtkIconView icons grid.
	(make_my_icon_view): Use HILDON_MARGIN_DOUBLE (instead of TRIPLE)
	to space columns in the grid and specify a fixed width for all of
	them. Use ICONS_GRID_ITEM_WIDTH also to set wrap-width property
	for the text cell renderer.

2009-10-16 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (pixbuf_from_si): Removed comment which must belong
	to a previous version of the code, as there's nothing about a
	"programming" category right now in this function.
	(make_global_section_list): Don't use g_object_ref_sink as
	GtkListStore is not a subclass of GInitiallyUnowned, hence calling
	to this function would add an additional (wrong) reference to the
	model, as if g_object_ref was used, instead of sinking a floating
	reference, which does not exist for these kind of objects.

2009-10-14 Gabriel Schulhof <nix@idefix.go-nix.ca>

	* debian/changelog: Document changes

	* src/main.cc (section_info::section_info): Initialize
	untranslated_name to NULL
	(create_section_info): Save the untranslated_name separately in
	the section_info structure.

	* src/main.h (section_info): Add new member untranslated_name to
	track the package's canonical name.

	* src/util.cc (icon_view_item_activated): New function to replace
	clicking on section button.
	(icon_view_is_dying): Weak reference for unrefing the icon view's
	model and the section_info structures stored therein.
	(set_text_cr_style): Keep icon view labels sized
	"SmallSystemFont".
	(make_my_icon_view): Create the icon view.
	(pixbuf_from_si): Logic for deciding which pixbuf to associate
	with a given section
	(make_global_section_list): Replace the contents of the
	HildonPannableArea with the newly created icon view. The
	GtkAlignment with the magic paddings is no longer necessary. In
	fact, it must be absent, or it compresses the HildonPannableArea
	to the point where a horizontal indicator can be seen during
	panning.

2009-10-13 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/dbus.cc (dbus_search_packages)
	(dsp_with_initialized_packages): new functions.
	(dbus_handler): add the handler for the new command.

	* src/main.cc (show_install_applications_view): new function.

	* src/main.h: export show_install_applications_view.

2009-10-02 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (create_section_info): Avoid call
	canonicalize_section_name twice.
	* src/main.cc (nicify_section_name): If the package is in "user/other"
	it will belong to that rank too (NB#141426)
	* src/apt-worker.cc (is_hidden_package): New function.
	(cmd_get_package_list): skip uninstalled packages in the
	user/hidden section. (NB#141792)

2009-09-30 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (global_row_activated): Save global_target_path whenever
	the user starts to process a package (tap on it).
	(make_global_package_list): Restore treeview position if needed.
	* src/main.cc (show_view): Reset globally stored GtkTreePath when
	changing among views, to ensure no weird effects ever
	happen. (NB#137942)
	* src/util.cc (global_have_last_selection): Removed.
	(global_last_selection): Removed.
	(global_selection_changed): Removed.
	(make_global_package_list): Don't connect the 'changed' signal on
	the tree view, as that won't happen anymore with the
	pannable. Removed code to force scrolling to a given position in the
	treeview based  in the previously stored GtkTreePath.
	(set_global_package_list): Don't reset global_have_last_selection.

2009-09-29 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (install_operation_callback): Removed unused function.
	* utils/maemo-confirm-text-user.c (add_pkgname_in_title): New function.
	(main): concatenate the installed/updated package name if it exists as
	a environment variable. (NB#140370)
	* src/apt-worker.cc (set_pkgname_envvar): New function.
	(unset_pkgname_envvar): New function.
	(cmd_install_package): Set the environament variable with the package
	name when the package is going to be installed. And unset it
	afterwards.

2009-09-28 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (show_upgrade_applications_view_and_refresh_callback):
	Don't set the package_list_ready flag to false keeping its
	outside-defined value.
	* src/util.cc (get_topmost_window): Return the main window if the top
	window is the progress dialog. (NB#140765)

2009-09-25 Mario Sanchez Prada <msanchez@igalia.com>

	* statusbar/ham-updates-status-menu-item.c
	(struct _HamUpdatesStatusMenuItemPrivate): New field 'display_state'
	to store the display state across all its potential changes.
	(ham_updates_status_menu_item_init): Initialize display_state.
	(ham_updates_status_menu_display_event_cb): Update display_state.
	(blink_icon_on): Do nothing if the screen is off. (NB#136492)
	* src/instr.cc (execute_install_package): Use g_strstrip () to remove
	leading/trailing blanks in package name coming from a .install
	file. (NB#140761)

2009-09-25 David Kedves <dkedves@blumsoft.eu>

	* src/apt-worker.cc (do_rescue): mount the /home partition and umount
	it after the rescue operation finish.

2009-09-24 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.c (show_view): remove set_operation_label and
	set_operation_callback functions call
	(available_package_selected): remove set_operation_callback and
	set_operation_callback functions call
	(uninstall_operation_callback): removed callback
	(installed_package_selected): remove set_operation_callback,
	set_operation_callback and set_operation_label functions call
	(make_install_section_view): remove set_operation_label function call
	(make_install_applications_view): remove set_operation_label function
	call
	(make_upgrade_applications_view): remove set_operation_label function
	call
	(make_uninstall_applications_view): remove set_operation_label
	function call
	(make_search_results_view): remove set_operation_label function call
	(do_current_operation): remove function
	(set_operation_label): remove function
	(set_operation_callback): remove function
	* src/main.h: remove do_current_operation symbol export
	* src/repo.cc (add_catalogues_cont_2): Remove the file and id tags
	from the catalogue and add the catalogue only if the descriptions
	contains an url tag.

2009-09-22 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/instr.cc (convert_catalogue): if no uri is provided, test id and
	file keys.

2009-09-18 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (start_entertaining_user): Set PANGO_ELLIPSIZE_END
	ellipsize mode for the progress bar. (NB#139600)

2009-09-24 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (window_delete_event): Added the screenshot
	operation.

2009-09-24 Mario Sanchez Prada <msanchez@igalia.com>

	* src/details.cc (spd_third_party_policy_check): Check that the
	spd_clos closure is valid before doing anything else.
	(spd_third_party_policy_check_reply): Check spd_clos closure is
	valid before calling to spd_get_details_data.
	(get_notebook_width): Just retrieve this
	information once, asuming the notebook width will never change
	across HAM execution (no goint to portrait mode supported, for
	instance).

2009-09-22 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (main_view_screenshot_cb): New function.
	(main): connect the map event to the callback.

	* src/util.cc (screenshot_already_exists): New function.
	(maybe_take_screenshot): New function.

	* src/util.h: export maybe_take_screenshot function.

2009-09-22 Mario Sanchez Prada <msanchez@igalia.com>

	* src/confutils.cc (uri_remove_trailing_slashes): New. Removes
	trailing "/" from uris to improve further comparisons.
	(catalogue_equal): Use uri_remove_trailing_slashes before
	comparing URIs to avoid fake false results.
	(catalogue_equal): Properly compare catalogues regardless both of
	them being package or user catalogues.

2009-09-18 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/apt-worker-client.cc (start_apt_worker): Use the new util
	function running_in_scratchbox.

	* src/settings.cc (load_settings): assume_connection is always
	true in scratchbox (NB#139728).

	* src/util.cc (get_topmost_window): New function.
	(refresh_updating_banner): Use get_tompmost_window.
	(running_in_scratchbox): New function.

	* src/util.h: export running_in_scratchbox function.

2009-09-17 Mario Sanchez Prada <msanchez@igalia.com>

	* src/main.cc (nicify_section_name): Always look first for
	translations coming from Nokia, then from the community files.

	* src/details.cc (make_small_text_label): Use 90% of notebook
	width to explicitly set width for the GtkLabel with wrapping
	activated.
	(get_notebook_width): New function to get the notebook width.
	(spd_with_details): Don't insert an empty vbox
	and then replace it. Just insert the right thing since the
	beginning.

2009-09-22 David Kedves <dkedves@blumsoft.eu>

	* ham-rescue.sh: wait for dsme before starting the rescue proces

2009-09-16 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (sort_all_packages): Show the view content.
	(show_upgrade_applications_view_and_refresh_callback): set to
	false the package_list_read flag.
	(make_install_section_view): Show the view content only if the
	package list is already retrieved.
	(make_install_applications_view): Show the view content only if
	the package list is already retrieved. Remove the label parameter
	in function call.
	(make_upgrade_applications_view): Show the view content only if
	the package list is already retrieved.
	(make_uninstall_applications_view): Show the view content only if
	the package list is already retrieved.

	* src/util.h: Remove the label parameter to show_updating
	function.

	* src/util.cc (make_global_package_list): align in the middle of
	the window the empty list message.
	(make_global_section_list): align in the middle of the window the
	empty list message.
	(refresh_updating_banner): remove the use of HildonBanner and use
	the hildon_gtk_window_set_progress_indicator.
	(show_updating): Remove the label parameter.

2009-09-16 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (entertainment_focus_in_event_cb): New. Take care of
	update entertainment progress whenever focus is got.
	(entertainment_focus_out_event_cb): New. Stop entertainment
	activity whenever focus is lost in a non topmost dialog
	(start_entertaining_user): Connect signals 'focus-out-event' and
	'focus-in-event' for entertainment.dialog.

	* src/util.h, src/util.cc (is_topmost_dialog): New. Allow knowing
	whether a dialog is on top of the stack or not.

2009-09-14 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/repo.cc (add_entry): Do not turn off "can-focus" property
	for entry widget.

2009-09-14 Mario Sanchez Prada <msanchez@igalia.com>

	* catpo/da_DK.po: Updated 'education' and 'network'.

	* catpo/de_DE.po: Updated 'education', 'development' and
	'network'.

	* catpo/en_GB.po: Updated 'education'.

	* catpo/en_US.po: Updated 'education'.

	* catpo/es_ES.po: Updated 'education' and 'network'.

	* catpo/es_MX.po: Updated 'education' and 'network'.

	* catpo/fi_FI.po: Updated 'education' and 'network'.

	* catpo/fr_FR.po: Updated 'education' and 'network'.

	* catpo/fr_CA.po: Updated 'network'.

	* catpo/it_IT.po: Updated 'education' and 'network'.

	* catpo/nl_NL.po: Updated 'development' and 'network'.

	* catpo/no_NO.po: Updated 'education', 'development' and
	'network'.

	* catpo/pt_PT.po: Updated 'education', 'development' and
	'network'.

	* catpo/ru_RU.po: Updated 'network'.

	* catpo/sv_SE.po: Updated 'network'.

2009-05-27 Marius Vollmer <marius.vollmer@nokia.com>

	* src/main.cc (nicify_section_name): Let official category
	translations override the community ones.

2009-09-08 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (package_selected_toggled_callback): Removed, as the
	'toggled' signal is no longer being handled.
	(package_selected_activated_callback): New. Handle the
	'row-activated' signal from the treeview.
	(select_package_list_with_info): Connect the 'row-activated'
	signal for the treeview, instead of the 'toggled' one for one cell
	renderer. Set PANGO_ELLIPSIZE_END attribute for the package name's
	text renderer.

2009-09-07 Mario Sanchez Prada <msanchez@igalia.com>

	* src/repo.cc (cat_text_func): Care about the disabled/enabled
	status of the catalogue to set it dimmed or not, instead of
	checking whether it's a user editable catalogue.

2009-09-01 Mario Sanchez Prada <msanchez@igalia.com>

	* src/details.cc (has_long_description): New. Determines whether a
	package has a long description (more than one line of text).
	(spd_with_details): Create the 'Description' notebook tab only
	when there's something to show there. Thus, delay its creation and
	insertion in the notebook until the needed info is retrieved.

2009-08-28 Mario Sanchez Prada <msanchez@igalia.com>

	* src/confutils.cc (catalogue_equal): Consider also package
	catalogues in the comparison, to be able to restore user
	preferences about the '<disabled>' (set/unset) tag for those kind
	of catalogues.

2009-09-09 Mario Sanchez Prada <msanchez@igalia.com>

	* src/dbus.h (enum device_mode): New possible value to keep track
	situations when the device mode is still not known.

	* src/dbus.cc (set_device_mode): Use a blocking dbus message for
	setting the device mode as we must be sure the message was
	properly handled before continuing with anything else.

	* src/operations.cc (install_packages): Initialize device mode.
	(ip_install_loop): Ensure the device mode is restored, if needed,
	whenever an additional package is going to be installed.
	(ip_maybe_offline_device_mode): Removed.
	(ip_set_device_mode): Sets the device in the mode specified, but
	storing first current state inside the ip_clos structure.
	(ip_maybe_restore_device_mode): Don't do anything if the device
	mode is not known, to protect against several calls to this
	function without calling ip_set_device_mode() first.
	(ip_install_cur): Removed call to ip_maybe_offline_device_mode and
	added call to ip_set_device_mode to set offline mode (SSU only).
	(ip_install_cur_reply): Don't call ip_maybe_restore_device_mode.
	(ip_end) Ensure the device mode is restored, if needed, whenever
	the installation of a package has finished.
	(ip_reboot_delayed): Ensure the device mode is restored, if
	needed, right before rebooting.
	(ip_stop_hsm_and_install_delayed): New GSource func to stop
	hildon-status-menu and continue installing the package.
	(ip_install_cur): For SSU packages, call the new function above
	after some small delay (3 secs), to avoid problems with previous
	statement to set device in offline mode. If not a SSU package,
	just continue installing it as usual.

2009-09-03 Mario Sanchez Prada <msanchez@igalia.com>

	* src/operations.cc (struct ipecs_clos): New. Closure for passing
	data among ip_execute_checkrm_script and
	ip_execute_checkrm_script_cont.
	(ip_execute_checkrm_script_done): New. Continuation function to
	properly free the argv array after running run_cmd.
	(ip_execute_checkrm_script): Put cont and data inside the new
	closure and call run_cmd passing it along with the new
	continuation function ip_execute_checkrm_script_done.

	* src/util.cc (struct rc_closure): Removed unused field argv.
	(reap_process): Do not free here the argv array of strings,
	neither check for cont != NULL as that's not going to happen
	anymore.
	(run_cmd): Don't check for cont != NULL. Removed use of the argv
	field from struct rc_closure (removed).
	(stop_dsme_service_cont): New. Continuation function for
	stop_dsme_service, responsible of freeing the argv array.
	(stop_dsme_service): Pass proper cont and data to run_cmd.

2009-09-01 Mario Sanchez Prada <msanchez@igalia.com>

	* src/user_files.h (UFILE_UPDATE_NOTIFIER): Neither this macro nor
	the string it defines is used in the code. Hence, removing.

2009-08-31 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (struct rc_closure): Added a new field to allow
	properly freeing the argv char** array after running a command
	with run_cmd.
	(reap_process): Free the array of parameters (argv) and execute
	the continuation if, and only if, a non-NULL function was set.
	(run_cmd): Execute the continuation if a non-NULL function was
	set. Also, save a reference to argv in the rc_closure struct.
	(stop_dsme_service): Neither specify a continuation function nor
	pass the argv param as 'data'. Not needed from now on.
	(stop_dsme_service_cont): Removed. It's useless from now on.

	* src/operations.cc (ip_execute_checkrm_script): Do not free argv
	here, it will be freed after returning from the asynchronous
	execution of the command (Fixes memory leak).

2009-08-29 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/operations.cc (ip_warn_about_reboot_response): if the
	package to install is a SSU then ask for stopping the h-s-m
	service.  * src/util.cc (stop_dsme_service_cont): new function.
	(stop_dsme_service): new function.  * src/util.h: add the
	stop_dsme_service function export

2009-08-27 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (device_label): global variable removed.
	(get_device_label): function removed.
	* src/main.h (get_device_label): remove function export.
	* src/dbus.cc (set_bt_name_from_message): remove get_device_label
	usage.

2009-08-27 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* hildon-fancy-button.c (hildon_fancy_button_init): Hook up
	expose-event using g_signal_connect, not g_signal_connect_after.

2009-08-26 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/repo.cc (add_entry): Set no separator character in the
	caption widget (NB#133999)

2009-08-26 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/apt-worker.cc (is_ssu_dependency): Removed unused variables.

2009-08-26 Gabriel Schulhof <nix@idefix.go-nix.ca>

	* main.cc (expose_main_view): Remove this function
	(make_main_view): Do not hook up to expose-event via
	expose_main_view.  Use new #define-ed widget name instead of
	string literal.  The GtkHBox containing the fancy buttons needs no
	spacing.  Modify the icon names for the fancy buttons, and fix
	their width to HILDON_FANCY_BUTTON_WIDTH.
	(main): Hook up to GtkSetting's "notify" signal to catch theme
	changes, calling gtk_rc_parse_string to refresh the window
	background.

2009-08-26 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/repo.cc (show_cat_edit_dialog): Use the specified logical
	string for catalogue details (NB#133999)

2009-08-26 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker.cc (cmd_clean): Call to sync() after clearing the
	cache to force the FS to tell the truth regarding to free space.

2009-08-24 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/util.cc (make_global_package_list): Set the widget aligment
	to the top so the updating banner would hide it.
	(make_global_section_list): Set the widget aligment to the top so
	the updating banner would hide it.

2009-08-24 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/util.cc (make_global_section_list): Use the font and size
	specified in the Master Layout Guide (section 6.1) for empty list
	message (NB#128014)

2009-08-24 Mario Sanchez Prada <msanchez@igalia.com>

	* ham-clean.sh: Explicitly remove every file under
	/home/user/.hildon.application-manager when clearing the device.

2009-08-21 Mario Sanchez Prada <msanchez@igalia.com>

	* utils/maemo-confirm-text-user.c (make_small_text_view): Set
	GTK_POLICY_NEVER for horizontal scrollbars and wrap mode on.

2009-08-19 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/main.cc (make_main_view): Use new HildonFancyButton and
	change layout a bit.
	* src/hildon-fancy-button.c: Implement HildonFancyButton
	* src/hildon-fancy-button.h: Header for HildonFancyButton

2009-08-19 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* util.cc (make_global_section_list): Wrap the scroller in a
	GtkAlignment with proper paddings.

2009-08-19 Mario Sanchez Prada <msanchez@igalia.com>

	* src/hildon-application-manager-util: New operation to clear user
	catalogues and update APT sources: 'clear-user-catalogues' *
	hildon-application-manager.sudoers: Include newly needed command
	hildon-application-manager-util clear-user-catalogues
	* ham-clean.sh: New script calling with 'sudo' to
	hildon-application-manager-util clear-user-catalogues
	* Makefile.am: Include ham-clean.sh in EXTRA_DIST and put it under
	/etc/osso-cud-scripts when installing HAM

2009-08-18 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/operations.cc (struct one_ip_clos): new structure.
	(one_install_package_end): new function
	(install_package): Create a continuation and a closure in order to
	avoid a memory leak (NB#130724)

2009-08-18 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker.cc (is_ssu_dependency): Do not return false for
	every dependency in the 'user' section and check it as any other
	one.

2009-08-18 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker.cc (cmd_third_party_policy_check): Do not check
	ignore non user packages. Remove unused variable verdpkg

2009-08-17 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (get_package_list_reply): Check whether the current
	view is the main one to pass the right value to
	sort_all_packages().
	(update_seen_updates_file): Use the available package's pretty
	name if it's available (NB#132436)
	* src/apt-worker.cc (write_available_updates_file): Use the
	package's pretty name if it's available. (NB#132436)

2009-08-25 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (show_upgrade_applications_view_callback): Function
	renamed.
	(make_main_view): Use the new function name.

2009-08-25 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (show_upgrade_applications_view): new function.
	(make_main_view): use show_upgrade_applications_view callback.
	(make_upgrade_applications_view): remove the refresh package cache
	flow.

2009-08-21 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (make_upgrade_applications_view): always run the
	refresh package cache flow.

2009-08-13 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* statusbar/ham-notifier.c (ham_notifier_finalize): Remove gobject
	dependant code.
	(ham_notifier_class_init): Function removed.
	(ham_notifier_dialog_response_cb): Change signal emit for simple
	callback.
	(ham_notifier_new): New function.
	(ham_notifier_free): New function.
	* statusbar/ham-notifier-status-menu-item.c
	(ham_notifier_status_menu_item_finalize):  Remove gobject dependant
	code.
	(ham_notifier_status_menu_item_response_cb): Use gpointer instead
	object type as parameter.
	(build_status_menu_button): Remove gobject dependant code.
	* statusbar/ham-updates.c (ham_updates_finalize): Remove gobject
	dependant code.
	(ham_updates_class_init): Function removed.
	(ham_updates_dialog_response_cb): Change signal emit for a simple
	callback.
	(ham_updates_button_clicked_cb): Remove gobject dependant code.
	(ham_updates_check_done_cb): Change signal emit for a simple
	callback.
	(ham_updates_new): New function.
	(ham_updates_free): New function.
	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_finalize): Remove gobject dependant
	code.
	(ham_updates_status_menu_item_check_done_cb): Use gpointer instead
	object type as parameter.
	(ham_updates_status_menu_item_response_cb): Use gpointer instead
	object type as parameter.
	(build_status_menu_button): Remove gobject dependant code.

2009-08-12 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/ham-long-label.c, src/ham-long-label.h: Removed files.
	* src/repo.cc (show_catalogue_dialog): Use
	gtk_widget_set_size_request() rather than gtk_widget_set_usize ()
	* src/search.cc (show_search_dialog_flow): Same here
	* src/settings.cc (show_settings_dialog_flow): And here
	* src/util.cc (select_package_list_with_info): Here too
	* utils/maemo-confirm-text-user.c (main): And here
	* src/util.cc (make_global_package_list): Use the font and size
	specified in the Master Layout Guide (section 6.1) for empty list
	message. (NB#128014)
	* src/util.cc: Use the official header for hildon.
	* src/main.cc (expose_main_view): Apply the triple margin to the
	background image (NB#131472)
	* src/apt-worker.cc: Update the partition order to seek for packages
	(NB#132591)
	* statusbar/ham-notifier.c: changed the HAM_NOTIFIER_BUTTON_ICON_NAME
	to the new one specified in the spec (NB#132591)
	* statusbar/ham-updates.c: changed the HAM_UPDATES_BUTTON_ICON_NAME to
	the new one specified in the spec. (NB#132591)

2009-08-12 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/main.cc (make_button_layout): New function.
	(make_main_view): Remove code creating GtkTable widgets and use
	make_button_layout to create the two layouts. Remove device name
	ellipsization and use "SmallEmpSystemFont" on the labels instead of
	"SmallSystemFont"

2009-08-06 Soini Mox <ext-mox.soini@nokia.com>

	* src/log.cc (log_response): Use portable function to get user special
	directories. (NB#131733)

2009-08-05 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/apt-worker.cc (cmd_third_party_policy_check): Conflictive SSU
	dependencies should not be NoOp.

2009-08-05 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/apt-worker.cc (ssu_packages_free): New function.
	(ssu_packages_set): New function.
	(cmd_get_package_list): Use the new functions.

2009-08-05 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker.cc (ssu_packages_needs_refresh): New. Global flag to
	control when refreshing the ssu_packages GArray would be required.
	(cmd_get_package_list): Check the ssu_packages_needs_refresh flag.
	(cmd_check_updates): Set the ssu_packages_needs_refresh flag to true
	when either the update process was successful or partially successful.
	* src/apt-worker.cc (ssu_packages): New. GArray replacing for the
	former gchar *ssu_package_name global variable.
	(cmd_get_package_list): Build a list of SSU packages and save their
	names into the global GArray ssu_packages.
	(is_ssu_dependency): Check all the elements in ssu_packages.

2009-08-04 Mario Sanchez Prada <msanchez@igalia.com>

	* src/details.cc (show_package_details): get_package_info to continue
	with spd_third_party_policy_check instead of spd_get_details.
	(spd_third_party_policy_check): New. Checks pi->third_party_policy
	and calls to check_third_party_policy if still an unknown value.
	(spd_third_party_policy_check_reply): Handles resply from
	check_third_party_policy.
	(spd_get_details): Params list simplified as possible.

2009-08-03 Mario Sanchez Prada <msanchez@igalia.com>

	* src/details.cc (is_installable): Mind the red pill option
	to ignore the third package policy when red pill mode is on.
	* src/operations.cc (ip_third_party_policy_check): Do not check the
	third party policy if the red pill mode option is set.
	* src/settings.h (red_pill_ignore_thirdparty_policy): Export this
	value out of settings.cc.
	* src/apt-worker.cc (flag_ignore_thirdparty_policy): Removed.
	(set_options): Removed usage of flag_ignore_thirdparty_policy.
	* src/settings.cc (backend_options): Do not encode as a 'backend
	option' the value of red_pill_ignore_thirdparty_policy.
	* src/apt-worker-proto.h (enum apt_proto_able_status): Removed
	status_incompatible_thirdparty from this enumeration.
	* src/apt-worker.cc (package_policy_status): Removed. This code will
	be used from now on from cmd_third_party_policy_check.
	(cmd_get_package_info): Removed usage of package_policy_status.
	(is_ssu_dependency): New. Check if the SSU package (if found)
	depends on a given package, by checking its reverse dependencies.
	(cmd_third_party_policy_check): Actual implementation based on the
	old package_policy_status and the new is_ssu_dependency functions.
	* src/main.cc (struct ctpp_closure): New.
	(check_third_party_policy): New. It actually checks the third party
	policy by calling to apt_worker_third_party_policy_check.
	(ctpp_reply): Handles the reply from apt-worker.
	* src/operations.cc (installable_status_to_message): No longer
	consider status_incompatible_thirdparty for printing a message.
	(ip_third_party_policy_check): New. Check the third party policy for
	a given package through check_third_party_policy, if needed.
	(ip_third_party_policy_check_reply): New. Handles the reply from
	check_third_party_policy. Abort and show a message if needed.
	(ip_get_info_for_install): Delegate in ip_third_party_policy_check
	instead of in ip_with_new_info after executing get_package_info.
	(ip_with_new_info): Changed prototype as the boolean 'changed'
	parameter is no longer needed here.
	* src/main.h, src/main.cc (third_party_policy): New attribute for
	every package, telling about the status (if known) of the third party
	policy with regard to that package.
	* src/main.cc (package_info): Initialize third_party_policy to the
	default third_party_unknown value.
	* src/details.cc (is_installable): New. Checks both installable_status
	and third_party_policy to determine whether a package is installable.
	(decode_summary): Use new static function is_installable() here.
	(spd_update_common_page): Likewise.
	(spd_create_summary_page): Likewise.
	(spd_get_summary_label): Likewise.
	* src/apt-worker.cc (ssu_package_name): New global variable to save
	the name of the SSU package after having looked for it.
	(cmd_get_package_list): Save the name of the SSU package, when found
	out, in the ssu_package_name global variable.
	* src/apt-worker-client.h, src/apt-worker-client.h
	(apt_worker_third_party_policy_check): New client function for the
	new APTCMD_THIRD_PARTY_POLICY_CHECK operation in the apt-worker.
	* src/apt-worker.cc (cmd_names): Added "THIRD_PARTY_POLICY_CHECK".
	(cmd_third_party_policy_check): Dummy implementation which always
	returns the same value for any package: third_party_compatible.
	(handle_request): Call cmd_third_party_policy_check() when needed.
	* src/apt-worker-proto.h (enum apt_command): Added new command to the
	enumeration: APTCMD_THIRD_PARTY_POLICY_CHECK.
	(enum third_party_policy_status): New. Describes possible states of
	the third party policy for a given package.

2009-08-04 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (make_upgrade_applications_view): Enable the update all
	button when the package list is ready. (NB#129995)
	* src/main.cc (show_check_for_updates_view): Remove the previous
	windows in the stack when requesting a check for updates view.
	* src/operations.cc (up_remove_with_info): Show a generic error
	message in case of a system upgrade removal request.
	* src/main.cc (installed_package_activated): Show details dialog when
	tapped on the system update package. (NB#129689)

2009-08-03 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/details.cc (spd_create_common_page): Set the scroll policy and
	movement mode in the pannable area displaing the summary information
	in the details widget. (NB#130725)
	* src/details.cc (spd_with_details): Move out the calculation of the
	showing details boolean parameter, because it is independent of the
	filling details paramater.

2009-07-28 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/apt-worker.cc (find_archive_uri_for_pkgfile): Removed function.
	(find_catalogue_by_info): New function
	(encode_package_repository): Enhance the catalogue uri to repository
	name translation.

2009-07-27 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/details.cc (spd_create_common_page): removed the 'update' banner
	logic and added a outer box container.
	(spd_update_common_page): taked out the 'update' banner logic.
	(spd_with_details): the showing details boolean is only evaluated if
	the dialogue is filling the details. The broken SSU boolean is only
	evaluated if the dialog is showing the details. Removed all the ssu
	logic if the dialogue is not filling details. Bring in the 'update'
	banner logic. Remove an unused tab if broken SSU.

2009-07-27 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/apt-worker.cc (cmd_get_package_details): Encode the repository
	value to null if package is not found.

2009-07-27 David Kedves <dkedves@blumsoft.eu>

	* src/apt-worker.cc (do_rescue): properly handle rescue_with_all_devs ()
	and rescue_with_all_devnodes () result codes.

2009-07-24 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (size_string_general): use right value (in kB).
	(size_string_datailed): use right value (in kB).
	
2009-07-22 Marius Vollmer <marius.vollmer@nokia.com>

	* Fix on ru_RU translation. (NB#127985)
	
2009-07-21 Mario Sanchez Prada <msanchez@igalia.com>

	* src/apt-worker.cc (find_catalogue_for_pkgfile): only add the output
	of pfi.Archive() and pfi.Component() to the custom string
	built, along with the catalogue's URI, when they contain valid
	values. (NB#126236)

2009-07-20 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/util.cc (get_conic_proxy): Remove the incomplete proxy
	autoconfig support.

2009-07-20 Mario Sanchez Prada <msanchez@igalia.com>

	* src/util.cc (get_gconf_https_proxy): function renamed.
	(get_conic_proxy): new function.
	(get_http_proxy): use the new function.
	(get_https_proxy): use the new fucntion.
	* src/util.cc (get_gconf_http_proxy): new function.
	(get_http_proxy): Only use gconf directly if there's no connection
	object available (libconic).
	* src/apt-worker.cc (cmd_set_env): unset the proxy environment
	variables if it isn't received. This makes possible to get "instant
	effects". 
	* statusbar/ham-updates-status-menu-item.c (get_http_proxy): Check the
	proxy mode. (NB#128216)

2009-07-20 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* statusbar/ham-notifier.c (notifications_status): Fixed the
	notification state calculation (NB#128519)

2009-07-17 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* statusbar/ham-updates.c: changed the icon size to 48 pixels.
	(ham_updates_button_set_icon): set the icon position to left.
	(ham_updates_build_button): cet the with to auto and set the button
	alignment. (NB#127774)
	* statusbar/ham-notifier.c: changed the icon size to 48 pixels.
	(ham_notifier_button_set_icon): set the icon position to left.
	(ham_notifier_build_button): cet the with to auto and set the button
	alignment.

2009-07-15 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* utils/maemo-confirm-text-user.c (make_small_text_view): update the
	cast type.
	* statusbar/Makefile.am: Use the -export-symbols parameter for libtool
	* statusbar/ham-notifier-status-menu-item.sym,
	statusbar/ham-updates-status-menu-item.sym: New files

2009-07-14 David Kedves <dkedves@blumsoft.eu>

	* Makefile.am: Removed the inittab command adding and remove
	deprecated ones. 
	* Makefile.am: Installs the ham-rescue.sh script.
	* ham-rescue.sh: New file.

2009-07-14 David Kedves <dkedves@blumsoft.eu>

	* src/log.cc (save_log): Setting the log dialogue as deletable.
	(log_response): Setting the log dialogue as non-deletable when the save
	response is received. Process the delete/close event if the log
	dialogue is deletable.
	(log_dialog_delete): New function.
	(show_log_dialog_flow): Removed the use of gtk_dialog_run () and use
	the async callback for handling the dialogue.

2009-07-03 David Kedves <dkedves@blumsoft.eu>

	* src/log.cc (show_log_dialog_flow): Use gtk_widget_set_size_request()
	rather than the depracated gtk_widget_set_usize()

2009-07-02 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* statusbar/ham-updates.c (ham_updates_button_clicked_cb): Make the
	continue button the last button according to the spec.
	* statusbar/ham-notifier.c (ham_notifier_button_clicked_cb): Make the
	continue button the last button according to the spec.

2009-07-01 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* statusbar/ham-updates.c (ham_updates_dialog_response_cb): Fixed an
	unresolved symbol.
	* src/user_files.h: Added the user file tapped-notifications macro.
	* statusbar/ham-notifier.h (NotificationsStatus): Declare the enum
	with the new three states.
	(ham_notifier_are_available): Removed functions declaration.
	(ham_notifier_status): New function declaration.
	(void ham_notifier_icon_tapped): New function declaration.
	* statusbar/ham-notifier.c (update_notifications): New function.
	(update_seen_notifications): Use update_notifications ().
	(ham_notifier_dialog_response_cb): empty the tapped notifications at
	dialog response.
	(empty_ufile_notifications): New function.
	(empty_seen_notifications): Removed function.
	(ham_notifier_empty_seen_notifications): Emtpy the tapped notification
	file if there's a new notificaiton.
	(new_notifications): Removed function.
	(notifications_status): New function.
	(ham_notifier_icon_tapped): New function.
	(ham_notifier_are_available): Removed function.
	(ham_notifier_status): New function.
	* statusbar/ham-notifier-status-menu-item.c
	(update_button_visibility): Use the states return value.
	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_map_event): Update the tapped
	notifications file.
	(update_state): Use the notification state return value.

2009-06-30 David Kedves <dkedves@blumsoft.eu>

	* statusbar/ham-updates-status-menu-item.c (load_icon_state): Removed
	function.
	(save_icon_state): Removed function.
	(setup_ui): Removed commented out function call.
	(set_icon_state): Removed commented out function call.

2009-06-30 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/user_files.h: Added the user file tapped-updates macro
	definition. 
	* statusbar/ham-updates.h (UpdatesStatus): Declare the enum with the
	new three sw updates states.
	(ham_updates_are_available): Removed this function declaration.
	(ham_updates_status): New function declaration.
	(ham_updates_icon_tapped): New function declaration.
	* statusbar/ham-updates.c (update_seen_file): Typo.
	(clean_updates_ufile): New function.
	(ham_updates_icon_tapped): New function.
	(ham_updates_dialog_response_cb): Clean the tapped updates file when
	the updates are ignored.
	(ham_updates_are_available): Function removed.
	(is_there_unseen_updates): New function.
	(ham_updates_status): New function.
	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_map_event): Put static the icon state
	only if the icon is in blinking state.
	(ham_updates_status_menu_item_response_cb): Update the state instead
	of just turning off the icon.
	(setup_ui): Do not load icon state, update the state instead.
	(set_icon_state): Removed the transition rules.
	(update_state): Use the three state sw updates state.
	* src/main.cc (update_seen_updates_file): Clean the tapped updates
	file when the updates are seen.
	* statusbar/ham-updates.c (updates_fetch): Add missing parenthesis in
	if block.
	* src/xexp.c (xexp_write_file): flush, sync and close the xexp file,
	and afterwars rename it, even is something failed.
	* src/user_files.c (user_file_write_xexp): flush, sync and close the
	saved user file.

2009-06-26 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (make_main_view): Removed app-specified dialogue margins
	(NB#125118)

2009-06-24 David Kedves <dkedves@blumsoft.eu>

	* src/operations.cc (ip_install_loop): call apt_worker_install_check
	only in redpill mode.
	(ip_check_domain_reply): Remove the use of "ai_ni_error_broken_path_%s"
	logical id.
	* src/main.cc (main): Create window before dbus initialisation
	(NB#123335) 

2009-06-24 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* debian/changelog: typo in bug id.
	* src/details.cc (spd_with_details): Use logical id for
	string. (NB#124462). 

2009-06-23 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/operations.cc (ip_not_enough_battery_confirm): The battery
	message is a information note. (NB#124253)
	(ip_not_enough_battery_confirm_response): Changed the function
	signature and validates if the battery is in charging
	state. (NB#124253) 
	* debian/control: Renable the maemo-install-utils provide declaration,
	needed by test packages.

2009-06-22 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (set_current_view): enable sort button if there is not
	sections to show.
	(make_install_applications_view): remove ignored buttons enabling.
	* utils/maemo-confirm-text-user.c (make_small_text_view): Update
	GtkTextView with HildonTextView (NB#122950)
	* debian/control: Remove old package conflicts, replaces and provides.
	* utils/maemo-confirm-text-user.c: Use the official header for
	hildon. 
	(make_small_text_view): Update the scrollable window with a pannable
	area (NB#12295)
	* src/util.cc (size_string_general): do the correct casts. (NB#123504)
	
2009-06-18 David Kedves <dkedves@blumsoft.eu>

	* src/apt-worker.cc (rescue_devs): Use the correct partition devs.
	(NB#100888)

2009-06-17 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/main.cc: (show_view): Remove arbitrary padding of 10 from vbox.
	* src/util.cc: (make_global_package_list): Pack pannable inside
	GtkAlignment which has specified top, left, and right paddings.

2009-06-17 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/repo.cc (show_cat_edit_dialog): Only not read-only catalogues
	can save its state.
	* src/repo.cc (show_cat_edit_dialog): Stop using
	"ai_ti_catalogue_details" logical string for read only catalogues and
	use "ai_ti_edit_repository". (NB#122407)
	* src/apt-worker.cc (cmdline_rescue): Add the apt-worker prefix to the
	rescue message. (NB#122958)

2009-06-17 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/util.cc: (package_icon_func): Packages that don't have their own
	icon are now given "tasklaunch_default_application" 

2009-06-17 David Kedves <dkedves@blumsoft.eu>

	* src/main.cc (show_view) (show_parent_view) (search_packages_reply)
	(change_search_view_parent) (stack_window_hide) (get_main_window)
	(is_topmost_cb) (push_dialog) (pop_dialog): Write debug messages with
	g_debug instead of g_warning. (NB#117338)

2009-06-15 David Kedves <dkedves@blumsoft.eu>

	* src/details.cc (make_small_text_label): enable word-wraping in the
	widget. (NB#122375)

2009-06-16 David Kedves <dkedves@blumsoft.eu>

	* src/Makefile.am: add the launcher compiling/linking flags to
	ham-after-boot. (NB#121852)

2009-06-16 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/settings.cc: Replace deprecated #include lines with
	#include <hildon/hildon.h>.
	* src/repo.cc: (struct cat_dialog_closure): Remove delete_button
	(remove_cat_cont): Move the function and struct remove_cat_clos
	further up.
	(cat_edit_response): Handle REPO_RESPONSE_REMOVE here. This needs
	the above.
	(show_cat_edit_dialog): Streamline dialog creation.
	(get_selected_catalogue): Remove unused function.
	(cat_row_activated): Save the current catcache in the closure.
	(cat_selection_changed): Remove code dealing with delete_button.
	(cat_response): Remove code dealing with REPO_RESPONSE_EDIT.
	(insensitive_cat_delete_press): Remove this function.
	(show_catalogue_dialog): Remove code dealing with delete_button.

2009-06-15 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/repo.cc (struct cat_dialog_closure): Get rid of edit_button.
	(cat_selection_changed): Remove code dealing with edit_button.
	(insensitive_cat_edit_press): Remove this function.
	(show_catalogue_dialog): Remove code that sets up edit_button.
	* src/repo.cc: Change TREE_VIEW_ICON_SIZE to 48.
	(cat_text_func): Don't add detail via "markup" property.
	(set_cat_list): Set pointers in GtkListStore to NULL before clearing
	it, because the GtkListStore gives bogus pointers to the data funcs
	otherwise. 
	(make_cat_list): Use a single column with multiple renderers. Put the
	tree view into a HildonPannableArea, not a GtkScrolledWindow.

2009-06-12 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/util.cc (select_package_list): Correct the size
	calculations. (NB#122098)

2009-06-11 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/util.cc: removed the already included main.h file.

2009-06-11 David Kedves <dkedves@blumsoft.eu>

	* statusbar/ham-updates-status-menu-item.c (blink_icon_on): Scale the
	transparent icon if the download icon size is different. (NB#120787)
	* src/instr.cc (eip_end): Ask to refresh the package cache if new
	catalogues are installed. (NB#103607)
	* statusbar/transparent-icon.c: Resized the transparent icon to 18x18
	(NB#120787).

2009-06-11 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/operations.cc (ip_install_cur): Disable the entertainment cancel
	because the install cannot be cancelled past this point. (NB#113101)

2009-06-08 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/main.cc: (set_current_view): Make use of new enable_sort
	function. 
	* src/menu.cc: sort_by_name_menu_item, sort_by_size_menu_item: Keep
	these widgets around. 
	(toggle_sort): New function to handle sort-related GtkRadioButton
	toggles. 
	(create_menu): Create sort_by_name_menu_item and
	sort_by_size_menu_item and reflect the sort order.
	(enable_sort): New function to handle showing/hiding of sort-related
	buttons. 
	(show_sort_order): New function to reflect the sort order in the toggled
	state of the buttons. It is necessary to avoid setting a button as
	active if it is already active in order to avoid a signal loop.
	* src/menu.h (enable_sort): This is a global function.
	(show_sort_order): This is a global function
	* settings.cc: include menu.h for sort button updates
	(load_settings): Update sort buttons after loading settings.
	(sort_settings_dialog_response): Remove this function.
	(show_settings_dialog_flow): Remove this function.
	(set_sort_settings): New function that sets global sort-related
	variables and updates the sort order buttons.
	* settings.h: (set_sort_settings): This is a global function.

2009-06-02 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/menu.cc (add_item): Use HildonButton instead of GtkButton.
	* debian/rules: Add -DTAP_AND_HOLD to CFLAGS
	* src/util.cc: (button_press_cb): New function. When the user taps on
	the tree view, record the package_info that was tapped on. 
	(make_global_package_list): Connect to the tree view's
	button_press_event. 
	(tap_and_hold_cb): Remove this signal handler, and the corresponding
	connect. 
	* src/menu.cc (create_package_menu): Re-write: Use
	hildon_gtk_menu_new(). There's only one item: "Details".
	* src/menu.cc  (create_menu): Move "Search" and "Refresh" buttons to
	the right place in the menu (as per spec). Update logical ID for
	"Update All". 

2009-05-30 Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/util.cc (select_package_list_with_info): Use HildonPannableArea
	instead of GtkScrolledWindow.
	* src/util.cc (make_global_package_list): Use HildonPannableArea
	instead of GtkScrolledWindow.
	* src/util.cc (set_global_package_list): Before clearing the
	GtkListStore, NULL out its pointers.
	* src/util.cc (global_size_func): Function removed. There's no longer
	a separate "size" column.
	(package_icon_func): New function. Provide an icon for each package.
	(package_info_func): Remove code that deals with pixbuf. Merge code
	from global_size_func.
	(make_global_package_list): Don't use multiple columns. There's only
	one column with two cell renderers: The pixbuf cr for the icon and the
	package_info cr for the package info. 
	* src/package-info-cell-renderer.c (style_set): New handler for
	updating the secondary text colour in the small text
	PangoAttributeList when the theme changes. 
	(package_info_cell_renderer_listen_style): New function. Passes to the 
	cell renderer a widget whose style changes to track for updates to the
	secondary text colour.
	* src/package-info-cell-renderer.h: Declare the new global
	package_info_cell_renderer_listen_style function.
	* src/package-info-cell-renderer.c (maybe_make_layout): New
	function. Make a layout if the source string is non-NULL.
	(paint_row): New function. Paint a single row of text using specified
	attributes. Avoids code duplication when calculating layout widths.
	(package_info_cell_renderer_render): Function calls paint_row twice -
	once for each row.
	* src/package-info-cell-renderer.c: Remove PROP_PIXBUF and
	PROP_PIXBUF_SIZE from the top-level enum.
	(struct _PackageInfoCellRendererPrivate PackageInfoCellRendererPrivate):
	Remove pixbuf and pixbuf_size from the private structure.
	(package_info_cell_renderer_instance_init): Remove code dealing with
	pixbuf. 
	(package_info_cell_renderer_finalize): Remove code dealing with
	pixbuf. 
	(package_info_cell_renderer_class_init): Remove pixbuf-related
	properties. 
	(package_info_cell_renderer_get_property): Remove code dealing with
	pixbuf. 
	(package_info_cell_renderer_set_property): Remove code dealing with
	pixbuf. 
	(package_info_cell_renderer_get_size): Remove pixbuf size from
	calculation. 
	(package_info_cell_renderer_render): Function greatly simplified.
	* src/package-info-cell-renderer.c: Add PROP_PKG_SIZE from the
	top-level enum
	(struct _PackageInfoCellRendererPrivate PackageInfoCellRendererPrivate):
	Add pkg_size from the private structure
	(package_info_cell_renderer_instance_init): Initialize pkg_size.
	(package_info_cell_renderer_finalize): Free pkg_size if necessary.
	(package_info_cell_renderer_class_init): Add "pkg-size" property.
	(package_info_cell_renderer_get_property): Implement "pkg-size"
	property. 
	(package_info_cell_renderer_set_property): Implement "pkg-size"
	property. 
	* src/util.cc (make_small_text_view): Make horizontally and
	vertically pannable HildonPannableArea instead of GtkScrolledWindow.
	* src/settings.cc (make_settings_tab): Use HildonPannableArea instead
	of  GtkScrolledWindow.
	* src/settings.cc (make_boolean_option): Pack a HildonCheckButton
	directly. Don't use deprecated HildonCaption.
	* src/settings.cc (settings_dialog_response): Use
	hildon_check_button_get_active ().
	* src/log.cc (show_log_dialog_flow): Add "Save As" after "Clear"
	* src/operations.cc (ip_warn_about_reboot): Add "OK" after "Make
	Backup" 
	(ip_abort_cur): Add "Yes" after "No"
	* src/repo.cc (show_cat_edit_dialog): Add "OK" after "Cancel"
	* src/settings.cc (show_settings_dialog_flow): Add "Save" after "Cancel"
	* src/util.cc (ask_yes_no_with_details): Add "OK" after "Confirm
	Details" 
	(ask_yes_no_with_arbitrary_details): Add "OK" after "Details"
	(install_confirm): Add "OK" after "Details"
	(select_package_list_with_info): Move "Yes" after "No"
	* src/repo.cc (SCROLL_TO_ERROR_TIMEOUT): Wait this long for size
	negotiation and realization to subside.
	(struct scroll_to_params): Parameters for idle function that scrolls
	the HildonPannableArea to the error message.
	(scroll_to_timeout): New function. Scroll to the top of a catalogue
	refresh error message.
	(add_scroll_timeout): New function. Add the above timeout or push it
	forward if it's already present and has not yet elapsed.
	(tv_size_allocate): New function. Handler for the detail text view. 
	Add scroll timeout.
	(show_cat_edit_dialog): Pass the detail. Fix the size request to 350
	and add a text view with the detail if there is one. Add
	scroll timeout upon realize and push it forward while the text view
	resizes itself. 
	(cat_row_activate): call show_cat_edit_dialog passing the detail.
	(cat_response): New catalogue: call show_cat_edit_dialog passing the
	detail. 
	(add_catalogue_details): call show_cat_edit_dialog passing the detail.
	* src/util.cc (fit_rect_inside_rect): New utility function to scale
	one rectangle to fit inside another while preserving aspect ratio.
	Necessary for (potentially) scaling down icons.
	(pixbuf_from_base64): If the pixbuf is not TREE_VIEW_ICON_SIZE, then
	center it inside a TREE_VIEW_ICON_SIZE x TREE_VIEW_ICON_SIZE pixbuf,
	scaling it down to fit, if necessary.  
	* src/main.h: Move TREE_VIEW_ICON_SIZE here, because it's used in
	multiple files. 
	* src/repo.cc: Remove TREE_VIEW_ICON_SIZE.
	* src/util.cc: (package_icon_func): Load stock package icons as 48x48
	(TREE_VIEW_ICON_SIZE)

2009-05-25 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* src/main.cc (update_seen_updates_file): Remove the icon updates file.
	* src/user_files.h: removed the icon updates file macro.
	* statusbar/ham-updates-status-menu-item.c (update_icon_state):
	Removed the icon file update call. 
	(update_state): Only use one update file validation.
	* statusbar/ham-updates.c (ham_updates_dialog_response_cb): Removed
	the icon updates file.
	(ham_updates_update_seen_file_icon): Removed function.
	(ham_updates_are_available_icon): Removed function.
	* statusbar/ham-updates.h: Removed function exportation.

2009-06-04  Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/main.cc (show_parent_view): Removed the padding of the button's
	label.
	(set_current_view): set main_window from set_current_view as well as
	show_view to prevent a stale value after returning from a non-main.

2009-06-04  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/operations.cc (installable_status_to_message): Added custom
	message when the installable status is 3rd party policy breakage.

2009-06-03  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/apt-worker.cc (set_options): Receives the 3rd party policy check
	option. 
	(package_policy_status): Changed the function signature.
	(cmd_get_package_info): Disable the policy check if the red-pill
	option is enabled.
	* src/settings.cc (load_settings) (save_settings): Handle the 3rd
	party policy option.
	(make_settings_tab): Add the checkbox in the settings dialogue.
	(backend_options): Sends the 3rd party policy to the backend.

2009-06-03  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/main.cc (installed_package_selected) (make_install_section_view)
	(make_upgrade_applications_view) (make_uninstall_applications_view)
	(make_search_results_view) (set_operation_label): Updated logical
	strings in toolbar.

2009-06-02  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/apt-worker-proto.h: Added status_incompatible_thirdparty
	installable package status.
	* src/apt-worker.cc (package_policy_status): New function.
	(cmd_get_package_info): Set the installable status given the new
	function. 

2009-06-02  David Kedves <dkedves@blumsoft.eu>

	* src/operations.cc (ip_download_cur_reply): Stops the entertainment
	dialogue when the package download fails before annoying the user
	(NB#119941).
	* src/main.cc (get_package_list_reply): Don't refresh the current view
	after retrieving the package list. (NB#120002)
	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_finalize): Disconnect map event on
	ancestor widget. (NB#115611)
	(ham_updates_status_menu_item_parent_set): Save the ancestor widget.

2009-06-01  Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/apt-worker.cc (show_fb_text) (show_fb_status): Don't chroot the
	text2screen command execution.

2009-05-27  David Kedves <dkedves@blumsoft.eu>

	* src/dbus.cc (get_device_mode) (set_device_mode): New functions.
	* src/dbuc.h (device_mode): New enum type.
	* src/operations.cc (ip_maybe_offline_device_mode)
	(ip_maybe_restore_device_mode): New functions.
	(ip_install_cur): Offline the device if needed.
	(ip_install_cur_reply): Restore the device mode. (NB#118137)
	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_finalize): Deinitialize OSSO. Removes
	the alarm source id.
	(close_dbus): New function.
	(ham_updates_status_menu_item_init): Holds the alarm setup source.
	(run_service_now): Reset the alarm source id. (NB#115611)
	* src/menu.cc (create_menu): Use the new "ai_me_settings" id.
	* src/settings.cc (show_settings_dialog_flow): Use the "wdgt_bd_save"
	id (NB#118348)

2009-05-25  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/apt-worker.cc (find_deb_meta_index): Calculate the response
	string size in order to obtain the displacement to extract the domain
	key. 
	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_connection_cb): Admit as valid bearer
	types GPRS and WIMAX.

2009-05-25  Marius Vollmer <marius.vollmer@nokia.com>

	* Fix typo in fi_FI category translations (NB#117616).

2009-05-25  David Kedves <dkedves@blumsoft.eu>

	* Removed unused source code files.
	* src/repo.cc (show_cat_edit_dialog): Removed
	"ai_bd_new_repository_cancel" (NB#118348)
	* src/instr.cc (eci_with_temp_catalogues): ifdef memory card
	installing. 
	* src/operations.cc (ip_install_with_info)
	(ip_select_package_response): ifdef memory card installing and adding
	/*NOALLOC*/ to unused logical ids. (NB#118348)
	* src/operations.cc (ip_install_with_info): Changed invalid logical id 
	"Install" for "ai_tb_install". (NB#118348)

2009-05-22  David Kedves <dkedves@blumsoft.eu>

	* src/apt-worker-proto.h: Removed a spurious comma in enum definition.
	* src/apt-worker.cc (find_domain_by_tag): Compare only the end of the
	tag. 
	(get_meta_info_key): Accept also GOODSIG as return value. (NB#103607)
	* src/util.cc (scare_user_with_legalese): Removed
	function. (NB#118348) 
	* debian/control: Added l10n dependencies.

2009-05-22  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/util.cc (is_pkg_ssu): New function.
	* src/details.cc (spd_with_details): Use the is_pkg_ssu function
	instead of the local calculation.
	* src/operations.cc (launch_osso_backup): New function.
	(ip_warn_about_reboot_response): Replace th code for the new
	function. 
	* src/operations.cc (ip_abort_cur_os_update)
	(ip_abort_cur_os_update_response): New functions.
	(ip_abort_cur): If the failed package is a OS update launch the new
	dialogue.

2009-05-21  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/details.cc (spd_update_common_page): Code style fixes.
	* src/details.cc (spd_create_common_page) (make_small_text_label)
	(spd_create_summary_page): Use HildonPannableArea instead of
	GtkScrolledWindow.
	(spd_with_details): Update deprecated Gtk API.
	* src/details.cc (spd_create_ssu_page): Use the proposed logical
	string. 
	(spd_with_details): Reorder the tabs and their content in case of a
	broken SSU package.

2009-05-20  Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* src/main.cc (make_main_view): Use GtkTable widget to make spacing
	consistent. Besides, use hildon-helper to set the label color.
	* src/repo.cc (add_entry): Use HildonEntry.
	(cat_edit_response): Use HildonCheckButton.
	(show_cat_edit_dialog): Use HildonCheckButton.
	* src/repo.cc (cat_icon_func): Use a macro insted of a harcoded value
	to define the icon size.

2009-05-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/util.cc (make_global_section_list): Set the table's attach
	options for the buttons in section list.

2009-05-19  David Kedves <dkedves@blumsoft.eu>

	* src/main.cc (set_catalogues_and_refresh_cont): Functi	on removed.
	(set_catalogues_and_refresh) (add_temp_catalogues_and_refresh): Don't
	ensure network before setting the catalogues. (NB#102050)
	* src/apt-worker.cc (cmd_set_catalogues): Request to update the package
	cache after the catalogue setting. (NB#102707)
	* src/main.cc (get_package_list_reply): Refresh the current view after
	fetching the package list.
	(rpcwu_reply): Don't save the last update time if the update was
	cancelled.

2009-05-18  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/main.cc (make_padded_button): Use hildon_gtk_button_new instead
	of gtk_button_new. (NB#117277)
	* src/util.cc (make_scare_user_with_legalese): Removed
	gtk_scrolled_window_set_policiy call.
	(scroll_to_widget): Removed gtk_scrolled_window_get_vadjustment call.
	(make_global_section_list): Removed gtk_scrolled_window_set_policiy
	call.
	* src/util.cc (hide_main_window): Check if the current pointer to the
	main window is a valid widget pointer.

2009-05-15  Gabriel Schulhof <gabriel.schulhof@nokia.com>

	* Use maemo-launcher only if the "nolauncher" value is absent from the
	"DEB_BUILD_OPTIONS" list 

2009-05-14  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/main.cc (update_seen_updates_file): update the icon file too.
	* statusbar/ham-updates.c (ham_updates_dialog_response_cb): update the
	icon file too.
	* src/menu.cc (create_menu): Set the restore button in menu as
	inactive if there's not a backup.
	* statusbar/ham-updates.c (ham_updates_build_button): Fixed the
	logical string used in the status menu button (NB#113409)

2009-05-15  Richard Sun <richard.sun@nokia.com>

	* src/details.cc: update logical id based on NB#106181.

2009-05-14  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* statusbar/ham-updates-status-menu-item.c (load_icon_state): Bypassed
	the icon state transition rules.

2009-05-13  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/util.cc (make_global_section_list): Use HildonButton with height
	of finger-size, and the number of columns to show is two (NB#116290).
	Use a HildonPannableArea instead of a GtkScrolledWindow to show the
	sections table. 

2009-05-04  David Kedves <dkedves@blumsoft.eu>

	* src/util.cc (annoy_user_with_gnome_vfs_result): handle
	GNOME_VFS_ERROR_READ_ONLY and GNOME_VFS_ERROR_READ_ONLY_FILE_SYSTEM
	value returns. (NB#113743)

2009-05-12  David Kedves <dkedves@blumsoft.eu>

	* src/menu.cc (create_package_menu): Hide the function with
	TAP_AND_HOLD define. (NB#113654)
	* src/menu.h (create_package_menu): Hide the function with
	TAP_AND_HOLD define. (NB#113654)
	* src/repo.cc (add_entry): Marked the end of the define
	block. (NB#113654) 
	* src/util.cc (tap_and_hold_cb): Hide the function with TAP_AND_HOLD
	define. (NB#113654)
	(make_global_package_list): Hide the menu widget with TAP_AND_HOLD
	define. (NB#113654)
	* src/main.cc (installed_package_selected): Removed the
	set_operation_menu_item_sensitiveness function. (NB#112804)
	(set_details_callback): Removed the set_details_menu_sensitive
	function. (NB#112804)
	(set_operation_label): Removed the function
	set_operation_menu_label. (NB#112804) 
	(window_delete_event): Don't call menu_close, instead do the
	operations by itself. (NB#112804)
	(make_new_window): Don't create a menu per window, instead add the
	window to the application. (NB#112804)
	(enable_search): Removed the function set_search_menu_sensitive.
	(main): Create the main menu here. (NB#112804)
	* src/menu.cc (add_item): Use the HildonAppMenu, creates buttons and
	append them to the menu. (NB#112804)
	(create_menu): Removed accel group, create the HildonAppMenu reorder
	the menu items to a single menu view. (NB#112804)
	* src/menu.h: Removed unused functions. (NB#112804)
	* src/operations.cc (ip_download_cur_reply): Check if the
	entertainment process was "broke" and show the information note if
	so. (NB#103611)
	* src/util.cc (start_entertaining_user): Initialize the broke status
	to false. (NB#103611)
	(break_entertainment) (entertainment_was_broke): New
	functions. (NB#103611) 
	(iap_callback): Break the entertainment if the iap status is
	disconnected. (NB#103611)
	* src/util.h (break_entertainment) (entertainment_was_broke): Export
	and document functions. (NB#103611)

2009-05-11  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/main.cc (force_show_catalogue_errors)
	(show_catalogue_errors_dialog) (scedf_check_catalogues)
	(scedf_dialog_done) (scedf_end) (scedf_cont)
	(show_update_partially_successfull_dialog_flow): New functions.
	(check_catalogues_reply): Run the update partially successfull
	dialogue flow.
	* src/main.h (force_show_catalogue_errors) Function exported.
	* src/operations.cc (ip_end) (up_end): force to show the catalogue
	errors. 
	* src/repo.cc (scdf_end): force to show the catalogue errors.
	* src/main.cc (rpcwuf_end): force to show the catalogue errors.
	* src/repo.cc (cat_icon_func): Use "app_install_error" icon to show
	failed repositories.

2009-05-08  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_map_event): take out the rule from here
	(set_icon_state): set all the rules at this point.
	* statusbar/ham-notifier.c (ham_notifier_empty_seen_notifications):
	Create an empty seen-notifications file either there's no file right
	now or if the available-notifications is different from it. (NB#114920)
	(new_notifications) (ham_notifier_are_available): minor indentation
	fixes.
	* src/repo.cc (show_catalogue_dialog): initialize to null the
	button widget and change the sensitive attribute the "new" button only
	if it was instanciated.
	(scd_get_catalogues_reply): change the sensitive attribute to the
	"new" button only if it was instanciated.

2009-05-07  David Kedves <dkedves@blumsoft.eu>

	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_map_event): When the status area is
	tapped the icon stops the blinking. (NB#114920)

2009-04-29  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/details.cc (spd_create_ssu_page): New function.
	(spd_with_details): Show the ssu page if it's an update details of a
	system_update package not able to update/install. If so don't show the
	details page either.
	* src/main.cc (get_main_window): print the current main window
	pointer. 
	* src/util.cc (push_dialog): trace parent/child dialogues pushing.
	(pop_dialog): trace parent/child dialogues popping.
	* src/util.cc (end_interaction_flow): Workaround for popping the last 
	widget in the dialog stack, that should be the current window and
	also the window where the interaction flow started. See the FUTURE
	file for details.

2009-04-27  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/util.cc (select_package_list_with_info): Use the hildn-libs text
	domain for yes/no dialogue buttons.
	* This reverts commit 03e82df372aec571c18f5897b594dccdc07b4255.

2009-04-24  David Kedves <dkedves@blumsoft.eu>

	* src/apt-worker.cc (find_catalogues_for_item_desc): Handle
	repositories without distribution name. (NB#1039908)
	* src/main.cc (check_catalogues_reply): Show an error message if any 
	catalogue didn't refresh or if there's not catalogues defined.
	(NB#111866, NB#109807)

2009-04-24  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/main.cc (is_topmost_cb): The setting of the current view is the
	first activity callback.
	* src/util.cc (annoy_user_with_details_1): Set the window hint as a
	notification window type.
	* src/util.cc (start_entertaining_user): The progress bar always will
	ignore the delete-event (no tapping outside to dismiss). (NB#112259)

2009-04-23  Soini Mox <ext-mox.soini@nokia.com>

	* src/ham-after-boot.c (main):
	* src/main.cc (main):
	* src/mime-open.c (main): Proper Hildon initialization
	( hildon_gtk_init() ), which is required for proper use of Hildon
	libraries. (NB#112804)

2009-04-23  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/menu.cc (create_menu): This reverts commit
	fe8dbab2f824f04b36cff6ebc74170895129ec84. 
	* src/util.cc (annoy_user_with_details_1): Use a GtkDialog for error
	message with details instead of a hacked Hildon information
	note. (NB#112638) 

2009-04-22  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/util.cc (make_scare_user_with_legalese): New function.
	(install_confirm): Take out the non-nokia warning into another label
	wrapper in pannable area. (NB#111749)
	* src/main.cc (show_view): Set here the current window pointer.
	(is_topmost_cb): Not here. A crash was observed.

2009-04-21  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/util.cc (install_confirm): Mark the non-nokia package warning
	with small size font. (NB#111749)

2009-04-21  David Kedves <dkedves@blumsoft.eu>

	* src/dbus.cc (enough_battery_p): Used the correct return value of
	libhal_device_get_property_bool and break the loop if the battery is
	charging. (NB#103701)
	* src/dbus.cc (string_property_from_message)
	(string_value_from_signal): New functions.	
	(set_bt_name_from_message): Handle if the message came from a
	property.
	(btname_received) (handle_dbus_signal): Use the new function signature
	for set_bt_name_from_message.
	(btadapter_received): New function.
	(init_dbus_or_die): Use the new bluetooth interface. (NB#96564)

2009-04-21  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/menu.cc (create_menu): Instead of a logical string we'll show an
	english string.
	* src/main.cc (is_topmost_cb): Set main_window as the current top most
	window.
	(main): Set the cur_view_struct as the main_view at the begining.

2009-04-20  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_init): Connect the parent-set event.
	(ham_updates_status_menu_item_map_event)
	(ham_updates_status_menu_item_parent_set): New functions.
	(update_icon_state): Update the icon seen file. (NB#109501)
	* statusbar/ham-updates-status-menu-item.c (update_state): Handle the
	icon seen updates different from the button seen updates.
	* src/user_files.h: Added the "seen-updates-icon" user file.
	* statusbar/ham-updates.c statusbar/ham-updates.h
	(ham_updates_update_seen_file) (ham_updates_are_available_icon): New
	functions.
	* statusbar/ham-updates.c (update_seen_file) (updates_fetch):
	functions are parametrized to receive the file to compare or write.
	(ham_updates_dialog_response_cb) (build_dialog_content)
	(ham_updates_are_available): Use the normal seen file as parameter for
	changed functions.

2009-04-18  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* utils/maemo-confirm-text-user.c (user_agreed) (make_check_button):
	New functions.
	(main): Added the check button. (NB#110745)
	* src/operations.cc (ip_install_loop) (if_install_reply): Updated the
	string "ai_ni_software_update_installed" (NB#111725)

2009-04-17  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
	
	* src/main.cc (search_packages_reply) (search_packages): Always show
	a new view for each result, even if it's empty. (NB#111758)

2009-04-16  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_display_event_cb): Reduce the number of cast
	operations.	 
	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_init),
	(ham_updates_status_menu_item_response_cb), (setup_ui),
	(load_icon_state), (save_icon_state), (update_icon_state),
	(set_icon_state), (get_icon_state), (update_state): be more specific
	in the icon semantics. 

2009-04-15  David Kedves <dkedves@blumsoft.eu>

	* hildon-application-manager.sudoers: use group users rather than user
	user. (NB#99468)

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

	* Updated category definitions from the 2.1.x branch.

2009-04-14  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/apt-worker.cc (get_deb_record): Delete as an array the record
	string. (NB#102378)

2009-04-13  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/util.cc (install_confirm): Enhances the install confirm
	dialogue.
	* src/repo.cc (show_cat_edit_dialog): Only if the dialogue type is no 
	readonly, is shown the disable check button.
	* src/repo.cc (add_catalogues_cont_2): Updated the used logical strings
	according to the new ui spec. (NB#110684)
	* src/util.cc (ask_yes_no_with_arbitrary_details): As this function is
	used only for the add catalogues dialogue, the defined logical string
	for its buttons are used instead the common ones. (NB#110684).

2009-04-10  David Kedves <dkedves@blumsoft.eu>	

	* src/main.cc (sort_all_packages): Changed the function signature.
	(get_package_list_reply): Show the results after sorting.
	(search_packages_reply): Sort packages without refreshing the
	result. (NB#103605)
	* settings.cc (sort_settings_dialog_response): Show the results after
	sorting. (NB#103605)
	
2009-04-09  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/operations.cc (ip_install_loop) (if_install_reply): Show
	§ai_ni_multiple_install§ and comment out
	§ai_ni_install_successful_launch§ for future
	implementation. (NB#108666) 	
	* src/operations.cc: Removed if_show_legalese symbol for compiler
	silence. 

2009-04-08  David Kedves <dkedves@blumsoft.eu>

	* src/main.cc (compare_package_download_sizes): Simplified the logic
	in the download size comparing.


2009-04-08  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/util.cc (entertainment_response): cancel de operation only if
	the response is stop.
	(entertainment_delete): New function.
	(start_entertaining_user): The default response is stop; the button is
	localized for "stop" label; handle the delete event if button; handle
	the escape key.
	* src/util.cc (entertainment_update_title): No more subtitles
	handling. 
	(entertainment_response): Use GTK_RESPONSE_CANCEL instead of custom.
	(start_entertaining_user): Restructured the progress bar dialogue.
	* src/apt-worker.cc (cmd_get_package_details): magic:sys package
	encodes a null repository.

2009-04-07  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/main.cc (set_current_view): Check if the requested view is not
	NULL. 

2009-04-03  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/operations.cc (ip_check_cert_loop): Reset the cur pointer fixing
	a nasty segmentation fault. In case of multiple packages installation
	we start the install process with out the legallese. 
	* utils/Makefile.am: Commented out the sources of
	maemo-select-menu-location-main.c in order to silence the automake.
	* hildon-application-manager.desktop: removed
	application/x-debian-package and application/x-deb mime
	types. (NB#107280) 
	* src/dbus.cc (dbus_mime_open): only .install files are accepted by
	the dbus mime opener. (NB#107280)
	* src/menu.cc (set_install_from_file_menu_visible): New function.
	(create_menu): Assign the install_from_file_menu and show it if the
	red-pill mode is enabled. (NB#107280)
	* src/menu.h: Exported set_install_from_file_menu_visible.
	* src/repo.cc (pill_response): Show the the install_from_file_menu
	given the chose mode. (NB#107280)
	* src/util.cc (install_confirm): If the the download_size is zero then
	use the install_user_size_delta. This is used in case of deb file
	installations.
	* src/operations.cc (if_show_details_done): New function.
	(if_show_details): New function.
	(if_details_reply): Use the install_confirm dialogue. (NB#107280)

2009-04-02  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/util.cc (close_apps): Ignoring the SIGTERM when the app_killer
	is requested. (NB#108960)
	* hildon-application-manager.desktop: Update logical
	string. (NB#107654) 

2009-04-01  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
	
	* src/repo.cc (cat_selection_changed): Only editable catalogues can be
	deleted. (NB#108921)
	* src/util.cc (ask_yes_no_with_details): The label for the ok button
	is set according to the operation kind. If it's remove_details the
	label is ai_bd_confirm_uninstall. (NB#93240)
	* src/operations.cc (ip_check_domain_reply): Use the hildon-libs
	logical strings for Yes/No options rather than hardcoded ones.
	* src/util.cc (annoy_user_with_details_1): If the variant other than
	one the ai_bd_ok label button is shown as cancel alias, but not a
	close button. (NB#108943)
	* src/operations.cc (ip_abort_cur): Use annoy_user functions when the
	last installation abort message is shown. When there still packages to
	process a confirmation dialogue is used. (NB#108943)
	* utils/Makefile.am: Don't compile maemo-select-menu-location. It's
	not used anymore. 
	* src/operations.cc (ip_install_with_info): Removed the install
	confirmation dialogue continue with the response instead.
	(ip_check_cert_loop): Instead of start the installation the install
	confirmation is raised if only one package is going to be installed.
	(ip_check_cert_reply): Instead of the legalese notice, the merged
	install confirmation is shown. (NB#107619)

2009-03-30  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/repo.cc (apt_method_is_available): New function.
	(repository_uri_is_valid): Validate the form method://content in the
	repositories uri. (NB#92982)

2009-03-29  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Create and show the toolbar.
    
	* src/main.cc (set_current_view): New function.
	(show_view): Set the current toolbar but doesn't set the current
	view.
	(set_current_toolbar): Assign the current toolbar.
	(is_topmost_cb): Use the new function to set the current view.
	(make_new_window): Creates the toolbar ui.
	(change_search_view_parent): Use the new function to set the current
	view.
	(reset_view): Free the view toolbar structure.
	(installed_package_selected): Checks if the current toolbar isn't
	NULL.
	(set_details_callback): Same here.
	(set_operation_callback): And here.
	(set_operation_toolbar_label): Also here.
	(enable_search): Here too.
	(enable_refresh): And here.
	(set_current_toolbar_visibility): Removed function.

2009-03-27  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Use a HildonStackableWindow for each view.
    
	* src/main.cc: (get_current_view_id): Use the new view structure
	field.
	(show_view): refactor to create a new HildonStackableWindow if
	needed. 
	(show_parent_view): Pop the current stackable window.
	(get_package_list_reply): Use the show_parent_view function.
	(change_search_view_parent): New function.
	(search_packages): new the function change_search_view_parent.
	(view_set_dirty): New function.
	(reset_view): New function.
	(stack_window_hide): New function.
	(is_topmost_cb): Force to show the current view if the view is dirty.
	(make_new_window): New function.
	(main): Removed the HildonWindow stuff in order to use
	HildonStackableWindow.
	(key_event): Use the show_parent_view function.

2009-03-26  David Kedves <dkedves@blumsoft.eu>

	Search patterns splitted into words. (NB#99006)
    
	* src/apt-worker.cc (name_matches_pattern): Split the pattern into
	words and search for each one of them.
	(description_matches_pattern): Same here.
	* src/main.cc (search_package_list): Filter the packages to display
	given each word in the search pattern.

	* src/main.cc: In the view structure add a reference to the
	HildonStackableWindow associated with the view, a reference to the
	main view widget, another reference to the toolbar structure and a
	flag if the view needs a refresh.

2009-03-25  David Kedves <dkedves@blumsoft.eu>

	* src/main.cc: Removed the label string in the view structure and its 
	declaration in each view definition.
	(view_section): Don't assign the dynamic label to the install view.
	
2009-03-25  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed HildonBreadCrumbTrail widget.
    
	* src/main.cc (make_view_path): Removed function.
	(show_view): Removed the trail handling logic.
	(view_clicked): Removed function.
	(main): Removed the trail creation.
	* src/util.cc (present_main_window): Don't show the trail.
	(global_package_list_key_pressed): Commented out the code for
	HILDON_HARDKEY_UP handling.
	
2009-03-25  David Kedves <dkedves@blumsoft.eu>

	* repo.cc (make_cat_list): Use G_TYPE_POINTER instead of
	GTK_TYPE_POINTER
	* src/util.cc (make_global_package_list): Same here.
	* src/main.cc (make_main_view): Disable the search. (NB#103206)

2009-03-24  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/main.cc (make_main_view): Removed the ai_li_device logic string.
	* src/util.cc (size_string_general): manage the new logical string for
	displaying package sizes.
	(size_string_general): Change the logical strings for the package size
	in the dialogs.
	(annoy_user_with_errno): Use convenience macro for dgettext in
	hildon-fm and hildon-common-strings domain.
	(annoy_user_with_gnome_vfs_result): Here too.
	(do_copy): Here.
	(show_updating): Here.
	(call_copy_cont): And here.
	* src/details.cc (make_small_text_label): New function.
	(spd_create_description_page): Use GtkLabel rather than GtkTextView
	for showing the package details. (NB#106282)
	(spd_create_summary_page): This function too.

2009-03-23  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Defining three types of dialogue catalogue: readonly, editable and
	package. 
	
	* src/repo.cc: New dialogue type enum.
	(cat_edit_response): Simplified the logic for handling the responses
	of th dialogue.
	(show_cat_edit_dialog): Modified the dialog structure given its type.
	(cat_selection_changed): Enabled the sensitive row if is not readonly.
	(make_catcache_from_xexp): Used the enum making the catcache.
	(cat_response): Used the new show_cat_edit_dialog function signature.
	(add_catalogues_details): Used the new show_cat_edit_dialog function
	signature and forbbid the edition of catalogues in installation.

	* src/repo.cc (cat_icon_func): use general_web icon.

2009-03-20  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	New apt-worker command for setting environment variables.
	
	* src/apt-worker-proto.h: Added APTCMD_SET_ENV enum.
	* apt-worker.cc (cmd_names): added SET_OPTIONS string for commands
	debugging.
	(handle_request): Handle the APTCMD_SET_ENV command.
	(misc_init): Set, as environment variables, the default mount points.
	(cmd_set_env): New function.
	(cmd_download_package): Removed the proxy code as it is
	already set (optimistically). Extract the MMC mount points from the
	environment and use them for downloading.
	(cmd_install_package): Removed the proxy code as it is already set. 
	* src/apt-worker-client.h: Function signature.
	* src/apt-worker-client.cc New cmd_clos structure.
	(apt_worker_set_env): New function.
	(apt_worker_download_package_cont): New function (do the download).
	(apt_worker_download_package): Set the environment, fixing the
	continuation for downloading. Initialize the alt_download_root field.
	(apt_worker_install_package_cont): New function (do the installation).
	(apt_worker_install_package): Set the environment and using
	installation a continuation.
	(is_there_enough_free_space): use the fixed environment variables to
	get the MMC mount paths.
	* src/test-app-killer.c (main): removed the unused gtk_init.

2009-03-18  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* src/Makefile.am: add test-app-killer to the no installable
	programs. 
	* src/apt-worker.cc (set_options): move in the setting of
	flag_use_apt_algorithms.
	(main): move out the setting of flag_use_apt_algorithms.
	(cache_init): Removed commented out code.
	(update_sources_list): Here too.
	(cmd_set_catalogues): And here.

2009-03-17  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Fixed possible memory leaks and array overrun. (NB#102378)
    
	* src/main.cc (rp_restore): use delete [].
	* src/apt-worker.cc (get_deb_record): use delete [].
	src/repo.cc (cat_edit_response): the allocaton of strings are done
	after the possible function exits.
	* src/repo.cc (repository_uri_is_valid): free an allocated string and
	reformat some lines.
	* src/operations.cc (ip_check_domain_reply): a previously allocated
	string is overwritten if in red pill mode.
	* src/apt-worker.cc (cmd_check_updates): removed some commented out
	code and free the catalogues structure after used.
	* src/apt-worker.cc (write_available_updates_file): free the x_updates
	structure after is used.
	* src/apt-worker.cc (myCacheFile::load_extra_info): free string after
	is used and removed trailing spaces.
	* src/settings.cc (make_boolean_option): id can't be bigger neither
	equal to NUM_BOOLEAN_OPTIONS.

	Silence the compiler warnings.
	
	* src/operations.cc (ip_reboot_now): commented out an unused variable
	assignation.
	* src/mime-server.c (type_to_name): commented out this unused
	function. 

2009-03-17  Marius Vollmer  <marius.vollmer@nokia.com>

	Removed DOMAIN_CONF for good; we don't support it anymore.
    
	* Makefile.am (install-data-local): Here.
	* src/confutils.h: Here.
	* src/hildon-application-manager-config.cc (write_conf): And here.

2009-03-16  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Untaint the fifo pipes passed to the backend.  (NB#102378)
	
	* src/apt-worker.cc (is_fifo): new function.
	(main): validate each pipe in order to untaint them. 

	Corrected the gnu c style.
	
	* src/test-app-killer.c (close_apps): Here.
	(main) Here.
	* src/util.cc (close_apps): And here.

2009-03-16  dkedves <dkedves@blumsoft.eu>

	Use dbus for closing applications.
    
	* src/Makefile.am: bring to life again the test_app_killer.
	* src/test-app-killer.c: rewrited the app in order to close running
	applications via dbus.
	* src/util.cc (close_apps): rewrite and enable the function in order to
	use dbus for close running applications.

2009-03-10  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed the migration scripts (NB#105192)
    
	* debian/postinst: now there's no need of migration script in this new
	device. 

2009-03-04  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Commented out the domain writing through the h-a-m-config
    
	* src/hildon-application-manager-config.cc (write_conf): avoid write
	the /etc/h-a-m/domain file.
	(handle_element): commented out the domain element handling.

2009-03-03  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Handle the domains as installable packages.
    
	* src/Makefile.am: dropped the catalogue.cc and catalogue.h compilation
	* src/apt-worker.cc: removed the catalogue.h inclusion
	(read_domain_conf): use the read domains function instead of the
	simple xexp file read, the last modification time now uses the
	directory last modifcation.
	(handle_request): the last modification time now uses the directory
	last modifcation.
	* src/catalogues.cc: removed file.
	* src/catalogues.h: removed file.
	* src/confutils.cc: added the headers glib.h and glib/gstdio.h; added
	debug macro.
	(find_package_catalogue): new function.
	(file_is_valid): new function.
	(read_package_config_files): new function.
	(add_package_catalogues): new function.
	(add_user_catalogues): new function.
	(read_catalogues): new function.
	(read_domains): new function.
	* src/confutils.h: new macro defines and function declarations.
	* src/hildon-application-manager-config.cc: removed the header
	catalogues.h 
	(read_conf): use the read domains function instead of the simple xexp
	file read.

	Removed unused code.
	
	* src/hildon-application-manager-config.cc: removed the debug printing
	macro. 
	(read_conf): removed old commented out code.
	(write_conf): removed old commented out code.

	Rid out of the notifier handling in h-a-m-config.
    
	* src/confutils.h: removed the NOTIFIER_CONF macro.
	* src/hildon-application-manager-config.cc (read_conf): removed the
	notifier configuration reading.
	(reset_conf): removed the notifier config handling.
	(write_conf): removed the notifier config writing.
	(handle_element): removed the notifier tag handling.


2009-03-02  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* statusbar/ham-notifier.c (get_uri): use the default system settings
	file to obtain the notifier uri.
	* Updated the PAST and FUTURE files.
	* src/apt-worker.cc (file_last_modified): honored the filename
	parameter in the function.

2009-02-26  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Fixed the connection state verification.
    
	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_connection_cb): the connection state now
	is treated as enum, not a boolean.

2009-02-26  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	The alarm interval is specified in minutes again.
    
	* statusbar/ham-updates (ham_updates_get_interval): the gconf return
	value is mutiplied by 60.
	* statusbar/update-notifier-conf.h: the default value is in minutes.

2009-02-26  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Enable the CONNECT event flag in the alarm configuration.
    
	* statusbar/ham-updates.c (ham_updates_set_alarm): if we aren't in
	scratchbox enable the ALARM_EVENT_CONNECTED.

2009-02-26  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Update the seen-updates file after the update plugin dialog is
	shown. (NB#102057) 
    
	* statusbar/ham-updates-status-menu-item.c
	(ham_updates_status_menu_item_response_cb): always put the icon in
	invisible state afther any dialog response.
	* statusbar/ham-updates.c (update_seen_updates_file): new function.
	(ham_updates_dialog_response_cb): if response is "ignore" the
	seen-updates is updated. 

2009-02-20  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Dropped memory card installation flow.
    
	* src/instr.cc (open_local_install_instructions): commented out the
	trigger for memory card installation.

2009-02-20  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Ripped out all the logic for fullscreen management and toolbar
	visibility. 
    
	* src/main.cc (show_view): when is not the main view always show the
	current toolbar.
	(set_current_toolbar): don't check the fullscreen state when setting
	the current toolbar.
	(set_fullscreen): removed function.
	(toggle_fullscreen): removed function.
	(set_toolbar_visibility): removed function.
	(window_state_event): removed function.
	(key_event): don't toggle to fullscreen.
	(main): don't load the h-a-m visibility state; remove the
	window_state_event signal connection; don't show the toolbar by
	default.
	* src/settings.cc (load_state): removed function.
	(save_state): removed function.
	* src/user_files.h: removed the state file name macro.

2009-02-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Unset the apt's log file (NB#90586)
    
	* src/apt-worker.cc (AptWorkerCache::Initialize): set the directory
	log to /var/log -which I assume it will always exist- and the log file
	to empty, so apt won't write log messages.

2009-02-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed the use of ai_ti_notice and ai_bd_notice_ok logical strings.
    
	* src/util.cc (scare_user_with_legalese): changed the dialog into a
	hildon confirmation note.

2009-02-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed the use of the docm_bd_replace_file_cancel logical string.
    
	* src/log.cc (save_log_cont): the success depends on the response: If
	we don't want replace the file, the "save" banner shouldn't be shown.
	(save_log): used the hildon-libs strings for Yes and No.

2009-02-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed the use of ai_bd_log_close logical string.
    
	* src/log.cc (show_log_dialog_flow): removed the unused cancel
	button. It's replaced by the outside tapping.

2009-02-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed the use of the ai_bd_search_cancel logical string
    
	* src/search.cc (show_search_dialog_flow): removed the unused cancel
	button. It's replaced by the outside tapping.

2009-02-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed the ai_bd_details_close logical string.
    
	* src/details.cc (spd_with_details): removed the ok button, it's not
	needed because the outtapping.

2009-02-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed the logical string ai_bd_repository_close.
    
	* src/repo.cc (show_catalogue_dialog): removed the unused close
	button. 

2009-02-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed the ai_bd_notice_cancel logical string.
    
	* src/operations.cc (ip_abort_cur): removed the cancel option because
	it is implied at tapping outside.
	* src/util.cc (scare_user_with_legalese): removed the cancel option
	because it is implied at tapping outside.
	
2009-02-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed the unused the ai_bd_confirm_cancel logical string.
    
	* src/operations.cc (ip_warn_about_reboot): removed the
	ai_bd_confirm_cancel logical string. 
	* src/util.cc (ask_yes_no_with_title): removed the
	ai_bd_confirm_cancel logical string.
	(ask_yes_no_with_details): removed the ai_bd_confirm_cancel logical
	string.
	(ask_yes_no_with_arbitrary_details): removed the ai_bd_confirm_cancel
	logical string.

2009-02-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed deprecated information banners.
    
	* src/main.cc (restore_packages_flow): changed ai_ib_nothing_restore
	with ai_ni_all_installed.
	* src/util.cc (packages_list_insensitive_ok_button): removed function.
	(package_selected_toggled_callback): removed the insensitive_press
	signal connection for the ok button.

2009-02-18  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed the banner display when a disabled toolbar button is pressed. 
    
	* src/main.cc (show_view): taked out unused parameter from function
	set_operation_label.
	(installed_package_selected): taked out unused parameter from function
	set_operation_label.
	(make_install_section_view): taked out unused parameter from function
	set_operation_label.
	(make_upgrade_applications_view): taked out unused parameter from
	function set_operation_label.
	(make_uninstall_applications_view): taked out unused parameter from
	function set_operation_label.
	(set_operation_label): changed the function signature and don't save
	the insensitive label.
	(set_operation_callback): taked out unused parameter from function
	set_operation_label.
	(insensitive_press): removed function.
	(insensitive_operation_press): removed function.
	(create_toolbar): removed the insensitive_press callback connection
	for the toolbar buttons.

2009-02-18  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Removed the banner display when a disabled menu item is pressed.
    
	* src/menu.cc (insensitive_press): removed function.
	(add_item): changed the function signature and removed the
	insensitive_press callback assignation.
	(add_menu): taked out the extra parameter in add_item.
	(insensitive_operation_press): removed function.
	(set_operation_menu_label): changed the function signature and taked
	out the unsensitive label setting.
	(create_menu): taked out the extra parameter in add_item and removed
	the insensitive_press callback connection for each menu items.
	(create_package_menu): taked out the extra parameter in add_menu.
	* src/menu.h: reflect the function signature modifications.
	* src/util.cc (make_global_package_list): taked out the extra
	parameter in create_package_menu.
	* src/main.cc (set_operation_label): taked out the extra parameter in
	set_operation_menu_label.

2009-02-18  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Handle the delete-event for the status-menu-item's dialogs (NB#102047)
    
	* statusbar/ham-notifier.c (ham_notifier_dialog_response_cb):
	validated the response type.
	(ham_notifier_dialog_delete_cb): new callback function to ignore the
	delete-event.
	(ham_notifier_button_clicked_cb): handle the delete-event of the
	dialog. 
	* statusbar/ham-updates.c (ham_updates_dialog_response_cb): validated
	the response type.
	(ham_updates_dialog_delete_cb): new callback function to ignore the
	delete-event.
	(ham_updates_button_clicked_cb): handle the delete-event of the
	dialog. 

2009-02-17  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Avoided the "Painter's syndrome"
    
	* statusbar/ham-notifier.c (build_dialog_content): changed the append
	method for a more simple printf.
	* statusbar/ham-updates.c (build_category_string): changed the append
	method for a more simple printf.
	(build_category_title): changed the append method for a more simple
	printf.

2009-02-17  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Executes the check if and only if the alarm could be set.
    
	* statusbar/ham-updates-status-menu-item.c: (setup_alarm_now): run the
	service if the alarm is setup.

2009-02-13  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
	
	Hardcoded the new mountpoint for the internal MMC (N101683).
    
	* src/apt-worker.cc: INTERNAL_MMC_MOUNTPOINT is now
	/home/user/MyDocs. 
	(is_there_enough_free_space): verify if the macros are not null.
	
2009-02-12  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Adapted the menu to the current UI spec (N89415).
    
	* src/main.cc (window_state_event): removed the
	set_fullscreen_menu_check function call.
	* src/menu.cc (add_item_with_shortcut): removed.
	(add_check): removed.
	(add_sep): removed.
	(fullscreen_activated): removed.
	(set_fullscreen_menu_check): removed.
	(normal_toolbar_activated): removed.
	(fullscreen_toolbar_activated): removed.
	(create_menu): adapt the menu to the current UI spec

2009-02-12  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Use the logical string to show the device name.
    
	* src/main.cc (make_main_view): use the logical string to display the
	device name.

2009-02-12  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Updated the icons used in the package lists.
    
	* src/util.cc (package_info_func): updated the icons showed in the
	toolbars according to the spec. Honored the global_icons_initialized
	variable.
	
2009-02-12  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Updated the icons used in the toolbars.
    
	* src/main.cc (create_toolbar): updated the icons showed in the
	toolbars according to the spec.

2009-02-11  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Use ellipsize in the labels of the dialogs.
    
	* statusbar/ham-updates.c (build_category_string): remove our own
	ellipses. 
	(ham_updates_set_dialog_info): ellipsize the label.
	* statusbar/ham-notifier.c (ham_notifier_set_dialog_info): ellipsize
	the label.

2009-02-11  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Prevented show the toolbar in the main view (N93822).
    
	* src/main.cc (show_view): Checks if the requested view is the main
	view and hide the toolbar if it is. Otherwise set the current
	configuration value.
	(make_main_view): Changed to the new label strings. Comment out the
	configuration of the toolbar.
	(set_current_toolbar_visibility): if it is requested show the toolbar
	the current view is verified.

2009-02-11  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Initialize seen_notifications in order to shut the compiler.
    
	* statusbar/ham-notifier.c (ham_notifier_empty_seen_notifications):
	put NULL to seen_notification at the top of the function.
	
2009-02-11  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	 Removed all commented out code related to libhildon-help (N100882).
	
	* src/details.cc (spd_with_details): removed set_dialog_help call.
	(show_log_dialog_flow): removed set_dialog_help call.
	* src/main.cc (make_main_view): removed set_current_help_topic calls.
	(make_install_section_view): removed set_dialog_help call.
	(set_dialog_help): removed.
	(show_help): removed.
	(set_current_help_topic): removed.
	* src/operations.cc (uninstall_package): removed the help_topic
	parameter in ask_yes_no_with_details call.
	(if_details_reply): removed the help_topic parameter in
	ask_yes_no_with_details call.
	* src/repo.cc (show_cat_edit_dialog): removed set_dialog_help call.
	(show_catalogue_dialog): removed set_dialog_help call.
	* src/search.cc (show_search_dialog_flow): removed set_dialog_help
	call. 
	* src/util.cc (ask_yes_no_with_details): removed the help_topic
	parameter. 
	(show_deb_file_chooser): removed set_dialog_help call.
	* src/util.h: removed the help_topic in ask_yes_no_with_details
	signature. 

2009-02-11  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
	
	* statusbar/hn-app-pixbuf-anim-blinker.c: removed unused file.
	* statusbar/hn-app-pixbuf-anim-blinker.h: removed unused file.

2009-02-10  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Release 2.2.9

	Removed dependencies to hildon-help (NB#100882).
	
	* configure.ac: removed the hildon-help pkg-config check.
	* debian/control: removed the libhildonhelp-dev package depenency.
	* debian/changelog: notice the dependency removal.
	* src/menu.cc (create_menu): commented out the help menu item addition.
	* src/main.cc: commented out the hildon/hildon-help.h include.
	(set_dialog_help): commented out function.
	(show_help): commented out function.
	
2009-02-02  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	* hildon-application-manager.desktop: changed Icon and added
	X-Text-Domain. (NB#98870)

2009-01-29  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>	

	New software notifications and Software Updates notifications
	plugins. 
	
	* statusbar/Makefile.am (EXTRA_DIST): added ham-updates.desktop
	(hildonstatusmenudesktopentry_DATA): added ham-updates.desktop
	(hildondesktoplib_LTLIBRARIES): new plugin definition.
	(ham_updates_status_menu_item_la_SOURCES): update the source list for
	the plugin.
	* statusbar/ham-notifier-status-menu-item.c: new file.
	* statusbar/ham-notifier-status-menu-item.h: new file.
	* statusbar/ham-notifier.c: new file.
	* statusbar/ham-notifier.h: new file.
	* statusbar/ham-notifier.desktop: new file.
	* statusbar/ham-updates-status-menu-item.c: object rewrite.
	* statusbar/ham-updates.c: new file.
	* statusbar/ham-updates.h: new file.
	* statusbar/ham-updates.desktop: removed unused entry fields.
	* statusbar/transparent-icon.c: new file.
	* statusbar/util.c (ham_is_running): changed to dbus.
	(my_log): added the file name in the log message.
	(icon_load): new function.
	* statusbar/util.h: exported the new my_log signature and exported the
	icon_load function.	

2009-01-28  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Release 2.2.8

	Removed the use of libhildonwm.
	
	* statusbar/util.c (ham_is_running): always return false.

2009-01-28  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

	Release 2.2.7

	Replace update-notifier plugin for ham-updates-status-menu-item
	plugin. 
	
	* Makefile.am (SUBDIRS): added statusbar directory.
	(NOTIFIER_PKGS): added libhildonwm and conic.
	* debian/control: added libtime-dev as a build dependency.
	* src/Makefile.am: removed the compilation of the update-notifier.
	Commented out the compilation of the test_app_killer. Removed
	dependencies to unused header files.
	* src/hildon-update-notifier.desktop: removed.
	* src/hn-app-pixbuf-anim-blinker.c: moved to statusbar directory.
	* src/hn-app-pixbuf-anim-blinker.h: moved to statusbar directory.
	* src/update-notifier-conf.h: moved to statusbar directory.
	* src/update-notifier.c: removed.
	* src/update-notifier.h: removed.
	* statusbar/Makefile.am: new automake file for
	ham-updates-status-menu-item plugin.
	* statusbar/ham-updates-status-menu-item.c: new plugin code for
	hildon-desktop1.
	* statusbar/ham-updates-status-menu-item.h: new plugin code for
	hildon-desktop1.
	* statusbar/ham-updates.desktop: desktop definition for
	ham-updates-status-menu plugin.
	* statusbar/util.c: new file. Repository for misc functions.
	* statusbar/util.h: new file. Repository for misc functions.

2009-01-15  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 2.2.6.

	Removed use of deprecated libhildonwm.

	* configure.ac: Remove it from HAM_DEPS and NOTIFIER_DEPS.
	* src/Makefile.am (noinst_PROGRAMS): Don't build test-app-close.
	* src/update-notifier.c (ham_is_running): Always return true.
	* src/util.cc (close_apps): Do nothing.

2008-12-09  Victor Manuel Jaquez Leal  <vjaquez@igalia.com>

	* src/util.cc: removed the "update-notifier.h" include file.

2008-12-01  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/apt-worker.cc (encode_remove_summary): Only include newly
	broken packages as "needing" in the summary.

2008-11-27  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/apt-worker.cc (any_newly_or_related_broken): New, replaces
	any_related_broken.  We really shouldn't ignore newly broken
	packages. 
	(installable_status): Report non-related newly broken packages as
	conflicts.
	(encode_install_summary): Likewise.

2008-11-19  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/main.h (section_info): Removed symbolic_name field.  Added
	rank. Updated all users to speficy name and rank.
	* src/main.cc (nicify_section_name): Look into
	"hildon-application-manager-categories" textdomain for category
	translations.  Return NULL when no translations are found. 
	(compare_section_names): Take rank into account.
	* src/details.cc (spd_update_common_page): Use 'Other' when
	getting a NULL section name from nicify_section_name.

2008-11-18  Victor Manuel Jaquez Leal  <vjaquez@igalia.com>

	* src/util.cc (entertainment_response): Added DELETE_EVENT as
	CANCEL synonym.

2008-11-10  Victor Manuel Jaquez Leal  <vjaquez@igalia.com>

	* src/apt-worker: removed unused macros related to the temporal
	state.	
	
2008-11-12  Victor Manuel Jaquez Leal  <vjaquez@igalia.com>

	* src/util.cc src/util.h (volume_path_is_mounted_writable):
	unused function removed.

	* src/operations.cc (ip_install_one): removed the machinery for
	choosing the cache archive directory (alt_download_root) in the
	frontend.
	(ip_download_cur_reply): display the proper message to the user
	when the out of free space response is received.

2008-11-11  Victor Manuel Jaquez Leal  <vjaquez@igalia.com>

	* src/apt-worker-client.cc src/apt-worker-client.h
	(apt_worker_download_package): removed the alt_download_root
	parameter from the function signature.

	* src/apt-worker-client.cc (apt_worker_download_package): didn't
	send the alternative archive cache directory to the apt-worker.

	* src/apt-worker.cc (cmd_download_package): didn't receive the
	alternative archive cache directory from the frontend but send it
	back because the apt-worker now defines it.

	* src/operations.cc (ip_download_cur_reply): set the alternative
	archive cache directory in the closure provided by the apt-worker
	response.

	* src/apt-worker.cc (volume_is_readwrite): new function.
	(volume_path_is_mounted_writable): new function.
	(cmd_download_package): added the machinery for choosing the
	cache archive directory (alt_download_root) in the apt-worker.

2008-11-10  Victor Manuel Jaquez Leal  <vjaquez@igalia.com>

	* src/apt-worker.cc (is_there_enough_free_space): new function.
	(operation): returns out_of_space error if there's not enough free
	space in the cache archive directory.

	* src/apt-worker.cc (set_options): recieves the 'M' constant as
	indicator for enabling the download of packages in MMC.

	* src/settings.cc (backend_options): send the 'M' constant to the
	apt-worker if the download of packages in MMC is enabled.

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

	* src/log.cc (show_log_dialog_flow): admit also
	GTK_RESPONSE_DELETE_EVENT as close response for the log
	dialog (N91083).

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

	Clean the cache directories when a package download is cancelled

	* src/operations.cc: (ip_download_cur_reply) if the download is
	cancelled the cache directories are cleaned (N89688).

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

	Allow setting the options of the apt-worker during run-time, not
	just at startup.

	* src/settings.cc (update_backend_options, backend_options): New.
	Use them in all the right places.
	* src/apt-worker-client.cc (apt_worker_set_options): New.
	* src/apt-worker.cc (cmd_set_options, set_options): New.
	* src/main.cc (enable_refresh): Also set sensitivity in red-pill
	mode.

 	Make apt-worker more robust at detecting when a operation would
	leave broken packages behind.

	* src/apt-worker.cc (any_newly_broken): New.
	* src/apt-worker.cc (cmd_get_package_info): Use it instead of
	looking at just the number of broken packages.
	* src/apt-worker.cc (mark_for_install_1): Allow broken packages to
	be installed again.
	* src/apt-worker.cc (cmd_get_package_list): Also flag NowBroken
	packages as broken.
	* src/details.cc (spd_create_summary_page): List all package
	operations for broken packages.

 	Make red-pill mode non-permanent by default.

	* src/menu.cc, src/menu.h (set_settings_menu_visible): New, to
	make the Settings menu visible immediatly when the red-pill mode
	is activated.
	* src/repo.cc (pill_response): Call it.
	* src/settings.cc (red_pill_permanent): New setting.
	* src/settings.cc (load_settings): Set red_pill_mode to false
 	unless it is permanent.

2008-09-29  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 2.2.1

	Merged vjaquez-temp-state-cleanup.  The complete concept of a
	temporary state has been removed.  The only user of the concept,
	the card-install flow now simply adds the card catalogue
	temporarily to the configuration instead of switching to a
	complete separate configuration.  See the branch history for a
	detailed list of changes.

2008-09-26  Marius Vollmer  <marius.vollmer@nokia.com>

	Merged mvo-fremantle-port.

	Reboot by executing /sbin/reboot.  Don't call flash-and-reboot
	ever.

	* src/dbus.cc: Removed unused D-Bus name defines.
	(send_reboot_message): Removed.
	* src/apt-worker.cc: Removed APTCMD_FLASH_AND_REBOOT command,
	added APTCMD_REBOOT command.  Don't call flash-and-reboot during
	rescue.
	* src/operations.cc: Don't use APTCMD_FLASH_AND_REBOOT, just use
	APTCMD_REBOOT always.
	* doc/packaging.txt, NEWS: Deprectae flash-and-reboot flag.

	Use HAL to get battery information.

	* src/dbus.cc (check_battery_status): Removed.
	(enough_battery_p): New.
	* src/operations.cc (ip_install_one, ip_install_cur): Use it.
	(enough_battery_to_update): Removed.
	* configure.ac: Check for HAL.

2008-09-15  Marius Vollmer  <marius.vollmer@nokia.com>

	Make sure that system settings are loaded before using them.

	* src/hildon-application-manager-config.cc (update_conf): Call
	load_system_settings before calling write_sources_list.

	Support for generic system-wide settings, including defaults.

	* src/confutils.cc (system_settings, default_distribution,
	load_system_settings): New.
	* src/main.cc (main): Call load_system_settings.
	* src/apt-worker.cc (misc_init): Likewise.

	* src/hildon-application-manager-config.cc: Handle system settings.

	Get default distribution from system settings.

	* configure.ac (DEFAULT_DIST): Removed.
	* src/apt-worker.cc (find_catalogue_for_pkgfile): Use
	default_distribution instead of DEFAULT_DIST.
	(find_catalogues_for_item_desc): Likewise.
	* src/instr.cc (convert_catalogue, convert_compatibility_catalogues):
	Likewise.

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

	* src/util.cc: Removed !CAIRO_CELL_RENDERER code.
	(package_info_func): Only initialize default_icon and broken_icon
	once.

	* src/package-info-cell-renderer.c:
	(package_info_cell_renderer_set_property): Deal with NULL pixbufs.

	Include repository in package details.

	* src/main.h (struct package_info): Added repository field.
	* src/apt-worker-proto.h: New field in response.
	* src/apt-worker.cc (cmd_get_package_details): Find repository and
	include it in response.
	* src/details.cc (spd_get_details_reply): Retireve repository from
	response.
	* src/details.cc (spd_update_common_page): Show repository.

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

	* src/main.cc (MENU_HACK): New define to place the menu in the
	toolbar.
	(create_toolbar): Create menu button.
	(main): Attach menu to toolbar buttons.

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

	Make maemo-select-menu-location do nothing.

	* utils/Makefile.am: Don't use the launcher for
	maemo-select-menu-location.
	* maemo-select-menu-location (main): Just print warning and exit.
	Removed all the rest.

	Removed the 'essential' flag for catalogues.

	* src/repo.h: remove the essential tag documentation
	* src/repo.cc: (reformat) subs spaces for tabs
	(is_read_only_entry): function removed
	(cat_edit_response): use the the readonly flag for enabled/disable
	buttons
	(show_cat_edit_dialog): the readonly flag doesn't care for the
	dialog buttons, use the flag instead of the removed function
	(cat_selection_changed): simplify the boolean operation for
	sensitivity.
	(make_catcache_from_xexp): activation of the readonly flag

2008-08-29  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/operations.cc (ip_reboot_now, ip_flash_and_reboot_reply):
	Make sure that the interaction flow ends eventually even if the
	reboot does not happen.

	* src/util.cc (get_https_proxy): Fall back to "https_proxy"
	envvar.

	* src/settings.cc: Make red_pill_show_all and
	red_pill_show_magic_sys default to false.

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

	Released 2.2.0

	* src/apt-worker-client.cc, src/apt-worker-client.h,
	src/apt-worker.cc, src/details.cc, src/main.cc, src/operations.cc:
	Shut up some new warnings.  Be more const correct.  Put
	parentheses around assignments used as conditions.

	* src/dbus.cc (send_reboot_message): Do nothing when
	MCE_REBOOT_REQ is not defined.

	* configure.ac: Make libalarm dependency optional.
	* src/update-notifier.c: Only use alarm API when HAVE_LIBALARM_PKG
	is defined.

	* Makefile.am: Make sure DESTDIR is honored in all cases.
	(install-local): Create the directory where packages are supposed
	to drop their catalogue fragments.

2008-08-27  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/confutils.cc (backup_catalogues): Don't look at the
	"nobackup" flag, all information in /etc/h-a-m/catalogues is user
	data now and should be backedup.

	* src/catalogues.cc (write_user_catalogues): Save information for
	every package catalogue, not only the disabled ones.
	(read_package_catalogues): Likewise, when reading.
	(add_package_catalogues): Be noisy about catalogues without a 'id'
	element.  That will be a common error and we shouldn't be silent
	about it.  Expect "file" to be non-NULL.  Don't set the "nobackup"
	flag, it is unused now.

	* src/repo.cc (catalogue_name): Be robust against current_locale
	being NULL.

2008-08-26  Victor Manuel Jaquez Leal  <vjaquez@maemo.org>

	* src/package-info-cell-renderer.c
	(package_info_cell_renderer_finalize): validate strings for free,
	(package_info_cell_renderer_set_property): validate strings for
	substitution,
	(cell_get_state): helper function to obtain the cell state
	(package_info_cell_renderer_render): get rid of the cairo function
	calls

	* src/apt-worker.cc (cmd_get_catalogues): when update the
	catalogues and no user catalogue file is found, only save the user
	catalogues.
	(class AptWorkerState): remove unneeded attributes,
	(AptWorkerState::AptWorkerState): remove attributes
	initialization,
	(AptWorkerState::InitializeValues): remove attribute
	initialization,
	(AptWorkerState::Initialize): no parameter construction for
	temp_state,
	(AptWorkerState::SetAsCurrent): no attribute assignation
	(set_dir_cache_archives): no attributes assignation

	* src/apt-worker-client.cc (apt_worker_rm_temp_catalogues): new
	function
	* src/apt-worker-client.h: expose new function
	* src/apt-worker-proto.h: new apt-worker command

	* src/apt-worker.cc (handle_request): handle the new command,
	(misc_init) remove the temporal catalogues at the begining,
	(cmd_rm_temp_catalogues): new command handler
	(clean_temp_catalogues): remove temporal catalogues
	* src/instr.cc (eci_end): ask for temporal catalogues removal
	* src/repo.cc (rm_temp_catalogues_callback) new callback function,
	(rm_temp_catalogues): ask to apt-worker for the temporal catalogue
	removal
	* src/repo.h: new function exposure

2008-08-22  Victor Manuel Jaquez Leal  <vjaquez@maemo.org>

	* src/package-info-cell-renderer.c
       (package_info_cell_renderer_render):
       Honor the theme color properties in the cell widget (M3503)

2008-08-19  Victor Manuel Jaquez Leal  <vjaquez@maemo.org>

	* FUTURE: Added the task of "essential" tag removal
	* src/apt-worker.cc (myCacheFile::save_extra_info): added fflush
	op
	* src/confutils.cc (write_sources_list): added the fflush op
	* src/operations.cc (ip_ensure_network): ensure the network
	connection even with memory cards package installations
	* src/repo.cc (cat_selection_changed): the enabling of the edit
	and delete buttons are handled in case of catalogue packages
	* src/settings.cc (save_settings): added the fflush op
	* src/update-notifier.c (check_for_notifications_thread): added
	the fflush op
	* src/xexp.c (xexp_write_file): added the fflush op

2008-08-19  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/hildon-application-manager-config.cc (main): Fail with the
	usage message when no arguments are given to "set".  This might
	prevent people from accidentally wiping out their configuration
	when exploring.

	* configure.ac: Check for g_string_append_vprintf in the HAM_DEPS.
	Newer versions of glib have it.
	* src/log.cc (g_string_append_vprintf): Don't define our own
	g_string_append_vprintf if configure found it.

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

	* src/apt-worker.cc (flag_use_apt_algorithms): New.
	(main): Initialize it from the 'A' option.
	(mark_for_install, mark_for_remove): Do it the apt-get way when
	the flag is true.

	* src/settings.h, src/settings.cc (use_apt_algorithms): New.
	(load_settings, save_settings, make_settings_tab): Do the right
	things with it.
	* src/apt-worker-client.cc (start_apt_worker): Pass 'A' option to
	apt-worker when use_apt_algorithms is true.

2008-07-18  Victor Jaquez   <vjaquez@maemo.org>

	Merge of the predefined_catalogues branch

	* src/repo.cc (is_package_catalogue): New, informs if the
	processed catalogue is predefined in a package.
	(is_read_only_entry): New, informs if the entry to display is read
	only.
	(cat_edit_response): Add a new decision branch if the processed
	catalogue is a package catalogue, where the entries are read only
	and the only data to process is it disable/enable status.
	(show_cat_edit_dialog): more fine grain selection of the read only
	status for each entry.

	* src/Makefile.am: added catalgues.cc and catalogues.h files to
	compilation in targets hildon_application_manager_config_SOURCES
	and apt_worker_SOURCES

	* src/apt-worker.cc: added catalogues.h header
	(update_sources_list): replaced the xexp_write_file function call
	with the write_user_catalogues
	(cmd_check_updates): replaced xexp_read_file with read_catalogues
	(cmd_get_catalogues): replaced xexp_read_file with read_catalogues

	* src/catalogues.cc, src/catalogues.h: New files

	* src/hildon-application-manager-config.cc: added catalogues.h
	header
	(read_conf): replaced xexp_read_file with read_catalogues
	(write_conf): replaced xexp_write_file with  write_user_catalogues
	(handle_file): added a xexp_free (memleak)
	(main): added a xexp_free (memleak)

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

	* src/util.cc (make_global_package_list): Don't install a
	tap-and-hold menu when not building for maemo's Gtk.

	* src/repo.cc (add_entry): Don't mess with the "hildon-input-mode"
	property when not building for maemo's Gtk.

2008-07-16  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/operations.cc: Use get_display_version instead of
	available_version in all the right places.

2008-07-15  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/main.h, src/main.cc (package_info::get_display_version):
	New.
	* src/util.cc (package_info_func): Use it instead of explicit
	code.
	* src/operations.cc (ip_install_with_info): Use it for the
	confirmation dialog.
	(ip_download_cur): Use it for the progress title.
	(uninstall_package): Use it for the confirmation dialog.

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

	Released 2.1.16

	* src/util.cc (package_info_func): Hide epoch of version (N86191).

	* src/apt-worker.cc (AptWorker::Initialize): Add "--force-optold"
	to dpkg options.

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

	Released 2.1.15

	* src/log.cc (save_log_do_nothing): New, used as the continuation
	for all calls to annoy_user_with_gnome_vfs_result so that the URI
	is not freed prematurely (N80933).
	(save_log): Set success to false when gnome_vfs_create failed.  Do
	not use save_log_cont_2, free uri explicitly at then end.
	(save_log_cont_2): Removed.

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

	Released 2.1.14

2008-06-05  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/log.cc (save_log_cont): Take care of setting the value for
	last_save_log_dir to the last used one only when the process
	succeeded, and empty it when it failed (N80933).
	(save_log): Remove the previously stored dir here too if failed
	because of a GNOME_VFS_ERROR_NOT_FOUND error (N80933).

2008-06-04  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/update-notifier-conf.h: Defined the constant
	AVAILABLE_UPDATES_FILE_NAME (N85812).

	* src/update-notifier.c (osso_rpc_handler): Don't ignore it the
	first time that the alarm goes off (N85812).
	(handle_inotify): Use AVAILABLE_UPDATES_FILE_NAME instead of a
	hardcoded string (N85812).

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

	Released 2.1.13

2008-06-03  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/repo.cc (repository_uri_is_valid): Look for blanks in the
	URI field, which is not going to be allowed from now on. Do
	exactly the same checks for all the availble methods (N86066).
	(cat_edit_response): Just call to repository_uri_is_valid when
	validating the repository URI field (N86066).

	* src/util.cc (volume_path_is_mounted_writable): Try to write a
	dummy file to be completely sure, since GnomeVFS is not always
	up-to-date about the read-only status of a partition (N85947).

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

	* src/apt-worker.cc (update_package_cache): Restore
	"Dir::State::Lists" to the true original value, not the one that
	FindDir has computed for us (N86181, N86094).

2008-05-29  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/update-notifier.c (setup_alarm): Set the Gconf value for
	check_interval to the default value if no key was found (N76679).

2008-05-29  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/log.cc (save_log): Don't unescape nor convert the passed URI
	to a local path, just store it as it is (N80933).
	(log_response): Add the "file://" prefix when needed (N80933).

	* src/util.cc (show_file_chooser_for_save): Use an URI instead of
	a local path for setting the current folder for the file chooser,
	that is, use gtk_file_chooser_set_current_folder_uri (N80933).

2008-05-29  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/apt-worker.cc (myDPkgPM::CheckDownloadedPkgs): Code
	cleaning.
	(cmd_download_package): The cache is not reset after downloading
	packages.

	* src/operations.cc (ip_download_cur_reply): We show a pulsating
	progress bar to the user while the packages that are going to be
	installed are checked (N85962).

2008-05-28  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 2.1.12

	* src/settings.h, src/settings.cc (red_pill_ignore_wrong_domains):
	New.  Do all the right things with it.
	* src/apt-worker-client.cc (start_apt_worker): Include 'D' in
	options according to red_pill_ignore_wrong_domains.

	* src/apt-worker.cc (cmd_get_package_info): Only gather the flags
	of packages that are related to the current operation, but also
	include packages that will be reinstalled or configured.
	(flag_allow_wrong_domains): New.
	(myPolicy::GetCandidateVer): Use it to control whether versions
	from a wrong domain get rejected.
	(main): Set flag_allow_wrong_domains from the new 'D' option.

	* src/util.h, src/util.cc (volume_path_is_mounted)
	(volume_path_is_mounted_writable): Renamed former to latter,
	changed all users.  Don't call call_copy_cont, that is just wrong.
	Return FALSE for volumes that are mounted but read-only (N85947).

	* src/apt-worker.cc (cmd_get_package_list): Offer an available
	version for all broken packages, not just for the ones that need
	re-installation.

	* src/util.cc (package_info_func): Always use the broken icon for
	brokenly installed packages, not just in the "Installed
	applications" view.

2008-05-26  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/apt-worker.cc (myDPkgPM::CheckDownloadedPkgs): This function
	checks all of the downloaded packages and optionally deletes the
	corrupted ones, so they don't stick in the cache and can be
	downloaded again (N85951).

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

	Released 2.1.11

2008-05-22  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/apt-worker.cc (myDPkgPM::CheckDownloadedPkgs): This function
	now tries to use first the SHA256 checksum if it is available; if
	it isn't, it tries to use SHA-1, and if that isn't available
	either it tries with MD5.  I added additional checks for the case
	when the file path is empty or the file doesn't exist (N85300).

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

	* src/apt-worker.cc (CheckDownloadedPkgs): Use CandidateVer
	instead of GetCandidateVer to avoid recomputing the candidate
	version.

2008-05-22  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/apt-worker.cc (myDPkgPM::CheckDownloadedPkgs): this function
	checks the package files that are about to be installed using
	their MD5 sum. If one of the files is corrupted, it adds a line to
	the log and returns false.
	(class myDPkgPM): added the function
	myDPkgPM::CheckDownloadedPkgs()
	(operation): Uses myDPkgPM::CheckDownloadedPkgs() before
	performing the isntallation of the downloaded packages. If one of
	the files to be installed is corrupted, the error code
	"rescode_package_corrupted" is returned.  Partially fixes N85300.

2008-05-22  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/main.cc (restore_packages_flow): Check if there's a
	packages.backup file under /var/lib/hildon-application-manager
	before trying to restore a backup (N83585).

	* hildon-application-manager.sh: Check if file pointed by $pkgs
	exists before trying to copy it to /home/user (N83585).

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

	* src/apt-worker.cc: Move extra_info array and related functions
	from AptWorkerState to myCacheFile so that it is available more
	cleanly for myPolicy.  Updated all users.

2008-05-21  Marius Vollmer  <marius.vollmer@nokia.com>

	Ignore packages from the wrong domain. (N85305)

	* src/apt-worker.cc: Use CandidateVerIter instead of
	GetCandidateVer throughout to get the candidate version.  The
	latter will recompute the candidate on every call, which is not
	needed.
	(myPolicy): New, for implementing a custom version of
	GetCandidateVer.
	(myCacheFile): New, for installing a myPolicy object as the policy
	engine.
	(load_extra_info, ensure_extra_info): Renamed former to latter and
	changed so that it can be called at any time and more than once
	without harm.  This is needed because GetCandidateVer needs to
	load the domain information on demand.
	(set_sources_for_get_domain): New, use it instead of setting
	cur_sources directly.

2008-05-21  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/repo.cc (show_catalogue_dialog): Make sure that the packages
	cache is updated before showing the catalogues dialog (N85122).
	(ensure_cache_updated): Find out when the packages cache needs to
	be refreshed or not before showing the catalogues dialog (N85122).
	(ecu_reply): Shows the catalogues dialog as usual after a forced
	refreshing of the packages cache (N85122).

	* src/util.h, src/util.cc (load_last_update_time): New, moved from
	main.cc to be also used from util.cc (N85122).
	(save_last_update_time): New, moved from main.cc (N85122).
	(is_package_cache_updated): New function to find out whether the
	packages cache is up to date or not (N85122).

	* src/main.h, src/main.cc (load_last_update_time): Moved to
	util.cc (N85122).
	(save_last_update_time): Removed to util.cc (N85122).
	(maybe_refresh_package_cache_without_user): Use the new function
	is_package_cache_updated instead of the old code (N85122).
	(update_seen_updates_file): Removed an unused variable.

	* src/apt-worker.cc (update_sources_list): New function to write
	the sources.list file based on the 'catalogues' file (N85122).
	(cmd_check_updates): Make sure that the source.list and
	'catalogues' files are synchronized before refreshing (N85122).
	(cmd_set_catalogues): Use function update_sources_list (N85122).

2008-05-19  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/menu.h, src/menu.cc (set_operation_menu_item_sensitiveness):
	New function to set the sensitiveness for the menu item used to
	perform the current available operation (N85121).
	(create_package_menu): Added a new parameter to set a text to be
	printed when on the item while it's dimmed (N85191).

	* src/main.cc (installed_package_selected): Set the sensitiveness
	for the operation application menu item depending on the
	pkg_system_update flag (N85121).
	(update_seen_updates_file): New function to be used both from
	make_upgrade_applications_view, as usual, and from the new
	callback function is_topmost_cb (N85196).
	(make_upgrade_applications_view): Use the new function
	update_seen_updates_file (N85196).
	(is_topmost_cb): Update the seen-updates file if the window is top
	most again and the "Check for updates" view is selected (N85196).
	(main): Connect to the "notify::is-topmost" signal (N85196).

	* src/util.cc (package_info *current_package_info): New global
	variable to keep track of the currently selected package on a
	packages list (N85191).
	(global_selection_changed): Update the new global variable
	current_package_info whenever the global selection has changed,
	and done some code cleanup (N85191).
	(tap_and_hold_cb): New function to properly set the sensitiviness
	of the operation item in the CSM (N85191).
	(make_global_package_list): Create the CSM specifying a
	insensitive text and connecting the "tap_and_hold" signal when
	needed, that is, when creating the "uninstall apps" view (N85191).
	(start_entertaining_user): Force a size_request for the main label
	in order to get the line wrapping working properly (N85387).

	* src/operations.cc (ip_install_cur_reply): Call save_backup_data
	right after successfully installing a package (N85447).
	(ip_end): Don't call to save_backup_data here, it's not needed
	anymore since it's called in ip_install_cur_reply (N85447).

2008-05-15  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/main.cc (make_install_applications_view) : Use the Help topic
	"packagesview" instead of "sectionsview" for the "Browse installable apps."
	view that displays the list of sections (N85521).

2008-04-29  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/log.cc (save_log): Unescape the Gnome VFS uri before storing
	it in the global variable last_save_log_dir (N80933).

	* src/log.cc (cat_edit_response): Automatically remove or add a
	trailing "/" to the 'dist' field depending on the 'components'
	field, which could be empty or not.

	* utils/maemo-select-menu-location-main.c (dialog_exposed):
	Restore the gdk_window_raise statement, which was removed by
	mistake with revision 1109 (N84021).

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

	Released 2.1.10

	* src/hildon-application-manager-config.cc (read_conf): Do not
	abort when a file can not be read.  Just reset the corresponding
	configuration.

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

	* src/main.cc (search_packages_reply): Call sort_all_packages so
	that the search results are sorted as well (N83776).

2008-04-23  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* util.cc (make_global_package_list) : Code cleanup.
	(package_selected_toggled_callback) : Deleted two lines that
	caused warnings.

	* package_info_cell_renderer.c
	(package_info_cell_renderer_set_property) : Use g_strstrip() on
	the 'description' string. Use g_object_ref instead of duplicating
	the pixbuf.
	(package_info_cell_renderer_get_size) : Entries without a
	'description' field won't be expanded.
	(package_info_cell_renderer_render) : Entries without a
	'description' field won't be expanded.

	* main.cc (install_from_file_flow) : Fix a CRITICAL warning
	because we called gnome_vfs_get_uri_from_local_path with an URI
	instead of an absolute path.

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

	* src/package-info-cell-renderer.h,
	src/package-info-cell-renderer.c: New.
	* src/Makefile.am: Compile them.

	* src/util.cc [CAIRO_CELL_RENDERER]: Use the new
	PackageInfoCellRenderer instead of the nested cell renderers from
	Modest.  This gives much better performance (N84324).

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

	Released 2.1.9

	* src/update-notifier.c (update_notifier_finalize): Do not call
	gtk_signal_handler_disconnect on priv->button.  See the comment.

	* src/settings.cc (red_pill_check_always): Set to false as
	default.

	* src/confutils.cc, src/confutils.h (notifier_equal): Removed.
	* src/hildon-application-manager-config.cc (handle_generic_element):
	Make element_description a parameter.
	(handle_alist_element): New.
	(handle_element): Use it for the notifier elements.
	(main): Append the whole notifier configuration as one element.
	(prepend): Removed, configuration lists are unsorted.

	* src/update-notifier.c (struct _UpdateNotifierPrivate): Added
	inotify_io_watch_id and child_watch_id.
	(setup_inotify): Remember source id for the inotify channel watch.
	(check_for_updates): Remember source id for the child watch.
	(check_for_updates_done): Reset it.
	(update_notifier_finalize, clenaup_inotify): Remove the two
	sources (N84597).

	Make the "Checking for updates" operation cleanly cancellable.

	* src/main.cc (rpcwu_cancel): New.
	(rpcwu_with_network): Call set_entertainment_cancel with it.
	(rcpwu_clos, rpcwu_clos): Renamed former to latter, changed all
	users.
	(maybe_refresh_package_cache_without_user): Partially reverted
	change from 2008-04-15: only check when the 'check_interval' has
	passed or red_pill_check_always is true, irrespective of red-pill
	mode.
	(create_toolbar): Put refresh button in toolbar when
	red_pill_check_always is false.

	* src/apt-worker.cc (download_lists, update_package_cache): Split
	downloading out of update_package_cache.  Fail immediately when
	the download has been cancelled by checking the return value of
	Fetcher.Run more carefully.  'Transactionize' index downloading by
	working in a temporary directory and only replacing the old lists
	with the new when the downloading has succeeded.

2008-04-22  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/util.h, src/util.cc set_entertainment_system_modal): New
	function to convert the entertainment dialog into a system modal
	dialog.

	* src/operations.cc (ip_warn_about_reboot_response): Call to
	set_entertainment_system_modal right after starting the
	installation of a package which requires to reboot.

	* utils/maemo-confirm-text-user.c: Done a cleanup of unused code
	since changes done to make the dialog system modal.
	(find_window_1): Removed.
	(find_window): Removed.
	(find_application_manager_window): Removed.
	(dialog_realized): Removed.
	(main): Removed connection to signal "realize" for the dialog.

2008-04-21  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/apt-worker.cc (find_catalogues_for_item_desc): Return a
	GList of catalogues matching the item's URI instead of just one
	element, cause one error could belong to several items (N84465).
	(update_package_cache): Look for a list of catalogues matching a
	failing URI to properly add each error to all of them (N84465).

2008-04-17  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/util.cc (start_entertaining_user): Use GDK hints instead of
	gtk_widget_set_size_request for setting a fixed width for the
	dialog, since it behaves better when it's needed for the dialog
	to both grow and shrink as the main label changes (N83057)

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

	* src/apt-worker.cc (rescue_operation_with_dir): Call DumpErrors
	to prevent pending errors to leak into the next operation.

2008-04-16  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/util.cc (ENTERTAINMENT_DIALOG_MIN_WIDTH): Removed.
	(ENTERTAINMENT_DIALOG_MAX_WIDTH): Removed.
	(ENTERTAINMENT_LABEL_MAX_WIDTH): Removed.
	(ENTERTAINMENT_DIALOG_WIDTH): New, used to set a fixed size for
	entertainment dialogs.
	(entertainment_update_title): Removed code for rezizing the dialog
	or ellipsizing the text depending on the final length of the text
	to be shown as the main label.
	(start_entertaining_user): Removed code for resizing the dialog or
	ellipsizing the text of the main label, and just set the dialog
	width to a fixed size (550px), and activated the "line wrap" mode
	for such that label.

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

	* src/settings.h, src/settings.cc (red_pill_check_always): New.
	Handle it in all the right places.
	(make_settings_tab): Put the settings in a scrolled window.
	* src/main.cc (maybe_refresh_package_cache_without_user): Always
	call refresh_package_cache_without_user in blue-pill mode, but use
	red_pill_check_always in red-pill mode to determine whether to
	call it (N83308).
	(create_toolbar): Revert change from 2008-04-14: only include
	refresh button in red-pill mode (N83308).

2008-04-15  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/main.cc (installed_package_activated) : If the user taps on a
	system update, a banner "ai_ni_unable_to_uninstall_system_update" is
	shown. This is for consistency with the changes on 2008-04-14.

	* src/hildon-application-manager-util : launch ham-after-boot in the
	background, so we avoid blocking (N84254).

2008-04-14  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* utils/maemo-select-menu-location-main.c (run_move_to_dialog) : This
	function returns NULL if the dialog is closed with the ESC key
	(N84151).

	* src/main.cc (installed_package_selected) : The "Uninstall" button is
	dimmed if a package with the "system-update" Maemo flag is selected; if
	the user taps on the button, a banner displaying
	"ai_ni_unable_to_uninstall_system_update" is shown.

	* src/details.cc (spd_create_common_page) : The empty dimmed table
	won't be shown any more.
	(spd_update_common_page) : In the details dialog, if the package
	has a size of 0 KB the "Size" field won't be shown. Similarly, the
	fields "short description", "installed version", "available
	version" and download size" won't appear if they are
	empty (N84073).

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

	* src/main.cc (refresh_package_cache_without_user): Call
	ensure_network, stupid (N83308).
	(rpcwu_with_network): New.

	* Makefile.am (install-data-local, uninstall-local):
	Install/uninstall "notifier" file.

	* src/main.cc (create_toolbar): Enable refresh button also in blue
	pill mode (N83308).
	(enable_refresh): New.  Call it appropriately when constructing
	views: insensitive in the "Main", "Installed applications", and
	"Search" views, sensitive otherwise.

2008-04-14  Mario Sanchez Prada  <msanchez@maemo.org>

	* utils/maemo-select-menu-location-main.c (dialog_exposed): Use
	gdk_window_raise instead of gdk_window_set_keep_above to avoid
	being on top of everything (no only the HAM) (N84021).

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

	* src/update-notifier.c (expensive_connection): New.
	(check_for_updates): Use it to avoid checking when connected to a
	expensive connection (N84026).

2008-04-11  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/log.cc (save_log): Remove the "file://" prefix, if present,
	before storing the last_save_log_dir variable (N80933).

	* src/update-notifier-conf.h (UPNO_GCONF_URI): Removed (N83956).
	(UPNO_NOTIFIER_CONF): New define pointing to the new configuration
	file at /etc/hildon-application-manager/notifier (N83956).

	* src/update-notifier.c (get_notifier_uri): New function to easily
	retrieve the URI for checking new notifications (N83956).
	(check_for_notifications_thread): Stop using the GConf value for
	the URI and use the new function instead (N83956).
	(UPNO_GCONF_OLD_URI): New define pointing to the former GConf path
	for the URI value (N83956).
	(load_state): Use the new UPNO_GCONF_OLD_URI to unset the variable
	from GConf if present (N83956).

	* src/hildon-application-manager-config.cc (read_conf): Read the
	new configuration file for the notifier (N83956).
	(reset_conf): Reset the new configuration file (N83956).
	(write_conf): Write the new configuration file (N83956).
	(handle_element): Handle the new configuration file, using a new
	function defined for comparison (N83956).
	(main): Also dump notifier configuration (N83956).

	* src/confutils.h (NOTIFIER_CONF): New define pointing to the new
	configuration file (N83956).

	* src/confutils.h, src/confutils.cc (notifier_equal): New function
	to be used from handle_element, commented above (N83956).

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

	* README: Removed the "Remove "Cancel" button from 'Uninstalling'
	progress note", since it's an already fixed bug.

	* hildon-application-manager.sh: Always copy the packages.backup
	file from /var/lib/hildon-application-manager (N83585).

2008-04-09  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/apt-utils.h (APT_METHOD_PATH): Location of the methods that
	APT can use to retrieve lists of packages.
	* src/repo.cc (repository_uri_is_valid): This function checks that
	the given repository location can be used by APT; basically, its
	format must be <valid APT method>:<address>
	(cat_edit_response): Updated so it uses the previous function to
	validate the repository address entered by the user; it also
	removes leading and trailing whitespaces from it (N83553).

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

	* src/apt-utils.h, src/apt-utils.cc: New.
	* src/Makefile.am: Use them for the hildon-application-manager.
	Link it with libapt-pkg.
	* src/main (CmpFragment, DoCmpVersion): Removed.
	(compare_versions): Use the new compare_deb_versions from
	apt-utils.h instead.

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

	* src/main.cc (CmpFragment, DoCmpVersion): New, from libapt-pkg.
	(compare_versions): Use them instead of doing it ourselves.

2008-04-07  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/main.cc (compare_versions) : instead of simply using
	g_ascii_strcasecmp, now we split the version strings and
	compare them token by token (N83764).

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

	* src/util.h, src/util.h (start_entertaining_user): Added a new
	parameter, with_button, to allow creating an entertaining dialog
	without cancel button when needed. Updated callers (N75393).

	* src/operations.cc (ip_ensure_network): Updated so it now calls
	to start_entertaining_user with TRUE (N75393).
	(ip_abort_response): Likewise (N75393).
	(if_install): Likewise (N75393).
	(up_remove_with_info): Updated so it now calls to
	start_entertaining_user with FALSE (N75393).

	* src/main.cc (refresh_package_cache_without_user): Updated so it
	now calls to start_entertaining_user with TRUE (N75393).

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

	* src/operations.cc (ip_download_cur_retry_confirm): Do not ask
	whether to retry, we don't have the UI strings for that.  (Shame
	on me.)

2008-04-03  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/repo.cc (show_catalogue_dialog): call to allow_updating()
	after the dialog has been shown, to avoid possible
	overlaps (N83505).

2008-04-03  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/main.cc (get_package_list_reply_temp): Set the global
	variable package_list_ready to its correct value (N83547).

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

	Released 2.1.8

	* src/operations.cc (ip_install_with_info): Only show packages
	that are not installed at all for a restore operation (N83477).

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

	* src/util.h, src/util.cc (set_entertainment_main_title): Added
	'strong' argument for setting the strong_main_title attribute
	explicitly.
	(set_entertainment_main_title): Do not set the strong_main_title
	attribute to false, that would defeat its purpose.
	(ensure_network_cont): Reset subtitle since we are done.
	* src/main.cc (refresh_package_cache_without_user): Make the main
	title strong (N82724).

	* src/dbus.cc (receive_battery_status_update): Initialize msg.

	Do not store the update-notifier state in GConf (N83578).

	* src/user_files.h (UFILE_UPDATE_NOTIFIER, UFILE_LAST_UPDATE):
	New.
	* src/update-notifier-conf.h (UPNO_GCONF_STATE,
	(UPNO_GCONF_ALARM_COOKIE, UPNO_GCONF_LAST_UPDATE): Removed.
	* src/main.cc (save_last_update_time, load_last_update_time): New.
	(rpcwu_reply, maybe_refresh_package_cache_without_user): Use them
	instead of the UPNO_GCONF_LAST_UPDATE key.
	* src/update-notifier.c: Define _GNU_SOURCE to get the prototype
	of getline.
	(upno_state): New type.
	(UpdateNotifierPrivate): Use it instead of just icon_state.
	(load_state, save_state): New.
	(set_icon_visibility): Don't store into GConf, call save_state
	instead.
	(update_icon_visibility): Don't look into GConf.
	(setup_alarm): Likewise.
	(gconf_state_changed): Removed.
	(setup_gconf): Don't listen for UPNO_GCONF_STATE anymore.
	(check_for_updates_done): Call save_last_update_time instead of
	storing into GConf.

	New program ham-after-boot that displays a information note when
	the Application manager has restarted the device after a system
	update. (N79211)

	* src/ham-after-boot.c: New.
	* src/hildon-application-manager-util: Handle "start" and "stop"
	commands.
	* src/Makefile.am: Add ham-after-boot as a maemo-launched
	application.
	* src/user_files.h (UFILE_BOOT): New.
	* src/operations.cc (ip_reboot_now): Write the boot reason into
	UFILE_BOOT so that ham-after-boot can find it.

	* src/operations.cc (ip_reboot, ip_reboot_delayed): Show the
	"Restarting" banner after getting the package list.

	* src/apt-worker.cc (do_rescue): Call erase_operation_record here
	after trying all rescue options.
	(cmdline_rescue): Don't call it here before starting the rescue.

	* src/util.cc (size_string_general_or_empty): New.
	(global_size_func): Use it to show an empty string instead of "0
	kB".
	(package_info_func): Do not show the "description-renderer" when
	the description is empty.

	* hildon-application-manager.sudoers, src/Makefile.am,
	src/apt-worker-bin.cc, src/apt-worker.cc, src/main.cc (main):
	Renamed "apt-worker.bin" back to "apt-worker".  This also fixes
	the bug in update-notifier.c that was still using the "apt-worker"
	name (N81017).

2008-04-02  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/update-notifier.c (create_new_updates_menu): Added some
	extra checks to avoid risky situations that could lead to invalid
	memory reads (N83127).
	(create_new_notifications_menu): Likewise (N83127).
	(handle_inotify): Likewise (N83127).

	* src/repo.cc (show_cat_edit_dialog): Don't use an scrolled window
	for both the read-only and the read-write version of the dialog,
	just for the read-only version only.

	* utils/maemo-select-menu-location-main.c (run_move_to_dialog):
	Wide the dialog to behave always as if it had three buttons
	instead of one, so the title fix in every language (N83429).

2008-04-01  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* repo.cc (cat_dialog_closure): added a pointer to the "New" button
	(show_catalogue_dialog): when the dialog is created, the "New" button
	is insensitive
	(scd_get_catalogues_reply): set the "New" button sensitive after the
	repositories have been set. Partial fix for N83462.

	* repo.cc (insensitive_cat_edit_press): show a banner with
	"ai_ib_unable_edit"
	(show_catalogue_dialog): on "insensitive_press" on the Edit
	button, a banner is shown using insensitive_cat_edit_press()
	(N83422).

	* xexp.c (xexp_rest, xexp_rest, xexp_is_text): NULL ckeck.
	Partial fix for N83462.

	* src/util.cc : defined ENTERTAINMENT_LABEL_MAX_WIDTH, the max. width
	of the title label in the entertainment dialog.
	(start_entertaining_user, entertainment_update_title): if the title
	label is wider than ENTERTAINMENT_LABEL_MAX_WIDTH it will be
	ellipsized and its required width will be the same as if it hadn't
	been ellipsized (ellipsized labels only require size for the '...',
	so by doing this we force the resizing of the dialog). This is an
	improvement on the fix for N83057.

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

	* src/update-notifier.c (str_substitute): Handle NULL strings
	without a critical warning.

2008-04-01  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/util.h, src/util.cc (entertainment_update_title): Moved code
	for ellipsizing the main title text, and better setting the size
	of dialog to its right place (N83057).
	(show_file_chooser_for_save): Added a new parameter to allow
	setting the default folder from the calling fuction (N80933).

	* src/log.cc (gchar *last_save_log_dir): New global variable to
	store the last accesed path for saving the log (N80933).
	(save_log): Store the last path used for saving the log (N80933).
	(log_response): If there's a path available to use as the last
	path used, use it, otherwise use $HOME/Mydocs/.documents (N80933).

2008-03-27  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* main.h (struct package_info) : make installed_size field of type
	int64_t instead of int (N82350).

2008-03-27  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/settings.cc (show_settings_dialog_flow): Do not pass button
	labels through gettext.  They are not translated and just confuse
	the l10n checker.

2008-03-27  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/main.cc (compare_package_installed_names): Don't call to
	compare_system_updates in order not to make the OS package to be
	always on top of a packages list under a view different than
	"Check for updates" view (83096).
	(compare_package_installed_versions): Likewise (83096).
	(compare_package_installed_sizes): Likewise (83096).

2008-03-26  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/util.cc (global_package_list_key_pressed): Avoid jumping to
	the breadcrumb trail when pressing the down hardkey while in the last
	item of the packages list (N80270).

2008-03-25  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 2.1.7

	Added the apt-worker "rescue" command.

	* src/apt-worker-bin.cc (save_operation_record)
	(erase_operation_record, read_operation_record)
	(CURRENT_OPERATION_FILE): New, for keeping a journal of the
	current operation.
	(cmd_install_package): Use them.
	(operation): Added optional "allow_download" and "with_status"
	parameter.  Call set_dir_cache_archives unconditionally.  Call
	sync() after downloading so that we have a better chance of
	finding all packages when rescuing this operation.
	(run_system, rescue_operation_with_dir, rescue_operation_with_dev)
	(rescue_operation_with_devnode, rescue_with_all_devs)
	(rescue_with_all_devnodes, show_fb_text, show_fb_status)
	(interpret_pmstatus, fork_progress_process, do_rescue)
	(cmdline_rescue): New.
	(usage, main): Recognize "rescue" command and call cmdline_rescue
	for it.

	* src/util.cc (entertainment_subtitles): New, to control which
	variant of the entertainment dialog is used.
	(entertainment_update_title, start_entertaining_users): Use it
	instead of red_pill_mode.

	* src/menu.cc (create_menu): Remove unused GError variable.

	* src/operations.cc (ip_reboot): Use a information banner instead
	of a information note to announce the imminent restart.

2008-03-25  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* user_files.c (user_file_open_for_read) : substitute problematic
	piece of code to copy two files with a single call to rename()
	(N82556).

2008-03-24  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* main.cc (create_toolbar) : put the "Search" button before the
	"Details" button (N82785).

2008-03-11  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* apt-worker-bin.cc (get_apt_worker_lock) : try to get the lock
	five times before giving up and exiting (N82152).

2008-03-12  Mario Sanchez Prada  <msanchez@maemo.org>

	* utils/maemo-select-menu-location-main.c (run_move_to_dialog):
	Set a minimum size for the 'Change folder' dialog so it looks at
	least as wide as if it had the three buttons (N80831).

	* utils/maemo-confirm-text-user.c (dialog_exposed): Removed, since
	it won't be needed from now on as the dialog will be system modal,
	so no 'weird' visual effects could happen because of interacting
	with other applications while the dialog is not closed (N81462).
	(dialog_realized): Make the dialog 'system modal' (N81462).
	(main): Make the dialog modal. Removed the handler connection for
	the 'exposed' signal (N81462).

	* src/menu.cc (create_menu): Fixed a memory leak regarding to the
	dimming rule for the 'restore backup' menu item. Fixed a bug about
	not dimming the 'restore backup' menu item when the related
	packages.backup file does not exist on disk (N81709).

2008-03-12  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* main.cc (view_section) : NULL check
	* util.cc (unref_section_info) : unrefs a section_info element
	(make_global_section_list) : refs section_info elements before
	setting them as the data of the buttons' callbacks; uses
	unref_section_info to unref them once the buttons are destroyed
	(N82316).

2008-03-11  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* main.cc (search_packages_reply) : small code correction

	* update-notifier.c (xexp_is_tag_and_not_empty) : checks whether
	a xexp is not NULL, has the given tag and isn't empty
	(compare_xexp_text) : gets the children with the given tag in two
	xexp and compares their texts
	(create_new_notifications_menu) : use xexp_is_tag_and_not_empty
	and compare_xexp_text for a cleaner code
	(handle_inotify) : if there are new notifications available, an empty
	SEEN_NOTIFICATIONS file is written; writing to this file will cause
	another call to handle_inotify() that will show the icon (N82179).

2008-03-11  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/operation.cc (ip_ensure_network): Use the
	ai_nw_preparing_installation l10n string when initializing the
	"entertaining user" progress bar dialog (N81445).

2008-03-10  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/user_files.c (user_file_open_for_read): Don't free the
	buffered string every time a line is read (N82048).

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

	* src/update-notifier.c (check_for_notifications_thread): Check
	response code of HTTP request to determine whether we really got
	the file.  Leave the downloaded text on disk in case of failure
	for easier trouble shooting.  Call curl_easy_cleanup for
	correctness.

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

	* src/operations.cc (up_remove, up_remove_with_info): Call
	get_package_info so that the removable_status is guaranteed to be
	set.

	* src/main.h (get_package_info): Renamed onyl_basic_info to
	only_installable_info for extra clarity.

2008-03-07  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* main.cc : removed the static variable record_seen_updates,
	(N81739).

2008-03-07  Mario Sanchez Prada  <msanchez@maemo.org>

	Added the 'Updating' banner to be shown when the operation
	APTCMD_GET_CATALOGUES takes too much time before filling the
	dialog (not likely, but possible).

	* src/repo.cc (cat_response): Call to hide_updating when the
	dialog is closed.
	(scd_get_catalogues_reply): Call to prevent_updating to avoid
	showing the banner once the information was already retrieved.
	(show_catalogue_dialog): Call to show_updating right after
	creating and showing the dialog.

	* src/details.cc (add_table_field): Also allow to set only a
	'value' field text when no 'field' field text is specified.

2008-03-06  Mario Sanchez Prada  <msanchez@maemo.org>

	Filled an 'interaction flow' gap which always happened when
	opening the 'Application catalogues...' dialog.

	* src/repo.cc (show_catalogue_dialog_flow): Don't call to
	get_catalogues before showing the dialog. Just call to
	show_catalogue_dialog and let it to call to get_catalogues once
	the information was retrieved. Moved up in this file.
	(scdf_with_catalogues): Removed, since it's not needed anymore
	after changes described above. Moved up in this file.
	(scdf_dialog_done): Moved up in this file.
	(scdf_end): Likewise.
	(struct catcache): Added a new field 'showing_catalogues' to keep
	track whether the catalogues information is already being shown in
	the dialog or not.
	(current_cat_dialog_clos): New global variable to keep track of
	the currently data being shown in the catalogues dialog. Useful to
	check out-of-sync replies from the AW while the dialog is open.
	(set_cat_list): Don't accept NULL as a catalogues xexp, which
	would mean 'there're no catalogues to be set'.
	(cat_response): Take care of setting current_cat_dialog_clos to
	NULL when the dialog is closed.
	(scd_get_catalogues_reply): New function which handles the reply
	of the AW to refresh the catalogues dialog with the information
	retrieved. It also set the new 'showing_catalogues' field to TRUE.
	(show_catalogue_dialog): Allow to manage a NULL value as the
	'catalogues' parameter and call to get_catalogues once the dialog
	is created and shown.

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

	* apt-worker-bin.cc (mark_related): Recursively mark dependencies
	as related as well when there are packages in the system that
	might need to be configured.

	Move flash-and-reboot functionality into apt-worker so that it is
	available for the upcoming "rescue" mode.

	* src/apt-worker-proto.h, src/apt-worker-client.h,
	src/apt-worker-client.cc (APTCMD_FLASH_AND_REBOOT,
	apt_worker_flash_and_reboot): New.
	* src/apt-worker-bin.cc (cmd_flash_and_reboot): New.
	* src/operations.cc (ip_reboot_now): Use
	apt_worker_flash_and_reboot instead of running flash-and-reboot
	ourselves.

	* src/util.cc (set_global_package_list): Don't filter for
	visibility here.
	* src/main.cc (get_package_list_reply_default): Do it here when
	creating the lists so that the lists reliably contain the packages
	that are shown in the UI.  This is important when writing the
	"seen-updates" file and for the "Update All" operation (N81874).

2008-03-06  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/update-notifier.c (create_new_updates_menu) : NULL check.
	(update_state) : g_return_if_fail (upno != NULL).
	(setup_dbus) : use osso_rpc_set_cb_f, because the data field doesn't
	need to be freed by libosso.
	(check_for_notifications_thread) :
	g_return_val_if_fail (userdata != NULL, NULL).
	(check_for_notifications) : g_return_if_fail (upno != NULL).

	* src/xexp.c (xexp_read_1) : NULL check.
	(xexp_read) : NULL check.
	(xexp_read_file) : NULL check.
	(xexp_fprintf_escaped) : NULL check.
	(write_blanks) : NULL check.
	(xexp_write_1) : NULL check.
	(xexp_write) : NULL check (N81838).

2008-03-06  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/update-notifier.c (cleanup_menu) : set the toggle button
	inactive whenever the menu is destroyed,
	(update_state) : if a menu shouldn't be shown, call cleanup_menu
	just in case (N81724).

2008-03-06  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/details.cc (spd_set_page_widget): Don't use g_return_if_fail
	as if it were an "if (...) return" statement.

	* src/main.h (get_package_info): Changed the name of a param, to
	be more coherent with its new meaning: only_basic_info.

	* src/main.cc (get_package_info): Don't call to the apt-worker when
	the info was already retrieved or when only_basic_info is TRUE.
	(struct gpis_closure): Changed the name of only_installable_info
	to only_basic_info, to keep everything coherent.
	(get_package_infos): Likewise.

	* src/operations.cc (up_confirm): Removed, and copied its code
	into uninstall_package, as asking for the info is not needed.
	(uninstall_package): Already explained.

2008-03-05  Mario Sanchez Prada  <msanchez@maemo.org>

	Finished changes to finally fix the 'flickering' effect with the
	package details dialog.

	* src/details.cc (add_table_field): Removed this function to
	refactor its logic into the add_table_field_and_value function.
	(add_table_field_and_value): Renamed again into add_table_field,
	and made that it allows, from now on, to set either the 'field'
	and the 'value' fields at the same time, or just the 'field' field
	passing NULL as the 'value' parameter. Updated callers.
	(struct spd_clos): Added two fields, 'table' and 'spd_nb_widgets',
	to keep track of the GtkTable in the first notebook page, as well
	as to de-globalize the list of child widgets, added yesterday.
	(spd_nb_widgets): De-globalized, as it was explained above.
	(show_package_details): Initialize the new spd_clos fields.
	(spd_create_common_page): Show the updating banner here, and make
	it to just create the common page child widget for the firs time,
	that is, creating a GtkTable with text only in the first column.
	(spd_update_common_page): New function that will take care of just
	updating the GtkTable created with spd_create_common_page. This
	way, we avoid the 'flickering' effect since the table is reused
	instead of being removed and created again.
	(spd_set_page_widget): Use the new spd_nb_widgets as a field of
	spd_clos, instead of being a global variable.
	(spd_with_details): Use the changes explained above, to construct
	the details dialog, both for the first time and when the details
	data was already retrieved for the package.

2008-03-05  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/update-notifier-conf.h :
	Define AVAILABLE_NOTIFICATIONS_MENU_LEFT_PADDING and
	AVAILABLE_NOTIFICATIONS_MENU_TOP_PADDING.

	* src/update-notifier.c (menu_position_func) : to avoid overlapping
	the left bar, the horizontal position of the widget will be equal
	or greater than AVAILABLE_NOTIFICATIONS_MENU_LEFT_PADDING (N81835).

2008-03-04  Mario Sanchez Prada  <msanchez@maemo.org>

	Done some changes more about the details dialog, to avoid the
	'flickering' effect happening while opening the dialog for a
	package whose details has not been retrieved yet.

	* src/details.cc (add_table_field): New function to just set a
	text for the 'field' left cell in a two-columns table.
	(add_table_field_and_value): Rename of the old 'add_table_field'
	function, which set text for both the 'field' and the 'value'
	cells in a two-column table.
	(add_table_list): Call to add_table_field_and_value.
	(enum spd_nb_page_index): New struct for keeping track of the
	available notebook pages, as well as the total number of them.
	(spd_nb_widgets): New global array to keep track of the widgets
	contained in each notebook page, to easily change them.
	(spd_create_common_page): Create a table with text only in the
	'field' column, and in a insensitive state, to reflect that
	details information about a package is not still available.
	(spd_create_summary_page): Use c->showing_details for checking
	whether the details for the package are available or not.
	(spd_get_summary_label): Don't return the 'Problems' label while
	the full details for the package have not been retrieved yet.
	(spd_set_page_widget): New. Set a widget in a notebook page,
	taking care of previous widgets that could have been added before.
	(spd_with_details): Create the notebook main structure even
	during the first time this function is created, and just replace
	the information in their pages later, when the needed information
	is finally retrieved.
	(spd_end): Free and set to NULL the global array spd_nb_widgets.

2008-03-04  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/repo.cc (add_entry) : Use a GtkTextView instead of the custom
	widget HamLongLabel.
	(show_cat_edit_dialog) : Put the contents of the dialog inside a
	GtkScrolledWindow (N80685).

2008-03-04  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/main.cc (search_packages_reply): Use get_package_list_entry()
	to decode the information that comes from the apt-worker (N81329).

2008-03-04  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/details.cc (struct spd_clos): New field, 'notebook', to
	allow removing the notebook from the dialog when it's the second
	time that spd_with_details is called.
	(show_package_details): Check out here whether retrieving the
	package info and details is needed or not.
	(spd_with_info): Removed, because of the modifications done in
	show_package_details.
	(spd_get_details): New. Call to apt_worker_get_package_details to
	retrieve the package details when needed.
	(spd_get_details_reply): Renamed spd_details_reply function.
	(spd_create_dialog): Removed. From now on, the same function will
	take care of creating the dialog for the first time, as well as to
	fill it with the full details when they're retrieved.
	(spd_fill_with_details): Removed, because of the same reason.
	(spd_create_common_page): New. Take care of building the first
	page of the notebook, to make the code cleaner.
	(spd_create_description_page): New. Take care of building the
	second page of the notebook, to make the code cleaner.
	(spd_create_summary_page): New. Take care of building the third
	page of the notebook, to make the code cleaner.
	(spd_get_summary_label): New. Retrieve a proper text for the label
	of the third notebook page.
	(spd_create_deps_page): New. Take care of building the last page
	of the notebook, to make the code cleaner.
	(spd_with_details): New. It takes care of creating the dialog for
	the first time this function is called , as well as using an
	already created dialog properly when it's the second time this
	function is called, in order to fill it with the details once
	they're retrieved.

2008-02-29  Mario Sanchez Prada  <msanchez@maemo.org>

	Modifications to make the package details dialog to appear
	immediately after pressing the 'Details' button, even empty if the
	information to be shown was still not retrieved (N80835).

	* src/details.cc (struct spd_clos): New fields, 'dialog' and
	'showing_dialog' to manage possible conflicting situations when
	closing the package details dialog before receiving the info.
	(current_spd_clos): New global variable to keep track of the
	currently data being shown in the details dialog. Useful to check
	out-of-sync replies from the AW while the dialog is open.
	(spd_with_details): Removed, since it was splitted from now on
	into two functions: spd_create_dialog and spd_fill_with_details.
	(show_package_details): Prepare to allow the updating banner to be
	shown when needed and call to spd_create_dialog before calling to
	get_package_info, to allow the early dialog creation.
	(spd_with_info): Call to spd_fill_with_details instead of calling
	to spd_with_details, to fill the previously created dialog with
	the required data. Also, extra ref the package_info to avoid ugly
	crashes that could happen sometimes.
	(spd_details_reply): Add an extra check to return when the closure
	is NULL, when is not the same than the current one or just when
	the dialog is already being shown with the package details.
	(spd_create_dialog): New. Just create an empty dialog with a close
	button, to be filled later.
	(spd_fill_with_details): Fill the dialog with the proper data
	retrieved either from the package_info or from the AW
	response. Take the dialog reference from the passed closure.
	(spd_end): Set the current closure to NULL and call to
	hide_updating, to ensure that the banner is hidden.

2008-02-29  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/update-notifier-conf.h : slight change to URL_VARIABLE_SUFFIX
	* src/update-notifier.c (update_seen_notifications) : cleaner code
	(update_state) : much simpler code
	(cleanup_menu) : safely cleans up priv->menu and associated resources
	(create_new_updates_menu) : check whether there are new updates to show
	and, in that case, create the associated menu
	(create_new_notifications_menu) : check whether there are new
	notifications to show and, in that case, create the associated menu
	(osso_rpc_handler) : cleaner code, solved a problem that caused the
	file to be erased sometimes
	(check_for_notifications_thread) : cleaner code
	* src/user_files.[ch] (user_file_read_xexp) : opens a configuration
	file, reads a xexp from it, closes the file and returns the xexp
	(user_file_write_xexp) : writes a xexp to a configuration file


2008-02-28  Marius Vollmer  <marius.vollmer@nokia.com>

	Speed up operations by leaving the depcache of the backend in its
	last state until we know for sure it has to change.

	* src/apt-worker-bin.cc (check_cache_state): New.
	(mark_named_package_for_install, mark_for_remove): Use it.
	(cache_reset): Also reset state for check_cache_state.
	(cache_reset_broken_count): New.  We need to remember it from a
	cache that is in reset state.

	* src/operations.cc (ip_get_info_for_install): Only get the
	'installable' info, the 'removable' info is not needed and asking
	for it messes with the simple caching now done in the apt-worker.
	* src/main.cc (gpiib_trigger): Likewise.
	* src/details.cc (show_package_details): Likewise, when the dialog
	is for the 'install' details.

	Cleanup of the 'intermediate' package info getting machinery.  It
	was too tricky for its own good.

	* src/apt-worker-client.cc: Rewritten the handling of pending
	requests: instead of allowing at most one pending request per
	command code, we keep a dynamic queue.
	(pending_calls, pending_tail, active_call): New.
	(cancel_all_pending_worker_calls): New, use instead of
	cancel_all_pending_requests.
	(maybe_send_one_worker_call): New, use instead of
	send_pending_apt_worker_cmds.
	(cancel_worker_call): New, use instead of cancel_request.
	(call_apt_worker): Queue a worker_call structure and just call
	maybe_send_one_worker_call to deal with it.
	(handle_one_apt_worker_response): Reset active_call and call
	maybe_send_one_worker_call to send the next request.
	(status_callback, status_callback_data): New, use instead of the
	old pending[APTCMD_STATUS] structure.
	(send_pending_apt_worker_cmds, cancel_request)
	(cancel_all_pending_requests): Removed.

	* src/main.h, src/main.cc (get_package_info, get_package_infos):
	New, use them everywhere instead of get_intermediate_package_info
	and get_intermediate_package_list_info, respectively.
	(get_package_infos_in_background): New, use instead of
	get_package_list_info.
	(get_intermediate_package_info)
	(get_intermediate_package_list_info, call_with_package_info)
	(call_with_package_list_info, cur_packages_for_info)
	(next_packages_for_info): Removed.

	Miscellaneous.

	* src/util.cc (ask_yes_no_with_details): Terminate arguments to
	g_strconcat with NULL, as required.

	* src/main.cc (make_install_section_view)
	(make_install_applications_view, make_upgrade_applications_view)
	(make_uninstall_applications_view): Don't show a "(No installed
	applications)" label when the package list has not yet been
	retrieved, just leave the list completely empty.
	(make_upgrade_applications_view): Don't record the seen-updates
	when the package list is not ready.

2008-02-27  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 2.1.6

2008-02-27  Felipe Erias Morandeira  <femorandeira@maemo.org>

	*  src/update-notifier.c (update_state) : use the URL in the
	downloaded XML when the menu is created, whitour looking for
	variables
	(check_for_notifications_thread) : substitute variables in the
	string from GConf

2008-02-27  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/update-notifier-conf.h : defined URL_VARIABLE_PREFIX,
	URL_VARIABLE_SUFFIX and URL_VARIABLE_HARDWARE

	* src/update-notifier.c (update_state) : substitute existing
	variables in the URL when the menu is created
	(url_eval) : evaluates the variables in the given string
	(str_substitute) : substitutes each appearance of a code in a
	string with the given value
	(str_find_pos) : returns the position of a substring in a string

2008-02-26  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/update-notifier.c (safe_signal_disconnect): New function to
	easily disconnect signals handler withouth having to take care of
	those which haven't ever been connected yet.
	(update_state): Use safe_signal_disconnect to disconnect all the
	signal handlers, therefore to avoid invalid disconnections.

2008-02-26  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/update-notifier.c (get_osso_product_hardware): New.

2008-02-25  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* util.cc (make_global_package_list) : Add the title of the
	version column (N80908).

2008-02-22  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* util.cc : (entertainment_update_title) the label doesn't
	ellipsize unless it is too big; otherwise its requisition
	would be too small and the dialog wouldn't need to expand
	(start_entertaining_user) : the dialog's width can be
	between 400 and 700 pixels, so there is enough room for
	longer labels (N80495).

2008-02-21  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* ham-long-label.[ch] : Added legal notice.

2008-02-21  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/usr_files.h, src/user_files.h (user_file_remove): New, used
	to easily remove files from the per-user state directory.
	(user_file_get_state_dir_path): Create dir if it doesn't exist.
	(user_file_open_for_read): Don't take care of creating the
	directory, as user_file_get_state_dir_path will do the work.
	(user_file_open_for_write): Likewise.

	* src/update-notifier.c (update_seen_notifications): Added a new
	parameter (upno), to allow hiding the icon after duplicating the
	notification files. Added some extra checks too.
	(show_notification_menu_item_activated): Pass the upno ref to
	update_seen_notifications.
	(reject_notification_menu_item_activated): Likewise.
	(update_state): Initialize some pointers to NULL.
	(set_icon_visibility): Force the "unpressed state" for the status
	bar icon when changing the state.
	(check_for_notifications_thread): Fixed a problem based on opening
	a file for reading when writing, by libculr, was required. Also
	added extra logic to validate the downloaded file to be sure about
	if it's or not a valid notification file before writing it to
	disk.

	* src/log.cc (show_log_dialog_flow): Changed the management of the
	dialog to use gtk_dialog_run instead of connecting the "response"
	signal, to avoid HAM crashing under certain conditions (N81056).

2008-02-21  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src repo.cc (add_entry) : Use HamLongLabel instead of using
	GtkLabel (N80685).  * ham-long-label.[ch] : Composite widget that
	makes it possible to show long strings (i.e. URLs) in a single
	line; if the text is too long, two buttons would allow the user to
	move back and forth so they can see the whole string of text. It
	inherits from GtkHBox (N80685).
	(ham_long_label_new) : Creates a HamLongLabel with the given
	text (N80685).
	(ham_long_label_new_with_markup) : Creates a #HamLongLabel with
	the given Pango markup (N80685).
	(ham_long_label_set_text) : Sets the given text in a
	HamLongLabel (N80685).
	(ham_long_label_set_markup) : Sets the given markup in a
	HamLongLabel (N80685).

2008-02-20  Mario Sanchez Prada  <msanchez@maemo.org>

	Improving the "Use $HOME/.hildon-application-manager/ directory
	for per-user state" bug implementation, by adding a new API to
	manage user files (state files). This API will be use both by the
	frontend of the HAM and the update-notifier status bar plugin.

	* src/user_files.h, src/user_files.c: New files implementing a
	small API for managing user files under the "state" directory.
	It takes care, in a "clean" way, of files that could be placed in
	"deprecated" directories, so it's easy to ask for a file without
	having to be worried about it current location.
	(HAM_STATE_DIR): Moved from its original location to have it here,
	centralized together with the rest of "defines".
	(UFILE_RESTORE_BACKUP): Likewise, and renamed with the "UFILE_"
	prefix to be have a more uniform "nomenclator" (from settings.h).
	(UFILE_HAM_STATE): Likewise (from settings.cc).
	(UFILE_SEEN_UPDATES): Likewise (update-notifier-conf.h).
	(UFILE_SEEN_NOTIFICATIONS): Likewise (update-notifier-conf.h).
	(UFILE_AVAILABLE_NOTIFICATIONS):Likewise (update-notifier-conf.h).
	(user_file_get_state_dir_path): Returns the full path to the state
	directory for HAM.
	(user_file_open_for_read): Returns a FILE pointer for the desired
	file, when it's going to be used for reading.
	(user_file_open_for_write): Returns a FILE pointer for the desired
	file, when it's going to be used for writing.

	* src/main.cc (make_upgrade_applications_view): Call to the new
	user_file_open_for_write function.
	(restore_packages_flow): Use user_file_open_for_read function.

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

	* src/settings.cc (load_state): Use user_file_open_for_read.
	(save_state): Use user_file_open_for_write.

	* src/update-notifier-conf.h (SEEN_UPDATES_FILENAME): Removed, as
	now the UFILE_SEENS_UPDATE definition has the same value.
	(SEEN_NOTIFICATIONS_FILENAME): Removed (same reason)
	(AVAILABLE_NOTIFICATIONS_FILENAME): Removed (same reason).

	* src/update-notifier.c (update_seen_notifications): Use the new
	user_file_open_for_read and user_file_open_for_write functions.
	(update_state): Use user_file_open_for_read when needed.
	(osso_rpc_handler): Use user_file_get_state_dir_path and
	user_file_open_for_write as needed.
	(check_for_notifications_thread): Use the renamed define
	UFILE_AVAILABLE_NOTIFICATIONS.
	(handle_inotify): Use the renamed defines UFILE_SEEN_UPDATES,
	UFILE_SEEN_NOTIFICATIONS and UFILE_AVAILABLE_NOTIFICATIONS.
	(setup_inotify): Use user_file_get_state_dir_path instead of
	building the full path by itself.

	* src/Makefile.am: From now on, also compile user_file.[ch] both
	for the HAM and the update-notifier statusbar plugin.

	* debian/postinst: Removed the scriptish lines that moved some
	files from their old location to the newer one, as it not needed
	anymore now we have this API.

2008-02-20  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* update-notifier-conf.h: added SEEN_UPDATES_FILENAME,
	SEEN_NOTIFICATIONS_FILENAME and AVAILABLE_NOTIFICATIONS_FILENAME

	* update-notifier.c : (update_seen_notifications) use xexp_copy
	and other xexp_* functions
	(update_state) use xexp_aref_text for simpler code and better
	semantics
	(handle_inotify) handle the new location of the auxiliary files
	(setup_inotify) watch for inotify events in
	'/home/user/.hildon-application-manager' instead of '/home/user'

2008-02-19  Marius Vollmer  <marius.vollmer@nokia.com>

	Released 2.1.5

	* debian/postinst: Make sure that the HAM_STATE_DIR is owned by
	"user".

2008-02-19  Mario Sanchez Prada  <msanchez@maemo.org>

        Implemented the "Use $HOME/.hildon-application-manager/ directory
	for per-user state" bug described in README file.

	* debian/postinst: Take care of moving, if needed, every already
	existing file from its old place to the newer one, that is, from
	/home/user to /home/user/.hildon-application-manager.

	* hildon-application-manager.sh: Update the backup file URI.

	* src/settings.h (HAM_STATE_DIR): New define pointing to
	/home/user/.hildon-application-manager directory.
	(RESTORE_BACKUP_FILENAME): Point to the new URI.

	* src/settings.cc (STATE_FILE): Properly modified according to the
	rest of the bug implementation.
	(load_state): Double-check to take into account (if present) the
	old state file when the newer one is not present.
	(save_state): Likewise.

	* src/update-notifier-conf.h (HAM_STATE_DIR): New define pointing
	to /home/user/.hildon-application-manager directory.
	(SEEN_UPDATES_FILE HAM_STATE_DIR): Point to the new URI.
	(SEEN_NOTIFICATIONS_FILE): Likewise.
	(AVAILABLE_NOTIFICATIONS_FILE): Likewise.

	* README: Removed the bug description from the bugs list.

2008-02-19  Marius Vollmer  <marius.vollmer@nokia.com>

	* Makefile.am (EXTRA_DIST): Added COPYING.LIB (N80746).

	* src/operations.cc (ip_reboot): Call get_package_list_with_cont
	before rebooting so that the new state is properly saved for the
	benefit of backup and update notifier.

	* configure.ac (AW_DEPS_LIBS): Added libcurl to NOTIFIER_DEPS.
	Changed default distribution to "diablo".

	* src/hildon-update-notifier.desktop (X-Text-Domain): Added so
	that Name gets localized correctly (N79321).

2008-02-15  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* update-notifier-conf.h: added definitions for UPNO_GCONF_URI,
	SEEN_NOTIFICATIONS_FILE, AVAILABLE_NOTIFICATIONS_FILE and
	AVAILABLE_NOTIFICATIONS_MENU_WIDTH

	* update-notifier.c : Pushing of messages into the update notifier
	plugin; included curl/curl.h; defined DBus params for opening a
	browser window
	(_UpdateNotifierPrivate) : added fields show_notification_item,
	reject_notification_item, notifications_thread_mutex
	show_notification_item_activated_handler_id, and
	reject_notification_item_activated_handler_id
	(update_notifier_init) : initialize notifications_thread_mutex
	(update_notifier_finalize) : free notifications_thread_mutex
	(update_seen_notifications) : copies AVAILABLE_NOTIFICATIONS_FILE
	to SEEN_NOTIFICATIONS_FILE
	(dbus_open_url) : sends the DBus message to open an URL in a new
	browser window
	(show_notification_menu_item_activated) : callback to the "Show me
	more" menu item that opens the notification URL, calls
	update_seen_notifications and updates the component's state
	(reject_notification_menu_item_activated) : callback to the "No
	thanks" menu item that just calls update_seen_notifications and
	updates the component's state
	(menu_add_readonly_item) : adds a read-only item to a menu
	(menu_add_separator) : adds a separator to a menu
	(update_state) : reads the "available notifications" and the "seen
	notifications" files; if there are new updates and there aren't
	new package upgrades to tell the user about, the widget notifies
	the user by showing an icon that displays the menu specified in
	the specs
	(osso_rpc_handler) : when the alarm goes off, check for
	notifications as well as for updates; this function tries to avoid
	this the first time, so users don't get notifications on their
	first day with the device
	(check_for_notifications) : launches a new thread that will
	download the notifications file from internet
	(check_for_notifications_thread) : gets the notifications URI from
	GConf, downloads its contents using libcurl and saves them in the
	"available notifications" file; the field
	notifications_thread_mutex is used to prevent that more that one
	thread can run this code at the same time: if a thread is still
	running, the newest one just finishes
	(handle_inotify) : monitor changes in the notifications files

2008-02-18  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/apt-worker-bin.cc (cmd_check_updates): Call to
	save_failed_catalogues regardless of the result code returned to
	always keep the failed-catalogues file properly updated (N79934).
	(cmd_get_catalogues): If there's not a configuration file on disk,
	write a empty one, otherwise add errors xexp structs to those
	catalogues present inside the failed-catalogues file (N79934).
	(save_failed_catalogues): Save ONLY catalogues with errors in the
	failed-catalogues file, since non-failed catalogues are not useful
	for the merging process in merge_catalogues_with_errors (N79934).
	(load_failed_catalogues): Return NULL and clean failed-catalogues
	file if there are no errors contained inside of it (N79934).
	(merge_catalogues_with_errors): New function. It takes an xexp
	struct with the catalogues read from the configuration file and it
	merges it with the content retrieved from the failed-catalogues
	file, in order to avoid some awful errors that happened sometimes
	when the failed-catalogues file, if present, was used right as if
	it was the configuration file itself (N79934).

2008-02-15  Felipe Erias Morandeira  <femorandeira@maemo.org>

	* src/operations.cc (ip_download_cur_retry_confirm): if download
	failed, offer the user the possibility of retrying it.
	(ip_download_cur_retry_confirm_response): following the user's
	decision, retry the download again or abort the operation
	(ip_download_cur_reply): uses the previous functions to handle
	failures during downloads

2008-02-14  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/apt-worker-proto.h: Updated the comment with the definition
	for GET_PACKAGE_LIST, adding the new 'flags' field (N79897).

	* src/apt-worker-bin.cc (cmd_get_package_list): Encode available
	flags for each package, out of the info field (N79897).

	* src/main.h (struct package_info): Added a new 'flags' field to
	allow checking the flags for a package even when the 'info' field
	has not been filled yet (N79897).

	* src/main.cc (compare_system_updates): New function to be used in
	the comparison functions to sort the list of packages, so packages
	with the pkgflag_system_update flag are listed in first place,
	regardless of the sorting criteria and order (N79897).
	(compare_package_installed_names): Use compare_system_updates() to
	take into account packages with the system_update flag (N79897).
	(compare_package_available_names): Likewise (N79897).
	(compare_package_installed_versions): Likewise (N79897).
	(compare_package_available_versions): Likewise (N79897).
	(compare_package_installed_sizes): Likewise (N79897).
	(compare_package_download_sizes): Likewise (N79897).

2008-02-13  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/menu.cc (create_menu): Reordered menu items to be compliant
	with the latest UI specs (N80647).

	* src/util.cc (show_deb_file_chooser): Show the ? icon in the
	dialog title bar linking to the right help topic (N80172).

2008-02-13  Marius Vollmer  <marius.vollmer@nokia.com>

	* src/operations.cc (ip_check_domain_reply): Use new
	"ai_ni_error_broken_path_%s" logical id (N80629).

	* src/apt-worker-bin.cc (save_extra_info): Don't call fclose on a
	NULL pointer (N80650).

2008-02-12  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/main.cc (set_current_toolbar): Take into account the global
	toolbar settings and the fullscreen mode to know whether the
	current toolbar should be shown or not (N80147).
	(set_current_toolbar_visibility): Use gtk_widget_show_all to
	ensure that the toolbar buttons are always shown (N80147).
	(main): Only show the current toolbar at startup if the global
	setting tells that it should be shown (N80147).

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

	Released 2.1.4.

2008-02-01  Felipe Erias Morandeira <femorandeira@maemo.org>

        * src/util.cc (select_package_list_with_info): display as
	insensitive those packages that can't be installed (N79653).
        (make_select_package_list_store): fill the boolean column
	COLUMN_SP_INSTALLABLE with true or false depending whether the
	package has a candidate version for installation or not (N79653).

        * src/main.cc (restore_packages_flow): ensure connection before
        calling refresh_package_cache_without_user() (N79653).
	(set_catalogues_and_refresh): ensures that there is
	an internet connection before calling the APT worker (N78889).
        (set_catalogues_and_refresh_cont): calls apt_worker_set_catalogues
	when the ensure_network() call finishes (N78889).

2008-02-01  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/util.h, src/util.cc (ask_yes_no_with_details): Added a new
	parameter to add a help topic icon if needed (N80020).
	(is_interaction_flow_active): New function to check out whether or
	not a interaction flow has been finished (N79779).

	* src/operations.cc (up_confirm): Add help icon for the uninstall
	dialog pointing to the right help topic (N80020).

	* src/main.cc (window_delete_event): Ensure that not any
	interaction flow is active when closing the main window (N79779).

2008-01-30  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/operations.cc (ip_install_loop): Add package version number
	to the output string after a successfully upgrade (N79744).
	(if_install_reply): Likewise (N79744).
	(ip_download_cur): Add package version number to the output string
	shown while the upgrading process is ongoing (N79949).
	(if_install): Likewise (N79949).

2008-01-29  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/apt-worker-bin.cc (domains_last_modified): New global
	variable to keep track of when was the last modification for
	/etc/hildon-application-manager/domains file (N79708).
	(file_last_modified): New function to check when a file was
	modified for the last time (N79708).
	(read_domain_conf): Update the new domains_last_modified variable
	by calling to file_last_modified (DOMAIN_CONF) (N79708).
	(handle_request): Check if the domains file was modified since the
	last time it was read, to know whether or not is needed to call to
	read_domain_conf again to keep global variables updated (N79708).

2008-01-23 Felipe Erias Morandeira  <femorandeira@maemo.org>

        * src/util.cc (package_info_func): retrieve the information that
        will be shown for a given package, and fill the cell renderer with it.
        (make_global_package_list): create a treeview using Modest's cell renderers

        * src/modest-hbox-cell-renderer.[hc]: added legal notice

        * src/modest-vbox-cell-renderer.c : added legal notice
        (modest_vbox_cell_renderer_get_size) don't expand for invisible children

        * src/modest-vbox-cell-renderer.h : added legal notice

        * src/Makefile.am: updated to use the new code files.

2008-01-23 Felipe Erias Morandeira  <femorandeira@maemo.org>

        * src/modest-hbox-cell-renderer.[hc]: This is a cell renderer from
        Modest that renders children renderers inside a horizontal box.

        * src/modest-vbox-cell-renderer.[hc]: This is a cell renderer from
        Modest that renders children renderers inside a vertical box.

2008-01-23  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/apt-worker-bin.cc (operation): Don't forget to encode the
	trust summary and upgrades information fields in the response when
	running APTCMD_INSTALL_CHECK, even when there's nothing to do, to
	be compliant with the defined protocol (N78908).

	* src/repo.cc (get_catalogues_callback): Be silent when
	get_catalogue fails, and just add a message to the log without
	showing an 'Operation failed' banner (N76745).

2008-01-22  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/operations.cc (ip_install_one): Added an extra check to only
	check the battery level when upgrading an OS package (N79022).
	(ip_install_cur): Likewise (N79022).

	* src/util.cc (emit_row_changed): Free the GtkTreePath here, not
	in update_packages_list_selection.
	(update_packages_list_selection): gtk_tree_path_free() removed.

2008-01-21  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/main.cc (create_toolbar): Replaced the "Update all"
	hardcoded string with "ai_tb_update_all".

	* src/operations.cc (enough_battery_to_update): Improved the code
	to check the battery status. Fixed a memory leak (N79022).
	(ip_check_upgrade_reply): Removed code added recently to only skip
	cert information when upgrading, since it's not a valid patch.
	(ip_not_enough_memory): New function to refactor duplicate code
	called from ip_install_one and ip_install_cur (N79022).
	(struct ipneb_clos): New struct to pass data to the new
	ip_not_enough_battery_confirm_response function (N79022).
	(ip_not_enough_battery_confirm): New function to show a
	confirmation dialog to the user when there's not enough battery to
	do an upgrade, giving the choice to retry (by plugging the charger
	into the device) or to cancel the upgrade (N79022).
	(ip_not_enough_battery_confirm_response): New function to manage
	the answer in the confirmation dialog (N79022).
	(ip_install_one): Use the new ip_not_enough_memory function when
	there's not enough free space, and ip_not_enough_battery_confirm
	if there's not enough battery to upgrade (N79022).
	(ip_check_upgrade_loop): Call to ip_download_cur instead of
	ip_install_cur, since that's is the first step now (N79022).
	(ip_download_cur): Renamed from ip_install_cur, as now this is the
	first function to be called, before installing anything	(N79022).
	(ip_install_cur): New function with code to install an already
	downloaded package. Called from ip_download_cur_reply (N79022).

	* src/dbus.h (struct battery_info): Changed the 'chargin' field to
	have a gboolean datatype, instead of gint (N79022).

	* src/dbus.cc (receive_battery_status_update): Some needed changes
	due to the datatype modification commented above (N79022).
	(check_battery_status): Return an ad-hoc battery_info struct
	telling that there's enough battery, and the "device" is charging
	on when executing HAM in the scratchbox (N79022).

	* src/update-notifier.c: Removed a comment from the XXX section
	regarding to the blinking icon when the screen is off.

2008-01-18  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/update-notifier.c (update_notifier_init): Connect a callback
	for managing display events (N79304).
	(display_event_cb): Stop the notifier icon from blinking when the
	display is blank, and restore to its blinking state (if needed)
	when the display is not blank again (N79304).
	(check_for_updates): Cleaned up a warning on compilation.
	(xexp_list_sort): Likewise.

	* src/operations.cc (ip_check_upgrade_reply): Skip the cert
	information of the reply only if not upgrading (N78908).

	* src/mime-open.c: Added two required includes, to avoid
	compilation warnings.

	* src/mime-server.c: Added two required includes, to avoid
	compilation warnings.

	* src/apt-worker-bin.cc (substreq): Cleaned up a warning on
	compilation.

	* utils/maemo-select-menu-location-main.c
	(selection_location_response): Cleaned up a warning on
	compilation.

2008-01-17  Mario Sanchez Prada  <msanchez@maemo.org>

	Added a new APTCMD_DOWNLOAD_PACKAGE command, to allow downloading
	packages separately from installing them from the frontend. Quite
	useful for some checks, such as the check for enough free space,
	when installing/upgrading packages, or checking for enough battery
	left to upgrade packages.

	* src/apt-worker-proto.h: Added APTCMD_DOWNLOAD_PACKAGE.

	* src/apt-worker-bin.cc (get_free_space): Removed, since it's no
	longer need from now on, as this check is going to be performed
	from the frontend, at operations.cc.
	(handle_request): Added a case for the new command, which
	delegates in the new cmd_download_package function.
	(cmd_install_check): Changed the call to operation due to changes
	made over its prototype.
	(cmd_install_package): Likewise.
	(cmd_download_package): New. It decodes needed parameters to
	download (but not install) the required packages.
	(operation): Changed it's prototype to accept a boolean parameter
	that tells whether or not it must only download the required
	packages. Removed the old boolean parameter to ask it for checking
	out for enough free space before installing packages, since it's
	no longer needed.

	* src/apt-worker-client.cc, src/apt-worker-client.h
	(apt_worker_download_package): New function to request the AW to
	execute the new download command.
	(apt_worker_install_package): Removed unused check_free_space and
	updating boolean parameters.

	* src/operations.cc (ip_download_cur_reply): New function to be
	executed between the downloading and the installing processes. It
	allows to do some extra checks in that stage from the frontend,
	instead of having to do them in the AW.
	(ip_install_cur): Call to apt_worker_download_package instead of
	calling to apt_worker_install_package, passing the new function
	ip_download_cur_reply as the callback to be executed after that.
	(enough_battery_to_update): New function to check whether there is
	or not enough battery to upgrade packages (N79022).
	(ip_install_one): Added new conditions to check if there's enough
	battery before downloading and installing packages when it's an
	upgrade process. Added a hardcoded message for showing an error
	message to the user when there's not enough battery (N79022).
        (ip_download_cur_reply): Likewise. Added the battery check in the
	same way, in order to allow a second check once the required
	packages are downloaded but not installed yet (N79022).

	* src/util.cc (send_reboot_message): Moved to dbus.cc, since it's
	Dbus related stuff so it makes more sense to put it there.

	* src/dbus.h, src/dbus.cc (struct battery_info): New struct to
	store the information retieved about the battery state (N79022).
	(init_dbus_or_die): Also get signals from bme-dbus-proxy (N79022).
	(check_battery_status): New public function to check the battery
	status by sending and capturing Dbus signals. If being executed
	inside the scratchbox, it does nothing and returns NULL (N79022).
	(send_battery_status_request): New private function to send a Dbus
	signal asking for information about the battery status (N79022).
	(receive_battery_status_update): New private function to gather
	information about the battery status received inside of two
	signals emitted by bme-dbus-proxy. It returns a battery_info
	struct with gathered information, which could have invalid data if
	the timeout expired without receiving the information (N79022).

2008-01-07  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/update-notifier.c (struct _UpdateNotifierPrivate): Added a
	new field (osso_context) and removed another one (dbus), since
	dbus functions are now replaced by osso_rpc equivalences. Also,
	added a new bool field (inotify_ready) to properly mark the
	inotify subsystem as ready or not, in order to avoid memory errors
	in the inotify handler (N78940).
	(update_notifier_init): Try to setup dbus first, and only continue
	with the rest of the initialization process if it doesn't
	fail (N78940).
	(update_notifier_finalize): Do the dbus cleanup at the last
	stage (N78940).
	(dbus_filter): Removed.
	(osso_rpc_handler): Osso rpc handler to manage incoming rpc
	messages, substituting to dbus_filter() (N78940).
	(setup_dbus): Use osso_rpc functions instead of the Dbus API, so
	install a osso_rpc handler instead a dbus filter. Return a
	gboolean value telling whether the setup process was OK or
	not (N78940).
	(ham_is_running): Uses libhildonwm to check whether HAM is running
	or not. Used before sending some Dbus messages to HAM (N78940).
	(show_check_for_updates_view): Use osso_rpc API (N78940).
	(showing_check_for_updates_view): Use osso_rpc API, but only in
	case HAM was not running (N78940).
	(check_for_updates_done): Check if HAM is running before sending a
	HILDON_APP_MGR_OP_CHECK_UPDATES message to it.
	(handle_inotify): Check the private structure and the new
	inotify_ready variable to avoid reading invalid data when the
	inotify channel has been already closed, or when the GObject have
	been already finalized. Also, be careful checking that the added
	watches are valid before using them, because of the same
	reason (N78940).
	(setup_inotify): Set the new inotify_ready field to TRUE (N78940).
	(cleanup_dbus): Just call to osso_deinitialize (N78940).
	(cleanup_inotify): Set private variables to invalid values (-1 and
	NULL), to prevent further potential errors. Set the new
	inotify_ready field to TRUE (N78940).

	* src/apt-worker-bin.cc (cache_init): Avoid writting available
	updates file if cache is invalid (N78929).

	* configure.ac: Added libhildonwm as a new dependency for the
	update notifier plugin (N78940).

2008-01-02  Mario Sanchez Prada  <msanchez@maemo.org>

	* hildon-application-manager.sudoers: Set sudo permissions to
	apt-worker.bin instead of former apt-worker, to avoid failing
	while trying to run apt-worker.bin from the front end.

	* src/util.cc: Fixed a memory management error.

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

	* src/update-notifier.c (struct _UpdateNotifierPrivate): Added a
	new field to store the ID of a new handler and changed the name
	button_pressed_handler_id into button_toggled_handler_id (N75396).
	(button_pressed): Renamed into button_toggled. Now it also checks
	the toggle button status before showing the menu (N75396).
	(menu_hidden): New. Used to restore the initial status of the
	toggle button once the menu has disappeared (N75396).
	(update_notifier_init): Use gtk_toggle_button_new, and connect to
	the 'toggled' signal of the button, instead of 'pressed' (N75396).
	(update_notifier_finalize): Disconnect the 'toggled' signal from
	the related handler (N75396). Don't disconnect here the
	'activated' signal for the menu item that opens HAM.
	(update_state): Connect and disconnect here the 'selection-done'
	signal about the menu (N75396).
	(showing_check_for_updates_view): Removed an unused variable.
	(check_for_updates): Removed an unused variable.

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

	* src/Makefile.am: Removed dist_libexec_SCRIPTS, since the
	apt-worker script is no longer present in the CVS.

	* src/main.cc: Use /usr/libexec/apt-worker.bin as the apt-worker
	command, instead of the old apt-worker script.

	* src/xexp.c: Cleaned up an unused local variable that I forgot to
	delete yesterday, in my last commit.

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

	* src/apt-worker-proto.cc (encode_mem_plus_zeros): Fixed a write
	error that could happen here under certain situations, leading to
	valgrind errors (N78626).

	* src/xexp.c (xexp_read_1): Fixed a memory leak (N78626).
	(xexp_aref): Added extra check to avoid calling to xexp_first(x)
	when x is not a xexp_list, therefore getting a GLIB CRITICAL
	message every time the catalogues dialog was opened/closed.

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

	* src/main.cc (get_package_list_with_cont): Mark the package list
	as NOT ready and only set next_packages_for_info to NULL before
	clearing the packages and sections lists, and not only for the
	APTSTATE_DEFAULT state.
	(gpi_reply): Don't check out whether the package list is ready or
	not, the next_packages_for_info variable set to NULL together with
	the proper use of ref() and unref() functions is just enough.
	(get_next_package_info): Don't check out the package_list_ready
	variable, next_packages_for_info variable set to NULL is enough.

	* src/main.cc (get_package_list_reply_default): Mark package list
	as ready right after building the new list, not later (N76904).
	(get_package_list_reply): Don't mark the packages list as ready
	here, it could be too late (N76904).
	(get_package_list_with_cont): Mark the package list as NOT ready
	and reset some global variables before clearing the packages and
	sections lists (N76904).
	(gpi_reply): Check out whether the package list is ready or not to
	access its package_info structs both for read or write (N76904).
	(get_next_package_info): Only call to call_with_package_info if
	the packages list is ready (N76904).

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

	* src/util.cc (emit_row_changed): Removed a call to
	gtk_tree_path_free that was leading to an invalid read.
	(update_packages_list_selection): Free the GtkTreePath here,
	inside the callback for "row-changed", to avoid the invalid read.

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

	Released 2.1.3

	Fix soft removal algorithm: don't check whether a package is
	needed when marking it for removal, check later once the whole
	operation is known.  This makes it possible to Conflict/Replace
	packages that are originally needed by other packages but can in
	fact be removed since the other packages will be upgraded or
	removed as well.

	* src/apt-worker-bin.cc (class AptWorkerState): Added
	action_group member.
	(cache_init): Create an ActionGroup for the cache that is active
	for its whole lifetime.  This prevents libapt-pkg from performing
	certain expensive operations that we don't need to be done
	intermediately, such as garbage collection.
	(extra_info_struct): Added 'soft' member.
	(cache_reset_package, cache_reset): Reverted change from
	2007-12-09.  Specifically, call MarkKeep again in
	cache_reset_package and don't call Init in cache_reset.  The
	ActionGroup takes care of the performace regression.  Reset 'soft'
	flag in cache_reset_package.
	(fix_soft_packages): New.
	(mark_for_install, mark_for_install_1, mark_for_remove,
	mark_for_remove_1): Put algorithm and mutual recursion into
	mark_for_install_1 and mark_for_remove_1.  Call them from
	mark_for_install and make_for_remove, respectively.  Call
	fix_soft_packages afterwards.  Don't check whether a package is
	needed in mark_for_removal_1 for soft removals and try to put it
	back when it can't be removed; this will be handled later in
	fix_soft_packages once the whole operation is known.  Return
	immediately when a package is already scheduled for removal.
	(mark_sys_upgrades): Call mark_for_install_1 and
	fix_soft_packages, as appropriate.

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

	* src/apt-worker-proto.cc (apt_proto_encoder::grow): When
	reallocating a buffer into a new block of n * 4096 bytes,
	initialize the non used bytes to zero.

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

	* src/util.cc (clear_global_section_list): Don't call
	gtk_widget_destroy, let the g_object_unref() and the related
	gtk_container_remove() functions do the work.

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

	* src/operations.cc (ip_install_cur_reply): Set 'refresh_needed'
	to TRUE if this function was called (N78303).

	* src/settings.cc (enum boolean_options): New enumeration with the
	list of boolean options available, to easily access to the related
	widgets and values.
	(MAX_BOOLEAN_OPTIONS): Removed. Instead of this use the last value
	of the new enumeration added: NUM_BOOLEAN_OPTIONS.
	(struct settings_closure): Removed field n_booleans and the
	settings_closure() function, since they're not needed anymore.
	(make_boolean_option): Added a new parameter: the ID of the
	boolean option, taken from the new enumeration. Changed internal
	code according to this modification.
	(make_settings_tab): Use the parameter in make_boolean_option().
	(settings_dialog_response): Check if is needed to refresh the
	packages list after changing the settings (N78303).

	* src/repo.cc (pill_response): Check if is needed to refresh the
	packages list after switching to/from red pill mode (N78303).

	* src/operations.cc (struct ip_clos): Added the new field
	'refresh_needed' to store when a packages list refresh would be
	needed after the install/upgrade/remove process (N78303).
	(install_packages): Initialize the new field (N78303).
	(ip_install_cur_reply): Set 'refresh_needed' to TRUE if
	rescode_success is returned as result code (N78303).
	(ip_end): Only refresh the packages list when the new field was
	set to TRUE (N78303).

2007-12-09  Marius Vollmer  <mvo@zagadka.de>

	Released 2.1.2

	* src/apt-worker-bin.cc (cache_reset_package): Don't call MarkKeep
	here, it got really slow with libapt-pkg 0.7.6.
	(cache_reset): Call pkgDepCache::Init here instead.

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

	* utils/maemo-select-menu-location-main.c
	(parent_window, dialog_stack): New global variables to manage
	modal dialogs shown by this utility program (N77198).
	(dialog_realized): If it's the main dialog, set the transient hint
	regarding to the application manager window. Otherwise, set the
	transient hint regarding to its parent window. (N77198).
	(dialog_exposed): Only raise the window to the top of the X stack
	if it's the topmost one (N77198).
	(push_dialog): Take care of the needed logic to manage a new
	dialog that is being shown in top of another one (N77198).
	(pop_dialog): Take care of updating the new global variables
	regarding to the dialogs management (N77198).
	(run_move_to_dialog): Use push_dialog() and pop_dialog()
	functions. Set the default response for the dialog (N77198).
	(selection_location_response): Call to pop_dialog() when
	destroying the dialog (N77198).
	(run_select_location_dialog): Call to push_dialog() when showing
	the main dialog. Connections for "realize" and "expose-event"
	signals moved to push_dialog() (N77198).

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

	* src/update-notifier-conf.h
	(HILDON_APP_MGR_OP_SHOWING_CHECK_FOR_UPDATES): New define for a
	new DBus method added to the hildon-application-manager (N76711).

	* src/update-notifier.c (showing_check_for_updates_view): New
	function. It uses the new Dbus method in HAM to asks if the 'check
	for updates' view is currently being shown (N76711).
	(update_state): While checking if there are new updates available,
	also check if the 'check for udpates' view is not being shown in
	HAM before setting the plugin in its blinking state (N76711).

	* src/dbus.cc (dbus_handler): Check if the new Dbus message is
	received. If so, check if the 'check for updates' view is being
	shown and add the result to the reply message (N76711).

	* src/main.h (enum view_id): New enumeration to store an ID for
	each view. Created to easily check if the 'check for updates' view
	is being currently shown (N76711).

	* src/main.h, src/main.cc (get_current_view_id): New function that
	returns the ID of the current view (N76711).

	* src/main.cc (struct view): Added a new field ('id') to store the
	ID of each available view (N76711). Added the proper values to
	each global variable used: main_view, install_applications_view,
	upgrade_applications_view... and so on (N77611).

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

	* src/update-notifier.h, src/update-notifier.h
	(HILDON_APP_MGR_OP_CHECK_UPDATES): New define to avoid using the
	same define for different DBus services from hildon-app-mgr and
	the update notifier. Updated callers.
	(HILDON_APP_MGR_OP_SHOW_CHECK_FOR_UPDATES): New define to remove
	hardcoded string from code. Updated callers.

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

	* src/operations.cc (ip_warn_about_reboot): Use
	ai_ti_operating_system_update as the title and ai_bd_create_backup
	for the backup button.

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

	* src/repo.cc (cat_has_errors, cat_compare): New.
	(set_cat_list): Use them to sort the catalogues before
	displaying (N76651).

	* src/apt-worker-bin.cc (save_failed_catalogues): Do not sort
	catalogues here, it is now done when displaying them.
	(compare_failed_catalogues): Removed.

	* src/repo.cc (cat_text_func): Use "ai_ia_failed_catalogue"
	instead of "ai_ti_failed_catalogue" (N76642).

	* src/update-notifier.c (timout_id, blinking_timeout_id): Renamed
	former to latter for extra clarity.
	(setup_alarm): Return whether the alarm has been set.
	(setup_alarm_now): New, to be used as a timeout callback.
	(update_notifier_init): Call it after one minute.  The alarm
	framework should be ready to use by then.
	(update_notifier_finalize): Remove alarm_init and blinking timeout
	sources.

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

	* src/settings.cc (show_settings_dialog_flow): Use English instead
	of logical ids.  They are gone.  (N76583)

	* src/apt-worker-bin.cc (default_domain, DOMAIN_DEFAULT): Removed
	former, hard coded default domain with latter.
	(read_domain_conf): Don't set default_domain.
	(load_extra_info): Use DOMAIN_DEFAULT instead of
	default_domain (N76680).

	* src/main.cc (maybe_refresh_package_cache_without_user): Return
	silently when we are not idle.

	* src/operations.cc (install_packages): Reorganized interaction
	flow.  Installations that require a reboot are done last, and only
	one of them is done.  The close-apps flag is treated as a reboot
	request, suggest-backup is ignored.  Use a single dialog to inform
	user about closing apps, taking a backup and rebooting.  Check
	domain violations for each installation and not only once upfront
	for all.  Reget installable_status etc immediately before
	installation.  Get package info as the first thing so that all
	confirmation dialogs are correct (N76639).

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

	* src/util.h, src/util.cc (set_entertainment_title): Renamed into
	set_entertainment_sub_title (N76341).
	(set_entertainment_strong title): Renamed into
	set_entertainment_main_title (N76341).

	* src/util.cc (get_small_font): Moved to be before of the
	entertainment functions, since from now on it'll be used by some
	of them (N76341).
	(struct entertainment_data): Added new fields (GtkWidget):
	main_label and sub_label, to easily keep references (N76341).
	(entertainment_update_title): Take into account the red pill mode
	to show or not the main title and the subtitle, at the same time,
	in the entertainment dialogs (N76341).
	(start_entertaining_user): Build a custom dialog (based on
	GtkDialog) which emulates a hildon note with a cancel button and a
	progress bar, but also allowing a subtitle to be shown, in a
	smaller font size, under the progress bar (N76341).
	(set_entertainment_main_title): New (see comment above). It sets
	the main title and then calls to update the dialog (N76341).
	(set_entertainment_sub_title): New (see comment above). It sets
	the subtitle and then calls to update the dialog (N76341).
	(set_entertainment_fun): Just call to set_entertainment_sub_title
	to change the subtitle (N76341).
	(do_copy): Call to set_entertainment_main_title instead of calling
	to the old set_entertainment_strong title function (N76341).

	* src/operations.cc (ip_ensure_network): set_entertainment_title
	replaced with set_entertainment_main_title and
	set_entertainment_sub_title (N76341).
	(ip_install_cur): Use set_entertainment_main_title (N76341).
	(up_remove): Use set_entertainment_main_title (N76341).
	(ip_install): Use set_entertainment_main_title (N76341).

	* src/main.cc (refresh_package_cache_without_user): Use
	set_entertainment_main_title (N76341).

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

	* src/repo.cc (set_cat_list): Make the treeview to grab the focus
	after setting the focus in the right row (N76935).

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

	* utils/maemo-confirm-text-user.c (dialog_exposed): New. Callback
	to ensure that the dialog which shows the license text is always
	drawn on top of HAM windows (N76342).
	(run_select_location_dialog): Connected the 'expose-event' signal
	to new callback commented above (N76342).

	* utils/maemo-select-menu-location-main.c (dialog_exposed): Use
	gdk_window_set_keep_above instead of gdk_raise_win to avoid an
	ugly 'flickering' effect.

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

	* src/operations.cc (ip_execute_checkrm_script): New. Function to
	execute the checkrm scripts, also checking the old directory
	/var/lib/osso-application-installer, if needed (N76475).
	(ip_check_upgrade_loop): Changed to use the new defined function
	instead of directly running run_cmd (N76475).
	(up_checkrm_loop): Likewise (N76475).

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

	* src/main.h (refresh_package_cache, refresh_package_cache_flow,
	updated_system_flow): Removed, they are unused now.
	(refresh_package_cache_without_user): Added state and title
	parameters.  Added keep_going parameter to continuation.  Updated
	all callers.
	(set_catalogues_and_refresh): New, for use instead of
	refresh_package_cache when new catalogues should be set.

	* src/dbus.cc (dbus_mime_open): Don't recognize
	"magic:update-system", don't call updated_system_flow.

	* src/instr.cc (execute_card_install): Use
	set_catalogues_and_refresh instead of refresh_package_cache.
	* src/repo.cc (scdf_dialog_done, add_catalogues_cont_2): Likewise.

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

	* src/util.cc (present_main_window): Don't take care of
	specifically showing the main vbox and the main toolbar. There's
	no need to do that and doing it so gets a bug (N76467).
	Also, dont't show the whole main vbox seems it's not necessary:
	just setting the main breadcrumb trail visible is enough.

	* src/main.h, src/main.cc (get_main_toolbar): Removed. It's not
	used anymore since changes commented above in util.cc.

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

	* src/util.cc (IDLE_TIMEOUT_SECS): New, use instead of literal
	number.

	* src/main.cc (refresh_package_cache_without_user_flow): New.
	(call_refresh_package_cache): Use it.
	(maybe_refresh_package_cache_without_user): New.
	(make_install_applications_view, make_upgrade_applications_view):
	Call it.
	(rpcwu_reply): Record time in UPNO_GCONF_LAST_UPDATE.
	(make_last_update_label, make_package_list_view): Removed.
	Updated callers.

	* src/update-notifier.c: Moved most defines to
	update-notifier-conf.h, include it.
	(check_for_updates_done): Record time in UPNO_GCONF_LAST_UPDATE.
	* src/update-notifier.h: Moved SEEN_UPDATES_FILE to
	update-notifier-conf.h
	* src/update-notifier-conf.h: New, to collect bits that are of
	interest to all parties.
	* src/Makefile.am: Added update-notifier-conf.h in all the right
	places.
	* src/apt-worker-bin.cc: Include update-notifier-conf.h to get the
	AVAILABLE_UPDATES_FILE define.

	* src/settings.h, src/setting.cc (last_update): Removed.  Removed
	all uses.

	* src/menu.cc (create_menu): Removed "Refresh list of
	applications" item.

	* src/update-notifier.c (set_condition_carefully): New, to avoid
	setting the condition when it wouldn't change.
	(update_icon_visibility): Use it (N76462).

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

	* src/update-notifier.h (struct _UpdateNotifier): Removed all the
	private attributes, which were moved back to update-notifier.c,
	inside of a private struct.

	* src/update-notifier.c (UPDATE_NOTIFIER_GET_PRIVATE): New define
	to get the struct containing the private attributes. Used from all
	the private functions that use private attributes.
	(struct _UpdateNotifierPrivate): New struct to store the private
	attributes. Added two new fields to store the handle IDs for the
	two signals connected regarding to this object, and another field
	more to store a reference to the only menu item available.
	(menu_activated): Renamed to open_ham_menu_item_activated.
	(update_notifier_class_init): Set the private struct used by this
	class by calling g_type_class_add_private.
	(update_notifier_init): Store the handler ID for the connection of
	the 'pressed' signal about the main button.
	(update_notifier_finalize): Disconnect handlers from signals.
	(update_state): Disconnect handler from the 'activated' signal
	before destroying a previously created menu. Also, store the
	handler ID for the connection of the 'activated0 signal about the
	menu item that opens HAM.
	(search_and_delete_all_alarms): New function to do the work of
	searching for all the alarms in the device related to the update
	notifier.
	(setup_alarm): Use the new search_and_delete_all_alarms function.

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

	* src/operations.cc (ip_check_required_reboot): Use
	ai_ia_rebooting_required.

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

	* src/update-notifier.c (UPDATE_NOTIFIER_OP_CHECK_STATE): New
	define for a currently supported dbus method. Updated all callers.
	(UPDATE_NOTIFIER_OP_CHECK_UPDATES): Likewise.
	(setup_alarm): Added extra logic to search and delete all the
	available alarms associated with the update-notifier before
	setting a new one (Fixes bug in README file).

	* README: Removed "Clean out all alarm events when setting a new
	one..." bug from the bugs list.

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

	* src/update-notifier.c (HTTP_PROXY_GCONF_DIR): New define to
	obtain info about the http proxy via GConf.
	(UPDATE_NOTIFIER_SERVICE): New define (For DBus issues).
	(UPDATE_NOTIFIER_OBJECT_PATH): New define (For DBus issues).
	(UPDATE_NOTIFIER_INTERFACE): New define (For DBus issues).
	(HILDON_APP_MGR_SERVICE): New define (For DBus issues).
	(HILDON_APP_MGR_OBJECT_PATH): New define (For DBus issues).
	(HILDON_APP_MGR_INTERFACE): New define (For DBus issues).
	(update_notifier_finalize): Dispose the GtkMenu and the static
	picture used with the blinkifier.
	(add_readonly_item): Use a gchar * for 'text' variable.
	(dbus_filter): Code factorization.
	(setup_dbus): Use the new definition of UPDATE_NOTIFIER_SERVICE.
	(show_check_for_updates_view): Use the new definitions of
	HILDON_APP_MGR_SERVICE, HILDON_APP_MGR_OBJECT_PATH and
	HILDON_APP_MGR_INTERFACE.
	(check_for_updates_done): Likewise.
	(check_for_updates): Use a const char[] for 'argv' and previously
	choose the gainroot command, according to the current underlying
	platform: the IT device or the scratchbox.
	(get_http_proxy): Changed return type to (gchar *). Use the new
	define HTTP_PROXY_GCONF_DIR. Initialized all the local variables.
	(handle_inotify): Use the definition of SEEN_UPDATES_FILE instead
	of a hardcoded string.
	(setup_alarm): Use the new definitions of UPDATE_NOTIFIER_SERVICE,
	UPDATE_NOTIFIER_OBJECT_PATH and UPDATE_NOTIFIER_INTERFACE.

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

	* src/update-notifier.c (setup_gconf): New. Function to summarize
	logic to initialize gconf issues under update_notifier_init.
	(cleanup_gconf): New. Function Function to summarize logic to
	finalize gconf issues under update_notifier_finalize.
	(update_notifier_init): Now use the setup_gconf function.
	(update_notifier_finalize): Now use the cleanup_gconf function.
	(setup_alarm): Use alarm_event_free to free memory allocated for
	the old alarm;
	(cleanup_dbus): Close and unref the DBus connection.
	(cleanup_inotify): Remove inotify watches, shutdown the GIOChannel
	and unref it.
	(cleanup_alarm): Delete the alarm.

	* src/update-notifier.h, src/update-notifier.c:
	Moved typical defines related with GObject issues from
	update-notifier.c to the update-notifier.h.
	Moved enumeration with icon states from update-notifier.h to the
	update-notifier.c.
	(UPNO_GCONF_DIR): Moved from update-notifier.h to
	update-notifier.c.
	(UPNO_GCONF_STATE): Likewise.
	(UPNO_GCONF_ALARM_COOKIE): Likewise.
	(UPNO_GCONF_CZECH_INTERVAL UPNO_GCONF_DIR): Likewise.
	(struct _UpdateNotifier): Moved from update-notifier.c to
	update-notifier.h.
	(struct _UpdateNotifierClass): Likewise.
	(update_notifier_get_type): Likewise.
	(struct _UpdateNotifier): Added a new field (gconf_notifications)
	to store the connection IDs associated to the gconf notifications
	created in update_notifier_init.
	(update_notifier_init): Store the connection IDs for each
	notification, to allow removing them in the finalize function.
	(update_notifier_finalize): Remove gconf notifications and cleanup
	dbus and inotify stuff, as well as alarms, if needed.
	(cleanup_dbus): New. Clean up the Dbus stuff.
	(cleanup_inotify): New. Empty function (at the moment) to be
	filled with needed logic to cleanup the inotify stuff.
	(cleanup_alarm): New. Empty function (at the moment) to be
	filled with needed logic to cleanup regarding to alarms.

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

	* src/main.cc (rpcwu_reply): Call get_package_list_with_cont to
	synchronize us with the new cache, stupid (N76683).

	* src/update-notifier.c (setup_alarm): Always add new alarm, even
	if deleting old alarm fails.

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

	Released 2.1.1

	* src/operations.cc (ip_check_required_reboot): Removed cont
	parameter, use ip_check_required_reboot_response always.
	(struct ip_clos): Added flash_and_reboot flag.
	(ip_end_rebooting): Run /usr/bin/flash-and-reboot if requested.
	(ip_flash_and_reboot_done): New.

	* src/apt-worker-bin.cc (cmd_get_package_list): Do not skip
	non-installed system-update packages in red-pill mode.

	* src/apt-worker-client.cc (interpret_pmstatus): Use op_general as
	the game id.

	* src/dbus.cc (idle_check_for_updates): New.
	(dbus_handler): Use it with start_interaction_flow_when_idle for
	the "check_for_updates" method.

	* src/settings.h, src/settings.cc (update_interval_index): Removed
	all traces of it.

	* src/main.h, src/main.cc (maybe_refresh_package_cache): Removed.
	(refresh_package_cache_without_user): New.
	(show_view): Call reset_idle_timer.

	* src/menu.cc (create_menu): Add "Settings" menu item only in
	red-pill mode.

	* src/util.cc (reset_idle_timer,
	start_interaction_flow_when_idle): New.
	(start_entertaining_user_silently): Removed, it was unused.
	(set_entertainment_games): New.
	(set_entertainment_fun, set_entertainment_download_fun): Added
	(set_entertainment_strong_title): New.
	game id parameter.  Changed all callers.
	(run_cmd): Added ignore_existing parameter.  Changed all callers.

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

	* src/Makefile.am: Renamed apt-worker to apt-worker.bin.  Added
	new apt-worker script.
	* src/apt-worker-proto.h (apt_proto_install_flags): Include
	pkgflag_flash_and_reboot.
	* src/apt-worker.cc (misc_init): Log OSSO_PRODUCT_HARDWARE in
	debugging output.  Initialize lc_messages here.
	(main): Not here.
	(flag_names): Include pkgflag_flash_and_reboot.

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

	* src/update-notifier.c (setup_alarm): Copy the timing related
	parameters from the old alarm when setting a new alarm, unless the
	interval has changed.  Otherwise, every restart of the plugin
	would move the alarm time further ahead.

	* src/main.cc (rpc_update_cache_reply): Do not show the "Refresh
	was cancelled" information note.  It's message is wrong.
	(record_seen_updates): Initialize to false so that we only record
	the seen updates after getting the list of packages.

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

	* configure.ac (NOTIFIER_DEPS): Added libalarm.
	* src/update-notifier.c (setup_alarm, gconf_interval_changed): New.

	* src/update-notifier.c (update_state): Be robust against non-text
	elements in the xexps.  Use logical ids.  Only start blinking when
	the icon was invisible previously.
	(add_readonly_item): Force the label to have GTK_STATE_NORMAL so
	that it is not greyed out.
	(setup_inotify, handle_inotify, is_file_modified_event): New, to
	call update_state when one of the relevant files has changed.
	(setup_alarm): New.

	* src/apt-worker.cc (cache_init): Call
	write_available_updates_file after recreating the cache.  I think
	we finally found the right place for this...
	(cmd_check_for_updates): Don't call it here, the cache might not
	have been recreated yet when there was a partial success.

	* src/util.cc, src/util.h (check_update_notifier_state): Removed,
	the update notifier now monitors all relevant files.  Removed all
	callers.
	* src/main.cc (make_upgrade_applications_view): Only record seen
	upgrades when we are the top most window.

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

	* src/operations.cc (ip_install_loop): Use new logical id
	ai_ni_software_update_installed to report that the 'update all'
	process succeeded.
	(ip_end): Use new logical id ai_ni_updates_restart to report that
	device will be restarted after updating all the packages.

	* src/apt-worker.cc (cmd_set_catalogues): Write also the failed
	catalogues file to keep it always up to date, even when not
	refreshing the catalogues list. (Fixes bug in README file).

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

	* src/apt-worker.cc (write_available_updates_file): New.  We list
	the packages explicitly now, not just their count.  Together with
	the list of updates seen by the user in the "Check for Updates",
	this allows for bullet proof determination whether the update
	notifier should be blinking or not.
	(cmd_check_updates): Call it.
	(update_available_updates_file): Removed together with supporting
	routines.
	(cmd_get_package_list): Do not write the available-updates file.

	* src/update-notifier.h (SEEN_UPDATES_FILE): New.
	* src/update-notifier.c (check_for_updates): Don't try to prevent
	multiple parallel invocations of the apt-worker here, it does its
	own locking now.
	(update_menu, update_state): Renamed former to latter.  Read both
	available updates and seen updates and recompute state from this.
	Set blinking state as appropriate.
	(button_pressed): Don't recreate menu here.
	(dbus_filter): Handle new "check-state" method by calling
	update_state.

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

	* src/apt-worker.cc (load_failed_catalogues): Added an extra check
	to neither read the failed catalogues file nor log an error when
	the file is not present at disk (no errors during last refresh).

	* src/util.h, src/util.cc (ask_yes_no_with_title): New function
	like ask_yes_no, but it constructs a real dialog with a title.
	(make_global_package_list): Fixed a mem leak found with valgrind.

	* src/operations.h (INSTALL_TYPE_UPGRADE_ALL_PACKAGES): New
	install type added for the new 'Update all' feature.

	* src/operations.cc (install_packages): Take into account the new
	INSTALL_TYPE_UPGRADE_ALL_PACKAGES install type added.
	(ip_upgrade_all_confirm): New. Shows the 'Update all' confirmation
	dialog. Invoked from ip_upgrade_all_confirm.
	(ip_upgrade_all_confirm_response): New. Manages the response for
	the confirmation dialog.
	(ip_check_required_reboot): New. Checks whether some of the
	packages to be upgraded requires to reboot, to show an information
	dialog if so.
	(ip_check_required_reboot_response): New. Manages the response of
	the dialog which tells that rebooting is required.
	(ip_end_after_reboot): If needed, free the GList structure (not
	the data) locally created for c->packages in install_packages().

	* src/main.cc (create_toolbar): Connect "clicked" signal for the
	'Update all' button to update_all_packages_callback().
	(update_all_packages_callback): New. Starts the flow to update all
	the packages in the 'Check for updates' view.
	(update_all_packages_flow): New. Start an interaction flow and
	call install_packages() with a list containing all the updates.
	(update_all_packages_flow_end): New. End the interaction flow for
	the 'Update all' process.

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

	* src/util.cc, src/util.h (check_update_notifier_state): New.
	(set_update_notifier_visibility): Removed.

	* src/main.cc (show_check_for_updates_view): Don't call
	set_update_notifier_visibility, it will figure it all out by
	itself now.
	(record_seen_updates): New.
	(make_upgrade_applications_view): Write the updateable packages to
	disk where the update notifier can find it.  Call
	check_update_notifier_state.
	(rpc_update_cache_reply): Call check_update_notifier_state, since
	now the available updates might have changed.

	* src/hildon-update-notifier-util: Added check-state sub-command
	for the update notifier.

	* src/apt-worker-client.cc (start_apt_worker): Use new "backend"
	sub-command to start apt-worker in backend mode.

	* src/apt-worker.cc (APT_WORKER_LOCK, try_lock,
	get_apt_worker_lock): New.
	(misc_init): New, to factor out common initialization tasks.
	(main): Restructured for clarity.  Acquire locks as appropriate.
	Added explicit sub-command for backend mode.  Added usage message.
	(cmdline_check_updates): New.
	(cmd_check_updates): Added 'with_status' parameter so that
	cmdline_check_updates can run it silently.

	* src/repo.cc (cat_icon_func): Removed unused local variable
	"icon_name".

	* src/update-notifier.c (AVAILABLE_UPDATES_FILE): New, use it
	instead of hard-coded value.
	(update_menu): Check mtime of file and only reconstruct menu when
	it has actually changed.  Return TRUE when that has happened.
	Only show menu lines with a non-zero count.
	(check_for_updates_done): Call update_menu and only start blining
	when it returns TRUE.
	(check_for_updates): Use sudo or fakeroot as appropriate.  Pass
	http_proxy via command line arguments.
	(setup_http_proxy, get_https_proxy): Renamed former to latter,
	don't set environment, just return the value.

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

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

	* src/util.cc (present_main_window): Separately use
	gtk_widget_show_all with main_vbox and the main toolbar.

	* src/main.h, src/main.cc (get_main_toolbar): New public function,
	useful to get the main toolbar from util.cc.
	(struct toolbar_struct): New struct to store a toolbar and all its
	items: buttons and operation label. Used to allow having different
	toolbars in the application manager and, at the same time,
	managing all of them in the same way.
	(main_tb_struct, updates_tb_struct, current_tb_struct): New global
	variables to permanently store references to the structs for each
	toolbar, plus a pointer to the current one.
	(show_view): Change the toolbar if needed, since 'Check for
	updates' view has a different toolbar than the rest of views.
	(details_button): Removed this global variable. Now it's used
	current_tb_struct->details_button.
	(set_details_callback): Updated to use current_tb_struct.
	(set_operation_callback): Set sensitiveness for the 'update all'
	button if needed (in the 'Check for updates' view).
	(toolbar_operation_label): Removed this global variable. Now it's
	used current_tb_struct->operation_label.
	(toolbar_operation_item): Removed this global variable. Now it's
	used current_tb_struct->operation_button.
	(set_operation_toolbar_label). Updated to use current_tb_struct.
	(main_toolbar): Removed this global variable. Now it's used
	main_tb_struct->toolbar.
	(set_current_toolbar): New. Changes the current toolbar by hiding
	the current toolbar and showing the new one, previously hidden.
	(set_current_toolbar_visibility): Updated to use current_tb_struct.
	(search_button): Removed this global variable. Now it's used
	current_tb_struct->search_button.
	(create_toolbar): New generic function to create a toolbar, by
	specifying if the 'Update all' button and/or the 'Search button'
	should be added to it. It returns a (toolbar_struct *).
	(create_main_toolbar): New function than wraps the use of
	create_toolbar to create the main toolbar, which hasn't an 'Update
	all button'. It returns a (toolbar_struct *).
	(create_updates_toolbar): New function than wraps the use of
	create_toolbar to create the updates toolbar, which hasn't a
	'Search' button'. It returns a (toolbar_struct *).
	(main): Changed to delegate the construction of the two toolbars
	in create_main_toolbar and create_updates_toolbar. It adds now the
	two toolbars to the Hildon Window, but only shows the main one at
	the start up of the application manager.

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

	* src/apt-worker.cc (domains_number): New global variable. Useful
	for some new functions, it makes the use of the last element of
	the domains array useless from now on, therefore removed.
	(read_domain_conf): Updated to set domains_number instead of
	setting the last element's name to NULL. Also, the domains list
	has now only n_domains elements instead of n_domains + 1.
	(find_domain_by_tag): Updated to use domains_number in the loop.
	(save_extra_info). Likewise.
	(load_extra_info). Likewise.
	(ensure cache): Added a boolean parameter 'with_status' to allow
	use this function so calling to cache_init () will also use this
	value, therefore being able to use cache_init (false).
	(struct update_counters): New. Struct to store together the value
	of all the counters for available updates: OS, Nokia and Others.
	(update_available_updates_file): Now it only writes an xexp
	structure to disk based on the value of the counters passed as
	parameter through a struct update_counters variable.
	(get_available_updates_counts): New. It returns a struct
	update_counters with the value of its counters updated.
	(update_available_update_counter). New. For a given package and a
	struct update_counters parameter, it updates the right counter in
	the struct if the package is considered to be an available update.
	(cmd_get_package_list): Now uses update_available_update_counter()
	function to check if a package is an available update or not.
	(cmd_check_updates): It uses now get_available_updates_counts and
	update_available_updates_file to get the number of available
	updates and to store such that information to disk, respectively.

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

	* src/Makefile.am (bin_PROGRAMS): Removed apt-worker again since
	it is not supposed to be invoked by the user.

	* src/dbus.cc (dbus_handler): Handle "show_check_for_updates_view"
	and "check_for_updates" method calls.

	* src/apt-worker.cc (handle_cmdline_request): Fail early when
	there is no cache.  This is a weak indication that the Application
	Manager is running.
	(main): Turn result_code returned by handle_cmdline_request into a
	exit code.
	(cmd_check_updates): Only return rescode_success and
	rescode_failure since we don't communicate more information than
	this in the exit code.

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

	* src/hildon-application-manager-util: Added check-for-updates
	command.

	* src/update-notifier.c: Added D-Bus interactions and running of
	the apt-worker.

	* src/pixbufblinkifier.c, src/pixbufblinkifier.h: Use GtkWidget as
	the parent instead of GtkMisc so that we can set the NO_WINDOW
	flag, which should give us transparency.

	* src/update-notifier.c (USE_BLINKIFIER): New, to make the use of
	pixbufblinkifier optional.

	* src/apt-worker.cc (find_catalogue_for_item_desc): Cleanly handle
	missing "components" element.
	(FAILED_CATALOGUES_FILE, AVAILABLE_UPDATES_FILE): Use a dash to
	separate words, to keep the style.

	* src/pixbufblinkifier.h, src/pixbufblinkifier.c: New.
	* src/update-notifier.c: Use them instead of blinking the icon
	ourselves.
	* src/Makefile.am: Add them.

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

	* src/update-notifier.c, src/update-notifier.h,
	src/hildon-update-notifier.desktop: New.
	* src/Makefile.am: Build and install them.
	* configure.ac: Check for what they need.

	* src/util.cc (set_update_notifier_visibility): New.
	* src/main.cc (show_check_for_updates_view): New, call
	set_update_notifier_visibility.
	(make_main_view): Use show_check_for_updates_view for the "Check
	for Updates" button.

	* 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-24  Mario Sanchez Prada  <msanchez@maemo.org>

	* src/apt-worker.cc (update_available_updates_file): New. Specific
	function to update the content of the file with information about
	available updates (AVAILABLE_UPDATES_FILE).
	(cmd_get_package_list): Moved code to write the 'available
	updates' file to the new function commented above.
	(cmd_update_package_cache): Renamed to cmd_check_updates and
	updated callers. Added a call to update_available_updates_file
	after refreshing the packages list cache, if the process didn't
	fail. Also, it now returns 'int' instead of 'void' to be able to
	use such that return value when using it in the command line mode.
	(cmd_names): Replaced UPDATE_PACKAGE_CACHE with CHECK_UPDATES.
	(enum cmdline_commands): New. Enumeration with a list of available
	commands for the command-line mode. Only CMDLINE_NOOP (no command)
	and CMDLINE_CHECK_UPDATES were added at this moment.
	(cmdline_mode): New global boolean variable to set when the
	apt-worker is working in command line mode.
	(handle_cmdline_request): New. Function to manage command line
	commands, which doesn't need the file based fifos.
	(main): Modified to consider the new command line mode and the
	only available operation at this moment: 'check for updates'.
	(update_package_cache): Consider the new command line mode to
	create the Fetcher without a DownloadStat object and to call
	cache_init with 'with_status=false' when needed.

	* src/Makefile.am (bin_PROGRAMS): Added apt-worker to be also
	installed as a program under /usr/bin

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

	* src/apt-worker.cc (FAILED_CATALOGUES_FILE): Removed '.xml'
	suffix from the filename.
	(AVAILABLE_UPDATES_FILE): New define pointing to a file under
	/var/lib/hildon-application-manager which will store information
	about available updates for the installed packages.
	(OS_UPDATES_DOMAIN_NAME): New define. Name of the domain which is
	supposed to contain updates for the OS.
	(NOKIA_UPDATES_DOMAIN_NAME): New define. Name of the domain which
	is supposed to contain updates for Nokia certified applications.
	(cmd_get_package_list): Modified to also write the file pointed by
	AVAILABLE_UPDATES_FILE with information about available updates.

	* Makefile.am: Added install-local and uninstall-local rules to
	properly create and remove the new AVAILABLE_UPDATES_FILE file.

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

	* src/xexp.h, src/xexp.c (xexp_list_map): New. Function that maps
	a xexp list as it's specified by a mapping function passed as the
	second parameter. It returns a new xexp list.
	(xexp_list_filter): New. Function that filters a xexp list as it's
	specified by a filtering function passed as the second
	parameter. It returns a new xexp list.

	* src/apt-worker.cc (cmd_set_catalogues): Filter the xexp
	structure with catalogues configuration before saving it to disk,
	not to contain error details for each failed catalogue.
	(cmd_set_catalogues): Also filter the xexp structure generated
	from the catalogues configuration file, just in case it still had
	error details for some of the available catalogues.
	(map_catalogue_error_details): New. Mapping function to be passed
	to the new xexp_list_map function, to remove errors details parts
	from catalogues configuration xexp structures when needed.
	(save_failed_catalogues): Added an extra check before saving
	failed catalogues report to disk.
	(clean_failed_catalogues): Added an extra check in order not to
	log an error when trying to unlink a non existing file.

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

	* src/repo.h, src/repo.cc (struct catcache): Added a new field
	('refresh_failed') to flag catalogues which has been failed during
	the last refresh process.
	(struct cat_dialog_closure): Changed field 'show_errors' into
	'show_only_errors', since in Diablo version of HAM errors will
	also be shown in the catalogues dialog. Updated callers.
	(show_catalogue_dialog): Changed parameter 'show_errors' into
	'show_only_errors' (Updated also in repo.h). Same reason.
	(cat_icon_func): Considered a new possible icon to show in the
	catalogues dialog which catalogues failed while refreshing.
	(cat_text_func): Added a new 'failed to refresh' suffix to failed
	catalogues in the catalogues dialog.
	(make_catcache_from_xexp): Set a proper value to the new
	'refresh_failed' field in struct catcache for each package.
	(set_cat_lits): Fixed a mistake using g_signal_emit_by_name when
	it was not even needed to set the focus in a catalog.

	* src/xexp.h, src/xexp.c (xexp_list_sort): New. Function that
	sorts a xexp list as it's specified by a specific comparison
	function passed as the second parameter.

	* src/apt-worker.cc (FAILED_CATALOGUES_FILE): New define pointing
	to a file under /var/lib/hildon-application-manager which will
	store the errors report after refreshing all the catalogues.
	(save_failed_catalogues): New. Function to store a failed
	catalogues report into disk.
	(load_failed_catalogues): New. Function to load a failed
	catalogues report from disk. If not available, it returns NULL.
	(clean_failed_catalogues): New. Clean the failed catalogues report
	by deleting the file from disk.
	(compare_failed_catalogues): New. Used by save_failed_catalogues
	to sort the failed catalogues report before storing it into disk,
	by using the new xexp_list_sort function.
	(reset_catalogue_errors): Clean a previously existing failed
	catalogues report when calling to this function.
	(cmd_update_package_cache): Save a failed catalogues report to
	disk when the application catalogue is not successfully refreshed.
	(cmd_get_catalogues): Try to load a failed catalogues report from
	disk, if it exists. If not, proceed by reading the usual
	catalogues file.

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

	* src/main.cc (cancel_updating_list): New. Used then 'Cancel'
	button is tapped while refreshing the application list.
	(rpc_do_it): Set the cancel_updating_list function as the callback
	for the 'Cancel' button after the downloading process.
	(apt_status_callback): Avoid setting the entertaining cancel
	function to NULL here, to allow the user to cancel the updating
	process at any point, not only during the downloading process.

	* src/instr.cc (open_local_install_instructions): fixed a memory
	leak freeing a GKeyFile variable.
	(execute_add_catalogues): Changed to be compliant with that fix.
	(execute_install_package): Likewise.

	* src/util.cc (stop_entertaining_user): Set to NULL the
	entertaining cancel callback and its associated data when the
	entertaining process is finished.

	* src/apt-worker.cc (APTCMD_UPDATE_PACKAGE_CACHE): renamed to
	APTCMD_CHECK_UPDATES.

	* src/apt-worker-proto.h (APTCMD_UPDATE_PACKAGE_CACHE): renamed to
	APTCMD_CHECK_UPDATES.

	* src/apt-worker-client.cc (APTCMD_UPDATE_PACKAGE_CACHE): renamed
	to APTCMD_CHECK_UPDATES.

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.
