diff options
author | Martin Wehner <martin.wehner@gmail.com> | 2006-01-31 00:23:55 +0000 |
---|---|---|
committer | Martin Wehner <mwehner@src.gnome.org> | 2006-01-31 00:23:55 +0000 |
commit | 2e3313789db733fdcf611f82116a117e6d72ef08 (patch) | |
tree | 7b463c9c44d966a352704177a9cdbcc4593d2f3a | |
parent | 71d056f26dfb665d830778166ae9e5cb9819387f (diff) | |
download | nautilus-2e3313789db733fdcf611f82116a117e6d72ef08.tar.gz |
Add new grab_focus method.
2006-01-31 Martin Wehner <martin.wehner@gmail.com>
* libnautilus-private/nautilus-view.h:
* libnautilus-private/nautilus-view.c: (nautilus_view_grab_focus):
Add new grab_focus method.
* src/file-manager/fm-list-view.c: (fm_list_view_grab_focus),
(fm_list_view_iface_init):
Implement grab_focus.
* src/nautilus-window.c: (nautilus_window_set_content_view_widget):
Use grab_focus to set the focus on the content view. Fixes #329087.
Patch from Nelson Benitez <gnel@cenobioracing.com>
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | libnautilus-private/nautilus-view.c | 10 | ||||
-rw-r--r-- | libnautilus-private/nautilus-view.h | 3 | ||||
-rw-r--r-- | src/file-manager/fm-list-view.c | 7 | ||||
-rw-r--r-- | src/nautilus-window.c | 2 |
5 files changed, 36 insertions, 0 deletions
@@ -1,3 +1,17 @@ +2006-01-31 Martin Wehner <martin.wehner@gmail.com> + + * libnautilus-private/nautilus-view.h: + * libnautilus-private/nautilus-view.c: (nautilus_view_grab_focus): + Add new grab_focus method. + + * src/file-manager/fm-list-view.c: (fm_list_view_grab_focus), + (fm_list_view_iface_init): + Implement grab_focus. + + * src/nautilus-window.c: (nautilus_window_set_content_view_widget): + Use grab_focus to set the focus on the content view. Fixes #329087. + Patch from Nelson Benitez <gnel@cenobioracing.com> + 2006-01-30 Martin Wehner <martin.wehner@gmail.com> * src/nautilus-places-sidebar.c: (compute_drop_position), diff --git a/libnautilus-private/nautilus-view.c b/libnautilus-private/nautilus-view.c index 66027cd3c..8b42070df 100644 --- a/libnautilus-private/nautilus-view.c +++ b/libnautilus-private/nautilus-view.c @@ -251,6 +251,16 @@ nautilus_view_get_zoom_level (NautilusView *view) } void +nautilus_view_grab_focus (NautilusView *view) +{ + g_return_if_fail (NAUTILUS_IS_VIEW (view)); + + if (NAUTILUS_VIEW_GET_IFACE (view)->grab_focus != NULL) { + (* NAUTILUS_VIEW_GET_IFACE (view)->grab_focus) (view); + } +} + +void nautilus_view_pop_up_location_context_menu (NautilusView *view, GdkEventButton *event) { diff --git a/libnautilus-private/nautilus-view.h b/libnautilus-private/nautilus-view.h index 7eb57ba2e..8f425a2b4 100644 --- a/libnautilus-private/nautilus-view.h +++ b/libnautilus-private/nautilus-view.h @@ -106,6 +106,8 @@ struct _NautilusViewIface gboolean (* can_zoom_in) (NautilusView *view); gboolean (* can_zoom_out) (NautilusView *view); + void (* grab_focus) (NautilusView *view); + /* Request popup of context menu referring to the open location. * This is triggered in spatial windows by right-clicking the location button, * in navigational windows by right-clicking the "Location:" label in the @@ -151,6 +153,7 @@ gboolean nautilus_view_can_zoom_out (NautilusView *v NautilusZoomLevel nautilus_view_get_zoom_level (NautilusView *view); void nautilus_view_pop_up_location_context_menu (NautilusView *view, GdkEventButton *event); +void nautilus_view_grab_focus (NautilusView *view); G_END_DECLS diff --git a/src/file-manager/fm-list-view.c b/src/file-manager/fm-list-view.c index 377cf7ad3..cd2f84650 100644 --- a/src/file-manager/fm-list-view.c +++ b/src/file-manager/fm-list-view.c @@ -2465,6 +2465,12 @@ list_view_scroll_to_file (NautilusView *view, } } +static void +fm_list_view_grab_focus (NautilusView *view) +{ + gtk_widget_grab_focus (GTK_WIDGET (FM_LIST_VIEW (view)->details->tree_view)); +} + static void fm_list_view_class_init (FMListViewClass *class) @@ -2536,6 +2542,7 @@ fm_list_view_iface_init (NautilusViewIface *iface) iface->get_first_visible_file = fm_list_view_get_first_visible_file; iface->scroll_to_file = list_view_scroll_to_file; iface->get_title = NULL; + iface->grab_focus = fm_list_view_grab_focus; } diff --git a/src/nautilus-window.c b/src/nautilus-window.c index 9e564f994..3d0bb4b3f 100644 --- a/src/nautilus-window.c +++ b/src/nautilus-window.c @@ -1224,6 +1224,8 @@ nautilus_window_set_content_view_widget (NautilusWindow *window, EEL_CALL_METHOD (NAUTILUS_WINDOW_CLASS, window, set_content_view_widget, (window, frame)); + + nautilus_view_grab_focus (frame); } /** |