[Goodies-commits] r2933 - ristretto/trunk/src

Stephan Arts stephan at xfce.org
Tue Jul 31 00:00:07 CEST 2007


Author: stephan
Date: 2007-07-30 22:00:07 +0000 (Mon, 30 Jul 2007)
New Revision: 2933

Modified:
   ristretto/trunk/src/main.c
   ristretto/trunk/src/navigator.c
   ristretto/trunk/src/navigator.h
Log:
window title fix

Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c	2007-07-30 15:33:00 UTC (rev 2932)
+++ ristretto/trunk/src/main.c	2007-07-30 22:00:07 UTC (rev 2933)
@@ -41,6 +41,8 @@
 
 static void
 cb_rstto_open(GtkToolItem *item, RsttoNavigator *);
+static void
+cb_rstto_nav_file_changed(RsttoNavigator *navigator, GtkWindow *window);
 
 int main(int argc, char **argv)
 {
@@ -72,6 +74,8 @@
 	GtkWidget *viewer = rstto_picture_viewer_new();
     navigator = rstto_navigator_new(RSTTO_PICTURE_VIEWER(viewer));
 
+	g_signal_connect(G_OBJECT(navigator), "file-changed", G_CALLBACK(cb_rstto_nav_file_changed), window);
+
 	GtkWidget *s_window = gtk_scrolled_window_new(NULL,NULL);
 	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(s_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
 	GtkWidget *main_vbox = gtk_vbox_new(0, FALSE);
@@ -217,3 +221,18 @@
 {
     rstto_navigator_back(navigator);
 }
+
+static void
+cb_rstto_nav_file_changed(RsttoNavigator *navigator, GtkWindow *window)
+{
+    const gchar *filename = rstto_navigator_get_filename(navigator);
+    gchar *title;
+    if(filename)
+    {
+        title = g_strconcat(PACKAGE_NAME, " - ", filename, NULL);
+        gtk_window_set_title(window, title);
+        g_free(title);
+    }
+    else
+        gtk_window_set_title(window, PACKAGE_STRING);
+}

Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c	2007-07-30 15:33:00 UTC (rev 2932)
+++ ristretto/trunk/src/navigator.c	2007-07-30 22:00:07 UTC (rev 2933)
@@ -33,6 +33,14 @@
 
 static GObjectClass *parent_class = NULL;
 
+enum
+{
+	RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED = 0,
+    RSTTO_NAVIGATOR_SIGNAL_COUNT	
+};
+
+static gint rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_COUNT];
+
 GType
 rstto_navigator_get_type ()
 {
@@ -73,6 +81,17 @@
 	parent_class = g_type_class_peek_parent(nav_class);
 
 	object_class->dispose = rstto_navigator_dispose;
+
+	rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED] = g_signal_new("file-changed",
+			G_TYPE_FROM_CLASS(nav_class),
+			G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+			0,
+			NULL,
+			NULL,
+			g_cclosure_marshal_VOID__VOID,
+			G_TYPE_NONE,
+			0,
+			NULL);
 }
 
 static void
@@ -174,6 +193,7 @@
             gdk_pixbuf_unref(pixbuf);
 
         g_free(filename);
+        g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED], 0, NULL);
     }
 }
 
@@ -201,6 +221,7 @@
             gdk_pixbuf_unref(pixbuf);
 
         g_free(filename);
+        g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED], 0, NULL);
     }
 }
 
@@ -227,6 +248,20 @@
             gdk_pixbuf_unref(pixbuf);
 
         g_free(filename);
+        g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED], 0, NULL);
     }
 }
 
+const gchar *
+rstto_navigator_get_filename (RsttoNavigator *navigator)
+{
+    const gchar *filename = NULL;
+    if (navigator->file_iter)
+    {
+        ThunarVfsInfo *file_info = (ThunarVfsInfo *)(navigator->file_iter->data);
+        filename = thunar_vfs_path_get_name(file_info->path);
+    }
+
+    return filename;
+}
+

Modified: ristretto/trunk/src/navigator.h
===================================================================
--- ristretto/trunk/src/navigator.h	2007-07-30 15:33:00 UTC (rev 2932)
+++ ristretto/trunk/src/navigator.h	2007-07-30 22:00:07 UTC (rev 2933)
@@ -67,6 +67,9 @@
 void       rstto_navigator_forward (RsttoNavigator *navigator);
 void       rstto_navigator_back (RsttoNavigator *navigator);
 
+const gchar *
+rstto_navigator_get_filename (RsttoNavigator *navigator);
+
 G_END_DECLS
 
 #endif /* __RISTRETTO_NAVIGATOR_H__ */




More information about the Goodies-commits mailing list