diff options
author | Christian Neumair <cneumair@gnome.org> | 2008-09-01 16:01:30 +0000 |
---|---|---|
committer | Christian Neumair <cneumair@src.gnome.org> | 2008-09-01 16:01:30 +0000 |
commit | d02c986b2ea45962e226cfef2d66ac4df7838fe9 (patch) | |
tree | aeea2da943d298fa003c3424b08dcc4ce53f975f | |
parent | 1568237329f08bd6e97dbe4efb4037fb3646ed15 (diff) | |
download | nautilus-d02c986b2ea45962e226cfef2d66ac4df7838fe9.tar.gz |
In LTR mode, always jump to the top-left icon if no icon is selected. In
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.
svn path=/trunk/; revision=14564
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | libnautilus-private/nautilus-icon-container.c | 26 |
2 files changed, 30 insertions, 4 deletions
@@ -1,6 +1,14 @@ 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. diff --git a/libnautilus-private/nautilus-icon-container.c b/libnautilus-private/nautilus-icon-container.c index e40f9a7d1..66ce01e69 100644 --- a/libnautilus-private/nautilus-icon-container.c +++ b/libnautilus-private/nautilus-icon-container.c @@ -2972,6 +2972,20 @@ leftmost_in_top_row (NautilusIconContainer *container, } static gboolean +rightmost_in_top_row (NautilusIconContainer *container, + NautilusIcon *start_icon, + NautilusIcon *best_so_far, + NautilusIcon *candidate, + void *data) +{ + if (best_so_far == NULL) { + return TRUE; + } + return compare_icons_vertical (container, best_so_far, candidate) > 0; + return compare_icons_horizontal (container, best_so_far, candidate) < 0; +} + +static gboolean rightmost_in_bottom_row (NautilusIconContainer *container, NautilusIcon *start_icon, NautilusIcon *best_so_far, @@ -3717,7 +3731,8 @@ keyboard_right (NautilusIconContainer *container, event, GTK_DIR_RIGHT, rightmost_in_bottom_row, - leftmost_in_top_row, + nautilus_icon_container_is_layout_rtl (container) ? + rightmost_in_top_row : leftmost_in_top_row, same_row_right_side_leftmost, no_a11y, next_column_fallback, @@ -3750,8 +3765,9 @@ keyboard_left (NautilusIconContainer *container, keyboard_arrow_key (container, event, GTK_DIR_LEFT, - leftmost_in_top_row, rightmost_in_bottom_row, + nautilus_icon_container_is_layout_rtl (container) ? + rightmost_in_top_row : leftmost_in_top_row, same_row_left_side_rightmost, no_a11y, previous_column_fallback, @@ -3792,7 +3808,8 @@ keyboard_down (NautilusIconContainer *container, event, GTK_DIR_DOWN, rightmost_in_bottom_row, - leftmost_in_top_row, + nautilus_icon_container_is_layout_rtl (container) ? + rightmost_in_top_row : leftmost_in_top_row, same_column_below_highest, no_a11y, next_row_fallback, @@ -3822,8 +3839,9 @@ keyboard_up (NautilusIconContainer *container, keyboard_arrow_key (container, event, GTK_DIR_UP, - leftmost_in_top_row, rightmost_in_bottom_row, + nautilus_icon_container_is_layout_rtl (container) ? + rightmost_in_top_row : leftmost_in_top_row, same_column_above_lowest, no_a11y, NULL, |