enabling detection of long button pressing..

master
steffen 12 years ago
parent c7d32001a0
commit bb720fa2d8

@ -278,12 +278,8 @@ void main_event () {
t1 = time(NULL); t1 = time(NULL);
if (t1 != t2) { if (t1 != t2) {
t2 = t1; t2 = t1;
if (gps_isrunning () > 0) { app_loop ();
if ((gpspos = gps_loop ())) { }
drawgps_set_pos (gpspos);
}
}
}
} }
/** /**

@ -107,18 +107,12 @@ static gboolean main_wnd_delete_event(GtkWidget *widget, GdkEvent *event, gpoint
* callback function for the cyclic loop * callback function for the cyclic loop
*/ */
gboolean main_wnd_cyclicloop (gpointer data) { gboolean main_wnd_cyclicloop (gpointer data) {
struct gps_data *gpspos; // d_printf ("%s:%d main_wnd_cyclicloop", __FILE__, __LINE__);
while (gtk_events_pending()) // make sure we handle also other GTK events.. while (gtk_events_pending()) // make sure we handle also other GTK events..
gtk_main_iteration(); gtk_main_iteration();
if (gps_isrunning () > 0) { app_loop ();
if ((gpspos = gps_loop ())) {
drawgps_set_pos (gpspos);
}
}
draw_mouseloop ();
return TRUE; return TRUE;
}; };

@ -227,6 +227,7 @@ extern void gui_search_show ();
extern void gui_fav_show (); extern void gui_fav_show ();
extern void gui_mainmenu_show (); extern void gui_mainmenu_show ();
extern void gui_buttons_show (); extern void gui_buttons_show ();
extern char *gui_sfile_show (char *startpath);
extern void gui_config_show (); extern void gui_config_show ();
extern void gpswin_show (); extern void gpswin_show ();
extern void wnd_routing_show (); extern void wnd_routing_show ();

@ -58,7 +58,7 @@ char *gui_sfile_show (char *startpath) {
if (wsf_flist == NULL) wsf_flist = gui_list_new (10, 55, 200, 140); if (wsf_flist == NULL) wsf_flist = gui_list_new (10, 55, 200, 140);
GUI_LIST_T (wsf_flist)->callback_selectitem = gui_sfile_clicklist; GUI_LIST_T (wsf_flist)->callback_selectitem = gui_sfile_clicklist;
GUI_LIST_T (wsf_flist)->data = wsf_flist; GUI_LIST_T (wsf_flist)->data = wsf_list;
gui_window_item_add (&wsfile, wsf_flist); gui_window_item_add (&wsfile, wsf_flist);
gui_sfile_update (); gui_sfile_update ();
@ -102,7 +102,7 @@ void gui_sfile_clicklist (int nr) {
if (GUI_ENTRY_T(wsf_file)->text[strlen (GUI_ENTRY_T(wsf_file)->text)-1] == DIR_SEP) if (GUI_ENTRY_T(wsf_file)->text[strlen (GUI_ENTRY_T(wsf_file)->text)-1] == DIR_SEP)
snprintf (fname, LEN_FILENAME, "%s%s", GUI_ENTRY_T(wsf_file)->text, wsf_list[nr]); snprintf (fname, LEN_FILENAME, "%s%s", GUI_ENTRY_T(wsf_file)->text, wsf_list[nr]);
else else
snprintf (fname, LEN_FILENAME, "%s%c%s", GUI_ENTRY_T(wsf_file)->text, DIR_SEP, wsf_file[nr]); snprintf (fname, LEN_FILENAME, "%s%c%s", GUI_ENTRY_T(wsf_file)->text, DIR_SEP, wsf_list[nr]);
gui_entry_settext (wsf_file, fname); gui_entry_settext (wsf_file, fname);
} }

@ -36,7 +36,7 @@ int app_shutdown () {
gps_stop (); gps_stop ();
route_stop (); route_stop ();
#endif #endif
config_save (); config_save ();
map_save_all (); map_save_all ();
@ -44,6 +44,21 @@ int app_shutdown () {
}; };
int app_loop () {
#ifdef SPOSMROUTE
struct gps_data *gpspos;
if (gps_isrunning () > 0) {
if ((gpspos = gps_loop ())) {
drawgps_set_pos (gpspos);
}
}
draw_mouseloop ();
#endif
return 0;
};
/****************************************************************************** /******************************************************************************
* update stausbar * update stausbar
*/ */

@ -175,6 +175,7 @@ extern struct appdata app;
extern int app_init (int argc, char **argv); extern int app_init (int argc, char **argv);
extern int app_shutdown (); extern int app_shutdown ();
extern void app_status (char *text, int progress); extern void app_status (char *text, int progress);
extern int app_loop ();
extern void config_init (); extern void config_init ();
extern void config_draw_load (char *fn); extern void config_draw_load (char *fn);

@ -143,7 +143,7 @@ void rtrl_addwayname (struct rtdata *r, struct rtreflist *rtrl, struct map_way *
int nr; // segment number int nr; // segment number
int i, n; int i, n;
struct rtref *ref; // pointer to reference data struct rtref *ref; // pointer to reference data
static struct rtwayid _rtrl_wlist [RTRL_MAXWAYS]; // only create this once, saves time.. // static struct rtwayid _rtrl_wlist [RTRL_MAXWAYS]; // only create this once, saves time..
int _rtrl_wlist_cnt = 0; // re-init with zero elements int _rtrl_wlist_cnt = 0; // re-init with zero elements
d_printf (" rtrl_addwayname '%s' id:%lld:%d mw->ref:%s", name, mw->id, mw->subid, mw->ref); d_printf (" rtrl_addwayname '%s' id:%lld:%d mw->ref:%s", name, mw->id, mw->subid, mw->ref);
@ -202,7 +202,7 @@ void rtrl_addwayname (struct rtdata *r, struct rtreflist *rtrl, struct map_way *
struct map_way *mwtmp = NULL; struct map_way *mwtmp = NULL;
struct rtwayid fromdir[2]; /* 0.. left, 1.. right */ struct rtwayid fromdir[2]; /* 0.. left, 1.. right */
struct map_way *mwdir[2] = {NULL, NULL}; struct map_way *mwdir[2] = {NULL, NULL};
int pnrdir[2] = {-1, -1}; /* pnr: where we entered the way */ // int pnrdir[2] = {-1, -1}; /* pnr: where we entered the way */
int dir; int dir;
d_printf (" found closest way nr:%d way:%lld:%d dist:%f", d_printf (" found closest way nr:%d way:%lld:%d dist:%f",
@ -237,11 +237,11 @@ void rtrl_addwayname (struct rtdata *r, struct rtreflist *rtrl, struct map_way *
/* found way */ /* found way */
if (mwdir[0] == NULL) { if (mwdir[0] == NULL) {
mwdir[0]= mwtmp1; mwdir[0]= mwtmp1;
pnrdir[0] = mwtmp->n[i].d_pnr; // pnrdir[0] = mwtmp->n[i].d_pnr;
} }
else if (mwdir[1] == NULL) { else if (mwdir[1] == NULL) {
mwdir[1]= mwtmp1; mwdir[1]= mwtmp1;
pnrdir[1] = mwtmp->n[i].d_pnr; // pnrdir[1] = mwtmp->n[i].d_pnr;
} }
else { else {
d_printf ("%s:%d %s: why there are three connecting referneces? ignoring way:%lld:%d", d_printf ("%s:%d %s: why there are three connecting referneces? ignoring way:%lld:%d",
@ -272,7 +272,7 @@ void rtrl_addwayname (struct rtdata *r, struct rtreflist *rtrl, struct map_way *
if (map_way_getdistance (mwtmp1, &ref->ways[nr].pos, NULL) * 1.5 < dist) { if (map_way_getdistance (mwtmp1, &ref->ways[nr].pos, NULL) * 1.5 < dist) {
fromdir[dir].id = mwdir[dir]->id; fromdir[dir].id = mwdir[dir]->id;
fromdir[dir].sid = mwdir[dir]->subid; fromdir[dir].sid = mwdir[dir]->subid;
pnrdir[dir] = mwdir[dir]->n[i].d_pnr; // pnrdir[dir] = mwdir[dir]->n[i].d_pnr;
mwdir[dir] = mwtmp1; mwdir[dir] = mwtmp1;
} }
else mwdir[dir] = NULL; else mwdir[dir] = NULL;

@ -96,13 +96,7 @@ void test_draw () {
Uint32 msdl_timercallback (Uint32 interval, void *param) { Uint32 msdl_timercallback (Uint32 interval, void *param) {
struct gps_data *gpspos; app_loop ();
if (gps_isrunning () > 0) {
if ((gpspos = gps_loop ())) {
drawgps_set_pos (gpspos);
}
}
d_printf ("timer %d", interval); d_printf ("timer %d", interval);

Loading…
Cancel
Save