[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