summaryrefslogtreecommitdiffstats
path: root/info.c
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2011-11-19 12:23:58 -0500
committerGravatar Linus Torvalds <torvalds@linux-foundation.org>2011-11-19 12:23:58 -0500
commit6f81b3636b57bac8c7c08b6ca28b794b14f5d11f (patch)
tree5bbfad5f850056772ce9d7488590c96f7c22f2ae /info.c
parent7e920844ac34587534cc108b7028ccb0e2c1b082 (diff)
downloadsubsurface-6f81b3636b57bac8c7c08b6ca28b794b14f5d11f.tar.gz
Add dive number and date to the dive info edit dialog
It's pretty basic information, and might be hidden behind the dialog especially on a small screen. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'info.c')
-rw-r--r--info.c27
1 files changed, 18 insertions, 9 deletions
diff --git a/info.c b/info.c
index c9522a857..890061b12 100644
--- a/info.c
+++ b/info.c
@@ -62,26 +62,30 @@ static char *get_combo_box_entry_text(GtkComboBoxEntry *combo_box, char **textp)
#define SET_TEXT_VALUE(x) \
gtk_entry_set_text(x, dive && dive->x ? dive->x : "")
+static int divename(char *buf, size_t size, struct dive *dive)
+{
+ struct tm *tm = gmtime(&dive->when);
+ return snprintf(buf, size, "Dive #%d - %s %02d/%02d/%04d at %d:%02d",
+ dive->number,
+ weekday(tm->tm_wday),
+ tm->tm_mon+1, tm->tm_mday,
+ tm->tm_year+1900,
+ tm->tm_hour, tm->tm_min);
+}
+
void show_dive_info(struct dive *dive)
{
- struct tm *tm;
const char *text;
char buffer[80];
/* dive number and location (or lacking that, the date) go in the window title */
- tm = gmtime(&dive->when);
text = dive->location;
if (!text)
text = "";
if (*text) {
snprintf(buffer, sizeof(buffer), "Dive #%d - %s", dive->number, text);
} else {
- snprintf(buffer, sizeof(buffer), "Dive #%d - %s %02d/%02d/%04d at %d:%02d",
- dive->number,
- weekday(tm->tm_wday),
- tm->tm_mon+1, tm->tm_mday,
- tm->tm_year+1900,
- tm->tm_hour, tm->tm_min);
+ divename(buffer, sizeof(buffer), dive);
}
text = buffer;
if (!dive->number)
@@ -294,7 +298,12 @@ static void save_dive_info_changes(struct dive *dive, struct dive_info *info)
static void dive_info_widget(GtkWidget *box, struct dive *dive, struct dive_info *info)
{
- GtkWidget *hbox;
+ GtkWidget *hbox, *label;
+ char buffer[80];
+
+ divename(buffer, sizeof(buffer), dive);
+ label = gtk_label_new(buffer);
+ gtk_box_pack_start(GTK_BOX(box), label, FALSE, TRUE, 0);
info->location = text_entry(box, "Location", location_list, dive->location);