summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--divelist.c22
-rw-r--r--divelist.h2
2 files changed, 23 insertions, 1 deletions
diff --git a/divelist.c b/divelist.c
index dc0e256a5..2559c367e 100644
--- a/divelist.c
+++ b/divelist.c
@@ -19,6 +19,7 @@ enum {
DIVE_DEPTH, /* int: dive->maxdepth in mm */
DIVE_DURATIONSTR, /* "47" in minutes */
DIVE_DURATION, /* int: in seconds */
+ DIVE_LOCATION, /* "47" in minutes */
DIVE_TEMPSTR, /* "78" in fahrenheit or whatever */
DIVE_TEMP, /* int: in mkelvin */
DIVE_NITROXSTR, /* "32.5" in percent */
@@ -123,6 +124,14 @@ static void get_duration(struct dive *dive, int *val, char **str)
*str = strdup(buffer);
}
+static void get_location(struct dive *dive, char **str)
+{
+ char buffer[16];
+
+ snprintf(buffer, sizeof(buffer), "%s", dive->location);
+ *str = strdup(buffer);
+}
+
static void get_temp(struct dive *dive, int *val, char **str)
{
int value = dive->watertemp.mkelvin;
@@ -175,6 +184,7 @@ static gboolean set_one_dive(GtkTreeModel *model,
struct dive *dive;
int date, depth, duration, temp, nitrox, sac;
char *datestr, *depthstr, *durationstr, *tempstr, *nitroxstr, *sacstr;
+ char *location;
/* Get the dive number */
gtk_tree_model_get_value(model, iter, DIVE_INDEX, &value);
@@ -185,6 +195,7 @@ static gboolean set_one_dive(GtkTreeModel *model,
get_date(dive, &date, &datestr);
get_depth(dive, &depth, &depthstr);
get_duration(dive, &duration, &durationstr);
+ get_location(dive, &location);
get_temp(dive, &temp, &tempstr);
get_nitrox(dive, &nitrox, &nitroxstr);
get_sac(dive, &sac, &sacstr);
@@ -197,6 +208,7 @@ static gboolean set_one_dive(GtkTreeModel *model,
DIVE_DATESTR, datestr,
DIVE_DEPTHSTR, depthstr,
DIVE_DURATIONSTR, durationstr,
+ DIVE_LOCATION, location,
DIVE_TEMPSTR, tempstr,
DIVE_TEMP, temp,
DIVE_NITROXSTR, nitroxstr,
@@ -246,6 +258,7 @@ static void fill_dive_list(struct DiveList *dive_list)
DIVE_DEPTH, dive->maxdepth,
DIVE_DURATIONSTR, "duration",
DIVE_DURATION, dive->duration.seconds,
+ DIVE_LOCATION, "location",
DIVE_TEMPSTR, "temp",
DIVE_TEMP, dive->watertemp.mkelvin,
DIVE_NITROXSTR, "21.0",
@@ -277,6 +290,7 @@ struct DiveList dive_list_create(void)
G_TYPE_STRING, G_TYPE_INT, /* Date */
G_TYPE_STRING, G_TYPE_INT, /* Depth */
G_TYPE_STRING, G_TYPE_INT, /* Duration */
+ G_TYPE_STRING, /* Location */
G_TYPE_STRING, G_TYPE_INT, /* Temperature */
G_TYPE_STRING, G_TYPE_INT, /* Nitrox */
G_TYPE_STRING, G_TYPE_INT /* SAC */
@@ -317,6 +331,14 @@ struct DiveList dive_list_create(void)
gtk_cell_renderer_set_alignment(GTK_CELL_RENDERER(renderer), 1.0, 0.5);
renderer = gtk_cell_renderer_text_new();
+ dive_list.location = col = gtk_tree_view_column_new();
+ gtk_tree_view_column_set_title(col, "Location");
+ gtk_tree_view_column_set_sort_column_id(col, DIVE_LOCATION);
+ gtk_tree_view_column_pack_start(col, renderer, FALSE);
+ gtk_tree_view_column_add_attribute(col, renderer, "text", DIVE_LOCATION);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(dive_list.tree_view), col);
+
+ renderer = gtk_cell_renderer_text_new();
dive_list.temperature = col = gtk_tree_view_column_new();
gtk_tree_view_column_set_title(col, "deg");
gtk_tree_view_column_set_sort_column_id(col, DIVE_TEMP);
diff --git a/divelist.h b/divelist.h
index c8bc5ff72..e0ab1137c 100644
--- a/divelist.h
+++ b/divelist.h
@@ -7,7 +7,7 @@ struct DiveList {
GtkWidget *tree_view;
GtkWidget *container_widget;
GtkListStore *model;
- GtkTreeViewColumn *date, *depth, *duration;
+ GtkTreeViewColumn *date, *depth, *duration, *location;
GtkTreeViewColumn *temperature, *nitrox, *sac;
};