]> err.no Git - mapper/blobdiff - src/filter-gui.c
Move some variables around
[mapper] / src / filter-gui.c
index 52aed2f682a84b3c3e250e88c24bd2595ffb0fbe..251d02dee2d4d79beefd2397a497b79b3c0ce349 100644 (file)
@@ -1,6 +1,26 @@
-#include "config.h"
+/*
+ * This file is part of mapper
+ *
+ * Copyright (C) 2007 Kaj-Michael Lang
+ *
+ * Default map data provided by http://www.openstreetmap.org/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
 
-#define _GNU_SOURCE
+#include "config.h"
 
 #include <unistd.h>
 #include <stdlib.h>
 #include "gps.h"
 #include "map.h"
 #include "mapper-types.h"
-#include "bt.h"
 #include "ui-common.h"
 #include "settings.h"
-
+#include "filter.h"
 #include "hildon-wrappers.h"
 
 GtkWidget *dialog;
@@ -35,6 +54,7 @@ GtkWidget *num_angle;
 GtkWidget *num_hdop;
 GtkWidget *num_vdop;
 GtkWidget *num_osm_dist;
+GtkWidget *num_maxdrop;
 
 gboolean
 filter_dialog(void)
@@ -51,56 +71,52 @@ 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_toggle_button_set_active(GTK_TOGGLE_BUTTON(chk_gps_filter), filter.enabled);
 
-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), num_osm_dist = gtk_hscale_new_with_range(0, 5000, 50), 1, 2, 0, 1, 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_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_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), filter.enabled);
+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);
 
 if (GTK_RESPONSE_ACCEPT == gtk_dialog_run(GTK_DIALOG(dialog))) {
-       _filter_angle = gtk_range_get_value(GTK_RANGE(num_angle));
-       _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));
-       _gps_filter = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chk_gps_filter));
-
-       config_save_filter();
+       filter.angle=gtk_range_get_value(GTK_RANGE(num_angle));
+       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));
+       filter.enabled=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chk_gps_filter));
+
+       config_save_filter(&filter);
 }
 
 gtk_widget_destroy(dialog);