fixed keyboard focus on start-up
authorVladimir Nadvornik <nadvornik@suse.cz>
Sat, 28 Mar 2009 15:51:21 +0000 (15:51 +0000)
committerVladimir Nadvornik <nadvornik@suse.cz>
Sat, 28 Mar 2009 15:51:21 +0000 (15:51 +0000)
https://sourceforge.net/tracker/?func=detail&aid=2707025&group_id=222125&atid=1054680

src/image.c
src/image.h
src/layout.c

index 212d395..d84988c 100644 (file)
@@ -1555,6 +1555,19 @@ void image_set_selectable(ImageWindow *imd, gboolean selectable)
        gtk_container_set_border_width(GTK_CONTAINER(imd->frame), selectable ? 4 : 0);
 }
 
+void image_grab_focus(ImageWindow *imd)
+{
+       if (imd->has_frame)
+               {
+               gtk_widget_grab_focus(imd->frame);
+               }
+       else
+               {
+               gtk_widget_grab_focus(imd->widget);
+               }
+}
+
+
 /*
  *-------------------------------------------------------------------
  * prefs sync
index c05eaf1..7542dfc 100644 (file)
@@ -49,6 +49,7 @@ void image_set_state_func(ImageWindow *imd,
 void image_select(ImageWindow *imd, gboolean select);
 void image_set_selectable(ImageWindow *imd, gboolean selectable);
 
+void image_grab_focus(ImageWindow *imd);
 /* path, name */
 const gchar *image_get_path(ImageWindow *imd);
 const gchar *image_get_name(ImageWindow *imd);
index 76b6147..26bd75b 100644 (file)
@@ -1683,7 +1683,7 @@ static void layout_grid_setup(LayoutWindow *lw)
 
                layout_tools_setup(lw, tools, files);
 
-               gtk_widget_grab_focus(lw->image->widget);
+               image_grab_focus(lw->image);
 
                return;
                }
@@ -1750,7 +1750,7 @@ static void layout_grid_setup(LayoutWindow *lw)
        gtk_paned_set_position(GTK_PANED(lw->h_pane), lw->options.main_window.hdivider_pos);
        gtk_paned_set_position(GTK_PANED(lw->v_pane), lw->options.main_window.vdivider_pos);
 
-       gtk_widget_grab_focus(lw->image->widget);
+       image_grab_focus(lw->image);
 }
 
 void layout_style_set(LayoutWindow *lw, gint style, const gchar *order)