From fa13dcadb1c4a47be4b9caf9edcd4cd3833bd1a5 Mon Sep 17 00:00:00 2001
From: infirit <infirit@gmail.com>
Date: Fri, 25 Jul 2014 15:03:58 +0200
Subject: Clear status + titlebar when deleting last image in collection

Eog bug http://bugzilla.gnome.org/show_bug.cgi?id=632458
Based on eog commit 7a6ea9ee0e5e8a2d89fd16f241a693c5a56f3b78
From Felix Riemann <friemann@gnome.org>
---
 src/eom-statusbar.c |  6 +++++-
 src/eom-window.c    | 21 +++++++++++++++------
 2 files changed, 20 insertions(+), 7 deletions(-)

(limited to 'src')

diff --git a/src/eom-statusbar.c b/src/eom-statusbar.c
index c791701..b4d6f08 100644
--- a/src/eom-statusbar.c
+++ b/src/eom-statusbar.c
@@ -116,6 +116,10 @@ eom_statusbar_set_image_number (EomStatusbar *statusbar,
 
 	gtk_statusbar_pop (GTK_STATUSBAR (statusbar->priv->img_num_statusbar), 0);
 
+	/* Hide number display if values don't make sense */
+	if (G_UNLIKELY (num <= 0 || tot <= 0))
+		return;
+
 	/* Translators: This string is displayed in the statusbar.
 	 * The first token is the image number, the second is total image
 	 * count.
@@ -160,4 +164,4 @@ eom_statusbar_set_has_resize_grip (EomStatusbar *statusbar, gboolean has_resize_
 	gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (statusbar),
 					   has_resize_grip);
 }
-#endif
\ No newline at end of file
+#endif
diff --git a/src/eom-window.c b/src/eom-window.c
index 34b28b1..b2925df 100644
--- a/src/eom-window.c
+++ b/src/eom-window.c
@@ -680,7 +680,7 @@ static void
 update_image_pos (EomWindow *window)
 {
 	EomWindowPrivate *priv;
-	gint pos, n_images;
+	gint pos = -1, n_images = 0;
 
 	priv = window->priv;
 
@@ -689,12 +689,12 @@ update_image_pos (EomWindow *window)
 	if (n_images > 0) {
 		pos = eom_list_store_get_pos_by_image (EOM_LIST_STORE (priv->store),
 						       priv->image);
-
-		/* Images: (image pos) / (n_total_images) */
-		eom_statusbar_set_image_number (EOM_STATUSBAR (priv->statusbar),
-						pos + 1,
-						n_images);
 	}
+	/* Images: (image pos) / (n_total_images) */
+	eom_statusbar_set_image_number (EOM_STATUSBAR (priv->statusbar),
+					pos + 1,
+					n_images);
+
 }
 
 static void
@@ -1643,6 +1643,15 @@ handle_image_selection_changed_cb (EomThumbView *thumbview, EomWindow *window)
 
 	priv = window->priv;
 
+	if (eom_list_store_length (EOM_LIST_STORE (priv->store)) == 0) {
+		gtk_window_set_title (GTK_WINDOW (window),
+				      g_get_application_name());
+		gtk_statusbar_remove_all (GTK_STATUSBAR (priv->statusbar),
+					  priv->image_info_message_cid);
+		eom_scroll_view_set_image (EOM_SCROLL_VIEW (priv->view),
+					   NULL);
+}
+
 	if (eom_thumb_view_get_n_selected (EOM_THUMB_VIEW (priv->thumbview)) == 0)
 		return;
 
-- 
cgit v1.2.1