2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* NEWS:
	Update for release.

2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-container.c
	(nautilus_icon_container_update_scroll_region),
	(nautilus_icon_container_get_first_visible_icon),
	(nautilus_icon_container_scroll_to_icon):
	Adapt manual layout borders to auto layout borders, improve horizontal
	RTL scrolling to items. Unfortunately, programmatical scrolling is
	still somewhat broken due to subsequent relayouts as the horizontal
	scroll bar is shown/hidden.

2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-container.c
	(rightmost_in_top_row), (keyboard_right), (keyboard_left),
	(keyboard_down), (keyboard_up):
	In LTR mode, always jump to the top-left icon if no icon is selected.
	In RTL mode, always jump to the top-right icon if no icon is selected.

2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-container.c
	(nautilus_icon_container_scroll_to_icon):
	Also reveal entire rows/columns, and ensure a nice padding around icons.

2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-container.c
	(nautilus_icon_container_update_scroll_region):
	Fix RTL scroll region calculation.

2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-container.c (key_press_event):
	Reset event window before freeing event.

2008-09-01  Bastien Nocera  <hadess@hadess.net>

	* src/file-manager/nautilus-audio-mime-types.h: Update with
	latest changes from Totem, we can preview midi, XM, speex
	and FLAC files

2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-container.c
	(item_get_canvas_bounds), (icon_get_row_and_column_bounds),
	(reveal_icon), (nautilus_icon_container_update_scroll_region),
	(lay_down_icons_horizontal):
	Improve icon view and compact view appearance:

	Always reveal entire rows and columns, i.e. ensure that all items
	are displayed, and a little safety padding around them is displayed.

	Increase vertical top and bottom container space for vertical layout,
	and horizontal bottom container space for horizontal layout.

2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* src/nautilus-application.c (volume_added_callback):
	Make autorun work for blank CDs. Fixes #548221. Thanks to Jerry Yu
	<jijun.yu@sun.com>.

2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-file-operations.c
	(confirm_empty_trash), (prompt_empty_trash):
	Use "Empty Trash" buttons in empty trash dialogs. Fixes #524020.

2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-customization-data.c
	(format_name_for_display), (load_name_map_hash_table):
	* src/file-manager/fm-directory-view.c
	(add_template_to_templates_menus):
	* src/nautilus-property-browser.c
	(nautilus_property_browser_drag_data_get),
	(make_properties_from_directories):
	* test/test-nautilus-wrap-table.c (main):
	Strip extensions using eel_filename_strip_extension(). Fixes #309510.
	Thanks to Paolo Borelli <pborelli@katamail.com> and Jared Moore
	<jaredm@gmx.com>.

2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* configure.in:
	Require eel 2.23.91.

	* libnautilus-private/nautilus-icon-info.c
	(nautilus_icon_info_lookup):
	Use eel_gdk_pixbuf_load_from_stream_at_size() for loading SVG icons at
	the desired size. Fixes #529371.

2008-09-01  Christian Neumair  <cneumair@gnome.org>

	* src/file-manager/fm-directory-view.c (done_loading):
	Only report that loading is complete and schedule selection 
	if all files are seen. Fixes #421759.

2008-08-31  Cosimo Cecchi  <cosimoc@gnome.org>

	* libnautilus-private/nautilus-icon-container.c: (key_press_event):
	Don't leak a GdkEvent.
	Thanks to Huang Peng (#548448).

2008-08-31  Christian Neumair  <cneumair@gnome.org>

	* src/nautilus-file-management-properties.glade:
	Modify "Behavior" category on "Behavior" tab: Use 12 pixels of
	vertical padding between click and window preferences. Fixes #158802.

2008-08-31  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-names.h:
	* src/file-manager/fm-directory-view.c (real_update_location_menu),
	(real_update_menus):
	* src/file-manager/fm-tree-view.c (create_popup_menu):
	Use "edit-delete" icon for delete actions, and "user-trash-full" icon
	for trash actions. Partially fixes #325945.
	Also make some mnemonics consistent.

2008-08-31  Christian Neumair  <cneumair@gnome.org>

	* src/nautilus-main.c (main):
	Detect restart requests by the session manager (i.e. after crashes),
	only show default window if no desktop window is shown. Fixes #99221.

2008-08-31  Christian Neumair  <cneumair@gnome.org>

	* src/file-manager/fm-directory-view.c
	(get_file_names_as_parameter_array), (run_script_callback):
	Get script file name as script parameter relative to current
	view directory. Fixes #320215.

2008-08-30  Christian Neumair  <cneumair@gnome.org>

	* src/file-manager/fm-icon-view.c (fm_icon_view_set_property):
	Set icon layout to T_B_R_L iff widget's text direction is RTL.

2008-08-30  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-canvas-item.c:
	Add T_B_R_L to IS_COMPACT_VIEW() macro.

	* libnautilus-private/nautilus-icon-container.c
	(lay_down_one_column), (compare_icons_horizontal),
	(compare_icons_vertical), (previous_column_highest),
	(previous_column_lowest), (keyboard_right), (keyboard_left),
	(keyboard_down), (keyboard_up):
	Support vertical icon container RTL layout. Make RTL keynav useful.
	For wrap-around on pressing the down button in RTL mode
	compare_icons_horizontal() and compare_icons_vertical() had to be
	added for not breaking previous_column_highest(). I.e. consider both
	coordinates separately. There is probably a sort algorithm bug involved
	that only occurs in this situation.

2008-08-30  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-container.c (get_cmp_point_x),
	(compare_with_start_row), (compare_with_start_column),
	(next_row_rightmost), (next_column_bottommost),
	(same_column_below_highest), (keyboard_home), (keyboard_end),
	(record_arrow_key_start), (keyboard_arrow_key), (keyboard_right),
	(keyboard_left), (keyboard_down), (keyboard_up),
	(button_press_event):
	Split out fallback function that determine the rightmost icon on the
	bottom row, which used to be inside same_column_below_highest().
	Add a similar concept for the vertical layout.

	Vertical layout: Move to the last item when pressing the right arrow
			 key in the penultimate column, below the last item.
				next_row_rightmost().

	Horizontal layout: Move to the last item when pressing the down arrow
			   key in the penultimate row, right to the last item.
				next_column_bottommost().

	Remove arrow_key_start, and use arrow_key_axis_x/_y, for
	horizontal/vertical position constraints in
	compare_with_start_column() and compare_with_start_row().

	Fixes #549686, at least for LTR.

	* libnautilus-private/nautilus-icon-private.h:
	Remove unused arrow_key_axis and arrow_key_start variables.

2008-08-28  Cosimo Cecchi  <cosimoc@gnome.org>

	* src/file-manager/fm-directory-view.c:
	(update_restore_from_trash_action):
	Fix a typo in a plural string.
	Patch by Petr Kovar (#549662).

2008-08-25  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-container.c
	(icon_set_position):
	Fix icon container size calculation (consider margins),
	use unified container clamping code for RTL and LTR, that considers
	the entire item dimensions, instead of measuring just the icon
	rectangle.

2008-08-24  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-directory.c
	(nautilus_directory_schedule_position_set):
	* libnautilus-private/nautilus-file.c (get_time_from_time_string),
	(nautilus_file_get_time_metadata),
	(nautilus_file_set_time_metadata):
	* libnautilus-private/nautilus-file.h:
	* libnautilus-private/nautilus-icon-container.c
	(lay_down_icons_vertical_desktop),
	(nautilus_icon_container_class_init),
	(nautilus_icon_container_instance_init),
	(nautilus_icon_container_clear), (finish_adding_new_icons),
	(is_old_or_unknown_icon_data), (nautilus_icon_container_add),
	(nautilus_icon_container_begin_loading),
	(store_layout_timestamps_now),
	(nautilus_icon_container_end_loading),
	(nautilus_icon_container_get_store_layout_timestamps),
	(nautilus_icon_container_set_store_layout_timestamps):
	* libnautilus-private/nautilus-icon-container.h:
	* libnautilus-private/nautilus-icon-dnd.c (handle_local_move):
	* libnautilus-private/nautilus-icon-private.h:
	* libnautilus-private/nautilus-metadata.h:
	* src/file-manager/fm-desktop-icon-view.c
	(fm_desktop_icon_view_init):
	* src/file-manager/fm-directory-view.c (done_loading),
	(display_pending_files), (fm_directory_view_end_loading),
	(fm_directory_view_stop), (fm_directory_view_class_init):
	* src/file-manager/fm-directory-view.h:
	* src/file-manager/fm-icon-view.c (fm_icon_view_add_file),
	(fm_icon_view_begin_loading), (fm_icon_view_end_loading),
	(fm_icon_view_screen_changed), (get_stored_layout_timestamp),
	(store_layout_timestamp), (create_icon_container):
	No more overlapping desktop icons.

	Implement a layout timestamp concept where each file on the desktop
	and the desktop directory itself is timestamped when a full layout
	happened. Iff files were not part of the last layout (or added more
	recently, through DND), they are treated as being “semi-positioned“
	(cf. 2005-11-07).
	This means that they may be freely shifted around, starting from their
	last position, until they don't overlap and fully laid out items.
	Should inter alia fix #330298.

2008-08-24  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-container.c
	(find_empty_location), (lay_down_icons_vertical_desktop):
	Only use relative item measures for bounds check until absolute item
	positions are figured out.

2008-08-22  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-canvas-item.c
	(prepare_pango_layout_for_draw), (draw_label_text):
	Always clear text background and display entire text
	if an icon is prelit or has the keyboard focus.

2008-08-22  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-canvas-item.c
	(nautilus_icon_canvas_item_invalidate_label_size),
	(nautilus_icon_canvas_item_set_property), (compute_text_rectangle),
	(nautilus_icon_canvas_item_update_bounds), (layout_get_full_size),
	(layout_get_size_for_layout), (prepare_pango_layout_width),
	(prepare_pango_layout_for_measure_entire_text),
	(prepare_pango_layout_for_draw), (measure_label_text),
	(draw_label_text), (create_label_layout),
	(nautilus_icon_canvas_item_get_bounds_for_entire_item),
	(nautilus_icon_canvas_item_ensure_bounds_up_to_date),
	(nautilus_icon_canvas_item_get_text_rectangle),
	(nautilus_icon_canvas_item_accessible_get_offset_at_point):
	* libnautilus-private/nautilus-icon-canvas-item.h:
	* libnautilus-private/nautilus-icon-container.c
	(icon_get_bounding_box), (get_icon_bounds_for_canvas_bounds),
	(get_all_icon_bounds),
	(nautilus_icon_container_update_scroll_region),
	(compare_icons_by_position), (placement_grid_mark_icon),
	(find_empty_location), (lay_down_icons_vertical_desktop),
	(finish_adding_new_icons):
	Rework large chunks of canvas item text handling. Split text drawing
	and measuring function.

	Always calculate the size required to render the entire layout, then
	limit the number of lines to the allowed maximum.

	Introduce new bound calculation semantics. Introduce three item and
	text size usage and calculation contexts:
		layout: used for grid layout algorithms (ex. horizontal auto
		layout)

		entire text: for displaying the entire text (ex. canvas bound
		calculation for scroll area)

		display: actually used size (ex. text drawing)

2008-08-21  Cosimo Cecchi  <cosimoc@gnome.org>

	* src/file-manager/fm-directory-view.c: (real_update_menus):
	Don't show "Browse Folders" in spatial mode if no folders are
	selected.
	Patch by Paweł Paprota (#351431).

2008-08-21  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-canvas-item.c
	(layout_get_full_size), (draw_or_measure_label_text):
	* libnautilus-private/nautilus-icon-container.c
	(nautilus_icon_container_constructor),
	(nautilus_icon_container_get_max_layout_lines_for_pango),
	(nautilus_icon_container_get_max_layout_lines):
	* libnautilus-private/nautilus-icon-container.h:
	Add helper for getting max. number of layout lines, which does not use
	the negative PangoLayout height convention. Use it in
	layout_get_full_size() instead of hardcoding three lines.
	Only connect GConf text ellipsis preferences container callbacks while
	the containers are alive.

2008-08-21  Cosimo Cecchi  <cosimoc@gnome.org>

	* src/file-manager/fm-properties-window.c:
	(value_field_update_internal):
	Add context for translators.
	Thanks to Bob Mauchin (#548446).

2008-08-21  Cosimo Cecchi  <cosimoc@gnome.org>

	* libnautilus-private/apps_nautilus_preferences.schemas.in:
	Fix typo in the schemas type description.
	Patch by F. Steinel (#548740).

2008-08-20  Christian Neumair  <cneumair@gnome.org>

	* libnautilus-private/nautilus-icon-canvas-item.c
	(draw_or_measure_label_text):
	Clear underlying items if text overlaps them when displaying full
	PangoLayout.

2008-08-20  Christian Neumair  <cneumair@gnome.org>

	* configure.in:
	Post release version bump.

=== nautilus 2.23.90 ===