diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2012-09-15 05:29:12 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2012-09-17 21:03:03 -0400 |
commit | 65d9d488452c6d13d8db7812dfd09be0e985876d (patch) | |
tree | a248033e3f15a35b333529a5028ba5539316072d | |
parent | 1771500078312047d4c9ca1800af17029983e69f (diff) | |
download | subsurface-65d9d488452c6d13d8db7812dfd09be0e985876d.tar.gz |
Display current filename in windows title
This seems to make sense since we have a pretty strong concept of the "active
file" that we are working on.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | dive.h | 1 | ||||
-rw-r--r-- | gtk-gui.c | 3 | ||||
-rw-r--r-- | info.c | 16 |
3 files changed, 16 insertions, 4 deletions
@@ -463,6 +463,7 @@ const char *monthname(int mon); extern const char *star_strings[]; extern const char *default_filename; +extern char *existing_filename; extern const char *subsurface_default_filename(void); #define AIR_PERMILLE 209 @@ -25,7 +25,7 @@ GtkWidget *vpane, *hpane; GtkWidget *notebook; int error_count; - +char *existing_filename; const char *divelist_font; const char *default_filename; @@ -81,7 +81,6 @@ void repaint_dive(void) gtk_widget_queue_draw(dive_profile); } -static char *existing_filename; static gboolean need_icon = TRUE; static void on_info_bar_response(GtkWidget *widget, gint response, @@ -112,9 +112,15 @@ void show_dive_info(struct dive *dive) { const char *text; char buffer[80]; + char title[80]; if (!dive) { - gtk_window_set_title(GTK_WINDOW(main_window), "Subsurface"); + if (existing_filename) { + snprintf(title, 80, "Subsurface: %s", g_path_get_basename(existing_filename)); + gtk_window_set_title(GTK_WINDOW(main_window), title); + } else { + gtk_window_set_title(GTK_WINDOW(main_window), "Subsurface"); + } SET_TEXT_VALUE(divemaster); SET_TEXT_VALUE(buddy); SET_TEXT_VALUE(location); @@ -136,8 +142,14 @@ void show_dive_info(struct dive *dive) text = buffer; if (!dive->number) text += 10; /* Skip the "Dive #0 - " part */ - gtk_window_set_title(GTK_WINDOW(main_window), text); + /* put it all together */ + if (existing_filename) { + snprintf(title, 80, "%s: %s", g_path_get_basename(existing_filename), text); + gtk_window_set_title(GTK_WINDOW(main_window), title); + } else { + gtk_window_set_title(GTK_WINDOW(main_window), text); + } SET_TEXT_VALUE(divemaster); SET_TEXT_VALUE(buddy); SET_TEXT_VALUE(location); |