]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Reinstate the main window title
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 20 Sep 2011 05:09:47 +0000 (22:09 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 20 Sep 2011 05:09:47 +0000 (22:09 -0700)
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 <torvalds@linux-foundation.org>
dive.h
divelist.c
info.c

diff --git a/dive.h b/dive.h
index e36839a1e90962a317d5a02676786f7f59f6f6a6..109d0c57da1a984e59aa03dd0792c3f6ac258276 100644 (file)
--- 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 */
index 53d9bdf7130ee87702ffdedf9d72a6f904a0cb2b..3b840794b3bdcf31dfb25f2202c5c64d5411c77e 100644 (file)
@@ -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 3c8415cb36a7283e596aa970428e857ec03aa0d1..c1779cc452ac6a96fab304eb7adfbf5aeb5846ab 100644 (file)
--- 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);