From 3a6c1f767d527c2247eefb264f68adf3f3770608 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Mon, 19 Sep 2011 22:09:47 -0700 Subject: [PATCH] Reinstate the main window title It got removed by some of my overly aggressive cleanup in commit fefcbf125e89 ("Remove dive info frame") because the dive info frame initialization also initialized the main window title.. Signed-off-by: Linus Torvalds --- dive.h | 3 +++ divelist.c | 6 +++--- info.c | 24 ++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/dive.h b/dive.h index e36839a..109d0c5 100644 --- a/dive.h +++ b/dive.h @@ -226,4 +226,7 @@ extern void update_air_info(char *buffer); #define DIVE_ERROR_PARSE 1 +const char *weekday(int wday); +const char *monthname(int mon); + #endif /* DIVE_H */ diff --git a/divelist.c b/divelist.c index 53d9bdf..3b84079 100644 --- a/divelist.c +++ b/divelist.c @@ -38,7 +38,7 @@ static void selection_cb(GtkTreeSelection *selection, GtkTreeModel *model) repaint_dive(); } -static const char *weekday(int wday) +const char *weekday(int wday) { static const char wday_array[7][4] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" @@ -46,7 +46,7 @@ static const char *weekday(int wday) return wday_array[wday]; } -static const char *monthname(int mon) +const char *monthname(int mon) { static const char month_array[12][4] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", @@ -463,7 +463,7 @@ struct DiveList dive_list_create(void) dive_list.container_widget = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(dive_list.container_widget), - GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(dive_list.container_widget), dive_list.tree_view); return dive_list; diff --git a/info.c b/info.c index 3c8415c..c1779cc 100644 --- a/info.c +++ b/info.c @@ -53,6 +53,30 @@ void flush_dive_info_changes(struct dive *dive) 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); + } + text = buffer; + if (!dive->number) + text += 10; /* Skip the "Dive #0 - " part */ + gtk_window_set_title(GTK_WINDOW(main_window), text); + SET_TEXT_ENTRY(divemaster); SET_TEXT_ENTRY(buddy); SET_TEXT_ENTRY(location); -- 2.45.2