From fb41e64543db5451bb8428d6b8c1b6fe5106d78f Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Sun, 13 Apr 2003 12:47:48 +0000 Subject: [PATCH] r2622: Remove default GtkTreeView keys (they conflicted with the menus). Fixed some minor cursor problems in List view. --- ROX-Filer/Help/Changes | 5 +++++ ROX-Filer/Help/TODO | 2 -- ROX-Filer/src/filer.c | 3 +-- ROX-Filer/src/view_details.c | 18 +++++++++++++++++- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/ROX-Filer/Help/Changes b/ROX-Filer/Help/Changes index 441fef67..9503d7a3 100644 --- a/ROX-Filer/Help/Changes +++ b/ROX-Filer/Help/Changes @@ -2,6 +2,11 @@ A RISC OS-like filer for X by Thomas Leonard +12-Apr-2003 +~~~~~~~~~~~ +Remove default GtkTreeView keys (they conflicted with the menus). +Fixed some minor cursor problems in List view. + 10-Apr-2003 ~~~~~~~~~~~ Winking now works in List view. diff --git a/ROX-Filer/Help/TODO b/ROX-Filer/Help/TODO index f80f00de..0b06b5d7 100644 --- a/ROX-Filer/Help/TODO +++ b/ROX-Filer/Help/TODO @@ -15,8 +15,6 @@ Stable release mustn't use DISABLE_DEPRECATED. dnotify: should wait a little before rescanning. -GtkTreeView bindings (eg, ^N) override menu bindings. - Escape text/uri-list. Sorting by group/user should use name (Bernard Jungen). diff --git a/ROX-Filer/src/filer.c b/ROX-Filer/src/filer.c index 7ccf845a..21304365 100644 --- a/ROX-Filer/src/filer.c +++ b/ROX-Filer/src/filer.c @@ -887,7 +887,6 @@ void filer_window_toggle_cursor_item_selected(FilerWindow *filer_window) view_cursor_to_iter(view, &iter); } -/* Handle keys that can't be bound with the menu */ gint filer_key_press_event(GtkWidget *widget, GdkEventKey *event, FilerWindow *filer_window) @@ -921,7 +920,7 @@ gint filer_key_press_event(GtkWidget *widget, view_get_iter(view, &iter, 0); if (iter.next(&iter)) view_cursor_to_iter(view, &iter); - gtk_widget_grab_focus(GTK_WIDGET(view)); + gtk_widget_grab_focus(GTK_WIDGET(view)); /* Needed? */ return TRUE; } diff --git a/ROX-Filer/src/view_details.c b/ROX-Filer/src/view_details.c index 47a61b5d..1d883d6e 100644 --- a/ROX-Filer/src/view_details.c +++ b/ROX-Filer/src/view_details.c @@ -625,6 +625,14 @@ out: return TRUE; } +static gint view_details_key_press(GtkWidget *widget, GdkEventKey *event) +{ + if (event->keyval == GDK_Up || event->keyval == GDK_Down) + return GTK_WIDGET_CLASS(parent_class)->key_press_event(widget, + event); + return FALSE; +} + static gboolean view_details_button_press(GtkWidget *widget, GdkEventButton *bev) { @@ -901,6 +909,7 @@ static void view_details_class_init(gpointer gclass, gpointer data) GTK_OBJECT_CLASS(object)->destroy = view_details_destroy; widget->scroll_event = view_details_scroll; + widget->key_press_event = view_details_key_press; widget->button_press_event = view_details_button_press; widget->button_release_event = view_details_button_release; widget->motion_notify_event = view_details_motion_notify; @@ -1577,7 +1586,14 @@ static void view_details_autosize(ViewIface *view) static gboolean view_details_cursor_visible(ViewIface *view) { - return FALSE; + GtkTreePath *path = NULL; + + gtk_tree_view_get_cursor((GtkTreeView *) view, &path, NULL); + + if (path) + gtk_tree_path_free(path); + + return path != NULL; } static void view_details_set_base(ViewIface *view, ViewIter *iter) -- 2.11.4.GIT