r425 - trunk/src/target/OM-2007/applications/openmoko-dialer/src
tony_guan at gta01.hmw-consulting.de
tony_guan at gta01.hmw-consulting.de
Mon Dec 18 10:29:00 CET 2006
Author: tony_guan
Date: 2006-12-18 10:28:52 +0100 (Mon, 18 Dec 2006)
New Revision: 425
Modified:
trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.c
trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.h
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-autolist.c
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-autolist.h
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-includes.h
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-textview.c
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-textview.h
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.c
Log:
several bugs removed;MokoAutolist partly finished, tomorrow will be finished.
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.c 2006-12-18 07:52:06 UTC (rev 424)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.c 2006-12-18 09:28:52 UTC (rev 425)
@@ -32,7 +32,8 @@
{
res = contact_init_from_cmd (p_contactlist);
}
- //DBG_MESSAGE("CONTACTS:%d,list at 0x%x,first at 0x%x",contactlist.length,&contactlist,contactlist.contacts);
+ DBG_MESSAGE("CONTACTS:%d,list at 0x%x,first at 0x%x",p_contactlist->length,p_contactlist,p_contactlist->contacts);
+
DBG_LEAVE();
return res;
@@ -374,7 +375,7 @@
int contact_string_has_sensentive (char * content, char *string)
{
int i;
- //g_printf("hassensentive:%s,%s\n",content,string);
+ g_printf("hassensentive:%s,%s\n",content,string);
if(content==0)
return 0;
@@ -396,4 +397,28 @@
}
return 1;
}
+int contact_print_contact_list(DIALER_CONTACTS_LIST_HEAD * head)
+{
+DIALER_CONTACT* contacts;
+DIALER_CONTACT_ENTRY* entry;
+ contacts=head->contacts;
+DBG_MESSAGE("\n\nThere are %d contacts here:",head->length);
+
+ while(contacts!= 0)
+ {
+ DBG_MESSAGE("CONTACT: name:%s",contacts->name);
+ entry=contacts->entry;
+
+ while(entry)
+ {
+
+ DBG_MESSAGE("--%s:%s",entry->desc,entry->content);
+ entry=entry->next;
+ }
+
+ contacts= contacts->next;
+ }
+ return 0;
+
+}
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.h 2006-12-18 07:52:06 UTC (rev 424)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.h 2006-12-18 09:28:52 UTC (rev 425)
@@ -84,10 +84,10 @@
int contact_init_from_cmd(DIALER_CONTACTS_LIST_HEAD * head);
int contact_get_info_from_number(DIALER_CONTACT* contacts,char* name,char* picpath,const char* number);
int contact_init_contact_data(DIALER_CONTACTS_LIST_HEAD *p_contactlist);
+int contact_print_contact_list(DIALER_CONTACTS_LIST_HEAD * head);
//int contact_string_has_sensentive(gchar* content,gchar *string);
-
#ifdef __cplusplus
}
#endif
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-autolist.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-autolist.c 2006-12-18 07:52:06 UTC (rev 424)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-autolist.c 2006-12-18 09:28:52 UTC (rev 425)
@@ -111,12 +111,20 @@
}
-
+/**
+ * @brief please call this function first before the autolist start to work.
+*/
gboolean moko_dialer_autolist_set_data (MokoDialerAutolist *moko_dialer_autolist,DIALER_CONTACTS_LIST_HEAD* head)
{
+/*
if(moko_dialer_autolist->head)
contact_release_contact_list(moko_dialer_autolist->head);
+ */
+
moko_dialer_autolist->head=head;
+
+contact_print_contact_list(moko_dialer_autolist->head);
+
return TRUE;
}
/**
@@ -135,6 +143,8 @@
DBG_ENTER();
+moko_dialer_autolist->g_alternatecount=count;
+
if(count>0)
{
//init the labels.
@@ -144,6 +154,7 @@
moko_dialer_tip_set_index(moko_dialer_autolist->tips[i],i);
gtk_widget_show(moko_dialer_autolist->tips[i]);
}
+
for(;i<MOKO_DIALER_MAX_TIPS;i++)
{
moko_dialer_tip_set_index(moko_dialer_autolist->tips[i],-1);
@@ -169,11 +180,13 @@
gint moko_dialer_autolist_refresh_by_string (MokoDialerAutolist *moko_dialer_autolist,gchar * string)
{
//first, we fill the ready list
- DIALER_CONTACT* contacts=moko_dialer_autolist->head->contacts;
+ DIALER_CONTACT* contacts;//=moko_dialer_autolist->head->contacts;
+
DIALER_CONTACT_ENTRY* entry;
int inserted=0;
+
int len;
@@ -181,22 +194,28 @@
len=strlen(string);
else
len=0;
- //DBG_TRACE();
+ DBG_TRACE();
- while(contacts!= NULL&&inserted<MOKO_DIALER_MAX_DISP_NAME_LEN)
+
+ contacts=moko_dialer_autolist->head->contacts;
+
+ DBG_MESSAGE("CONTACTS:%d,list at 0x%x,first at 0x%x",moko_dialer_autolist->head->length,moko_dialer_autolist->head,moko_dialer_autolist->head->contacts);
+
+ DBG_TRACE();
+ while(contacts!= NULL&&inserted<MOKO_DIALER_MAX_TIPS)
{
- // DBG_TRACE();
+ DBG_TRACE();
entry=contacts->entry;
// DBG_TRACE();
- while(entry!=NULL&&inserted<MOKO_DIALER_MAX_DISP_NAME_LEN)
+ while(entry!=NULL&&inserted<MOKO_DIALER_MAX_TIPS)
{
- // DBG_TRACE();
+ DBG_TRACE();
//judge if the entry includes the string
if(contact_string_has_sensentive(entry->content,string))
{
//if the person not inserted, then insert first
- //DBG_MESSAGE("%dth contacts:%s,%s,%s",inserted,contacts->name,entry->desc,entry->content);
+ DBG_MESSAGE("%dth contacts:%s,%s,%s",inserted,contacts->name,entry->desc,entry->content);
if(strlen(contacts->name)<=MOKO_DIALER_MAX_DISP_NAME_LEN)
strcpy(moko_dialer_autolist->readycontacts[inserted].name,contacts->name);
@@ -221,8 +240,8 @@
contacts= contacts->next;
}
- //DBG_LEAVE();
-
+
+DBG_MESSAGE("inserted=%d",inserted);
moko_dialer_autolist_fill_alternative(moko_dialer_autolist,inserted);
/*
if(ret>0&&autofill!=0)
@@ -230,6 +249,7 @@
else
setselected(text_view,0);
*/
+DBG_LEAVE();
return inserted;
}
@@ -239,9 +259,22 @@
DBG_ENTER();
MokoDialerAutolist *moko_dialer_autolist;
moko_dialer_autolist=(MokoDialerAutolist *)user_data;
+gint selected=moko_dialer_tip_get_index(tip);
+moko_dialer_tip_set_selected( tip, TRUE);
-DBG_MESSAGE("selected:%d",moko_dialer_tip_get_index(tip));
+if(selected!=-1)
+{
+ for(gint i=0;i<moko_dialer_autolist->g_alternatecount;i++)
+ {
+ if(i!=selected)
+ {//set selected to false;
+ moko_dialer_tip_set_selected( moko_dialer_autolist->tips[i], FALSE);
+ }
+ }
+}
+//emit new message for the textview to add string.
+
return FALSE;
}
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-autolist.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-autolist.h 2006-12-18 07:52:06 UTC (rev 424)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-autolist.h 2006-12-18 09:28:52 UTC (rev 425)
@@ -29,7 +29,11 @@
#include <gtk/gtksignal.h>
#include <gtk/gtktextview.h>
#include "moko-dialer-tip.h"
-#include "moko-dialer-includes.h"
+#include "moko-dialer-declares.h"
+#include "contacts.h"
+#include "history.h"
+//#include "moko-dialer-includes.h"
+
G_BEGIN_DECLS
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-includes.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-includes.h 2006-12-18 07:52:06 UTC (rev 424)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-includes.h 2006-12-18 09:28:52 UTC (rev 425)
@@ -102,14 +102,15 @@
{
//the global data area begins here
-HISTORY_LIST_HEAD g_historylist; ///< the whole list of the talk history
-DIALER_CONTACTS_LIST_HEAD g_contactlist; ///< the whole list of the contacts from the contact book.
-
MokoDialerTextview *moko_dialer_text_view;
MokoDialerAutolist *moko_dialer_autolist;
+DIALER_CONTACTS_LIST_HEAD g_contactlist; ///< the whole list of the contacts from the contact book.
+
+HISTORY_LIST_HEAD g_historylist; ///< the whole list of the talk history
+
GLOBAL_STATE g_state; ///< the global states holder. we count on it a lot.
gint g_ptimeout; ///< the timer hanle
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-textview.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-textview.c 2006-12-18 07:52:06 UTC (rev 424)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-textview.c 2006-12-18 09:28:52 UTC (rev 425)
@@ -283,7 +283,7 @@
//get the input section of the textview
//if ALL=true, get whole text
//else only get the inputed digits.
-int moko_dialer_textview_get_input(MokoDialerTextview *moko_dialer_textview,gchar** input,int ALL)
+int moko_dialer_textview_get_input(MokoDialerTextview *moko_dialer_textview,gchar* input,int ALL)
{
gchar* codestring;
GtkTextBuffer *buffer;
@@ -292,8 +292,8 @@
GtkTextIter insertiter;
GtkTextMark *insertmark;
+DBG_ENTER();
-
/* Obtaining the buffer associated with the widget. */
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (moko_dialer_textview));
@@ -306,16 +306,18 @@
if(gtk_text_iter_get_offset(&insertiter)==gtk_text_iter_get_offset(&start))
{
- strcpy(*input,"");
+ strcpy(input,"");
return 0;
}
-
+ DBG_TRACE();
if(ALL)
/* Get the entire buffer text. */
codestring = gtk_text_buffer_get_text (buffer, &start, &end,FALSE);
else
codestring = gtk_text_buffer_get_text (buffer, &start, &insertiter, FALSE);
-strcpy(*input,codestring);
+DBG_MESSAGE("%s",codestring);
+strcpy(input,codestring);
+ DBG_TRACE();
g_free(codestring);
return 1;
}
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-textview.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-textview.h 2006-12-18 07:52:06 UTC (rev 424)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-textview.h 2006-12-18 09:28:52 UTC (rev 425)
@@ -67,8 +67,8 @@
int moko_dialer_textview_insert(MokoDialerTextview *moko_dialer_textview, const gchar* number);
+int moko_dialer_textview_get_input(MokoDialerTextview *moko_dialer_textview,gchar* input,int ALL);
-
G_END_DECLS
#endif //
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-18 07:52:06 UTC (rev 424)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.c 2006-12-18 09:28:52 UTC (rev 425)
@@ -40,23 +40,30 @@
input[1]=0;
char codesinput[MOKO_DIALER_MAX_NUMBER_LEN];
+
MOKO_DIALER_APP_DATA * appdata=(MOKO_DIALER_APP_DATA*)user_data;
MokoDialerTextview *moko_dialer_text_view=appdata->moko_dialer_text_view;
+//DBG_TRACE();
moko_dialer_textview_insert(moko_dialer_text_view, input);
-moko_dialer_textview_get_input(moko_dialer_text_view,&codesinput, 0);
+//DBG_TRACE();
+moko_dialer_textview_get_input(moko_dialer_text_view,codesinput, 0);
+
+//DBG_MESSAGE("codesinput:%s,appdata->moko_dialer_autolist=0x%x",codesinput,appdata->moko_dialer_autolist);
+
moko_dialer_autolist_refresh_by_string(appdata->moko_dialer_autolist,codesinput);
-g_print("on_dialer_panel_user_input:%c\n", parac);
+//DBG_TRACE();
+//g_print("on_dialer_panel_user_input:%c\n", parac);
}
void
on_dialer_panel_user_hold(GtkWidget * widget,gchar parac,
gpointer user_data)
{
-g_print("on_dialer_panel_user_hold:%c\n", parac);
+//g_print("on_dialer_panel_user_hold:%c\n", parac);
}
@@ -70,6 +77,8 @@
/* Initialize GTK+ */
gtk_init( &argc, &argv );
+
+ //init application data
contact_init_contact_data(&(p_dialer_data->g_contactlist));
/* application object */
@@ -123,20 +132,23 @@
MokoDialerAutolist* autolist=moko_dialer_autolist_new();
+ moko_dialer_autolist_set_data (autolist,&(p_dialer_data->g_contactlist));
+ p_dialer_data->moko_dialer_autolist=autolist;
gtk_box_pack_start( GTK_BOX(vbox), GTK_WIDGET(autolist), TRUE, TRUE, 5 );
- p_dialer_data->moko_dialer_autolist=autolist;
+
+
+
moko_finger_window_set_contents( window, GTK_WIDGET(vbox) );
/* show everything and run main loop */
gtk_widget_show_all( GTK_WIDGET(window) );
- contact_release_contact_list(&(p_dialer_data->g_contactlist));
+ gtk_main();
- gtk_main();
-
+ contact_release_contact_list(&(p_dialer_data->g_contactlist));
return 0;
}
More information about the commitlog
mailing list