]> git.0d.be Git - empathy.git/commitdiff
add empathy_dialpad_widget_press_key()
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Fri, 6 Jul 2012 12:29:25 +0000 (14:29 +0200)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Mon, 9 Jul 2012 07:48:32 +0000 (09:48 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=679396

libempathy-gtk/empathy-dialpad-widget.c
libempathy-gtk/empathy-dialpad-widget.h

index 4ffd5ac7b310aa955f62b9433e70654f5b91c7ba..6361c25f63250cf2033dda33b0f5f46c686495b8 100644 (file)
@@ -215,3 +215,21 @@ empathy_dialpad_widget_new (void)
 {
   return g_object_new (EMPATHY_TYPE_DIALPAD_WIDGET, NULL);
 }
+
+void
+empathy_dialpad_widget_press_key (EmpathyDialpadWidget *self,
+    gchar key)
+{
+  GtkWidget *button;
+
+  button = g_hash_table_lookup (self->priv->buttons, GUINT_TO_POINTER (key));
+
+  if (button == NULL)
+    return;
+
+  /* gtk_widget_activate() just does the button-pressed animation, it doesn't
+   * fire the callbacks so we do it manually. */
+  dtmf_dialpad_button_pressed_cb (button, NULL, self);
+  gtk_widget_activate (button);
+  dtmf_dialpad_button_released_cb (button, NULL, self);
+}
index f4cb8305202d94c10e5c624d45d200d23eed1ea8..ccf5ac40ad14b8dcab15e584d184b81e2a93b51b 100644 (file)
@@ -52,6 +52,9 @@ struct _EmpathyDialpadWidgetClass
 GType empathy_dialpad_widget_get_type (void);
 GtkWidget *empathy_dialpad_widget_new (void);
 
+void empathy_dialpad_widget_press_key (EmpathyDialpadWidget *self,
+    gchar key);
+
 G_END_DECLS
 
 #endif