r3482 - in trunk/src/target/OM-2007.2/applications/openmoko-dialer2: . src/phone-kit
thomas at sita.openmoko.org
thomas at sita.openmoko.org
Fri Nov 23 11:28:32 CET 2007
Author: thomas
Date: 2007-11-23 11:28:30 +0100 (Fri, 23 Nov 2007)
New Revision: 3482
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.c
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.h
Log:
* src/phone-kit/moko-dialer.c: (moko_dialer_rejected):
* src/phone-kit/moko-talking.c: (moko_talking_class_init),
(window_delete_event_cb), (on_pad_user_input), (moko_talking_init):
* src/phone-kit/moko-talking.h:
Add DTMF pad while in call
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog 2007-11-22 18:59:36 UTC (rev 3481)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog 2007-11-23 10:28:30 UTC (rev 3482)
@@ -1,3 +1,12 @@
+2007-11-23 Thomas Wood <thomas at openedhand.com>
+
+ * src/phone-kit/moko-dialer.c: (moko_dialer_rejected):
+ * src/phone-kit/moko-talking.c: (moko_talking_class_init),
+ (window_delete_event_cb), (on_pad_user_input), (moko_talking_init):
+ * src/phone-kit/moko-talking.h:
+
+ Add DTMF pad while in call
+
2007-11-22 Chris Lord <chris at openedhand.com>
* configure.ac:
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c 2007-11-22 18:59:36 UTC (rev 3481)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c 2007-11-23 10:28:30 UTC (rev 3482)
@@ -282,30 +282,7 @@
g_signal_emit (G_OBJECT (dialer), dialer_signals[REJECTED], 0);
}
-
-#if 0
static void
-on_keypad_pin_entry (MokoKeypad *keypad,
- const gchar *in_pin,
- MokoDialer *dialer)
-{
- MokoDialerPrivate *priv;
- gchar *pin;
-
- g_return_if_fail (MOKO_IS_DIALER (dialer));
- priv = dialer->priv;
-
- pin = g_strdup (in_pin);
-
- g_debug ("Sending pin %s", pin);
- moko_gsmd_connection_send_pin (priv->connection, pin);
-
- moko_keypad_set_pin_mode (MOKO_KEYPAD (priv->keypad), FALSE);
- g_free (pin);
-}
-#endif
-
-static void
on_talking_accept_call (MokoTalking *talking, MokoDialer *dialer)
{
MokoDialerPrivate *priv;
@@ -397,9 +374,9 @@
g_debug ("Speaker toggled");
}
-#if 0
+
static void
-on_keypad_digit_pressed (MokoKeypad *keypad,
+on_keypad_digit_pressed (MokoTalking *talking,
const gchar digit,
MokoDialer *dialer)
{
@@ -412,9 +389,11 @@
return;
if (priv->status == DIALER_STATUS_TALKING)
- moko_gsmd_connection_voice_dtmf (priv->connection, digit);
+ {
+ lgsm_voice_dtmf (priv->handle, digit);
+ }
}
-#endif
+
/* Callbacks for gsmd events */
static void
on_network_registered (MokoDialer *dialer,
@@ -1121,7 +1100,8 @@
G_CALLBACK (on_talking_silence), (gpointer)dialer);
g_signal_connect (G_OBJECT (priv->talking), "speaker_toggle",
G_CALLBACK (on_talking_speaker_toggle), (gpointer)dialer);
-
+ g_signal_connect (priv->talking, "dtmf_key_press",
+ G_CALLBACK (on_keypad_digit_pressed), dialer);
}
MokoDialer*
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.c 2007-11-22 18:59:36 UTC (rev 3481)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.c 2007-11-23 10:28:30 UTC (rev 3482)
@@ -24,6 +24,8 @@
#include "moko-sound.h"
#include "moko-talking.h"
+#include "moko-dialer-panel.h"
+#include "moko-dialer-textview.h"
G_DEFINE_TYPE (MokoTalking, moko_talking, GTK_TYPE_WIDGET)
@@ -40,28 +42,31 @@
struct _MokoTalkingPrivate
{
- MokoJournal *journal;
+ MokoJournal *journal;
- GtkWidget *window;
+ GtkWidget *window;
- GtkWidget *incoming_bar;
- GtkWidget *main_bar;
+ GtkWidget *incoming_bar;
+ GtkWidget *main_bar;
- GtkWidget *title;
- GtkWidget *duration;
- GtkWidget *icon;
+ GtkWidget *title;
+ GtkWidget *duration;
+ GtkWidget *icon;
- GtkWidget *person;
- GtkWidget *status;
+ GtkWidget *person;
+ GtkWidget *status;
+
+ GtkWidget *dtmf_display;
+ GtkWidget *dtmf_pad;
- GdkPixbuf *talking[N_PICS];
- GdkPixbuf *incoming[4];
- GdkPixbuf *outgoing[4];
+ GdkPixbuf *talking[N_PICS];
+ GdkPixbuf *incoming[4];
+ GdkPixbuf *outgoing[4];
- GTimer *dtimer;
- guint timeout;
+ GTimer *dtimer;
+ guint timeout;
- gint call_direction;
+ gint call_direction;
};
enum
@@ -71,13 +76,13 @@
CANCEL_CALL,
SILENCE,
SPEAKER_TOGGLE,
+ DTMF_KEY_PRESS,
LAST_SIGNAL
};
static guint talking_signals[LAST_SIGNAL] = {0, };
-
void
moko_talking_set_clip (MokoTalking *talking,
const gchar *number,
@@ -406,6 +411,15 @@
g_cclosure_marshal_VOID__BOOLEAN,
G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
+ talking_signals[DTMF_KEY_PRESS] =
+ g_signal_new ("dtmf_key_press",
+ G_TYPE_FROM_CLASS (obj_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (MokoTalkingClass, dtmf_key_press),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__CHAR,
+ G_TYPE_NONE, 1, G_TYPE_CHAR);
+
g_type_class_add_private (obj_class, sizeof (MokoTalkingPrivate));
}
@@ -422,9 +436,28 @@
}
static void
+on_pad_user_input (MokoDialerPanel *panel, const gchar digit,
+ MokoTalking *talking)
+{
+ MokoTalkingPrivate *priv;
+ gchar buf[2];
+ priv = MOKO_TALKING_GET_PRIVATE (talking);
+
+ /* Create a string from the new digit */
+ buf[0] = digit;
+ buf[1] = '\0';
+
+ moko_dialer_textview_insert (MOKO_DIALER_TEXTVIEW (priv->dtmf_display), buf);
+
+ g_signal_emit (G_OBJECT (talking), talking_signals[DTMF_KEY_PRESS],
+ 0, digit);
+}
+
+static void
moko_talking_init (MokoTalking *talking)
{
MokoTalkingPrivate *priv;
+ GtkWidget *notebook;
GtkWidget *toolbar, *image, *vbox, *hbox, *label, *align, *frame, *main_vbox;
GtkWidget *duration;
GtkToolItem *item;
@@ -432,7 +465,15 @@
priv = talking->priv = MOKO_TALKING_GET_PRIVATE (talking);
+ notebook = gtk_notebook_new ();
+ gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_BOTTOM);
+
+ /* status page */
main_vbox = gtk_vbox_new (FALSE, 0);
+ gtk_notebook_append_page (GTK_NOTEBOOK (notebook), main_vbox,
+ gtk_image_new_from_file (PKGDATADIR"/phone.png"));
+ gtk_container_child_set (GTK_CONTAINER (notebook), main_vbox, "tab-expand",
+ TRUE, NULL);
priv->incoming_bar = toolbar = gtk_toolbar_new ();
gtk_box_pack_start (GTK_BOX (main_vbox), toolbar, FALSE, FALSE, 0);
@@ -505,7 +546,7 @@
priv->person = image = gtk_image_new ();
gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
- priv->status = label = gtk_label_new ("01923 820 124");
+ priv->status = label = gtk_label_new ("");
gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
/* Load the pixbufs */
@@ -540,12 +581,29 @@
g_object_ref (priv->incoming[i]);
}
+
+ /* dtmf page */
+ GtkWidget *pad, *display;
+ main_vbox = gtk_vbox_new (FALSE, 0);
+ gtk_notebook_append_page (GTK_NOTEBOOK (notebook), main_vbox,
+ gtk_image_new_from_file (PKGDATADIR"/dtmf.png"));
+ gtk_container_child_set (GTK_CONTAINER (notebook), main_vbox, "tab-expand",
+ TRUE, NULL);
+
+ display = moko_dialer_textview_new ();
+ gtk_box_pack_start_defaults (GTK_BOX (main_vbox), display);
+ priv->dtmf_display = display;
+
+ pad = moko_dialer_panel_new ();
+ gtk_box_pack_start_defaults (GTK_BOX (main_vbox), pad);
+ g_signal_connect (pad, "user_input", G_CALLBACK (on_pad_user_input), talking);
+ priv->dtmf_pad = pad;
priv->window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (priv->window, "delete-event", G_CALLBACK (window_delete_event_cb), talking);
- gtk_container_add (GTK_CONTAINER (priv->window), main_vbox);
+ gtk_container_add (GTK_CONTAINER (priv->window), notebook);
- gtk_widget_show_all (main_vbox);
+ gtk_widget_show_all (notebook);
}
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.h 2007-11-22 18:59:36 UTC (rev 3481)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.h 2007-11-23 10:28:30 UTC (rev 3482)
@@ -67,6 +67,7 @@
void (*cancel_call) (MokoTalking *talking);
void (*silence) (MokoTalking *talking);
void (*speaker_toggle) (MokoTalking *talking, gboolean speaker_phone);
+ void (*dtmf_key_press) (MokoTalking *talking, const char key);
};
GType moko_talking_get_type (void) G_GNUC_CONST;
More information about the commitlog
mailing list