~foxtrotgps-team/foxtrotgps/trunk

1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1
#ifdef HAVE_CONFIG_H
2
#  include <config.h>
3
#endif
4
5
#include <gtk/gtk.h>
6
#include <math.h>
7
#include <string.h>
8
#include <stdlib.h>
9
#include <glib.h>
10
#include <glib/gprintf.h>
11
185 by Joshua Judson Rosen
Do #include <glib/gprintf.h> where necessary.
12
#include <gdk/gdkkeysyms.h>
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
13
14
#include "callbacks.h"
15
#include "interface.h"
16
#include "support.h"
17
18
#include "globals.h"
19
#include "map_management.h"
20
#include "tile_management.h"
21
#include "converter.h"
22
#include "gps_functions.h"
23
#include "friends.h"
24
#include "init.h"
25
#include "geo_photos.h"
26
#include "poi.h"
27
#include "wp.h"
28
#include "tracks.h"
29
#include "route.h"
30
#include "hrm_functions.h"
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
31
6.1.15 by Tobias Prousa
Fetch and display heart-rate data, if enabled.
32
/* How many move events must come in for a drag to be recognized: */
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
33
#define WTFCOUNTER 5
208.1.1 by Dr. Tilmann Bubeck
Provied comments clarifying what the `WTFCOUNTER' is for.
34
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
35
36
static int wtfcounter=0;
37
305 by Paul Wise
Remove trailing whitespace
38
static int	friendfinder_timer = 0;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
39
static gboolean distance_mode = FALSE;
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
40
static gboolean pickpoint_mode = FALSE;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
41
static int	pickpoint;
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
42
static int	msg_timer = 0;
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
43
static gboolean msg_pane_visible=TRUE;
44
static gboolean maximized = FALSE;
45
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
46
47
GtkWidget *dialog10 = NULL;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
48
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
49
50
static int local_x = 0;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
51
static int local_y = 0;
52
53
54
static	GdkPixmap *pixmap_photo = NULL;
55
static	GdkPixmap *pixmap_photo_big = NULL;
56
57
void do_distance();
58
void do_pickpoint();
59
void move_map(int i);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
60
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
61
void
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
62
set_cursor(int type)
63
{
64
	static GdkCursor *cursor_cross = NULL;
65
	static GdkCursor *cursor_default = NULL;
66
67
	if(!cursor_cross)
305 by Paul Wise
Remove trailing whitespace
68
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
69
		cursor_cross = gdk_cursor_new(GDK_CROSSHAIR);
70
		cursor_default = gdk_cursor_new(GDK_LEFT_PTR);
71
	}
72
73
	if(type == GDK_CROSSHAIR)
74
		gdk_window_set_cursor(window1->window, cursor_cross);
75
	else
76
		gdk_window_set_cursor(window1->window, cursor_default);
77
}
78
79
waypoint_t *selected_wp;
80
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
81
gboolean
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
82
on_drawingarea1_button_press_event     (GtkWidget       *widget,
83
                                        GdkEventButton  *event,
84
                                        gpointer         user_data)
85
{
86
	wtfcounter = 0;
87
88
	mouse_x = (int) event->x;
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
89
	mouse_y = (int) event->y;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
90
	local_x = global_x;
91
	local_y = global_y;
92
93
	selected_wp = find_routepoint (mouse_x, mouse_y);
305 by Paul Wise
Remove trailing whitespace
94
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
95
	return FALSE;
305 by Paul Wise
Remove trailing whitespace
96
}
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
97
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
98
gboolean
99
on_drawingarea1_button_release_event   (GtkWidget       *widget,
100
                                        GdkEventButton  *event,
101
                                        gpointer         user_data)
102
{
103
	if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK) {
104
105
		GtkWidget *range;
305 by Paul Wise
Remove trailing whitespace
106
		int zoom_old;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
107
		double factor;
108
		int width_center, height_center;
109
110
305 by Paul Wise
Remove trailing whitespace
111
112
		if(global_zoom<global_zoom_max)
113
		{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
114
			range = lookup_widget(window1, "vscale1");
305 by Paul Wise
Remove trailing whitespace
115
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
116
			width_center  = map_drawable->allocation.width 	/ 2;
305 by Paul Wise
Remove trailing whitespace
117
			height_center = map_drawable->allocation.height / 2;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
118
119
			zoom_old = global_zoom;
305 by Paul Wise
Remove trailing whitespace
120
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
121
			global_zoom++;
305 by Paul Wise
Remove trailing whitespace
122
			gtk_range_set_value(GTK_RANGE(range), (double) global_zoom);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
123
124
305 by Paul Wise
Remove trailing whitespace
125
126
			factor = 2;
127
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
128
305 by Paul Wise
Remove trailing whitespace
129
			global_x = 2 * global_x + (int)event->x;
130
			global_y = 2 * global_y + (int)event->y;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
131
132
305 by Paul Wise
Remove trailing whitespace
133
			repaint_all();
134
		}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
135
	}
136
	else {
137
		if(wtfcounter >= WTFCOUNTER)
138
		{
139
			/* This is the mouse release event
140
			   of a previous drag: */
208.1.1 by Dr. Tilmann Bubeck
Provied comments clarifying what the `WTFCOUNTER' is for.
141
142
			if (!selected_wp) {
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
143
				int mouse_dx, mouse_dy;
144
145
				global_x = local_x;
146
				global_y = local_y;
147
148
				mouse_dx = mouse_x - (int) event->x;
149
				mouse_dy = mouse_y - (int) event->y;
150
151
				global_x += mouse_dx;
152
				global_y += mouse_dy;
153
154
				gdk_draw_rectangle (
155
					pixmap,
156
					widget->style->white_gc,
157
					TRUE,
158
					0, 0,
159
					widget->allocation.width+260,
160
					widget->allocation.height+260);
161
162
				gtk_widget_queue_draw_area (
163
					widget,
164
					0,0,widget->allocation.width+260,widget->allocation.height+260);
305 by Paul Wise
Remove trailing whitespace
165
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
166
167
				repaint_all ();
168
			} else {
169
				selected_wp = NULL;
170
			}
171
		}
172
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
173
		if (abs(mouse_x - (int) event->x) < 10 && abs(mouse_y - (int) event->y) < 10)
305 by Paul Wise
Remove trailing whitespace
174
		{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
175
			GSList *list;
176
			gboolean friend_found = FALSE;
177
			gboolean photo_found = FALSE;
178
			gboolean poi_found = FALSE;
179
			waypoint_t *routepoint;
180
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
181
305 by Paul Wise
Remove trailing whitespace
182
			if(global_show_friends)
183
			{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
184
				for(list = friends_list; list != NULL && !friend_found; list = list->next)
185
				{
186
					friend_t *f = list->data;
187
188
					if( 	abs(f->screen_x - mouse_x) < 15 &&
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
189
						abs(f->screen_y - mouse_y) < 15)
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
190
					{
191
192
						friend_found = TRUE;
305 by Paul Wise
Remove trailing whitespace
193
					}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
194
195
				}
305 by Paul Wise
Remove trailing whitespace
196
			}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
197
198
			if(global_show_photos && !photo_found)
305 by Paul Wise
Remove trailing whitespace
199
			{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
200
				for(list = photo_list; list != NULL && !photo_found; list = list->next)
201
				{
202
					photo_t *p = list->data;
203
204
					if( 	abs(p->screen_x - mouse_x) < 15 &&
305 by Paul Wise
Remove trailing whitespace
205
						abs(p->screen_y - mouse_y) < 15)
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
206
					{
207
208
						photo_found = TRUE;
305 by Paul Wise
Remove trailing whitespace
209
					}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
210
211
				}
305 by Paul Wise
Remove trailing whitespace
212
			}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
213
214
			if (global_show_pois )
305 by Paul Wise
Remove trailing whitespace
215
			{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
216
				for(list = poi_list; list != NULL && !poi_found; list = list->next)
305 by Paul Wise
Remove trailing whitespace
217
				{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
218
					poi_t *p = list->data;
219
220
					if( 	abs(p->screen_x - mouse_x) < 15 &&
305 by Paul Wise
Remove trailing whitespace
221
						abs(p->screen_y - mouse_y) < 15)
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
222
					{
223
224
						poi_found = TRUE;
305 by Paul Wise
Remove trailing whitespace
225
					}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
226
227
				}
305 by Paul Wise
Remove trailing whitespace
228
			}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
229
230
			routepoint = find_routepoint (mouse_x, mouse_y);
305 by Paul Wise
Remove trailing whitespace
231
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
232
			if (!friend_found && !photo_found && !poi_found && !routepoint &&
305 by Paul Wise
Remove trailing whitespace
233
				!distance_mode && !pickpoint_mode)
234
			{
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
235
305 by Paul Wise
Remove trailing whitespace
236
				gtk_widget_show(menu1);
237
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
238
				gtk_menu_popup (GTK_MENU(menu1), NULL, NULL, NULL, NULL,
305 by Paul Wise
Remove trailing whitespace
239
					  0, event->time);
240
175.1.1 by Branko Majic
Don't specify a mouse-button when calling gtk_menu_popup() from a button-release event.
241
			}
305 by Paul Wise
Remove trailing whitespace
242
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
243
			if(distance_mode)
305 by Paul Wise
Remove trailing whitespace
244
				do_distance();
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
245
			else if (pickpoint_mode)
246
				do_pickpoint();
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
247
			else
248
			{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
249
				if (friend_found)
250
					on_item3_activate(NULL, NULL);
251
				if (photo_found)
252
					on_item10_activate(NULL, NULL);
253
				if (poi_found)
254
					on_item15_activate(NULL, NULL);
255
				if (routepoint) {
256
					gtk_widget_show (route_menu);
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
257
					gtk_menu_popup (GTK_MENU (route_menu),
258
					                NULL, NULL, NULL, NULL,
259
					                event->button,
305 by Paul Wise
Remove trailing whitespace
260
					                event->time);
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
261
				}
262
			}
263
		}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
264
265
		wtfcounter = 0;
305 by Paul Wise
Remove trailing whitespace
266
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
267
305 by Paul Wise
Remove trailing whitespace
268
		mouse_dx = mouse_dy = 0;
269
		drag_started = 0;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
270
	}
271
	return FALSE;
272
}
273
274
gboolean
275
on_drawingarea1_motion_notify_event    (GtkWidget       *widget,
276
                                        GdkEventMotion  *event,
277
                                        gpointer         user_data)
278
{
279
	if(global_mapmode)
280
	{
281
		int x, y, width, height;
282
		GdkModifierType state;
283
284
		width  = map_drawable->allocation.width;
305 by Paul Wise
Remove trailing whitespace
285
		height = map_drawable->allocation.height;
286
287
		if (event->is_hint)
288
			gdk_window_get_pointer (event->window, &x, &y, &state);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
289
		else
290
		{
291
			x = event->x;
292
			y = event->y;
293
			state = event->state;
294
		}
295
296
		if (state & GDK_BUTTON1_MASK  && wtfcounter>=WTFCOUNTER)
305 by Paul Wise
Remove trailing whitespace
297
		{
298
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
299
			if (selected_wp) {
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
300
				double lat = pixel2lat (global_zoom, global_y+event->y);
301
				double lon = pixel2lon (global_zoom, global_x+event->x);
302
				change_waypoint_of_route (selected_wp, lat, lon);
303
				repaint_all ();
304
				return FALSE;
305
			}
306
307
			GtkToggleToolButton *autocenter_toggle;
308
192 by Joshua Judson Rosen
Make the `autocenter' button into a *toggle*
309
			if(!drag_started)
310
			{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
311
				mouse_x = (int) event->x;
312
				mouse_y = (int) event->y;
313
				local_x = global_x;
314
				local_y = global_y;
315
316
				drag_started = 1;
317
			}
305 by Paul Wise
Remove trailing whitespace
318
			global_autocenter = FALSE;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
319
320
			mouse_dx = x - mouse_x;
305 by Paul Wise
Remove trailing whitespace
321
			mouse_dy = y - mouse_y;
322
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
323
			gdk_draw_drawable (
305 by Paul Wise
Remove trailing whitespace
324
				widget->window,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
325
				widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
326
				pixmap,
327
				0,0,
328
				mouse_dx,mouse_dy,
329
				-1,-1);
330
331
			if(mouse_dx>0)
305 by Paul Wise
Remove trailing whitespace
332
				gdk_draw_rectangle (
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
333
					widget->window,
334
					widget->style->white_gc,
335
					TRUE,
336
					0, 0,
337
					mouse_dx,
338
					widget->allocation.height);
339
340
			if (mouse_dy>0)
305 by Paul Wise
Remove trailing whitespace
341
				gdk_draw_rectangle (
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
342
					widget->window,
343
					widget->style->white_gc,
344
					TRUE,
345
					0, 0,
346
					widget->allocation.width,
347
					mouse_dy);
348
349
			autocenter_toggle =
305 by Paul Wise
Remove trailing whitespace
350
				GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1,
192 by Joshua Judson Rosen
Make the `autocenter' button into a *toggle*
351
				                                     "button3"));
352
			gtk_toggle_tool_button_set_active(autocenter_toggle,
353
			                                  FALSE);
354
355
			autocenter_toggle =
356
				GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1,
357
				                                     "button56"));
358
			gtk_toggle_tool_button_set_active(autocenter_toggle,
359
			                                  FALSE);
360
361
		}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
362
		else
305 by Paul Wise
Remove trailing whitespace
363
			wtfcounter++;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
364
	}
365
366
	return FALSE;
305 by Paul Wise
Remove trailing whitespace
367
}
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
368
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
369
370
gboolean
371
on_drawingarea1_configure_event        (GtkWidget         *widget,
372
                                        GdkEventConfigure *event,
373
                                        gpointer           user_data)
374
{
375
	map_drawable = widget;
376
377
	global_drawingarea_width  = widget->allocation.width;
305 by Paul Wise
Remove trailing whitespace
378
	global_drawingarea_height = widget->allocation.height;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
379
380
305 by Paul Wise
Remove trailing whitespace
381
	if (pixmap)
382
		g_object_unref (pixmap);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
383
384
	pixmap = gdk_pixmap_new (
385
			widget->window,
386
			widget->allocation.width+260,
387
			widget->allocation.height+260,
305 by Paul Wise
Remove trailing whitespace
388
			-1);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
389
390
	if (!pixmap)
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
391
	{
392
		printf("aieee: pixmap NULL\n");
393
	}
394
395
	gdk_draw_rectangle (
396
		pixmap,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
397
		widget->style->white_gc,
398
		TRUE,
399
		0, 0,
400
		widget->allocation.width+260,
401
		widget->allocation.height+260);
402
403
	gtk_widget_queue_draw_area (
305 by Paul Wise
Remove trailing whitespace
404
		widget,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
405
		0,0,widget->allocation.width+260,widget->allocation.height+260);
305 by Paul Wise
Remove trailing whitespace
406
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
407
	repaint_all();
408
305 by Paul Wise
Remove trailing whitespace
409
	return FALSE;
410
}
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
411
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
412
413
gboolean
414
on_drawingarea1_expose_event           (GtkWidget       *widget,
415
                                        GdkEventExpose  *event,
416
                                        gpointer         user_data)
417
{
418
419
305 by Paul Wise
Remove trailing whitespace
420
421
	gdk_draw_drawable (
422
		widget->window,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
423
		widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
424
		pixmap,
425
		event->area.x, event->area.y,
426
		event->area.x, event->area.y,
427
		event->area.width, event->area.height);
428
429
	osd_speed(TRUE);
305 by Paul Wise
Remove trailing whitespace
430
	osd_hrm(TRUE);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
431
	map_scale_indicator();
6.1.15 by Tobias Prousa
Fetch and display heart-rate data, if enabled.
432
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
433
	return FALSE;
305 by Paul Wise
Remove trailing whitespace
434
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
435
436
void
437
on_button1_clicked                     (GtkToggleToolButton *button,
438
                                        gpointer         user_data)
193 by Joshua Judson Rosen
Make the `fullscreen' button into a toggle
439
{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
440
	maximized = gtk_toggle_tool_button_get_active (button);
193 by Joshua Judson Rosen
Make the `fullscreen' button into a toggle
441
442
	if(maximized)
443
	{
444
		gtk_window_fullscreen(GTK_WINDOW(window1));
445
		fill_tiles_pixel(global_x, global_y, global_zoom, FALSE);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
446
	}
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
447
	else
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
448
	{
449
		gtk_window_unfullscreen(GTK_WINDOW(window1));
450
	}
451
}
452
453
454
455
void
456
on_vscale1_value_changed               (GtkRange        *range,
457
                                        gpointer         user_data)
458
{
459
460
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
461
}
462
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
463
void
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
464
on_button4_clicked                     (GtkButton       *button,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
465
                                        gpointer         user_data)
466
{
467
	GtkWidget *range;
468
469
305 by Paul Wise
Remove trailing whitespace
470
	int zoom_old;
471
	double factor;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
472
	int width_center, height_center;
473
474
	if(global_zoom<global_zoom_max)
475
	{
476
		range = lookup_widget(window1, "vscale1");
305 by Paul Wise
Remove trailing whitespace
477
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
478
		width_center  = map_drawable->allocation.width 	/ 2;
305 by Paul Wise
Remove trailing whitespace
479
		height_center = map_drawable->allocation.height / 2;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
480
481
		zoom_old = global_zoom;
305 by Paul Wise
Remove trailing whitespace
482
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
483
		global_zoom++;
305 by Paul Wise
Remove trailing whitespace
484
		gtk_range_set_value(GTK_RANGE(range), (double) global_zoom);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
485
		factor = exp(global_zoom * M_LN2)/exp2(zoom_old);
486
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
487
		global_x = ((global_x + width_center) * factor) - width_center;
305 by Paul Wise
Remove trailing whitespace
488
		global_y = ((global_y + height_center) * factor) - height_center;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
489
490
305 by Paul Wise
Remove trailing whitespace
491
		repaint_all();
492
	}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
493
}
494
495
496
void
497
on_button3_clicked                     (GtkToggleToolButton *button,
498
                                        gpointer         user_data)
192 by Joshua Judson Rosen
Make the `autocenter' button into a *toggle*
499
{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
500
	global_autocenter = gtk_toggle_tool_button_get_active(button);
501
192 by Joshua Judson Rosen
Make the `autocenter' button into a *toggle*
502
	if (!global_autocenter)
503
		return;
504
505
	if(gpsdata) {
506
		if(isnan(gpsdata->fix.latitude) == 0	&&
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
507
		   isnan(gpsdata->fix.longitude)== 0	&&
508
		   gpsdata->fix.latitude !=0		&&
509
		   gpsdata->fix.longitude!=0) {
510
			set_mapcenter(gpsdata->fix.latitude, gpsdata->fix.longitude, global_zoom);
511
		}
512
	}
513
}
514
515
gboolean
516
on_window1_delete_event                (GtkWidget       *widget,
517
                                        GdkEvent        *event,
518
                                        gpointer         user_data)
519
{
520
	track_log_close ();
521
	gtk_main_quit();
144.1.5 by Joshua Judson Rosen
Close any open track-log before exiting.
522
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
523
	return FALSE;
305 by Paul Wise
Remove trailing whitespace
524
}
525
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
526
527
gboolean
528
on_window1_destroy_event               (GtkWidget       *widget,
529
                                        GdkEvent        *event,
530
                                        gpointer         user_data)
531
{
532
	track_log_close ();
533
	gtk_main_quit();
144.1.5 by Joshua Judson Rosen
Close any open track-log before exiting.
534
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
535
	return FALSE;
144.1.5 by Joshua Judson Rosen
Close any open track-log before exiting.
536
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
537
538
539
void
540
on_button5_clicked                     (GtkButton       *button,
541
                                        gpointer         user_data)
542
{
543
	int zoom_old;
544
	float factor;
545
	int width_center, height_center;
546
		GtkWidget *range;
547
	if(global_zoom>2)
548
	{
549
		range = lookup_widget(window1, "vscale1");
550
551
		width_center  = map_drawable->allocation.width 	/ 2;
305 by Paul Wise
Remove trailing whitespace
552
		height_center = map_drawable->allocation.height / 2;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
553
554
		zoom_old = global_zoom;
305 by Paul Wise
Remove trailing whitespace
555
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
556
		global_zoom--;
305 by Paul Wise
Remove trailing whitespace
557
		gtk_range_set_value(GTK_RANGE(range), (double) global_zoom);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
558
559
		factor = exp(global_zoom * M_LN2)/exp(zoom_old * M_LN2);
305 by Paul Wise
Remove trailing whitespace
560
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
561
		global_x = ((global_x + width_center) * factor) - width_center;
305 by Paul Wise
Remove trailing whitespace
562
		global_y = ((global_y + height_center) * factor) - height_center;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
563
564
		repaint_all();
305 by Paul Wise
Remove trailing whitespace
565
	}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
566
}
567
568
gboolean
569
on_vscale1_change_value                (GtkRange        *range,
570
                                        GtkScrollType    scroll,
571
                                        gdouble          value,
572
                                        gpointer         user_data)
573
{
574
575
	return FALSE;
576
}
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
577
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
578
gboolean
579
on_vscale1_button_press_event          (GtkWidget       *widget,
580
                                        GdkEventButton  *event,
581
                                        gpointer         user_data)
582
{
583
584
	return FALSE;
585
}
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
586
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
587
588
gboolean
589
on_vscale1_button_release_event        (GtkWidget       *widget,
590
                                        GdkEventButton  *event,
591
                                        gpointer         user_data)
592
{
593
	int zoom_old;
305 by Paul Wise
Remove trailing whitespace
594
	float factor;
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
595
	int width_center, height_center;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
596
597
	width_center  = map_drawable->allocation.width 	/ 2;
305 by Paul Wise
Remove trailing whitespace
598
	height_center = map_drawable->allocation.height / 2;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
599
600
	zoom_old = global_zoom;
305 by Paul Wise
Remove trailing whitespace
601
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
602
	global_zoom = gtk_range_get_value(GTK_RANGE(widget));
603
	factor = exp(global_zoom * M_LN2)/exp(zoom_old * M_LN2);
604
605
	global_x = ((global_x + width_center) * factor) - width_center;
305 by Paul Wise
Remove trailing whitespace
606
	global_y = ((global_y + height_center) * factor) - height_center;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
607
608
	repaint_all();
305 by Paul Wise
Remove trailing whitespace
609
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
610
	return FALSE;
305 by Paul Wise
Remove trailing whitespace
611
}
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
612
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
613
614
void
615
on_combobox1_changed                   (GtkComboBox     *combobox,
616
                                        gpointer         user_data)
617
{
618
	GSList	*list;
619
	gchar *reponame_combo;
620
	gboolean success = FALSE;
621
	static gboolean first_run = TRUE;
622
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
623
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
624
	reponame_combo = gtk_combo_box_get_active_text(combobox);
305 by Paul Wise
Remove trailing whitespace
625
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
626
	global_curr_reponame = g_strdup(reponame_combo);
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
627
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
628
305 by Paul Wise
Remove trailing whitespace
629
	if(!global_curr_reponame)
630
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
631
		global_curr_reponame = g_strdup("OSM");
632
		printf("YOUR DISTRIBUTION SUCKS BIGTIME\n");
633
	}
634
635
305 by Paul Wise
Remove trailing whitespace
636
	for(list = global_repo_list; list != NULL; list = list->next)
637
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
638
		repo_t	*repo;
639
		gchar	*reponame;
640
641
		repo = list->data;
642
		reponame = g_strdup(repo->name);
643
644
		if(	g_strrstr(reponame,global_curr_reponame) != NULL &&
305 by Paul Wise
Remove trailing whitespace
645
			strlen(reponame) == strlen(global_curr_reponame)
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
646
		)
305 by Paul Wise
Remove trailing whitespace
647
		{
648
			global_curr_repo = list;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
649
		}
650
	}
651
652
305 by Paul Wise
Remove trailing whitespace
653
	success = g_settings_set_string(
654
					global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
655
					"repo-name",
305 by Paul Wise
Remove trailing whitespace
656
					global_curr_reponame);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
657
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
658
	global_repo_nr = gtk_combo_box_get_active(combobox);
305 by Paul Wise
Remove trailing whitespace
659
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
660
305 by Paul Wise
Remove trailing whitespace
661
662
	if(first_run) {
663
		first_run = FALSE;
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
664
	}
665
	else
666
		repaint_all();
667
}
668
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
669
void
670
on_dialog1_close                       (GtkDialog       *dialog,
671
                                        gpointer         user_data)
672
{
673
}
674
675
676
void
677
on_dialog1_response                    (GtkDialog       *dialog,
678
                                        gint             response_id,
679
                                        gpointer         user_data)
680
{
681
}
682
683
684
void
685
on_cancelbutton1_clicked               (GtkButton       *button,
686
                                        gpointer         user_data)
687
{
688
	gtk_widget_hide(dialog1);
689
}
690
691
692
void
693
on_okbutton1_clicked                   (GtkButton       *button,
694
                                        gpointer         user_data)
695
{
696
	GtkWidget	*entry_repo;
697
	GtkWidget	*combobox;
698
	GtkWidget	*entry_uri;
699
	GtkWidget	*entry_dir;
700
	GtkWidget	*togglebutton;
701
	const gchar	*reponame, *uri, *dir;
702
	gboolean	reversed;
703
	repo_t *repo = g_new0(repo_t, 1);
704
705
305 by Paul Wise
Remove trailing whitespace
706
	entry_repo = lookup_widget(dialog1, "entry5");
707
	entry_uri = lookup_widget(dialog1, "entry20");
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
708
	entry_dir = lookup_widget(dialog1, "entry21");
709
	togglebutton = lookup_widget(dialog1, "checkbutton12");
710
	combobox = lookup_widget(window1, "combobox1");
711
712
	reponame = gtk_entry_get_text(GTK_ENTRY(entry_repo));
713
	uri = gtk_entry_get_text(GTK_ENTRY(entry_uri));
714
	dir = gtk_entry_get_text(GTK_ENTRY(entry_dir));
715
	reversed = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togglebutton));
716
717
	gtk_combo_box_append_text (GTK_COMBO_BOX(combobox), g_strdup(reponame));
305 by Paul Wise
Remove trailing whitespace
718
	gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), global_repo_cnt);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
719
	global_repo_cnt++;
720
721
305 by Paul Wise
Remove trailing whitespace
722
	repo->name = g_strdup(reponame);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
723
	repo->dir = g_strdup(dir);
724
	repo->uri = g_strdup(uri);
725
	repo->inverted_zoom = reversed;
726
727
	global_repo_list = g_slist_prepend(global_repo_list, repo);
305 by Paul Wise
Remove trailing whitespace
728
	global_curr_repo = global_repo_list;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
729
730
	settings_set_repolist();
305 by Paul Wise
Remove trailing whitespace
731
302.1.11 by Paul Wise
gconf -> settings in function names
732
	gtk_widget_hide(dialog1);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
733
}
24.3.13 by Joshua Judson Rosen
Don't *destroy* the `New Repository' dialogue on OK.
734
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
735
736
void
737
on_button7_clicked                     (GtkButton       *button,
738
                                        gpointer         user_data)
739
{
740
	GtkWidget	*entry_repo;
741
	GtkWidget	*entry_uri;
24.3.14 by Joshua Judson Rosen
Reset all fields in the `New Repository' dialogue before (re)showing it.
742
	GtkWidget	*entry_dir;
743
	GtkWidget	*togglebutton;
744
745
	dialog1 = glade_xml_get_widget (gladexml, "dialog1");
746
24.3.12 by Joshua Judson Rosen
Recreated `New Repository' dialogue (`dialog1') in GladeXML.
747
	entry_repo = lookup_widget(dialog1, "entry5");
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
748
	entry_uri = lookup_widget(dialog1, "entry20");
24.3.14 by Joshua Judson Rosen
Reset all fields in the `New Repository' dialogue before (re)showing it.
749
	entry_dir = lookup_widget(dialog1, "entry21");
750
	togglebutton = lookup_widget(dialog1, "checkbutton12");
751
752
	gtk_entry_set_text(GTK_ENTRY(entry_repo), "");
753
	gtk_entry_set_text(GTK_ENTRY(entry_uri), "");
754
	gtk_entry_set_text(GTK_ENTRY(entry_dir), "");
755
	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togglebutton), FALSE);
756
757
	gtk_widget_show(dialog1);
758
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
759
760
void
761
on_button8_clicked                     (GtkButton       *button,
762
                                        gpointer         user_data)
763
{
764
	trip_distance	= 0;
765
	trip_starttime	= 0;
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
766
	trip_time	= 0;
767
	trip_maxspeed	= 0;
768
}
769
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
770
void
771
on_checkbutton2_toggled                (GtkToggleButton *togglebutton,
772
                                        gpointer         user_data)
773
{
774
	gboolean	toggled;
775
	gboolean success = FALSE;
776
777
	toggled = gtk_toggle_button_get_active(togglebutton);
305 by Paul Wise
Remove trailing whitespace
778
	global_auto_download = toggled;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
779
780
	success = g_settings_set_boolean(
305 by Paul Wise
Remove trailing whitespace
781
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
782
				"auto-download",
305 by Paul Wise
Remove trailing whitespace
783
				global_auto_download);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
784
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
785
}
305 by Paul Wise
Remove trailing whitespace
786
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
787
788
void
789
on_button9_clicked                     (GtkButton       *button,
790
                                        gpointer         user_data)
791
{
792
	GtkWidget	*entry_server, *entry_port;
793
	const gchar	*server, *port;
794
795
	entry_server	= lookup_widget(window1, "entry3");
796
	entry_port	= lookup_widget(window1, "entry4");
797
	server	= gtk_entry_get_text(GTK_ENTRY(entry_server));
798
	port	= gtk_entry_get_text(GTK_ENTRY(entry_port));
799
	global_server	= g_strdup(server);
800
	global_port	= g_strdup(port);
801
802
	reset_gpsd_io ();
305 by Paul Wise
Remove trailing whitespace
803
}
133.7.5 by Joshua Judson Rosen
Always call reset_gpsd_io() rather than just setting global_reconnect_gpsd directly.
804
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
805
806
807
void
808
on_button11_clicked                    (GtkButton       *button,
809
                                        gpointer         user_data)
810
{
811
	GtkWidget *widget;
812
	gboolean success = FALSE;
813
814
305 by Paul Wise
Remove trailing whitespace
815
	if(!global_fftimer_running)
816
	{
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
817
		update_position();
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
818
		send_message(NULL);
819
		friendfinder_timer = g_timeout_add_seconds(global_ffupdate_interval/1000,update_position,NULL);
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
820
		msg_timer	   = g_timeout_add_seconds(global_ffupdate_interval/1000,send_message,NULL);
821
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
822
		widget = lookup_widget(window1, "image24");
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
823
		gtk_widget_show(widget);
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
824
825
		gtk_button_set_label (button, _("Stop"));
305 by Paul Wise
Remove trailing whitespace
826
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
827
		widget = lookup_widget(menu1, "item19");
305 by Paul Wise
Remove trailing whitespace
828
		gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), TRUE);
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
829
830
		global_fftimer_running = TRUE;
305 by Paul Wise
Remove trailing whitespace
831
	}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
832
833
305 by Paul Wise
Remove trailing whitespace
834
835
	else
836
	{
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
837
		widget = lookup_widget(window1, "image24");
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
838
		gtk_widget_hide(widget);
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
839
840
		g_source_remove(friendfinder_timer);
305 by Paul Wise
Remove trailing whitespace
841
		g_source_remove(msg_timer);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
842
		friendfinder_timer = 0;
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
843
		msg_timer =0;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
844
		global_fftimer_running = FALSE;
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
845
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
846
		gtk_button_set_label (button, _("Share!"));
305 by Paul Wise
Remove trailing whitespace
847
	}
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
848
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
849
850
	success = g_settings_set_boolean(
305 by Paul Wise
Remove trailing whitespace
851
		global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
852
		"fftimer-running",
305 by Paul Wise
Remove trailing whitespace
853
		global_fftimer_running);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
854
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
855
	global_show_friends = TRUE;
305 by Paul Wise
Remove trailing whitespace
856
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
857
858
859
void
860
on_item3_activate                      (GtkMenuItem     *menuitem,
861
                                        gpointer         user_data)
862
{
863
	GSList *list;
305 by Paul Wise
Remove trailing whitespace
864
	GladeXML *gladexml;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
865
	GtkWidget *label, *window, *friend_box, *widget, *hseparator;
24.3.49 by Joshua Judson Rosen
Recreated `Friend Info' dialogue in GladeXML, replacing create_window8().
866
	gchar buffer[8192];
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
867
	gboolean friend_found = FALSE;
868
	float lat, lon,lat_deg,lon_deg;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
869
	float distance=0;
870
871
	gladexml = glade_xml_new (gladefile, "window8", GETTEXT_PACKAGE);
872
	glade_xml_signal_autoconnect (gladexml);
24.3.49 by Joshua Judson Rosen
Recreated `Friend Info' dialogue in GladeXML, replacing create_window8().
873
	window = glade_xml_get_widget (gladexml, "window8");
874
	g_signal_connect_swapped (window, "destroy",
875
				  G_CALLBACK (g_object_unref), gladexml);
876
877
	widget = lookup_widget(window, "vbox35");
878
	gtk_widget_show (window);
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
879
880
	lat = pixel2lat(global_zoom, global_y+mouse_y);
881
	lon = pixel2lon(global_zoom, global_x+mouse_x);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
882
883
	lat_deg = rad2deg(lat);
305 by Paul Wise
Remove trailing whitespace
884
	lon_deg = rad2deg(lon);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
885
886
	if(gpsdata !=NULL && !global_myposition.lat && !global_myposition.lon)
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
887
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
888
		distance = 	6371.0 *
889
				acos(sin(deg2rad(gpsdata->fix.latitude)) *
305 by Paul Wise
Remove trailing whitespace
890
				sin(lat) +
891
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
892
				cos(deg2rad(gpsdata->fix.latitude)) *
305 by Paul Wise
Remove trailing whitespace
893
				cos(lat) *
894
				cos(lon - deg2rad(gpsdata->fix.longitude)) );
895
	}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
896
	else if(global_myposition.lat && global_myposition.lon)
897
	{
898
		distance = 	6371.0 *
899
				acos(sin(deg2rad(global_myposition.lat)) *
305 by Paul Wise
Remove trailing whitespace
900
				sin(lat) +
901
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
902
				cos(deg2rad(global_myposition.lat)) *
305 by Paul Wise
Remove trailing whitespace
903
				cos(lat) *
904
				cos(lon - deg2rad(global_myposition.lon)) );
905
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
906
	}
305 by Paul Wise
Remove trailing whitespace
907
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
908
	g_sprintf (buffer, _("<b><i>Distance:</i></b> %.3fkm\n"), distance);
909
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
910
	for(list = friends_list; list != NULL; list = list->next)
305 by Paul Wise
Remove trailing whitespace
911
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
912
		friend_t *f = list->data;
913
914
		if( 	abs(f->screen_x - mouse_x) < 15 &&
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
915
			abs(f->screen_y - mouse_y) < 15)
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
916
		{
917
			friend_box = create_friend_box(f);
918
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
919
			gtk_box_pack_start (GTK_BOX (widget), friend_box, FALSE, FALSE, 0);
305 by Paul Wise
Remove trailing whitespace
920
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
921
			hseparator = gtk_hseparator_new ();
305 by Paul Wise
Remove trailing whitespace
922
			gtk_widget_show (hseparator);
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
923
			gtk_box_pack_start (GTK_BOX (widget), hseparator, FALSE, FALSE, 0);
924
925
			friend_found = TRUE;
305 by Paul Wise
Remove trailing whitespace
926
		}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
927
928
	}
305 by Paul Wise
Remove trailing whitespace
929
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
930
	if (!friend_found)
305 by Paul Wise
Remove trailing whitespace
931
		g_sprintf (buffer, _("No friends at or near this position"));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
932
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
933
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
934
	label = lookup_widget(window,"label119");
935
	gtk_label_set_label(GTK_LABEL(label),buffer);
936
}
937
938
void
939
on_item4_activate                      (GtkMenuItem     *menuitem,
940
                                        gpointer         user_data)
941
{
942
	GtkWidget *label;
943
	gchar buffer[512]; gchar *bufp;
944
	gchar latlon[64];
159.1.2 by Joshua Judson Rosen
Reduced unnecessary duplication of translatable strings throughout on_item4_activate().
945
	static float start_lat=0, start_lon=0;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
946
	static float overall_distance = 0;
947
	static int start_x=0, start_y=0;
948
	float lat, lon,lat_deg,lon_deg, bearing=0;
949
	float distance=0;
950
	double unit_conv = 1;
951
	static gchar distunit[3];
952
953
	if(!distance_mode)
954
		overall_distance = 0.0;
955
956
	set_cursor(GDK_CROSSHAIR);
957
958
959
305 by Paul Wise
Remove trailing whitespace
960
	lat = pixel2lat(global_zoom, global_y+mouse_y);
961
	lon = pixel2lon(global_zoom, global_x+mouse_x);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
962
963
	lat_deg = rad2deg(lat);
964
	lon_deg = rad2deg(lon);
965
966
	switch (global_latlon_unit)
967
	{
305 by Paul Wise
Remove trailing whitespace
968
	case 0:
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
969
		g_sprintf(latlon, "%f - %f", lat_deg, lon_deg);
970
		break;
971
	case 1:
972
		g_sprintf(latlon, "%s   %s",
973
			  latdeg2latmin(lat_deg),
305 by Paul Wise
Remove trailing whitespace
974
			  londeg2lonmin(lon_deg));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
975
		break;
976
	case 2:
977
		g_sprintf(latlon, "%s   %s",
978
			  latdeg2latsec(lat_deg),
305 by Paul Wise
Remove trailing whitespace
979
			  londeg2lonsec(lon_deg));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
980
	}
981
982
983
	if(global_speed_unit==1)
305 by Paul Wise
Remove trailing whitespace
984
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
985
		unit_conv = 1.0/1.609344;
986
		g_sprintf(distunit, "%s", "m");
987
	}
988
	else if(global_speed_unit==2)
989
	{
990
		unit_conv = 1.0/1.852;
991
		g_sprintf(distunit, "%s", "NM");
992
	}
993
	else
994
	{
995
		g_sprintf(distunit, "%s", "km");
996
	}
997
998
305 by Paul Wise
Remove trailing whitespace
999
1000
	if(distance_mode)
1001
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1002
		distance = 	6371.0 *
1003
				acos(sin(deg2rad(start_lat)) *
305 by Paul Wise
Remove trailing whitespace
1004
				sin(lat) +
1005
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1006
				cos(deg2rad(start_lat)) *
305 by Paul Wise
Remove trailing whitespace
1007
				cos(lat) *
1008
				cos(lon - deg2rad(start_lon)) );
1009
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1010
		bearing = get_bearing(deg2rad(start_lat), deg2rad(start_lon), lat, lon);
305 by Paul Wise
Remove trailing whitespace
1011
	}
1012
	else if(gpsdata !=NULL && gpsdata->fix.latitude)
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1013
	{
1014
		distance = 	6371.0 *
1015
				acos(sin(deg2rad(gpsdata->fix.latitude)) *
305 by Paul Wise
Remove trailing whitespace
1016
				sin(lat) +
1017
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1018
				cos(deg2rad(gpsdata->fix.latitude)) *
305 by Paul Wise
Remove trailing whitespace
1019
				cos(lat) *
1020
				cos(lon - deg2rad(gpsdata->fix.longitude)) );
1021
	}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1022
1023
	if(distance_mode)
1024
		overall_distance += distance;
1025
1026
305 by Paul Wise
Remove trailing whitespace
1027
	gtk_clipboard_set_text(gtk_clipboard_get(GDK_SELECTION_CLIPBOARD), latlon, -1);
1028
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1029
305 by Paul Wise
Remove trailing whitespace
1030
1031
	label = lookup_widget(window2,"label64");
1032
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1033
	bufp = buffer;
159.1.2 by Joshua Judson Rosen
Reduced unnecessary duplication of translatable strings throughout on_item4_activate().
1034
	bufp += g_sprintf (bufp, _("<b>This point:</b>\n%s\n"
1035
	                           "<small><i>(coords auto-copied to clipboard)\n</i></small>\n"),
1036
	                   latlon);
1037
1038
	if (gpsdata && gpsdata->fix.latitude)
1039
	{
1040
		bufp += g_sprintf (bufp, _("<b>Bearing:</b>\n%.1f°\n"),
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1041
		                   bearing/M_PI*180);
159.1.1 by Joshua Judson Rosen
Split compound translatable blocks of common but obviously-distinct elements.
1042
1043
		if (!distance_mode)
159.1.2 by Joshua Judson Rosen
Reduced unnecessary duplication of translatable strings throughout on_item4_activate().
1044
		{
1045
			bufp += g_sprintf (bufp, _("<b>Distance from your location:</b>\n%.2f%s\n"),
1046
			                   distance*unit_conv,
1047
			                   distunit);
1048
		}
1049
	}
1050
159.1.1 by Joshua Judson Rosen
Split compound translatable blocks of common but obviously-distinct elements.
1051
	if (!distance_mode)
159.1.2 by Joshua Judson Rosen
Reduced unnecessary duplication of translatable strings throughout on_item4_activate().
1052
	{
1053
		bufp += g_sprintf (bufp, _("Click another point for distance"));
159.1.1 by Joshua Judson Rosen
Split compound translatable blocks of common but obviously-distinct elements.
1054
	}
1055
	else
1056
	{
1057
		bufp += g_sprintf (bufp, _("<b>Distance from last point:</b>\n%.2f%s\n"),
1058
		                   distance*unit_conv, distunit);
1059
		bufp += g_sprintf (bufp, _("<b>Overall Distance:</b>\n%.2f%s"),
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
1060
		                   overall_distance*unit_conv, distunit);
159.1.1 by Joshua Judson Rosen
Split compound translatable blocks of common but obviously-distinct elements.
1061
	}
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
1062
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1063
	gtk_label_set_label(GTK_LABEL(label),buffer);
305 by Paul Wise
Remove trailing whitespace
1064
	gtk_widget_show (window2);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1065
1066
1067
305 by Paul Wise
Remove trailing whitespace
1068
	if(distance_mode)
1069
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1070
1071
		int pixel_x, pixel_y, x, y;
305 by Paul Wise
Remove trailing whitespace
1072
		float lt, ln;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1073
1074
305 by Paul Wise
Remove trailing whitespace
1075
		GdkColor color;
1076
		GdkGC *gc;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1077
1078
		gc = gdk_gc_new(pixmap);
305 by Paul Wise
Remove trailing whitespace
1079
		color.green = 0;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1080
		color.blue = 50000;
1081
		color.red = 0;
1082
		gdk_gc_set_rgb_fg_color(gc, &color);
1083
		gdk_gc_set_line_attributes(
1084
		gc, 5, GDK_LINE_SOLID, GDK_CAP_ROUND, GDK_JOIN_ROUND);
1085
1086
1087
1088
305 by Paul Wise
Remove trailing whitespace
1089
		lt = deg2rad(start_lat);
1090
		ln = deg2rad(start_lon);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1091
		pixel_x = lon2pixel(global_zoom, ln);
1092
		pixel_y = lat2pixel(global_zoom, lt);
1093
		x = pixel_x - global_x;
1094
		y = pixel_y - global_y;
1095
1096
305 by Paul Wise
Remove trailing whitespace
1097
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1098
		gdk_draw_line (pixmap, gc, x, y, mouse_x, mouse_y);
1099
1100
		gtk_widget_queue_draw_area (
1101
			map_drawable,
1102
			((x > mouse_x) ? mouse_x : x) - 4,
305 by Paul Wise
Remove trailing whitespace
1103
			((y > mouse_y) ? mouse_y : y) - 4,
1104
			abs(mouse_x - x) + 8,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1105
			abs(mouse_y - y) + 8);
1106
	}
1107
	else
1108
	{
1109
1110
305 by Paul Wise
Remove trailing whitespace
1111
		GdkColor color;
1112
		GdkGC *gc;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1113
1114
		gc = gdk_gc_new(pixmap);
305 by Paul Wise
Remove trailing whitespace
1115
		color.green = 20000;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1116
		color.blue = 20000;
1117
		color.red = 65000;
1118
		gdk_gc_set_rgb_fg_color(gc, &color);
1119
		gdk_gc_set_line_attributes(
1120
		gc, 5, GDK_LINE_SOLID, GDK_CAP_ROUND, GDK_JOIN_ROUND);
1121
1122
1123
1124
305 by Paul Wise
Remove trailing whitespace
1125
		gdk_draw_arc (
1126
			pixmap,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1127
1128
			gc,
305 by Paul Wise
Remove trailing whitespace
1129
			TRUE,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1130
			mouse_x-8, mouse_y-8,
305 by Paul Wise
Remove trailing whitespace
1131
			16,16,
1132
			0,23040);
1133
1134
		gtk_widget_queue_draw_area (
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1135
			map_drawable,
1136
			mouse_x - 8,
305 by Paul Wise
Remove trailing whitespace
1137
			mouse_y - 8,
1138
			mouse_x + 16,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1139
			mouse_y + 16);
1140
1141
	}
305 by Paul Wise
Remove trailing whitespace
1142
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1143
305 by Paul Wise
Remove trailing whitespace
1144
	start_x = mouse_x;
1145
	start_y = mouse_y;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1146
	start_lat = lat_deg;
1147
	start_lon = lon_deg;
1148
1149
305 by Paul Wise
Remove trailing whitespace
1150
	distance_mode = TRUE;
1151
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1152
}
1153
1154
1155
1156
void
1157
on_button14_clicked                    (GtkButton       *button,
1158
                                        gpointer         user_data)
1159
{
1160
	GtkWidget *window;
1161
	window = lookup_widget(GTK_WIDGET(button), "window2");
1162
	gtk_widget_hide(window);
1163
1164
	distance_mode = FALSE;
305 by Paul Wise
Remove trailing whitespace
1165
	set_cursor(GDK_HAND2);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1166
	repaint_all();
1167
}
1168
1169
gboolean
1170
on_item5_activate                      (GtkWidget       *widget,
1171
                                        GdkEventButton  *event,
1172
                                        gpointer         user_data)
1173
{
1174
1175
	GtkWidget *label;
305 by Paul Wise
Remove trailing whitespace
1176
	gchar buffer[512];
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1177
	float lat, lon,lat_deg,lon_deg;
1178
1179
	lat = pixel2lat(global_zoom, global_y+mouse_y);
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
1180
	lon = pixel2lon(global_zoom, global_x+mouse_x);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1181
1182
	lat_deg = rad2deg(lat);
305 by Paul Wise
Remove trailing whitespace
1183
	lon_deg = rad2deg(lon);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1184
1185
	global_myposition.lat = lat_deg;
305 by Paul Wise
Remove trailing whitespace
1186
	global_myposition.lon = lon_deg;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1187
1188
	label = lookup_widget(window2,"label64");
1189
1190
	g_sprintf (buffer, _("<b>Manually set position</b>\n\n"
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
1191
	                     "This point:\n\n  <i>%f %f</i>\n\n"
1192
	                     "will now be used as your location\n"
1193
	                     "for the friend finder service."),
1194
	           global_myposition.lat,
1195
	           global_myposition.lon);
1196
1197
	gtk_label_set_label(GTK_LABEL(label),buffer);
1198
	gtk_widget_show (window2);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1199
1200
	g_settings_set_double(
305 by Paul Wise
Remove trailing whitespace
1201
		global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1202
		"myposition-lat",
305 by Paul Wise
Remove trailing whitespace
1203
		global_myposition.lat);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1204
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1205
	g_settings_set_double(
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
1206
		global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1207
		"myposition-lon",
305 by Paul Wise
Remove trailing whitespace
1208
		global_myposition.lon);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1209
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1210
	paint_myposition();
305 by Paul Wise
Remove trailing whitespace
1211
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1212
	return FALSE;
305 by Paul Wise
Remove trailing whitespace
1213
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1214
1215
gboolean
1216
on_drawinarea1_scroll_event            (GtkWidget       *widget,
1217
                                        GdkEventScroll  *event,
1218
                                        gpointer         user_data)
1219
{
1220
	if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK) {
1221
		return TRUE;
1222
	}
1223
	else
1224
	{
1225
		GtkWidget *range;
1226
		int zoom_old;
1227
		double factor;
1228
		int width_center, height_center;
1229
		static int slowpad = 0;
1230
1231
		if (event->direction == GDK_SCROLL_UP && slowpad % 2 ==0)
305 by Paul Wise
Remove trailing whitespace
1232
		{
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
1233
			slowpad++;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1234
1235
			if(global_zoom<global_zoom_max)
305 by Paul Wise
Remove trailing whitespace
1236
			{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1237
				range = lookup_widget(window1, "vscale1");
305 by Paul Wise
Remove trailing whitespace
1238
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1239
				width_center  = map_drawable->allocation.width 	/ 2;
305 by Paul Wise
Remove trailing whitespace
1240
				height_center = map_drawable->allocation.height / 2;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1241
1242
				zoom_old = global_zoom;
305 by Paul Wise
Remove trailing whitespace
1243
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1244
				global_zoom++;
305 by Paul Wise
Remove trailing whitespace
1245
				gtk_range_set_value(GTK_RANGE(range), (double) global_zoom);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1246
1247
305 by Paul Wise
Remove trailing whitespace
1248
1249
				factor = 2;
1250
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1251
305 by Paul Wise
Remove trailing whitespace
1252
				global_x = 2 * global_x + (int)event->x;
1253
				global_y = 2 * global_y + (int)event->y;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1254
1255
305 by Paul Wise
Remove trailing whitespace
1256
				repaint_all();
1257
			}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1258
		}
1259
		else if (event->direction == GDK_SCROLL_DOWN && slowpad % 2 ==0)
1260
		{
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
1261
			slowpad++;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1262
1263
			if(global_zoom>2)
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
1264
			{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1265
				range = lookup_widget(window1, "vscale1");
1266
1267
				width_center  = map_drawable->allocation.width 	/ 2;
305 by Paul Wise
Remove trailing whitespace
1268
				height_center = map_drawable->allocation.height / 2;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1269
1270
				zoom_old = global_zoom;
305 by Paul Wise
Remove trailing whitespace
1271
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1272
				global_zoom--;
305 by Paul Wise
Remove trailing whitespace
1273
				gtk_range_set_value(GTK_RANGE(range), (double) global_zoom);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1274
1275
				factor = exp(global_zoom * M_LN2)/exp(zoom_old * M_LN2);
305 by Paul Wise
Remove trailing whitespace
1276
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1277
				global_x = global_x/2 - (int)event->x/2;
305 by Paul Wise
Remove trailing whitespace
1278
				global_y = global_y/2 - (int)event->y/2;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1279
1280
				repaint_all();
305 by Paul Wise
Remove trailing whitespace
1281
			}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1282
		}
1283
		else slowpad++;
1284
1285
		return TRUE;
305 by Paul Wise
Remove trailing whitespace
1286
	}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1287
1288
1289
}
1290
1291
void
1292
on_button15_clicked                    (GtkButton       *button,
1293
                                        gpointer         user_data)
1294
{
1295
	trip_counter_on = (trip_counter_on) ? FALSE : TRUE;
1296
1297
	if(trip_counter_on)
305 by Paul Wise
Remove trailing whitespace
1298
		gtk_button_set_label (button, _("Stop"));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1299
	else
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
1300
		gtk_button_set_label (button, _("Resume"));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1301
}
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
1302
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1303
void
1304
on_entry7_changed                      (GtkEditable     *editable,
1305
                                        gpointer         user_data)
1306
{
1307
	GtkWidget *nick;
1308
	const gchar *n;
1309
	gboolean success = FALSE;
1310
1311
	nick  = lookup_widget(window1, "entry7");
305 by Paul Wise
Remove trailing whitespace
1312
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1313
	n = gtk_entry_get_text(GTK_ENTRY(nick));
305 by Paul Wise
Remove trailing whitespace
1314
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1315
	success = g_settings_set_string(
305 by Paul Wise
Remove trailing whitespace
1316
					global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1317
					"nick",
305 by Paul Wise
Remove trailing whitespace
1318
					n);
302.1.6 by Paul Wise
Drop GCONF configuration prefix
1319
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1320
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1321
1322
void
1323
on_entry8_changed                      (GtkEditable     *editable,
1324
                                        gpointer         user_data)
1325
{
1326
	GtkWidget *pass;
1327
	const gchar *p;
1328
	gboolean success = FALSE;
1329
1330
	pass  = lookup_widget(window1, "entry8");
305 by Paul Wise
Remove trailing whitespace
1331
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1332
	p = gtk_entry_get_text(GTK_ENTRY(pass));
305 by Paul Wise
Remove trailing whitespace
1333
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1334
305 by Paul Wise
Remove trailing whitespace
1335
	success = g_settings_set_string(
1336
					global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1337
					"pass",
305 by Paul Wise
Remove trailing whitespace
1338
					p);
302.1.6 by Paul Wise
Drop GCONF configuration prefix
1339
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1340
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1341
1342
void
1343
on_button13_clicked                    (GtkButton       *button,
1344
                                        gpointer         user_data)
1345
{
1346
	register_nick();
1347
}
1348
1349
1350
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
1351
void
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1352
on_button19_clicked                    (GtkButton       *button,
1353
                                        gpointer         user_data)
1354
{
1355
1356
	track_log_close();
305 by Paul Wise
Remove trailing whitespace
1357
	track_log_open();
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1358
1359
}
305 by Paul Wise
Remove trailing whitespace
1360
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1361
1362
void
1363
on_button20_clicked                    (GtkButton       *button,
1364
                                        gpointer         user_data)
1365
{
1366
	GtkWidget *dialog3, *entry;
1367
1368
	dialog3 = glade_xml_get_widget (gladexml, "dialog3");
1369
	entry = lookup_widget(dialog3, "entry12");
24.3.27 by Joshua Judson Rosen
Recreated `Trackdir Config' dialogue in GladeXML, replacing create_dialog3().
1370
	gtk_entry_set_text(GTK_ENTRY(entry), global_track_dir);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1371
1372
	gtk_widget_show(dialog3);
305 by Paul Wise
Remove trailing whitespace
1373
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1374
1375
void
1376
on_cancelbutton2_clicked               (GtkButton       *button,
1377
                                        gpointer         user_data)
1378
{
1379
	GtkWidget	*dialog3;
1380
1381
	dialog3 = lookup_widget(GTK_WIDGET(button), "dialog3");
1382
1383
	gtk_widget_hide(dialog3);
305 by Paul Wise
Remove trailing whitespace
1384
}
24.3.27 by Joshua Judson Rosen
Recreated `Trackdir Config' dialogue in GladeXML, replacing create_dialog3().
1385
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1386
1387
void
1388
on_okbutton2_clicked                   (GtkButton       *button,
1389
                                        gpointer         user_data)
1390
{
1391
	GtkWidget *dialog3;
1392
	GtkEntry *entry;
1393
	gint mkres;
1394
	gboolean success = FALSE;
1395
	int result;
1396
1397
1398
	entry = (GtkEntry *)lookup_widget(GTK_WIDGET(button), "entry12");
305 by Paul Wise
Remove trailing whitespace
1399
	global_track_dir = g_strconcat(gtk_entry_get_text(entry),"/",NULL);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1400
1401
	result = strncmp(global_track_dir, "~", 1);
1402
305 by Paul Wise
Remove trailing whitespace
1403
	if(!result)
1404
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1405
		char *sub_home, *home_dir;
1406
1407
		strsep(&global_track_dir, "~");
305 by Paul Wise
Remove trailing whitespace
1408
		sub_home = g_strdup(strsep(&global_track_dir, "~"));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1409
		home_dir = getenv("HOME");
1410
1411
		g_free(global_track_dir);
305 by Paul Wise
Remove trailing whitespace
1412
		global_track_dir = g_strconcat(home_dir, sub_home, NULL);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1413
1414
		g_free(sub_home);
305 by Paul Wise
Remove trailing whitespace
1415
	}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1416
1417
	mkres = g_mkdir_with_parents(global_track_dir,0700);
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
1418
	if(mkres==-1) {
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1419
		perror("mkdir........");
1420
	}
1421
1422
	success = g_settings_set_string(
305 by Paul Wise
Remove trailing whitespace
1423
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1424
				"track-dir",
305 by Paul Wise
Remove trailing whitespace
1425
				global_track_dir);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1426
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1427
	dialog3 = lookup_widget(GTK_WIDGET(button), "dialog3");
305 by Paul Wise
Remove trailing whitespace
1428
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1429
	gtk_widget_hide(dialog3);
305 by Paul Wise
Remove trailing whitespace
1430
}
24.3.27 by Joshua Judson Rosen
Recreated `Trackdir Config' dialogue in GladeXML, replacing create_dialog3().
1431
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1432
1433
1434
void
1435
on_item6_activate                      (GtkMenuItem     *menuitem,
1436
                                        gpointer         user_data)
1437
{
1438
1439
}
1440
1441
1442
gboolean
1443
on_item7_activate                      (GtkWidget       *widget,
1444
                                        GdkEventButton  *event,
1445
                                        gpointer         user_data)
1446
{
1447
	global_myposition.lat = global_myposition.lon = 0;
1448
1449
	g_settings_set_double(
305 by Paul Wise
Remove trailing whitespace
1450
		global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1451
		"myposition-lat",
305 by Paul Wise
Remove trailing whitespace
1452
		0);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1453
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1454
	g_settings_set_double(
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
1455
		global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1456
		"myposition-lon",
305 by Paul Wise
Remove trailing whitespace
1457
		0);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1458
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1459
	repaint_all();
305 by Paul Wise
Remove trailing whitespace
1460
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
1461
	return FALSE;
305 by Paul Wise
Remove trailing whitespace
1462
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1463
1464
void
1465
on_item8_activate                      (GtkMenuItem     *menuitem,
1466
                                        gpointer         user_data)
1467
{
1468
	GtkWidget *dialog4;
1469
1470
	dialog4 = glade_xml_get_widget (gladexml, "dialog4");
305 by Paul Wise
Remove trailing whitespace
1471
	gtk_widget_show(dialog4);
24.3.31 by Joshua Judson Rosen
Recreated `Map Download' dialogue in GladeXML, replacing create_dialog4().
1472
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1473
1474
void
1475
on_cancelbutton3_clicked               (GtkButton       *button,
1476
                                        gpointer         user_data)
1477
{
1478
	GtkWidget	*dialog;
1479
1480
	dialog = lookup_widget(GTK_WIDGET(button), "dialog4");
1481
	gtk_widget_hide(dialog);
1482
}
24.3.31 by Joshua Judson Rosen
Recreated `Map Download' dialogue in GladeXML, replacing create_dialog4().
1483
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1484
1485
void
1486
on_okbutton3_clicked                   (GtkButton       *button,
1487
                                        gpointer         user_data)
1488
{
1489
	GtkWidget	*dialog;
1490
1491
	dialog = lookup_widget(GTK_WIDGET(button), "dialog4");
1492
	cb_download_maps(dialog);
1493
}
1494
1495
1496
gboolean
1497
on_drawingarea2_configure_event        (GtkWidget       *widget,
1498
                                        GdkEventConfigure *event,
1499
                                        gpointer         user_data)
1500
{
1501
	if (!pixmap_photo)
1502
	pixmap_photo = gdk_pixmap_new (
1503
			widget->window,
1504
			widget->allocation.width,
1505
			widget->allocation.height,
1506
			-1);
1507
1508
	if (!pixmap_photo)
1509
	{
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
1510
		printf("aieee: pixmap_photo NULL\n");
1511
	}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1512
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
1513
	return FALSE;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1514
}
1515
1516
1517
gboolean
1518
on_drawingarea2_expose_event           (GtkWidget       *widget,
1519
                                        GdkEventExpose  *event,
1520
                                        gpointer         user_data)
1521
{
1522
	gdk_draw_drawable (
1523
		widget->window,
1524
		widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
1525
		pixmap_photo,
1526
		event->area.x, event->area.y,
1527
		event->area.x, event->area.y,
1528
		event->area.width, event->area.height);
1529
1530
305 by Paul Wise
Remove trailing whitespace
1531
	return FALSE;
1532
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1533
1534
1535
1536
void
1537
on_item10_activate                     (GtkMenuItem     *menuitem,
1538
                                        gpointer         user_data)
1539
{
1540
	GtkWidget *label, *widget;
1541
	GtkWidget *drawingarea2;
1542
1543
	static gulong hd1 = 0, hd2 = 0;
305 by Paul Wise
Remove trailing whitespace
1544
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1545
	GSList *list;
1546
	gchar buffer[512];
1547
	gchar *photo_file = NULL;
1548
	gboolean photo_found = FALSE;
1549
1550
	GdkPixbuf *photo = NULL;
1551
	GError	*error = NULL;
1552
	GdkGC *gc;
1553
1554
	waypoint_t *wp = g_new0(waypoint_t,1);
305 by Paul Wise
Remove trailing whitespace
1555
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1556
	gtk_widget_show(window3);
305 by Paul Wise
Remove trailing whitespace
1557
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1558
	drawingarea2 = lookup_widget(window3,"drawingarea2");
1559
1560
1561
305 by Paul Wise
Remove trailing whitespace
1562
1563
1564
1565
1566
	label = lookup_widget(window3,"label104");
1567
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1568
305 by Paul Wise
Remove trailing whitespace
1569
1570
1571
1572
1573
	for(list = photo_list; list != NULL; list = list->next)
1574
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1575
		photo_t *p = list->data;
1576
1577
		if(abs(p->screen_x - mouse_x) < 15 &&
305 by Paul Wise
Remove trailing whitespace
1578
		   abs(p->screen_y - mouse_y) < 15 &&
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1579
		   !photo_found && !photo)
1580
		{
305 by Paul Wise
Remove trailing whitespace
1581
			g_sprintf(buffer,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1582
				"%s ",
305 by Paul Wise
Remove trailing whitespace
1583
				p->name);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1584
			photo_found = TRUE;
1585
			wp->lat = deg2rad(p->lat);
1586
			wp->lon = deg2rad(p->lon);
1587
1588
305 by Paul Wise
Remove trailing whitespace
1589
			photo = gdk_pixbuf_new_from_file_at_size (
1590
							p->filename, 240,-1,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1591
							&error);
1592
			if(!photo)
1593
			{
1594
				printf ("+++++++++++++ FOTO NOT FOUND +++++++++\n");
1595
				g_sprintf (buffer, _("File not found"));
1596
			}
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
1597
			else
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1598
			{
1599
				photo_file = p->filename;
1600
1601
				gc = gdk_gc_new(pixmap_photo);
1602
1603
				gdk_draw_rectangle (
305 by Paul Wise
Remove trailing whitespace
1604
					pixmap_photo,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1605
					drawingarea2->style->white_gc,
1606
					TRUE,
1607
					0, 0,
1608
					drawingarea2->allocation.width,
1609
					drawingarea2->allocation.height);
1610
1611
				gdk_draw_pixbuf (
305 by Paul Wise
Remove trailing whitespace
1612
					pixmap_photo,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1613
					gc,
1614
					photo,
1615
					0,0,
1616
					0, 0,
1617
					-1,-1,
1618
					GDK_RGB_DITHER_NONE, 0, 0);
1619
1620
				gdk_draw_drawable (
305 by Paul Wise
Remove trailing whitespace
1621
					drawingarea2->window,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1622
					drawingarea2->style->fg_gc[GTK_WIDGET_STATE (drawingarea2)],
1623
					pixmap_photo,
1624
					0,0,
1625
					0,0,
1626
					-1,-1);
1627
1628
				gtk_widget_queue_draw_area (
1629
					drawingarea2,
1630
					0, 0,
305 by Paul Wise
Remove trailing whitespace
1631
					80,80);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1632
1633
			}
1634
1635
1636
1637
		}
305 by Paul Wise
Remove trailing whitespace
1638
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1639
	}
305 by Paul Wise
Remove trailing whitespace
1640
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1641
	if(!photo_found)
305 by Paul Wise
Remove trailing whitespace
1642
		g_sprintf (buffer, _("No Geo Photo found"));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1643
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
1644
	gtk_label_set_text(GTK_LABEL(label),buffer);
305 by Paul Wise
Remove trailing whitespace
1645
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1646
	widget = lookup_widget(window3, "button29");
1647
	if(hd1) g_signal_handler_disconnect(G_OBJECT(widget), hd1);
1648
	hd1 = g_signal_connect (	(gpointer) widget, "clicked",
1649
				G_CALLBACK (on_button29_clicked),
1650
				(gpointer) wp);
1651
1652
	widget = lookup_widget(window3, "button21");
305 by Paul Wise
Remove trailing whitespace
1653
	if(hd2) g_signal_handler_disconnect(G_OBJECT(widget), hd2);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1654
	hd2 = g_signal_connect (	(gpointer) widget, "clicked",
1655
				G_CALLBACK (on_button21_clicked),
1656
				(gpointer) g_strdup(photo_file));
1657
1658
}
305 by Paul Wise
Remove trailing whitespace
1659
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1660
1661
void
1662
on_item11_activate                     (GtkMenuItem     *menuitem,
1663
                                        gpointer         user_data)
1664
{
1665
1666
}
1667
1668
void
1669
on_button21_clicked                    (GtkButton       *button,
1670
                                        gpointer         user_data)
1671
{
1672
	GladeXML *gladexml;
1673
	GtkWidget *widget;
24.3.55 by Joshua Judson Rosen
Recreated `GeoPhoto' popup photo-viewer window, replacing create_win13_biggeo().
1674
	GtkWidget *drawingarea;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1675
1676
	gchar buffer[512];
1677
	gchar *photo_file = user_data;
1678
1679
	GdkPixbuf *photo = NULL;
1680
	GError	*error = NULL;
1681
	GdkGC *gc;
1682
1683
	gladexml = glade_xml_new (gladefile, "win13_biggeo", GETTEXT_PACKAGE);
1684
	glade_xml_signal_autoconnect (gladexml);
24.3.55 by Joshua Judson Rosen
Recreated `GeoPhoto' popup photo-viewer window, replacing create_win13_biggeo().
1685
	widget = glade_xml_get_widget (gladexml, "win13_biggeo");
1686
	g_signal_connect_swapped (widget, "destroy",
1687
				  G_CALLBACK (g_object_unref), gladexml);
1688
1689
	gtk_widget_show(widget);
1690
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1691
	drawingarea = lookup_widget(widget, "drawingarea3");
305 by Paul Wise
Remove trailing whitespace
1692
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1693
	photo = gdk_pixbuf_new_from_file_at_size (
305 by Paul Wise
Remove trailing whitespace
1694
							photo_file, 640,-1,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1695
							&error);
1696
	if(!photo)
1697
	{
1698
		printf ("+++++++++++++ FOTO NOT FOUND: %s +++++++++\n", photo_file);
1699
		g_sprintf (buffer, _("File not found"));
1700
	}
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
1701
	else
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1702
	{
1703
		gc = gdk_gc_new(pixmap_photo);
1704
1705
		gdk_draw_rectangle (
305 by Paul Wise
Remove trailing whitespace
1706
			pixmap_photo,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1707
			drawingarea->style->white_gc,
1708
			TRUE,
1709
			0, 0,
1710
			drawingarea->allocation.width,
1711
			drawingarea->allocation.height);
1712
1713
		gdk_draw_pixbuf (
305 by Paul Wise
Remove trailing whitespace
1714
			pixmap_photo,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1715
			gc,
1716
			photo,
1717
			0,0,
1718
			0, 0,
1719
			-1,-1,
1720
			GDK_RGB_DITHER_NONE, 0, 0);
1721
1722
		gdk_draw_drawable (
305 by Paul Wise
Remove trailing whitespace
1723
			drawingarea->window,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1724
			drawingarea->style->fg_gc[GTK_WIDGET_STATE (drawingarea)],
1725
			pixmap_photo,
1726
			0,0,
1727
			0,0,
1728
			-1,-1);
1729
1730
		gtk_widget_queue_draw_area (
1731
			drawingarea,
1732
			0, 0,
305 by Paul Wise
Remove trailing whitespace
1733
			80,80);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1734
1735
	}
1736
1737
1738
1739
305 by Paul Wise
Remove trailing whitespace
1740
	gtk_widget_hide(window3);printf("*** %s(): 44\n",__PRETTY_FUNCTION__);
1741
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1742
}
1743
1744
1745
1746
gboolean
1747
on_item12_activate                     (GtkWidget       *widget,
1748
                                        GdkEventButton  *event,
1749
                                        gpointer         user_data)
1750
{
1751
	show_window6();
1752
1753
	return FALSE;
305 by Paul Wise
Remove trailing whitespace
1754
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1755
1756
1757
gboolean
1758
on_item14_activate                     (GtkWidget       *widget,
1759
                                        GdkEventButton  *event,
1760
                                        gpointer         user_data)
1761
{
1762
	GtkWidget *dialog, *combobox;
1763
1764
	dialog = glade_xml_get_widget (gladexml, "dialog6");
1765
	gtk_widget_show(dialog);
24.3.40 by Joshua Judson Rosen
Recreated `Show POIs' dialogue in GladeXML, replacing create_dialog6().
1766
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1767
	combobox = lookup_widget(dialog, "combobox4");
305 by Paul Wise
Remove trailing whitespace
1768
	gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1769
1770
	return FALSE;
1771
}
1772
1773
1774
void
1775
on_cancelbutton4_clicked               (GtkButton       *button,
1776
                                        gpointer         user_data)
1777
{
1778
	GtkWidget	*dialog;
1779
1780
	dialog = lookup_widget(GTK_WIDGET(button), "window6");
1781
	gtk_widget_destroy(dialog);
1782
}
1783
1784
1785
void
1786
on_okbutton4_clicked                   (GtkButton       *button,
1787
                                        gpointer         user_data)
1788
{
1789
	GtkWidget *dialog;
1790
	dialog = lookup_widget(GTK_WIDGET(button), "window6");
1791
	set_poi(dialog);
1792
1793
305 by Paul Wise
Remove trailing whitespace
1794
	global_show_pois = TRUE;
1795
	repaint_all();
1796
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1797
1798
1799
void
1800
on_cancelbutton5_clicked               (GtkButton       *button,
1801
                                        gpointer         user_data)
1802
{
1803
	GtkWidget *dialog;
1804
1805
	dialog = lookup_widget(GTK_WIDGET(button), "dialog6");
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
1806
	gtk_widget_hide(dialog);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1807
24.3.40 by Joshua Judson Rosen
Recreated `Show POIs' dialogue in GladeXML, replacing create_dialog6().
1808
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1809
1810
1811
void
1812
on_okbutton5_clicked                   (GtkButton       *button,
1813
                                        gpointer         user_data)
1814
{
1815
	GtkWidget *dialog,*combobox,*widget;
1816
	gboolean pois_shown;
1817
1818
	dialog = lookup_widget(GTK_WIDGET(button), "dialog6");
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
1819
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1820
	combobox = lookup_widget(GTK_WIDGET(button), "combobox4");
305 by Paul Wise
Remove trailing whitespace
1821
	global_poi_cat = gtk_combo_box_get_active(GTK_COMBO_BOX(combobox));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1822
1823
	gtk_widget_hide(dialog);
1824
24.3.40 by Joshua Judson Rosen
Recreated `Show POIs' dialogue in GladeXML, replacing create_dialog6().
1825
	widget = lookup_widget(menu1, "item20");
305 by Paul Wise
Remove trailing whitespace
1826
	pois_shown = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1827
1828
	if(pois_shown)
305 by Paul Wise
Remove trailing whitespace
1829
		repaint_all();
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1830
	else
1831
		gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), TRUE);
1832
1833
}
305 by Paul Wise
Remove trailing whitespace
1834
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1835
gboolean
1836
on_dialog6_delete_event                (GtkWidget       *widget,
1837
                                        GdkEvent        *event,
1838
                                        gpointer         user_data)
1839
{
1840
	gtk_widget_hide (widget);
1841
	return TRUE;
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
1842
}
1843
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1844
1845
void
1846
on_combobox2_changed                   (GtkComboBox     *combobox,
1847
                                        gpointer         user_data)
1848
{
1849
	on_combobox_cat_changed(combobox);
1850
}
1851
1852
void
1853
on_item15_activate                     (GtkMenuItem     *menuitem,
1854
                                        gpointer         user_data)
1855
{
1856
	show_poi_detail();
1857
}
1858
1859
void
1860
on_button22_clicked                    (GtkButton       *button,
1861
                                        gpointer         user_data)
1862
{
1863
	GtkWidget *window;
1864
	window = lookup_widget(GTK_WIDGET(button), "window5");
1865
	gtk_widget_destroy(window);
1866
}
1867
1868
1869
1870
void
1871
on_entry16_changed                     (GtkEditable     *editable,
1872
                                        gpointer         user_data)
1873
{
1874
	gboolean success = FALSE;
1875
1876
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
1877
	global_ffupdate_interval_minutes = atof(gtk_entry_get_text(GTK_ENTRY(editable)));
305 by Paul Wise
Remove trailing whitespace
1878
	global_ffupdate_interval = global_ffupdate_interval_minutes * 60000;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1879
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
1880
	if (global_ffupdate_interval < 30000)
305 by Paul Wise
Remove trailing whitespace
1881
		global_ffupdate_interval = 30000;
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
1882
1883
	if(global_fftimer_running)
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1884
	{
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
1885
		if(friendfinder_timer) {
1886
			g_source_remove(friendfinder_timer);
1887
			friendfinder_timer = 0;
1888
		}
1889
1890
		if(msg_timer) {
305 by Paul Wise
Remove trailing whitespace
1891
			g_source_remove(msg_timer);
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
1892
			msg_timer = 0;
1893
		}
1894
1895
		friendfinder_timer = g_timeout_add_seconds(global_ffupdate_interval/1000, update_position, NULL);
305 by Paul Wise
Remove trailing whitespace
1896
		msg_timer	   = g_timeout_add_seconds(global_ffupdate_interval/1000, send_message, NULL);
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
1897
	}
1898
1899
305 by Paul Wise
Remove trailing whitespace
1900
	success = g_settings_set_double(
1901
			global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1902
			"ffupdate-interval-minutes",
305 by Paul Wise
Remove trailing whitespace
1903
			global_ffupdate_interval_minutes);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1904
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1905
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1906
1907
1908
void
1909
on_radiobutton14_toggled               (GtkToggleButton *togglebutton,
1910
                                        gpointer         user_data)
1911
{
1912
	gboolean success = FALSE;
1913
1914
	global_speed_unit = (gtk_toggle_button_get_active(togglebutton)) ? 0 : global_speed_unit;
305 by Paul Wise
Remove trailing whitespace
1915
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1916
	success = g_settings_set_int(
1917
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1918
				"speed-unit",
305 by Paul Wise
Remove trailing whitespace
1919
				global_speed_unit);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1920
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1921
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1922
1923
void
1924
on_radiobutton15_toggled               (GtkToggleButton *togglebutton,
1925
                                        gpointer         user_data)
1926
{
1927
	gboolean success = FALSE;
1928
1929
	global_speed_unit = (gtk_toggle_button_get_active(togglebutton)) ? 1 : global_speed_unit;
305 by Paul Wise
Remove trailing whitespace
1930
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1931
	success = g_settings_set_int(
305 by Paul Wise
Remove trailing whitespace
1932
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1933
				"speed-unit",
305 by Paul Wise
Remove trailing whitespace
1934
				global_speed_unit);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1935
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1936
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1937
1938
void
1939
on_radiobutton16_toggled               (GtkToggleButton *togglebutton,
1940
                                        gpointer         user_data)
1941
{
1942
	gboolean success = FALSE;
1943
1944
	global_speed_unit = (gtk_toggle_button_get_active(togglebutton)) ? 2 : global_speed_unit;
305 by Paul Wise
Remove trailing whitespace
1945
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1946
	success = g_settings_set_int(
305 by Paul Wise
Remove trailing whitespace
1947
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1948
				"speed-unit",
305 by Paul Wise
Remove trailing whitespace
1949
				global_speed_unit);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1950
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1951
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1952
1953
void
1954
on_radiobutton17_toggled               (GtkToggleButton *togglebutton,
1955
                                        gpointer         user_data)
1956
{
1957
	gboolean success = FALSE;
1958
1959
	global_alt_unit = (gtk_toggle_button_get_active(togglebutton)) ? 0 : global_alt_unit;
305 by Paul Wise
Remove trailing whitespace
1960
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1961
	success = g_settings_set_int(
305 by Paul Wise
Remove trailing whitespace
1962
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1963
				"alt-unit",
305 by Paul Wise
Remove trailing whitespace
1964
				global_alt_unit);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1965
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1966
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1967
1968
void
1969
on_radiobutton18_toggled               (GtkToggleButton *togglebutton,
1970
                                        gpointer         user_data)
1971
{
1972
	gboolean success = FALSE;
1973
1974
	global_alt_unit = (gtk_toggle_button_get_active(togglebutton)) ? 1 : global_alt_unit;
305 by Paul Wise
Remove trailing whitespace
1975
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1976
	success = g_settings_set_int(
1977
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1978
				"alt-unit",
305 by Paul Wise
Remove trailing whitespace
1979
				global_alt_unit);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1980
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1981
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1982
1983
void
1984
on_radiobutton19_toggled               (GtkToggleButton *togglebutton,
1985
                                        gpointer         user_data)
1986
{
1987
	gboolean success = FALSE;
1988
1989
	global_latlon_unit = (gtk_toggle_button_get_active(togglebutton)) ? 0 : global_latlon_unit;
305 by Paul Wise
Remove trailing whitespace
1990
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1991
	success = g_settings_set_int(
305 by Paul Wise
Remove trailing whitespace
1992
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1993
				"latlon-unit",
305 by Paul Wise
Remove trailing whitespace
1994
				global_latlon_unit);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
1995
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
1996
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
1997
1998
void
1999
on_radiobutton20_toggled               (GtkToggleButton *togglebutton,
2000
                                        gpointer         user_data)
2001
{
2002
	gboolean success = FALSE;
2003
2004
	global_latlon_unit = (gtk_toggle_button_get_active(togglebutton)) ? 1 : global_latlon_unit;
305 by Paul Wise
Remove trailing whitespace
2005
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2006
	success = g_settings_set_int(
2007
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
2008
				"latlon-unit",
305 by Paul Wise
Remove trailing whitespace
2009
				global_latlon_unit);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
2010
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
2011
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2012
void
2013
on_radiobutton21_toggled               (GtkToggleButton *togglebutton,
2014
                                        gpointer         user_data)
2015
{
2016
	gboolean success = FALSE;
2017
2018
	global_latlon_unit = (gtk_toggle_button_get_active(togglebutton)) ? 2 : global_latlon_unit;
2019
2020
	success = g_settings_set_int(
305 by Paul Wise
Remove trailing whitespace
2021
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
2022
				"latlon-unit",
305 by Paul Wise
Remove trailing whitespace
2023
				global_latlon_unit);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
2024
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
2025
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2026
2027
gboolean
2028
on_button11_expose_event               (GtkWidget       *widget,
2029
                                        GdkEventExpose  *event,
2030
                                        gpointer         user_data)
2031
{
2032
	return FALSE;
2033
}
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
2034
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2035
2036
2037
void
2038
on_button26_clicked                    (GtkButton       *button,
2039
                                        gpointer         user_data)
2040
{
2041
	GtkWidget *window;
2042
	window = lookup_widget(GTK_WIDGET(button), "window8");
2043
	gtk_widget_destroy(window);
2044
}
2045
2046
gboolean
2047
on_window2_delete_event                (GtkWidget       *widget,
2048
                                        GdkEvent        *event,
2049
                                        gpointer         user_data)
2050
{
2051
	gtk_widget_hide_on_delete       (widget);
2052
	distance_mode = FALSE;
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
2053
	set_cursor(GDK_HAND2);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2054
	repaint_all();
2055
	return TRUE;
2056
}
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
2057
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2058
void
2059
on_button27_clicked                    (GtkButton       *button,
2060
                                        gpointer         user_data)
2061
{
2062
	GtkWidget *window;
2063
	waypoint_t *wp;
2064
2065
	wp = user_data;
305 by Paul Wise
Remove trailing whitespace
2066
	set_current_wp(wp->lat, wp->lon);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2067
2068
	window = lookup_widget(GTK_WIDGET(button), "window5");
305 by Paul Wise
Remove trailing whitespace
2069
	gtk_widget_destroy(window);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2070
}
2071
2072
2073
2074
gboolean
2075
on_window3_delete_event                (GtkWidget       *widget,
2076
                                        GdkEvent        *event,
2077
                                        gpointer         user_data)
2078
{
2079
	gtk_widget_hide_on_delete       (widget);
2080
	return TRUE;
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
2081
}
2082
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2083
void
2084
on_item19_activate                     (GtkMenuItem     *menuitem,
2085
                                        gpointer         user_data)
2086
{
2087
	gboolean active;
2088
2089
	active = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem));
305 by Paul Wise
Remove trailing whitespace
2090
	global_show_friends = (active) ? TRUE : FALSE;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2091
2092
305 by Paul Wise
Remove trailing whitespace
2093
	if(global_show_friends && !global_fftimer_running) {
2094
		GtkWidget *widget = NULL;
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
2095
2096
		widget = lookup_widget(window1, "button11");
305 by Paul Wise
Remove trailing whitespace
2097
		gtk_button_clicked(GTK_BUTTON(widget));
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
2098
	}
2099
	repaint_all();
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
2100
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2101
2102
2103
void
2104
on_item20_activate                     (GtkMenuItem     *menuitem,
2105
                                        gpointer         user_data)
2106
{
2107
	gboolean active;
2108
2109
	active = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem));
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
2110
	global_show_pois = (active) ? TRUE : FALSE;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2111
2112
2113
2114
	repaint_all();
305 by Paul Wise
Remove trailing whitespace
2115
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2116
2117
2118
2119
void
2120
on_item9_activate                      (GtkMenuItem     *menuitem,
2121
                                        gpointer         user_data)
2122
{
2123
	gboolean active;
2124
2125
	active = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem));
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
2126
	global_show_photos = (active) ? TRUE : FALSE;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2127
2128
	if (active && photo_list == NULL)
2129
		get_photos();
2130
2131
	repaint_all();
305 by Paul Wise
Remove trailing whitespace
2132
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2133
2134
2135
void
2136
repaint_all()
2137
{
2138
2139
305 by Paul Wise
Remove trailing whitespace
2140
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
2141
	fill_tiles_pixel(global_x, global_y, global_zoom, FALSE);
2142
	paint_track();
2143
	paint_loaded_track();
212 by Vita Cizek
Rename print_track() to paint_track()
2144
	paint_friends();
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2145
	paint_photos();
2146
	paint_pois();
2147
	paint_wp();
2148
	paint_route();
2149
	paint_myposition();
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
2150
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2151
}
305 by Paul Wise
Remove trailing whitespace
2152
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2153
void
2154
on_button29_clicked                    (GtkButton       *button,
2155
                                        gpointer         user_data)
2156
{
2157
	GtkWidget *window;
2158
	waypoint_t *wp;
2159
2160
	wp = user_data;
305 by Paul Wise
Remove trailing whitespace
2161
	set_current_wp(wp->lat, wp->lon);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2162
2163
	window = lookup_widget(GTK_WIDGET(button), "window3");
2164
	gtk_widget_hide(window);
2165
}
2166
2167
void
2168
on_button28_clicked                    (GtkButton       *button,
2169
                                        gpointer         user_data)
2170
{
2171
	GtkWidget *entry14, *entry15;
2172
	char buf[64];
2173
2174
	if(gpsdata && gpsdata->fix.latitude !=0)
2175
	{
2176
		entry14 = lookup_widget(GTK_WIDGET(button), "entry14");
2177
		entry15 = lookup_widget(GTK_WIDGET(button), "entry15");
2178
2179
		g_sprintf(buf, "%f", gpsdata->fix.latitude);
305 by Paul Wise
Remove trailing whitespace
2180
		gtk_entry_set_text(GTK_ENTRY(entry14), buf);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2181
		g_sprintf(buf, "%f", gpsdata->fix.longitude);
2182
		gtk_entry_set_text(GTK_ENTRY(entry15), buf);
2183
	}
2184
2185
}
305 by Paul Wise
Remove trailing whitespace
2186
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2187
void
2188
on_button33_clicked                    (GtkButton       *button,
2189
                                        gpointer         user_data)
2190
{
2191
	GladeXML *gladexml;
2192
24.3.42 by Joshua Judson Rosen
Recreated `Edit POI' dialogue in GladeXML, replacing create_window10().
2193
	GtkWidget *widget;
2194
	GtkTextBuffer *tbuffer;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2195
	GtkWidget *window;
2196
2197
	poi_t *p;
2198
2199
	p = user_data;
305 by Paul Wise
Remove trailing whitespace
2200
	tbuffer = gtk_text_buffer_new(NULL);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2201
	gtk_text_buffer_insert_at_cursor(tbuffer, "p->desc", -1);
2202
	gtk_text_buffer_set_text(tbuffer, "p->desc", -1);
2203
2204
305 by Paul Wise
Remove trailing whitespace
2205
2206
2207
	gladexml = glade_xml_new (gladefile, "window10", GETTEXT_PACKAGE);
2208
	glade_xml_signal_autoconnect (gladexml);
24.3.42 by Joshua Judson Rosen
Recreated `Edit POI' dialogue in GladeXML, replacing create_window10().
2209
	window = glade_xml_get_widget (gladexml, "window10");
2210
	g_signal_connect_swapped (window, "destroy",
2211
				  G_CALLBACK (g_object_unref), gladexml);
2212
	gtk_widget_show(window);
2213
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2214
305 by Paul Wise
Remove trailing whitespace
2215
2216
	widget = lookup_widget(window, "entry17");
2217
	gtk_entry_set_text(GTK_ENTRY(widget), g_strdup_printf("%f",p->lat_deg));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2218
2219
	widget = lookup_widget(window, "entry18");
305 by Paul Wise
Remove trailing whitespace
2220
	gtk_entry_set_text(GTK_ENTRY(widget), g_strdup_printf("%f",p->lon_deg));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2221
2222
	widget = lookup_widget(window, "entry19");
2223
	gtk_entry_set_text(GTK_ENTRY(widget), p->keywords);
2224
2225
	widget = lookup_widget(window, "textview2");
305 by Paul Wise
Remove trailing whitespace
2226
	gtk_text_view_set_buffer(GTK_TEXT_VIEW(widget), tbuffer);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2227
	gtk_text_buffer_set_text(tbuffer, p->desc, -1);
2228
2229
	widget = lookup_widget(window, "label126");
2230
2231
	if (p->idmd5==NULL)
305 by Paul Wise
Remove trailing whitespace
2232
		gtk_label_set_label (GTK_LABEL(widget),
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2233
		                     _("<span foreground='#ff0000'>"
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
2234
		                       "POI has no ID -> see website for help!"
2235
		                       "</span>"));
2236
	else
2237
		gtk_label_set_text(GTK_LABEL(widget), p->idmd5);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2238
2239
2240
	widget = lookup_widget(GTK_WIDGET(button), "window5");
305 by Paul Wise
Remove trailing whitespace
2241
	gtk_widget_destroy(widget);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2242
}
2243
2244
void
2245
on_cancelbutton5a_clicked               (GtkButton       *button,
2246
                                        gpointer         user_data)
2247
{
2248
	GtkWidget	*dialog;
2249
2250
	dialog = lookup_widget(GTK_WIDGET(button), "window10");
2251
	gtk_widget_destroy(dialog);
2252
}
2253
2254
2255
2256
void
2257
on_okbutton5a_clicked                   (GtkButton       *button,
2258
                                        gpointer         user_data)
2259
{
2260
	GtkWidget *widget;
2261
	widget = lookup_widget(GTK_WIDGET(button), "window10");
2262
	update_poi(widget);
2263
2264
305 by Paul Wise
Remove trailing whitespace
2265
2266
2267
	repaint_all();
2268
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2269
2270
void
2271
on_button30_clicked                    (GtkButton       *button,
2272
                                        gpointer         user_data)
2273
{
2274
	GtkWidget *entry17, *entry18;
2275
	char buf[64];
2276
2277
	if(gpsdata && gpsdata->fix.latitude !=0)
2278
	{
2279
		entry17 = lookup_widget(GTK_WIDGET(button), "entry17");
2280
		entry18 = lookup_widget(GTK_WIDGET(button), "entry18");
2281
2282
		g_sprintf(buf, "%f", gpsdata->fix.latitude);
305 by Paul Wise
Remove trailing whitespace
2283
		gtk_entry_set_text(GTK_ENTRY(entry17), buf);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2284
		g_sprintf(buf, "%f", gpsdata->fix.longitude);
2285
		gtk_entry_set_text(GTK_ENTRY(entry18), buf);
2286
	}
2287
2288
}
305 by Paul Wise
Remove trailing whitespace
2289
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2290
gboolean
2291
on_drawingarea1_key_press_event        (GtkWidget       *widget,
2292
                                        GdkEventKey     *event,
2293
                                        gpointer         user_data)
2294
{
2295
	if (event->keyval == GDK_Page_Up || event->keyval == GDK_KP_Up || event->keyval == GDK_i)
2296
		on_button4_clicked(NULL, NULL);
215 by Joshua Judson Rosen
Consistently use GDK's symbolic key-names
2297
	else if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK && event->keyval == GDK_p)
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2298
		geo_photos_open_dialog_photo_correlate();
215 by Joshua Judson Rosen
Consistently use GDK's symbolic key-names
2299
	else if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK && event->keyval == GDK_t)
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2300
		tracks_open_tracks_dialog();
215 by Joshua Judson Rosen
Consistently use GDK's symbolic key-names
2301
	else if(event->keyval == GDK_Page_Down || event->keyval == GDK_o)
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2302
		on_button5_clicked(NULL, NULL);
215 by Joshua Judson Rosen
Consistently use GDK's symbolic key-names
2303
	else if(event->keyval == GDK_m)
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2304
		on_button76_clicked(NULL, NULL);
215 by Joshua Judson Rosen
Consistently use GDK's symbolic key-names
2305
	else if(event->keyval == GDK_space || event->keyval == GDK_F11)
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
2306
	{
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
2307
		maximized = !maximized;
193 by Joshua Judson Rosen
Make the `fullscreen' button into a toggle
2308
		gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1, "button1")), maximized);
2309
		gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1, "button53")), maximized);
2310
	}
2311
	else if(event->keyval == GDK_Right)
2312
		move_map(1);
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
2313
	else if(event->keyval == GDK_Down)
2314
		move_map(2);
2315
	else if(event->keyval == GDK_Left)
2316
		move_map(3);
2317
	else if(event->keyval == GDK_Up)
2318
		move_map(4);
2319
	else if(event->keyval == GDK_a)
2320
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2321
		global_autocenter = !global_autocenter;
192 by Joshua Judson Rosen
Make the `autocenter' button into a *toggle*
2322
		GtkToggleToolButton *autocenter_toggle;
2323
2324
		autocenter_toggle =
2325
			GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1,
2326
			                                     "button3"));
2327
		gtk_toggle_tool_button_set_active(autocenter_toggle,
2328
		                                  global_autocenter);
2329
2330
		autocenter_toggle =
2331
			GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1,
2332
			                                     "button56"));
2333
		gtk_toggle_tool_button_set_active(autocenter_toggle,
2334
		                                  global_autocenter);
2335
	}
2336
	else if(event->keyval == GDK_r)
2337
		on_item23_button_release_event(NULL, NULL, NULL);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
2338
	else if(event->keyval == GDK_1)
2339
	{
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2340
		GtkWidget *widget;
2341
		widget = lookup_widget(window1, "combobox1");
2342
		gtk_combo_box_set_active(GTK_COMBO_BOX(widget), 0);
2343
		repaint_all();
2344
	}
2345
	else if(event->keyval == GDK_2)
2346
	{
2347
		GtkWidget *widget;
2348
		widget = lookup_widget(window1, "combobox1");
2349
		gtk_combo_box_set_active(GTK_COMBO_BOX(widget), 1);
2350
		repaint_all();
2351
	}
2352
	else if(event->keyval == GDK_3)
2353
	{
2354
		GtkWidget *widget;
2355
		widget = lookup_widget(window1, "combobox1");
2356
		gtk_combo_box_set_active(GTK_COMBO_BOX(widget), 2);
2357
		repaint_all();
2358
	}
2359
	else if(event->keyval == GDK_4)
2360
	{
2361
		GtkWidget *widget;
2362
		widget = lookup_widget(window1, "combobox1");
2363
		gtk_combo_box_set_active(GTK_COMBO_BOX(widget), 3);
2364
		repaint_all();
2365
	}
2366
	else if(event->keyval == GDK_5)
2367
	{
2368
		GtkWidget *widget;
2369
		widget = lookup_widget(window1, "combobox1");
2370
		gtk_combo_box_set_active(GTK_COMBO_BOX(widget), 4);
2371
		repaint_all();
2372
	}
2373
	else if(event->keyval == GDK_6)
2374
	{
2375
		GtkWidget *widget;
2376
		widget = lookup_widget(window1, "combobox1");
2377
		gtk_combo_box_set_active(GTK_COMBO_BOX(widget), 5);
2378
		repaint_all();
2379
	}
2380
	else if(event->keyval == GDK_7)
2381
	{
2382
		GtkWidget *widget;
2383
		widget = lookup_widget(window1, "combobox1");
2384
		gtk_combo_box_set_active(GTK_COMBO_BOX(widget), 6);
2385
		repaint_all();
2386
	}
2387
	else if(event->keyval == GDK_8)
2388
	{
2389
		GtkWidget *widget;
2390
		widget = lookup_widget(window1, "combobox1");
2391
		gtk_combo_box_set_active(GTK_COMBO_BOX(widget), 7);
2392
		repaint_all();
2393
	}
2394
2395
	return TRUE;
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
2396
}
2397
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2398
void
2399
on_button34_clicked                    (GtkButton       *button,
2400
                                        gpointer         user_data)
2401
{
2402
	GladeXML *gladexml;
2403
	GtkWidget *widget, *widget2;
24.3.41 by Joshua Judson Rosen
Recreated `Delete POI?' dialogue in GladeXML, replacing create_dialog7().
2404
	poi_t *p;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2405
2406
	p = user_data;
2407
	gladexml = glade_xml_new (gladefile,
2408
				  "dialog7",
24.3.41 by Joshua Judson Rosen
Recreated `Delete POI?' dialogue in GladeXML, replacing create_dialog7().
2409
				  GETTEXT_PACKAGE);
2410
	glade_xml_signal_autoconnect (gladexml);
2411
	widget = glade_xml_get_widget (gladexml, "dialog7");
2412
	g_signal_connect_swapped (widget, "destroy",
2413
				  G_CALLBACK (g_object_unref), gladexml);
2414
	gtk_widget_show(widget);
2415
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2416
	widget2 = lookup_widget(widget, "okbutton6");
305 by Paul Wise
Remove trailing whitespace
2417
	g_signal_connect (	(gpointer) widget2, "clicked",
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2418
				G_CALLBACK (on_okbutton6_clicked),
2419
				(gpointer) p);
2420
}
2421
2422
2423
gboolean
2424
on_dialog7_delete_event                (GtkWidget       *widget,
2425
                                        GdkEvent        *event,
2426
                                        gpointer         user_data)
2427
{
2428
	return FALSE;
2429
}
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
2430
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2431
2432
void
2433
on_cancelbutton6_clicked               (GtkButton       *button,
2434
                                        gpointer         user_data)
2435
{
2436
	GtkWidget *widget;
2437
2438
	widget = lookup_widget(GTK_WIDGET(button), "dialog7");
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
2439
	gtk_widget_destroy(widget);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2440
}
2441
2442
2443
void
2444
on_okbutton6_clicked                   (GtkButton       *button,
2445
                                        gpointer         user_data)
2446
{
2447
	GtkWidget *widget;
2448
	poi_t *p;
2449
2450
	p = user_data;
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
2451
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2452
	gtk_widget_destroy(p->widget);
305 by Paul Wise
Remove trailing whitespace
2453
	delete_poi(p);
2454
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2455
	widget = lookup_widget(GTK_WIDGET(button), "dialog7");
305 by Paul Wise
Remove trailing whitespace
2456
	gtk_widget_destroy(widget);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2457
}
2458
2459
void
2460
on_button35_clicked                    (GtkButton       *button,
2461
                                        gpointer         user_data)
2462
{
2463
	GtkWidget *widget;
2464
	widget = lookup_widget(window1, "vbox48");
2465
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
2466
	if(msg_pane_visible)
305 by Paul Wise
Remove trailing whitespace
2467
	{
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
2468
		gtk_widget_hide(widget);
305 by Paul Wise
Remove trailing whitespace
2469
		msg_pane_visible = FALSE;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2470
		gtk_button_set_label (button, _("Show Messages"));
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
2471
	}
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
2472
	else
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2473
	{
2474
		gtk_widget_show(widget);
2475
		msg_pane_visible = TRUE;
2476
		gtk_button_set_label (button, _("Hide Messages"));
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
2477
	}
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
2478
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2479
2480
void
2481
on_entry3_changed                      (GtkEditable     *editable,
2482
                                        gpointer         user_data)
2483
{
2484
	GtkWidget *widget;
2485
	const char *entry;
2486
2487
	widget = lookup_widget(window1, "entry3");
305 by Paul Wise
Remove trailing whitespace
2488
	entry = gtk_entry_get_text(GTK_ENTRY(widget));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2489
2490
	g_settings_set_string(	global_settings,
305 by Paul Wise
Remove trailing whitespace
2491
					"gpsd-host",
2492
					entry);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
2493
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
2494
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2495
2496
void
2497
on_entry4_changed                      (GtkEditable     *editable,
2498
                                        gpointer         user_data)
2499
{
2500
	GtkWidget *widget;
2501
	const char *entry;
2502
2503
	widget = lookup_widget(window1, "entry4");
305 by Paul Wise
Remove trailing whitespace
2504
	entry = gtk_entry_get_text(GTK_ENTRY(widget));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2505
2506
	g_settings_set_string(	global_settings,
305 by Paul Wise
Remove trailing whitespace
2507
					"gpsd-port",
2508
					entry);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
2509
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
2510
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2511
void
2512
on_button36_clicked                    (GtkButton       *button,
2513
                                        gpointer         user_data)
2514
{
2515
	tracks_open_tracks_dialog();
2516
}
2517
2518
gboolean
2519
on_window12_delete_event               (GtkWidget       *widget,
2520
                                        GdkEvent        *event,
2521
                                        gpointer         user_data)
2522
{
2523
	GtkWidget *window, *vbox;
2524
24.3.29 by Joshua Judson Rosen
Clear all of the tracks out of the listing after hiding window12.
2525
	window = lookup_widget(widget, "window12");
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2526
	gtk_widget_hide(window);
2527
24.3.28 by Joshua Judson Rosen
Recreated `Load track...' dialogue in GladeXML, replacing create_window12().
2528
	vbox = lookup_widget(window, "vbox39");
24.3.29 by Joshua Judson Rosen
Clear all of the tracks out of the listing after hiding window12.
2529
	gtk_container_foreach (GTK_CONTAINER (vbox),
305 by Paul Wise
Remove trailing whitespace
2530
			       (GtkCallback) gtk_widget_destroy,
24.3.29 by Joshua Judson Rosen
Clear all of the tracks out of the listing after hiding window12.
2531
			       NULL);
2532
2533
	return TRUE;
2534
}
24.3.30 by Joshua Judson Rosen
Don't allow GTK+ to destroy window12 on delete.
2535
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2536
void
2537
on_button37_clicked                    (GtkButton       *button,
2538
                                        gpointer         user_data)
2539
{
2540
	GtkWidget *widget, *vbox;
2541
24.3.29 by Joshua Judson Rosen
Clear all of the tracks out of the listing after hiding window12.
2542
	widget = lookup_widget(GTK_WIDGET(button), "window12");
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2543
	gtk_widget_hide(widget);
2544
24.3.28 by Joshua Judson Rosen
Recreated `Load track...' dialogue in GladeXML, replacing create_window12().
2545
	vbox = lookup_widget(widget, "vbox39");
24.3.29 by Joshua Judson Rosen
Clear all of the tracks out of the listing after hiding window12.
2546
	gtk_container_foreach (GTK_CONTAINER (vbox),
305 by Paul Wise
Remove trailing whitespace
2547
			       (GtkCallback) gtk_widget_destroy,
24.3.29 by Joshua Judson Rosen
Clear all of the tracks out of the listing after hiding window12.
2548
			       NULL);
2549
}
2550
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2551
void
2552
on_button38_clicked                    (GtkButton       *button,
2553
                                        gpointer         user_data)
2554
{
2555
	GtkWidget	*entry_repo;
2556
	GtkWidget	*entry_uri;
2557
	GtkWidget	*entry_dir;
2558
	GtkWidget	*togglebutton;
2559
	repo_t		*repo;
2560
2561
	dialog8 = glade_xml_get_widget (gladexml, "dialog8");
305 by Paul Wise
Remove trailing whitespace
2562
24.3.16 by Joshua Judson Rosen
Recreated `Edit Repository' dialogue in GladeXML, replacing create_dialog8().
2563
	entry_repo = lookup_widget(dialog8, "entry24");
305 by Paul Wise
Remove trailing whitespace
2564
	entry_uri = lookup_widget(dialog8, "entry25");
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2565
	entry_dir = lookup_widget(dialog8, "entry26");
2566
	togglebutton = lookup_widget(dialog8, "checkbutton13");
2567
2568
	repo = global_curr_repo->data;
2569
	gtk_entry_set_text( GTK_ENTRY(entry_repo), repo->name );
2570
	gtk_entry_set_text( GTK_ENTRY(entry_uri), repo->uri );
2571
	gtk_entry_set_text( GTK_ENTRY(entry_dir), repo->dir );
2572
	gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(togglebutton), repo->inverted_zoom);
2573
2574
2575
2576
	gtk_widget_show(dialog8);
305 by Paul Wise
Remove trailing whitespace
2577
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2578
2579
2580
void
2581
on_cancelbutton7_clicked               (GtkButton       *button,
2582
                                        gpointer         user_data)
2583
{
2584
	GtkWidget	*widget;
2585
2586
	widget = lookup_widget(GTK_WIDGET(button), "dialog8");
2587
2588
	gtk_widget_hide(dialog8);
305 by Paul Wise
Remove trailing whitespace
2589
}
24.3.16 by Joshua Judson Rosen
Recreated `Edit Repository' dialogue in GladeXML, replacing create_dialog8().
2590
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2591
2592
void
2593
on_okbutton7_clicked                   (GtkButton       *button,
2594
                                        gpointer         user_data)
2595
{
2596
	GtkWidget	*entry_repo;
2597
	GtkComboBox	*combobox;
2598
	GtkWidget	*entry_uri;
2599
	GtkWidget	*entry_dir;
2600
	GtkWidget	*togglebutton;
2601
	const gchar	*reponame, *uri, *dir;
2602
	gboolean	reversed;
2603
	repo_t 		*repo;
2604
2605
	repo = global_curr_repo->data;
305 by Paul Wise
Remove trailing whitespace
2606
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2607
	entry_repo = lookup_widget(dialog8, "entry24");
305 by Paul Wise
Remove trailing whitespace
2608
	entry_uri = lookup_widget(dialog8, "entry25");
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2609
	entry_dir = lookup_widget(dialog8, "entry26");
2610
	togglebutton = lookup_widget(dialog8, "checkbutton13");
2611
	combobox = GTK_COMBO_BOX(lookup_widget(window1, "combobox1"));
2612
2613
	reponame = gtk_entry_get_text(GTK_ENTRY(entry_repo));
2614
	uri = gtk_entry_get_text(GTK_ENTRY(entry_uri));
2615
	dir = gtk_entry_get_text(GTK_ENTRY(entry_dir));
2616
	reversed = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togglebutton));
2617
2618
	repo->name = g_strdup(reponame);
305 by Paul Wise
Remove trailing whitespace
2619
	repo->dir = g_strdup(dir);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2620
	repo->uri = g_strdup(uri);
2621
	repo->inverted_zoom = reversed;
2622
2623
	global_curr_reponame = g_strdup(reponame);
305 by Paul Wise
Remove trailing whitespace
2624
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2625
	gtk_combo_box_remove_text(combobox, gtk_combo_box_get_active(combobox));
305 by Paul Wise
Remove trailing whitespace
2626
	gtk_combo_box_prepend_text (combobox, g_strdup(repo->name));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2627
	gtk_combo_box_set_active(combobox, 0);
2628
2629
	settings_set_repolist();
2630
302.1.11 by Paul Wise
gconf -> settings in function names
2631
	gtk_widget_hide(dialog8);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2632
24.3.16 by Joshua Judson Rosen
Recreated `Edit Repository' dialogue in GladeXML, replacing create_dialog8().
2633
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2634
2635
void
2636
on_entry5_changed                      (GtkEditable     *editable,
2637
                                        gpointer         user_data)
2638
{
2639
	GtkWidget	*widget;
2640
	const char	*txt1, *txt2, *txt3;
2641
2642
2643
	widget = lookup_widget(GTK_WIDGET(editable), "entry5");
305 by Paul Wise
Remove trailing whitespace
2644
	txt1 = gtk_entry_get_text(GTK_ENTRY(widget));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2645
	widget = lookup_widget(GTK_WIDGET(editable), "entry20");
2646
	txt2 = gtk_entry_get_text(GTK_ENTRY(widget));
2647
	widget = lookup_widget(GTK_WIDGET(editable), "entry21");
2648
	txt3 = gtk_entry_get_text(GTK_ENTRY(widget));
2649
2650
2651
	widget = lookup_widget(GTK_WIDGET(editable), "okbutton1");
305 by Paul Wise
Remove trailing whitespace
2652
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2653
	if(strlen(txt1) && strlen(txt2) && strlen(txt3))
305 by Paul Wise
Remove trailing whitespace
2654
		gtk_widget_set_sensitive (widget, TRUE);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2655
	else
2656
		gtk_widget_set_sensitive (widget, FALSE);
2657
2658
}
305 by Paul Wise
Remove trailing whitespace
2659
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2660
2661
void
2662
on_entry20_changed                     (GtkEditable     *editable,
2663
                                        gpointer         user_data)
2664
{
2665
	GtkWidget	*widget;
2666
	const char	*txt1, *txt2, *txt3;
2667
2668
2669
	widget = lookup_widget(GTK_WIDGET(editable), "entry5");
305 by Paul Wise
Remove trailing whitespace
2670
	txt1 = gtk_entry_get_text(GTK_ENTRY(widget));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2671
	widget = lookup_widget(GTK_WIDGET(editable), "entry20");
2672
	txt2 = gtk_entry_get_text(GTK_ENTRY(widget));
2673
	widget = lookup_widget(GTK_WIDGET(editable), "entry21");
2674
	txt3 = gtk_entry_get_text(GTK_ENTRY(widget));
2675
2676
2677
	widget = lookup_widget(GTK_WIDGET(editable), "okbutton1");
305 by Paul Wise
Remove trailing whitespace
2678
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2679
	if(strlen(txt1) && strlen(txt2) && strlen(txt3))
305 by Paul Wise
Remove trailing whitespace
2680
		gtk_widget_set_sensitive (widget, TRUE);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2681
	else
2682
		gtk_widget_set_sensitive (widget, FALSE);
2683
2684
}
305 by Paul Wise
Remove trailing whitespace
2685
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2686
2687
void
2688
on_entry21_changed                     (GtkEditable     *editable,
2689
                                        gpointer         user_data)
2690
{
2691
	GtkWidget	*widget;
2692
	const char	*txt1, *txt2, *txt3;
2693
	const gchar	*dir;
2694
	int result;
2695
2696
	dir = gtk_entry_get_text(GTK_ENTRY(editable));
305 by Paul Wise
Remove trailing whitespace
2697
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2698
	result = strncmp(dir, "~", 1);
2699
	if(!result)
2700
		gtk_entry_set_text(GTK_ENTRY(editable), g_strdup(getenv("HOME")));
2701
2702
2703
2704
	widget = lookup_widget(GTK_WIDGET(editable), "entry5");
305 by Paul Wise
Remove trailing whitespace
2705
	txt1 = gtk_entry_get_text(GTK_ENTRY(widget));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2706
	widget = lookup_widget(GTK_WIDGET(editable), "entry20");
2707
	txt2 = gtk_entry_get_text(GTK_ENTRY(widget));
2708
	widget = lookup_widget(GTK_WIDGET(editable), "entry21");
2709
	txt3 = gtk_entry_get_text(GTK_ENTRY(widget));
2710
2711
	widget = lookup_widget(GTK_WIDGET(editable), "okbutton1");
2712
2713
	if(strlen(txt1) && strlen(txt2) && strlen(txt3))
305 by Paul Wise
Remove trailing whitespace
2714
		gtk_widget_set_sensitive (widget, TRUE);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2715
	else
2716
		gtk_widget_set_sensitive (widget, FALSE);
2717
2718
}
305 by Paul Wise
Remove trailing whitespace
2719
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2720
2721
void
2722
on_checkbutton12_toggled               (GtkToggleButton *togglebutton,
2723
                                        gpointer         user_data)
2724
{
2725
2726
}
2727
2728
2729
void
2730
on_entry24_changed                     (GtkEditable     *editable,
2731
                                        gpointer         user_data)
2732
{
2733
	GtkWidget	*widget;
2734
	const char	*txt1, *txt2, *txt3;
2735
2736
2737
	widget = lookup_widget(GTK_WIDGET(editable), "entry24");
305 by Paul Wise
Remove trailing whitespace
2738
	txt1 = gtk_entry_get_text(GTK_ENTRY(widget));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2739
	widget = lookup_widget(GTK_WIDGET(editable), "entry25");
2740
	txt2 = gtk_entry_get_text(GTK_ENTRY(widget));
2741
	widget = lookup_widget(GTK_WIDGET(editable), "entry26");
2742
	txt3 = gtk_entry_get_text(GTK_ENTRY(widget));
2743
2744
2745
	widget = lookup_widget(GTK_WIDGET(editable), "okbutton7");
305 by Paul Wise
Remove trailing whitespace
2746
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2747
	if(strlen(txt1) && strlen(txt2) && strlen(txt3))
305 by Paul Wise
Remove trailing whitespace
2748
		gtk_widget_set_sensitive (widget, TRUE);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2749
	else
2750
		gtk_widget_set_sensitive (widget, FALSE);
2751
2752
}
305 by Paul Wise
Remove trailing whitespace
2753
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2754
2755
void
2756
on_entry25_changed                     (GtkEditable     *editable,
2757
                                        gpointer         user_data)
2758
{
2759
	GtkWidget	*widget;
2760
	const char	*txt1, *txt2, *txt3;
2761
2762
2763
	widget = lookup_widget(GTK_WIDGET(editable), "entry24");
305 by Paul Wise
Remove trailing whitespace
2764
	txt1 = gtk_entry_get_text(GTK_ENTRY(widget));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2765
	widget = lookup_widget(GTK_WIDGET(editable), "entry25");
2766
	txt2 = gtk_entry_get_text(GTK_ENTRY(widget));
2767
	widget = lookup_widget(GTK_WIDGET(editable), "entry26");
2768
	txt3 = gtk_entry_get_text(GTK_ENTRY(widget));
2769
2770
2771
	widget = lookup_widget(GTK_WIDGET(editable), "okbutton7");
305 by Paul Wise
Remove trailing whitespace
2772
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2773
	if(strlen(txt1) && strlen(txt2) && strlen(txt3))
305 by Paul Wise
Remove trailing whitespace
2774
		gtk_widget_set_sensitive (widget, TRUE);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2775
	else
2776
		gtk_widget_set_sensitive (widget, FALSE);
2777
2778
}
305 by Paul Wise
Remove trailing whitespace
2779
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2780
2781
void
2782
on_entry26_changed                     (GtkEditable     *editable,
2783
                                        gpointer         user_data)
2784
{
2785
	GtkWidget	*widget;
2786
	const char	*txt1, *txt2, *txt3;
2787
	const gchar	*dir;
2788
	int result;
2789
2790
	dir = gtk_entry_get_text(GTK_ENTRY(editable));
305 by Paul Wise
Remove trailing whitespace
2791
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2792
	result = strncmp(dir, "~", 1);
2793
	if(!result)
2794
		gtk_entry_set_text(GTK_ENTRY(editable), g_strdup(getenv("HOME")));
2795
2796
2797
2798
	widget = lookup_widget(GTK_WIDGET(editable), "entry24");
305 by Paul Wise
Remove trailing whitespace
2799
	txt1 = gtk_entry_get_text(GTK_ENTRY(widget));
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2800
	widget = lookup_widget(GTK_WIDGET(editable), "entry25");
2801
	txt2 = gtk_entry_get_text(GTK_ENTRY(widget));
2802
	widget = lookup_widget(GTK_WIDGET(editable), "entry26");
2803
	txt3 = gtk_entry_get_text(GTK_ENTRY(widget));
2804
2805
	widget = lookup_widget(GTK_WIDGET(editable), "okbutton7");
2806
2807
	if(strlen(txt1) && strlen(txt2) && strlen(txt3))
305 by Paul Wise
Remove trailing whitespace
2808
		gtk_widget_set_sensitive (widget, TRUE);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2809
	else
2810
		gtk_widget_set_sensitive (widget, FALSE);
2811
2812
}
305 by Paul Wise
Remove trailing whitespace
2813
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2814
2815
void
2816
on_checkbutton13_toggled               (GtkToggleButton *togglebutton,
2817
                                        gpointer         user_data)
2818
{
2819
2820
}
2821
2822
void
2823
on_entry21_activate                    (GtkEntry        *entry,
2824
                                        gpointer         user_data)
2825
{
2826
}
2827
2828
gboolean
2829
on_eventbox1_button_release_event      (GtkWidget       *widget,
2830
                                        GdkEventButton  *event,
2831
                                        gpointer         user_data)
2832
{
2833
	GtkWidget	*window;
2834
2835
	window = lookup_widget(widget, "drawingarea2");
305 by Paul Wise
Remove trailing whitespace
2836
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2837
2838
305 by Paul Wise
Remove trailing whitespace
2839
	gdk_draw_rectangle (
2840
		pixmap_photo,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2841
		widget->style->white_gc,
2842
		TRUE,
2843
		0, 0,
2844
		widget->allocation.width,
2845
		widget->allocation.height);
2846
2847
	gtk_widget_queue_draw_area (
305 by Paul Wise
Remove trailing whitespace
2848
		widget,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2849
		0,0,widget->allocation.width,widget->allocation.height);
305 by Paul Wise
Remove trailing whitespace
2850
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2851
	gtk_widget_hide(window3);
305 by Paul Wise
Remove trailing whitespace
2852
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2853
	return FALSE;
305 by Paul Wise
Remove trailing whitespace
2854
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2855
2856
gboolean
2857
on_eventbox2_button_release_event      (GtkWidget       *widget,
2858
                                        GdkEventButton  *event,
2859
                                        gpointer         user_data)
2860
{
2861
	GtkWidget *window;
2862
2863
	window = lookup_widget(widget, "win13_biggeo");
305 by Paul Wise
Remove trailing whitespace
2864
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2865
	gtk_widget_destroy(window);
305 by Paul Wise
Remove trailing whitespace
2866
24.3.56 by Joshua Judson Rosen
Destroy instances of win13_biggeo rather than just hiding them.
2867
	return FALSE;
305 by Paul Wise
Remove trailing whitespace
2868
}
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
2869
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2870
gboolean
2871
on_drawingarea3_configure_event        (GtkWidget       *widget,
2872
                                        GdkEventConfigure *event,
2873
                                        gpointer         user_data)
2874
{
2875
	if (!pixmap_photo_big)
2876
	pixmap_photo = gdk_pixmap_new (
2877
			widget->window,
2878
			widget->allocation.width,
2879
			widget->allocation.height,
2880
			-1);
2881
2882
	if (!pixmap_photo_big)
2883
	{
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
2884
		printf("aieee: pixmap_photo NULL\n");
2885
	}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2886
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
2887
	return FALSE;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2888
}
2889
2890
2891
gboolean
2892
on_drawingarea3_expose_event           (GtkWidget       *widget,
2893
                                        GdkEventExpose  *event,
2894
                                        gpointer         user_data)
2895
{
2896
	gdk_draw_drawable (
2897
		widget->window,
2898
		widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
2899
		pixmap_photo,
2900
		event->area.x, event->area.y,
2901
		event->area.x, event->area.y,
2902
		event->area.width, event->area.height);
2903
2904
305 by Paul Wise
Remove trailing whitespace
2905
	return FALSE;
2906
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2907
2908
gboolean
2909
on_itemgeocode1_activate               (GtkWidget       *widget,
2910
                                        GdkEventButton  *event,
2911
                                        gpointer         user_data)
2912
{
2913
	geo_photos_open_dialog_photo_correlate();
2914
	return FALSE;
2915
}
2916
2917
gboolean
2918
on_itemgeocode1_expose_event (GtkWidget *widget, GdkEvent *event, gpointer user_data)
257 by Joshua Judson Rosen
Disable geocoding entirely if gpscorrelate is unavailable.
2919
{
2920
	if (system ("command -v gpscorrelate > /dev/null") != 0) {
2921
		gtk_widget_set_sensitive (widget, FALSE);
2922
		gtk_widget_set_tooltip_text
2923
			(widget, _("gpscorrelate is necessary for this feature "
2924
			           "but does not appear to be installed."));
2925
	} else {
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
2926
		gtk_widget_set_sensitive (widget, TRUE);
257 by Joshua Judson Rosen
Disable geocoding entirely if gpscorrelate is unavailable.
2927
		gtk_widget_set_tooltip_text (widget, NULL);
2928
	}
2929
2930
	return FALSE;
2931
}
2932
2933
2934
2935
void
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
2936
on_button39_clicked                    (GtkButton       *button,
2937
                                        gpointer         user_data)
2938
{
2939
	geo_photos_geocode_track_select_dialog(button, user_data);
2940
}
2941
2942
2943
void
2944
on_button40_clicked                    (GtkButton       *button,
2945
                                        gpointer         user_data)
2946
{
2947
	geo_photos_geocode_dir_select_dialog(button, user_data);
2948
}
2949
2950
2951
void
2952
on_cancelbutton8_clicked               (GtkButton       *button,
2953
                                        gpointer         user_data)
2954
{
2955
	geo_photo_cancel_dialog_photo_correlate();
2956
}
2957
2958
2959
void
2960
on_okbutton8_clicked                   (GtkButton       *button,
2961
                                        gpointer         user_data)
2962
{
2963
	geo_photo_close_dialog_photo_correlate();
2964
}
2965
2966
void
2967
on_button44_clicked                    (GtkButton       *button,
2968
                                        gpointer         user_data)
2969
{
2970
	geo_photos_open_dialog_image_data();
2971
}
2972
2973
2974
void
2975
on_button45_clicked                    (GtkButton       *button,
2976
                                        gpointer         user_data)
2977
{
2978
	GtkWidget *widget = lookup_widget(GTK_WIDGET(button), "dialog_image_data");
2979
	geo_photo_dialog_image_data_next(widget, user_data, GEOPHOTO_PREV);
2980
}
2981
2982
2983
void
2984
on_button46_clicked                    (GtkButton       *button,
2985
                                        gpointer         user_data)
2986
{
2987
	GtkWidget *widget = lookup_widget(GTK_WIDGET(button), "dialog_image_data");
2988
	geo_photo_dialog_image_data_next(widget, user_data, GEOPHOTO_NEXT);
2989
}
2990
2991
void
2992
on_button47_clicked                    (GtkButton       *button,
2993
                                        gpointer         user_data)
2994
{
2995
	GtkWidget *widget = lookup_widget(GTK_WIDGET(button), "dialog_image_data");
2996
	geo_photo_dialog_image_data_next(widget, user_data, GEOPHOTO_FIRST);
2997
}
2998
2999
3000
void
3001
on_button48_clicked                    (GtkButton       *button,
3002
                                        gpointer         user_data)
3003
{
3004
	GtkWidget *widget = lookup_widget(GTK_WIDGET(button), "dialog_image_data");
3005
	geo_photo_dialog_image_data_next(widget, user_data, GEOPHOTO_LAST);
3006
}
3007
3008
void
3009
on_okbutton9_clicked                   (GtkButton       *button,
3010
                                        gpointer         user_data)
3011
{
3012
	geo_photo_close_dialog_image_data();
3013
}
3014
3015
3016
void
3017
on_button49_clicked                    (GtkButton       *button,
3018
                                        gpointer         user_data)
3019
{
3020
	geo_photo_cancel_dialog_image_data();
3021
}
3022
3023
3024
gboolean
3025
on_eventbox3_button_release_event      (GtkWidget       *widget,
3026
                                        GdkEventButton  *event,
3027
                                        gpointer         user_data)
3028
{
3029
3030
305 by Paul Wise
Remove trailing whitespace
3031
	return FALSE;
3032
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3033
3034
int
3035
on_checkbutton14_expose_event (GtkWidget *togglebutton, gpointer user_data)
253 by Joshua Judson Rosen
Disable adding photos to the database if jhead is unavailable.
3036
{
3037
	if (system ("command -v jhead > /dev/null") != 0) {
3038
		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (togglebutton), FALSE);
3039
		gtk_widget_set_sensitive (togglebutton, FALSE);
3040
		gtk_widget_set_tooltip_text
3041
			(togglebutton, _("jhead is necessary for this feature "
3042
			                 "but does not appear to be installed."));
3043
	} else {
3044
		gtk_widget_set_sensitive (togglebutton, TRUE);
3045
		gtk_widget_set_tooltip_text (togglebutton, NULL);
3046
	}
3047
3048
	return FALSE;
3049
}
3050
3051
void
3052
on_checkbutton14_toggled               (GtkToggleButton *togglebutton,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3053
                                        gpointer         user_data)
3054
{
3055
	geo_photo_set_add_to_database(togglebutton);
3056
}
3057
3058
3059
void
3060
on_combobox7_changed                   (GtkComboBox     *combobox,
3061
                                        gpointer         user_data)
3062
{
3063
	geo_photo_set_timezone(combobox);
3064
}
3065
3066
3067
gboolean
3068
on_dialog_geocode_delete_event         (GtkWidget       *widget,
3069
                                        GdkEvent        *event,
3070
                                        gpointer         user_data)
3071
{
3072
	geo_photo_cancel_dialog_photo_correlate();
3073
	return TRUE;
3074
}
3075
3076
3077
gboolean
3078
on_dialog_image_data_delete_event      (GtkWidget       *widget,
3079
                                        GdkEvent        *event,
3080
                                        gpointer         user_data)
3081
{
3082
	geo_photo_close_dialog_image_data();
3083
3084
	return TRUE;
3085
}
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
3086
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3087
gboolean
3088
on_eventbox4_button_release_event      (GtkWidget       *widget,
3089
                                        GdkEventButton  *event,
3090
                                        gpointer         user_data)
3091
{
3092
	GtkWidget *window;
3093
	window = lookup_widget(widget, "window2");
3094
	gtk_widget_hide(window);
3095
	distance_mode = FALSE;
3096
	set_cursor(GDK_HAND2);
3097
	repaint_all();
3098
3099
	return FALSE;
305 by Paul Wise
Remove trailing whitespace
3100
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3101
3102
void
3103
on_entry28_changed                     (GtkEditable     *editable,
3104
                                        gpointer         user_data)
3105
{
3106
	geo_photo_correction_entry_cb(editable);
3107
}
3108
3109
3110
void
3111
on_button50_clicked                    (GtkButton       *button,
3112
                                        gpointer         user_data)
3113
{
3114
	GtkWidget *window = lookup_widget(GTK_WIDGET(button), "dialog_image_data");
3115
	geo_photo_dialog_image_data_next(window, user_data, GEOPHOTO_FULLSIZE);
3116
	gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE);
305 by Paul Wise
Remove trailing whitespace
3117
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3118
3119
void
3120
on_closebutton2_clicked                (GtkButton       *button,
3121
                                        gpointer         user_data)
3122
{
3123
	GtkWidget *widget = lookup_widget(GTK_WIDGET(button), "dialog_geocode_result");
3124
	gtk_widget_hide(widget);
305 by Paul Wise
Remove trailing whitespace
3125
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3126
3127
void
3128
on_radiobutton27_toggled               (GtkToggleButton *togglebutton,
3129
                                        gpointer         user_data)
3130
{
3131
	global_ff_mode = FUN_MODE;
3132
}
3133
3134
3135
void
3136
on_radiobutton28_toggled               (GtkToggleButton *togglebutton,
3137
                                        gpointer         user_data)
3138
{
3139
	global_ff_mode = FRIEND_MODE;
3140
}
3141
3142
3143
void
3144
on_radiobutton29_toggled               (GtkToggleButton *togglebutton,
3145
                                        gpointer         user_data)
3146
{
3147
	global_ff_mode = PRIVATE_MODE;
3148
}
3149
3150
3151
void
3152
on_button51_clicked                    (GtkButton       *button,
3153
                                        gpointer         user_data)
3154
{
3155
	set_cursor(GDK_CROSSHAIR);
3156
3157
	distance_mode = TRUE;
305 by Paul Wise
Remove trailing whitespace
3158
}
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3159
3160
3161
void
3162
on_button52_clicked                    (GtkButton       *button,
3163
                                        gpointer         user_data)
3164
{
3165
3166
}
3167
3168
void
3169
do_distance()
3170
{
3171
	on_item4_activate(NULL, NULL);
3172
}
3173
3174
gboolean
3175
on_item17_button_release_event         (GtkWidget       *widget,
3176
                                        GdkEventButton  *event,
3177
                                        gpointer         user_data)
3178
{
3179
	float lat, lon;
3180
3181
	lat = pixel2lat(global_zoom, global_y+mouse_y);
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
3182
	lon = pixel2lon(global_zoom, global_x+mouse_x);
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3183
3184
	set_current_wp(lat, lon);
305 by Paul Wise
Remove trailing whitespace
3185
	return FALSE;
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3186
}
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
3187
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3188
gboolean
3189
on_add_wp_button_release_event (GtkWidget *widget,
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
3190
                                GdkEventButton *event,
3191
                                gpointer user_data)
3192
{
3193
	float lat, lon;
3194
3195
	lat = pixel2lat (global_zoom, global_y+mouse_y);
3196
	lon = pixel2lon (global_zoom, global_x+mouse_x);
3197
3198
	append_waypoint_to_route (lat, lon);
3199
	repaint_all ();
3200
3201
	return FALSE;
3202
}
3203
3204
gboolean
3205
on_clear_route_button_release_event (GtkWidget *widget,
3206
                                     GdkEventButton *event,
3207
                                     gpointer user_data)
3208
{
3209
	reset_route ();
3210
	repaint_all ();
3211
	return FALSE;
3212
}
3213
3214
gboolean
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3215
on_save_route_gpx_button_release_event (GtkWidget *widget,
3216
                                        GdkEventButton *event,
208.1.6 by Dr. Tilmann Bubeck
Support saving and loading of planned routes in GPX 1.1 files.
3217
                                        gpointer user_data)
3218
{
3219
	char *filename;
3220
3221
	filename = choose_save_file ("Unnamed.gpx");
3222
	save_route_as_gpx (filename);
3223
	g_free (filename);
3224
	return FALSE;
3225
}
3226
3227
gboolean
3228
on_load_route_button_release_event (GtkWidget *widget,
3229
                                    GdkEventButton *event,
3230
                                    gpointer user_data)
3231
{
3232
	char *filename;
3233
3234
	filename = choose_load_file ();
3235
	load_route (filename);
3236
	repaint_all ();
3237
	g_free (filename);
3238
	return FALSE;
3239
}
3240
3241
gboolean
3242
on_save_route_tomtom_button_release_event (GtkWidget *widget,
3243
                                           GdkEventButton *event,
208.1.7 by Dr. Tilmann Bubeck
Support saving planned routes as TomTom ITN files.
3244
                                           gpointer user_data)
3245
{
3246
	char *filename;
3247
3248
	filename = choose_save_file ("Unnamed.itn");
3249
	save_route_as_tomtom_itn (filename);
3250
	g_free (filename);
3251
	return FALSE;
3252
}
3253
3254
3255
gboolean
3256
on_item18_button_release_event         (GtkWidget       *widget,
3257
                                        GdkEventButton  *event,
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3258
                                        gpointer         user_data)
3259
{
3260
	global_wp_on = FALSE;
3261
	repaint_all();
3262
	return FALSE;
3263
}
306 by Paul Wise
Consistently use tabs for indentation and spaces for alignment
3264
1 by Joshua Judson Rosen
Imported from tangogps-0.9.7 tarball.
3265
1.1.4 by Joshua Judson Rosen
Added a UI (submenu and items) for the `detail zoom' feature.
3266
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
3267
3268
void
3269
on_button57_clicked                    (GtkButton       *button,
3270
                                        gpointer         user_data)
3271
{
3272
	GtkWidget *combobox;
3273
3274
	combobox = lookup_widget(window1, "combobox1");
305 by Paul Wise
Remove trailing whitespace
3275
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
3276
	if(global_repo_cnt-1 > global_repo_nr)
3277
		gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), global_repo_nr+1);
3278
	else
3279
		gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0);
3280
3281
}
305 by Paul Wise
Remove trailing whitespace
3282
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
3283
3284
void
3285
on_button58_clicked                    (GtkButton       *button,
3286
                                        gpointer         user_data)
3287
{
3288
	GtkWidget *combobox;
3289
3290
	combobox = lookup_widget(window1, "combobox1");
305 by Paul Wise
Remove trailing whitespace
3291
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
3292
	if (global_repo_nr > 0)
3293
	{
3294
		gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), global_repo_nr-1);
3295
	}
3296
	else
3297
		gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), global_repo_cnt-1);
3298
}
3299
3300
void
3301
on_entry30_activate                    (GtkEntry        *entry,
3302
                                        gpointer         user_data)
3303
{
3304
	GtkWidget *widget;
3305
3306
	widget = lookup_widget(GTK_WIDGET(entry), "okbutton10");
3307
	gtk_button_clicked(GTK_BUTTON(widget));
3308
}
3309
3310
3311
void
3312
on_cancelbutton9_clicked               (GtkButton       *button,
3313
                                        gpointer         user_data)
3314
{
3315
	GtkWidget *widget;
3316
3317
	widget = lookup_widget(GTK_WIDGET(button), "dialog9");
305 by Paul Wise
Remove trailing whitespace
3318
	gtk_widget_destroy(widget);
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
3319
}
3320
3321
gboolean
3322
on_eventbox5_button_release_event      (GtkWidget       *widget,
3323
                                        GdkEventButton  *event,
3324
                                        gpointer         user_data)
3325
{
3326
	if(global_new_msg)
3327
	{
305 by Paul Wise
Remove trailing whitespace
3328
		GtkWidget *widget;
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
3329
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3330
		if(!global_infopane_visible)
305 by Paul Wise
Remove trailing whitespace
3331
		{
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3332
			widget = lookup_widget(window1, "button76");
3333
			g_signal_emit_by_name (widget, "clicked");
3334
		}
161 by Joshua Judson Rosen
Correctly do whatever it takes to show/un-hide new friend-finder messages
3335
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3336
		gtk_widget_hide(global_infopane_current->data);
305 by Paul Wise
Remove trailing whitespace
3337
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3338
		gtk_widget_show(g_list_nth_data(global_infopane_widgets, FRIENDS_PAGE));
305 by Paul Wise
Remove trailing whitespace
3339
		global_infopane_current = g_list_nth(global_infopane_widgets, FRIENDS_PAGE);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3340
3341
		widget = lookup_widget(window1, "button35");
305 by Paul Wise
Remove trailing whitespace
3342
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
3343
		if(!msg_pane_visible)
305 by Paul Wise
Remove trailing whitespace
3344
			gtk_button_clicked(GTK_BUTTON(widget));
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
3345
3346
		global_new_msg = FALSE;
305 by Paul Wise
Remove trailing whitespace
3347
	}
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3348
	return FALSE;
3349
}
3350
3351
3352
gboolean
3353
on_item23_button_release_event         (GtkWidget       *widget,
3354
                                        GdkEventButton  *event,
3355
                                        gpointer         user_data)
3356
{
3357
	GtkWidget *label, *button, *entry, *cbox;
3358
3359
	if (!dialog10)
305 by Paul Wise
Remove trailing whitespace
3360
		dialog10 = glade_xml_get_widget (gladexml, "dialog10");
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3361
24.3.46 by Joshua Judson Rosen
Recreated `Get Route' dialogue in GladeXML, replacing create_dialog10().
3362
	gtk_widget_show(dialog10);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3363
3364
	label = lookup_widget(dialog10, "label190");
305 by Paul Wise
Remove trailing whitespace
3365
	gtk_label_set_label(GTK_LABEL(label),"");
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3366
3367
	entry = lookup_widget(dialog10, "entry31");
3368
	gtk_entry_set_text(GTK_ENTRY(entry),"");
3369
	entry = lookup_widget(dialog10, "entry32");
3370
	gtk_entry_set_text(GTK_ENTRY(entry),"");
3371
305 by Paul Wise
Remove trailing whitespace
3372
	button = lookup_widget(dialog10, "okbutton11");
3373
	gtk_widget_set_sensitive(button, TRUE);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3374
3375
	cbox = lookup_widget(GTK_WIDGET(button), "combobox8");
305 by Paul Wise
Remove trailing whitespace
3376
	gtk_combo_box_set_active(GTK_COMBO_BOX(cbox), 0);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3377
305 by Paul Wise
Remove trailing whitespace
3378
	if (gpsdata && gpsdata->fix.latitude !=0)
3379
	{
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3380
		button = lookup_widget(dialog10, "button61");
3381
		gtk_widget_set_sensitive(button, TRUE);
3382
	}
3383
3384
	return FALSE;
3385
}
3386
3387
3388
void
3389
on_button59_clicked                    (GtkButton       *button,
3390
                                        gpointer         user_data)
3391
{
3392
	GtkWidget *widget;
3393
3394
	widget = lookup_widget(GTK_WIDGET(button), "dialog10");
305 by Paul Wise
Remove trailing whitespace
3395
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3396
	gtk_widget_hide(widget);
305 by Paul Wise
Remove trailing whitespace
3397
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3398
	pickpoint_mode = TRUE;
305 by Paul Wise
Remove trailing whitespace
3399
	pickpoint = 1;
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3400
}
3401
3402
3403
void
3404
on_button60_clicked                    (GtkButton       *button,
3405
                                        gpointer         user_data)
3406
{
3407
	gtk_widget_hide(dialog10);
305 by Paul Wise
Remove trailing whitespace
3408
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3409
	pickpoint_mode = TRUE;
305 by Paul Wise
Remove trailing whitespace
3410
	pickpoint = 2;
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3411
}
3412
3413
3414
void
3415
on_button61_clicked                    (GtkButton       *button,
3416
                                        gpointer         user_data)
3417
{
3418
	GtkWidget *widget = NULL;
3419
3420
	widget = lookup_widget(dialog10, "entry31");
305 by Paul Wise
Remove trailing whitespace
3421
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3422
	gtk_entry_set_text(GTK_ENTRY(widget),
305 by Paul Wise
Remove trailing whitespace
3423
		g_strdup_printf("%f,%f",gpsdata->fix.latitude,gpsdata->fix.longitude));
3424
}
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3425
3426
3427
void
3428
on_cancelbutton10_clicked              (GtkButton       *button,
3429
                                        gpointer         user_data)
3430
{
3431
	GtkWidget *widget;
3432
3433
	widget = lookup_widget(GTK_WIDGET(button), "dialog10");
305 by Paul Wise
Remove trailing whitespace
3434
	gtk_widget_hide(widget);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3435
}
3436
3437
3438
void
3439
on_okbutton11_clicked                  (GtkButton       *button,
3440
                                        gpointer         user_data)
3441
{
3442
	GtkWidget *widget;
3443
	char *start=NULL, *end=NULL;
3444
	char *service=NULL;
3445
201.1.1 by Benjamin Deering
Choose route services based on name rather than numbered position in the menu, use direct url to yournavigation instead of tangogps proxy
3446
	gtk_widget_set_sensitive(GTK_WIDGET(button),FALSE);
305 by Paul Wise
Remove trailing whitespace
3447
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3448
	widget = lookup_widget(GTK_WIDGET(button), "label190");
305 by Paul Wise
Remove trailing whitespace
3449
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3450
	gtk_label_set_label (GTK_LABEL(widget),
305 by Paul Wise
Remove trailing whitespace
3451
	                     _("<b><i>Connecting...</i></b>"));
159 by Joshua Judson Rosen
Mark (most?) strings that should be marked as translatable.
3452
3453
	widget = lookup_widget(GTK_WIDGET(button), "entry31");
305 by Paul Wise
Remove trailing whitespace
3454
	start = g_strdup( gtk_entry_get_text(GTK_ENTRY(widget)) );
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3455
3456
	widget = lookup_widget(GTK_WIDGET(button), "entry32");
305 by Paul Wise
Remove trailing whitespace
3457
	end   = g_strdup( gtk_entry_get_text(GTK_ENTRY(widget)) );
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3458
3459
	widget = lookup_widget(GTK_WIDGET(button), "combobox8");
305 by Paul Wise
Remove trailing whitespace
3460
	service = g_strdup (gtk_combo_box_get_active_text(GTK_COMBO_BOX(widget)));
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3461
201.1.1 by Benjamin Deering
Choose route services based on name rather than numbered position in the menu, use direct url to yournavigation instead of tangogps proxy
3462
	fetch_track (dialog10, service, start, end);
305 by Paul Wise
Remove trailing whitespace
3463
}
201.1.1 by Benjamin Deering
Choose route services based on name rather than numbered position in the menu, use direct url to yournavigation instead of tangogps proxy
3464
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3465
void
3466
do_pickpoint()
3467
{
3468
	GtkWidget *widget = NULL;
3469
	float lat=0, lon=0;
3470
3471
	lat = rad2deg( pixel2lat(global_zoom, global_y+mouse_y) );
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
3472
	lon = rad2deg( pixel2lon(global_zoom, global_x+mouse_x) );
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3473
3474
	if (pickpoint == 1)
305 by Paul Wise
Remove trailing whitespace
3475
		widget = lookup_widget(dialog10, "entry31");
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3476
	if (pickpoint == 2)
3477
		widget = lookup_widget(dialog10, "entry32");
3478
3479
	gtk_entry_set_text(GTK_ENTRY(widget), g_strdup_printf("%f,%f",lat,lon));
305 by Paul Wise
Remove trailing whitespace
3480
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3481
	if (pickpoint == 2)
305 by Paul Wise
Remove trailing whitespace
3482
		gtk_widget_grab_focus(widget);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3483
3484
	gtk_widget_show(dialog10);
305 by Paul Wise
Remove trailing whitespace
3485
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3486
	pickpoint_mode = FALSE;
3487
}
3488
3489
gboolean
3490
on_dialog10_delete_event               (GtkWidget       *widget,
3491
                                        GdkEvent        *event,
3492
                                        gpointer         user_data)
3493
{
3494
3495
	gtk_widget_hide_on_delete(widget);
305 by Paul Wise
Remove trailing whitespace
3496
	return TRUE;
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3497
}
3498
3499
void
3500
on_entry32_activate                    (GtkEntry        *entry,
3501
                                        gpointer         user_data)
3502
{
3503
	GtkWidget *widget;
3504
3505
	widget = lookup_widget(dialog10, "okbutton11");
290 by Joshua Judson Rosen
Remove overzealous debugging printf() calls.
3506
	gtk_button_clicked(GTK_BUTTON(widget));
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3507
}
3508
3509
void
3510
on_combobox8_changed                   (GtkComboBox     *combobox,
3511
                                        gpointer         user_data)
3512
{
3513
3514
305 by Paul Wise
Remove trailing whitespace
3515
3516
}
3517
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3518
3519
void
3520
on_button76_clicked                    (GtkButton       *button,
3521
                                        gpointer         user_data)
3522
{
3523
3524
305 by Paul Wise
Remove trailing whitespace
3525
	GtkWidget *widget, *widget1, *draw_widget, *toolbar;
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3526
3527
	widget  = lookup_widget(window1, "vbox53");
3528
	widget1 = lookup_widget(window1, "hbox52");
305 by Paul Wise
Remove trailing whitespace
3529
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3530
	if(!global_infopane_visible)
3531
	{
3532
		if(window1->allocation.width <= 480)
3533
		{
3534
			gtk_widget_hide(widget1);
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
3535
			gtk_widget_set_size_request(widget, window1->allocation.width, -1);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3536
		}
3537
		else
3538
			gtk_widget_set_size_request(widget, 360, -1);
3539
3540
		gtk_widget_show(widget);
305 by Paul Wise
Remove trailing whitespace
3541
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3542
		if(!global_landscape) {
305 by Paul Wise
Remove trailing whitespace
3543
			toolbar = lookup_widget(window1, "toolbar1");
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3544
			gtk_widget_hide(toolbar);
3545
		}
3546
3547
		if(!global_infopane_current) {
305 by Paul Wise
Remove trailing whitespace
3548
			gtk_widget_show((GtkWidget *) global_infopane_widgets->data);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3549
			global_infopane_current = global_infopane_widgets;
3550
		}
3551
3552
		global_infopane_visible = TRUE;
3553
	}
3554
	else {
3555
		draw_widget = lookup_widget(window1, "drawingarea1");
3556
3557
		gtk_widget_hide(widget);
305 by Paul Wise
Remove trailing whitespace
3558
		gtk_widget_show(widget1);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3559
		gtk_widget_grab_focus(draw_widget);
3560
3561
		if(!global_landscape) {
3562
			toolbar = lookup_widget(window1, "toolbar1");
3563
			gtk_widget_show(toolbar);
3564
		}
3565
3566
		global_infopane_visible = FALSE;
305 by Paul Wise
Remove trailing whitespace
3567
	}
3568
}
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3569
3570
3571
void
3572
on_button69_clicked                    (GtkButton       *button,
3573
                                        gpointer         user_data)
3574
{
3575
	gtk_widget_hide(global_infopane_current->data);
3576
3577
	if(global_infopane_current->prev) {
305 by Paul Wise
Remove trailing whitespace
3578
		gtk_widget_show(global_infopane_current->prev->data);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3579
		global_infopane_current = global_infopane_current->prev;
3580
	}
3581
	else {
3582
		gtk_widget_show(g_list_last(global_infopane_widgets)->data);
3583
		global_infopane_current = g_list_last(global_infopane_widgets);
3584
	}
3585
3586
}
3587
3588
3589
3590
3591
void
3592
on_button70_clicked                    (GtkButton       *button,
3593
                                        gpointer         user_data)
3594
{
3595
3596
	gtk_widget_hide(global_infopane_current->data);
3597
3598
	if(global_infopane_current->next) {
305 by Paul Wise
Remove trailing whitespace
3599
		gtk_widget_show(global_infopane_current->next->data);
4 by Joshua Judson Rosen
Updates from tangogps-0.99.1 ("lots of layout love") tarball.
3600
		global_infopane_current = global_infopane_current->next;
3601
	}
3602
	else {
3603
		gtk_widget_show(global_infopane_widgets->data);
3604
		global_infopane_current = global_infopane_widgets;
3605
	}
3606
3607
}
305 by Paul Wise
Remove trailing whitespace
3608
2 by Joshua Judson Rosen
Updates from tangogps-0.9.8 ("connecting people") tarball.
3609
void
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
3610
on_checkbutton15_toggled               (GtkToggleButton *togglebutton,
3611
                                        gpointer         user_data)
3612
{
3613
	GtkWidget *widget = NULL;
3614
	gboolean active;
3615
3616
	active = gtk_toggle_button_get_active(togglebutton);
305 by Paul Wise
Remove trailing whitespace
3617
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
3618
	widget = lookup_widget(window1, "entry8");
3619
	gtk_entry_set_visibility (GTK_ENTRY (widget), active);
3620
3621
}
3622
3623
void
3624
move_map(int i)
3625
{
3626
	GtkWidget *widget = NULL;
3627
	GtkToggleToolButton *autocenter_toggle;
3628
192 by Joshua Judson Rosen
Make the `autocenter' button into a *toggle*
3629
	widget = lookup_widget(window1, "drawingarea1");
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
3630
3631
	if(i == 1)
305 by Paul Wise
Remove trailing whitespace
3632
		global_x += 80;
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
3633
	else if(i == 3)
3634
		global_x -= 80;
3635
	else if(i == 2)
3636
		global_y += 80;
3637
	else if(i == 4)
3638
		global_y -= 80;
3639
3640
3641
	gdk_draw_rectangle (
305 by Paul Wise
Remove trailing whitespace
3642
		pixmap,
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
3643
		widget->style->white_gc,
3644
		TRUE,
3645
		0, 0,
3646
		widget->allocation.width+260,
3647
		widget->allocation.height+260);
3648
3649
	gtk_widget_queue_draw_area (
305 by Paul Wise
Remove trailing whitespace
3650
		widget,
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
3651
		0,0,widget->allocation.width+260,widget->allocation.height+260);
305 by Paul Wise
Remove trailing whitespace
3652
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
3653
	autocenter_toggle =
192 by Joshua Judson Rosen
Make the `autocenter' button into a *toggle*
3654
		GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1, "button3"));
3655
	gtk_toggle_tool_button_set_active(autocenter_toggle, FALSE);
3656
3657
	autocenter_toggle =
3658
		GTK_TOGGLE_TOOL_BUTTON(lookup_widget(window1, "button56"));
3659
	gtk_toggle_tool_button_set_active(autocenter_toggle, FALSE);
3660
3661
	repaint_all();
3662
}
5 by Joshua Judson Rosen
Updates from tangogps-0.99.2 ("interface polish") tarball.
3663
3664
void
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
3665
on_button78_clicked                    (GtkButton       *button,
3666
                                        gpointer         user_data)
3667
{
3668
3669
}
3670
3671
3672
void
3673
on_checkbutton16_toggled               (GtkToggleButton *togglebutton,
3674
                                        gpointer         user_data)
3675
{
3676
	trip_livelog_on = gtk_toggle_button_get_active(togglebutton);
3677
}
3678
3679
void
3680
tracklog_toolbutton_toggled (GtkToggleToolButton *button, gpointer data)
3681
{
216 by Joshua Judson Rosen
Include a track-logging toggle on the left toolbar
3682
	GtkToggleButton *main_toggle =
3683
		GTK_TOGGLE_BUTTON (lookup_widget (window1, "checkbutton17"));
3684
3685
	trip_logger_on = gtk_toggle_tool_button_get_active (button);
3686
3687
	gtk_toggle_button_set_active (main_toggle, trip_logger_on);
3688
}
3689
3690
void
3691
on_checkbutton17_toggled               (GtkToggleButton *togglebutton,
3692
                                        gpointer         user_data)
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
3693
{
3694
	GtkToggleToolButton *toolbar_toggle =
3695
		GTK_TOGGLE_TOOL_BUTTON (lookup_widget (window1, "button62"));
216 by Joshua Judson Rosen
Include a track-logging toggle on the left toolbar
3696
3697
	trip_logger_on = gtk_toggle_button_get_active(togglebutton);
3698
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
3699
	gtk_toggle_tool_button_set_active (toolbar_toggle, trip_logger_on);
3700
216 by Joshua Judson Rosen
Include a track-logging toggle on the left toolbar
3701
	if(trip_logger_on)
3702
	{
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
3703
		track_log_open();
3704
		g_settings_set_boolean(
3705
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
3706
				"tracklog-on",
305 by Paul Wise
Remove trailing whitespace
3707
				TRUE);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
3708
	}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
3709
	else
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
3710
	{
3711
		track_log_close();
3712
		g_settings_set_boolean(
3713
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
3714
				"tracklog-on",
305 by Paul Wise
Remove trailing whitespace
3715
				FALSE);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
3716
	}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
3717
}
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
3718
3719
3720
void
3721
on_button79_clicked                    (GtkButton       *button,
3722
                                        gpointer         user_data)
3723
{
3724
	GtkWidget *widget;
305 by Paul Wise
Remove trailing whitespace
3725
6.1.5 by Marcus Bauer
Enabled the `Clear' button in the `Tracks' info-pane.
3726
	reset_loaded_track();
305 by Paul Wise
Remove trailing whitespace
3727
	gtk_widget_hide(GTK_WIDGET(button));
6.1.5 by Marcus Bauer
Enabled the `Clear' button in the `Tracks' info-pane.
3728
3729
	widget = lookup_widget(window1, "button78");
305 by Paul Wise
Remove trailing whitespace
3730
	gtk_widget_hide(widget);
6.1.5 by Marcus Bauer
Enabled the `Clear' button in the `Tracks' info-pane.
3731
3732
	widget = lookup_widget(window1, "label203");
305 by Paul Wise
Remove trailing whitespace
3733
	gtk_label_set_label(GTK_LABEL(widget), "");
6.1.5 by Marcus Bauer
Enabled the `Clear' button in the `Tracks' info-pane.
3734
3735
	repaint_all();
305 by Paul Wise
Remove trailing whitespace
3736
}
6.1.5 by Marcus Bauer
Enabled the `Clear' button in the `Tracks' info-pane.
3737
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
3738
void
3739
on_entry29_changed                     (GtkEditable     *editable,
3740
                                        gpointer         user_data)
3741
{
3742
	const char *me_msg;
3743
3744
	me_msg = gtk_entry_get_text(GTK_ENTRY(editable));
3745
	g_settings_set_string(global_settings, "me-msg", me_msg);
3746
}
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
3747
6 by Joshua Judson Rosen
Updates from tangogps-0.99.3 ("Speedblaster") tarball.
3748
void
44 by Joshua Judson Rosen
A UI to control detail-scaling.
3749
on_checkbutton18_toggled               (GtkToggleButton *togglebutton,
1.1.4 by Joshua Judson Rosen
Added a UI (submenu and items) for the `detail zoom' feature.
3750
                                        gpointer         user_data)
6.1.13 by Tobias Prousa
HRM-configuration callbacks.
3751
{
3752
	GtkWidget *widget;
3753
3754
	hrm_on = gtk_toggle_button_get_active(togglebutton);
305 by Paul Wise
Remove trailing whitespace
3755
6.1.13 by Tobias Prousa
HRM-configuration callbacks.
3756
	g_settings_set_boolean(	global_settings,
305 by Paul Wise
Remove trailing whitespace
3757
				"hrm-on",
3758
				hrm_on);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
3759
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
3760
	global_reconnect_hrm = TRUE;
6.1.13 by Tobias Prousa
HRM-configuration callbacks.
3761
3762
	widget = lookup_widget(window1, "label205");
305 by Paul Wise
Remove trailing whitespace
3763
	(hrm_on) ? gtk_widget_show(widget) : gtk_widget_hide(widget);
6.1.13 by Tobias Prousa
HRM-configuration callbacks.
3764
3765
	widget = lookup_widget(window1, "label206");
3766
	(hrm_on) ? gtk_widget_show(widget) : gtk_widget_hide(widget);
3767
3768
	widget = lookup_widget(window1, "label207");
3769
	(hrm_on) ? gtk_widget_show(widget) : gtk_widget_hide(widget);
3770
}
3771
3772
3773
void
3774
on_entry33_changed                     (GtkEditable     *editable,
3775
                                        gpointer         user_data)
3776
{
3777
	const char *entry;
3778
3779
	entry = gtk_entry_get_text(GTK_ENTRY(editable));
305 by Paul Wise
Remove trailing whitespace
3780
6.1.13 by Tobias Prousa
HRM-configuration callbacks.
3781
	g_settings_set_string(global_settings,
305 by Paul Wise
Remove trailing whitespace
3782
				"hrm-bt-addr",
3783
				entry);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
3784
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
3785
	global_hrm_bt_addr = g_strdup(entry);
305 by Paul Wise
Remove trailing whitespace
3786
	global_reconnect_hrm = TRUE;
6.1.13 by Tobias Prousa
HRM-configuration callbacks.
3787
}
3788
3789
void
133.2.2 by Joshua Judson Rosen
HRM-configuration GUI.
3790
set_map_detail_menuitem_sensitivity (GtkMenuItem *zoomout, GtkMenuItem *menu)
3791
{
1.1.6 by Joshua Judson Rosen
Simplified sensitivity-management on the `more/smaller details' menu-item.
3792
	gtk_widget_set_sensitive (GTK_WIDGET (zoomout),
3793
				  global_detail_zoom != 0);
3794
}
3795
3796
void
3797
activate_more_map_details (GtkMenuItem *menu_item, gpointer user_data)
3798
{
1.1.4 by Joshua Judson Rosen
Added a UI (submenu and items) for the `detail zoom' feature.
3799
	gboolean success = FALSE;
3800
3801
	if (global_detail_zoom > 0) {
3802
		global_detail_zoom--;
3803
3804
	}
3805
3806
	success = g_settings_set_int(
3807
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
3808
				"global-detail-zoom",
305 by Paul Wise
Remove trailing whitespace
3809
				global_detail_zoom);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
3810
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
3811
	repaint_all ();
1.1.4 by Joshua Judson Rosen
Added a UI (submenu and items) for the `detail zoom' feature.
3812
}
3813
3814
void
3815
activate_larger_map_details (GtkMenuItem *larger_item, GtkMenuItem *more_item)
3816
{
3817
	gboolean success = FALSE;
3818
3819
	global_detail_zoom++;
3820
3821
	success = g_settings_set_int(
3822
				global_settings,
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
3823
				"global-detail-zoom",
305 by Paul Wise
Remove trailing whitespace
3824
				global_detail_zoom);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
3825
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
3826
	repaint_all ();
1.1.4 by Joshua Judson Rosen
Added a UI (submenu and items) for the `detail zoom' feature.
3827
}
3828
3829
151.1.3 by Joshua Judson Rosen
Include a `Re-download cached tiles' toggle in the `Map Download' dialogue.
3830
void
3831
toggle_tile_redownload (GtkToggleButton *togglebutton, gpointer data)
3832
{
3833
	global_no_redownload = !gtk_toggle_button_get_active (togglebutton);
3834
3835
	g_settings_set_boolean (global_settings,
3836
	                       "no-redownload",
305 by Paul Wise
Remove trailing whitespace
3837
	                       global_no_redownload);
302.1.9 by Paul Wise
Convert GConf schema and build to GSettings
3838
}
302.1.4 by Paul Wise
gconf_client_[gs]et_* -> g_settings_[gs]et_*
3839
151.1.3 by Joshua Judson Rosen
Include a `Re-download cached tiles' toggle in the `Map Download' dialogue.
3840
gboolean
208.1.4 by Dr. Tilmann Bubeck
Add route-planning functionality
3841
on_delete_waypoint_button_release_event (GtkWidget *widget,
3842
                                         GdkEventButton *event,
3843
                                         gpointer user_data)
3844
{
3845
	delete_waypoint_of_route (selected_wp);
3846
	selected_wp = NULL;
3847
	repaint_all ();
3848
3849
	return FALSE;
3850
}
3851
3852
gboolean
3853
on_insert_waypoint_button_release_event (GtkWidget *widget,
3854
                                         GdkEventButton *event,
3855
                                         gpointer user_data)
3856
{
3857
	insert_waypoint_before_of_route (selected_wp);
3858
	selected_wp = NULL;
3859
	repaint_all ();
3860
3861
	return FALSE;
3862
}
3863
3864
void
232 by Joshua Judson Rosen
Include a "help" item at the bottom of the pop-up menu.
3865
on_help_menuitem_activate (GtkMenuItem *help_menuitem, gpointer user_data)
3866
{
3867
	system ("xdg-open " PACKAGE_HTML_DIR "/" PACKAGE ".html");
3868
}
3869
3870