aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanielle Madeley <danielle.madeley@collabora.co.uk>2011-05-13 15:43:26 +0800
committerDanielle Madeley <danielle.madeley@collabora.co.uk>2011-05-13 15:43:26 +0800
commit7c8875356d589a24e9c6c46b4baa2da93c326c67 (patch)
tree2082ad9d94900350c6913e41fb6f797bf55ba86a
parentd0a18dfa867e5dcd1815408265ed8b008cbaa636 (diff)
parent5dab5b3e2f31e9240b294aafc9f6694c36a43524 (diff)
downloadgsoc2013-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.c73
-rw-r--r--libempathy-gtk/empathy-ui-utils.h5
-rw-r--r--src/empathy-call-window.c53
-rw-r--r--src/empathy-streamed-media-window.c53
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);