Changeset 3482


Ignore:
Timestamp:
11/23/07 11:28:30 (5 years ago)
Author:
thomas
Message:
  • 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

Location:
trunk/src/target/OM-2007.2/applications/openmoko-dialer2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog

    r3481 r3482  
     12007-11-23  Thomas Wood  <thomas@openedhand.com> 
     2 
     3        * src/phone-kit/moko-dialer.c: (moko_dialer_rejected): 
     4        * src/phone-kit/moko-talking.c: (moko_talking_class_init), 
     5        (window_delete_event_cb), (on_pad_user_input), (moko_talking_init): 
     6        * src/phone-kit/moko-talking.h: 
     7 
     8        Add DTMF pad while in call 
     9 
    1102007-11-22  Chris Lord  <chris@openedhand.com> 
    211 
  • trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c

    r3479 r3482  
    283283} 
    284284 
    285  
    286 #if 0 
    287 static void 
    288 on_keypad_pin_entry (MokoKeypad  *keypad, 
    289                      const gchar *in_pin, 
    290                      MokoDialer  *dialer) 
    291 { 
    292   MokoDialerPrivate *priv; 
    293   gchar *pin; 
    294    
    295   g_return_if_fail (MOKO_IS_DIALER (dialer)); 
    296   priv = dialer->priv; 
    297  
    298   pin = g_strdup (in_pin); 
    299  
    300   g_debug ("Sending pin %s", pin); 
    301   moko_gsmd_connection_send_pin (priv->connection, pin); 
    302  
    303   moko_keypad_set_pin_mode (MOKO_KEYPAD (priv->keypad), FALSE); 
    304   g_free (pin); 
    305 } 
    306 #endif 
    307  
    308285static void 
    309286on_talking_accept_call (MokoTalking *talking, MokoDialer *dialer) 
     
    398375  g_debug ("Speaker toggled"); 
    399376} 
    400 #if 0 
    401 static void 
    402 on_keypad_digit_pressed (MokoKeypad *keypad, 
     377 
     378static void 
     379on_keypad_digit_pressed (MokoTalking *talking, 
    403380                         const gchar digit, 
    404381                         MokoDialer *dialer) 
     
    413390 
    414391  if (priv->status == DIALER_STATUS_TALKING) 
    415     moko_gsmd_connection_voice_dtmf (priv->connection, digit); 
    416 } 
    417 #endif 
     392  { 
     393    lgsm_voice_dtmf (priv->handle, digit); 
     394  } 
     395} 
     396 
    418397/* Callbacks for gsmd events */ 
    419398static void 
     
    11221101  g_signal_connect (G_OBJECT (priv->talking), "speaker_toggle", 
    11231102                    G_CALLBACK (on_talking_speaker_toggle), (gpointer)dialer); 
    1124  
     1103  g_signal_connect (priv->talking, "dtmf_key_press", 
     1104                    G_CALLBACK (on_keypad_digit_pressed), dialer); 
    11251105} 
    11261106 
  • trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.c

    r3361 r3482  
    2525#include "moko-sound.h" 
    2626#include "moko-talking.h" 
     27#include "moko-dialer-panel.h" 
     28#include "moko-dialer-textview.h" 
    2729 
    2830G_DEFINE_TYPE (MokoTalking, moko_talking, GTK_TYPE_WIDGET) 
     
    4143struct _MokoTalkingPrivate 
    4244{ 
    43   MokoJournal        *journal; 
    44  
    45   GtkWidget          *window; 
    46  
    47   GtkWidget          *incoming_bar; 
    48   GtkWidget          *main_bar; 
    49  
    50   GtkWidget          *title; 
    51   GtkWidget          *duration; 
    52   GtkWidget          *icon; 
    53  
    54   GtkWidget          *person; 
    55   GtkWidget          *status; 
    56  
    57   GdkPixbuf          *talking[N_PICS]; 
    58   GdkPixbuf          *incoming[4]; 
    59   GdkPixbuf          *outgoing[4]; 
    60  
    61   GTimer             *dtimer; 
    62   guint               timeout; 
    63    
    64   gint                call_direction; 
     45  MokoJournal *journal; 
     46 
     47  GtkWidget *window; 
     48 
     49  GtkWidget *incoming_bar; 
     50  GtkWidget *main_bar; 
     51 
     52  GtkWidget *title; 
     53  GtkWidget *duration; 
     54  GtkWidget *icon; 
     55 
     56  GtkWidget *person; 
     57  GtkWidget *status; 
     58   
     59  GtkWidget *dtmf_display; 
     60  GtkWidget *dtmf_pad; 
     61 
     62  GdkPixbuf *talking[N_PICS]; 
     63  GdkPixbuf *incoming[4]; 
     64  GdkPixbuf *outgoing[4]; 
     65 
     66  GTimer *dtimer; 
     67  guint timeout; 
     68   
     69  gint call_direction; 
    6570}; 
    6671 
     
    7277  SILENCE, 
    7378  SPEAKER_TOGGLE, 
     79  DTMF_KEY_PRESS, 
    7480 
    7581  LAST_SIGNAL 
     
    7783 
    7884static guint talking_signals[LAST_SIGNAL] = {0, }; 
    79  
    8085 
    8186void 
     
    407412                  G_TYPE_NONE, 1, G_TYPE_BOOLEAN); 
    408413 
     414   talking_signals[DTMF_KEY_PRESS] = 
     415    g_signal_new ("dtmf_key_press",  
     416                  G_TYPE_FROM_CLASS (obj_class), 
     417                  G_SIGNAL_RUN_LAST, 
     418                  G_STRUCT_OFFSET (MokoTalkingClass,  dtmf_key_press), 
     419                  NULL, NULL, 
     420                  g_cclosure_marshal_VOID__CHAR, 
     421                  G_TYPE_NONE, 1, G_TYPE_CHAR); 
     422 
    409423  g_type_class_add_private (obj_class, sizeof (MokoTalkingPrivate));  
    410424} 
     
    423437 
    424438static void 
     439on_pad_user_input (MokoDialerPanel *panel, const gchar digit, 
     440                   MokoTalking *talking) 
     441{ 
     442  MokoTalkingPrivate *priv; 
     443  gchar buf[2]; 
     444  priv = MOKO_TALKING_GET_PRIVATE (talking); 
     445 
     446  /* Create a string from the new digit */ 
     447  buf[0] = digit; 
     448  buf[1] = '\0'; 
     449   
     450  moko_dialer_textview_insert (MOKO_DIALER_TEXTVIEW (priv->dtmf_display), buf); 
     451 
     452  g_signal_emit (G_OBJECT (talking), talking_signals[DTMF_KEY_PRESS], 
     453                0, digit); 
     454} 
     455 
     456static void 
    425457moko_talking_init (MokoTalking *talking) 
    426458{ 
    427459  MokoTalkingPrivate *priv; 
     460  GtkWidget *notebook; 
    428461  GtkWidget *toolbar, *image, *vbox, *hbox, *label, *align, *frame, *main_vbox; 
    429462  GtkWidget *duration; 
     
    433466  priv = talking->priv = MOKO_TALKING_GET_PRIVATE (talking); 
    434467 
     468  notebook = gtk_notebook_new (); 
     469  gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_BOTTOM); 
     470 
     471  /* status page */ 
    435472  main_vbox = gtk_vbox_new (FALSE, 0); 
     473  gtk_notebook_append_page (GTK_NOTEBOOK (notebook), main_vbox, 
     474                            gtk_image_new_from_file (PKGDATADIR"/phone.png")); 
     475  gtk_container_child_set (GTK_CONTAINER (notebook), main_vbox, "tab-expand", 
     476                           TRUE, NULL); 
    436477   
    437478  priv->incoming_bar = toolbar = gtk_toolbar_new (); 
     
    506547  gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); 
    507548 
    508   priv->status = label = gtk_label_new ("01923 820 124"); 
     549  priv->status = label = gtk_label_new (""); 
    509550  gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); 
    510551 
     
    541582 
    542583  } 
     584   
     585  /* dtmf page */ 
     586  GtkWidget *pad, *display; 
     587  main_vbox = gtk_vbox_new (FALSE, 0); 
     588  gtk_notebook_append_page (GTK_NOTEBOOK (notebook), main_vbox, 
     589                            gtk_image_new_from_file (PKGDATADIR"/dtmf.png")); 
     590  gtk_container_child_set (GTK_CONTAINER (notebook), main_vbox, "tab-expand", 
     591                           TRUE, NULL); 
     592   
     593  display = moko_dialer_textview_new (); 
     594  gtk_box_pack_start_defaults (GTK_BOX (main_vbox), display); 
     595  priv->dtmf_display = display; 
     596   
     597  pad = moko_dialer_panel_new (); 
     598  gtk_box_pack_start_defaults (GTK_BOX (main_vbox), pad); 
     599  g_signal_connect (pad, "user_input", G_CALLBACK (on_pad_user_input), talking); 
     600  priv->dtmf_pad = pad; 
    543601 
    544602  priv->window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 
    545603  g_signal_connect (priv->window, "delete-event", G_CALLBACK (window_delete_event_cb), talking); 
    546   gtk_container_add (GTK_CONTAINER (priv->window), main_vbox); 
    547    
    548   gtk_widget_show_all (main_vbox); 
     604  gtk_container_add (GTK_CONTAINER (priv->window), notebook); 
     605   
     606  gtk_widget_show_all (notebook); 
    549607 
    550608} 
  • trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.h

    r3310 r3482  
    6868  void (*silence) (MokoTalking *talking); 
    6969  void (*speaker_toggle) (MokoTalking *talking, gboolean speaker_phone); 
     70  void (*dtmf_key_press) (MokoTalking *talking, const char key); 
    7071};  
    7172 
Note: See TracChangeset for help on using the changeset viewer.