]> err.no Git - mapper/commitdiff
Add maxdrop setting for filter
authorKaj-Michael Lang <milang@onion.tal.org>
Wed, 2 Jan 2008 13:41:29 +0000 (15:41 +0200)
committerKaj-Michael Lang <milang@onion.tal.org>
Wed, 2 Jan 2008 13:41:29 +0000 (15:41 +0200)
src/filter-gui.c
src/settings.h

index 5889358302e529367da454d1698dd82412f57120..a6eb2eaa045c8c7323968b8655dfade0a2888a82 100644 (file)
@@ -57,6 +57,7 @@ GtkWidget *num_angle;
 GtkWidget *num_hdop;
 GtkWidget *num_vdop;
 GtkWidget *num_osm_dist;
+GtkWidget *num_maxdrop;
 
 gboolean
 filter_dialog(void)
@@ -73,44 +74,39 @@ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),
 gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
                 table = gtk_table_new(2,4,FALSE), label = gtk_label_new(_("GPS")));
 
-gtk_table_attach(GTK_TABLE(table),
-                chk_gps_filter = gtk_check_button_new_with_label(_("Enable track filter")),
+gtk_table_attach(GTK_TABLE(table), chk_gps_filter = gtk_check_button_new_with_label(_("Enable track filter")),
                 0, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 2, 4);
 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(chk_gps_filter), _gps_filter);
 
-gtk_table_attach(GTK_TABLE(table), label = gtk_label_new(_("Horizontal")),
-                0, 1, 1, 2, GTK_FILL, 0, 2, 4);
+gtk_table_attach(GTK_TABLE(table), label = gtk_label_new(_("Horizontal DOP limit")), 0, 1, 1, 2, GTK_FILL, 0, 2, 4);
 gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
-gtk_table_attach(GTK_TABLE(table), num_hdop = gtk_hscale_new_with_range(0, 200, 0.1),
-                1, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 2, 4);
+gtk_table_attach(GTK_TABLE(table), num_hdop = gtk_hscale_new_with_range(0, 200, 0.1), 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 2, 4);
 
-gtk_table_attach(GTK_TABLE(table), label = gtk_label_new(_("Vertical")),
-                0, 1, 2, 3, GTK_FILL, 0, 2, 4);
+gtk_table_attach(GTK_TABLE(table), label = gtk_label_new(_("Vertical DOP limit")), 0, 1, 2, 3, GTK_FILL, 0, 2, 4);
 gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
-gtk_table_attach(GTK_TABLE(table), num_vdop = gtk_hscale_new_with_range(0, 200, 0.1),
-                1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 2, 4);
+gtk_table_attach(GTK_TABLE(table), num_vdop = gtk_hscale_new_with_range(0, 200, 0.1), 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 2, 4);
 
-gtk_table_attach(GTK_TABLE(table), label = gtk_label_new(_("Angle")),
-                0, 1, 3, 4, GTK_FILL, 0, 2, 4);
+gtk_table_attach(GTK_TABLE(table), label = gtk_label_new(_("Minimum Angle change")), 0, 1, 3, 4, GTK_FILL, 0, 2, 4);
 gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
-gtk_table_attach(GTK_TABLE(table), num_angle = gtk_hscale_new_with_range(0, 45, 0.5),
-                1, 2, 3, 4, GTK_EXPAND | GTK_FILL, 0, 2, 4);
+gtk_table_attach(GTK_TABLE(table), num_angle = gtk_hscale_new_with_range(0, 45, 0.5), 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, 0, 2, 4);
 
-gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
-                table = gtk_table_new(2,1,FALSE), label = gtk_label_new(_("Other")));
+gtk_notebook_append_page(GTK_NOTEBOOK(notebook), table = gtk_table_new(2,1,FALSE), label = gtk_label_new(_("Other")));
 
 /* Distance to OSM data */
-gtk_table_attach(GTK_TABLE(table), label = gtk_label_new(_("Distance to OSM Data")),
-                0, 1, 0, 1, GTK_FILL, 0, 2, 4);
+gtk_table_attach(GTK_TABLE(table), label = gtk_label_new(_("Distance to OSM Data")), 0, 1, 0, 1, GTK_FILL, 0, 2, 4);
+gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
+gtk_table_attach(GTK_TABLE(table), num_osm_dist = gtk_hscale_new_with_range(0, 5000, 50), 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 2, 4);
+
+gtk_table_attach(GTK_TABLE(table), label = gtk_label_new(_("Track point drop limit. 0=drop until valid.")), 0, 1, 2, 3, GTK_FILL, 0, 2, 4);
 gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
-gtk_table_attach(GTK_TABLE(table), num_osm_dist = gtk_hscale_new_with_range(0, 5000, 50),
-                1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 2, 4);
+gtk_table_attach(GTK_TABLE(table), num_maxdrop = gtk_hscale_new_with_range(0, 60, 1), 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 2, 4);
 
 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(chk_gps_filter), _gps_filter);
 gtk_range_set_value(GTK_RANGE(num_hdop), _filter_hdop);
 gtk_range_set_value(GTK_RANGE(num_vdop), _filter_vdop);
 gtk_range_set_value(GTK_RANGE(num_angle), _filter_angle);
 gtk_range_set_value(GTK_RANGE(num_osm_dist), _filter_osm);
+gtk_range_set_value(GTK_RANGE(num_maxdrop), _filter_maxdrop);
 
 gtk_window_set_default_size(GTK_WINDOW(dialog), 500, 300);
 gtk_widget_show_all(dialog);
@@ -120,6 +116,7 @@ if (GTK_RESPONSE_ACCEPT == gtk_dialog_run(GTK_DIALOG(dialog))) {
        _filter_hdop = gtk_range_get_value(GTK_RANGE(num_hdop));
        _filter_vdop = gtk_range_get_value(GTK_RANGE(num_vdop));
        _filter_osm = gtk_range_get_value(GTK_RANGE(num_osm_dist));
+       _filter_maxdrop = gtk_range_get_value(GTK_RANGE(num_maxdrop));
        _gps_filter = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chk_gps_filter));
 
        config_save_filter();
index 25033e47d53b69b88e8d5e43b71612d4a0210973..a249ac594baf23d742c376a6f92ca9f0477f1fb2 100644 (file)
@@ -23,11 +23,21 @@ gboolean _fullscreen;
 gboolean _enable_gps;
 gboolean _gps_info;
 
+struct _track_filter {
+       gboolean enabled;
+       gdouble hdop;
+       gdouble vdop;
+       gdouble angle;
+       gdouble osm;
+       gdouble maxdrop;
+};
+
 gboolean _gps_filter;
 gdouble _filter_hdop;
 gdouble _filter_vdop;
 gdouble _filter_angle;
 gdouble _filter_osm;
+gdouble _filter_maxdrop;
 
 gint _show_tracks;
 gboolean _show_scale;