aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/empathy-call-window.c23
-rw-r--r--src/empathy-streamed-media-window.c23
2 files changed, 18 insertions, 28 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 2a92e9471..d2e32a10a 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -47,6 +47,7 @@
#include <libempathy/empathy-utils.h>
#include <libempathy-gtk/empathy-avatar-image.h>
+#include <libempathy-gtk/empathy-dialpad-widget.h>
#include <libempathy-gtk/empathy-ui-utils.h>
#include <libempathy-gtk/empathy-sound-manager.h>
#include <libempathy-gtk/empathy-geometry.h>
@@ -397,29 +398,17 @@ empathy_call_window_tones_stopped_cb (TpChannel *proxy,
}
static void
-dtmf_button_pressed_cb (GtkButton *button,
+dtmf_start_tone_cb (EmpathyDialpadWidget *dialpad,
+ TpDTMFEvent event,
EmpathyCallWindow *self)
{
EmpathyCallWindowPriv *priv = GET_PRIV (self);
- GQuark button_quark;
- TpDTMFEvent event;
-
- button_quark = g_quark_from_static_string (EMPATHY_DTMF_BUTTON_ID);
- event = GPOINTER_TO_UINT (g_object_get_qdata (G_OBJECT (button),
- button_quark));
g_string_append_c (priv->tones, tp_dtmf_event_to_char (event));
empathy_call_window_maybe_emit_tones (self);
}
-/* empathy_create_dtmf_dialpad() requires a callback, even if empty */
-static void
-dtmf_button_released_cb (GtkButton *button,
- EmpathyCallWindow *self)
-{
-}
-
static void
empathy_call_window_mic_volume_changed (EmpathyCallWindow *self)
{
@@ -1819,9 +1808,9 @@ empathy_call_window_init (EmpathyCallWindow *self)
/* The call will be started as soon the pipeline is playing */
priv->start_call_when_playing = TRUE;
- priv->dtmf_panel = empathy_create_dtmf_dialpad (G_OBJECT (self),
- G_CALLBACK (dtmf_button_pressed_cb),
- G_CALLBACK (dtmf_button_released_cb));
+ priv->dtmf_panel = empathy_dialpad_widget_new ();
+ g_signal_connect (priv->dtmf_panel, "start-tone",
+ G_CALLBACK (dtmf_start_tone_cb), self);
priv->tones = g_string_new ("");
diff --git a/src/empathy-streamed-media-window.c b/src/empathy-streamed-media-window.c
index 26bd689ac..27d288433 100644
--- a/src/empathy-streamed-media-window.c
+++ b/src/empathy-streamed-media-window.c
@@ -38,6 +38,7 @@
#include <libempathy/empathy-tp-contact-factory.h>
#include <libempathy/empathy-utils.h>
#include <libempathy-gtk/empathy-avatar-image.h>
+#include <libempathy-gtk/empathy-dialpad-widget.h>
#include <libempathy-gtk/empathy-ui-utils.h>
#include <libempathy-gtk/empathy-sound-manager.h>
#include <libempathy-gtk/empathy-geometry.h>
@@ -335,26 +336,24 @@ empathy_streamed_media_window_setup_toolbar (EmpathyStreamedMediaWindow *self)
}
static void
-dtmf_button_pressed_cb (GtkButton *button, EmpathyStreamedMediaWindow *window)
+dtmf_start_tone_cb (EmpathyDialpadWidget *dialpad,
+ TpDTMFEvent event,
+ EmpathyStreamedMediaWindow *window)
{
EmpathyStreamedMediaWindowPriv *priv = GET_PRIV (window);
EmpathyTpStreamedMedia *call;
- GQuark button_quark;
- TpDTMFEvent event;
g_object_get (priv->handler, "tp-call", &call, NULL);
- button_quark = g_quark_from_static_string (EMPATHY_DTMF_BUTTON_ID);
- event = GPOINTER_TO_UINT (g_object_get_qdata (G_OBJECT (button),
- button_quark));
-
empathy_tp_streamed_media_start_tone (call, event);
g_object_unref (call);
}
static void
-dtmf_button_released_cb (GtkButton *button, EmpathyStreamedMediaWindow *window)
+dtmf_stop_tone_cb (EmpathyDialpadWidget *self,
+ TpDTMFEvent event,
+ EmpathyStreamedMediaWindow *window)
{
EmpathyStreamedMediaWindowPriv *priv = GET_PRIV (window);
EmpathyTpStreamedMedia *call;
@@ -1133,9 +1132,11 @@ empathy_streamed_media_window_init (EmpathyStreamedMediaWindow *self)
ev_sidebar_add_page (EV_SIDEBAR (priv->sidebar), "video-input",
_("Video input"), page);
- priv->dtmf_panel = empathy_create_dtmf_dialpad (G_OBJECT (self),
- G_CALLBACK (dtmf_button_pressed_cb),
- G_CALLBACK (dtmf_button_released_cb));
+ priv->dtmf_panel = empathy_dialpad_widget_new ();
+ g_signal_connect (priv->dtmf_panel, "start-tone",
+ G_CALLBACK (dtmf_start_tone_cb), self);
+ g_signal_connect (priv->dtmf_panel, "stop-tone",
+ G_CALLBACK (dtmf_stop_tone_cb), self);
ev_sidebar_add_page (EV_SIDEBAR (priv->sidebar), "dialpad",
_("Dialpad"), priv->dtmf_panel);