[Goodies-commits] r2968 - ristretto/trunk/src
Stephan Arts
stephan at xfce.org
Tue Aug 7 19:36:41 CEST 2007
Author: stephan
Date: 2007-08-07 17:36:41 +0000 (Tue, 07 Aug 2007)
New Revision: 2968
Modified:
ristretto/trunk/src/main.c
ristretto/trunk/src/navigator.c
ristretto/trunk/src/navigator.h
Log:
Add First and Last navigation options
Allow navigation to First and Last using Home and End buttons
Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c 2007-08-07 17:25:10 UTC (rev 2967)
+++ ristretto/trunk/src/main.c 2007-08-07 17:36:41 UTC (rev 2968)
@@ -424,6 +424,12 @@
else
gtk_window_fullscreen(window);
break;
+ case GDK_Home:
+ rstto_navigator_first(navigator);
+ break;
+ case GDK_End:
+ rstto_navigator_last(navigator);
+ break;
case GDK_Page_Down:
rstto_navigator_forward(navigator);
break;
Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c 2007-08-07 17:25:10 UTC (rev 2967)
+++ ristretto/trunk/src/navigator.c 2007-08-07 17:36:41 UTC (rev 2968)
@@ -234,6 +234,31 @@
}
void
+rstto_navigator_first (RsttoNavigator *navigator)
+{
+ navigator->file_iter = g_list_first(navigator->file_list);
+
+ if(navigator->file_iter)
+ {
+ ThunarVfsInfo *info = rstto_navigator_entry_get_info(((RsttoNavigatorEntry *)navigator->file_iter->data));
+ gchar *filename = thunar_vfs_path_dup_string(info->path);
+ GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(filename , NULL);
+ if(!pixbuf)
+ {
+ pixbuf = gtk_icon_theme_load_icon(navigator->icon_theme, GTK_STOCK_MISSING_IMAGE, 48, 0, NULL);
+ rstto_picture_viewer_set_scale(navigator->viewer, 1);
+ }
+
+ rstto_picture_viewer_set_pixbuf(navigator->viewer, pixbuf);
+ if(pixbuf)
+ gdk_pixbuf_unref(pixbuf);
+
+ g_free(filename);
+ g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED], 0, NULL);
+ }
+}
+
+void
rstto_navigator_forward (RsttoNavigator *navigator)
{
@@ -291,6 +316,31 @@
}
void
+rstto_navigator_last (RsttoNavigator *navigator)
+{
+ navigator->file_iter = g_list_last(navigator->file_list);
+
+ if(navigator->file_iter)
+ {
+ ThunarVfsInfo *info = rstto_navigator_entry_get_info(((RsttoNavigatorEntry *)navigator->file_iter->data));
+ gchar *filename = thunar_vfs_path_dup_string(info->path);
+ GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(filename , NULL);
+ if(!pixbuf)
+ {
+ pixbuf = gtk_icon_theme_load_icon(navigator->icon_theme, GTK_STOCK_MISSING_IMAGE, 48, 0, NULL);
+ rstto_picture_viewer_set_scale(navigator->viewer, 1);
+ }
+
+ rstto_picture_viewer_set_pixbuf(navigator->viewer, pixbuf);
+ if(pixbuf)
+ gdk_pixbuf_unref(pixbuf);
+
+ g_free(filename);
+ g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED], 0, NULL);
+ }
+}
+
+void
rstto_navigator_set_running (RsttoNavigator *navigator, gboolean running)
{
if(!navigator->running)
Modified: ristretto/trunk/src/navigator.h
===================================================================
--- ristretto/trunk/src/navigator.h 2007-08-07 17:25:10 UTC (rev 2967)
+++ ristretto/trunk/src/navigator.h 2007-08-07 17:36:41 UTC (rev 2968)
@@ -69,8 +69,11 @@
void rstto_navigator_set_path (RsttoNavigator *navigator,
ThunarVfsPath *path,
gboolean index_path);
+void rstto_navigator_first (RsttoNavigator *navigator);
void rstto_navigator_forward (RsttoNavigator *navigator);
void rstto_navigator_back (RsttoNavigator *navigator);
+void rstto_navigator_last (RsttoNavigator *navigator);
+
void rstto_navigator_set_running (RsttoNavigator *navigator,
gboolean running);
More information about the Goodies-commits
mailing list