* void dive_list_update_dives(void)
* void update_dive_list_units(void)
* void set_divelist_font(const char *font)
+ * void mark_divelist_changed(int changed)
+ * int unsaved_changes()
*/
#include <stdio.h>
#include <stdlib.h>
GtkListStore *model;
GtkTreeViewColumn *date, *depth, *duration, *location;
GtkTreeViewColumn *temperature, *cylinder, *nitrox, *sac;
+ int changed;
};
static struct DiveList dive_list;
DIVELIST_COLUMNS
};
-/* the global dive list that we maintain */
-static struct DiveList dive_list;
-
static void selection_cb(GtkTreeSelection *selection, GtkTreeModel *model)
{
GtkTreeIter iter;
switch (output_units.temperature) {
case CELSIUS:
- unit = "degC";
+ unit = UTF8_DEGREE "C";
break;
case FAHRENHEIT:
- unit = "degF";
+ unit = UTF8_DEGREE "F";
break;
case KELVIN:
unit = "Kelvin";
col = gtk_tree_view_column_new();
gtk_tree_view_column_set_title(col, title);
- gtk_tree_view_column_set_sort_column_id(col, DIVE_DATE);
+ gtk_tree_view_column_set_sort_column_id(col, index);
gtk_tree_view_column_set_resizable(col, TRUE);
gtk_tree_view_column_pack_start(col, renderer, TRUE);
if (data_func)
dive_list.depth = divelist_column(&dive_list, DIVE_DEPTH, "max/ft", depth_data_func, 1, 0);
dive_list.duration = divelist_column(&dive_list, DIVE_DURATION, "min", duration_data_func, 1, 0);
dive_list.location = divelist_column(&dive_list, DIVE_LOCATION, "Location", NULL, 0, 1);
- dive_list.temperature = divelist_column(&dive_list, DIVE_TEMPERATURE, "degF", temperature_data_func, 1, 0);
+ dive_list.temperature = divelist_column(&dive_list, DIVE_TEMPERATURE, UTF8_DEGREE "F", temperature_data_func, 1, 0);
dive_list.cylinder = divelist_column(&dive_list, DIVE_CYLINDER, "Cyl", NULL, 0, 0);
- dive_list.nitrox = divelist_column(&dive_list, DIVE_NITROX, "O2%", nitrox_data_func, 1, 0);
- dive_list.sac = divelist_column(&dive_list, DIVE_NITROX, "SAC", sac_data_func, 1, 0);
+ dive_list.nitrox = divelist_column(&dive_list, DIVE_NITROX, "O" UTF8_SUBSCRIPT_2 "%", nitrox_data_func, 1, 0);
+ dive_list.sac = divelist_column(&dive_list, DIVE_SAC, "SAC", sac_data_func, 1, 0);
fill_dive_list();
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_container_add(GTK_CONTAINER(dive_list.container_widget), dive_list.tree_view);
+ dive_list.changed = 0;
+
return dive_list.container_widget;
}
+
+void mark_divelist_changed(int changed)
+{
+ dive_list.changed = changed;
+}
+
+int unsaved_changes()
+{
+ return dive_list.changed;
+}