r3827 - in trunk/src/target/OM-2007.2/applications/openmoko-dialer2: . src/phone-kit

chris at sita.openmoko.org chris at sita.openmoko.org
Mon Jan 14 15:21:53 CET 2008


Author: chris
Date: 2008-01-14 15:21:51 +0100 (Mon, 14 Jan 2008)
New Revision: 3827

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:
        Patch by Roman Moravcik <roman.moravcik at gmail.com>, bug #1153

        * src/phone-kit/moko-dialer.c: (on_call_progress):
        Hide talking window when call missed or caller hung up

        * src/phone-kit/moko-talking.h:
        * src/phone-kit/moko-talking.c: (moko_talking_incoming_call),
        (moko_talking_outgoing_call), (moko_talking_accepted_call),
        (moko_talking_hide_window), (on_reject_clicked),
        (on_silence_clicked), (on_cancel_clicked), (moko_talking_init):
        Add function to hide talking window, be sure timer was initialised
        before removal, set window title and don't stop animation when silence
        button is pressed.


Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog	2008-01-14 14:08:55 UTC (rev 3826)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog	2008-01-14 14:21:51 UTC (rev 3827)
@@ -1,3 +1,19 @@
+2008-01-14  Chris Lord  <chris at openedhand.com>
+
+	Patch by Roman Moravcik <roman.moravcik at gmail.com>, bug #1153
+
+	* src/phone-kit/moko-dialer.c: (on_call_progress):
+	Hide talking window when call missed or caller hung up
+
+	* src/phone-kit/moko-talking.h:
+	* src/phone-kit/moko-talking.c: (moko_talking_incoming_call),
+	(moko_talking_outgoing_call), (moko_talking_accepted_call),
+	(moko_talking_hide_window), (on_reject_clicked),
+	(on_silence_clicked), (on_cancel_clicked), (moko_talking_init):
+	Add function to hide talking window, be sure timer was initialised
+	before removal, set window title and don't stop animation when silence
+	button is pressed.
+
 2008-01-11  Chris Lord  <chris at openedhand.com>
 
 	* src/dialer/moko-alsa-volume-button.[ch]:

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	2008-01-14 14:08:55 UTC (rev 3826)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c	2008-01-14 14:21:51 UTC (rev 3827)
@@ -598,11 +598,13 @@
       priv->incoming_clip = NULL;
 
       moko_notify_stop (priv->notify);
+      moko_talking_hide_window (MOKO_TALKING (priv->talking));
       g_debug ("mokogsmd disconnect");
       break;
     
     case GSMD_CALLPROG_REJECT:
       moko_dialer_rejected (dialer);
+      moko_talking_hide_window (MOKO_TALKING (priv->talking));
       g_debug ("mokogsmd reject");
       break;
     

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	2008-01-14 14:08:55 UTC (rev 3826)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.c	2008-01-14 14:21:51 UTC (rev 3827)
@@ -156,6 +156,7 @@
   gtk_widget_hide (priv->main_bar);
   gtk_widget_show_all (priv->incoming_bar);
 
+  gtk_window_set_title (GTK_WINDOW (priv->window), "Incoming Call");
   gtk_label_set_text (GTK_LABEL (priv->title), "Incoming Call");
   gtk_label_set_text (GTK_LABEL (priv->duration), "");
   gtk_image_set_from_file (GTK_IMAGE (priv->icon), 
@@ -215,6 +216,7 @@
   else
     markup = g_strdup (number);
 
+  gtk_window_set_title (GTK_WINDOW (priv->window), "Dialing");
   gtk_label_set_text (GTK_LABEL (priv->title), "Outgoing Call");
   gtk_label_set_text (GTK_LABEL (priv->duration), "");
 
@@ -293,6 +295,7 @@
   else
     markup = g_strdup (number);
 
+  gtk_window_set_title (GTK_WINDOW (priv->window), "Talking");
   gtk_label_set_text (GTK_LABEL (priv->title), "Talking");
   gtk_label_set_text (GTK_LABEL (priv->duration), "00:00:00");
   gtk_image_set_from_file (GTK_IMAGE (priv->icon), 
@@ -315,7 +318,27 @@
   g_free (markup);
 }
 
+void
+moko_talking_hide_window (MokoTalking *talking)
+{
+  MokoTalkingPrivate *priv;
 
+  g_return_if_fail (MOKO_IS_TALKING (talking));
+  priv = talking->priv;
+
+  moko_sound_profile_set(SOUND_PROFILE_STEREO_OUT);
+
+  if (priv->dtimer)
+    g_timer_destroy(priv->dtimer);
+  priv->dtimer = NULL;
+
+  if (priv->timeout)
+    g_source_remove (priv->timeout);
+
+  gtk_widget_hide (priv->window);
+}
+
+
 /* Toolbar callbacks */
 static void
 on_answer_clicked (GtkToolButton *button, MokoTalking *talking)
@@ -326,29 +349,42 @@
 static void
 on_reject_clicked (GtkToolButton *button, MokoTalking *talking)
 {
-  g_source_remove (talking->priv->timeout);
-  gtk_widget_hide (talking->priv->window);
+  MokoTalkingPrivate *priv;
+
+  g_return_if_fail (MOKO_IS_TALKING (talking));
+  priv = talking->priv;
+
+  if (priv->timeout)
+    g_source_remove (priv->timeout);
+
+  gtk_widget_hide (priv->window);
   g_signal_emit (G_OBJECT (talking), talking_signals[REJECT_CALL], 0);
 }
 
 static void
 on_silence_clicked (GtkToolButton *button, MokoTalking *talking)
 {
-  g_source_remove (talking->priv->timeout);
   g_signal_emit (G_OBJECT (talking), talking_signals[SILENCE], 0);
 }
 
 static void
 on_cancel_clicked (GtkToolButton *button, MokoTalking *talking)
 {
+  MokoTalkingPrivate *priv;
+
+  g_return_if_fail (MOKO_IS_TALKING (talking));
+  priv = talking->priv;
+
   /* stop call duration timer */
-  if (talking->priv->dtimer)
-    g_timer_destroy(talking->priv->dtimer);
+  if (priv->dtimer)
+    g_timer_destroy(priv->dtimer);
+  priv->dtimer = NULL;
   
-  gtk_widget_hide (talking->priv->window);
+  if (priv->timeout)
+    g_source_remove (priv->timeout);
 
-  g_source_remove (talking->priv->timeout);
   moko_sound_profile_set(SOUND_PROFILE_STEREO_OUT);
+  gtk_widget_hide (priv->window);
   g_signal_emit (G_OBJECT (talking), talking_signals[CANCEL_CALL], 0);
 }
 
@@ -479,6 +515,9 @@
 
   priv = talking->priv = MOKO_TALKING_GET_PRIVATE (talking);
 
+  /* initialize dtimer to NULL */
+  priv->dtimer = NULL;
+
   notebook = gtk_notebook_new ();
   gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_BOTTOM);
   priv->notebook = 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	2008-01-14 14:08:55 UTC (rev 3826)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-talking.h	2008-01-14 14:21:51 UTC (rev 3827)
@@ -94,6 +94,9 @@
                        const gchar      *number,
                        MokoContactEntry *entry);
 
+void 
+moko_talking_hide_window (MokoTalking *talking);
+
 G_END_DECLS
 
 #endif /* _HAVE_MOKO_TALKING_H */





More information about the commitlog mailing list