Changeset 3314


Ignore:
Timestamp:
10/31/07 17:56:00 (6 years ago)
Author:
thomas
Message:
  • src/phone-kit/moko-dialer.c: (moko_dialer_hung_up),

(moko_dialer_rejected), (on_talking_reject_call),
(moko_dialer_init):

  • src/phone-kit/moko-talking.c: (moko_talking_incoming_call),

(moko_talking_outgoing_call), (moko_talking_accepted_call),
(on_answer_clicked), (on_reject_clicked),
(moko_talking_class_init), (moko_talking_init):

Present a window for incoming call notification

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

Legend:

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

    r3312 r3314  
     12007-10-31  Thomas Wood  <thos@openedhand.com> 
     2 
     3        * src/phone-kit/moko-dialer.c: (moko_dialer_hung_up), 
     4        (moko_dialer_rejected), (on_talking_reject_call), 
     5        (moko_dialer_init): 
     6        * src/phone-kit/moko-talking.c: (moko_talking_incoming_call), 
     7        (moko_talking_outgoing_call), (moko_talking_accepted_call), 
     8        (on_answer_clicked), (on_reject_clicked), 
     9        (moko_talking_class_init), (moko_talking_init): 
     10 
     11        Present a window for incoming call notification 
     12 
    1132007-10-31  Thomas Wood  <thomas@openedhand.com> 
    214 
  • trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c

    r3310 r3314  
    4848  gchar               *incoming_clip; 
    4949 
    50   /* Main Widgets */ 
    51   GtkWidget          *window; 
    52   GtkWidget          *notebook; 
    53    
    54   /* Pages of the notebook */ 
     50  /* handles user interaction */ 
    5551  GtkWidget          *talking; 
    56   GtkWidget          *keypad; 
    57   GtkWidget          *history; 
    5852 
    5953  /* Special objects */ 
     
    153147  priv->status = DIALER_STATUS_NORMAL; 
    154148 
    155   if (gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook)) == 3) 
    156     gtk_notebook_remove_page (GTK_NOTEBOOK (priv->notebook), 0); 
    157    
    158149  moko_gsmd_connection_voice_hangup (priv->connection);    
    159150  g_signal_emit (G_OBJECT (dialer), dialer_signals[HUNG_UP], 0); 
     
    168159  g_return_if_fail (MOKO_IS_DIALER (dialer)); 
    169160  priv = dialer->priv; 
    170    
     161 
    171162  priv->status = DIALER_STATUS_NORMAL; 
    172163 
    173164  /* Stop the notification */ 
    174   moko_notify_stop (priv->notify);   
    175  
    176   if (gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook)) == 3) 
    177     gtk_notebook_remove_page (GTK_NOTEBOOK (priv->notebook), 0); 
    178    
    179   moko_gsmd_connection_voice_hangup (priv->connection);   
    180    
     165  moko_notify_stop (priv->notify); 
     166 
     167  moko_gsmd_connection_voice_hangup (priv->connection); 
     168 
    181169  g_signal_emit (G_OBJECT (dialer), dialer_signals[REJECTED], 0); 
    182170} 
     
    236224  moko_gsmd_connection_voice_hangup (priv->connection); 
    237225  priv->status = DIALER_STATUS_NORMAL; 
    238    
    239   gtk_notebook_remove_page (GTK_NOTEBOOK (priv->notebook), 0); 
    240   
     226 
    241227  /* Finalise and add the journal entry */ 
    242228  if (priv->journal && priv->entry) 
     
    267253   
    268254  priv->status = DIALER_STATUS_NORMAL; 
    269   gtk_notebook_remove_page (GTK_NOTEBOOK (priv->notebook), 0); 
    270255   
    271256  g_signal_emit (G_OBJECT (dialer), dialer_signals[HUNG_UP], 0); 
     
    385370  /* Set up the user interface */ 
    386371  moko_talking_incoming_call (MOKO_TALKING (priv->talking), NULL, NULL); 
    387  
    388   gtk_notebook_insert_page (GTK_NOTEBOOK (priv->notebook), priv->talking, 
    389                             gtk_image_new_from_file (PKGDATADIR"/phone.png"), 
    390                             0); 
    391   gtk_container_child_set (GTK_CONTAINER (priv->notebook), priv->talking, 
    392                            "tab-expand", TRUE, 
    393                            NULL);  
    394   gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), 0); 
    395    
    396   gtk_window_present (GTK_WINDOW (priv->window)); 
    397372 
    398373  /* Start the notification */ 
     
    689664  priv->notify = moko_notify_new (); 
    690665 
    691   /* Create the window */ 
    692   priv->window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 
    693   g_signal_connect (G_OBJECT (priv->window), "delete-event", 
    694                     (GCallback) gtk_widget_hide_on_delete, NULL); 
    695   gtk_window_set_title (GTK_WINDOW (priv->window), "Dialer"); 
    696  
    697   /* Notebook */ 
    698   priv->notebook = gtk_notebook_new (); 
    699   gtk_notebook_set_tab_pos (GTK_NOTEBOOK (priv->notebook), GTK_POS_BOTTOM); 
    700   gtk_container_add (GTK_CONTAINER (priv->window), priv->notebook); 
    701  
    702   /* Talking: We don't actually add it to the notebook yet, as it is only added 
    703    * as/when needed. Therefore we just create it, and ref it (so it will  
    704    * survive reparenting. 
    705    */ 
     666 
     667  /* Talking: This is the object that handles interaction with the user */ 
    706668  priv->talking = moko_talking_new (priv->journal); 
    707669  g_object_ref (G_OBJECT (priv->talking)); 
     
    717679  g_signal_connect (G_OBJECT (priv->talking), "speaker_toggle", 
    718680                    G_CALLBACK (on_talking_speaker_toggle), (gpointer)dialer); 
     681 
     682  /* Create the window */ 
    719683#if 0 
     684  priv->window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 
     685  g_signal_connect (G_OBJECT (priv->window), "delete-event", 
     686                    (GCallback) gtk_widget_hide_on_delete, NULL); 
     687  gtk_window_set_title (GTK_WINDOW (priv->window), "Dialer"); 
     688 
     689  /* Notebook */ 
     690  priv->notebook = gtk_notebook_new (); 
     691  gtk_notebook_set_tab_pos (GTK_NOTEBOOK (priv->notebook), GTK_POS_BOTTOM); 
     692  gtk_container_add (GTK_CONTAINER (priv->window), priv->notebook); 
     693 
     694 
    720695  /* Keypad */ 
    721696  priv->keypad = moko_keypad_new (); 
  • trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.c

    r3310 r3314  
    2626#include "moko-talking.h" 
    2727 
    28 G_DEFINE_TYPE (MokoTalking, moko_talking, GTK_TYPE_VBOX) 
     28G_DEFINE_TYPE (MokoTalking, moko_talking, GTK_TYPE_WIDGET) 
    2929 
    3030#define MOKO_TALKING_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE(obj, \ 
     
    3636{ 
    3737  MokoJournal        *journal; 
     38 
     39  GtkWidget          *window; 
    3840 
    3941  GtkWidget          *incoming_bar; 
     
    139141  gtk_image_set_from_file (GTK_IMAGE (priv->person), 
    140142                           PKGDATADIR"/unkown.png"); 
    141   g_source_remove (priv->timeout); 
     143  if (priv->timeout) 
     144    g_source_remove (priv->timeout); 
    142145  priv->timeout = g_timeout_add (1000,  
    143146                                 (GSourceFunc)incoming_timeout, 
    144147                                 (gpointer)talking); 
     148  gtk_window_present (GTK_WINDOW (priv->window)); 
    145149} 
    146150 
     
    195199    gtk_image_set_from_file (GTK_IMAGE (priv->person), 
    196200                             PKGDATADIR"/unkown.png"); 
    197  
    198   g_source_remove (priv->timeout); 
     201  if (priv->timeout) 
     202    g_source_remove (priv->timeout); 
    199203  priv->timeout = g_timeout_add (1000,  
    200204                                 (GSourceFunc)outgoing_timeout, 
     
    202206 
    203207  g_free (markup); 
     208  gtk_window_present (GTK_WINDOW (priv->window)); 
    204209} 
    205210 
     
    273278   * set them for us. 
    274279   */ 
    275   g_source_remove (priv->timeout); 
     280  if (priv->timeout) 
     281    g_source_remove (priv->timeout); 
    276282  priv->timeout = g_timeout_add (1000,  
    277283                                 (GSourceFunc)talking_timeout, 
     
    293299{ 
    294300  g_source_remove (talking->priv->timeout); 
     301  gtk_widget_hide (talking->priv->window); 
    295302  g_signal_emit (G_OBJECT (talking), talking_signals[REJECT_CALL], 0); 
    296303} 
     
    395402{ 
    396403  MokoTalkingPrivate *priv; 
    397   GtkWidget *toolbar, *image, *vbox, *hbox, *label, *align, *frame; 
     404  GtkWidget *toolbar, *image, *vbox, *hbox, *label, *align, *frame, *main_vbox; 
    398405  GtkWidget *duration; 
    399406  GtkToolItem *item; 
     
    401408 
    402409  priv = talking->priv = MOKO_TALKING_GET_PRIVATE (talking); 
     410 
     411  main_vbox = gtk_vbox_new (FALSE, 0); 
    403412   
    404413  priv->incoming_bar = toolbar = gtk_toolbar_new (); 
    405   gtk_box_pack_start (GTK_BOX (talking), toolbar, FALSE, FALSE, 0); 
     414  gtk_box_pack_start (GTK_BOX (main_vbox), toolbar, FALSE, FALSE, 0); 
    406415 
    407416  item = gtk_tool_button_new_from_stock (MOKO_STOCK_CALL_ANSWER); 
     
    426435  /* Outgoing call and talking share the same toolbar */ 
    427436  priv->main_bar = toolbar = gtk_toolbar_new (); 
    428   gtk_box_pack_start (GTK_BOX (talking), toolbar, FALSE, FALSE, 0); 
     437  gtk_box_pack_start (GTK_BOX (main_vbox), toolbar, FALSE, FALSE, 0); 
    429438 
    430439  item = gtk_toggle_tool_button_new_from_stock (MOKO_STOCK_SPEAKER); 
     
    443452  vbox = gtk_vbox_new (FALSE, 0); 
    444453  gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); 
    445   gtk_box_pack_start (GTK_BOX (talking), vbox, FALSE, FALSE, 0); 
     454  gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0); 
    446455   
    447456  priv->title = label = gtk_label_new ("Incoming Call"); 
     
    461470  /* The status area */ 
    462471  align = gtk_alignment_new (0.5, 0.5, 1, 0 ); 
    463   gtk_box_pack_start (GTK_BOX (talking), align, TRUE, TRUE, 0); 
     472  gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0); 
    464473 
    465474  frame = gtk_frame_new (NULL); 
     
    509518  } 
    510519 
     520  priv->window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 
     521  gtk_widget_show_all (main_vbox); 
     522  gtk_container_add (GTK_CONTAINER (priv->window), main_vbox); 
     523 
    511524} 
    512525 
Note: See TracChangeset for help on using the changeset viewer.