2008-09-01 Christian Neumair * NEWS: Update for release. 2008-09-01 Christian Neumair * 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 * 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 * 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 * libnautilus-private/nautilus-icon-container.c (nautilus_icon_container_update_scroll_region): Fix RTL scroll region calculation. 2008-09-01 Christian Neumair * libnautilus-private/nautilus-icon-container.c (key_press_event): Reset event window before freeing event. 2008-09-01 Bastien Nocera * 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 * 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 * src/nautilus-application.c (volume_added_callback): Make autorun work for blank CDs. Fixes #548221. Thanks to Jerry Yu . 2008-09-01 Christian Neumair * 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 * 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 and Jared Moore . 2008-09-01 Christian Neumair * 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 * 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 * libnautilus-private/nautilus-icon-container.c: (key_press_event): Don't leak a GdkEvent. Thanks to Huang Peng (#548448). 2008-08-31 Christian Neumair * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * libnautilus-private/apps_nautilus_preferences.schemas.in: Fix typo in the schemas type description. Patch by F. Steinel (#548740). 2008-08-20 Christian Neumair * 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 * configure.in: Post release version bump. === nautilus 2.23.90 ===