[empathy: 2/5] Fixed coding style by removing trailing spaces and not using a mix of



commit bb9f071a1edf595f89ce23b9d3cfb0955c89ab1d
Author: jtellier <jtellier Jospin localdomain>
Date:   Mon May 11 09:54:19 2009 -0400

    Fixed coding style by removing trailing spaces and not using a mix of
    tabs and spaces. Removed some responsabilities from
    EmpathyCallWindowFullscreen. It now only manages the "Leave Fullscreen"
    popup and button.
---
 src/empathy-call-window-fullscreen.c |  180 ++++++++++++----------------------
 src/empathy-call-window-fullscreen.h |   19 +---
 src/empathy-call-window.c            |   79 ++++++++++++---
 3 files changed, 132 insertions(+), 146 deletions(-)

diff --git a/src/empathy-call-window-fullscreen.c b/src/empathy-call-window-fullscreen.c
index d01d65b..888b1df 100644
--- a/src/empathy-call-window-fullscreen.c
+++ b/src/empathy-call-window-fullscreen.c
@@ -1,7 +1,12 @@
 /*
- * empathy-call-window.c - Source for EmpathyCallWindow
+ * empathy-call-window-fullscreen.c - Source for EmpathyCallWindowFullscreen
  * Copyright (C) 2009 Collabora Ltd.
  *
+ * Some code is based on the Totem Movie Player, especially
+ * totem-fullscreen.c which has the following copyright:
+ * Copyright (C) 2001-2007 Bastien Nocera <hadess hadess net>
+ * Copyright (C) 2007 Sunil Mohan Adapa <sunilmohan gnu org in>
+ *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
@@ -24,10 +29,10 @@
 #include <libempathy/empathy-utils.h>
 #include <libempathy-gtk/empathy-ui-utils.h>
 
-/* The number of seconds fo which the "leave fullscreen" popup should be shown */
+/* The number of seconds for which the "leave fullscreen" popup should be shown */
 #define FULLSCREEN_POPUP_TIMEOUT 5
 
-G_DEFINE_TYPE (EmpathyCallWindowFullscreen, empathy_call_window_fullscreen, GTK_TYPE_WINDOW)
+G_DEFINE_TYPE (EmpathyCallWindowFullscreen, empathy_call_window_fullscreen, G_TYPE_OBJECT)
 
 /* private structure */
 typedef struct _EmpathyCallWindowFullscreenPriv EmpathyCallWindowFullscreenPriv;
@@ -35,11 +40,10 @@ typedef struct _EmpathyCallWindowFullscreenPriv EmpathyCallWindowFullscreenPriv;
 struct _EmpathyCallWindowFullscreenPriv
 {
   EmpathyCallWindow *parent_window;
-    
+
   GtkWidget *leave_fullscreen_popup;
   GtkWidget *video_widget;
 
-  gulong motion_handler_id;
   guint popup_timeout;
   gboolean popup_creation_in_progress;
   gboolean dispose_has_run;
@@ -52,8 +56,6 @@ struct _EmpathyCallWindowFullscreenPriv
 static void empathy_call_window_fullscreen_dispose (GObject *object);
 static void empathy_call_window_fullscreen_finalize (GObject *object);
 
-static gboolean empathy_call_window_fullscreen_motion_notify (GtkWidget *widget,
-    GdkEventMotion *event, EmpathyCallWindowFullscreen *fs);
 static gboolean empathy_call_window_fullscreen_hide_popup (EmpathyCallWindowFullscreen *fs);
 
 static void
@@ -75,8 +77,8 @@ empathy_call_window_fullscreen_add_popup_timeout (EmpathyCallWindowFullscreen *s
 
   if (priv->popup_timeout == 0)
     {
-  	  priv->popup_timeout = g_timeout_add_seconds (FULLSCREEN_POPUP_TIMEOUT,
-			    (GSourceFunc) empathy_call_window_fullscreen_hide_popup, self);
+      priv->popup_timeout = g_timeout_add_seconds (FULLSCREEN_POPUP_TIMEOUT,
+          (GSourceFunc) empathy_call_window_fullscreen_hide_popup, self);
     }
 }
 
@@ -87,20 +89,20 @@ empathy_call_window_fullscreen_remove_popup_timeout (EmpathyCallWindowFullscreen
 
   if (priv->popup_timeout != 0)
     {
-		  g_source_remove (priv->popup_timeout);
-		  priv->popup_timeout = 0;
-  	}
+      g_source_remove (priv->popup_timeout);
+      priv->popup_timeout = 0;
+    }
 }
 
-static void
+void
 empathy_call_window_fullscreen_show_popup (EmpathyCallWindowFullscreen *self)
 {
-  g_assert (self->is_fullscreen);
-
   gint leave_fullscreen_width, leave_fullscreen_height;
-	GdkScreen *screen;
-	GdkRectangle fullscreen_rect;
-	EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (self);
+  GdkScreen *screen;
+  GdkRectangle fullscreen_rect;
+  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (self);
+
+  g_assert (self->is_fullscreen);
 
   g_return_if_fail (priv->parent_window != NULL);
 
@@ -108,30 +110,40 @@ empathy_call_window_fullscreen_show_popup (EmpathyCallWindowFullscreen *self)
     return;
 
   if (!gtk_window_is_active (GTK_WINDOW (priv->parent_window)))
-		return;
+    return;
 
   priv->popup_creation_in_progress = TRUE;
 
   empathy_call_window_fullscreen_set_cursor_visible (self, TRUE);
 
-	/* Obtaining the screen rectangle */
-	screen = gtk_window_get_screen (GTK_WINDOW (priv->parent_window));
-	gdk_screen_get_monitor_geometry (screen,
-	    gdk_screen_get_monitor_at_window (screen, GTK_WIDGET (priv->parent_window)->window),
-			    &fullscreen_rect);
+  /* Obtaining the screen rectangle */
+  screen = gtk_window_get_screen (GTK_WINDOW (priv->parent_window));
+  gdk_screen_get_monitor_geometry (screen,
+      gdk_screen_get_monitor_at_window (screen, GTK_WIDGET (priv->parent_window)->window),
+      &fullscreen_rect);
 
-	/* Getting the popup window sizes */
-	gtk_window_get_size (GTK_WINDOW (priv->leave_fullscreen_popup),
-			     &leave_fullscreen_width, &leave_fullscreen_height);
+  /* Getting the popup window sizes */
+  gtk_window_get_size (GTK_WINDOW (priv->leave_fullscreen_popup),
+      &leave_fullscreen_width, &leave_fullscreen_height);
 
-  /* Moving the popup to the top-left corner */
-  gtk_window_move (GTK_WINDOW (priv->leave_fullscreen_popup),
-      fullscreen_rect.width + fullscreen_rect.x - leave_fullscreen_width,
-      fullscreen_rect.y);
+  /* Moving the popup to the top-right corner (if the direction is LTR) or the
+     top-left corner (if the direction is RTL).*/
+  if (gtk_widget_get_direction (priv->leave_fullscreen_popup) == GTK_TEXT_DIR_LTR)
+    {
+      gtk_window_move (GTK_WINDOW (priv->leave_fullscreen_popup),
+          fullscreen_rect.width + fullscreen_rect.x - leave_fullscreen_width,
+          fullscreen_rect.y);
+
+    }
+  else
+    {
+      gtk_window_move (GTK_WINDOW (priv->leave_fullscreen_popup), fullscreen_rect.x,
+          fullscreen_rect.y);
+    }
 
   gtk_widget_show_all (priv->leave_fullscreen_popup);
   empathy_call_window_fullscreen_add_popup_timeout (self);
-  
+
   priv->popup_creation_in_progress = FALSE;
 }
 
@@ -162,7 +174,7 @@ empathy_call_window_fullscreen_init (EmpathyCallWindowFullscreen *self)
   gui = empathy_builder_get_file (filename,
     "leave_fullscreen_window", &priv->leave_fullscreen_popup,
     "leave_fullscreen_button", &self->leave_fullscreen_button,
-    NULL); 
+    NULL);
 
   gtk_widget_add_events (priv->leave_fullscreen_popup, GDK_POINTER_MOTION_MASK);
 
@@ -171,13 +183,11 @@ empathy_call_window_fullscreen_init (EmpathyCallWindowFullscreen *self)
 }
 
 static void
-empathy_call_window_fullscreen_class_init (
-  EmpathyCallWindowFullscreenClass *empathy_call_window_fullscreen_class)
+empathy_call_window_fullscreen_class_init (EmpathyCallWindowFullscreenClass *klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (empathy_call_window_fullscreen_class);
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (empathy_call_window_fullscreen_class,
-    sizeof (EmpathyCallWindowFullscreenPriv));
+  g_type_class_add_private (klass, sizeof (EmpathyCallWindowFullscreenPriv));
 
   object_class->dispose = empathy_call_window_fullscreen_dispose;
   object_class->finalize = empathy_call_window_fullscreen_finalize;
@@ -192,39 +202,23 @@ empathy_call_window_fullscreen_dispose (GObject *object)
   if (priv->dispose_has_run)
     return;
 
-  if (priv->parent_window != NULL)
-    g_object_unref (priv->parent_window);
-  priv->parent_window = NULL;
-  
+  priv->dispose_has_run = TRUE;
+
   if (priv->leave_fullscreen_popup != NULL)
     gtk_widget_destroy (priv->leave_fullscreen_popup);
   priv->leave_fullscreen_popup = NULL;
 
-  if (self->leave_fullscreen_button != NULL)
-    gtk_widget_destroy (self->leave_fullscreen_button);
-  self->leave_fullscreen_button = NULL;
-
   if (G_OBJECT_CLASS (empathy_call_window_fullscreen_parent_class)->dispose)
     G_OBJECT_CLASS (empathy_call_window_fullscreen_parent_class)->dispose (object);
-
-  priv->dispose_has_run = TRUE;  
 }
 
 void
 empathy_call_window_fullscreen_finalize (GObject *object)
 {
   EmpathyCallWindowFullscreen *self = EMPATHY_CALL_WINDOW_FULLSCREEN (object);
-  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (self);
 
   empathy_call_window_fullscreen_remove_popup_timeout (self);
 
-  if (priv->motion_handler_id != 0)
-    {
-		  g_signal_handler_disconnect (G_OBJECT (priv->video_widget),
-			    priv->motion_handler_id);
-		  priv->motion_handler_id = 0;
-	}
-
   G_OBJECT_CLASS (empathy_call_window_fullscreen_parent_class)->finalize (object);
 }
 
@@ -234,13 +228,13 @@ empathy_call_window_fullscreen_parent_window_notify (GtkWidget *parent_window,
 {
   EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (fs);
 
-	if (!fs->is_fullscreen)
-		return;
+  if (!fs->is_fullscreen)
+    return;
 
-	if (parent_window == GTK_WIDGET (priv->parent_window) &&
-	      gtk_window_is_active (GTK_WINDOW (parent_window)) == FALSE)
+  if (parent_window == GTK_WIDGET (priv->parent_window) &&
+        !gtk_window_is_active (GTK_WINDOW (parent_window)))
     {
-  		empathy_call_window_fullscreen_hide_popup (fs);
+      empathy_call_window_fullscreen_hide_popup (fs);
       empathy_call_window_fullscreen_set_cursor_visible (fs, TRUE);
     }
 }
@@ -254,56 +248,23 @@ empathy_call_window_fullscreen_new (EmpathyCallWindow *parent_window)
 
   priv->parent_window = parent_window;
   g_signal_connect (G_OBJECT (priv->parent_window), "notify::is-active",
-			  G_CALLBACK (empathy_call_window_fullscreen_parent_window_notify), self);
+    G_CALLBACK (empathy_call_window_fullscreen_parent_window_notify), self);
 
   return self;
 }
 
 void
 empathy_call_window_fullscreen_set_fullscreen (EmpathyCallWindowFullscreen *fs,
-  gboolean sidebar_was_visible,
-  gint original_width,
-  gint original_height)
-{
-  g_return_if_fail (!fs->is_fullscreen);
-
-  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (fs);
-  
-  empathy_call_window_fullscreen_remove_popup_timeout (fs);
-  empathy_call_window_fullscreen_set_cursor_visible (fs, FALSE);
-  
-  fs->sidebar_was_visible = sidebar_was_visible;
-  fs->original_width = original_width;
-  fs->original_height = original_height;
-
-  if (priv->motion_handler_id == 0 && priv->video_widget != NULL)
-    {
-	    priv->motion_handler_id = g_signal_connect (G_OBJECT (priv->video_widget),
-        "motion-notify-event", G_CALLBACK (empathy_call_window_fullscreen_motion_notify),
-        fs);
-  	}
-  
-  fs->is_fullscreen = TRUE;
-}
-
-void
-empathy_call_window_fullscreen_unset_fullscreen (EmpathyCallWindowFullscreen *fs)
+  gboolean set_fullscreen)
 {
-  g_return_if_fail (fs->is_fullscreen);
-
-  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (fs);
- 
-  empathy_call_window_fullscreen_hide_popup (fs);
-  empathy_call_window_fullscreen_set_cursor_visible (fs, TRUE);
 
-  if (priv->motion_handler_id != 0)
-    {
-		  g_signal_handler_disconnect (G_OBJECT (priv->video_widget),
-          priv->motion_handler_id);
-		  priv->motion_handler_id = 0;
-    }
+  if (set_fullscreen)
+      empathy_call_window_fullscreen_remove_popup_timeout (fs);
+  else
+      empathy_call_window_fullscreen_hide_popup (fs);
 
-  fs->is_fullscreen = FALSE;
+  empathy_call_window_fullscreen_set_cursor_visible (fs, !set_fullscreen);
+  fs->is_fullscreen = set_fullscreen;
 }
 
 void
@@ -311,20 +272,5 @@ empathy_call_window_fullscreen_set_video_widget (EmpathyCallWindowFullscreen *fs
     GtkWidget *video_widget)
 {
   EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (fs);
-
   priv->video_widget = video_widget;
- 
-	if (fs->is_fullscreen == TRUE && priv->motion_handler_id == 0) {
-		  priv->motion_handler_id = g_signal_connect (G_OBJECT (priv->video_widget),
-          "motion-notify-event", G_CALLBACK (empathy_call_window_fullscreen_motion_notify),
-          fs);
-	}
 }
-
-static gboolean
-empathy_call_window_fullscreen_motion_notify (GtkWidget *widget,
-    GdkEventMotion *event, EmpathyCallWindowFullscreen *self)
-{
-  empathy_call_window_fullscreen_show_popup (self);
-  return FALSE;
-}
\ No newline at end of file
diff --git a/src/empathy-call-window-fullscreen.h b/src/empathy-call-window-fullscreen.h
index 543f7ac..53dcf40 100644
--- a/src/empathy-call-window-fullscreen.h
+++ b/src/empathy-call-window-fullscreen.h
@@ -1,5 +1,5 @@
 /*
- * empathy-call-window.c - Source for EmpathyCallWindow
+ * empathy-call-window-fullscreen.h - Header for EmpathyCallWindowFullscreen
  * Copyright (C) 2009 Collabora Ltd.
  *
  * This library is free software; you can redistribute it and/or
@@ -31,20 +31,13 @@ typedef struct _EmpathyCallWindowFullscreen EmpathyCallWindowFullscreen;
 typedef struct _EmpathyCallWindowFullscreenClass EmpathyCallWindowFullscreenClass;
 
 struct _EmpathyCallWindowFullscreenClass {
-  GtkWindowClass parent_class;
+  GObjectClass parent_class;
 };
 
 struct _EmpathyCallWindowFullscreen {
-  GtkWindow parent;
+  GObject parent;
   gboolean is_fullscreen;
-
   GtkWidget *leave_fullscreen_button;
-
-  /* Those fields represent the state of the parent empathy_call_window before 
-     it actually was in fullscreen mode. */
-  gboolean sidebar_was_visible;
-  gint original_width;
-  gint original_height;
 };
 
 GType empathy_call_window_fullscreen_get_type(void);
@@ -70,12 +63,10 @@ EmpathyCallWindowFullscreen *
 empathy_call_window_fullscreen_new (EmpathyCallWindow *parent);
 
 void empathy_call_window_fullscreen_set_fullscreen (EmpathyCallWindowFullscreen *fs,
-    gboolean sidebar_was_visible,
-    gint original_width,
-    gint original_height);
-void empathy_call_window_fullscreen_unset_fullscreen (EmpathyCallWindowFullscreen *fs);
+    gboolean set_fullscreen);
 void empathy_call_window_fullscreen_set_video_widget (EmpathyCallWindowFullscreen *fs,
     GtkWidget *video_widget);
+void empathy_call_window_fullscreen_show_popup (EmpathyCallWindowFullscreen *fs);
 
 G_END_DECLS
 
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index b05999d..fe63304 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -97,6 +97,8 @@ struct _EmpathyCallWindowPriv
      it needs to be repacked. We keep a reference on it for easier access. */
   GtkWidget *vbox;
 
+  gulong video_output_motion_handler_id;
+
   gdouble volume;
   GtkAdjustment *audio_input_adj;
 
@@ -125,6 +127,13 @@ struct _EmpathyCallWindowPriv
   gboolean sending_video;
 
   EmpathyCallWindowFullscreen *fullscreen;
+  gboolean is_fullscreen;
+
+  /* Those fields represent the state of the window before it actually was in
+     fullscreen mode. */
+  gboolean sidebar_was_visible_before_fs;
+  gint original_width_before_fs;
+  gint original_height_before_fs;
 };
 
 #define GET_PRIV(o) \
@@ -175,6 +184,9 @@ static gboolean empathy_call_window_video_button_press_cb (GtkWidget *video_outp
 static gboolean empathy_call_window_key_press_cb (GtkWidget *video_output,
   GdkEventKey *event, EmpathyCallWindow *window);
 
+static gboolean empathy_call_window_video_output_motion_notify (GtkWidget *widget,
+  GdkEventMotion *event, EmpathyCallWindow *window);
+
 static void empathy_call_window_video_menu_popup (EmpathyCallWindow *window,
   guint button);
 
@@ -533,7 +545,7 @@ empathy_call_window_init (EmpathyCallWindow *self)
   priv->pipeline = gst_pipeline_new (NULL);
 
   priv->content_hbox = gtk_hbox_new (FALSE, CONTENT_HBOX_SPACING);
-  gtk_container_set_border_width (GTK_CONTAINER (priv->content_hbox), 
+  gtk_container_set_border_width (GTK_CONTAINER (priv->content_hbox),
                                   CONTENT_HBOX_BORDER_WIDTH);
   gtk_paned_pack1 (GTK_PANED (priv->pane), priv->content_hbox, TRUE, FALSE);
 
@@ -805,6 +817,13 @@ empathy_call_window_finalize (GObject *object)
   EmpathyCallWindow *self = EMPATHY_CALL_WINDOW (object);
   EmpathyCallWindowPriv *priv = GET_PRIV (self);
 
+  if (priv->video_output_motion_handler_id != 0)
+    {
+      g_signal_handler_disconnect (G_OBJECT (priv->video_output),
+          priv->video_output_motion_handler_id);
+      priv->video_output_motion_handler_id = 0;
+    }
+
   /* free any data held directly by the object here */
   g_mutex_free (priv->lock);
 
@@ -1241,7 +1260,7 @@ show_controls (EmpathyCallWindow *window, gboolean set_fullscreen)
     }
   else
     {
-      if (priv->fullscreen->sidebar_was_visible)
+      if (priv->sidebar_was_visible_before_fs)
         gtk_widget_show (priv->sidebar);
 
       gtk_widget_show (menu);
@@ -1249,10 +1268,9 @@ show_controls (EmpathyCallWindow *window, gboolean set_fullscreen)
       gtk_widget_show (priv->statusbar);
       gtk_widget_show (priv->toolbar);
 
-      gtk_window_resize (GTK_WINDOW (window),
-                         priv->fullscreen->original_width,
-                         priv->fullscreen->original_height);
-    }  
+      gtk_window_resize (GTK_WINDOW (window), priv->original_width_before_fs,
+          priv->original_height_before_fs);
+    }
 }
 
 static void
@@ -1271,7 +1289,7 @@ show_borders (EmpathyCallWindow *window, gboolean set_fullscreen)
   gtk_box_set_child_packing (GTK_BOX (priv->content_hbox),
       priv->vbox, TRUE, TRUE,
       set_fullscreen ? 0 : CONTENT_HBOX_CHILDREN_PACKING_PADDING,
-      GTK_PACK_START);   
+      GTK_PACK_START);
 }
 
 static gboolean
@@ -1289,19 +1307,35 @@ empathy_call_window_state_event_cb (GtkWidget *widget,
           gint original_width = GTK_WIDGET (window)->allocation.width;
           gint original_height = GTK_WIDGET (window)->allocation.height;
 
-          g_object_get (priv->sidebar, "visible",
-                    &sidebar_was_visible, NULL);
+          g_object_get (priv->sidebar, "visible", &sidebar_was_visible, NULL);
 
-          empathy_call_window_fullscreen_set_fullscreen (priv->fullscreen, 
-              sidebar_was_visible, original_width, original_height);
+          priv->sidebar_was_visible_before_fs = sidebar_was_visible;
+          priv->original_width_before_fs = original_width;
+          priv->original_height_before_fs = original_height;
+
+          if (priv->video_output_motion_handler_id == 0 &&
+                priv->video_output != NULL)
+            {
+              priv->video_output_motion_handler_id = g_signal_connect (
+                  G_OBJECT (priv->video_output), "motion-notify-event",
+                  G_CALLBACK (empathy_call_window_video_output_motion_notify), window);
+            }
         }
       else
         {
-          empathy_call_window_fullscreen_unset_fullscreen(priv->fullscreen);
+          if (priv->video_output_motion_handler_id != 0)
+            {
+              g_signal_handler_disconnect (G_OBJECT (priv->video_output),
+                  priv->video_output_motion_handler_id);
+              priv->video_output_motion_handler_id = 0;
+            }
         }
 
+      empathy_call_window_fullscreen_set_fullscreen (priv->fullscreen,
+          set_fullscreen);
       show_controls (window, set_fullscreen);
       show_borders (window, set_fullscreen);
+      priv->is_fullscreen = set_fullscreen;
   }
 
   return FALSE;
@@ -1463,7 +1497,7 @@ empathy_call_window_fullscreen_toggle (EmpathyCallWindow *window)
 {
   EmpathyCallWindowPriv *priv = GET_PRIV (window);
 
-  if (priv->fullscreen->is_fullscreen)
+  if (priv->is_fullscreen)
     gtk_window_unfullscreen (GTK_WINDOW (window));
   else
     gtk_window_fullscreen (GTK_WINDOW (window));
@@ -1487,8 +1521,8 @@ empathy_call_window_key_press_cb (GtkWidget *video_output,
   GdkEventKey *event, EmpathyCallWindow *window)
 {
   EmpathyCallWindowPriv *priv = GET_PRIV (window);
-  
-  if (priv->fullscreen->is_fullscreen && event->keyval == GDK_Escape)
+
+  if (priv->is_fullscreen && event->keyval == GDK_Escape)
     {
       /* Since we are in fullscreen mode, toggling will bring us back to
          normal mode. */
@@ -1499,6 +1533,21 @@ empathy_call_window_key_press_cb (GtkWidget *video_output,
   return FALSE;
 }
 
+static gboolean
+empathy_call_window_video_output_motion_notify (GtkWidget *widget,
+    GdkEventMotion *event, EmpathyCallWindow *window)
+{
+  EmpathyCallWindowPriv *priv = GET_PRIV (window);
+
+  if (priv->is_fullscreen)
+    {
+      empathy_call_window_fullscreen_show_popup (priv->fullscreen);
+      return TRUE;
+    }
+  
+  return FALSE;
+}
+
 static void
 empathy_call_window_video_menu_popup (EmpathyCallWindow *window,
   guint button)



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