r469 - trunk/src/target/OM-2007/applications/openmoko-dialer/src
tony_guan at gta01.hmw-consulting.de
tony_guan at gta01.hmw-consulting.de
Tue Dec 26 08:40:07 CET 2006
Author: tony_guan
Date: 2006-12-26 08:39:36 +0100 (Tue, 26 Dec 2006)
New Revision: 469
Added:
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-talking.c
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-talking.h
Modified:
trunk/src/target/OM-2007/applications/openmoko-dialer/src/Makefile.am
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-status.c
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.c
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.h
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-dialer.c
Log:
Outgoing window finished,talking window started.
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/Makefile.am 2006-12-26 03:05:49 UTC (rev 468)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/Makefile.am 2006-12-26 07:39:36 UTC (rev 469)
@@ -12,6 +12,7 @@
common.c\
openmoko-dialer-window-dialer.c\
openmoko-dialer-window-outgoing.c\
+openmoko-dialer-window-talking.c\
moko-dialer-status.c
openmoko_dialer_LDADD = @OPENMOKO_LIBS@
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-status.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-status.c 2006-12-26 03:05:49 UTC (rev 468)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-status.c 2006-12-26 07:39:36 UTC (rev 469)
@@ -126,7 +126,7 @@
void moko_dialer_status_set_status_label(MokoDialerStatus *moko_dialer_status,const gchar* text)
{
-DBG_MESSAGE("moko_dialer_status_set_status_label:moko_dialer_status=0X%x",moko_dialer_status);
+//DBG_MESSAGE("moko_dialer_status_set_status_label:moko_dialer_status=0X%x",moko_dialer_status);
gtk_label_set_text(GTK_LABEL(moko_dialer_status->labelStatus),text);
}
@@ -191,6 +191,7 @@
{
if(moko_dialer_status->iconError)
gtk_image_set_from_pixbuf(moko_dialer_status->icon, moko_dialer_status->iconError);
+moko_dialer_status_set_status_label(moko_dialer_status,"");
}
void moko_dialer_status_set_success(MokoDialerStatus *moko_dialer_status)
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.c 2006-12-26 03:05:49 UTC (rev 468)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.c 2006-12-26 07:39:36 UTC (rev 469)
@@ -51,6 +51,8 @@
//init the dialer window
window_outgoing_init(p_dialer_data);
+
+
window_dialer_init(p_dialer_data);
gtk_main();
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.h 2006-12-26 03:05:49 UTC (rev 468)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.h 2006-12-26 07:39:36 UTC (rev 469)
@@ -47,14 +47,18 @@
GLOBAL_STATE g_state; ///< the global states holder. we count on it a lot.
-gint g_ptimeout; ///< the timer hanle
+//gint g_ptimeout; ///< the timer hanle
TIMER_DATA g_timer_data;///< the data used by the timers
MokoDialerStatus * status_outgoing;
-GtkWidget * window_dialer;
GtkWidget* window_outgoing;
+MokoDialerStatus * status_talking;
+GtkWidget* window_talking;
+
+GtkWidget * window_dialer;
+
//buttons
GtkWidget* buttonSpeaker;
GtkWidget* buttonCancel;
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-dialer.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-dialer.c 2006-12-26 03:05:49 UTC (rev 468)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-dialer.c 2006-12-26 07:39:36 UTC (rev 469)
@@ -71,9 +71,8 @@
g_debug( "history button clicked" );
}
-void cb_dialer_button_clicked( GtkButton* button, MOKO_DIALER_APP_DATA * appdata)
+void window_dialer_dial_out(MOKO_DIALER_APP_DATA * appdata)
{
- g_debug( "dialer button clicked" );
gchar codesinput[MOKO_DIALER_MAX_NUMBER_LEN];
//get the input digits
moko_dialer_textview_get_input(appdata->moko_dialer_text_view, codesinput, 0);
@@ -82,6 +81,10 @@
//empty the textview
moko_dialer_textview_empty(appdata->moko_dialer_text_view);
+//and we set the selected autolist to be No
+moko_dialer_autolist_set_select(appdata->moko_dialer_autolist,-1);
+
+
//got the number;
strcpy(appdata->g_peer_info.number,codesinput);
@@ -97,10 +100,16 @@
//start dialling.
gtk_widget_show(appdata->window_outgoing);
+
}
+void cb_dialer_button_clicked( GtkButton* button, MOKO_DIALER_APP_DATA * appdata)
+{
+window_dialer_dial_out(appdata);
+}
+
void
on_dialer_autolist_user_selected(GtkWidget * widget,gpointer para_pointer,
gpointer user_data)
@@ -135,9 +144,9 @@
DBG_MESSAGE("GOT THE MESSAGE OF confirmed:%s",ready_contact->p_entry->content);
moko_dialer_textview_confirm_it(moko_dialer_text_view,ready_contact->p_entry->content);
DBG_MESSAGE("And here we are supposed to call out directly");
+window_dialer_dial_out(appdata);
-
}
void
on_dialer_autolist_nomatch(GtkWidget * widget,gpointer user_data)
@@ -322,7 +331,28 @@
p_dialer_data-> window_dialer=window;
- gtk_widget_show_all( GTK_WIDGET(window) );
+
+//now the wheel and tool box
+
+ MokoFingerToolBox* tools = NULL;
+ tools = moko_finger_window_get_toolbox(window);
+ for ( int i = 0; i < 4; ++i )
+ {
+ GtkButton* newbutton = moko_finger_tool_box_add_button( tools );
+// g_signal_connect( G_OBJECT(newbutton), "clicked", G_CALLBACK(cb_tool_button_clicked), window );
+ }
+ // gtk_widget_show( GTK_WIDGET(tools));
+ gtk_widget_show(moko_finger_window_get_toolbox(window));
+
+// MokoFingerWheel* wheel = NULL;
+ gtk_widget_show( GTK_WIDGET(moko_finger_window_get_wheel(window)) );
+
+
+ gtk_widget_show_all( GTK_WIDGET(window) );
+
+
+
+
return 1;
Added: trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-talking.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-talking.c 2006-12-26 03:05:49 UTC (rev 468)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-talking.c 2006-12-26 07:39:36 UTC (rev 469)
@@ -0,0 +1,260 @@
+/* openmoko-dialer-window-talking.c
+ *
+ * Authored by Tony Guan<tonyguan at fic-sh.com.cn>
+ *
+ * Copyright (C) 2006 FIC Shanghai Lab
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Public License as published by
+ * the Free Software Foundation; version 2.1 of the license.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser Public License for more details.
+ *
+ * Current Version: $Rev$ ($Date) [$Author: Tony Guan $]
+ */
+
+#include <libmokoui/moko-finger-tool-box.h>
+#include <libmokoui/moko-finger-window.h>
+#include <libmokoui/moko-finger-wheel.h>
+#include <libmokoui/moko-pixmap-button.h>
+
+#include <gtk/gtkalignment.h>
+#include <gtk/gtkbutton.h>
+#include <gtk/gtkhbox.h>
+#include <gtk/gtklabel.h>
+#include <gtk/gtkmain.h>
+#include <gtk/gtkmenu.h>
+#include <gtk/gtkmenuitem.h>
+#include <gtk/gtkvbox.h>
+#include "contacts.h"
+#include "openmoko-dialer-main.h"
+#include "moko-dialer-status.h"
+#include "openmoko-dialer-window-talking.h"
+
+/*
+void cb_speaker_button_clicked( GtkButton* button, MOKO_DIALER_APP_DATA * appdata)
+{
+DBG_ENTER();
+moko_dialer_status_update_icon(appdata->status_talking);
+
+DBG_LEAVE();
+}
+
+void cb_redial_button_clicked( GtkButton* button, MOKO_DIALER_APP_DATA * appdata)
+{
+DBG_ENTER();
+
+DBG_LEAVE();
+}
+
+void cb_cancel_button_clicked( GtkButton* button, MOKO_DIALER_APP_DATA * appdata)
+{
+DBG_ENTER();
+gtk_widget_hide(appdata->window_talking);
+DBG_LEAVE();
+}
+
+*/
+void window_talking_prepare(MOKO_DIALER_APP_DATA * appdata)
+{
+DBG_ENTER();
+ moko_dialer_status_set_person_number(appdata->status_talking, appdata->g_peer_info.number);
+if(appdata->g_peer_info.hasname)
+{
+ moko_dialer_status_set_person_image(appdata->status_talking, appdata->g_peer_info.picpath);
+ moko_dialer_status_set_person_name(appdata->status_talking, appdata->g_peer_info.name);
+}
+else
+{
+ moko_dialer_status_set_person_image(appdata->status_talking, "");
+ moko_dialer_status_set_person_name(appdata->status_talking, "");
+
+}
+
+DBG_LEAVE();
+
+}
+
+gint timer_talking_time_out(MOKO_DIALER_APP_DATA * appdata)
+{
+DBG_ENTER();
+TIMER_DATA* timer_data=&(appdata->g_timer_data);
+
+DBG_MESSAGE("timer :p_dialer_data->status_talking=0X%x",appdata->status_talking);
+
+//gtk_label_set_text(appdata->status_talking->labelStatus,"laskdfas");
+
+
+//first of all, reset the timer to be called after 1 minute.
+
+timer_data->ticks++;
+timer_data->hour=timer_data->ticks/3600;
+timer_data->min=(timer_data->ticks-timer_data->hour*3600)/60;
+timer_data->sec=timer_data->ticks%60;
+
+
+sprintf(timer_data->timestring,"Talking (%02d:%02d:%02d)",timer_data->hour,timer_data->min,timer_data->sec);
+
+//ok,we update the label now.
+
+
+moko_dialer_status_set_status_label(appdata->status_talking,timer_data->timestring);
+moko_dialer_status_update_icon(appdata->status_talking);
+
+if(timer_data->stopsec!=0&&timer_data->ticks>=timer_data->stopsec)
+{
+
+timer_data->timeout=1;
+gtk_timeout_remove(timer_data->ptimer);
+timer_data->ptimer=0;
+return 0;//0 stops the timer.
+}
+else
+return 1;
+}
+
+void
+on_window_talking_hide (GtkWidget *widget,
+ MOKO_DIALER_APP_DATA * appdata)
+{
+if(appdata->g_timer_data.ptimer!=0)
+{
+gtk_timeout_remove(appdata->g_timer_data.ptimer);
+appdata->g_timer_data.ptimer=0;
+}
+
+
+}
+
+void
+on_window_talking_show (GtkWidget *widget,
+ MOKO_DIALER_APP_DATA * appdata)
+{
+DBG_ENTER();
+
+time_t timep;
+struct tm *p;
+time(&timep);
+p=localtime(&timep);
+
+sprintf(appdata->g_state.starttime,"%02d:%02d:%02d",p->tm_hour,p->tm_min,p->tm_sec);
+sprintf(appdata->g_state.startdate,"%04d/%02d/%02d",p->tm_year,p->tm_mon,p->tm_mday);
+
+memset(&(appdata->g_timer_data),0,sizeof(appdata->g_timer_data));
+
+appdata->g_timer_data.stopsec=0;
+
+appdata->g_timer_data.ptimer=gtk_timeout_add(1000,timer_talking_time_out,appdata);
+
+DBG_MESSAGE("on_window_talking_show status_talking=0X%x",appdata->status_talking);
+
+DBG_LEAVE();
+}
+
+
+gint window_talking_init( MOKO_DIALER_APP_DATA* p_dialer_data)
+{
+
+DBG_ENTER();
+MokoFingerWindow* window;
+GtkWidget* vbox;
+MokoDialerStatus * status;
+
+if(p_dialer_data->window_talking==0)
+{
+
+ vbox = gtk_vbox_new( FALSE, 0 );
+ status=moko_dialer_status_new();
+ moko_dialer_status_add_status_icon(status,"status0.png");
+ moko_dialer_status_add_status_icon(status,"status1.png");
+ moko_dialer_status_add_status_icon(status,"status2.png");
+ moko_dialer_status_set_icon_by_index(status,0);
+
+ gtk_box_pack_start( GTK_BOX(vbox),status, FALSE, FALSE, 0 );
+
+/*
+
+ GtkHBox * hbox2 = gtk_hbox_new( FALSE, 0 );
+ GtkButton* button = gtk_button_new_with_label("Speaker");
+ g_signal_connect( G_OBJECT(button), "clicked", G_CALLBACK(cb_speaker_button_clicked), p_dialer_data );
+p_dialer_data->buttonSpeaker=button;
+//gtk_widget_set_size_request(button,100,32);
+ gtk_box_pack_start( GTK_BOX(hbox2), GTK_WIDGET(button),TRUE, TRUE, 10 );
+
+button = gtk_button_new_with_label("Cancel");
+ p_dialer_data->buttonCancel=button;
+ g_signal_connect( G_OBJECT(button), "clicked", G_CALLBACK(cb_cancel_button_clicked), p_dialer_data );
+//gtk_widget_set_size_request(button,100,32);
+ gtk_box_pack_start( GTK_BOX(hbox2), GTK_WIDGET(button),TRUE, TRUE, 10 );
+
+
+ button = gtk_button_new_with_label("Redial");
+ p_dialer_data->buttonRedial=button;
+ g_signal_connect( G_OBJECT(button), "clicked", G_CALLBACK(cb_redial_button_clicked), p_dialer_data );
+//gtk_widget_set_size_request(button,100,32);
+ gtk_box_pack_start( GTK_BOX(hbox2), GTK_WIDGET(button), TRUE, TRUE, 20 );
+//gtk_widget_set_size_request(button,60,24);
+
+
+ gtk_box_pack_start( GTK_BOX(vbox),hbox2, FALSE, FALSE, 50 );
+*/
+
+//currently MokoDialogWindow is not finished, wating...
+// MokoDialogWindow* window = (MokoDialogWindow *)(moko_dialog_window_new());
+// moko_dialog_window_set_contents( window, GTK_WIDGET(vbox) );
+
+ window = MOKO_FINGER_WINDOW(moko_finger_window_new());
+ moko_finger_window_set_contents(window, GTK_WIDGET(vbox) );
+
+
+ gtk_widget_show_all( GTK_WIDGET(window) );
+
+ gtk_widget_hide( p_dialer_data->buttonRedial);
+
+
+ gtk_widget_hide( GTK_WIDGET(window) );
+
+
+ moko_dialer_status_set_title_label(status, "In Call");
+ moko_dialer_status_set_status_label(status, "Talking ...(00:00:00)");
+
+ p_dialer_data->window_talking=window;
+ p_dialer_data->status_talking=status;
+
+// DBG_MESSAGE("p_dialer_data->status_talking=0X%x",p_dialer_data->status_talking);
+
+
+ g_signal_connect ((gpointer) window, "show",
+ G_CALLBACK (on_window_talking_show),
+ p_dialer_data);
+ g_signal_connect ((gpointer) window, "hide",
+ G_CALLBACK (on_window_talking_hide),
+ p_dialer_data);
+
+ //now the wheel and tool box
+
+ MokoFingerToolBox* tools = NULL;
+ tools = moko_finger_window_get_toolbox(window);
+ for ( int i = 0; i < 4; ++i )
+ {
+ GtkButton* newbutton = moko_finger_tool_box_add_button( tools );
+// g_signal_connect( G_OBJECT(newbutton), "clicked", G_CALLBACK(cb_tool_button_clicked), window );
+ }
+ // gtk_widget_show( GTK_WIDGET(tools));
+ gtk_widget_show(moko_finger_window_get_toolbox(window));
+
+// MokoFingerWheel* wheel = NULL;
+ gtk_widget_show( GTK_WIDGET(moko_finger_window_get_wheel(window)) );
+
+
+// gtk_widget_show(p_dialer_data->window_talking);
+
+DBG_LEAVE();
+ return 1;
+}
+
+}
+
Property changes on: trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-talking.c
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-talking.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-talking.h 2006-12-26 03:05:49 UTC (rev 468)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-talking.h 2006-12-26 07:39:36 UTC (rev 469)
@@ -0,0 +1,41 @@
+/* openmoko-dialer-window-outgoing.h
+ *
+ * Authored By Tony Guan<tonyguan at fic-sh.com.cn>
+ *
+ * Copyright (C) 2006 FIC Shanghai Lab
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Public License as published by
+ * the Free Software Foundation; version 2.1 of the license.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser Public License for more details.
+ *
+ * Current Version: $Rev$ ($Date) [$Author: Tony Guan $]
+ */
+ #include "moko-dialer-includes.h"
+
+ #ifndef _OPENMOKO_DIALER_WINDOW_TALKING_H
+#define _OPENMOKO_DIALER_WINDOW_TALKING_H
+
+#ifdef __cplusplus
+
+
+
+extern "C"
+
+{
+#endif
+
+
+
+gint window_talking_init( MOKO_DIALER_APP_DATA* p_dialer_data);
+
+void window_talking_prepare(MOKO_DIALER_APP_DATA * appdata);
+#ifdef __cplusplus
+}
+#endif
+
+#endif
Property changes on: trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-talking.h
___________________________________________________________________
Name: svn:executable
+ *
More information about the commitlog
mailing list