103
107
gpointer user_data)
105
109
if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK) {
107
111
GtkWidget *range;
110
114
int width_center, height_center;
114
118
if(global_zoom<global_zoom_max)
116
120
range = lookup_widget(window1, "vscale1");
118
122
width_center = map_drawable->allocation.width / 2;
119
123
height_center = map_drawable->allocation.height / 2;
121
125
zoom_old = global_zoom;
124
128
gtk_range_set_value(GTK_RANGE(range), (double) global_zoom);
131
135
global_x = 2 * global_x + (int)event->x;
132
136
global_y = 2 * global_y + (int)event->y;
144
if ( event->type==GDK_2BUTTON_PRESS)
146
printf("end double click\n");
139
149
if(wtfcounter >= WTFCOUNTER)
141
/* This is the mouse release event
142
of a previous drag: */
145
int mouse_dx, mouse_dy;
150
mouse_dx = mouse_x - (int) event->x;
151
mouse_dy = mouse_y - (int) event->y;
153
global_x += mouse_dx;
154
global_y += mouse_dy;
158
widget->style->white_gc,
161
widget->allocation.width+260,
162
widget->allocation.height+260);
164
gtk_widget_queue_draw_area (
166
0,0,widget->allocation.width+260,widget->allocation.height+260);
151
printf("* mouse drag +8events\n");
152
int mouse_dx, mouse_dy;
157
mouse_dx = mouse_x - (int) event->x;
158
mouse_dy = mouse_y - (int) event->y;
160
global_x += mouse_dx;
161
global_y += mouse_dy;
165
widget->style->white_gc,
168
widget->allocation.width+260,
169
widget->allocation.height+260);
171
gtk_widget_queue_draw_area (
173
0,0,widget->allocation.width+260,widget->allocation.height+260);
175
179
if (abs(mouse_x - (int) event->x) < 10 && abs(mouse_y - (int) event->y) < 10)
178
182
gboolean friend_found = FALSE;
179
183
gboolean photo_found = FALSE;
180
184
gboolean poi_found = FALSE;
181
waypoint_t *routepoint;
184
187
if(global_show_friends)
186
189
for(list = friends_list; list != NULL && !friend_found; list = list->next)
190
193
if( abs(f->screen_x - mouse_x) < 15 &&
191
194
abs(f->screen_y - mouse_y) < 15)
194
197
friend_found = TRUE;
200
203
if(global_show_photos && !photo_found)
202
205
for(list = photo_list; list != NULL && !photo_found; list = list->next)
204
207
photo_t *p = list->data;
206
209
if( abs(p->screen_x - mouse_x) < 15 &&
207
210
abs(p->screen_y - mouse_y) < 15)
210
213
photo_found = TRUE;
216
219
if (global_show_pois )
218
221
for(list = poi_list; list != NULL && !poi_found; list = list->next)
220
223
poi_t *p = list->data;
222
225
if( abs(p->screen_x - mouse_x) < 15 &&
223
226
abs(p->screen_y - mouse_y) < 15)
226
229
poi_found = TRUE;
232
routepoint = find_routepoint (mouse_x, mouse_y);
234
if (!friend_found && !photo_found && !poi_found && !routepoint &&
236
if (!friend_found && !photo_found && !poi_found &&
235
237
!distance_mode && !pickpoint_mode)
238
240
gtk_widget_show(menu1);
240
gtk_menu_popup (GTK_MENU(menu1), NULL, NULL, NULL, NULL,
242
gtk_menu_popup (GTK_MENU(menu1), NULL, NULL, NULL, NULL,
243
event->button, event->time);
245
247
if(distance_mode)
247
249
else if (pickpoint_mode)
374
347
GdkEventConfigure *event,
375
348
gpointer user_data)
350
printf("*** %s(): \n",__PRETTY_FUNCTION__);
377
352
map_drawable = widget;
379
354
global_drawingarea_width = widget->allocation.width;
380
355
global_drawingarea_height = widget->allocation.height;
384
359
g_object_unref (pixmap);
386
361
pixmap = gdk_pixmap_new (
388
widget->allocation.width+260,
363
widget->allocation.width+260,
389
364
widget->allocation.height+260,
394
printf("aieee: pixmap NULL\n");
367
if(pixmap) printf("pixmap created\n");
368
else printf("aieee: pixmap NULL\n");
397
371
gdk_draw_rectangle (
399
373
widget->style->white_gc,
427
401
event->area.x, event->area.y,
428
402
event->area.x, event->area.y,
429
403
event->area.width, event->area.height);
433
406
map_scale_indicator();
439
on_button1_clicked (GtkToggleToolButton *button,
412
on_button1_clicked (GtkButton *button,
440
413
gpointer user_data)
442
maximized = gtk_toggle_tool_button_get_active (button);
446
417
gtk_window_fullscreen(GTK_WINDOW(window1));
447
418
fill_tiles_pixel(global_x, global_y, global_zoom, FALSE);
451
424
gtk_window_unfullscreen(GTK_WINDOW(window1));
467
442
gpointer user_data)
469
444
GtkWidget *range;
474
449
int width_center, height_center;
476
451
if(global_zoom<global_zoom_max)
478
453
range = lookup_widget(window1, "vscale1");
480
455
width_center = map_drawable->allocation.width / 2;
481
456
height_center = map_drawable->allocation.height / 2;
483
458
zoom_old = global_zoom;
486
461
gtk_range_set_value(GTK_RANGE(range), (double) global_zoom);
487
462
factor = exp(global_zoom * M_LN2)/exp2(zoom_old);
489
464
global_x = ((global_x + width_center) * factor) - width_center;
490
465
global_y = ((global_y + height_center) * factor) - height_center;
499
on_button3_clicked (GtkToggleToolButton *button,
474
on_button3_clicked (GtkButton *button,
500
475
gpointer user_data)
502
global_autocenter = gtk_toggle_tool_button_get_active(button);
504
if (!global_autocenter)
477
global_autocenter = TRUE;
508
480
if(isnan(gpsdata->fix.latitude) == 0 &&
509
481
isnan(gpsdata->fix.longitude)== 0 &&
715
696
uri = gtk_entry_get_text(GTK_ENTRY(entry_uri));
716
697
dir = gtk_entry_get_text(GTK_ENTRY(entry_dir));
717
698
reversed = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togglebutton));
719
700
gtk_combo_box_append_text (GTK_COMBO_BOX(combobox), g_strdup(reponame));
720
701
gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), global_repo_cnt);
721
702
global_repo_cnt++;
724
705
repo->name = g_strdup(reponame);
725
706
repo->dir = g_strdup(dir);
726
707
repo->uri = g_strdup(uri);
727
708
repo->inverted_zoom = reversed;
729
710
global_repo_list = g_slist_prepend(global_repo_list, repo);
730
711
global_curr_repo = global_repo_list;
732
settings_set_repolist();
713
gconf_set_repolist();
734
715
gtk_widget_hide(dialog1);
719
printf("*** %s(): new repo: %s\n",__PRETTY_FUNCTION__, reponame);
824
818
widget = lookup_widget(window1, "image24");
825
819
gtk_widget_show(widget);
827
gtk_button_set_label (button, _("Stop"));
821
gtk_button_set_label(button, "Stop");
829
823
widget = lookup_widget(menu1, "item19");
830
824
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), TRUE);
832
826
global_fftimer_running = TRUE;
839
833
widget = lookup_widget(window1, "image24");
840
834
gtk_widget_hide(widget);
842
836
g_source_remove(friendfinder_timer);
843
837
g_source_remove(msg_timer);
844
838
friendfinder_timer = 0;
846
840
global_fftimer_running = FALSE;
848
gtk_button_set_label (button, _("Share!"));
842
gtk_button_set_label(button, "Share!");
852
success = g_settings_set_boolean(
855
global_fftimer_running);
846
success = gconf_client_set_bool(
848
GCONF"/fftimer_running",
849
global_fftimer_running,
857
852
global_show_friends = TRUE;
879
874
widget = lookup_widget(window, "vbox35");
880
875
gtk_widget_show (window);
878
printf("screen x,y: %d %d \n",mouse_x, mouse_y);
882
879
lat = pixel2lat(global_zoom, global_y+mouse_y);
883
880
lon = pixel2lon(global_zoom, global_x+mouse_x);
885
882
lat_deg = rad2deg(lat);
886
883
lon_deg = rad2deg(lon);
884
printf ("##### Lonitude: %f %f - %f %f \n", lat, lon, lat_deg, lon_deg);
888
887
if(gpsdata !=NULL && !global_myposition.lat && !global_myposition.lon)
891
acos(sin(deg2rad(gpsdata->fix.latitude)) *
890
acos(sin(deg2rad(gpsdata->fix.latitude)) *
894
cos(deg2rad(gpsdata->fix.latitude)) *
893
cos(deg2rad(gpsdata->fix.latitude)) *
896
895
cos(lon - deg2rad(gpsdata->fix.longitude)) );
898
897
else if(global_myposition.lat && global_myposition.lon)
901
acos(sin(deg2rad(global_myposition.lat)) *
900
acos(sin(deg2rad(global_myposition.lat)) *
904
cos(deg2rad(global_myposition.lat)) *
903
cos(deg2rad(global_myposition.lat)) *
906
905
cos(lon - deg2rad(global_myposition.lon)) );
910
g_sprintf (buffer, _("<b><i>Distance:</i></b> %.3fkm\n"), distance);
909
printf("*** %s(): \n",__PRETTY_FUNCTION__);
911
g_sprintf(buffer, "<b><i>Distance:</i></b> %.3fkm\n",distance);
912
913
for(list = friends_list; list != NULL; list = list->next)
914
915
friend_t *f = list->data;
916
917
if( abs(f->screen_x - mouse_x) < 15 &&
917
918
abs(f->screen_y - mouse_y) < 15)
920
printf("FOUND FRIEND X: %d %d %s\n\n",f->screen_x, mouse_x,f->nick);
919
922
friend_box = create_friend_box(f);
921
924
gtk_box_pack_start (GTK_BOX (widget), friend_box, FALSE, FALSE, 0);
923
926
hseparator = gtk_hseparator_new ();
924
927
gtk_widget_show (hseparator);
925
928
gtk_box_pack_start (GTK_BOX (widget), hseparator, FALSE, FALSE, 0);
927
930
friend_found = TRUE;
932
935
if (!friend_found)
933
g_sprintf (buffer, _("No friends at or near this position"));
936
g_sprintf(buffer,"No friends at or near this position");
936
939
label = lookup_widget(window,"label119");
951
954
float distance=0;
952
955
double unit_conv = 1;
953
956
static gchar distunit[3];
958
printf("screen x,y, global x,y: %d %d %d %d\n",mouse_x, mouse_y, global_x, global_y);
955
960
if(!distance_mode)
956
961
overall_distance = 0.0;
958
963
set_cursor(GDK_CROSSHAIR);
962
967
lat = pixel2lat(global_zoom, global_y+mouse_y);
963
968
lon = pixel2lon(global_zoom, global_x+mouse_x);
965
970
lat_deg = rad2deg(lat);
966
971
lon_deg = rad2deg(lon);
968
switch (global_latlon_unit)
973
printf ("##### Lonitude: %f %f - %f %f \n", lat, lon, lat_deg, lon_deg);
977
switch (global_latlon_unit)
971
980
g_sprintf(latlon, "%f - %f", lat_deg, lon_deg);
974
g_sprintf(latlon, "%s %s",
983
g_sprintf(latlon, "%s %s",
975
984
latdeg2latmin(lat_deg),
976
985
londeg2lonmin(lon_deg));
979
g_sprintf(latlon, "%s %s",
988
g_sprintf(latlon, "%s %s",
980
989
latdeg2latsec(lat_deg),
981
990
londeg2lonsec(lon_deg));
985
994
if(global_speed_unit==1)
987
996
unit_conv = 1.0/1.609344;
997
1006
g_sprintf(distunit, "%s", "km");
1002
1011
if(distance_mode)
1005
acos(sin(deg2rad(start_lat)) *
1014
acos(sin(deg2rad(start_lat)) *
1008
cos(deg2rad(start_lat)) *
1017
cos(deg2rad(start_lat)) *
1010
1019
cos(lon - deg2rad(start_lon)) );
1012
bearing = get_bearing(deg2rad(start_lat), deg2rad(start_lon), lat, lon);
1021
bearing = get_bearing(deg2rad(start_lat), deg2rad(start_lon), lat, lon);
1014
1023
else if(gpsdata !=NULL && gpsdata->fix.latitude)
1017
acos(sin(deg2rad(gpsdata->fix.latitude)) *
1026
acos(sin(deg2rad(gpsdata->fix.latitude)) *
1020
cos(deg2rad(gpsdata->fix.latitude)) *
1029
cos(deg2rad(gpsdata->fix.latitude)) *
1022
1031
cos(lon - deg2rad(gpsdata->fix.longitude)) );
1025
1034
if(distance_mode)
1026
1035
overall_distance += distance;
1029
1038
gtk_clipboard_set_text(gtk_clipboard_get(GDK_SELECTION_CLIPBOARD), latlon, -1);
1033
1042
label = lookup_widget(window2,"label64");
1036
bufp += g_sprintf (bufp, _("<b>This point:</b>\n%s\n"
1037
"<small><i>(coords auto-copied to clipboard)\n</i></small>\n"),
1040
if (gpsdata && gpsdata->fix.latitude)
1044
if(!distance_mode && gpsdata && gpsdata->fix.latitude)
1042
bufp += g_sprintf (bufp, _("<b>Bearing:</b>\n%.1f°\n"),
1047
bufp += g_sprintf (bufp, _("<b>Distance from your location:</b>\n%.2f%s\n"),
1046
g_sprintf(buffer,"<b>This point:</b> \n%s \n"
1047
"<small><i>(coords auto-copied to clipboard)\n</i></small>\n"
1048
"<b>Bearing:</b>\n%.1f°\n"
1049
"<b>Distance from your location:</b>\n%.2f%s\n"
1050
"Click another point for distance",
1051
latlon, bearing/M_PI*180,
1052
distance*unit_conv, distunit);
1054
else if (!distance_mode && (!gpsdata || (gpsdata && !gpsdata->fix.latitude)))
1055
bufp += g_sprintf (bufp, _("Click another point for distance"));
1056
g_sprintf(buffer,"<b>This point:</b> \n%s \n"
1057
"<small><i>(coords auto-copied to clipboard)\n</i></small>\n"
1058
"Click another point for distance",
1059
bufp += g_sprintf (bufp, _("<b>Distance from last point:</b>\n%.2f%s\n"),
1060
distance*unit_conv, distunit);
1061
bufp += g_sprintf (bufp, _("<b>Overall Distance:</b>\n%.2f%s"),
1062
overall_distance*unit_conv, distunit);
1063
g_sprintf(buffer,"<b>This point:</b> \n%s \n"
1064
"<small><i>(coords auto-copied to clipboard)\n</i></small>\n"
1065
"<b>Bearing:</b>\n%.1f°\n"
1066
"<b>Distance from last point:</b>\n%.2f%s\n"
1067
"<b>Overall Distance:</b>\n%.2f%s",
1068
latlon, bearing/M_PI*180,
1069
distance*unit_conv, distunit,
1070
overall_distance*unit_conv, distunit);
1065
1074
gtk_label_set_label(GTK_LABEL(label),buffer);
1066
1075
gtk_widget_show (window2);
1070
1079
if(distance_mode)
1073
1082
int pixel_x, pixel_y, x, y;
1077
1086
GdkColor color;
1080
1089
gc = gdk_gc_new(pixmap);
1081
1090
color.green = 0;
1082
1091
color.blue = 50000;
1086
1095
gc, 5, GDK_LINE_SOLID, GDK_CAP_ROUND, GDK_JOIN_ROUND);
1091
1100
lt = deg2rad(start_lat);
1092
1101
ln = deg2rad(start_lon);
1093
1102
pixel_x = lon2pixel(global_zoom, ln);
1094
1103
pixel_y = lat2pixel(global_zoom, lt);
1095
1104
x = pixel_x - global_x;
1096
1105
y = pixel_y - global_y;
1100
1109
gdk_draw_line (pixmap, gc, x, y, mouse_x, mouse_y);
1102
1111
gtk_widget_queue_draw_area (
1104
((x > mouse_x) ? mouse_x : x) - 4,
1113
((x > mouse_x) ? mouse_x : x) - 4,
1105
1114
((y > mouse_y) ? mouse_y : y) - 4,
1106
1115
abs(mouse_x - x) + 8,
1107
1116
abs(mouse_y - y) + 8);
1119
printf("LINE x y lx ly: %d %d %d %d\n", start_x, start_y, mouse_x, mouse_y);
1113
1125
GdkColor color;
1116
1128
gc = gdk_gc_new(pixmap);
1117
1129
color.green = 20000;
1118
1130
color.blue = 20000;
1173
1185
GdkEventButton *event,
1174
1186
gpointer user_data)
1177
1189
GtkWidget *label;
1178
1190
gchar buffer[512];
1179
1191
float lat, lon,lat_deg,lon_deg;
1194
printf("screen x,y: %d %d \n",mouse_x, mouse_y);
1181
1195
lat = pixel2lat(global_zoom, global_y+mouse_y);
1182
1196
lon = pixel2lon(global_zoom, global_x+mouse_x);
1184
1198
lat_deg = rad2deg(lat);
1185
1199
lon_deg = rad2deg(lon);
1187
1201
global_myposition.lat = lat_deg;
1188
1202
global_myposition.lon = lon_deg;
1190
1204
label = lookup_widget(window2,"label64");
1192
g_sprintf (buffer, _("<b>Manually set position</b>\n\n"
1193
"This point:\n\n <i>%f %f</i>\n\n"
1194
"will now be used as your location\n"
1195
"for the friend finder service."),
1196
global_myposition.lat,
1197
global_myposition.lon);
1206
g_sprintf(buffer,"<b>Manually set position</b>\n\nThis point: \n\n"
1207
" <i>%f %f</i> \n\n"
1208
"will now be used as your location\n"
1209
"for the friend finder service.",
1210
global_myposition.lat,
1211
global_myposition.lon);
1199
1213
gtk_label_set_label(GTK_LABEL(label),buffer);
1200
1214
gtk_widget_show (window2);
1202
g_settings_set_double(
1205
global_myposition.lat);
1207
g_settings_set_double(
1210
global_myposition.lon);
1216
gconf_client_set_float(
1218
GCONF"/myposition_lat",
1219
global_myposition.lat,
1222
gconf_client_set_float(
1224
GCONF"/myposition_lon",
1225
global_myposition.lon,
1212
1228
paint_myposition();
1230
1251
int width_center, height_center;
1231
1252
static int slowpad = 0;
1233
1254
if (event->direction == GDK_SCROLL_UP && slowpad % 2 ==0)
1237
1258
if(global_zoom<global_zoom_max)
1239
1260
range = lookup_widget(window1, "vscale1");
1241
1262
width_center = map_drawable->allocation.width / 2;
1242
1263
height_center = map_drawable->allocation.height / 2;
1244
1265
zoom_old = global_zoom;
1247
1268
gtk_range_set_value(GTK_RANGE(range), (double) global_zoom);
1254
1275
global_x = 2 * global_x + (int)event->x;
1255
1276
global_y = 2 * global_y + (int)event->y;
1393
1421
GtkWidget *dialog3;
1394
1422
GtkEntry *entry;
1424
GError **error = NULL;
1396
1425
gboolean success = FALSE;
1400
1429
entry = (GtkEntry *)lookup_widget(GTK_WIDGET(button), "entry12");
1401
1430
global_track_dir = g_strconcat(gtk_entry_get_text(entry),"/",NULL);
1403
result = strncmp(global_track_dir, "~", 1);
1432
result = strncmp(global_track_dir, "~", 1);
1407
1436
char *sub_home, *home_dir;
1409
1438
strsep(&global_track_dir, "~");
1410
1439
sub_home = g_strdup(strsep(&global_track_dir, "~"));
1411
1440
home_dir = getenv("HOME");
1413
1442
g_free(global_track_dir);
1414
1443
global_track_dir = g_strconcat(home_dir, sub_home, NULL);
1416
1445
g_free(sub_home);
1449
printf("TRACKDIR: %s - ~ %d\n",global_track_dir, result);
1419
1452
mkres = g_mkdir_with_parents(global_track_dir,0700);
1420
1453
if(mkres==-1) {
1454
printf("MKDIR ERROR\n\n");
1421
1455
perror("mkdir........");
1424
success = g_settings_set_string(
1458
success = gconf_client_set_string(
1429
1464
dialog3 = lookup_widget(GTK_WIDGET(button), "dialog3");
1431
1466
gtk_widget_hide(dialog3);
1552
1601
GdkPixbuf *photo = NULL;
1553
1602
GError *error = NULL;
1556
1605
waypoint_t *wp = g_new0(waypoint_t,1);
1558
1607
gtk_widget_show(window3);
1560
1609
drawingarea2 = lookup_widget(window3,"drawingarea2");
1568
1617
label = lookup_widget(window3,"label104");
1575
1624
for(list = photo_list; list != NULL; list = list->next)
1577
1626
photo_t *p = list->data;
1627
printf("\n\nPIXEL PHOTOS: %d %d \n\n",p->screen_x,p->screen_y);
1579
1629
if(abs(p->screen_x - mouse_x) < 15 &&
1580
1630
abs(p->screen_y - mouse_y) < 15 &&
1581
!photo_found && !photo)
1631
!photo_found && !photo)
1634
printf("FOUND PHOTO X: %d %d %s\n",p->screen_x, mouse_x, p->name);
1586
1640
photo_found = TRUE;
1587
1641
wp->lat = deg2rad(p->lat);
1588
1642
wp->lon = deg2rad(p->lon);
1591
1645
photo = gdk_pixbuf_new_from_file_at_size (
1592
1646
p->filename, 240,-1,
1596
printf ("+++++++++++++ PHOTO NOT FOUND +++++++++\n");
1597
g_sprintf (buffer, _("File not found"));
1650
printf ("+++++++++++++ FOTO NOT FOUND +++++++++\n");
1651
g_sprintf(buffer, "File not found");
1601
1655
photo_file = p->filename;
1657
printf ("+++++++++++++ F*CKING DRAWINF +++++++++\n");
1603
1659
gc = gdk_gc_new(pixmap_photo);
1605
1661
gdk_draw_rectangle (
1607
1663
drawingarea2->style->white_gc,
1650
1706
hd1 = g_signal_connect ( (gpointer) widget, "clicked",
1651
1707
G_CALLBACK (on_button29_clicked),
1652
1708
(gpointer) wp);
1654
1710
widget = lookup_widget(window3, "button21");
1655
1711
if(hd2) g_signal_handler_disconnect(G_OBJECT(widget), hd2);
1656
1712
hd2 = g_signal_connect ( (gpointer) widget, "clicked",
1657
1713
G_CALLBACK (on_button21_clicked),
1658
1714
(gpointer) g_strdup(photo_file));
1689
1748
G_CALLBACK (g_object_unref), gladexml);
1691
1750
gtk_widget_show(widget);
1693
1752
drawingarea = lookup_widget(widget, "drawingarea3");
1695
1754
photo = gdk_pixbuf_new_from_file_at_size (
1696
1755
photo_file, 640,-1,
1700
printf ("+++++++++++++ PHOTO NOT FOUND: %s +++++++++\n", photo_file);
1701
g_sprintf (buffer, _("File not found"));
1759
printf ("+++++++++++++ FOTO NOT FOUND: %s +++++++++\n", photo_file);
1760
g_sprintf(buffer, "File not found");
1705
1764
gc = gdk_gc_new(pixmap_photo);
1707
1766
gdk_draw_rectangle (
1709
1768
drawingarea->style->white_gc,
1817
1879
GtkWidget *dialog,*combobox,*widget;
1818
1880
gboolean pois_shown;
1882
printf("*** %s(): \n",__PRETTY_FUNCTION__);
1820
1884
dialog = lookup_widget(GTK_WIDGET(button), "dialog6");
1822
1886
combobox = lookup_widget(GTK_WIDGET(button), "combobox4");
1823
1887
global_poi_cat = gtk_combo_box_get_active(GTK_COMBO_BOX(combobox));
1825
1889
gtk_widget_hide(dialog);
1827
1891
widget = lookup_widget(menu1, "item20");
1828
1892
pois_shown = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget));
1833
1897
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), TRUE);
1888
1956
g_source_remove(friendfinder_timer);
1889
1957
friendfinder_timer = 0;
1892
1960
if(msg_timer) {
1893
1961
g_source_remove(msg_timer);
1897
1965
friendfinder_timer = g_timeout_add_seconds(global_ffupdate_interval/1000, update_position, NULL);
1898
1966
msg_timer = g_timeout_add_seconds(global_ffupdate_interval/1000, send_message, NULL);
1902
success = g_settings_set_double(
1904
"ffupdate-interval-minutes",
1905
global_ffupdate_interval_minutes);
1970
success = gconf_client_set_float(
1972
GCONF"/ffupdate_interval_minutes",
1973
global_ffupdate_interval_minutes,
2171
2258
gpointer user_data)
2173
2260
GtkWidget *entry14, *entry15;
2264
printf("*** %s(): \n",__PRETTY_FUNCTION__);
2176
2267
if(gpsdata && gpsdata->fix.latitude !=0)
2178
2269
entry14 = lookup_widget(GTK_WIDGET(button), "entry14");
2179
2270
entry15 = lookup_widget(GTK_WIDGET(button), "entry15");
2181
2272
g_sprintf(buf, "%f", gpsdata->fix.latitude);
2182
2273
gtk_entry_set_text(GTK_ENTRY(entry14), buf);
2183
2274
g_sprintf(buf, "%f", gpsdata->fix.longitude);
2184
2275
gtk_entry_set_text(GTK_ENTRY(entry15), buf);
2197
2288
GtkWidget *window;
2202
2293
tbuffer = gtk_text_buffer_new(NULL);
2203
2294
gtk_text_buffer_insert_at_cursor(tbuffer, "p->desc", -1);
2204
2295
gtk_text_buffer_set_text(tbuffer, "p->desc", -1);
2209
2300
gladexml = glade_xml_new (gladefile, "window10", GETTEXT_PACKAGE);
2210
2301
glade_xml_signal_autoconnect (gladexml);
2211
2302
window = glade_xml_get_widget (gladexml, "window10");
2212
2303
g_signal_connect_swapped (window, "destroy",
2213
2304
G_CALLBACK (g_object_unref), gladexml);
2214
2305
gtk_widget_show(window);
2218
2309
widget = lookup_widget(window, "entry17");
2219
2310
gtk_entry_set_text(GTK_ENTRY(widget), g_strdup_printf("%f",p->lat_deg));
2221
2312
widget = lookup_widget(window, "entry18");
2222
2313
gtk_entry_set_text(GTK_ENTRY(widget), g_strdup_printf("%f",p->lon_deg));
2224
2315
widget = lookup_widget(window, "entry19");
2225
2316
gtk_entry_set_text(GTK_ENTRY(widget), p->keywords);
2227
2318
widget = lookup_widget(window, "textview2");
2228
2319
gtk_text_view_set_buffer(GTK_TEXT_VIEW(widget), tbuffer);
2229
2320
gtk_text_buffer_set_text(tbuffer, p->desc, -1);
2231
2322
widget = lookup_widget(window, "label126");
2233
2324
if (p->idmd5==NULL)
2234
gtk_label_set_label (GTK_LABEL(widget),
2235
_("<span foreground='#ff0000'>"
2236
"POI has no ID -> see website for help!"
2325
gtk_label_set_label(GTK_LABEL(widget), "<span foreground='#ff0000'>POI has no ID -> see website for help!</span>");
2239
2327
gtk_label_set_text(GTK_LABEL(widget), p->idmd5);
2242
2330
widget = lookup_widget(GTK_WIDGET(button), "window5");
2243
2331
gtk_widget_destroy(widget);
2274
2362
gpointer user_data)
2276
2364
GtkWidget *entry17, *entry18;
2368
printf("*** %s(): \n",__PRETTY_FUNCTION__);
2279
2371
if(gpsdata && gpsdata->fix.latitude !=0)
2281
2373
entry17 = lookup_widget(GTK_WIDGET(button), "entry17");
2282
2374
entry18 = lookup_widget(GTK_WIDGET(button), "entry18");
2284
2376
g_sprintf(buf, "%f", gpsdata->fix.latitude);
2285
2377
gtk_entry_set_text(GTK_ENTRY(entry17), buf);
2286
2378
g_sprintf(buf, "%f", gpsdata->fix.longitude);
2287
2379
gtk_entry_set_text(GTK_ENTRY(entry18), buf);
2294
2386
GdkEventKey *event,
2295
2387
gpointer user_data)
2297
if (event->keyval == GDK_Page_Up || event->keyval == GDK_KP_Up || event->keyval == GDK_i)
2389
if (event->keyval == GDK_Page_Up || event->keyval == GDK_KP_Up || event->keyval == 'i')
2298
2390
on_button4_clicked(NULL, NULL);
2299
else if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK && event->keyval == GDK_p)
2391
else if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK && event->keyval == 'p')
2300
2392
geo_photos_open_dialog_photo_correlate();
2301
else if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK && event->keyval == GDK_t)
2393
else if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK && event->keyval == 't')
2302
2394
tracks_open_tracks_dialog();
2303
else if(event->keyval == GDK_Page_Down || event->keyval == GDK_o)
2395
else if(event->keyval == GDK_Page_Down || event->keyval == 'o')
2304
2396
on_button5_clicked(NULL, NULL);
2305
else if(event->keyval == GDK_m)
2397
else if(event->keyval == 'm')
2306
2398
on_button76_clicked(NULL, NULL);
2307
2399
else if(event->keyval == GDK_space || event->keyval == GDK_F11)
2309
maximized = !maximized;
2310
gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1, "button1")), maximized);
2311
gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1, "button53")), maximized);
2400
on_button1_clicked(GTK_BUTTON(lookup_widget(window1, "button1")), NULL);
2313
2401
else if(event->keyval == GDK_Right)
2315
2403
else if(event->keyval == GDK_Down)
2319
2407
else if(event->keyval == GDK_Up)
2321
2409
else if(event->keyval == GDK_a)
2323
global_autocenter = !global_autocenter;
2324
GtkToggleToolButton *autocenter_toggle;
2327
GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1,
2329
gtk_toggle_tool_button_set_active(autocenter_toggle,
2333
GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1,
2335
gtk_toggle_tool_button_set_active(autocenter_toggle,
2410
on_button3_clicked(GTK_BUTTON(lookup_widget(window1,"button3")), NULL);
2338
2411
else if(event->keyval == GDK_r)
2339
2412
on_item23_button_release_event(NULL, NULL, NULL);
2340
2413
else if(event->keyval == GDK_1)
2616
2701
uri = gtk_entry_get_text(GTK_ENTRY(entry_uri));
2617
2702
dir = gtk_entry_get_text(GTK_ENTRY(entry_dir));
2618
2703
reversed = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togglebutton));
2620
2705
repo->name = g_strdup(reponame);
2621
2706
repo->dir = g_strdup(dir);
2622
2707
repo->uri = g_strdup(uri);
2623
2708
repo->inverted_zoom = reversed;
2625
2710
global_curr_reponame = g_strdup(reponame);
2627
2712
gtk_combo_box_remove_text(combobox, gtk_combo_box_get_active(combobox));
2628
2713
gtk_combo_box_prepend_text (combobox, g_strdup(repo->name));
2629
2714
gtk_combo_box_set_active(combobox, 0);
2631
settings_set_repolist();
2716
printf("*** %s(): new repo: %s %s\n",__PRETTY_FUNCTION__, repo->name, global_curr_reponame);
2717
gconf_set_repolist();
2633
2719
gtk_widget_hide(dialog8);
2920
on_itemgeocode1_expose_event (GtkWidget *widget, GdkEvent *event, gpointer user_data)
2922
if (system ("command -v gpscorrelate > /dev/null") != 0) {
2923
gtk_widget_set_sensitive (widget, FALSE);
2924
gtk_widget_set_tooltip_text
2925
(widget, _("gpscorrelate is necessary for this feature "
2926
"but does not appear to be installed."));
2928
gtk_widget_set_sensitive (widget, TRUE);
2929
gtk_widget_set_tooltip_text (widget, NULL);
2938
3026
on_button39_clicked (GtkButton *button,
3028
3117
GdkEventButton *event,
3029
3118
gpointer user_data)
3037
on_checkbutton14_expose_event (GtkWidget *togglebutton, gpointer user_data)
3039
if (system ("command -v jhead > /dev/null") != 0) {
3040
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (togglebutton), FALSE);
3041
gtk_widget_set_sensitive (togglebutton, FALSE);
3042
gtk_widget_set_tooltip_text
3043
(togglebutton, _("jhead is necessary for this feature "
3044
"but does not appear to be installed."));
3046
gtk_widget_set_sensitive (togglebutton, TRUE);
3047
gtk_widget_set_tooltip_text (togglebutton, NULL);
3179
3253
gpointer user_data)
3181
3255
float lat, lon;
3258
printf("screen x,y: %d %d \n",mouse_x, mouse_y);
3183
3259
lat = pixel2lat(global_zoom, global_y+mouse_y);
3184
3260
lon = pixel2lon(global_zoom, global_x+mouse_x);
3186
3262
set_current_wp(lat, lon);
3191
on_add_wp_button_release_event (GtkWidget *widget,
3192
GdkEventButton *event,
3197
lat = pixel2lat (global_zoom, global_y+mouse_y);
3198
lon = pixel2lon (global_zoom, global_x+mouse_x);
3200
append_waypoint_to_route (lat, lon);
3207
on_clear_route_button_release_event (GtkWidget *widget,
3208
GdkEventButton *event,
3217
on_save_route_gpx_button_release_event (GtkWidget *widget,
3218
GdkEventButton *event,
3223
filename = choose_save_file ("Unnamed.gpx");
3224
save_route_as_gpx (filename);
3230
on_load_route_button_release_event (GtkWidget *widget,
3231
GdkEventButton *event,
3236
filename = choose_load_file ();
3237
load_route (filename);
3244
on_save_route_tomtom_button_release_event (GtkWidget *widget,
3245
GdkEventButton *event,
3250
filename = choose_save_file ("Unnamed.itn");
3251
save_route_as_tomtom_itn (filename);
3325
3337
GdkEventButton *event,
3326
3338
gpointer user_data)
3340
printf("* %s()\n",__PRETTY_FUNCTION__);
3330
3343
GtkWidget *widget;
3332
3345
if(!global_infopane_visible)
3334
3347
widget = lookup_widget(window1, "button76");
3335
g_signal_emit_by_name (widget, "clicked");
3348
gtk_button_clicked(GTK_BUTTON(widget));
3338
3351
gtk_widget_hide(global_infopane_current->data);
3340
3353
gtk_widget_show(g_list_nth_data(global_infopane_widgets, FRIENDS_PAGE));
3341
3354
global_infopane_current = g_list_nth(global_infopane_widgets, FRIENDS_PAGE);
3343
3356
widget = lookup_widget(window1, "button35");
3345
3358
if(!msg_pane_visible)
3346
3359
gtk_button_clicked(GTK_BUTTON(widget));
3348
3361
global_new_msg = FALSE;
3357
3370
gpointer user_data)
3359
3372
GtkWidget *label, *button, *entry, *cbox;
3362
3375
dialog10 = glade_xml_get_widget (gladexml, "dialog10");
3364
3377
gtk_widget_show(dialog10);
3366
3379
label = lookup_widget(dialog10, "label190");
3367
3380
gtk_label_set_label(GTK_LABEL(label),"");
3369
3382
entry = lookup_widget(dialog10, "entry31");
3370
3383
gtk_entry_set_text(GTK_ENTRY(entry),"");
3371
3384
entry = lookup_widget(dialog10, "entry32");
3372
gtk_entry_set_text(GTK_ENTRY(entry),"");
3385
gtk_entry_set_text(GTK_ENTRY(entry),"");
3374
3387
button = lookup_widget(dialog10, "okbutton11");
3375
3388
gtk_widget_set_sensitive(button, TRUE);
3377
3390
cbox = lookup_widget(GTK_WIDGET(button), "combobox8");
3378
gtk_combo_box_set_active(GTK_COMBO_BOX(cbox), 0);
3391
gtk_combo_box_set_active(GTK_COMBO_BOX(cbox), 0);
3380
3393
if (gpsdata && gpsdata->fix.latitude !=0)
3382
3395
button = lookup_widget(dialog10, "button61");
3444
3457
GtkWidget *widget;
3445
3458
char *start=NULL, *end=NULL;
3448
3461
gtk_widget_set_sensitive(GTK_WIDGET(button),FALSE);
3450
3463
widget = lookup_widget(GTK_WIDGET(button), "label190");
3452
gtk_label_set_label (GTK_LABEL(widget),
3453
_("<b><i>Connecting...</i></b>"));
3465
gtk_label_set_label(GTK_LABEL(widget),"<b><i>Connecting...</i></b>");
3455
3467
widget = lookup_widget(GTK_WIDGET(button), "entry31");
3456
3468
start = g_strdup( gtk_entry_get_text(GTK_ENTRY(widget)) );
3458
3470
widget = lookup_widget(GTK_WIDGET(button), "entry32");
3459
3471
end = g_strdup( gtk_entry_get_text(GTK_ENTRY(widget)) );
3461
3473
widget = lookup_widget(GTK_WIDGET(button), "combobox8");
3462
service = g_strdup (gtk_combo_box_get_active_text(GTK_COMBO_BOX(widget)));
3464
fetch_track (dialog10, service, start, end);
3474
service = gtk_combo_box_get_active(GTK_COMBO_BOX(widget));
3476
fetch_track(dialog10, service, start, end);
3470
3482
GtkWidget *widget = NULL;
3471
3483
float lat=0, lon=0;
3484
printf("%s():\n",__PRETTY_FUNCTION__);
3473
3488
lat = rad2deg( pixel2lat(global_zoom, global_y+mouse_y) );
3474
3489
lon = rad2deg( pixel2lon(global_zoom, global_x+mouse_x) );
3476
3491
if (pickpoint == 1)
3477
3492
widget = lookup_widget(dialog10, "entry31");
3478
3493
if (pickpoint == 2)
3479
3494
widget = lookup_widget(dialog10, "entry32");
3481
3496
gtk_entry_set_text(GTK_ENTRY(widget), g_strdup_printf("%f,%f",lat,lon));
3483
3498
if (pickpoint == 2)
3484
3499
gtk_widget_grab_focus(widget);
3486
3501
gtk_widget_show(dialog10);
3488
3503
pickpoint_mode = FALSE;
3648
3664
widget->allocation.width+260,
3649
3665
widget->allocation.height+260);
3651
3667
gtk_widget_queue_draw_area (
3653
3669
0,0,widget->allocation.width+260,widget->allocation.height+260);
3656
GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1, "button3"));
3657
gtk_toggle_tool_button_set_active(autocenter_toggle, FALSE);
3660
GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1, "button56"));
3661
gtk_toggle_tool_button_set_active(autocenter_toggle, FALSE);
3671
global_autocenter = FALSE;
3682
tracklog_toolbutton_toggled (GtkToggleToolButton *button, gpointer data)
3684
GtkToggleButton *main_toggle =
3685
GTK_TOGGLE_BUTTON (lookup_widget (window1, "checkbutton17"));
3687
trip_logger_on = gtk_toggle_tool_button_get_active (button);
3689
gtk_toggle_button_set_active (main_toggle, trip_logger_on);
3693
3692
on_checkbutton17_toggled (GtkToggleButton *togglebutton,
3694
3693
gpointer user_data)
3696
GtkToggleToolButton *toolbar_toggle =
3697
GTK_TOGGLE_TOOL_BUTTON (lookup_widget (window1, "button62"));
3699
3695
trip_logger_on = gtk_toggle_button_get_active(togglebutton);
3701
gtk_toggle_tool_button_set_active (toolbar_toggle, trip_logger_on);
3703
3698
if(trip_logger_on)
3705
3700
track_log_open();
3706
g_settings_set_boolean(
3701
gconf_client_set_bool(
3703
GCONF"/tracklog_on",
3713
3708
track_log_close();
3714
g_settings_set_boolean(
3709
gconf_client_set_bool(
3711
GCONF"/tracklog_on",
3744
3728
const char *me_msg;
3746
3730
me_msg = gtk_entry_get_text(GTK_ENTRY(editable));
3747
g_settings_set_string(global_settings, "me-msg", me_msg);
3751
on_checkbutton18_toggled (GtkToggleButton *togglebutton,
3756
hrm_on = gtk_toggle_button_get_active(togglebutton);
3758
g_settings_set_boolean( global_settings,
3762
global_reconnect_hrm = TRUE;
3764
widget = lookup_widget(window1, "label205");
3765
(hrm_on) ? gtk_widget_show(widget) : gtk_widget_hide(widget);
3767
widget = lookup_widget(window1, "label206");
3768
(hrm_on) ? gtk_widget_show(widget) : gtk_widget_hide(widget);
3770
widget = lookup_widget(window1, "label207");
3771
(hrm_on) ? gtk_widget_show(widget) : gtk_widget_hide(widget);
3776
on_entry33_changed (GtkEditable *editable,
3781
entry = gtk_entry_get_text(GTK_ENTRY(editable));
3783
g_settings_set_string(global_settings,
3787
global_hrm_bt_addr = g_strdup(entry);
3788
global_reconnect_hrm = TRUE;
3731
gconf_client_set_string(global_gconfclient, GCONF"/me_msg", me_msg, NULL);
3817
3764
activate_larger_map_details (GtkMenuItem *larger_item, GtkMenuItem *more_item)
3766
GError *error = NULL;
3819
3767
gboolean success = FALSE;
3769
printf ("enlarge details\n");
3821
3771
global_detail_zoom++;
3823
success = g_settings_set_int(
3825
"global-detail-zoom",
3826
global_detail_zoom);
3833
toggle_tile_redownload (GtkToggleButton *togglebutton, gpointer data)
3835
global_no_redownload = !gtk_toggle_button_get_active (togglebutton);
3837
g_settings_set_boolean (global_settings,
3839
global_no_redownload);
3843
on_delete_waypoint_button_release_event (GtkWidget *widget,
3844
GdkEventButton *event,
3847
delete_waypoint_of_route (selected_wp);
3855
on_insert_waypoint_button_release_event (GtkWidget *widget,
3856
GdkEventButton *event,
3859
insert_waypoint_before_of_route (selected_wp);
3867
on_help_menuitem_activate (GtkMenuItem *help_menuitem, gpointer user_data)
3869
system ("xdg-open " PACKAGE_HTML_DIR "/" PACKAGE ".html");
3773
success = gconf_client_set_int(
3775
GCONF"/global_detail_zoom",