[gtranslator] Manage focus in event, so we know which window is the one active.



commit 84bbc035ee81e69c8388c97e11ca9a4bf32a1e2f
Author: Ignacio Casal Quinteiro <icq gnome org>
Date:   Thu Feb 11 20:45:31 2010 +0100

    Manage focus in event, so we know which window is the one active.

 src/gtr-application.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/src/gtr-application.c b/src/gtr-application.c
index 10f820b..f9f3b43 100644
--- a/src/gtr-application.c
+++ b/src/gtr-application.c
@@ -139,6 +139,19 @@ set_active_window (GtrApplication *app,
   app->priv->active_window = window;
 }
 
+static gboolean
+window_focus_in_event (GtrWindow      *window,
+		       GdkEventFocus  *event,
+		       GtrApplication *app)
+{
+  /* updates active_view and active_child when a new toplevel receives focus */
+  g_return_val_if_fail (GTR_IS_WINDOW (window), FALSE);
+
+  set_active_window (app, window);
+
+  return FALSE;
+}
+
 static void
 on_window_destroy_cb (GtrWindow *window, GtrApplication *app)
 {
@@ -349,6 +362,9 @@ gtr_application_create_window (GtrApplication *app)
       gtk_window_unmaximize (GTK_WINDOW (window));
     }
 
+  g_signal_connect (window, "focus_in_event",
+                    G_CALLBACK (window_focus_in_event), app);
+
   g_signal_connect (window, "delete-event",
                     G_CALLBACK (on_window_delete_event_cb), app);
 



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