gimp r25216 - in trunk: . app/gui app/widgets



Author: neo
Date: Tue Mar 25 10:00:33 2008
New Revision: 25216
URL: http://svn.gnome.org/viewvc/gimp?rev=25216&view=rev

Log:
2008-03-25  Sven Neumann  <sven gimp org>

	* app/gui/gui.c (gui_restore_after_callback): focus the image
	window after all docks have been created.

	* app/widgets/gimpdock.c (gimp_dock_init): unset focus-on-map on
	all dock windows.

	* app/widgets/gimpdialogfactory.c
	(gimp_dialog_factories_show_foreach): removed the focus hacks here
	as they are not any longer needed.


Modified:
   trunk/ChangeLog
   trunk/app/gui/gui.c
   trunk/app/widgets/gimpdialogfactory.c
   trunk/app/widgets/gimpdock.c

Modified: trunk/app/gui/gui.c
==============================================================================
--- trunk/app/gui/gui.c	(original)
+++ trunk/app/gui/gui.c	Tue Mar 25 10:00:33 2008
@@ -449,6 +449,7 @@
                             GimpInitStatusFunc  status_callback)
 {
   GimpGuiConfig *gui_config = GIMP_GUI_CONFIG (gimp->config);
+  GimpDisplay   *display;
 
   if (gimp->be_verbose)
     g_print ("INIT: %s\n", G_STRFUNC);
@@ -530,7 +531,8 @@
   color_history_restore (gimp);
 
   /*  create the empty display  */
-  gimp_create_display (gimp, NULL, GIMP_UNIT_PIXEL, 1.0);
+  display = GIMP_DISPLAY (gimp_create_display (gimp,
+                                               NULL, GIMP_UNIT_PIXEL, 1.0));
 
   gui_dbus_service_init (gimp);
 
@@ -538,6 +540,9 @@
     session_restore (gimp);
 
   dialogs_show_toolbox ();
+
+  /*  move keyboard focus to the display  */
+  gtk_window_present (GTK_WINDOW (display->shell));
 }
 
 static gboolean

Modified: trunk/app/widgets/gimpdialogfactory.c
==============================================================================
--- trunk/app/widgets/gimpdialogfactory.c	(original)
+++ trunk/app/widgets/gimpdialogfactory.c	Tue Mar 25 10:00:33 2008
@@ -157,8 +157,8 @@
 
   if (factory->session_infos)
     {
-      g_list_foreach (factory->session_infos, (GFunc) gimp_session_info_free,
-                      NULL);
+      g_list_foreach (factory->session_infos,
+                      (GFunc) gimp_session_info_free, NULL);
       g_list_free (factory->session_infos);
       factory->session_infos = NULL;
     }
@@ -1392,19 +1392,15 @@
           if (! GTK_WIDGET_VISIBLE (list->data) &&
               visibility == GIMP_DIALOG_VISIBILITY_VISIBLE)
             {
-              GtkWindow *window       = GTK_WINDOW (list->data);
-              gboolean   focus_on_map = gtk_window_get_focus_on_map (window);
-
-              if (focus_on_map)
-                gtk_window_set_focus_on_map (window, FALSE);
+              GtkWindow *window = GTK_WINDOW (list->data);
 
+              /* Don't use gtk_window_present() here, we don't want the
+               * keyboard focus to move.
+               */
               gtk_widget_show (GTK_WIDGET (window));
 
               if (GTK_WIDGET_VISIBLE (window))
                 gdk_window_raise (GTK_WIDGET (window)->window);
-
-              if (focus_on_map)
-                gtk_window_set_focus_on_map (window, TRUE);
             }
         }
     }

Modified: trunk/app/widgets/gimpdock.c
==============================================================================
--- trunk/app/widgets/gimpdock.c	(original)
+++ trunk/app/widgets/gimpdock.c	Tue Mar 25 10:00:33 2008
@@ -178,6 +178,7 @@
 
   gtk_window_set_role (GTK_WINDOW (dock), "gimp-dock");
   gtk_window_set_resizable (GTK_WINDOW (dock), TRUE);
+  gtk_window_set_focus_on_map (GTK_WINDOW (dock), FALSE);
 
   dock->main_vbox = gtk_vbox_new (FALSE, 0);
   gtk_container_add (GTK_CONTAINER (dock), dock->main_vbox);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]