diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-08-31 15:35:28 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-08-31 15:35:28 -0700 |
commit | a39b2ee220cd23d4d6ed52f23e50fee0d4381a93 (patch) | |
tree | bfb9c01bc9f77045c3fa2c214d668764415de492 /info.c | |
parent | c7e29063722a57211e00acc5ee98e05c37f89a99 (diff) | |
download | subsurface-a39b2ee220cd23d4d6ed52f23e50fee0d4381a93.tar.gz |
Add some more dive info - and actually update it
It's still the ugliest application ever, but now it at least gives you
some basic dive info.
I'd love to add a way to edit the dives to add new data (name, buddies,
location etc), but that would also require the ability to save the end
result. Maybe some day.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'info.c')
-rw-r--r-- | info.c | 39 |
1 files changed, 37 insertions, 2 deletions
@@ -5,11 +5,36 @@ #include "dive.h" #include "display.h" +static GtkWidget *datetime, *depth, *duration; + +void update_dive_info(struct dive *dive) +{ + struct tm *tm; + char buffer[80]; + + tm = gmtime(&dive->when); + snprintf(buffer, sizeof(buffer), + "%04d-%02d-%02d " + "%02d:%02d:%02d", + tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, + tm->tm_hour, tm->tm_min, tm->tm_sec); + gtk_entry_set_text(GTK_ENTRY(datetime), buffer); + + snprintf(buffer, sizeof(buffer), + "%d ft", + to_feet(dive->maxdepth)); + gtk_entry_set_text(GTK_ENTRY(depth), buffer); + + snprintf(buffer, sizeof(buffer), + "%d min", + dive->duration.seconds / 60); + gtk_entry_set_text(GTK_ENTRY(duration), buffer); +} + GtkWidget *dive_info_frame(void) { GtkWidget *frame; GtkWidget *hbox; - GtkWidget *depth; frame = gtk_frame_new("Dive info"); gtk_widget_show(frame); @@ -17,11 +42,21 @@ GtkWidget *dive_info_frame(void) hbox = gtk_hbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(frame), hbox); + datetime = gtk_entry_new(); + gtk_editable_set_editable(GTK_EDITABLE(datetime), FALSE); + + gtk_box_pack_start(GTK_BOX(hbox), datetime, FALSE, FALSE, 0); + depth = gtk_entry_new(); - gtk_entry_set_text(GTK_ENTRY(depth), "54 ft"); gtk_editable_set_editable(GTK_EDITABLE(depth), FALSE); gtk_box_pack_start(GTK_BOX(hbox), depth, FALSE, FALSE, 0); + duration = gtk_entry_new(); + gtk_editable_set_editable(GTK_EDITABLE(duration), FALSE); + + gtk_box_pack_start(GTK_BOX(hbox), duration, FALSE, FALSE, 0); + + update_dive_info(current_dive); return frame; } |