[ekiga] Pushed the gnomemeeting_window_show and gnomemeeting_window_hide into lib/gui/gmwindow.*
- From: Julien Puydt <jpuydt src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [ekiga] Pushed the gnomemeeting_window_show and gnomemeeting_window_hide into lib/gui/gmwindow.*
- Date: Tue, 20 Oct 2009 19:29:42 +0000 (UTC)
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]