[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