static void on_search(void) { SsdWidget list_cont; SsdWidget edit; const char* text; roadmap_result rc; SsdWidget dlg = generic_search_dlg_get_search_dlg(search_local); if (!RealTimeLoginState()){ roadmap_messagebox( roadmap_lang_get( "Search location"), roadmap_lang_get( "Search requires internet connection." "Please make sure you are connected.")); return; } edit = generic_search_dlg_get_search_edit_box(search_local); s_searching = TRUE; roadmap_main_set_periodic( 100, search_progress_message_delayed ); text = ssd_text_get_text( edit ); list_cont= dlg->context; rc = local_search_resolve_address( list_cont, on_address_resolved, text ); if( succeeded == rc) { roadmap_main_set_cursor( ROADMAP_CURSOR_WAIT); roadmap_log(ROADMAP_DEBUG, "local_search_dlg::on_search() - Started Web-Service transaction: Resolve address"); } else { const char* err = roadmap_result_string( rc); s_searching = FALSE; roadmap_log(ROADMAP_ERROR, "local_search_dlg::on_search() - Resolve process transaction failed to start"); /* Close the progress message */ ssd_progress_msg_dialog_hide(); roadmap_messagebox_cb ( roadmap_lang_get( "Search location"), roadmap_lang_get( err ), on_search_error_message ); } }
static void on_search(void) { SsdWidget list_cont; SsdWidget edit; const char* text; roadmap_result rc; const char* dl_prefix = roadmap_lang_get ("map:"); SsdWidget dlg = generic_search_dlg_get_search_dlg(search_address); edit = generic_search_dlg_get_search_edit_box(search_address); if ( !strcmp( DEBUG_LEVEL_SET_PATTERN, ssd_text_get_text( edit ) ) ) { roadmap_start_reset_debug_mode(); return; } if ( !strcmp( "##@coord", ssd_text_get_text( edit ) ) ) { roadmap_gps_reset_show_coordinates(); return; } if ( !strcmp( "##@il", ssd_text_get_text( edit ) ) ) { roadmap_geo_config_il(NULL); return; } if ( !strcmp( "##@usa", ssd_text_get_text( edit ) ) ) { roadmap_geo_config_usa(NULL); return; } if ( !strcmp( "##@other", ssd_text_get_text( edit ) ) ) { roadmap_geo_config_other(NULL); return; } if ( !strcmp( "##@stg", ssd_text_get_text( edit ) ) ) { roadmap_geo_config_stg(NULL); return; } if ( !strcmp( "##@heb", ssd_text_get_text( edit ) ) ) { roadmap_lang_set_system_lang("heb", TRUE); roadmap_messagebox("", "Language changed to Hebrew, please restart waze"); return; } if ( !strcmp( "##@eng", ssd_text_get_text( edit ) ) ) { roadmap_lang_set_system_lang("eng", TRUE); roadmap_messagebox("","Language changed to English, please restart waze"); return; } if ( !strcmp( "cc@tts", ssd_text_get_text( edit ) ) ) { tts_clear_cache(); roadmap_messagebox("","TTS cache has been cleared!"); return; } if ( !strcmp( "##@tts", ssd_text_get_text( edit ) ) ) { tts_set_feature_enabled( !tts_feature_enabled() ); if ( tts_feature_enabled() ) { roadmap_messagebox("","TTS Feature is enabled!\nPlease restart WAZE."); } else { roadmap_messagebox("","TTS Feature is disabled!"); } navigate_main_override_nav_settings(); return; } if ( !strcmp( "dbg@tts", ssd_text_get_text( edit ) ) ) { if ( !strcmp( tts_was_provider_voices_set(), TTS_WAS_VOICES_SET_PRODUCTION ) ) { tts_was_provider_apply_voices_set( TTS_WAS_VOICES_SET_DEBUG ); roadmap_messagebox("","TTS Feature is running in debug mode!\nPlease restart WAZE."); } else { tts_was_provider_apply_voices_set( TTS_WAS_VOICES_SET_PRODUCTION ); roadmap_messagebox("","TTS Feature is running in production mode!\nPlease restart WAZE."); } return; } if ( !strncmp( dl_prefix, ssd_text_get_text( edit ), strlen( dl_prefix ) ) ) { roadmap_map_download_region( ssd_text_get_text( edit ) + strlen( dl_prefix ), roadmap_locator_static_county() ); ssd_dialog_hide_all( dec_close); if (!roadmap_screen_refresh ()) roadmap_screen_redraw(); return; } s_searching = TRUE; roadmap_main_set_periodic( 100, search_progress_message_delayed ); text = ssd_text_get_text( edit ); list_cont= dlg->context; rc = address_search_resolve_address( list_cont, on_address_resolved, text ); if( succeeded == rc) { roadmap_main_set_cursor( ROADMAP_CURSOR_WAIT); roadmap_log(ROADMAP_DEBUG, "address_search_dlg::on_search() - Started Web-Service transaction: Resolve address"); } else { const char* err = roadmap_result_string( rc); s_searching = FALSE; roadmap_log(ROADMAP_ERROR, "address_search_dlg::on_search() - Resolve process transaction failed to start"); /* Close the progress message */ ssd_progress_msg_dialog_hide(); roadmap_messagebox_cb ( roadmap_lang_get( "Resolve Address"), roadmap_lang_get( err ), on_search_error_message ); } }
static void on_address_resolved( void* context, address_candidate* array, int size, roadmap_result rc) { static const char* results[ADSR_MAX_RESULTS+1]; static void* indexes[ADSR_MAX_RESULTS+1]; static const char* icons[ADSR_MAX_RESULTS+1]; SsdWidget list_cont = (SsdWidget)context; SsdWidget list; int i; s_searching = FALSE; /* Close the progress message */ ssd_progress_msg_dialog_hide(); roadmap_main_set_cursor( ROADMAP_CURSOR_NORMAL); assert(list_cont); list = ssd_widget_get( list_cont, ASD_RC_LIST_NAME); if( succeeded != rc) { if( is_network_error( rc)) roadmap_messagebox_cb ( roadmap_lang_get( "Oops"), roadmap_lang_get( "Search requires internet connection.\r\nPlease make sure you are connected."), on_search_error_message ); else if( err_as_could_not_find_matches == rc) roadmap_messagebox_cb ( roadmap_lang_get( "Oops"), roadmap_lang_get( "Sorry, no results were found for this search"), on_search_error_message ); else { char msg[128]; snprintf( msg, sizeof(msg), "%s\n%s",roadmap_lang_get("Sorry we were unable to complete the search"), roadmap_lang_get("Please try again later")); roadmap_messagebox_cb ( roadmap_lang_get( "Oops"), msg, on_search_error_message ); } roadmap_log(ROADMAP_ERROR, "address_search_dlg::on_address_resolved() - Resolve process failed with error '%s' (%d)", roadmap_result_string( rc), rc); return; } if( !size) { roadmap_log(ROADMAP_DEBUG, "address_search_dlg::on_address_resolved() - NO RESULTS for the address-resolve process"); return; } assert( size <= ADSR_MAX_RESULTS); if (size == 1 && s_auto_start_nav) { s_auto_start_nav = FALSE; generic_search_dlg_switch_gui(); ssd_dialog_hide_all( dec_close); navigate(1); return; } for( i=0; i<size; i++) { results[i] = array[i].address; indexes[i] = (void*)i; icons[i] = "search_address"; } results[i] = roadmap_lang_get(COULDNT_FIND_ADDRESS_TEXT); indexes[i] = (void*)COULDNT_FIND_INDEX; icons[i] = "submit_logs"; if ( roadmap_native_keyboard_enabled() ) { roadmap_native_keyboard_hide(); } ssd_list_populate(list, size+1, results, (const void **)indexes, icons, 0, on_list_item_selected, NULL, FALSE); generic_search_dlg_switch_gui(); }
static void on_address_resolved( void* context, address_candidate* array, int size, roadmap_result rc) { static const char* results[ADSR_MAX_RESULTS+1]; static void* indexes[ADSR_MAX_RESULTS+1]; static const char* icons[ADSR_MAX_RESULTS+1]; const char* provider_icon = NULL; SsdWidget list_cont = (SsdWidget)context; SsdWidget list; SsdWidget bmp_logo = NULL; int i; s_searching = FALSE; /* Close the progress message */ ssd_progress_msg_dialog_hide(); roadmap_main_set_cursor( ROADMAP_CURSOR_NORMAL); assert(list_cont); list = ssd_widget_get( list_cont, LSD_RC_LIST_NAME); if( succeeded != rc) { if( is_network_error( rc)) roadmap_messagebox_cb ( roadmap_lang_get( "Oops"), roadmap_lang_get( "Search requires internet connection.\r\n" "Please make sure you are connected."), on_search_error_message ); else if( err_as_could_not_find_matches == rc) roadmap_messagebox_cb ( roadmap_lang_get( "Oops"), roadmap_lang_get( "Sorry, no results were found for this search"), on_search_error_message ); else { char msg[128]; snprintf( msg, sizeof(msg), "%s\n%s",roadmap_lang_get("Sorry we were unable to complete the search"), roadmap_lang_get("Please try again later")); roadmap_messagebox_cb ( roadmap_lang_get( "Search location"), msg, on_search_error_message ); } roadmap_log(ROADMAP_ERROR, "local_search_dlg::on_address_resolved() - Resolve process failed with error '%s' (%d)", roadmap_result_string( rc), rc); return; } if( !size) { roadmap_log(ROADMAP_DEBUG, "local_search_dlg::on_address_resolved() - NO RESULTS for the address-resolve process"); return; } assert( size <= ADSR_MAX_RESULTS); provider_icon = local_search_get_icon_name(); for( i=0; i<size; i++) { results[i] = array[i].address; indexes[i] = (void*)i; icons[i] = provider_icon; } if ( roadmap_native_keyboard_enabled() ) { roadmap_native_keyboard_hide(); } /* * Update the results container logo * dynamically according to the current provider */ bmp_logo = ssd_widget_get( s_result_container, "local search icon" ); ssd_bitmap_update( bmp_logo, local_search_get_logo_name() ); ssd_list_populate(list, size, results, (const void **)indexes, icons, 0, on_list_item_selected, NULL, FALSE); generic_search_dlg_switch_gui(); }
static void on_search(void) { SsdWidget list_cont; SsdWidget edit; const char* text; roadmap_result rc; const char* dl_prefix = roadmap_lang_get ("map:"); SsdWidget dlg = generic_search_dlg_get_search_dlg(search_address); edit = generic_search_dlg_get_search_edit_box(search_address); if ( !strcmp( DEBUG_LEVEL_SET_PATTERN, ssd_text_get_text( edit ) ) ) { roadmap_start_reset_debug_mode(); return; } if ( !strcmp( "##@il", ssd_text_get_text( edit ) ) ) { roadmap_geo_config_il(NULL); return; } if ( !strcmp( "##@usa", ssd_text_get_text( edit ) ) ) { roadmap_geo_config_usa(NULL); return; } if ( !strcmp( "##@heb", ssd_text_get_text( edit ) ) ) { roadmap_lang_set_system_lang("heb"); roadmap_messagebox("", "changed to hebrew, please restart wase"); return; } if ( !strcmp( "##@eng", ssd_text_get_text( edit ) ) ) { roadmap_messagebox("","changed to english, please restart wase"); roadmap_lang_set_system_lang("eng"); return; } if ( !strncmp( dl_prefix, ssd_text_get_text( edit ), strlen( dl_prefix ) ) ) { roadmap_map_download_region( ssd_text_get_text( edit ) + strlen( dl_prefix ), roadmap_locator_static_county() ); ssd_dialog_hide_all( dec_close); if (!roadmap_screen_refresh ()) roadmap_screen_redraw(); return; } s_searching = TRUE; roadmap_main_set_periodic( 100, search_progress_message_delayed ); text = ssd_text_get_text( edit ); list_cont= dlg->context; rc = address_search_resolve_address( list_cont, on_address_resolved, text ); if( succeeded == rc) { roadmap_main_set_cursor( ROADMAP_CURSOR_WAIT); roadmap_log(ROADMAP_DEBUG, "address_search_dlg::on_search() - Started Web-Service transaction: Resolve address"); } else { const char* err = roadmap_result_string( rc); s_searching = FALSE; roadmap_log(ROADMAP_ERROR, "address_search_dlg::on_search() - Resolve process transaction failed to start"); /* Close the progress message */ ssd_progress_msg_dialog_hide(); roadmap_messagebox_cb ( roadmap_lang_get( "Resolve Address"), roadmap_lang_get( err ), on_search_error_message ); } }