static void on_option_selected( BOOL made_selection, ssd_cm_item_ptr item, void* context) { contextmenu_items selection = cm__invalid; BOOL close = FALSE; BOOL do_nav = FALSE; s_menu = FALSE; if( !made_selection) return; selection = item->id; switch( selection) { case cm_navigate: do_nav = TRUE; // Roll down... case cm_show: close = navigate( do_nav); break; case cm_add_to_favorites: { int selected_list_item = get_selected_list_item(); const address_candidate* selection = generic_search_result( selected_list_item); RoadMapPosition position; position.latitude = (int)(selection->latitude*1000000); position.longitude= (int)(selection->longtitude*1000000); generic_search_add_address_to_history( ADDRESS_FAVORITE_CATEGORY, selection->city, selection->street, get_house_number__str( selection->house), selection->state, NULL, &position); break; } case cm_cancel: close = FALSE; break; case cm_add_geo_reminder: { int selected_list_item = get_selected_list_item(); const address_candidate* selection = generic_search_result( selected_list_item); RoadMapPosition position; position.latitude = (int)(selection->latitude*1000000); position.longitude= (int)(selection->longtitude*1000000); roadmap_reminder_add_at_position(&position, TRUE, TRUE); break; } case cm_send: send_error_report(); generic_search_dlg_switch_gui(); break; default: assert(0); break; } if( close) { ssd_dialog_hide_all( dec_close); if (!roadmap_screen_refresh ()) roadmap_screen_redraw(); } }
void roadmap_reminder_save_location(void){ RoadMapPosition *position = (RoadMapPosition *)roadmap_trip_get_position("Selection"); if (!position) return; roadmap_reminder_add_at_position(position, FALSE, FALSE); }