diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-09-07 09:35:45 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-09-07 09:35:45 -0700 |
commit | c4d5ebb069d41f143d829da26693a72152809f20 (patch) | |
tree | 9b5e9ce6333ad74f144fa2cf168c160f4f73a276 /info.c | |
parent | fdbd80a3a2e7185b931de139e043304ec5977350 (diff) | |
download | subsurface-c4d5ebb069d41f143d829da26693a72152809f20.tar.gz |
Do output unit conversion in the dive info window too
This should take care of it all, unless I missed some case.
Now we should just save the default units somewhere, and I should do the
divelist update much cleaner (instead of re-doing the divelist entirely,
it should just repaint it - now we lose the highlited dive etc).
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'info.c')
-rw-r--r-- | info.c | 38 |
1 files changed, 31 insertions, 7 deletions
@@ -78,9 +78,18 @@ void update_dive_info(struct dive *dive) tm->tm_hour, tm->tm_min, tm->tm_sec); gtk_label_set_text(GTK_LABEL(divetime), buffer); - snprintf(buffer, sizeof(buffer), - "%d ft", - to_feet(dive->maxdepth)); + switch (output_units.length) { + case METERS: + snprintf(buffer, sizeof(buffer), + "%.1f m", + dive->maxdepth.mm / 1000.0); + break; + case FEET: + snprintf(buffer, sizeof(buffer), + "%d ft", + to_feet(dive->maxdepth)); + break; + } gtk_label_set_text(GTK_LABEL(depth), buffer); snprintf(buffer, sizeof(buffer), @@ -89,10 +98,25 @@ void update_dive_info(struct dive *dive) gtk_label_set_text(GTK_LABEL(duration), buffer); *buffer = 0; - if (dive->watertemp.mkelvin) - snprintf(buffer, sizeof(buffer), - "%d C", - to_C(dive->watertemp)); + if (dive->watertemp.mkelvin) { + switch (output_units.temperature) { + case CELSIUS: + snprintf(buffer, sizeof(buffer), + "%d C", + to_C(dive->watertemp)); + break; + case FAHRENHEIT: + snprintf(buffer, sizeof(buffer), + "%d F", + to_F(dive->watertemp)); + break; + case KELVIN: + snprintf(buffer, sizeof(buffer), + "%d K", + to_K(dive->watertemp)); + break; + } + } gtk_label_set_text(GTK_LABEL(temperature), buffer); text = dive->location ? : ""; |