diff options
author | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2011-05-13 15:43:26 +0800 |
---|---|---|
committer | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2011-05-13 15:43:26 +0800 |
commit | 7c8875356d589a24e9c6c46b4baa2da93c326c67 (patch) | |
tree | 2082ad9d94900350c6913e41fb6f797bf55ba86a | |
parent | d0a18dfa867e5dcd1815408265ed8b008cbaa636 (diff) | |
parent | 5dab5b3e2f31e9240b294aafc9f6694c36a43524 (diff) | |
download | gsoc2013-empathy-7c8875356d589a24e9c6c46b4baa2da93c326c67.tar gsoc2013-empathy-7c8875356d589a24e9c6c46b4baa2da93c326c67.tar.gz gsoc2013-empathy-7c8875356d589a24e9c6c46b4baa2da93c326c67.tar.bz2 gsoc2013-empathy-7c8875356d589a24e9c6c46b4baa2da93c326c67.tar.lz gsoc2013-empathy-7c8875356d589a24e9c6c46b4baa2da93c326c67.tar.xz gsoc2013-empathy-7c8875356d589a24e9c6c46b4baa2da93c326c67.tar.zst gsoc2013-empathy-7c8875356d589a24e9c6c46b4baa2da93c326c67.zip |
Merge branch 'dialpad-163' into empathy-skype
-rw-r--r-- | libempathy-gtk/empathy-ui-utils.c | 73 | ||||
-rw-r--r-- | libempathy-gtk/empathy-ui-utils.h | 5 | ||||
-rw-r--r-- | src/empathy-call-window.c | 53 | ||||
-rw-r--r-- | src/empathy-streamed-media-window.c | 53 |
4 files changed, 86 insertions, 98 deletions
diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c index 06cec2498..caac90e85 100644 --- a/libempathy-gtk/empathy-ui-utils.c +++ b/libempathy-gtk/empathy-ui-utils.c @@ -1956,3 +1956,76 @@ empathy_receive_file_with_file_chooser (EmpathyFTHandler *handler) gtk_widget_show (widget); g_free (title); } + +GtkWidget * +empathy_create_dtmf_dialpad (GObject *self, + GCallback dtmf_button_pressed_cb, + GCallback dtmf_button_released_cb) +{ + GtkWidget *table; + int i; + GQuark button_quark; + struct { + const gchar *label; + const gchar *sublabel; + TpDTMFEvent event; + } dtmfbuttons[] = { { "1", "", TP_DTMF_EVENT_DIGIT_1 }, + { "2", "abc", TP_DTMF_EVENT_DIGIT_2 }, + { "3", "def", TP_DTMF_EVENT_DIGIT_3 }, + { "4", "ghi", TP_DTMF_EVENT_DIGIT_4 }, + { "5", "jkl", TP_DTMF_EVENT_DIGIT_5 }, + { "6", "mno", TP_DTMF_EVENT_DIGIT_6 }, + { "7", "pqrs", TP_DTMF_EVENT_DIGIT_7 }, + { "8", "tuv", TP_DTMF_EVENT_DIGIT_8 }, + { "9", "wxyz", TP_DTMF_EVENT_DIGIT_9 }, + { "#", "", TP_DTMF_EVENT_HASH }, + { "0", "", TP_DTMF_EVENT_DIGIT_0 }, + { "*", "", TP_DTMF_EVENT_ASTERISK }, + { NULL, } }; + + button_quark = g_quark_from_static_string (EMPATHY_DTMF_BUTTON_ID); + + table = gtk_table_new (4, 3, TRUE); + + for (i = 0; dtmfbuttons[i].label != NULL; i++) + { + GtkWidget *vbox = gtk_vbox_new (FALSE, 0); + GtkWidget *button = gtk_button_new (); + GtkWidget *label; + gchar *str; + + gtk_container_add (GTK_CONTAINER (button), vbox); + + /* main label */ + label = gtk_label_new (""); + str = g_strdup_printf ("<span size='x-large'>%s</span>", + dtmfbuttons[i].label); + gtk_label_set_markup (GTK_LABEL (label), str); + g_free (str); + + gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 3); + + /* sub label */ + label = gtk_label_new (""); + str = g_strdup_printf ( + "<span foreground='#555555'>%s</span>", + dtmfbuttons[i].sublabel); + gtk_label_set_markup (GTK_LABEL (label), str); + g_free (str); + + gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0); + + gtk_table_attach (GTK_TABLE (table), button, i % 3, i % 3 + 1, + i/3, i/3 + 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 1, 1); + + g_object_set_qdata (G_OBJECT (button), button_quark, + GUINT_TO_POINTER (dtmfbuttons[i].event)); + + g_signal_connect (G_OBJECT (button), "pressed", + dtmf_button_pressed_cb, self); + g_signal_connect (G_OBJECT (button), "released", + dtmf_button_released_cb, self); + } + + return table; +} diff --git a/libempathy-gtk/empathy-ui-utils.h b/libempathy-gtk/empathy-ui-utils.h index 0b76d09a3..2c5c4e63e 100644 --- a/libempathy-gtk/empathy-ui-utils.h +++ b/libempathy-gtk/empathy-ui-utils.h @@ -49,6 +49,8 @@ G_BEGIN_DECLS (x) < gdk_screen_width () && \ (y) < gdk_screen_height ()) +#define EMPATHY_DTMF_BUTTON_ID "empathy-call-dtmf-button-id" + typedef void (*EmpathyPixbufAvatarFromIndividualCb) (FolksIndividual *individual, GdkPixbuf *pixbuf, gpointer user_data); @@ -144,6 +146,9 @@ void empathy_send_file_from_uri_list (EmpathyContact *conta const gchar *uri_list); void empathy_send_file_with_file_chooser (EmpathyContact *contact); void empathy_receive_file_with_file_chooser (EmpathyFTHandler *handler); +GtkWidget * empathy_create_dtmf_dialpad (GObject *self, + GCallback pressed_cb, + GCallback released_cb); G_END_DECLS diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c index 362e20bc2..4728e9f64 100644 --- a/src/empathy-call-window.c +++ b/src/empathy-call-window.c @@ -57,8 +57,6 @@ #include "empathy-video-src.h" #include "empathy-sidebar.h" -#define BUTTON_ID "empathy-call-dtmf-button-id" - #define CONTENT_HBOX_BORDER_WIDTH 6 #define CONTENT_HBOX_SPACING 3 #define CONTENT_HBOX_CHILDREN_PACKING_PADDING 3 @@ -333,7 +331,7 @@ dtmf_button_pressed_cb (GtkButton *button, EmpathyCallWindow *window) g_object_get (priv->handler, "call-channel", &call, NULL); - button_quark = g_quark_from_static_string (BUTTON_ID); + button_quark = g_quark_from_static_string (EMPATHY_DTMF_BUTTON_ID); event = GPOINTER_TO_UINT (g_object_get_qdata (G_OBJECT (button), button_quark)); @@ -356,51 +354,6 @@ dtmf_button_released_cb (GtkButton *button, EmpathyCallWindow *window) } static GtkWidget * -empathy_call_window_create_dtmf (EmpathyCallWindow *self) -{ - GtkWidget *table; - int i; - GQuark button_quark; - struct { - const gchar *label; - TpDTMFEvent event; - } dtmfbuttons[] = { { "1", TP_DTMF_EVENT_DIGIT_1 }, - { "2", TP_DTMF_EVENT_DIGIT_2 }, - { "3", TP_DTMF_EVENT_DIGIT_3 }, - { "4", TP_DTMF_EVENT_DIGIT_4 }, - { "5", TP_DTMF_EVENT_DIGIT_5 }, - { "6", TP_DTMF_EVENT_DIGIT_6 }, - { "7", TP_DTMF_EVENT_DIGIT_7 }, - { "8", TP_DTMF_EVENT_DIGIT_8 }, - { "9", TP_DTMF_EVENT_DIGIT_9 }, - { "#", TP_DTMF_EVENT_HASH }, - { "0", TP_DTMF_EVENT_DIGIT_0 }, - { "*", TP_DTMF_EVENT_ASTERISK }, - { NULL, } }; - - button_quark = g_quark_from_static_string (BUTTON_ID); - - table = gtk_table_new (4, 3, TRUE); - - for (i = 0; dtmfbuttons[i].label != NULL; i++) - { - GtkWidget *button = gtk_button_new_with_label (dtmfbuttons[i].label); - gtk_table_attach (GTK_TABLE (table), button, i % 3, i % 3 + 1, - i/3, i/3 + 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 1, 1); - - g_object_set_qdata (G_OBJECT (button), button_quark, - GUINT_TO_POINTER (dtmfbuttons[i].event)); - - g_signal_connect (G_OBJECT (button), "pressed", - G_CALLBACK (dtmf_button_pressed_cb), self); - g_signal_connect (G_OBJECT (button), "released", - G_CALLBACK (dtmf_button_released_cb), self); - } - - return table; -} - -static GtkWidget * empathy_call_window_create_video_input_add_slider (EmpathyCallWindow *self, gchar *label_text, GtkWidget *bin) { @@ -1158,7 +1111,9 @@ empathy_call_window_init (EmpathyCallWindow *self) empathy_sidebar_add_page (EMPATHY_SIDEBAR (priv->sidebar), _("Video input"), page); - priv->dtmf_panel = empathy_call_window_create_dtmf (self); + priv->dtmf_panel = empathy_create_dtmf_dialpad (G_OBJECT (self), + G_CALLBACK (dtmf_button_pressed_cb), + G_CALLBACK (dtmf_button_released_cb)); empathy_sidebar_add_page (EMPATHY_SIDEBAR (priv->sidebar), _("Dialpad"), priv->dtmf_panel); diff --git a/src/empathy-streamed-media-window.c b/src/empathy-streamed-media-window.c index a38beb6a8..6eebd3f52 100644 --- a/src/empathy-streamed-media-window.c +++ b/src/empathy-streamed-media-window.c @@ -54,8 +54,6 @@ #include "empathy-audio-sink.h" #include "empathy-video-src.h" -#define BUTTON_ID "empathy-call-dtmf-button-id" - #define CONTENT_HBOX_BORDER_WIDTH 6 #define CONTENT_HBOX_SPACING 3 #define CONTENT_HBOX_CHILDREN_PACKING_PADDING 3 @@ -345,7 +343,7 @@ dtmf_button_pressed_cb (GtkButton *button, EmpathyStreamedMediaWindow *window) g_object_get (priv->handler, "tp-call", &call, NULL); - button_quark = g_quark_from_static_string (BUTTON_ID); + button_quark = g_quark_from_static_string (EMPATHY_DTMF_BUTTON_ID); event = GPOINTER_TO_UINT (g_object_get_qdata (G_OBJECT (button), button_quark)); @@ -368,51 +366,6 @@ dtmf_button_released_cb (GtkButton *button, EmpathyStreamedMediaWindow *window) } static GtkWidget * -empathy_streamed_media_window_create_dtmf (EmpathyStreamedMediaWindow *self) -{ - GtkWidget *table; - int i; - GQuark button_quark; - struct { - const gchar *label; - TpDTMFEvent event; - } dtmfbuttons[] = { { "1", TP_DTMF_EVENT_DIGIT_1 }, - { "2", TP_DTMF_EVENT_DIGIT_2 }, - { "3", TP_DTMF_EVENT_DIGIT_3 }, - { "4", TP_DTMF_EVENT_DIGIT_4 }, - { "5", TP_DTMF_EVENT_DIGIT_5 }, - { "6", TP_DTMF_EVENT_DIGIT_6 }, - { "7", TP_DTMF_EVENT_DIGIT_7 }, - { "8", TP_DTMF_EVENT_DIGIT_8 }, - { "9", TP_DTMF_EVENT_DIGIT_9 }, - { "#", TP_DTMF_EVENT_HASH }, - { "0", TP_DTMF_EVENT_DIGIT_0 }, - { "*", TP_DTMF_EVENT_ASTERISK }, - { NULL, } }; - - button_quark = g_quark_from_static_string (BUTTON_ID); - - table = gtk_table_new (4, 3, TRUE); - - for (i = 0; dtmfbuttons[i].label != NULL; i++) - { - GtkWidget *button = gtk_button_new_with_label (dtmfbuttons[i].label); - gtk_table_attach (GTK_TABLE (table), button, i % 3, i % 3 + 1, - i/3, i/3 + 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 1, 1); - - g_object_set_qdata (G_OBJECT (button), button_quark, - GUINT_TO_POINTER (dtmfbuttons[i].event)); - - g_signal_connect (G_OBJECT (button), "pressed", - G_CALLBACK (dtmf_button_pressed_cb), self); - g_signal_connect (G_OBJECT (button), "released", - G_CALLBACK (dtmf_button_released_cb), self); - } - - return table; -} - -static GtkWidget * empathy_streamed_media_window_create_video_input_add_slider (EmpathyStreamedMediaWindow *self, gchar *label_text, GtkWidget *bin) { @@ -1177,7 +1130,9 @@ empathy_streamed_media_window_init (EmpathyStreamedMediaWindow *self) empathy_sidebar_add_page (EMPATHY_SIDEBAR (priv->sidebar), _("Video input"), page); - priv->dtmf_panel = empathy_streamed_media_window_create_dtmf (self); + priv->dtmf_panel = empathy_create_dtmf_dialpad (G_OBJECT (self), + G_CALLBACK (dtmf_button_pressed_cb), + G_CALLBACK (dtmf_button_released_cb)); empathy_sidebar_add_page (EMPATHY_SIDEBAR (priv->sidebar), _("Dialpad"), priv->dtmf_panel); |