From 4158bed857aadfcfa12d0ed1af6cec645c20a031 Mon Sep 17 00:00:00 2001 From: Kaj-Michael Lang Date: Wed, 2 Jan 2008 15:41:29 +0200 Subject: [PATCH] Add maxdrop setting for filter --- src/filter-gui.c | 37 +++++++++++++++++-------------------- src/settings.h | 10 ++++++++++ 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/src/filter-gui.c b/src/filter-gui.c index 5889358..a6eb2ea 100644 --- a/src/filter-gui.c +++ b/src/filter-gui.c @@ -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(); diff --git a/src/settings.h b/src/settings.h index 25033e4..a249ac5 100644 --- a/src/settings.h +++ b/src/settings.h @@ -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; -- 2.39.5