36
#if ! GLIB_CHECK_VERSION(2,35,0)
37
/* Deprecated since 2.35.0. */
41
41
trackpoint_list = g_queue_new();
43
43
global_home_dir = getenv("HOME");
45
global_settings = g_settings_new(SCHEMA);
46
global_curr_reponame = g_settings_get_string(global_settings, "repo-name");
45
global_gconfclient = gconf_client_get_default();
46
global_curr_reponame = gconf_client_get_string(global_gconfclient, GCONF"/repo_name",err);
49
49
if(global_curr_reponame == NULL)
51
printf("repo_name setting not set\n");
51
printf("gconf repo_name not set\n");
52
52
global_curr_reponame = g_strdup("OSM");
54
settings_get_repolist();
55
55
repoconfig__set_current_list_pointer();
57
global_x = g_settings_get_int(
60
global_y = g_settings_get_int(
63
global_zoom = g_settings_get_int(
66
global_detail_zoom = g_settings_get_int (
68
"global-detail-zoom");
57
global_x = gconf_client_get_int(
61
global_y = gconf_client_get_int(
65
global_zoom = gconf_client_get_int(
69
global_detail_zoom = gconf_client_get_int (
71
GCONF"/global_detail_zoom",
79
global_server = g_settings_get_string (global_settings,
83
global_server = gconf_client_get_string (global_gconfclient,
81
86
if (global_server == NULL)
83
printf("GPSD address setting not set\n");
88
printf("gconf GPSD address not set\n");
84
89
global_server = g_strdup("127.0.0.1");
87
global_port = g_settings_get_string (global_settings,
92
global_port = gconf_client_get_string (global_gconfclient,
89
95
if (global_port == NULL)
91
printf("GPSD port setting not set\n");
97
printf("gconf GPSD port not set\n");
92
98
global_port = g_strdup("2947");
95
global_no_redownload = g_settings_get_boolean(
99
global_auto_download = g_settings_get_boolean(global_settings,
101
if(gconf_client_get_bool(global_gconfclient, GCONF"/started_before", err))
102
global_auto_download = gconf_client_get_bool(
104
GCONF"/auto_download",
108
gconf_client_set_bool(global_gconfclient, GCONF"/started_before", TRUE, err);
109
gconf_client_set_bool(global_gconfclient, GCONF"/auto_download", TRUE, err);
110
global_auto_download = TRUE;
118
gpointer data = NULL;
106
120
GError *err = NULL;
107
const gchar *nick, *pass, *me_msg, *hrm_bt_addr;
121
const gchar *nick, *pass, *me_msg;
108
122
GtkWidget *widget;
109
123
gchar buffer[128];
110
124
gboolean gconf_fftimer_running;
111
125
char *str = NULL;
114
128
foxtrotgps_dir = g_strconcat(global_home_dir, "/." PACKAGE, NULL);
115
129
g_mkdir(foxtrotgps_dir, 0700);
117
131
repoconfig__create_dropdown();
122
global_settings = g_settings_new(SCHEMA);
123
nick = g_settings_get_string(global_settings, "nick");
124
pass = g_settings_get_string(global_settings, "pass");
125
me_msg = g_settings_get_string(global_settings, "me-msg");
126
hrm_bt_addr = g_settings_get_string(global_settings, "hrm-bt-addr");
128
global_speed_unit = g_settings_get_int(global_settings, "speed-unit");
129
global_alt_unit = g_settings_get_int(global_settings, "alt-unit");
130
global_latlon_unit = g_settings_get_int(global_settings, "latlon-unit");
132
widget = lookup_widget(window1, "button3");
133
gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(widget),
136
widget = lookup_widget(window1, "button56");
137
gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(widget),
136
global_gconfclient = gconf_client_get_default();
137
nick = gconf_client_get_string(global_gconfclient, GCONF"/nick",&err);
138
pass = gconf_client_get_string(global_gconfclient, GCONF"/pass",&err);
139
me_msg = gconf_client_get_string(global_gconfclient, GCONF"/me_msg",&err);
141
global_speed_unit = gconf_client_get_int(global_gconfclient, GCONF"/speed_unit",&err);
142
global_alt_unit = gconf_client_get_int(global_gconfclient, GCONF"/alt_unit",&err);
143
global_latlon_unit = gconf_client_get_int(global_gconfclient, GCONF"/latlon_unit",&err);
140
145
switch (global_speed_unit)
178
183
widget = lookup_widget(window1, "entry29");
180
185
gtk_entry_set_text( GTK_ENTRY(widget), me_msg );
181
widget = lookup_widget(window1, "entry33");
183
gtk_entry_set_text( GTK_ENTRY(widget), hrm_bt_addr );
186
188
widget = lookup_widget(window1, "vscale1");
187
189
gtk_range_set_value(GTK_RANGE(widget), (double) global_zoom);
189
global_track_dir = g_settings_get_string(global_settings, "track-dir");
191
global_track_dir = gconf_client_get_string(global_gconfclient, GCONF"/track_dir",&err);
190
192
if(!global_track_dir)
191
193
global_track_dir = g_strdup_printf("%s/Maps/",global_home_dir);
193
195
global_myposition.lat = 0;
194
196
global_myposition.lon = 0;
196
198
widget = lookup_widget(window1, "checkbutton2");
197
199
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), global_auto_download);
199
widget = glade_xml_get_widget (gladexml, "tile_redownload_toggle");
200
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget),
201
!global_no_redownload);
203
hrm_on = g_settings_get_boolean(global_settings, "hrm-on");
204
widget = lookup_widget(window1, "checkbutton18");
205
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), hrm_on);
207
gconf_fftimer_running = FALSE;
209
global_ffupdate_interval_minutes = g_settings_get_double(global_settings, "ffupdate-interval-minutes");
206
gconf_fftimer_running = gconf_client_get_bool(global_gconfclient, GCONF"/fftimer_running",&err);
209
global_ffupdate_interval_minutes = gconf_client_get_float(global_gconfclient, GCONF"/ffupdate_interval_minutes",&err);
211
211
if(!global_ffupdate_interval_minutes)
212
212
global_ffupdate_interval_minutes = 5;
214
214
global_ffupdate_interval = global_ffupdate_interval_minutes * 60000;
216
216
if (global_ffupdate_interval_minutes<5)
219
219
g_sprintf(buffer, "%.0f", global_ffupdate_interval_minutes);
221
221
widget = lookup_widget(window1, "entry16");
222
// gtk_entry_set_text( GTK_ENTRY(widget), buffer );
222
gtk_entry_set_text( GTK_ENTRY(widget), buffer );
224
226
if(gconf_fftimer_running)
226
228
widget = lookup_widget(menu1, "item19");
227
229
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), TRUE);
232
str = g_settings_get_string(global_settings, "gpsd-host");
234
str = gconf_client_get_string(global_gconfclient, GCONF"/gpsd_host",&err);
233
235
widget = lookup_widget(window1, "entry3");
235
237
gtk_entry_set_text(GTK_ENTRY(widget), g_strdup(str));
238
str = g_settings_get_string(global_settings, "gpsd-port");
240
str = gconf_client_get_string(global_gconfclient, GCONF"/gpsd_port",&err);
239
241
widget = lookup_widget(window1, "entry4");
241
243
gtk_entry_set_text(GTK_ENTRY(widget), g_strdup(str));
244
if (g_settings_get_boolean(global_settings, "tracklog-on")) {
246
if (gconf_client_get_bool(global_gconfclient, GCONF"/tracklog_on", NULL)) {
245
247
widget = lookup_widget(window1, "checkbutton17");
246
248
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
251
timer = g_timeout_add (1000,cb_gps_timer,data);
251
253
gtk_window_set_icon_from_file(GTK_WINDOW(window1), PACKAGE_PIXMAPS_DIR "/" PACKAGE ".png" ,&err);
254
fprintf (stderr, _("Failed to load pixbuf file: %s\n"),
256
fprintf (stderr, "Failed to load pixbuf file: %s\n", err->message);
256
257
g_error_free (err);
260
global_myposition.lat = g_settings_get_double(global_settings, "myposition-lat");
261
global_myposition.lon = g_settings_get_double(global_settings, "myposition-lon");
261
global_myposition.lat = gconf_client_get_float(global_gconfclient, GCONF"/myposition_lat", NULL);
262
global_myposition.lon = gconf_client_get_float(global_gconfclient, GCONF"/myposition_lon", NULL);
262
263
paint_myposition();
266
settings_get_repolist()
271
repo_list = g_settings_get_strv( global_settings,
274
if (repo_list == NULL || repo_list[0] == NULL)
272
GError **error = NULL;
275
repo_list = gconf_client_get_list( global_gconfclient,
280
if (repo_list == NULL)
276
282
repo_t *repo1 = g_new0(repo_t, 1);
277
283
repo_t *repo2 = g_new0(repo_t, 1);
279
285
repo_t *repo4 = g_new0(repo_t, 1);
280
286
repo_t *repo5 = g_new0(repo_t, 1);
283
289
printf("REPOLIST == NULL\n");
285
291
repo1->name = g_strdup("OSM");
286
repo1->uri = g_strdup("https://tile.openstreetmap.org/%d/%d/%d.png");
292
repo1->uri = g_strdup("http://tile.openstreetmap.org/%d/%d/%d.png");
287
293
repo1->dir = g_strdup_printf("%s/Maps/OSM",global_home_dir);
288
294
repo1->inverted_zoom = 0;
289
295
global_repo_list = g_slist_append(global_repo_list, repo1);
293
299
repo2->dir = g_strdup_printf("%s/Maps/maps4free",global_home_dir);
294
300
repo2->inverted_zoom = 0;
295
301
global_repo_list = g_slist_append(global_repo_list, repo2);
297
repo3->name = g_strdup("OpenCycleMap");
298
repo3->uri = g_strdup("http://tile.opencyclemap.org/cycle/%d/%d/%d.png");
303
repo3->name = g_strdup("Opencyclemap");
304
repo3->uri = g_strdup("http://a.andy.sandbox.cloudmade.com/tiles/cycle/%d/%d/%d.png");
299
305
repo3->dir = g_strdup_printf("%s/Maps/opencyclemap",global_home_dir);
300
306
repo3->inverted_zoom = 0;
301
307
global_repo_list = g_slist_append(global_repo_list, repo3);
303
309
repo4->name = g_strdup("Google Maps (testing only)");
304
repo4->uri = g_strdup("https://mt0.google.com/vt/lyrs=m&hl=en&x=%d&y=%d&z=%d");
310
repo4->uri = g_strdup("http://mt0.google.com/vt/hl=en&x=%d&y=%d&z=%d");
305
311
repo4->dir = g_strdup_printf("%s/Maps/googlemaps",global_home_dir);
306
312
repo4->inverted_zoom = 1;
307
313
global_repo_list = g_slist_append(global_repo_list, repo4);
309
315
repo5->name = g_strdup("Google Sat (testing only)");
310
repo5->uri = g_strdup("https://mt0.google.com/vt/lyrs=s&hl=en&x=%d&y=%d&z=%d");
316
repo5->uri = g_strdup("http://khm.google.com/kh/v=53&x=%d&y=%d&z=%d");
311
317
repo5->dir = g_strdup_printf("%s/Maps/googlesat",global_home_dir);
312
318
repo5->inverted_zoom = 1;
313
319
global_repo_list = g_slist_append(global_repo_list, repo5);
319
for(gint i = 0; repo_list[i] != NULL; i++)
325
for(list = repo_list; list != NULL; list = list->next)
322
gchar *str = repo_list[i];
328
gchar *str = list->data;
323
329
repo_t *repo = g_new0(repo_t, 1);
325
array = g_strsplit(str,"|",4);
331
array = g_strsplit(str,"|",4);
327
333
repo->name = g_strdup(array[0]);
328
334
repo->uri = g_strdup(array[1]);
329
335
repo->dir = g_strdup(array[2]);
330
336
repo->inverted_zoom = (atoi(g_strdup(array[3])) == 1) ? TRUE : FALSE;
332
338
global_repo_list = g_slist_append(global_repo_list, repo);
340
printf("GCONF: \n -- name: %s \n -- uri: %s \n -- dir: %s \n",
341
repo->name, repo->uri, repo->dir);
336
g_strfreev (repo_list);
338
return global_repo_list;
345
return global_repo_list;
343
settings_set_repolist()
347
GPtrArray *setting_list = NULL;
354
GSList *gconf_list = NULL;
355
GError **error = NULL;
348
356
gboolean success = FALSE;
352
setting_list = g_ptr_array_new ();
354
360
for(list = global_repo_list; list != NULL; list = list->next)
357
gchar setting_str[1024];
363
gchar gconf_str[1024];
359
365
repo = list->data;
362
g_sprintf( setting_str,
368
g_sprintf( gconf_str,
364
370
repo->name, repo->uri, repo->dir, repo->inverted_zoom);
372
gconf_list = g_slist_append(gconf_list, g_strdup(gconf_str));
366
g_ptr_array_add(setting_list, (gpointer) g_strdup(setting_str));
374
printf("GCONFSAVE: \n -- name: %s \n -- uri: %s \n -- dir: %s \n -- zoom: %i \n\n %s \n",
375
repo->name, repo->uri, repo->dir, repo->inverted_zoom, gconf_str);
369
g_ptr_array_add(setting_list, NULL);
371
success = g_settings_set_strv( global_settings,
373
(const gchar * const *) setting_list->pdata);
375
g_strfreev((gchar **) setting_list->pdata);
376
g_ptr_array_free (setting_list, FALSE);
378
success = gconf_client_set_list( global_gconfclient,
384
printf("*** %s(): %i \n",__PRETTY_FUNCTION__, success);
382
391
repoconfig__set_current_list_pointer()
387
396
const gchar *reponame;
390
399
for(list = global_repo_list; list != NULL; list = list->next)
393
402
repo = list->data;
395
404
reponame = g_strdup(repo->name);
397
406
if( g_strrstr(reponame,global_curr_reponame) != NULL &&
398
strlen(reponame) == strlen(global_curr_reponame)
407
strlen(reponame) == strlen(global_curr_reponame)
400
409
global_curr_repo = list;
402
411
if(!global_curr_repo)
404
413
printf("\n#\n#\n# ERROR: repository %s is broken \n#\n#\n", global_curr_reponame);
406
415
printf("Resetting repo_name and exiting now.\n\n");
407
416
printf("If problem persists after restart, \n");
408
printf("execute in a terminal: gsettings reset " SCHEMA " repos\n");
409
unused = system("gsettings reset " SCHEMA " repo_name");
417
printf("execute in a terminal: gconftool-2 -u " GCONF "/repos\n");
418
unused = system("gconftool-2 -u " GCONF "/repo_name");