diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-09-20 10:08:27 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-09-20 10:09:56 -0700 |
commit | 15e3b5f4414d320dbace1bd3913b07d35bd9e9ee (patch) | |
tree | fbbe0d04c046a3bf7a94efc257fdeb8c92a067b1 /divelist.c | |
parent | 9cf8d98711dff888f5bfa8efd52ca7b8cf8bfa07 (diff) | |
parent | 2db85596e52ea0852bfe67f2fb67df8440b43d1b (diff) | |
download | subsurface-15e3b5f4414d320dbace1bd3913b07d35bd9e9ee.tar.gz |
Merge branch 'for-linus' of git://github.com/dirkhh/subsurface
* 'for-linus' of git://github.com/dirkhh/subsurface:
Attempt to get the location column to resize in a sensible way
Minor tweaks to column headers
[ Fixed up minor semantic merge conflict due to the change to make
'dive_list' internal to divelist.c ]
Diffstat (limited to 'divelist.c')
-rw-r--r-- | divelist.c | 44 |
1 files changed, 30 insertions, 14 deletions
diff --git a/divelist.c b/divelist.c index 24d4014f0..0a601c511 100644 --- a/divelist.c +++ b/divelist.c @@ -214,7 +214,7 @@ static void sac_data_func(GtkTreeViewColumn *col, sac = value / 1000.0; switch (output_units.volume) { case LITER: - fmt = "%4.0f"; + fmt = "%4.1f"; break; case CUFT: fmt = "%4.2f"; @@ -277,8 +277,8 @@ static void get_string(char **str, const char *s) if (!s) s = ""; len = strlen(s); - if (len > 16) - len = 16; + if (len > 40) + len = 40; n = malloc(len+1); memcpy(n, s, len); n[len] = 0; @@ -351,14 +351,27 @@ void update_dive_list_units(void) switch (output_units.length) { case METERS: - unit = "m"; + unit = "max/m"; break; case FEET: - unit = "ft"; + unit = "max/ft"; break; } gtk_tree_view_column_set_title(dive_list.depth, unit); + switch (output_units.temperature) { + case CELSIUS: + unit = "degC"; + break; + case FAHRENHEIT: + unit = "degF"; + break; + case KELVIN: + unit = "Kelvin"; + break; + } + gtk_tree_view_column_set_title(dive_list.temperature, unit); + gtk_tree_model_foreach(model, set_one_dive, NULL); } @@ -403,7 +416,7 @@ typedef void (*data_func_t)(GtkTreeViewColumn *col, gpointer data); static GtkTreeViewColumn *divelist_column(struct DiveList *dl, int index, const char *title, - data_func_t data_func, int align_right) + data_func_t data_func, int align_right, int expand) { GtkCellRenderer *renderer; GtkTreeViewColumn *col; @@ -423,6 +436,9 @@ static GtkTreeViewColumn *divelist_column(struct DiveList *dl, int index, const gtk_object_set(GTK_OBJECT(renderer), "alignment", PANGO_ALIGN_RIGHT, NULL); gtk_cell_renderer_set_alignment(GTK_CELL_RENDERER(renderer), 1.0, 0.5); } + gtk_tree_view_column_set_expand(col,expand); + if (expand) + gtk_tree_view_column_set_min_width(col,50); gtk_tree_view_append_column(GTK_TREE_VIEW(dl->tree_view), col); return col; } @@ -452,14 +468,14 @@ GtkWidget *dive_list_create(void) gtk_tree_selection_set_mode(GTK_TREE_SELECTION(selection), GTK_SELECTION_BROWSE); gtk_widget_set_size_request(dive_list.tree_view, 200, 200); - dive_list.date = divelist_column(&dive_list, DIVE_DATE, "Date", date_data_func, 0); - dive_list.depth = divelist_column(&dive_list, DIVE_DEPTH, "ft", depth_data_func, 1); - dive_list.duration = divelist_column(&dive_list, DIVE_DURATION, "min", duration_data_func, 1); - dive_list.location = divelist_column(&dive_list, DIVE_LOCATION, "Location", NULL, 0); - dive_list.temperature = divelist_column(&dive_list, DIVE_TEMPERATURE, "deg", temperature_data_func, 1); - dive_list.cylinder = divelist_column(&dive_list, DIVE_CYLINDER, "Cyl", NULL, 0); - dive_list.nitrox = divelist_column(&dive_list, DIVE_NITROX, "O2%", nitrox_data_func, 1); - dive_list.sac = divelist_column(&dive_list, DIVE_NITROX, "SAC", sac_data_func, 1); + dive_list.date = divelist_column(&dive_list, DIVE_DATE, "Date", date_data_func, 0, 0); + 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.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); fill_dive_list(); |