]> err.no Git - mapper/commitdiff
Always use guint for poi/cat id.
authorKaj-Michael Lang <milang@onion.tal.org>
Fri, 26 Oct 2007 13:24:00 +0000 (16:24 +0300)
committerKaj-Michael Lang <milang@onion.tal.org>
Fri, 26 Oct 2007 13:24:00 +0000 (16:24 +0300)
src/poi-gui.c
src/poi.c
src/poi.h

index 045c5531dcbe0d92c8e0878fb5332304cb17d735..c266229e1b0db439fac821dc19f8ccf4795e1a25 100644 (file)
@@ -81,7 +81,7 @@ i = gtk_dialog_run(GTK_DIALOG(dialog));
 gtk_widget_destroy(GTK_WIDGET(dialog));
 
 if (i == GTK_RESPONSE_OK) {
-       if (poi_category_delete(dpoi)==FALSE)
+       if (poi_category_delete(dpoi->id)==FALSE)
                popup_error(_window, _("Problem deleting category or POI"));
        gtk_widget_hide_all(dpoi->dialog);
        map_force_redraw();
@@ -406,7 +406,7 @@ i = gtk_dialog_run(GTK_DIALOG(dialog));
 gtk_widget_destroy(GTK_WIDGET(dialog));
 
 if (i == GTK_RESPONSE_OK) {
-       if (poi_delete(dpoi)==FALSE) {
+       if (poi_delete(dpoi->id)==FALSE) {
                popup_error(_window, _("Problem deleting POI"));
        } else {
                gtk_widget_hide_all(dpoi->dialog);
@@ -535,7 +535,7 @@ GtkListStore *store;
 guint num_cats;
 GtkTreeIter iter;
 
-if (poi_get_list(unitx, unity, &store, &num_cats)==FALSE)
+if (poi_get_list_near(unitx, unity, &store, &num_cats)==FALSE)
        return FALSE;
 
 switch (num_cats) {
index 179c6f59ff90960f62cde4558ee5779ff72376e0..dc3afda0d2c49f681d24ba836f5ce567010869e9 100644 (file)
--- a/src/poi.c
+++ b/src/poi.c
@@ -223,7 +223,7 @@ poi_db_prepare(sqlite3 *db)
                        " from poi p, category c "
                        " where p.lat between ? and ? "
                        " and p.lon between ? and ? "
-                       " and c.enabled = 1 and p.cat_id = c.cat_id and p.label like ?",
+                       " and c.enabled = 1 and p.cat_id = c.cat_id and p.label like ? order by p.label",
                        -1, &poisql.select_poi_search, NULL);
 
        /* Search POI label && category */
@@ -233,7 +233,7 @@ poi_db_prepare(sqlite3 *db)
                        " from poi p, category c "
                        " where p.lat between ? and ? "
                        " and p.lon between ? and ? "
-                       " and c.enabled = 1 and p.cat_id = c.cat_id and p.label like ? and c.cat_id = ?",
+                       " and c.enabled = 1 and p.cat_id = c.cat_id and p.label like ? and c.cat_id = ? order by p.label",
                        -1, &poisql.select_poi_search_cat, NULL);
 
        /* insert poi */
@@ -357,7 +357,7 @@ g_slice_free(poi_category, c);
 }
 
 gboolean
-poi_category_toggle(gint cat_id, gboolean cat_enabled) 
+poi_category_toggle(guint cat_id, gboolean cat_enabled) 
 {
 if (SQLITE_OK != sqlite3_bind_int(poisql.toggle_cat, 1, cat_enabled) ||
     SQLITE_OK != sqlite3_bind_int(poisql.toggle_cat, 2, cat_id) ||
@@ -368,7 +368,7 @@ return TRUE;
 }
 
 gboolean
-poi_category_get(gint cat_id, poi_category **c)
+poi_category_get(guint cat_id, poi_category **c)
 {
 poi_category *cc;
 
@@ -391,7 +391,7 @@ return TRUE;
 }
 
 gboolean
-poi_category_update(gint cat_id, poi_category *c)
+poi_category_update(guint cat_id, poi_category *c)
 {
 gboolean results=TRUE;
 
@@ -424,19 +424,19 @@ return results;
 }
 
 gboolean 
-poi_category_delete(delete_poi *dpoi)
+poi_category_delete(guint id)
 {
 if (!_db)
        return FALSE;
 
-if (SQLITE_OK != sqlite3_bind_int(poisql.delete_poi_by_catid, 1, dpoi->id) || SQLITE_DONE != sqlite3_step(poisql.delete_poi_by_catid)) {
+if (SQLITE_OK != sqlite3_bind_int(poisql.delete_poi_by_catid, 1, id) || SQLITE_DONE != sqlite3_step(poisql.delete_poi_by_catid)) {
        sqlite3_reset(poisql.delete_poi_by_catid);
        return FALSE;
 }
 sqlite3_reset(poisql.delete_poi_by_catid);
 sqlite3_clear_bindings(poisql.delete_poi_by_catid);
 
-if (SQLITE_OK != sqlite3_bind_int(poisql.delete_cat, 1, dpoi->id) || SQLITE_DONE != sqlite3_step(poisql.delete_cat)) {
+if (SQLITE_OK != sqlite3_bind_int(poisql.delete_cat, 1, id) || SQLITE_DONE != sqlite3_step(poisql.delete_cat)) {
        sqlite3_reset(poisql.delete_cat);
        return FALSE;
 }
@@ -447,12 +447,12 @@ return TRUE;
 
 
 gboolean 
-poi_delete(delete_poi *dpoi)
+poi_delete(guint id)
 {
 if (!_db)
        return FALSE;
 
-if (SQLITE_OK != sqlite3_bind_int(poisql.delete_poi, 1, dpoi->id) || SQLITE_DONE != sqlite3_step(poisql.delete_poi)) {
+if (SQLITE_OK != sqlite3_bind_int(poisql.delete_poi, 1, id) || SQLITE_DONE != sqlite3_step(poisql.delete_poi)) {
        sqlite3_reset(poisql.delete_poi);
        return FALSE;
 }
@@ -462,7 +462,7 @@ return TRUE;
 }
 
 gboolean
-poi_get_list(guint unitx, guint unity, GtkListStore **store, guint *_num_cats)
+poi_get_list_near(guint unitx, guint unity, GtkListStore **store, guint *_num_cats)
 {
 guint x, y;
 gdouble lat1, lon1, lat2, lon2;
@@ -473,16 +473,6 @@ gint num_cats=0;
 if (!_db)
        return FALSE;
 
-*store = gtk_list_store_new(POI_NUM_COLUMNS, 
-                               G_TYPE_INT,     /* POI ID */
-                               G_TYPE_INT,     /* Category ID */
-                               G_TYPE_DOUBLE,  /* Latitude */
-                               G_TYPE_DOUBLE,  /* Longitude */
-                               G_TYPE_STRING,  /* Lat/Lon */
-                               G_TYPE_STRING,  /* POI Label */
-                               G_TYPE_STRING,  /* POI Desc. */
-                               G_TYPE_STRING); /* Category Label */
-
 x = unitx - pixel2unit(3 * _draw_width);
 y = unity + pixel2unit(3 * _draw_width);
 unit2latlon(x, y, lat1, lon1);
@@ -499,6 +489,16 @@ if (SQLITE_OK != sqlite3_bind_double(poisql.select_poi, 1, lat1) ||
        return FALSE;
 }
 
+*store = gtk_list_store_new(POI_NUM_COLUMNS, 
+                               G_TYPE_INT,     /* POI ID */
+                               G_TYPE_INT,     /* Category ID */
+                               G_TYPE_DOUBLE,  /* Latitude */
+                               G_TYPE_DOUBLE,  /* Longitude */
+                               G_TYPE_STRING,  /* Lat/Lon */
+                               G_TYPE_STRING,  /* POI Label */
+                               G_TYPE_STRING,  /* POI Desc. */
+                               G_TYPE_STRING); /* Category Label */
+
 while (SQLITE_ROW == sqlite3_step(poisql.select_poi)) {
        gdouble lat, lon;
 
@@ -527,7 +527,7 @@ return TRUE;
 }
 
 gboolean
-poi_update(gint poi_id, gint cat_id, gchar *poi_label, gchar *poi_desc)
+poi_update(guint poi_id, guint cat_id, gchar *poi_label, gchar *poi_desc)
 {
 if (!_db)
        return FALSE;
@@ -545,7 +545,7 @@ return TRUE;
 }
 
 gboolean
-poi_add(gdouble lat, gdouble lon, gint cat_id, gchar *poi_label, gchar *poi_desc)
+poi_add(gdouble lat, gdouble lon, guint cat_id, gchar *poi_label, gchar *poi_desc)
 {
 if (!_db)
        return FALSE;
@@ -589,7 +589,7 @@ return NULL;
 }
 
 GtkListStore *
-poi_category_generate_store()
+poi_category_generate_store(void)
 {
 GtkTreeIter iter;
 GtkListStore *store;
index 339b4ecd2fd2f9c6b60e5efacbe6e8bd637b597c..80b8d83a038f3f2962ba8f13e16f0daafab92d71 100644 (file)
--- a/src/poi.h
+++ b/src/poi.h
@@ -22,19 +22,12 @@ struct _poi_db {
        guint zoom;
 };
 
-typedef struct _poi_data poi_data;
-struct _poi_data {
-       gdouble lat;
-       gdouble lon;
-       gchar *name;
-       gchar *desc;
-};
-
 /** Data to describe a POI. */
 typedef struct _poi_info poi_info;
 struct _poi_info {
        guint poi_id;
        guint cat_id;
+       guint is_in;
        gdouble lat;
        gdouble lon;
        gchar *label;
@@ -53,8 +46,9 @@ struct _delete_poi {
 
 typedef struct _poi_category poi_category;
 struct _poi_category {
-       gint id;
-       gint enabled;
+       guint id;
+       gboolean enabled;
+       gboolean warning;
        gchar *label;
        gchar *desc;
 };
@@ -86,18 +80,19 @@ gboolean poi_db_prepare(sqlite3 *db);
 
 poi_info *poi_new(void);
 void poi_free(poi_info *p);
-gboolean poi_get_list(guint unitx, guint unity, GtkListStore **store, guint *num_cats);
-gboolean poi_update(gint poi_id, gint cat_id, gchar *poi_label, gchar *poi_desc);
-gboolean poi_add(gdouble lat, gdouble lon, gint cat_id, gchar *poi_label, gchar *poi_desc);
-gboolean poi_delete(delete_poi * dpoi);
+
+gboolean poi_get_list_near(guint unitx, guint unity, GtkListStore **store, guint *num_cats);
+gboolean poi_update(guint poi_id, guint cat_id, gchar *poi_label, gchar *poi_desc);
+gboolean poi_add(gdouble lat, gdouble lon, guint cat_id, gchar *poi_label, gchar *poi_desc);
+gboolean poi_delete(guint id);
 
 poi_category *poi_category_new(void);
 void poi_category_free(poi_category *c);
-gboolean poi_category_get(gint cat_id, poi_category **c);
-gboolean poi_category_delete(delete_poi * dpoi);
-gboolean poi_category_update(gint cat_id, poi_category *c);
+gboolean poi_category_get(guint cat_id, poi_category **c);
+gboolean poi_category_delete(guint id);
+gboolean poi_category_update(guint cat_id, poi_category *c);
 poi_info *poi_find_nearest(gdouble lat, gdouble lon);
-gboolean poi_category_toggle(gint cat_id, gboolean cat_enabled);
-GtkListStore *poi_category_generate_store();
+gboolean poi_category_toggle(guint cat_id, gboolean cat_enabled);
+GtkListStore *poi_category_generate_store(void);
 
 #endif