[ekiga] Pushed the gnomemeeting_window_show and gnomemeeting_window_hide into lib/gui/gmwindow.*



commit 4b186582de26fab327b7bd1c1ec01382a41af494
Author: Julien Puydt <jpuydt gnome org>
Date:   Tue Oct 20 18:43:30 2009 +0200

    Pushed the gnomemeeting_window_show and gnomemeeting_window_hide into lib/gui/gmwindow.*
    
    and renamed them too, for naming coherence.

 lib/gui/gmwindow.c      |  146 ++++++++++++++++++++++++++++++++++++++++++++---
 lib/gui/gmwindow.h      |   12 ++++-
 src/gui/accounts.cpp    |    4 +-
 src/gui/callbacks.cpp   |   12 ++--
 src/gui/main_window.cpp |    5 +-
 src/gui/misc.cpp        |  126 ----------------------------------------
 src/gui/misc.h          |   29 ---------
 src/gui/preferences.cpp |    3 +-
 8 files changed, 161 insertions(+), 176 deletions(-)
---
diff --git a/lib/gui/gmwindow.c b/lib/gui/gmwindow.c
index 48765a9..a802506 100644
--- a/lib/gui/gmwindow.c
+++ b/lib/gui/gmwindow.c
@@ -36,8 +36,12 @@
  *
  */
 
+#include "config.h"
+
 #include "gmwindow.h"
 
+#include "gmdialog.h"
+
 #include "gmconf.h"
 
 #include <gdk/gdkkeysyms.h>
@@ -49,6 +53,8 @@
 #include <X11/Xlib.h>
 #endif
 
+#define USER_INTERFACE_KEY "/apps/" PACKAGE_NAME "/general/user_interface/"
+
 /*
  * The GmWindow
  */
@@ -77,12 +83,12 @@ gm_window_delete_event (GtkWidget *w,
 			gpointer data);
 
 static void
-gm_window_show (GtkWidget *w,
-                gpointer data);
+window_show_cb (GtkWidget *w,
+		gpointer data);
 
 static void
-gm_window_hide (GtkWidget *w,
-                gpointer data);
+window_hide_cb (GtkWidget *w,
+		gpointer data);
 
 static gboolean 
 gm_window_configure_event (GtkWidget *widget,
@@ -241,10 +247,10 @@ gm_window_init (GTypeInstance *instance,
 		    G_CALLBACK (gm_window_delete_event), NULL);
 
   g_signal_connect (G_OBJECT (self), "show",
-                    G_CALLBACK (gm_window_show), self);
+                    G_CALLBACK (window_show_cb), self);
 
   g_signal_connect (G_OBJECT (self), "hide",
-                    G_CALLBACK (gm_window_hide), self);
+                    G_CALLBACK (window_hide_cb), self);
 
   g_signal_connect (G_OBJECT (self), "configure-event",
                     G_CALLBACK (gm_window_configure_event), self);
@@ -302,7 +308,7 @@ gm_window_delete_event (GtkWidget *w,
 
 
 static void
-gm_window_show (GtkWidget *w,
+window_show_cb (GtkWidget *w,
                 G_GNUC_UNUSED gpointer data)
 {
   int x = 0;
@@ -370,7 +376,7 @@ gm_window_show (GtkWidget *w,
 
 
 static void
-gm_window_hide (GtkWidget *w,
+window_hide_cb (GtkWidget *w,
                 G_GNUC_UNUSED gpointer data)
 {
   GmWindow *self = NULL;
@@ -524,6 +530,130 @@ gm_window_is_visible (GtkWidget* w)
 }
 
 
+void
+gm_window_show (GtkWidget* w)
+{
+  int x = 0;
+  int y = 0;
+
+  gchar* window_name = NULL;
+  gchar* conf_key_size = NULL;
+  gchar* conf_key_position = NULL;
+  gchar* size = NULL;
+  gchar* position = NULL;
+  gchar** couple = NULL;
+
+  g_return_if_fail (GTK_IS_WINDOW (w));
+
+  if (gm_window_is_visible (w)) {
+
+    gtk_window_present (GTK_WINDOW (w));
+    return;
+  } // else we do the show :
+
+  window_name = (char *) g_object_get_data (G_OBJECT (w), "window_name");
+
+  g_return_if_fail (window_name != NULL);
+
+  conf_key_position =
+    g_strdup_printf ("%s%s/position", USER_INTERFACE_KEY, window_name);
+  conf_key_size =
+    g_strdup_printf ("%s%s/size", USER_INTERFACE_KEY, window_name);
+
+  if (!gm_window_is_visible (w)) {
+
+    position = gm_conf_get_string (conf_key_position);
+    if (position)
+      couple = g_strsplit (position, ",", 0);
+
+    if (couple && couple [0])
+      x = atoi (couple [0]);
+    if (couple && couple [1])
+      y = atoi (couple [1]);
+
+
+    if (x != 0 && y != 0)
+      gtk_window_move (GTK_WINDOW (w), x, y);
+
+    g_strfreev (couple);
+    couple = NULL;
+    g_free (position);
+
+
+    if (gtk_window_get_resizable (GTK_WINDOW (w))) {
+
+      size = gm_conf_get_string (conf_key_size);
+      if (size)
+	couple = g_strsplit (size, ",", 0);
+
+      if (couple && couple [0])
+	x = atoi (couple [0]);
+      if (couple && couple [1])
+	y = atoi (couple [1]);
+
+      if (x > 0 && y > 0)
+	gtk_window_resize (GTK_WINDOW (w), x, y);
+
+      g_strfreev (couple);
+      g_free (size);
+    }
+
+    gnomemeeting_threads_dialog_show (w);
+  }
+
+  g_free (conf_key_position);
+  g_free (conf_key_size);
+}
+
+
+void
+gm_window_hide (GtkWidget* w)
+{
+  int x = 0;
+  int y = 0;
+
+  gchar* window_name = NULL;
+  gchar* conf_key_size = NULL;
+  gchar* conf_key_position = NULL;
+  gchar* size = NULL;
+  gchar* position = NULL;
+
+  g_return_if_fail (w != NULL);
+
+  window_name = (char *) g_object_get_data (G_OBJECT (w), "window_name");
+
+  g_return_if_fail (window_name != NULL);
+
+  conf_key_position =
+    g_strdup_printf ("%s%s/position", USER_INTERFACE_KEY, window_name);
+  conf_key_size =
+    g_strdup_printf ("%s%s/size", USER_INTERFACE_KEY, window_name);
+
+
+  /* If the window is visible, save its position and hide the window */
+  if (gm_window_is_visible (w)) {
+
+    gtk_window_get_position (GTK_WINDOW (w), &x, &y);
+    position = g_strdup_printf ("%d,%d", x, y);
+    gm_conf_set_string (conf_key_position, position);
+    g_free (position);
+
+    if (gtk_window_get_resizable (GTK_WINDOW (w))) {
+
+      gtk_window_get_size (GTK_WINDOW (w), &x, &y);
+      size = g_strdup_printf ("%d,%d", x, y);
+      gm_conf_set_string (conf_key_size, size);
+      g_free (size);
+    }
+
+    gnomemeeting_threads_dialog_hide (w);
+  }
+
+  g_free (conf_key_position);
+  g_free (conf_key_size);
+}
+
+
 /* Stolen from GDK */
 #ifndef WIN32
 static void
diff --git a/lib/gui/gmwindow.h b/lib/gui/gmwindow.h
index 7eaa4c7..914b0e8 100644
--- a/lib/gui/gmwindow.h
+++ b/lib/gui/gmwindow.h
@@ -135,9 +135,19 @@ void gm_window_set_always_on_top (GdkWindow* window,
 
 /** Check whether a window is visible or not
  * @param window is a GtkWidget
- **/
+ */
 gboolean gm_window_is_visible (GtkWidget* window);
 
+/** Show the given window if hidden, and present if no
+ * @param window is a GtkWindow
+ */
+void gm_window_show (GtkWidget* window);
+
+/** Hide the given window
+ * @param window is a GtkWindow
+ */
+void gm_window_hide (GtkWidget* window);
+
 G_END_DECLS
 
 #endif
diff --git a/src/gui/accounts.cpp b/src/gui/accounts.cpp
index 2fa30d7..879560c 100644
--- a/src/gui/accounts.cpp
+++ b/src/gui/accounts.cpp
@@ -43,9 +43,9 @@
 #include "account-core.h"
 
 #include "callbacks.h"
-#include "misc.h"
 
 #include "gmconf.h"
+#include "gmwindow.h"
 #include "gmdialog.h"
 
 #include "services.h"
@@ -701,7 +701,7 @@ gm_accounts_window_new (Ekiga::ServiceCore &core)
   /* Generic signals */
   g_signal_connect_swapped (GTK_OBJECT (window),
 			    "response",
-			    G_CALLBACK (gnomemeeting_window_hide),
+			    G_CALLBACK (gm_window_hide),
 			    (gpointer) window);
 
   g_signal_connect (GTK_OBJECT (window), "delete-event",
diff --git a/src/gui/callbacks.cpp b/src/gui/callbacks.cpp
index 1efe2c6..4d817ee 100644
--- a/src/gui/callbacks.cpp
+++ b/src/gui/callbacks.cpp
@@ -73,7 +73,7 @@ delete_window_cb (GtkWidget *widget,
                   G_GNUC_UNUSED GdkEvent *event,
                   G_GNUC_UNUSED gpointer data)
 {
-  gnomemeeting_window_hide (GTK_WIDGET (widget));
+  gm_window_hide (GTK_WIDGET (widget));
 
   return TRUE;
 }
@@ -82,7 +82,7 @@ void
 show_window_cb (G_GNUC_UNUSED GtkWidget *widget,
 		gpointer data)
 {
-  gnomemeeting_window_show (GTK_WIDGET (data));
+  gm_window_show (GTK_WIDGET (data));
 }
 
 
@@ -91,7 +91,7 @@ hide_window_cb (G_GNUC_UNUSED GtkWidget *widget,
 		gpointer data)
 {
   if (gm_window_is_visible (GTK_WIDGET (data)))
-    gnomemeeting_window_hide (GTK_WIDGET (data));
+    gm_window_hide (GTK_WIDGET (data));
 }
 
 
@@ -275,10 +275,10 @@ quit_callback (G_GNUC_UNUSED GtkWidget *widget,
   
   gtk_widget_hide (main_window);
   if (assistant_window)
-    gnomemeeting_window_hide (assistant_window);
+    gm_window_hide (assistant_window);
   if (prefs_window)
-    gnomemeeting_window_hide (prefs_window);
-  gnomemeeting_window_hide (accounts_window);
+    gm_window_hide (prefs_window);
+  gm_window_hide (accounts_window);
 
   while (gtk_events_pending ())
     gtk_main_iteration ();
diff --git a/src/gui/main_window.cpp b/src/gui/main_window.cpp
index 696c9ff..7ebf6f7 100644
--- a/src/gui/main_window.cpp
+++ b/src/gui/main_window.cpp
@@ -43,7 +43,6 @@
 
 #include "ekiga.h"
 #include "conf.h"
-#include "misc.h"
 #include "callbacks.h"
 #include "statusicon.h"
 #include "dialpad.h"
@@ -1654,7 +1653,7 @@ gm_mw_video_settings_window_new (EkigaMainWindow *mw)
   /* That's an usual GtkWindow, connect it to the signals */
   g_signal_connect_swapped (GTK_OBJECT (window), 
 			    "response", 
-			    G_CALLBACK (gnomemeeting_window_hide),
+			    G_CALLBACK (gm_window_hide),
 			    (gpointer) window);
 
   g_signal_connect (GTK_OBJECT (window), 
@@ -1769,7 +1768,7 @@ gm_mw_audio_settings_window_new (EkigaMainWindow *mw)
   /* That's an usual GtkWindow, connect it to the signals */
   g_signal_connect_swapped (GTK_OBJECT (window), 
 			    "response", 
-			    G_CALLBACK (gnomemeeting_window_hide),
+			    G_CALLBACK (gm_window_hide),
 			    (gpointer) window);
 
   g_signal_connect (GTK_OBJECT (window),
diff --git a/src/gui/misc.cpp b/src/gui/misc.cpp
index 39c05a6..f7277a4 100644
--- a/src/gui/misc.cpp
+++ b/src/gui/misc.cpp
@@ -70,129 +70,3 @@ gnomemeeting_button_new (const char *lbl,
 
   return button;
 }
-
-
-void
-gnomemeeting_window_show (GtkWidget *w)
-{
-  int x = 0;
-  int y = 0;
-
-  gchar *window_name = NULL;
-  gchar *conf_key_size = NULL;
-  gchar *conf_key_position = NULL;
-  gchar *size = NULL;
-  gchar *position = NULL;
-  gchar **couple = NULL;
-  
-  g_return_if_fail (GTK_IS_WINDOW (w));
-
-  if (gm_window_is_visible (w)) {
-
-    gtk_window_present (GTK_WINDOW (w));
-    return;
-  } // else we do the show :
-  
-  window_name = (char *) g_object_get_data (G_OBJECT (w), "window_name");
-
-  g_return_if_fail (window_name != NULL);
-  
-  conf_key_position =
-    g_strdup_printf ("%s%s/position", USER_INTERFACE_KEY, window_name);
-  conf_key_size =
-    g_strdup_printf ("%s%s/size", USER_INTERFACE_KEY, window_name);  
-
-  if (!gm_window_is_visible (w)) {
-    
-    position = gm_conf_get_string (conf_key_position);
-    if (position)
-      couple = g_strsplit (position, ",", 0);
-
-    if (couple && couple [0])
-      x = atoi (couple [0]);
-    if (couple && couple [1])
-      y = atoi (couple [1]);
-
-
-    if (x != 0 && y != 0)
-      gtk_window_move (GTK_WINDOW (w), x, y);
-
-    g_strfreev (couple);
-    couple = NULL;
-    g_free (position);
-
-
-    if (gtk_window_get_resizable (GTK_WINDOW (w))) {
-
-      size = gm_conf_get_string (conf_key_size);
-      if (size)
-	couple = g_strsplit (size, ",", 0);
-
-      if (couple && couple [0])
-	x = atoi (couple [0]);
-      if (couple && couple [1])
-	y = atoi (couple [1]);
-
-      if (x > 0 && y > 0)
-	gtk_window_resize (GTK_WINDOW (w), x, y);
-
-      g_strfreev (couple);
-      g_free (size);
-    }
-
-    gnomemeeting_threads_dialog_show (w);
-  }
-  
-  g_free (conf_key_position);
-  g_free (conf_key_size);
-}
-
-
-void
-gnomemeeting_window_hide (GtkWidget *w)
-{
-  int x = 0;
-  int y = 0;
-
-  gchar *window_name = NULL;
-  gchar *conf_key_size = NULL;
-  gchar *conf_key_position = NULL;
-  gchar *size = NULL;
-  gchar *position = NULL;
-  
-  g_return_if_fail (w != NULL);
-  
-  window_name = (char *) g_object_get_data (G_OBJECT (w), "window_name");
-
-  g_return_if_fail (window_name != NULL);
- 
-  conf_key_position =
-    g_strdup_printf ("%s%s/position", USER_INTERFACE_KEY, window_name);
-  conf_key_size =
-    g_strdup_printf ("%s%s/size", USER_INTERFACE_KEY, window_name);
-
-  
-  /* If the window is visible, save its position and hide the window */
-  if (gm_window_is_visible (w)) {
-    
-    gtk_window_get_position (GTK_WINDOW (w), &x, &y);
-    position = g_strdup_printf ("%d,%d", x, y);
-    gm_conf_set_string (conf_key_position, position);
-    g_free (position);
-
-    if (gtk_window_get_resizable (GTK_WINDOW (w))) {
-
-      gtk_window_get_size (GTK_WINDOW (w), &x, &y);
-      size = g_strdup_printf ("%d,%d", x, y);
-      gm_conf_set_string (conf_key_size, size);
-      g_free (size);
-    }
-
-	
-    gnomemeeting_threads_dialog_hide (w);
-  }
-    
-  
-  g_free (conf_key_position);
-  g_free (conf_key_size);
-}
diff --git a/src/gui/misc.h b/src/gui/misc.h
index 3953de2..f98bf17 100644
--- a/src/gui/misc.h
+++ b/src/gui/misc.h
@@ -52,33 +52,4 @@ GtkWidget *
 gnomemeeting_button_new (const char *label,
 			 GtkWidget *pixmap);        
 
-
-/* DESCRIPTION  :  This callback is called when a window of gnomemeeting
- *                 (addressbook, prefs, ...) has to be shown.
- * BEHAVIOR     :  Restore its size (if applicable) and position from the
- *                 config database. The window is given as gpointer.
- *                 The category can be addressbook, main_window, prefs_window,
- *                 or anything under the
- *                 /apps/gnomemeeting/general/user_interface/ key and is given
- *                 by g_object_get_data (G_OBJECT, "window_name"). The window
- *                 object is pointed by the GtkWidget *. It will either show the
- *                 window if hidden, or just present it if already visible.
- * PRE          :  /
- */
-void gnomemeeting_window_show (GtkWidget *w);
-
-
-/* DESCRIPTION  :  This callback is called when a window of gnomemeeting
- *                 (addressbook, prefs, ...) has to be hidden.
- * BEHAVIOR     :  Saves its size (if applicable) and position in the config
- *                 database. The window is given as gpointer.
- *                 The category can be addressbook, main_window, prefs_window,
- *                 or anything under the
- *                 /apps/gnomemeeting/general/user_interface/ key and is given
- *                 by g_object_get_data (G_OBJECT, "window_name"). The window
- *                 object is pointed by the GtkWidget *.
- * PRE          :  /
- */
-void gnomemeeting_window_hide (GtkWidget *w);
-
 #endif
diff --git a/src/gui/preferences.cpp b/src/gui/preferences.cpp
index 1a149d2..d57e953 100644
--- a/src/gui/preferences.cpp
+++ b/src/gui/preferences.cpp
@@ -47,6 +47,7 @@
 #include "callbacks.h"
 
 #include <gmdialog.h>
+#include "gmwindow.h"
 #include <gmpreferences.h>
 #include <gmconf.h>
 #include "codecsbox.h"
@@ -1401,7 +1402,7 @@ gm_prefs_window_new (Ekiga::ServiceCore *core)
   /* That's an usual GtkWindow, connect it to the signals */
   g_signal_connect_swapped (GTK_OBJECT (window), 
 			    "response", 
-			    G_CALLBACK (gnomemeeting_window_hide),
+			    G_CALLBACK (gm_window_hide),
 			    (gpointer) window);
 
   g_signal_connect (GTK_OBJECT (window), 



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