summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2012-09-15 05:29:12 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2012-09-17 21:03:03 -0400
commit65d9d488452c6d13d8db7812dfd09be0e985876d (patch)
treea248033e3f15a35b333529a5028ba5539316072d
parent1771500078312047d4c9ca1800af17029983e69f (diff)
downloadsubsurface-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.h1
-rw-r--r--gtk-gui.c3
-rw-r--r--info.c16
3 files changed, 16 insertions, 4 deletions
diff --git a/dive.h b/dive.h
index ca90a9ae4..85d4b9fa4 100644
--- a/dive.h
+++ b/dive.h
@@ -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
diff --git a/gtk-gui.c b/gtk-gui.c
index d2e2817d8..e5bdac9f2 100644
--- a/gtk-gui.c
+++ b/gtk-gui.c
@@ -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,
diff --git a/info.c b/info.c
index 34ddfa923..a4d4d4179 100644
--- a/info.c
+++ b/info.c
@@ -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);