]> git.tdb.fi Git - ext/subsurface.git/blobdiff - info.c
Add some more dive info - and actually update it
[ext/subsurface.git] / info.c
diff --git a/info.c b/info.c
index 05bcf0f78684495d38a88056c7739e0bd557c68e..efd17f896f85ec987a9c26900710087cfd3fd2fb 100644 (file)
--- a/info.c
+++ b/info.c
@@ -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;
 }