summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Neumair <cneumair@gnome.org>2008-09-01 16:01:30 +0000
committerChristian Neumair <cneumair@src.gnome.org>2008-09-01 16:01:30 +0000
commitd02c986b2ea45962e226cfef2d66ac4df7838fe9 (patch)
treeaeea2da943d298fa003c3424b08dcc4ce53f975f
parent1568237329f08bd6e97dbe4efb4037fb3646ed15 (diff)
downloadnautilus-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--ChangeLog8
-rw-r--r--libnautilus-private/nautilus-icon-container.c26
2 files changed, 30 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index dcccb5a48..299fac11d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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,