-void update_dive_info(struct dive *dive)
-{
- struct tm *tm;
- char buffer[80];
- char *text;
-
- flush_dive_info_changes();
- buffered_dive = dive;
-
- if (!dive) {
- gtk_label_set_text(GTK_LABEL(divedate), "no dive");
- gtk_label_set_text(GTK_LABEL(divetime), "");
- gtk_label_set_text(GTK_LABEL(depth), "");
- gtk_label_set_text(GTK_LABEL(duration), "");
- return;
- }
-
- tm = gmtime(&dive->when);
- snprintf(buffer, sizeof(buffer),
- "%s %02d/%02d/%04d",
- weekday(tm->tm_wday),
- tm->tm_mon+1, tm->tm_mday, tm->tm_year+1900);
- gtk_label_set_text(GTK_LABEL(divedate), buffer);
-
- snprintf(buffer, sizeof(buffer),
- "%02d:%02d:%02d",
- 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));
- gtk_label_set_text(GTK_LABEL(depth), buffer);
-
- snprintf(buffer, sizeof(buffer),
- "%d min",
- dive->duration.seconds / 60);
- gtk_label_set_text(GTK_LABEL(duration), buffer);
-
- *buffer = 0;
- if (dive->watertemp.mkelvin)
- snprintf(buffer, sizeof(buffer),
- "%d C",
- to_C(dive->watertemp));
- gtk_label_set_text(GTK_LABEL(temperature), buffer);
-
- text = dive->location ? : "";
- gtk_text_buffer_set_text(location, text, -1);
- text = dive->notes ? : "";
- gtk_text_buffer_set_text(notes, text, -1);
-}