Changeset 1819
- Timestamp:
- 04/24/07 15:34:02 (6 years ago)
- Location:
- trunk/src/target/OM-2007/applications/openmoko-dialer/src
- Files:
-
- 23 edited
-
common.h (modified) (1 diff)
-
contacts.c (modified) (5 diffs)
-
dialergsm.c (modified) (2 diffs)
-
dialergsm.h (modified) (1 diff)
-
event.c (modified) (2 diffs)
-
history.c (modified) (3 diffs)
-
moko-dialer-autolist.c (modified) (5 diffs)
-
moko-dialer-autolist.h (modified) (2 diffs)
-
moko-dialer-panel.c (modified) (1 diff)
-
moko-dialer-status.c (modified) (2 diffs)
-
moko-dialer-status.h (modified) (1 diff)
-
moko-dialer-textview.c (modified) (3 diffs)
-
moko-dialer-textview.h (modified) (2 diffs)
-
moko-digit-button.c (modified) (3 diffs)
-
openmoko-dialer-main.c (modified) (8 diffs)
-
openmoko-dialer-main.h (modified) (1 diff)
-
openmoko-dialer-window-dialer.c (modified) (10 diffs)
-
openmoko-dialer-window-history.c (modified) (14 diffs)
-
openmoko-dialer-window-incoming.c (modified) (5 diffs)
-
openmoko-dialer-window-outgoing.c (modified) (10 diffs)
-
openmoko-dialer-window-outgoing.h (modified) (1 diff)
-
openmoko-dialer-window-pin.c (modified) (5 diffs)
-
openmoko-dialer-window-talking.c (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/target/OM-2007/applications/openmoko-dialer/src/common.h
r916 r1819 22 22 23 23 GdkPixbuf *create_pixbuf (const gchar * filename); 24 gchar *file_create_data_path_for_the_file (const gchar * filename);24 gchar *file_create_data_path_for_the_file (const gchar * filename); 25 25 gboolean file_load_person_image_from_relative_path (GtkWidget * widget, 26 26 char *rela_path); -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.c
r1528 r1819 323 323 gchar *name_or_org = e_contact_get_const (contact, E_CONTACT_NAME_OR_ORG); 324 324 gchar *phone; 325 if ((!name_or_org ) || (g_utf8_strlen (name_or_org, -1) <= 0))326 name_or_org = "Unnamed";325 if ((!name_or_org) || (g_utf8_strlen (name_or_org, -1) <= 0)) 326 name_or_org = "Unnamed"; 327 327 if (name_or_org) 328 328 { … … 434 434 if (number == 0) 435 435 return 0; 436 if (g_utf8_strlen (number, -1) == 0)436 if (g_utf8_strlen (number, -1) == 0) 437 437 return 0; 438 438 … … 493 493 if (peer->number == 0) 494 494 return 0; 495 if (g_utf8_strlen (peer->number, -1) == 0)495 if (g_utf8_strlen (peer->number, -1) == 0) 496 496 return 0; 497 497 … … 550 550 return 1; 551 551 552 if (g_utf8_strlen (string, -1) == 0)552 if (g_utf8_strlen (string, -1) == 0) 553 553 return 1; 554 if (g_utf8_strlen (string,-1) > g_utf8_strlen(content,-1))554 if (g_utf8_strlen (string, -1) > g_utf8_strlen (content, -1)) 555 555 return 0; 556 556 for (i = 0; string[i]; i++) … … 645 645 the html */ 646 646 647 if(photo)648 647 if (photo) 649 { 648 if (photo) 649 { 650 650 #ifdef HAVE_ECONTACT_PHOTO_TYPE 651 gdk_pixbuf_loader_write (loader, photo->data.inlined.data,652 photo->data.inlined.length, NULL);651 gdk_pixbuf_loader_write (loader, photo->data.inlined.data, 652 photo->data.inlined.length, NULL); 653 653 #else 654 gdk_pixbuf_loader_write (loader, photo->data, photo->length, NULL);654 gdk_pixbuf_loader_write (loader, photo->data, photo->length, NULL); 655 655 #endif 656 }656 } 657 657 658 658 gdk_pixbuf_loader_close (loader, NULL); -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialergsm.c
r1528 r1819 171 171 struct lgsm_addr addr; 172 172 addr.type = 129; 173 strncpy (addr.addr, number, g_utf8_strlen (number, -1));174 addr.addr[g_utf8_strlen (number, -1)] = '\0';173 strncpy (addr.addr, number, g_utf8_strlen (number, -1)); 174 addr.addr[g_utf8_strlen (number, -1)] = '\0'; 175 175 return lgsm_voice_out_init (lgsmh, &addr); 176 176 … … 288 288 lgsm_voice_dtmf (lgsmh, dtmf); 289 289 } 290 290 291 #define PIN_SIZE 32 291 292 292 293 static int 293 gsm_pin_handler (struct lgsm_handle *lh, int evt, struct gsmd_evt_auxdata *aux) 294 { 295 294 gsm_pin_handler (struct lgsm_handle *lh, int evt, 295 struct gsmd_evt_auxdata *aux) 296 { 297 296 298 int rc; 297 299 298 300 printf ("EVENT: PIN request (type=%u) ", aux->u.pin.type); 299 301 300 gsm_pin_require (lh);302 gsm_pin_require (lh); 301 303 302 304 -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialergsm.h
r916 r1819 100 100 */ 101 101 102 void gsm_pin_require();102 void gsm_pin_require (); 103 103 104 104 void *gsm_monitor_thread (struct lgsm_handle *lgsmh); -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/event.c
r1298 r1819 129 129 switch (aux->u.netreg.state) 130 130 { 131 case GSMD_NETREG_NONE:132 printf ("not searching for network ");133 break;134 case 1:135 printf ("registered (home network) ");136 break;131 case GSMD_NETREG_NONE: 132 printf ("not searching for network "); 133 break; 134 case 1: 135 printf ("registered (home network) "); 136 break; 137 137 /* 138 138 * FIXME: these are not defined in gsmd/event.h 139 139 * 140 case 2:141 printf ("searching for network ");142 break;143 case 3:144 printf ("registration denied ");145 break;146 case 5:147 printf ("registered (roaming) ");148 break;140 case 2: 141 printf ("searching for network "); 142 break; 143 case 3: 144 printf ("registration denied "); 145 break; 146 case 5: 147 printf ("registered (roaming) "); 148 break; 149 149 * 150 150 * … … 221 221 { 222 222 // if (aux->u.call_status.dir == GSMD_CALL_DIR_MO) 223 gsm_peer_disconnect ();223 gsm_peer_disconnect (); 224 224 225 225 } -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/history.c
r1654 r1819 175 175 // DBG_MESSAGE("pentry add:0X%x",pentry); 176 176 177 if (name && g_utf8_strlen (name,-1) > 0)178 { 179 pentry->name = (char *) calloc (1, g_utf8_strlen (name, -1) + 1);177 if (name && g_utf8_strlen (name, -1) > 0) 178 { 179 pentry->name = (char *) calloc (1, g_utf8_strlen (name, -1) + 1); 180 180 g_stpcpy (pentry->name, name); 181 181 pentry->hasname = 1; … … 187 187 } 188 188 189 if (number && g_utf8_strlen (number, -1) > 0)190 { 191 pentry->number = (char *) calloc (1, g_utf8_strlen (number, -1) + 1);189 if (number && g_utf8_strlen (number, -1) > 0) 190 { 191 pentry->number = (char *) calloc (1, g_utf8_strlen (number, -1) + 1); 192 192 g_stpcpy (pentry->number, number); 193 193 } … … 201 201 //DBG_MESSAGE("History add:0X%x,%s,%s,%s,%s,%s,%d",historyhead,name,number,picpath,time,date,durationsec); 202 202 203 if (id && g_utf8_strlen (id, -1) > 0)204 { 205 pentry->ID = (char *) calloc (1, g_utf8_strlen (id, -1) + 1);203 if (id && g_utf8_strlen (id, -1) > 0) 204 { 205 pentry->ID = (char *) calloc (1, g_utf8_strlen (id, -1) + 1); 206 206 g_stpcpy (pentry->ID, id); 207 207 } 208 if (time && g_utf8_strlen (time, -1) > 0)209 { 210 pentry->time = (char *) calloc (1, g_utf8_strlen (time,-1) + 1);208 if (time && g_utf8_strlen (time, -1) > 0) 209 { 210 pentry->time = (char *) calloc (1, g_utf8_strlen (time, -1) + 1); 211 211 g_stpcpy (pentry->time, time); 212 212 } -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-autolist.c
r1528 r1819 98 98 moko_dialer_autolist->g_alternatecount = 0; 99 99 moko_dialer_autolist->imagePerson = 0; 100 moko_dialer_autolist->g_alternatecount_last_time =0;101 moko_dialer_autolist->g_last_string[0] =0;///<memorize last sensentive string.100 moko_dialer_autolist->g_alternatecount_last_time = 0; 101 moko_dialer_autolist->g_last_string[0] = 0; ///<memorize last sensentive string. 102 102 103 103 gtk_widget_set_size_request (GTK_WIDGET (moko_dialer_autolist), 480, 40); … … 231 231 gchar *filepath; 232 232 if ((filepath = 233 file_create_data_path_for_the_file (MOKO_DIALER_DEFAULT_PERSON_IMAGE_PATH))) 233 file_create_data_path_for_the_file 234 (MOKO_DIALER_DEFAULT_PERSON_IMAGE_PATH))) 234 235 { 235 236 imagePerson = gtk_image_new_from_file (filepath); … … 258 259 moko_dialer_tip_set_selected (tip, FALSE); 259 260 260 gtk_box_pack_start (GTK_BOX (moko_dialer_autolist), tip, TRUE, 261 TRUE, 0); 261 gtk_box_pack_start (GTK_BOX (moko_dialer_autolist), tip, TRUE, TRUE, 0); 262 262 // gtk_box_pack_start(GTK_CONTAINER(moko_dialer_autolist), tip, FALSE,FALSE, 0); 263 263 // gtk_box_pack_start(GTK_CONTAINER(moko_dialer_autolist), tip, FALSE,TRUE, 0); … … 276 276 moko_dialer_autolist->tipscreated = TRUE; 277 277 } 278 //if last time, we searched ,so we want to know if the last results can be used for this time. 279 int included=contact_string_has_sensentive(string,moko_dialer_autolist->g_last_string)&&(g_utf8_strlen (moko_dialer_autolist->g_last_string, -1) >= MOKO_DIALER_MIN_SENSATIVE_LEN); 280 281 if(included&&(moko_dialer_autolist->g_alternatecount_last_time==0)){ 282 inserted=0; 283 DBG_MESSAGE("NO NEED TO SEARCH ANYMORE"); 284 //last result is null, so we save time by not searching it at all. 285 } 286 else if(included&&(moko_dialer_autolist->g_alternatecount_last_time<MOKO_DIALER_MAX_TIPS)){ 287 //we search last result here. 288 //now we start from the end of the list. 289 int i=moko_dialer_autolist->g_alternatecount_last_time-1; 290 DBG_MESSAGE("we search the last resutls."); 291 while(i>=0&&i>=inserted){ 292 //here inserted stands as the next inserted position. 293 294 if (contact_string_has_sensentive (moko_dialer_autolist->readycontacts[i].p_entry->content, string)) 295 { 296 DBG_MESSAGE("find one match."); 297 //we use the idle readycontacts[MOKO_DIALER_MAX_TIPS] for exchange space,to swap the 2 items. 298 if(i>inserted) 299 { 300 moko_dialer_autolist->readycontacts[MOKO_DIALER_MAX_TIPS].p_entry=moko_dialer_autolist->readycontacts[inserted].p_entry; 301 moko_dialer_autolist->readycontacts[MOKO_DIALER_MAX_TIPS].p_contact=moko_dialer_autolist->readycontacts[inserted].p_contact; 302 moko_dialer_autolist->readycontacts[inserted].p_entry=moko_dialer_autolist->readycontacts[i].p_entry; 303 moko_dialer_autolist->readycontacts[inserted].p_contact=moko_dialer_autolist->readycontacts[i].p_contact; 304 moko_dialer_autolist->readycontacts[i].p_entry=moko_dialer_autolist->readycontacts[MOKO_DIALER_MAX_TIPS].p_entry; 305 moko_dialer_autolist->readycontacts[i].p_contact=moko_dialer_autolist->readycontacts[MOKO_DIALER_MAX_TIPS].p_contact; 306 } 307 inserted++; 308 } 309 else 310 { 311 //we just move the point back. 312 i--; 313 } 314 278 //if last time, we searched ,so we want to know if the last results can be used for this time. 279 int included = contact_string_has_sensentive (string, 280 moko_dialer_autolist-> 281 g_last_string) 282 && (g_utf8_strlen (moko_dialer_autolist->g_last_string, -1) >= 283 MOKO_DIALER_MIN_SENSATIVE_LEN); 284 285 if (included && (moko_dialer_autolist->g_alternatecount_last_time == 0)) 286 { 287 inserted = 0; 288 DBG_MESSAGE ("NO NEED TO SEARCH ANYMORE"); 289 //last result is null, so we save time by not searching it at all. 290 } 291 else if (included 292 && (moko_dialer_autolist->g_alternatecount_last_time < 293 MOKO_DIALER_MAX_TIPS)) 294 { 295 //we search last result here. 296 //now we start from the end of the list. 297 int i = moko_dialer_autolist->g_alternatecount_last_time - 1; 298 DBG_MESSAGE ("we search the last resutls."); 299 while (i >= 0 && i >= inserted) 300 { 301 //here inserted stands as the next inserted position. 302 303 if (contact_string_has_sensentive 304 (moko_dialer_autolist->readycontacts[i].p_entry->content, string)) 305 { 306 DBG_MESSAGE ("find one match."); 307 //we use the idle readycontacts[MOKO_DIALER_MAX_TIPS] for exchange space,to swap the 2 items. 308 if (i > inserted) 309 { 310 moko_dialer_autolist->readycontacts[MOKO_DIALER_MAX_TIPS]. 311 p_entry = moko_dialer_autolist->readycontacts[inserted].p_entry; 312 moko_dialer_autolist->readycontacts[MOKO_DIALER_MAX_TIPS]. 313 p_contact = 314 moko_dialer_autolist->readycontacts[inserted].p_contact; 315 moko_dialer_autolist->readycontacts[inserted].p_entry = 316 moko_dialer_autolist->readycontacts[i].p_entry; 317 moko_dialer_autolist->readycontacts[inserted].p_contact = 318 moko_dialer_autolist->readycontacts[i].p_contact; 319 moko_dialer_autolist->readycontacts[i].p_entry = 320 moko_dialer_autolist->readycontacts[MOKO_DIALER_MAX_TIPS].p_entry; 321 moko_dialer_autolist->readycontacts[i].p_contact = 322 moko_dialer_autolist->readycontacts[MOKO_DIALER_MAX_TIPS]. 323 p_contact; 315 324 } 316 317 } 318 else{ 325 inserted++; 326 } 327 else 328 { 329 //we just move the point back. 330 i--; 331 } 332 333 } 334 335 } 336 else 337 { 319 338 //we had to search all the contact list. may be we can improve the performance by draw every suitalbe items to be the first of the list. 320 339 contacts = moko_dialer_autolist->head->contacts; 321 340 322 DBG_MESSAGE("we search the whole contact list."); 323 while (contacts != NULL && inserted < MOKO_DIALER_MAX_TIPS) 324 { 325 entry = contacts->entry; 326 while (entry != NULL && inserted < MOKO_DIALER_MAX_TIPS) 327 { 328 //judge if the entry includes the string 329 if (contact_string_has_sensentive (entry->content, string)) 341 DBG_MESSAGE ("we search the whole contact list."); 342 while (contacts != NULL && inserted < MOKO_DIALER_MAX_TIPS) 343 { 344 entry = contacts->entry; 345 while (entry != NULL && inserted < MOKO_DIALER_MAX_TIPS) 330 346 { 331 DBG_MESSAGE("find one match from the whole list."); 332 //if the person not inserted, then insert first 333 moko_dialer_autolist->readycontacts[inserted].p_contact = contacts; 334 moko_dialer_autolist->readycontacts[inserted].p_entry = entry; 335 inserted++; 336 //break; 347 //judge if the entry includes the string 348 if (contact_string_has_sensentive (entry->content, string)) 349 { 350 DBG_MESSAGE ("find one match from the whole list."); 351 //if the person not inserted, then insert first 352 moko_dialer_autolist->readycontacts[inserted].p_contact = contacts; 353 moko_dialer_autolist->readycontacts[inserted].p_entry = entry; 354 inserted++; 355 //break; 356 } 357 entry = entry->next; 337 358 } 338 entry = entry->next; 339 } 340 341 contacts = contacts->next; 342 343 } 344 345 }// 346 strcpy(moko_dialer_autolist->g_last_string,string); 347 moko_dialer_autolist->g_alternatecount_last_time=inserted; 359 360 contacts = contacts->next; 361 362 } 363 364 } // 365 strcpy (moko_dialer_autolist->g_last_string, string); 366 moko_dialer_autolist->g_alternatecount_last_time = inserted; 348 367 349 368 //DBG_MESSAGE("inserted=%d",inserted); … … 440 459 // file_load_person_image_from_relative_path(moko_dialer_autolist->imagePerson,moko_dialer_autolist->readycontacts[selected].p_contact->picpath); 441 460 // file_load_person_image_scalable_from_relative_path(moko_dialer_autolist->imagePerson,moko_dialer_autolist->readycontacts[selected].p_contact->picpath); 442 contact_load_contact_photo (GTK_IMAGE (moko_dialer_autolist->imagePerson), 461 contact_load_contact_photo (GTK_IMAGE 462 (moko_dialer_autolist->imagePerson), 443 463 moko_dialer_autolist-> 444 464 readycontacts[selected].p_contact->ID); -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-autolist.h
r1528 r1819 57 57 DIALER_READY_CONTACT readycontacts[MOKO_DIALER_MAX_TIPS]; ///<the prepared contact list which will display to the user when he/she inputs part of the digits he/she wants to dial out 58 58 59 gint g_alternatecount_last_time; ///<indicate how many alternatives that we had from last search.59 gint g_alternatecount_last_time; ///<indicate how many alternatives that we had from last search. 60 60 61 gchar g_last_string[MOKO_DIALER_MAX_NUMBER_LEN]; ///<memorize last sensentive string.61 gchar g_last_string[MOKO_DIALER_MAX_NUMBER_LEN]; ///<memorize last sensentive string. 62 62 63 63 gboolean selected; ///<indicates wether some tip is currently selected. … … 104 104 gint moko_dialer_autolist_hide_all_tips (MokoDialerAutolist * 105 105 moko_dialer_autolist); 106 gboolean moko_dialer_autolist_set_data (MokoDialerAutolist * moko_dialer_autolist, 106 gboolean moko_dialer_autolist_set_data (MokoDialerAutolist * 107 moko_dialer_autolist, 107 108 DIALER_CONTACTS_LIST_HEAD * head); 108 109 G_END_DECLS -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-panel.c
r965 r1819 28 28 //forward definition 29 29 static gboolean moko_dialer_panel_pressed (MokoDigitButton * button, 30 GdkEventButton * event,31 gpointer data);30 GdkEventButton * event, 31 gpointer data); 32 32 33 33 static gint moko_dialer_panel_signals[LAST_SIGNAL] = { 0 }; -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-status.c
r916 r1819 162 162 //file_load_person_image_from_relative_path(moko_dialer_status->imagePerson,path); 163 163 164 contact_load_contact_photo (GTK_IMAGE (moko_dialer_status->imagePerson), id); 164 contact_load_contact_photo (GTK_IMAGE (moko_dialer_status->imagePerson), 165 id); 165 166 //file_load_person_image_scalable_from_relative_path(moko_dialer_status->imagePerson,path); 166 167 } … … 172 173 if (moko_dialer_status->number_of_the_icons < MOKO_DIALER_MAX_STATUS_ICONS) 173 174 { 174 moko_dialer_status->iconStatus[moko_dialer_status->number_of_the_icons] = 175 moko_dialer_status->iconStatus[moko_dialer_status-> 176 number_of_the_icons] = 175 177 create_pixbuf (text); 176 178 -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-status.h
r916 r1819 98 98 int moko_dialer_status_add_status_icon (MokoDialerStatus * moko_dialer_status, 99 99 const gchar * text); 100 void moko_dialer_status_set_icon_by_index (MokoDialerStatus * moko_dialer_status,101 gint index);100 void moko_dialer_status_set_icon_by_index (MokoDialerStatus * 101 moko_dialer_status, gint index); 102 102 103 103 -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-textview.c
r916 r1819 35 35 //static gint moko_dialer_textview_signals[LAST_SIGNAL] = { 0 }; 36 36 37 static void38 moko_dialer_textview_class_init (MokoDialerTextviewClass * class)37 static void 38 moko_dialer_textview_class_init (MokoDialerTextviewClass * class) 39 39 { 40 40 … … 156 156 157 157 gtk_text_buffer_get_iter_at_offset (buffer, &cursoriter_1, cur - 1); 158 gtk_text_buffer_apply_tag (buffer, moko_dialer_textview->tag_for_inputed, 158 gtk_text_buffer_apply_tag (buffer, 159 moko_dialer_textview->tag_for_inputed, 159 160 &start, &cursoriter); 160 161 gtk_text_buffer_apply_tag (buffer, … … 255 256 { 256 257 257 gtk_text_buffer_insert_at_cursor (buffer, number, g_utf8_strlen (number, -1)); 258 gtk_text_buffer_insert_at_cursor (buffer, number, 259 g_utf8_strlen (number, -1)); 258 260 len = len + g_utf8_strlen (number, -1); 259 261 } -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-dialer-textview.h
r916 r1819 64 64 const gchar * number); 65 65 66 gchar *moko_dialer_textview_get_input (MokoDialerTextview * moko_dialer_textview, 66 gchar *moko_dialer_textview_get_input (MokoDialerTextview * 67 moko_dialer_textview, 67 68 gboolean all_text); 68 69 int moko_dialer_textview_empty (MokoDialerTextview * moko_dialer_textview); … … 70 71 gchar * string); 71 72 int moko_dialer_textview_delete (MokoDialerTextview * moko_dialer_textview); 72 void moko_dialer_textview_set_color (MokoDialerTextview * moko_dialer_textview); 73 gint moko_dialer_textview_confirm_it (MokoDialerTextview * moko_dialer_textview, 73 void moko_dialer_textview_set_color (MokoDialerTextview * 74 moko_dialer_textview); 75 gint moko_dialer_textview_confirm_it (MokoDialerTextview * 76 moko_dialer_textview, 74 77 const gchar * string); 75 78 -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/moko-digit-button.c
r1656 r1819 63 63 64 64 PangoFontDescription *font_desc_label = 0; 65 font_desc_label = pango_font_description_new (); 65 font_desc_label = pango_font_description_new (); 66 66 MokoDigitButton *digitbutton = 67 67 (MokoDigitButton *) g_object_new (MOKO_TYPE_DIGIT_BUTTON, NULL); … … 69 69 gtk_widget_show (GTK_WIDGET (digitbutton)); 70 70 gtk_widget_set_size_request (GTK_WIDGET (digitbutton), 64, 64); 71 GTK_WIDGET_UNSET_FLAGS ( GTK_WIDGET(digitbutton), GTK_CAN_FOCUS);71 GTK_WIDGET_UNSET_FLAGS (GTK_WIDGET (digitbutton), GTK_CAN_FOCUS); 72 72 // GtkWidget * hbox = gtk_hbox_new (TRUE, 0); 73 73 GtkWidget *hbox = gtk_hbox_new (FALSE, 0); … … 96 96 MokoDigitButtonPrivate *priv = 97 97 (MokoDigitButtonPrivate *) MOKO_DIGIT_BUTTON_GET_PRIVATE (digitbutton); 98 //set the fonts of each side.99 pango_font_description_set_size (font_desc_label, 32 * PANGO_SCALE);98 //set the fonts of each side. 99 pango_font_description_set_size (font_desc_label, 32 * PANGO_SCALE); 100 100 if (font_desc_label) 101 gtk_widget_modify_font (labelDigit , 102 font_desc_label); 103 pango_font_description_set_size (font_desc_label, 10*PANGO_SCALE); 101 gtk_widget_modify_font (labelDigit, font_desc_label); 102 pango_font_description_set_size (font_desc_label, 10 * PANGO_SCALE); 104 103 if (font_desc_label) 105 gtk_widget_modify_font (labelAcrobat, 106 font_desc_label); 107 108 if(font_desc_label) 109 pango_font_description_free(font_desc_label); 110 104 gtk_widget_modify_font (labelAcrobat, font_desc_label); 105 106 if (font_desc_label) 107 pango_font_description_free (font_desc_label); 108 111 109 priv->labelDigit = labelDigit; 112 110 priv->labelAcrobat = labelAcrobat; -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.c
r1358 r1819 50 50 moko_get_app_data () 51 51 { 52 return p_dialer_data; 53 } 54 void gsm_pin_require(struct lgsm_handle *lh) 55 { 56 MOKO_DIALER_APP_DATA* appdata=moko_get_app_data(); 57 58 if(appdata) 59 { 60 appdata->lh=lh; 61 gtk_widget_show(appdata->window_pin); 62 } 63 else 64 { 65 DBG_ERROR("gui failed to initialize.try another time."); 66 } 67 68 69 } 70 void gsm_incoming_call(gchar * number) 71 { 72 73 MOKO_DIALER_APP_DATA* appdata=moko_get_app_data(); 74 75 if(appdata) 76 { 52 return p_dialer_data; 53 } 54 55 void 56 gsm_pin_require (struct lgsm_handle *lh) 57 { 58 MOKO_DIALER_APP_DATA *appdata = moko_get_app_data (); 59 60 if (appdata) 61 { 62 appdata->lh = lh; 63 gtk_widget_show (appdata->window_pin); 64 } 65 else 66 { 67 DBG_ERROR ("gui failed to initialize.try another time."); 68 } 69 70 71 } 72 void 73 gsm_incoming_call (gchar * number) 74 { 75 76 MOKO_DIALER_APP_DATA *appdata = moko_get_app_data (); 77 78 if (appdata) 79 { 77 80 //first, we should remove the "" from the number. 78 char* temp=NULL; 79 int start=0; 80 int end=strlen(number)-1; 81 while(number[start]=='\"'&&start<end)start++; 82 if(end>0)while(number[end]=='\"'&&start<end)end--; 83 84 g_return_if_fail(start<=end); 85 86 DBG_MESSAGE("START=%d,END=%d",start,end); 87 temp=g_strndup(number+start,end-start+1); 88 89 g_return_if_fail(temp!=NULL); 90 91 DBG_MESSAGE("%s",temp); 81 char *temp = NULL; 82 int start = 0; 83 int end = strlen (number) - 1; 84 while (number[start] == '\"' && start < end) 85 start++; 86 if (end > 0) 87 while (number[end] == '\"' && start < end) 88 end--; 89 90 g_return_if_fail (start <= end); 91 92 DBG_MESSAGE ("START=%d,END=%d", start, end); 93 temp = g_strndup (number + start, end - start + 1); 94 95 g_return_if_fail (temp != NULL); 96 97 DBG_MESSAGE ("%s", temp); 92 98 93 99 //got the number; 94 g_stpcpy(appdata->g_peer_info.number,temp);95 96 g_free(temp);100 g_stpcpy (appdata->g_peer_info.number, temp); 101 102 g_free (temp); 97 103 //retrieve the contact information if any. 98 contact_get_peer_info_from_number(appdata->g_contactlist.contacts , &(appdata->g_peer_info)); 104 contact_get_peer_info_from_number (appdata->g_contactlist.contacts, 105 &(appdata->g_peer_info)); 99 106 // contact_get_peer_info_from_number 100 107 101 108 102 109 //transfer the contact info 103 window_incoming_prepare(appdata); 104 105 gtk_widget_show(appdata->window_incoming); 106 } 107 else 108 { 109 DBG_ERROR("gui failed to initialize.try another time."); 110 } 111 112 113 } 114 115 void gsm_peer_accept() 116 { 117 MOKO_DIALER_APP_DATA* appdata=moko_get_app_data(); 118 DBG_ENTER(); 110 window_incoming_prepare (appdata); 111 112 gtk_widget_show (appdata->window_incoming); 113 } 114 else 115 { 116 DBG_ERROR ("gui failed to initialize.try another time."); 117 } 118 119 120 } 121 122 void 123 gsm_peer_accept () 124 { 125 MOKO_DIALER_APP_DATA *appdata = moko_get_app_data (); 126 DBG_ENTER (); 119 127 //moko_dialer_status_update_icon(appdata->status_outgoing); 120 128 121 129 122 appdata->g_state.callstate=STATE_TALKING;123 124 gtk_widget_hide(appdata->window_outgoing);130 appdata->g_state.callstate = STATE_TALKING; 131 132 gtk_widget_hide (appdata->window_outgoing); 125 133 126 134 127 135 //transfer the contact info 128 window_talking_prepare(appdata);136 window_talking_prepare (appdata); 129 137 130 138 //start talking. 131 139 132 gtk_widget_show(appdata->window_talking); 133 134 135 DBG_LEAVE(); 136 } 137 138 void gsm_peer_refuse() 139 { 140 MOKO_DIALER_APP_DATA* appdata=moko_get_app_data(); 141 window_outgoing_fails(appdata); 142 } 143 144 void gsm_peer_abort() 145 { 146 147 MOKO_DIALER_APP_DATA* appdata=moko_get_app_data(); 148 if(appdata->window_incoming) 149 gtk_widget_hide(appdata->window_incoming); 150 151 152 } 153 154 void gsm_peer_disconnect() 155 { 156 157 MOKO_DIALER_APP_DATA* appdata=moko_get_app_data(); 158 gsm_hangup(); 159 if(appdata->window_talking)gtk_widget_hide(appdata->window_talking); 160 if(appdata->window_outgoing)gtk_widget_hide(appdata->window_outgoing); 161 if(appdata->window_incoming)gtk_widget_hide(appdata->window_incoming); 162 163 } 164 165 166 167 static void 140 gtk_widget_show (appdata->window_talking); 141 142 143 DBG_LEAVE (); 144 } 145 146 void 147 gsm_peer_refuse () 148 { 149 MOKO_DIALER_APP_DATA *appdata = moko_get_app_data (); 150 window_outgoing_fails (appdata); 151 } 152 153 void 154 gsm_peer_abort () 155 { 156 157 MOKO_DIALER_APP_DATA *appdata = moko_get_app_data (); 158 if (appdata->window_incoming) 159 gtk_widget_hide (appdata->window_incoming); 160 161 162 } 163 164 void 165 gsm_peer_disconnect () 166 { 167 168 MOKO_DIALER_APP_DATA *appdata = moko_get_app_data (); 169 gsm_hangup (); 170 if (appdata->window_talking) 171 gtk_widget_hide (appdata->window_talking); 172 if (appdata->window_outgoing) 173 gtk_widget_hide (appdata->window_outgoing); 174 if (appdata->window_incoming) 175 gtk_widget_hide (appdata->window_incoming); 176 177 } 178 179 180 181 static void 168 182 handle_sigusr1 (int value) 169 183 { 170 DBG_ENTER(); 171 MOKO_DIALER_APP_DATA* p_data=moko_get_app_data(); 172 if(!p_data)return; 173 GtkWidget* mainwindow=p_data->window_present; 174 if(mainwindow==0) 175 mainwindow=p_data->window_dialer; 176 184 DBG_ENTER (); 185 MOKO_DIALER_APP_DATA *p_data = moko_get_app_data (); 186 if (!p_data) 187 return; 188 GtkWidget *mainwindow = p_data->window_present; 189 if (mainwindow == 0) 190 mainwindow = p_data->window_dialer; 191 177 192 if (mainwindow == NULL) 178 {179 return;180 }193 { 194 return; 195 } 181 196 gtk_widget_show_all (mainwindow); 182 197 gtk_window_present (GTK_WINDOW (mainwindow)); 183 DBG_TRACE ();198 DBG_TRACE (); 184 199 signal (SIGUSR1, handle_sigusr1); 185 DBG_LEAVE ();186 } 187 188 static pid_t 200 DBG_LEAVE (); 201 } 202 203 static pid_t 189 204 testlock (char *fname) 190 205 { … … 194 209 fd = open (fname, O_WRONLY, S_IWUSR); 195 210 if (fd < 0) 211 { 212 if (errno == ENOENT) 196 213 { 197 if (errno == ENOENT) 198 { 199 return 0; 200 } 201 else 202 { 203 perror ("Test lock open file"); 204 return -1; 205 } 214 return 0; 206 215 } 216 else 217 { 218 perror ("Test lock open file"); 219 return -1; 220 } 221 } 207 222 208 223 fl.l_type = F_WRLCK; … … 212 227 213 228 if (fcntl (fd, F_GETLK, &fl) < 0) 214 {215 close (fd);216 return -1;217 }229 { 230 close (fd); 231 return -1; 232 } 218 233 close (fd); 219 234 … … 224 239 } 225 240 226 static void 241 static void 227 242 setlock (char *fname) 228 243 { … … 230 245 struct flock fl; 231 246 232 fd = open (fname, O_WRONLY |O_CREAT, S_IWUSR);247 fd = open (fname, O_WRONLY | O_CREAT, S_IWUSR); 233 248 if (fd < 0) 234 {235 perror ("Set lock open file");236 return;237 }249 { 250 perror ("Set lock open file"); 251 return; 252 } 238 253 239 254 fl.l_type = F_WRLCK; … … 243 258 244 259 if (fcntl (fd, F_SETLK, &fl) < 0) 245 {246 perror ("Lock file");247 close (fd);248 }260 { 261 perror ("Lock file"); 262 close (fd); 263 } 249 264 } 250 265 251 266 static gboolean show_gui; 252 267 253 static GOptionEntry entries[] = 254 { 255 { "show-gui", 's', 0, G_OPTION_ARG_NONE, &show_gui, "Show the GUI at startup (default off)", "N"},256 { NULL}268 static GOptionEntry entries[] = { 269 {"show-gui", 's', 0, G_OPTION_ARG_NONE, &show_gui, 270 "Show the GUI at startup (default off)", "N"}, 271 {NULL} 257 272 }; 258 273 259 274 260 int main( int argc, char** argv ) 261 { 262 pid_t lockapp; 263 264 /* Initialize GTK+ */ 265 gtk_init( &argc, &argv ); 266 267 if (argc != 1) 268 { 269 /* Add init code. */ 270 GError *error = NULL; 271 GOptionContext *context = g_option_context_new (""); 272 273 g_option_context_add_main_entries (context, entries, NULL); 274 g_option_context_add_group (context, gtk_get_option_group (TRUE)); 275 g_option_context_parse (context, &argc, &argv, &error); 276 277 g_option_context_free (context); 278 } 275 int 276 main (int argc, char **argv) 277 { 278 pid_t lockapp; 279 280 /* Initialize GTK+ */ 281 gtk_init (&argc, &argv); 282 283 if (argc != 1) 284 { 285 /* Add init code. */ 286 GError *error = NULL; 287 GOptionContext *context = g_option_context_new (""); 288 289 g_option_context_add_main_entries (context, entries, NULL); 290 g_option_context_add_group (context, gtk_get_option_group (TRUE)); 291 g_option_context_parse (context, &argc, &argv, &error); 292 293 g_option_context_free (context); 294 } 279 295 //FIXME: the following lines to enable unique instance will be changed. 280 296 lockapp = testlock ("/tmp/dialer.lock"); 281 297 if (lockapp > 0) 282 {283 kill (lockapp, SIGUSR1);284 return 0;285 }298 { 299 kill (lockapp, SIGUSR1); 300 return 0; 301 } 286 302 setlock ("/tmp/dialer.lock"); 287 303 288 304 289 p_dialer_data=calloc(1,sizeof(MOKO_DIALER_APP_DATA));290 291 //init application data292 contact_init_contact_data(&(p_dialer_data->g_contactlist));293 history_init_history_data(&(p_dialer_data->g_historylist));294 295 296 /* application object */305 p_dialer_data = calloc (1, sizeof (MOKO_DIALER_APP_DATA)); 306 307 //init application data 308 contact_init_contact_data (&(p_dialer_data->g_contactlist)); 309 history_init_history_data (&(p_dialer_data->g_historylist)); 310 311 312 /* application object */ 297 313 // MokoApplication* app = MOKO_APPLICATION(moko_application_get_instance()); 298 g_set_application_name( "OpenMoko Dialer");314 g_set_application_name ("OpenMoko Dialer"); 299 315 300 316 … … 303 319 304 320 305 GMainLoop* mainloop=0;306 mainloop = g_main_loop_new(NULL, FALSE);307 p_dialer_data->mainloop=mainloop;308 309 signal (SIGUSR1, handle_sigusr1);321 GMainLoop *mainloop = 0; 322 mainloop = g_main_loop_new (NULL, FALSE); 323 p_dialer_data->mainloop = mainloop; 324 325 signal (SIGUSR1, handle_sigusr1); 310 326 //init the dialer window 311 window_dialer_init(p_dialer_data); 312 window_incoming_init(p_dialer_data); 313 window_pin_init(p_dialer_data); 314 window_outgoing_init(p_dialer_data); 315 window_history_init(p_dialer_data); 316 DBG_MSG ("\nusage: \"openmoko-dialer\" will not show any GUI initialy until you reactivate the app using another \"openmoko-dialer\" command"); 317 318 if (show_gui) 319 { 320 handle_sigusr1 (SIGUSR1); 321 } 327 window_dialer_init (p_dialer_data); 328 window_incoming_init (p_dialer_data); 329 window_pin_init (p_dialer_data); 330 window_outgoing_init (p_dialer_data); 331 window_history_init (p_dialer_data); 332 DBG_MSG 333 ("\nusage: \"openmoko-dialer\" will not show any GUI initialy until you reactivate the app using another \"openmoko-dialer\" command"); 334 335 if (show_gui) 336 { 337 handle_sigusr1 (SIGUSR1); 338 } 322 339 323 340 //from now on we will not use multithreads. 324 gsm_lgsm_start (mainloop);341 gsm_lgsm_start (mainloop); 325 342 326 343 //for debug only>> … … 328 345 //<<for debug only 329 346 330 g_main_loop_run (mainloop);347 g_main_loop_run (mainloop); 331 348 332 349 333 350 //release everything 334 contact_release_contact_list(&(p_dialer_data->g_contactlist)); 335 336 history_release_history_list(&(p_dialer_data->g_historylist)); 337 return 0; 338 } 339 351 contact_release_contact_list (&(p_dialer_data->g_contactlist)); 352 353 history_release_history_list (&(p_dialer_data->g_historylist)); 354 return 0; 355 } -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-main.h
r1401 r1819 38 38 GMainLoop *mainloop; 39 39 40 char str_sim_pin[MOKO_DIALER_MAX_PIN_LEN +1];40 char str_sim_pin[MOKO_DIALER_MAX_PIN_LEN + 1]; 41 41 gint int_sim_pin_end_point; 42 42 MokoDialerTextview *moko_dialer_text_view; ///<the textview for the dialer window -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-dialer.c
r1528 r1819 66 66 if (g_utf8_strlen (codesinput, -1) >= MOKO_DIALER_MIN_SENSATIVE_LEN) 67 67 { 68 moko_dialer_autolist_refresh_by_string (appdata->moko_dialer_autolist, 68 moko_dialer_autolist_refresh_by_string (appdata-> 69 moko_dialer_autolist, 69 70 codesinput, FALSE); 70 71 moko_dialer_textview_set_color (appdata->moko_dialer_text_view); … … 103 104 g_strdup (moko_dialer_textview_get_input 104 105 (appdata->moko_dialer_text_view, FALSE)); 105 DBG_TRACE(); 106 if ((!codesinput)||((codesinput!=NULL)&&g_utf8_strlen (codesinput, -1) )< 1) 106 DBG_TRACE (); 107 if ((!codesinput) 108 || ((codesinput != NULL) && g_utf8_strlen (codesinput, -1)) < 1) 107 109 { 108 110 //user didn't input anything, maybe it's a redial, so we just insert the last dialed number and return this time. … … 111 113 moko_dialer_textview_insert (appdata->moko_dialer_text_view, 112 114 appdata->g_state.lastnumber); 113 moko_dialer_autolist_refresh_by_string (appdata->moko_dialer_autolist, 115 moko_dialer_autolist_refresh_by_string (appdata-> 116 moko_dialer_autolist, 114 117 appdata->g_state.lastnumber, 115 118 TRUE); … … 173 176 DIALER_READY_CONTACT *ready_contact = (DIALER_READY_CONTACT *) para_pointer; 174 177 codesinput = moko_dialer_textview_get_input (moko_dialer_text_view, FALSE); 175 if (ready_contact->p_entry->content)176 lenstring = g_utf8_strlen (ready_contact->p_entry->content, -1);178 if (ready_contact->p_entry->content) 179 lenstring = g_utf8_strlen (ready_contact->p_entry->content, -1); 177 180 else 178 lenstring=0;179 180 if (codesinput)181 leninput = g_utf8_strlen (codesinput, -1);181 lenstring = 0; 182 183 if (codesinput) 184 leninput = g_utf8_strlen (codesinput, -1); 182 185 else 183 leninput =0;186 leninput = 0; 184 187 if (lenstring > leninput) 185 188 { … … 191 194 } 192 195 else 193 moko_dialer_textview_fill_it (moko_dialer_text_view,"");196 moko_dialer_textview_fill_it (moko_dialer_text_view, ""); 194 197 g_free (codesinput); 195 198 … … 264 267 g_strdup (moko_dialer_textview_get_input (moko_dialer_text_view, FALSE)); 265 268 266 if (codesinput&&(g_utf8_strlen (codesinput, -1) >= MOKO_DIALER_MIN_SENSATIVE_LEN)) 269 if (codesinput 270 && (g_utf8_strlen (codesinput, -1) >= MOKO_DIALER_MIN_SENSATIVE_LEN)) 267 271 { 268 272 moko_dialer_autolist_refresh_by_string (appdata->moko_dialer_autolist, … … 321 325 322 326 GtkWidget *window = moko_finger_window_new (); 323 gtk_window_set_decorated (GTK_WINDOW(window ),FALSE);327 gtk_window_set_decorated (GTK_WINDOW (window), FALSE); 324 328 325 329 GtkMenu *appmenu = GTK_MENU (gtk_menu_new ()); … … 416 420 G_CALLBACK (cb_delete_button_clicked), p_dialer_data); 417 421 gtk_widget_set_name (button1, "mokofingerbutton-orange"); 418 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON 419 (button1), 420 file_new_image_from_relative_path 421 ("delete.png")); 422 moko_pixmap_button_set_finger_toolbox_btn_center_image 423 (MOKO_PIXMAP_BUTTON (button1), 424 file_new_image_from_relative_path ("delete.png")); 422 425 moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON 423 426 (button1), "Delete"); … … 431 434 G_CALLBACK (cb_history_button_clicked), p_dialer_data); 432 435 gtk_widget_set_name (button3, "mokofingerbutton-orange"); 433 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON 434 (button3), 435 file_new_image_from_relative_path 436 ("history.png")); 436 moko_pixmap_button_set_finger_toolbox_btn_center_image 437 (MOKO_PIXMAP_BUTTON (button3), 438 file_new_image_from_relative_path ("history.png")); 437 439 moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON 438 440 (button3), "History"); … … 447 449 G_CALLBACK (cb_dialer_button_clicked), p_dialer_data); 448 450 gtk_widget_set_name (button2, "mokofingerbutton-black"); 449 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON 450 (button2), 451 file_new_image_from_relative_path 452 ("phone.png")); 451 moko_pixmap_button_set_finger_toolbox_btn_center_image 452 (MOKO_PIXMAP_BUTTON (button2), 453 file_new_image_from_relative_path ("phone.png")); 453 454 moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON 454 455 (button2), "Dial"); -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-history.c
r1654 r1819 133 133 134 134 void 135 cb_openmoko_history_wheel_press_left_up (GtkWidget * widget,135 cb_openmoko_history_wheel_press_left_up (GtkWidget * widget, 136 136 MOKO_DIALER_APP_DATA * appdata) 137 137 { … … 350 350 //now the container--window 351 351 window = MOKO_FINGER_WINDOW (moko_finger_window_new ()); 352 gtk_window_set_decorated (GTK_WINDOW(window ),FALSE);352 gtk_window_set_decorated (GTK_WINDOW (window), FALSE); 353 353 p_dialer_data->window_history = GTK_WIDGET (window); 354 354 … … 363 363 G_CALLBACK (on_window_history_hide), p_dialer_data); 364 364 365 //FIXME: without gtk_widget_show_all first and then hide, the history view will not show properly. -tony366 //gtk_widget_show_all(GTK_WIDGET(window));365 //FIXME: without gtk_widget_show_all first and then hide, the history view will not show properly. -tony 366 //gtk_widget_show_all(GTK_WIDGET(window)); 367 367 368 368 //now the wheel and tool box, why should the wheel and toolbox created after the gtk_widget_show_all??? … … 376 376 g_signal_connect (G_OBJECT (moko_finger_window_get_wheel (window)), 377 377 "press_right_down", 378 G_CALLBACK (cb_openmoko_history_wheel_press_right_down), 378 G_CALLBACK 379 (cb_openmoko_history_wheel_press_right_down), 379 380 p_dialer_data); 380 381 … … 390 391 button = moko_finger_tool_box_add_button_without_label (tools); 391 392 image = file_new_image_from_relative_path ("phone.png"); 392 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON393 (button), image);393 moko_pixmap_button_set_finger_toolbox_btn_center_image 394 (MOKO_PIXMAP_BUTTON (button), image); 394 395 g_signal_connect (G_OBJECT (button), "clicked", 395 396 G_CALLBACK (cb_tool_button_history_call_clicked), … … 399 400 GTK_WIDGET (moko_finger_tool_box_add_button_without_label (tools)); 400 401 image = file_new_image_from_relative_path ("sms.png"); 401 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON402 (button), image);402 moko_pixmap_button_set_finger_toolbox_btn_center_image 403 (MOKO_PIXMAP_BUTTON (button), image); 403 404 g_signal_connect (G_OBJECT (button), "clicked", 404 405 G_CALLBACK (cb_tool_button_history_sms_clicked), … … 409 410 GTK_WIDGET (moko_finger_tool_box_add_button_without_label (tools)); 410 411 image = file_new_image_from_relative_path ("delete_01.png"); 411 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON412 (button), image);412 moko_pixmap_button_set_finger_toolbox_btn_center_image 413 (MOKO_PIXMAP_BUTTON (button), image); 413 414 g_signal_connect (G_OBJECT (button), "clicked", 414 415 G_CALLBACK (cb_tool_button_history_delete_clicked), … … 417 418 GTK_WIDGET (moko_finger_tool_box_add_button_without_label (tools)); 418 419 image = file_new_image_from_relative_path ("exit.png"); 419 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON420 (button), image);420 moko_pixmap_button_set_finger_toolbox_btn_center_image 421 (MOKO_PIXMAP_BUTTON (button), image); 421 422 g_signal_connect (G_OBJECT (button), "clicked", 422 423 G_CALLBACK (cb_tool_button_history_back_clicked), 423 424 p_dialer_data); 424 425 425 p_dialer_data->wheel_history = GTK_WIDGET (moko_finger_window_get_wheel (window)); 426 p_dialer_data->wheel_history = 427 GTK_WIDGET (moko_finger_window_get_wheel (window)); 426 428 p_dialer_data->toolbox_history = GTK_WIDGET (tools); 427 429 DBG_LEAVE (); … … 445 447 MOKO_DIALER_APP_DATA *p_dialer_data = (MOKO_DIALER_APP_DATA *) user_data; 446 448 447 selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (p_dialer_data->treeview_history)); 449 selection = 450 gtk_tree_view_get_selection (GTK_TREE_VIEW 451 (p_dialer_data->treeview_history)); 448 452 449 453 if (!gtk_tree_selection_get_selected (selection, &model, &iter)) … … 670 674 671 675 /* FIXME: error handling hasn't been implemented yet! 672 p_dialer_data->g_iconReceived = create_pixbuf ("received.png", &error);673 if (error)674 {675 DBG_WARN ("Cound not load icon :%s", error->message);676 g_error_free (error);677 p_dialer_data->g_iconReceived = NULL;678 error = NULL;679 }680 */676 p_dialer_data->g_iconReceived = create_pixbuf ("received.png", &error); 677 if (error) 678 { 679 DBG_WARN ("Cound not load icon :%s", error->message); 680 g_error_free (error); 681 p_dialer_data->g_iconReceived = NULL; 682 error = NULL; 683 } 684 */ 681 685 682 686 p_dialer_data->g_iconDialed = create_pixbuf ("dialed.png"); 683 687 /* FIXME: error handling hasn't been implemented yet! 684 p_dialer_data->g_iconDialed = create_pixbuf ("dialed.png", &error);685 if (error)686 {687 DBG_WARN ("Cound not load icon :%s", error->message);688 g_error_free (error);689 p_dialer_data->g_iconDialed = NULL;690 error = NULL;691 }692 */688 p_dialer_data->g_iconDialed = create_pixbuf ("dialed.png", &error); 689 if (error) 690 { 691 DBG_WARN ("Cound not load icon :%s", error->message); 692 g_error_free (error); 693 p_dialer_data->g_iconDialed = NULL; 694 error = NULL; 695 } 696 */ 693 697 694 698 p_dialer_data->g_iconMissed = create_pixbuf ("missed.png"); 695 699 /* FIXME: error handling hasn't been implemented yet! 696 p_dialer_data->g_iconMissed = create_pixbuf ("missed.png", &error);697 if (error)698 {699 DBG_WARN ("Cound not load icon :%s", error->message);700 g_error_free (error);701 p_dialer_data->g_iconMissed = NULL;702 error = NULL;703 }704 */700 p_dialer_data->g_iconMissed = create_pixbuf ("missed.png", &error); 701 if (error) 702 { 703 DBG_WARN ("Cound not load icon :%s", error->message); 704 g_error_free (error); 705 p_dialer_data->g_iconMissed = NULL; 706 error = NULL; 707 } 708 */ 705 709 706 710 while (entry) … … 721 725 else 722 726 { 723 gtk_list_store_set (list_store, &iter, COLUMN_NAME_NUMBER, entry->name,724 -1);727 gtk_list_store_set (list_store, &iter, COLUMN_NAME_NUMBER, 728 entry->name, -1); 725 729 gtk_list_store_set (list_store, &iter, COLUMN_HASNAME, 1, -1); 726 730 } 727 731 switch (entry->type) 728 732 { 729 case INCOMING:730 {731 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON,732 p_dialer_data->g_iconReceived, -1);733 // icon=gdk_pixbuf_new_from_file("./received.png",&error);734 break;735 }736 case OUTGOING:737 {// icon=gdk_pixbuf_new_from_file("./dialed.png",&error);738 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON,739 p_dialer_data->g_iconDialed, -1);740 break;741 }742 case MISSED:743 {//icon=gdk_pixbuf_new_from_file("./missed.png",&error);744 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON,745 p_dialer_data->g_iconMissed, -1);746 break;747 }748 749 default:750 751 {//icon=gdk_pixbuf_new_from_file("./missed.png",&error);752 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON,753 p_dialer_data->g_iconMissed, -1);754 break;755 }733 case INCOMING: 734 { 735 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON, 736 p_dialer_data->g_iconReceived, -1); 737 // icon=gdk_pixbuf_new_from_file("./received.png",&error); 738 break; 739 } 740 case OUTGOING: 741 { // icon=gdk_pixbuf_new_from_file("./dialed.png",&error); 742 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON, 743 p_dialer_data->g_iconDialed, -1); 744 break; 745 } 746 case MISSED: 747 { //icon=gdk_pixbuf_new_from_file("./missed.png",&error); 748 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON, 749 p_dialer_data->g_iconMissed, -1); 750 break; 751 } 752 753 default: 754 755 { //icon=gdk_pixbuf_new_from_file("./missed.png",&error); 756 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON, 757 p_dialer_data->g_iconMissed, -1); 758 break; 759 } 756 760 } 757 761 … … 980 984 { 981 985 //DBG_MESSAGE(entry->number); 982 gtk_list_store_set (list_store, &iter, COLUMN_NAME_NUMBER, entry->number,983 -1);986 gtk_list_store_set (list_store, &iter, COLUMN_NAME_NUMBER, 987 entry->number, -1); 984 988 gtk_list_store_set (list_store, &iter, COLUMN_HASNAME, 0, -1); 985 989 } … … 992 996 switch (entry->type) 993 997 { 994 case INCOMING:995 {996 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON,997 appdata->g_iconReceived, -1);998 // icon=gdk_pixbuf_new_from_file("./received.png",&error);999 break;1000 }1001 case OUTGOING:1002 {// icon=gdk_pixbuf_new_from_file("./dialed.png",&error);1003 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON,1004 appdata->g_iconDialed, -1);1005 break;1006 }1007 case MISSED:1008 {//icon=gdk_pixbuf_new_from_file("./missed.png",&error);1009 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON,1010 appdata->g_iconMissed, -1);1011 break;1012 }1013 1014 default:1015 1016 {//icon=gdk_pixbuf_new_from_file("./missed.png",&error);1017 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON,1018 appdata->g_iconMissed, -1);1019 break;1020 }998 case INCOMING: 999 { 1000 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON, 1001 appdata->g_iconReceived, -1); 1002 // icon=gdk_pixbuf_new_from_file("./received.png",&error); 1003 break; 1004 } 1005 case OUTGOING: 1006 { // icon=gdk_pixbuf_new_from_file("./dialed.png",&error); 1007 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON, 1008 appdata->g_iconDialed, -1); 1009 break; 1010 } 1011 case MISSED: 1012 { //icon=gdk_pixbuf_new_from_file("./missed.png",&error); 1013 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON, 1014 appdata->g_iconMissed, -1); 1015 break; 1016 } 1017 1018 default: 1019 1020 { //icon=gdk_pixbuf_new_from_file("./missed.png",&error); 1021 gtk_list_store_set (list_store, &iter, COLUMN_TYPEICON, 1022 appdata->g_iconMissed, -1); 1023 break; 1024 } 1021 1025 } 1022 1026 history_update_counter (appdata); … … 1030 1034 char *time, char *date, int durationsec) 1031 1035 { 1032 1036 1033 1037 //DBG_ENTER(); 1034 //DBG_MESSAGE("History add:%s,%s,%s,%s,%s,%d",name,number,picpath,time,date,durationsec);1035 HISTORY_ENTRY *pentry =1038 //DBG_MESSAGE("History add:%s,%s,%s,%s,%s,%d",name,number,picpath,time,date,durationsec); 1039 HISTORY_ENTRY *pentry = 1036 1040 history_add_entry (&(appdata->g_historylist), type, name, number, id, 1037 1041 time, date, durationsec); -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-incoming.c
r1358 r1819 15 15 * 16 16 * Current Version: $Rev$ ($Date) [$Author: Tony Guan $] 17 */ 18 17 */ 18 19 19 #include <libmokoui/moko-finger-tool-box.h> 20 20 #include <libmokoui/moko-finger-window.h> 21 21 #include <libmokoui/moko-finger-wheel.h> 22 22 #include <libmokoui/moko-pixmap-button.h> 23 23 24 24 #include <gtk/gtkalignment.h> 25 25 #include <gtk/gtkbutton.h> … … 30 30 #include <gtk/gtkmenuitem.h> 31 31 #include <gtk/gtkvbox.h> 32 32 33 33 #include "contacts.h" 34 34 #include "openmoko-dialer-main.h" … … 40 40 #include "history.h" 41 41 42 void 43 cb_answer_button_clicked (GtkButton * button, MOKO_DIALER_APP_DATA * appdata) 44 { 45 DBG_ENTER (); 46 47 appdata->g_state.callstate = STATE_TALKING; 48 gsm_answer (); 49 50 gtk_widget_hide (appdata->window_incoming); 42 void 43 cb_answer_button_clicked (GtkButton * button, 44 MOKO_DIALER_APP_DATA * appdata) 45 { 46 47 DBG_ENTER (); 48 49 50 appdata->g_state.callstate = STATE_TALKING; 51 52 gsm_answer (); 53 54 55 gtk_widget_hide (appdata->window_incoming); 56 51 57 52 58 53 59 //transfer the contact info 54 window_talking_prepare (appdata); 55 56 57 gtk_widget_show (appdata->window_talking); 58 59 DBG_LEAVE (); 60 } 61 62 void 63 cb_ignore_button_clicked (GtkButton * button, MOKO_DIALER_APP_DATA * appdata) 64 { 65 DBG_ENTER (); 66 DBG_MESSAGE ("We will mute the phone for this call."); 67 appdata->g_state.callstate = STATE_IGNORED; 68 DBG_LEAVE (); 69 } 70 71 void 72 cb_reject_button_clicked (GtkButton * button, MOKO_DIALER_APP_DATA * appdata) 73 { 74 DBG_ENTER (); 75 gsm_hangup (); 76 appdata->g_state.callstate = STATE_REJECTED; 77 gtk_widget_hide (appdata->window_incoming); 78 DBG_LEAVE (); 79 } 80 81 void 82 window_incoming_prepare (MOKO_DIALER_APP_DATA * appdata) 83 { 84 if (!appdata) 85 { 86 DBG_WARN ("appdata=NULL!"); 87 return; 88 } 89 90 if (appdata->window_incoming == 0) 91 { 92 window_incoming_init (appdata); 93 } 94 95 moko_dialer_status_set_person_number (appdata->status_incoming, 96 appdata->g_peer_info.number); 97 if (appdata->g_peer_info.hasname) 98 { 99 100 moko_dialer_status_set_person_image (appdata->status_incoming, 101 appdata->g_peer_info.ID); 102 moko_dialer_status_set_person_name (appdata->status_incoming, 103 appdata->g_peer_info.name); 104 } 60 window_talking_prepare (appdata); 61 62 63 64 gtk_widget_show (appdata->window_talking); 65 66 67 DBG_LEAVE (); 68 69 } 70 71 void 72 73 cb_ignore_button_clicked (GtkButton * button, 74 MOKO_DIALER_APP_DATA * appdata) 75 { 76 77 DBG_ENTER (); 78 79 DBG_MESSAGE ("We will mute the phone for this call."); 80 81 appdata->g_state.callstate = STATE_IGNORED; 82 83 DBG_LEAVE (); 84 85 } 86 87 void 88 89 cb_reject_button_clicked (GtkButton * button, 90 MOKO_DIALER_APP_DATA * appdata) 91 { 92 93 DBG_ENTER (); 94 95 gsm_hangup (); 96 97 appdata->g_state.callstate = STATE_REJECTED; 98 99 gtk_widget_hide (appdata->window_incoming); 100 101 DBG_LEAVE (); 102 103 } 104 105 void 106 107 window_incoming_prepare (MOKO_DIALER_APP_DATA * appdata) 108 { 109 110 if (!appdata) 111 112 { 113 114 DBG_WARN ("appdata=NULL!"); 115 116 return; 117 118 } 119 120 121 if (appdata->window_incoming == 0) 122 123 { 124 125 window_incoming_init (appdata); 126 127 } 128 129 130 moko_dialer_status_set_person_number (appdata->status_incoming, 131 132 appdata->g_peer_info.number); 133 134 if (appdata->g_peer_info.hasname) 135 136 { 137 138 139 moko_dialer_status_set_person_image (appdata->status_incoming, 140 141 appdata->g_peer_info.ID); 142 143 moko_dialer_status_set_person_name (appdata->status_incoming, 144 145 appdata->g_peer_info.name); 146 147 } 148 105 149 else 106 { 107 moko_dialer_status_set_person_image (appdata->status_incoming, ""); 108 moko_dialer_status_set_person_name (appdata->status_incoming, ""); 109 110 } 111 112 113 114 } 115 116 void 117 window_incoming_fails (MOKO_DIALER_APP_DATA * appdata) 118 { 119 DBG_ENTER (); 120 DBG_LEAVE (); 121 } 122 123 gint 124 timer_incoming_time_out (MOKO_DIALER_APP_DATA * appdata) 125 { 150 151 { 152 153 moko_dialer_status_set_person_image (appdata->status_incoming, ""); 154 155 moko_dialer_status_set_person_name (appdata->status_incoming, ""); 156 157 158 } 159 160 161 162 163 } 164 165 166 void 167 window_incoming_fails (MOKO_DIALER_APP_DATA * appdata) 168 { 169 170 DBG_ENTER (); 171 172 DBG_LEAVE (); 173 174 } 175 176 gint 177 timer_incoming_time_out (MOKO_DIALER_APP_DATA * appdata) 178 { 179 126 180 //DBG_ENTER(); 127 TIMER_DATA *timer_data = &(appdata->g_timer_data); 128 129 moko_dialer_status_update_icon(appdata->status_incoming); 181 TIMER_DATA * timer_data = &(appdata->g_timer_data); 182 183 184 moko_dialer_status_update_icon (appdata->status_incoming); 185 130 186 //now that we have the incoming call status report correctly, the timeout mechanism is not needed. 131 187 /* … … 154 210 } 155 211 } 156 */ 157 return 1; 158 159 160 } 161 162 163 164 void 165 on_window_incoming_hide (GtkWidget * widget, MOKO_DIALER_APP_DATA * appdata) 166 { 167 168 DBG_ENTER (); 169 170 if (appdata->g_timer_data.ptimer != 0) 171 { 172 g_source_remove (appdata->g_timer_data.ptimer); 173 appdata->g_timer_data.ptimer = 0; 174 } 175 176 event_reset_clip_signaled (); 177 event_reset_incoming_signaled (); 178 event_reset_keep_calling (); 179 180 if (appdata->g_state.callstate != STATE_TALKING) 212 */ 213 return 1; 214 215 216 217 } 218 219 220 221 222 void 223 on_window_incoming_hide (GtkWidget * widget, MOKO_DIALER_APP_DATA * appdata) 224 { 225 226 227 DBG_ENTER (); 228 229 230 if (appdata->g_timer_data.ptimer != 0) 231 232 { 233 234 g_source_remove (appdata->g_timer_data.ptimer); 235 236 appdata->g_timer_data.ptimer = 0; 237 238 } 239 240 241 event_reset_clip_signaled (); 242 243 event_reset_incoming_signaled (); 244 245 event_reset_keep_calling (); 246 247 248 if (appdata->g_state.callstate != STATE_TALKING) 249 181 250 { // add_histroy_entry(g_state.historytype,g_state.contactinfo.name,g_state.contactinfo.number,g_state.contactinfo.picpath,g_state.starttime,0); 182 183 add_histroy_entry (appdata, appdata->g_state.historytype, 184 appdata->g_peer_info.name, 185 appdata->g_peer_info.number, 186 appdata->g_peer_info.ID, 187 appdata->g_state.starttime, 188 appdata->g_state.startdate, 0); 189 190 } 191 192 DBG_LEAVE (); 193 } 194 195 void 196 window_incoming_setup_timer (MOKO_DIALER_APP_DATA * appdata) 197 { 198 time_t timep; 199 struct tm *p; 200 time (&timep); 201 p = localtime (&timep); 202 203 sprintf (appdata->g_state.starttime, "%02d:%02d:%02d", p->tm_hour, 204 p->tm_min, p->tm_sec); 205 sprintf (appdata->g_state.startdate, "%04d/%02d/%02d", p->tm_year, 206 p->tm_mon, p->tm_mday); 207 208 if (appdata->g_timer_data.ptimer != 0) 209 { 210 g_source_remove (appdata->g_timer_data.ptimer); 211 appdata->g_timer_data.ptimer = 0; 212 } 213 214 memset (&(appdata->g_timer_data), 0, sizeof (appdata->g_timer_data)); 215 216 appdata->g_timer_data.stopsec = 0; 217 218 appdata->g_timer_data.ptimer = 219 g_timeout_add (1000, (GSourceFunc) timer_incoming_time_out, (gpointer) appdata); 220 221 222 } 223 224 void 225 on_window_incoming_show (GtkWidget * widget, MOKO_DIALER_APP_DATA * appdata) 226 { 227 228 DBG_ENTER (); 229 appdata->g_state.callstate = STATE_INCOMING; 230 window_incoming_setup_timer (appdata); 231 DBG_LEAVE (); 232 233 } 234 235 236 gint 237 window_incoming_init (MOKO_DIALER_APP_DATA * p_dialer_data) 238 { 239 240 DBG_ENTER (); 241 MokoFingerWindow *window; 242 GtkWidget *vbox; 243 GtkWidget *status; 244 245 if (p_dialer_data->window_incoming == 0) 246 { 247 248 vbox = gtk_vbox_new (FALSE, 0); 249 status = moko_dialer_status_new (); 250 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "incoming_0.png"); 251 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "incoming_1.png"); 252 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "incoming_2.png"); 253 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "incoming_3.png"); 254 moko_dialer_status_set_icon_by_index (MOKO_DIALER_STATUS (status), 0); 255 256 gtk_box_pack_start (GTK_BOX (vbox), status, FALSE, FALSE, 0); 257 258 259 GtkWidget *hbox2 = gtk_hbox_new (FALSE, 0); 260 GtkWidget *button = gtk_button_new_with_label ("Answer"); 261 gtk_button_set_image(GTK_BUTTON(button),file_new_image_from_relative_path("answer.png")); 262 g_signal_connect (G_OBJECT (button), "clicked", 263 G_CALLBACK (cb_answer_button_clicked), p_dialer_data); 264 265 gtk_box_pack_start (GTK_BOX (hbox2), GTK_WIDGET (button), TRUE, TRUE, 10); 266 267 button = gtk_button_new_with_label ("Ignore"); 268 g_signal_connect (G_OBJECT (button), "clicked", 269 G_CALLBACK (cb_ignore_button_clicked), p_dialer_data); 270 gtk_box_pack_start (GTK_BOX (hbox2), GTK_WIDGET (button), TRUE, TRUE, 10); 271 272 273 274 button = gtk_button_new_with_label ("Reject"); 275 gtk_button_set_image(GTK_BUTTON(button),file_new_image_from_relative_path("cancel.png")); 276 g_signal_connect (G_OBJECT (button), "clicked", 277 G_CALLBACK (cb_reject_button_clicked), p_dialer_data); 278 gtk_box_pack_start (GTK_BOX (hbox2), GTK_WIDGET (button), TRUE, TRUE, 10); 279 280 281 282 283 gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 50); 251 252 add_histroy_entry (appdata, appdata->g_state.historytype, 253 254 appdata->g_peer_info.name, 255 256 appdata->g_peer_info.number, 257 258 appdata->g_peer_info.ID, 259 260 appdata->g_state.starttime, 261 262 appdata->g_state.startdate, 0); 263 264 265 } 266 267 268 DBG_LEAVE (); 269 270 } 271 272 273 void 274 window_incoming_setup_timer (MOKO_DIALER_APP_DATA * appdata) 275 { 276 277 time_t timep; 278 279 struct tm *p; 280 281 time (&timep); 282 283 p = localtime (&timep); 284 285 286 sprintf (appdata->g_state.starttime, "%02d:%02d:%02d", p->tm_hour, 287 288 p->tm_min, p->tm_sec); 289 290 sprintf (appdata->g_state.startdate, "%04d/%02d/%02d", p->tm_year, 291 292 p->tm_mon, p->tm_mday); 293 294 295 if (appdata->g_timer_data.ptimer != 0) 296 297 { 298 299 g_source_remove (appdata->g_timer_data.ptimer); 300 301 appdata->g_timer_data.ptimer = 0; 302 303 } 304 305 306 memset (&(appdata->g_timer_data), 0, sizeof (appdata->g_timer_data)); 307 308 309 appdata->g_timer_data.stopsec = 0; 310 311 312 appdata->g_timer_data.ptimer = 313 314 g_timeout_add (1000, (GSourceFunc) timer_incoming_time_out, 315 (gpointer) appdata); 316 317 318 319 } 320 321 322 void 323 on_window_incoming_show (GtkWidget * widget, MOKO_DIALER_APP_DATA * appdata) 324 { 325 326 327 DBG_ENTER (); 328 329 appdata->g_state.callstate = STATE_INCOMING; 330 331 window_incoming_setup_timer (appdata); 332 333 DBG_LEAVE (); 334 335 336 } 337 338 339 gint 340 window_incoming_init (MOKO_DIALER_APP_DATA * p_dialer_data) 341 { 342 343 344 DBG_ENTER (); 345 346 MokoFingerWindow * window; 347 348 GtkWidget * vbox; 349 350 GtkWidget * status; 351 352 353 if (p_dialer_data->window_incoming == 0) 354 355 { 356 357 358 vbox = gtk_vbox_new (FALSE, 0); 359 360 status = moko_dialer_status_new (); 361 362 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 363 "incoming_0.png"); 364 365 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 366 "incoming_1.png"); 367 368 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 369 "incoming_2.png"); 370 371 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 372 "incoming_3.png"); 373 374 moko_dialer_status_set_icon_by_index (MOKO_DIALER_STATUS (status), 0); 375 376 377 gtk_box_pack_start (GTK_BOX (vbox), status, FALSE, FALSE, 0); 378 379 380 381 GtkWidget * hbox2 = gtk_hbox_new (FALSE, 0); 382 383 GtkWidget * button = gtk_button_new_with_label ("Answer"); 384 385 gtk_button_set_image (GTK_BUTTON (button), 386 file_new_image_from_relative_path ("answer.png")); 387 388 g_signal_connect (G_OBJECT (button), "clicked", 389 390 G_CALLBACK (cb_answer_button_clicked), p_dialer_data); 391 392 393 gtk_box_pack_start (GTK_BOX (hbox2), GTK_WIDGET (button), TRUE, TRUE, 394 10); 395 396 397 button = gtk_button_new_with_label ("Ignore"); 398 399 g_signal_connect (G_OBJECT (button), "clicked", 400 401 G_CALLBACK (cb_ignore_button_clicked), p_dialer_data); 402 403 gtk_box_pack_start (GTK_BOX (hbox2), GTK_WIDGET (button), TRUE, TRUE, 404 10); 405 406 407 408 409 button = gtk_button_new_with_label ("Reject"); 410 411 gtk_button_set_image (GTK_BUTTON (button), 412 file_new_image_from_relative_path ("cancel.png")); 413 414 g_signal_connect (G_OBJECT (button), "clicked", 415 416 G_CALLBACK (cb_reject_button_clicked), p_dialer_data); 417 418 gtk_box_pack_start (GTK_BOX (hbox2), GTK_WIDGET (button), TRUE, TRUE, 419 10); 420 421 422 423 424 425 gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 50); 426 284 427 285 428 … … 287 430 // MokoDialogWindow* window = (MokoDialogWindow *)(moko_dialog_window_new()); 288 431 // moko_dialog_window_set_contents( window, GTK_WIDGET(vbox) ); 289 290 window = MOKO_FINGER_WINDOW (moko_finger_window_new ()); 291 gtk_window_set_decorated(GTK_WINDOW(window ),FALSE); 292 moko_finger_window_set_contents (window, GTK_WIDGET (vbox)); 293 //FIXME: dear thomas, I know that show & hide is not good, but when you removed the following 2 lines, the incoming window 294 //is simply not displaying well. please have a try and then commit. If you cannot test the incoming window, you can simply modify the code to show it out debuggingly. 295 //Pardon me to re-add the 2 lines. Tony Guan 14,3,2007 296 gtk_widget_show_all(GTK_WIDGET(window)); 297 gtk_widget_hide(GTK_WIDGET(window)); 298 299 moko_dialer_status_set_title_label (MOKO_DIALER_STATUS (status), "Incoming call"); 300 moko_dialer_status_set_status_label (MOKO_DIALER_STATUS (status), ""); 301 302 p_dialer_data->window_incoming = GTK_WIDGET (window); 303 p_dialer_data->status_incoming = MOKO_DIALER_STATUS (status); 432 433 window = MOKO_FINGER_WINDOW (moko_finger_window_new ()); 434 435 gtk_window_set_decorated (GTK_WINDOW (window), FALSE); 436 437 moko_finger_window_set_contents (window, GTK_WIDGET (vbox)); 438 439 //FIXME: dear thomas, I know that show & hide is not good, but when you removed the following 2 lines, the incoming window 440 //is simply not displaying well. please have a try and then commit. If you cannot test the incoming window, you can simply modify the code to show it out debuggingly. 441 //Pardon me to re-add the 2 lines. Tony Guan 14,3,2007 442 gtk_widget_show_all (GTK_WIDGET (window)); 443 444 gtk_widget_hide (GTK_WIDGET (window)); 445 446 447 moko_dialer_status_set_title_label (MOKO_DIALER_STATUS (status), 448 "Incoming call"); 449 450 moko_dialer_status_set_status_label (MOKO_DIALER_STATUS (status), ""); 451 452 453 p_dialer_data->window_incoming = GTK_WIDGET (window); 454 455 p_dialer_data->status_incoming = MOKO_DIALER_STATUS (status); 456 304 457 305 458 // DBG_MESSAGE("p_dialer_data->status_incoming=0X%x",p_dialer_data->status_incoming); 306 307 308 g_signal_connect ((gpointer) window, "show", 309 G_CALLBACK (on_window_incoming_show), p_dialer_data); 310 g_signal_connect ((gpointer) window, "hide", 311 G_CALLBACK (on_window_incoming_hide), p_dialer_data); 312 313 } 314 315 316 DBG_LEAVE (); 317 return 1; 318 } 319 459 460 461 g_signal_connect ((gpointer) window, "show", 462 463 G_CALLBACK (on_window_incoming_show), 464 p_dialer_data); 465 466 g_signal_connect ((gpointer) window, "hide", 467 468 G_CALLBACK (on_window_incoming_hide), p_dialer_data); 469 470 471 } 472 473 474 475 DBG_LEAVE (); 476 477 return 1; 478 479 } 480 481 482 -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-outgoing.c
r1401 r1819 42 42 void window_outgoing_setup_timer (MOKO_DIALER_APP_DATA * appdata); 43 43 44 void 44 void 45 45 cb_speaker_button_clicked (GtkButton * button, MOKO_DIALER_APP_DATA * appdata) 46 46 { … … 61 61 DBG_TRACE (); 62 62 // gtk_widget_show_all (appdata->window_talking); 63 gtk_widget_show (appdata->window_talking);63 gtk_widget_show (appdata->window_talking); 64 64 65 65 … … 92 92 gsm_hangup (); 93 93 appdata->g_state.callstate = STATE_FAILED; 94 DBG_TRACE ();94 DBG_TRACE (); 95 95 gtk_widget_hide (appdata->window_outgoing); 96 96 DBG_LEAVE (); … … 240 240 appdata->g_state.historytype = OUTGOING; 241 241 //DBG_TRACE (); 242 int retv =gsm_dial (appdata->g_peer_info.number);243 DBG_MESSAGE ("GSM_DIAL returns %d",retv);242 int retv = gsm_dial (appdata->g_peer_info.number); 243 DBG_MESSAGE ("GSM_DIAL returns %d", retv); 244 244 //DBG_LEAVE (); 245 245 } … … 260 260 vbox = gtk_vbox_new (FALSE, 0); 261 261 status = moko_dialer_status_new (); 262 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "outgoing_0.png"); 263 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "outgoing_1.png"); 264 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "outgoing_2.png"); 265 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "outgoing_3.png"); 266 moko_dialer_status_set_error_icon(MOKO_DIALER_STATUS (status),"failure.png"); 262 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 263 "outgoing_0.png"); 264 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 265 "outgoing_1.png"); 266 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 267 "outgoing_2.png"); 268 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 269 "outgoing_3.png"); 270 moko_dialer_status_set_error_icon (MOKO_DIALER_STATUS (status), 271 "failure.png"); 267 272 moko_dialer_status_set_icon_by_index (MOKO_DIALER_STATUS (status), 0); 268 273 … … 272 277 GtkWidget *hbox2 = gtk_hbox_new (FALSE, 0); 273 278 GtkWidget *button = gtk_button_new_with_label ("Speaker"); 274 gtk_button_set_image(GTK_BUTTON(button),file_new_image_from_relative_path("speaker.png")); 279 gtk_button_set_image (GTK_BUTTON (button), 280 file_new_image_from_relative_path ("speaker.png")); 275 281 g_signal_connect (G_OBJECT (button), "clicked", 276 282 G_CALLBACK (cb_speaker_button_clicked), p_dialer_data); … … 280 286 281 287 button = gtk_button_new_with_label ("Redial"); 282 gtk_button_set_image(GTK_BUTTON(button),file_new_image_from_relative_path("redial.png")); 288 gtk_button_set_image (GTK_BUTTON (button), 289 file_new_image_from_relative_path ("redial.png")); 283 290 p_dialer_data->buttonRedial = button; 284 291 g_signal_connect (G_OBJECT (button), "clicked", … … 289 296 290 297 button = gtk_button_new_with_label ("Cancel"); 291 gtk_button_set_image(GTK_BUTTON(button),file_new_image_from_relative_path("cancel.png")); 298 gtk_button_set_image (GTK_BUTTON (button), 299 file_new_image_from_relative_path ("cancel.png")); 292 300 p_dialer_data->buttonCancel = button; 293 301 g_signal_connect (G_OBJECT (button), "clicked", … … 304 312 305 313 window = MOKO_FINGER_WINDOW (moko_finger_window_new ()); 306 gtk_window_set_decorated (GTK_WINDOW(window ),FALSE);//FIXME: this line seems only necessary on my PC. tony314 gtk_window_set_decorated (GTK_WINDOW (window), FALSE); //FIXME: this line seems only necessary on my PC. tony 307 315 moko_finger_window_set_contents (window, GTK_WIDGET (vbox)); 308 316 309 moko_dialer_status_set_title_label (MOKO_DIALER_STATUS (status), "Outgoing call"); 310 moko_dialer_status_set_status_label (MOKO_DIALER_STATUS (status), "Calling ... (00:00:00)"); 317 moko_dialer_status_set_title_label (MOKO_DIALER_STATUS (status), 318 "Outgoing call"); 319 moko_dialer_status_set_status_label (MOKO_DIALER_STATUS (status), 320 "Calling ... (00:00:00)"); 311 321 312 322 p_dialer_data->window_outgoing = GTK_WIDGET (window); … … 330 340 return 1; 331 341 } 332 -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-outgoing.h
r916 r1819 31 31 gint window_outgoing_init (MOKO_DIALER_APP_DATA * p_dialer_data); 32 32 void window_outgoing_prepare (MOKO_DIALER_APP_DATA * appdata); 33 void window_outgoing_fails (MOKO_DIALER_APP_DATA * appdata);33 void window_outgoing_fails (MOKO_DIALER_APP_DATA * appdata); 34 34 35 35 #ifdef __cplusplus -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-pin.c
r1528 r1819 48 48 // codesinput =g_strdup(moko_dialer_textview_get_input (appdata->moko_pin_text_view, TRUE)); 49 49 50 if (!appdata->str_sim_pin ||g_utf8_strlen (appdata->str_sim_pin, -1) < 1)50 if (!appdata->str_sim_pin || g_utf8_strlen (appdata->str_sim_pin, -1) < 1) 51 51 { 52 52 //user didn't input anything … … 129 129 130 130 MokoFingerWindow *window = MOKO_FINGER_WINDOW (moko_finger_window_new ()); 131 gtk_window_set_decorated (GTK_WINDOW(window ),FALSE);131 gtk_window_set_decorated (GTK_WINDOW (window), FALSE); 132 132 g_signal_connect ((gpointer) window, "show", 133 133 G_CALLBACK (on_window_pin_show), p_dialer_data); … … 153 153 154 154 gtk_container_add (GTK_CONTAINER (eventbox1), mokotextview); 155 gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (eventbox1), FALSE, FALSE,156 0);155 gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (eventbox1), FALSE, 156 FALSE, 0); 157 157 158 158 MokoDialerPanel *mokodialerpanel = moko_dialer_panel_new (); … … 176 176 G_CALLBACK (pin_delete_button_clicked), p_dialer_data); 177 177 gtk_widget_set_name (GTK_WIDGET (button1), "mokofingerbutton-orange"); 178 179 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON 180 (button1), 181 file_new_image_from_relative_path 182 ("delete.png")); 178 179 moko_pixmap_button_set_finger_toolbox_btn_center_image 180 (MOKO_PIXMAP_BUTTON (button1), 181 file_new_image_from_relative_path ("delete.png")); 183 182 184 183 moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON … … 195 194 G_CALLBACK (pin_ok_button_clicked), p_dialer_data); 196 195 gtk_widget_set_name (GTK_WIDGET (button1), "mokofingerbutton-orange"); 197 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON 198 (button2), 199 file_new_image_from_relative_path 200 ("phone.png")); 196 moko_pixmap_button_set_finger_toolbox_btn_center_image 197 (MOKO_PIXMAP_BUTTON (button2), 198 file_new_image_from_relative_path ("phone.png")); 201 199 moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON 202 200 (button2), "OK"); -
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-talking.c
r1401 r1819 91 91 92 92 93 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON (button), 94 appdata-> 95 imageTALK); 93 moko_pixmap_button_set_finger_toolbox_btn_center_image 94 (MOKO_PIXMAP_BUTTON (button), appdata->imageTALK); 96 95 gtk_widget_hide (appdata->content_talk); 97 96 gtk_widget_show (appdata->content_dtmf); … … 99 98 else 100 99 { 101 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON (button), 102 appdata-> 103 imageDTMF); 100 moko_pixmap_button_set_finger_toolbox_btn_center_image 101 (MOKO_PIXMAP_BUTTON (button), appdata->imageDTMF); 104 102 gtk_widget_hide (appdata->content_dtmf); 105 103 gtk_widget_show (appdata->content_talk); … … 229 227 gtk_widget_hide (appdata->toolbox_talking); 230 228 231 moko_dialer_textview_empty(appdata->moko_dtmf_text_view);232 add_histroy_entry (appdata, appdata->g_state.historytype,229 moko_dialer_textview_empty (appdata->moko_dtmf_text_view); 230 add_histroy_entry (appdata, appdata->g_state.historytype, 233 231 appdata->g_peer_info.name, 234 232 appdata->g_peer_info.number, … … 245 243 DBG_ENTER (); 246 244 247 appdata->dtmf_in_talking_window = TRUE;245 appdata->dtmf_in_talking_window = TRUE; 248 246 //hide the talking button in talking mode. 249 247 … … 265 263 g_timeout_add (1000, (GSourceFunc) timer_talking_time_out, appdata); 266 264 267 if (appdata->toolbox_talking) {268 gtk_widget_show (appdata->toolbox_talking);269 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON (appdata->buttonTalk_DTMF),270 appdata->271 imageDTMF);272 gtk_widget_hide (appdata->content_dtmf);273 gtk_widget_show(appdata->content_talk);274 }265 if (appdata->toolbox_talking) 266 { 267 gtk_widget_show (appdata->toolbox_talking); 268 moko_pixmap_button_set_finger_toolbox_btn_center_image 269 (MOKO_PIXMAP_BUTTON (appdata->buttonTalk_DTMF), appdata->imageDTMF); 270 gtk_widget_hide (appdata->content_dtmf); 271 gtk_widget_show (appdata->content_talk); 272 } 275 273 276 274 … … 304 302 GtkWidget *content_dtmf = NULL; 305 303 MokoFingerToolBox *tools = NULL; 306 MokoFingerWheel * wheel=NULL;304 MokoFingerWheel *wheel = NULL; 307 305 GtkWidget *mokodialerpanel = NULL; 308 306 MokoPixmapButton *button; … … 314 312 content_talk = gtk_vbox_new (FALSE, 0); 315 313 status = moko_dialer_status_new (); 316 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "talking_0.png"); 317 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "talking_1.png"); 318 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "talking_2.png"); 319 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), "talking_3.png"); 314 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 315 "talking_0.png"); 316 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 317 "talking_1.png"); 318 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 319 "talking_2.png"); 320 moko_dialer_status_add_status_icon (MOKO_DIALER_STATUS (status), 321 "talking_3.png"); 320 322 moko_dialer_status_set_icon_by_index (MOKO_DIALER_STATUS (status), 0); 321 323 322 324 323 moko_dialer_status_set_title_label (MOKO_DIALER_STATUS (status), "In Call"); 324 moko_dialer_status_set_status_label (MOKO_DIALER_STATUS (status), "Talking ...(00:00:00)"); 325 moko_dialer_status_set_title_label (MOKO_DIALER_STATUS (status), 326 "In Call"); 327 moko_dialer_status_set_status_label (MOKO_DIALER_STATUS (status), 328 "Talking ...(00:00:00)"); 325 329 326 330 gtk_box_pack_start (GTK_BOX (content_talk), status, FALSE, FALSE, 0); … … 345 349 p_dialer_data->moko_dtmf_text_view = MOKO_DIALER_TEXTVIEW (mokotextview); 346 350 347 gtk_box_pack_start (GTK_BOX (content_dtmf), GTK_WIDGET (eventbox1), FALSE,348 FALSE, 2);351 gtk_box_pack_start (GTK_BOX (content_dtmf), GTK_WIDGET (eventbox1), 352 FALSE, FALSE, 2); 349 353 350 354 … … 355 359 g_signal_connect (GTK_OBJECT (mokodialerpanel), "user_input", 356 360 G_CALLBACK (on_dtmf_panel_user_input), p_dialer_data); 357 gtk_box_pack_start (GTK_BOX (content_dtmf), GTK_WIDGET (mokodialerpanel),358 TRUE, TRUE, 5);361 gtk_box_pack_start (GTK_BOX (content_dtmf), 362 GTK_WIDGET (mokodialerpanel), TRUE, TRUE, 5); 359 363 360 364 gtk_box_pack_start (GTK_BOX (vbox), content_dtmf, FALSE, FALSE, 0); … … 365 369 //now the container--window 366 370 window = MOKO_FINGER_WINDOW (moko_finger_window_new ()); 367 gtk_window_set_decorated (GTK_WINDOW(window ),FALSE);371 gtk_window_set_decorated (GTK_WINDOW (window), FALSE); 368 372 p_dialer_data->window_talking = GTK_WIDGET (window); 369 373 moko_finger_window_set_contents (window, GTK_WIDGET (vbox)); … … 379 383 //any window either, but for now, it's the most convenient way to debug the application. We will remove it, but later, OK? 380 384 //Tony Guan 14/3/2007 381 gtk_widget_show_all (GTK_WIDGET(window));382 gtk_widget_hide (content_dtmf);//And this line is necessary because dtmf interface & talking interface share the same window.383 //we have to hide it first.384 wheel =moko_finger_window_get_wheel (window);385 385 gtk_widget_show_all (GTK_WIDGET (window)); 386 gtk_widget_hide (content_dtmf); //And this line is necessary because dtmf interface & talking interface share the same window. 387 //we have to hide it first. 388 wheel = moko_finger_window_get_wheel (window); 389 386 390 g_signal_connect (G_OBJECT (wheel), 387 391 "press_left_up", … … 392 396 G_CALLBACK (openmoko_wheel_press_right_down_cb), 393 397 p_dialer_data); 394 398 395 399 396 400 397 401 398 402 tools = moko_finger_window_get_toolbox (window); 399 button = MOKO_PIXMAP_BUTTON (moko_finger_tool_box_add_button_without_label (tools)); 403 button = 404 MOKO_PIXMAP_BUTTON (moko_finger_tool_box_add_button_without_label 405 (tools)); 400 406 image = file_new_image_from_relative_path ("speaker.png"); 401 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON(button), image); 407 moko_pixmap_button_set_finger_toolbox_btn_center_image 408 (MOKO_PIXMAP_BUTTON (button), image); 402 409 g_signal_connect (G_OBJECT (button), "clicked", 403 410 G_CALLBACK (cb_tool_button_speaker_clicked), 404 411 p_dialer_data); 405 412 406 button = MOKO_PIXMAP_BUTTON (moko_finger_tool_box_add_button_without_label (tools)); 413 button = 414 MOKO_PIXMAP_BUTTON (moko_finger_tool_box_add_button_without_label 415 (tools)); 407 416 image = file_new_image_from_relative_path ("dtmf.png"); 408 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON(button), image); 417 moko_pixmap_button_set_finger_toolbox_btn_center_image 418 (MOKO_PIXMAP_BUTTON (button), image); 409 419 g_signal_connect (G_OBJECT (button), "clicked", 410 420 G_CALLBACK (cb_tool_button_dtmf_talk_clicked), 411 421 p_dialer_data); 412 p_dialer_data->buttonTalk_DTMF =button;422 p_dialer_data->buttonTalk_DTMF = button; 413 423 p_dialer_data->imageDTMF = image; 414 424 p_dialer_data->imageTALK = … … 416 426 417 427 418 button = MOKO_PIXMAP_BUTTON (moko_finger_tool_box_add_button_without_label (tools)); 428 button = 429 MOKO_PIXMAP_BUTTON (moko_finger_tool_box_add_button_without_label 430 (tools)); 419 431 image = file_new_image_from_relative_path ("hangup.png"); 420 moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON(button), image); 432 moko_pixmap_button_set_finger_toolbox_btn_center_image 433 (MOKO_PIXMAP_BUTTON (button), image); 421 434 g_signal_connect (G_OBJECT (button), "clicked", 422 435 G_CALLBACK (cb_tool_button_hangup_clicked), … … 434 447 return 1; 435 448 } 436
Note: See TracChangeset
for help on using the changeset viewer.
