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

Stephan Arts stephan at xfce.org
Sat Dec 1 09:49:39 CET 2007


Author: stephan
Date: 2007-12-01 08:49:39 +0000 (Sat, 01 Dec 2007)
New Revision: 3656

Modified:
   ristretto/trunk/src/main.c
Log:
Applied patch from david baggerman <david DOT baggerman AT gmail DOT com>



Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c	2007-11-30 23:18:12 UTC (rev 3655)
+++ ristretto/trunk/src/main.c	2007-12-01 08:49:39 UTC (rev 3656)
@@ -152,7 +152,6 @@
                         {
                             RsttoNavigatorEntry *entry = rstto_navigator_entry_new(navigator, info);
                             gint i = rstto_navigator_add (navigator, entry);
-                            rstto_navigator_set_file(navigator, i);
                         }
                     }
                     else
@@ -178,17 +177,16 @@
                             g_free(path_name);
                             filename = g_dir_read_name(dir);
                         }
-                        rstto_navigator_jump_first(navigator);
                         g_dir_close(dir);
                     }
 
                     gchar *uri = thunar_vfs_path_dup_uri(info->path);
                     gtk_recent_manager_add_item(recent_manager, uri);
                     g_free(uri);
-
                 }
             }
         }
+        rstto_navigator_jump_first(navigator);
     }
     else
     {
@@ -215,50 +213,55 @@
                 {
                     if(strcmp(thunar_vfs_mime_info_get_name(info->mime_info), "inode/directory"))
                     {
-                        ThunarVfsPath *_path = thunar_vfs_path_get_parent(path);
-                        thunar_vfs_path_unref(path);
-                        path = _path;
+                        gchar* media = thunar_vfs_mime_info_get_media(info->mime_info);
+                        if(!strcmp(media, "image"))
+                        {
+                            ThunarVfsPath *_path = thunar_vfs_path_get_parent(path);
+                            thunar_vfs_path_unref(path);
+                            path = _path;
 
-                        gchar *path_string = thunar_vfs_path_dup_string(path);
-                        
-                        GDir *dir = g_dir_open(path_string, 0, NULL);
-                        const gchar *filename = g_dir_read_name(dir);
-                        while (filename)
-                        {
-                            gchar *path_name = g_strconcat(path_string,  "/", filename, NULL);
-                            ThunarVfsPath *file_path = thunar_vfs_path_new(path_name, NULL);
-                            if (file_path)
+                            gchar *path_string = thunar_vfs_path_dup_string(path);
+                            
+                            GDir *dir = g_dir_open(path_string, 0, NULL);
+                            const gchar *filename = g_dir_read_name(dir);
+                            while (filename)
                             {
-                                ThunarVfsInfo *file_info = thunar_vfs_info_new_for_path(file_path, NULL);
-                                gchar *file_media = thunar_vfs_mime_info_get_media(file_info->mime_info);
-                                if(!strcmp(file_media, "image"))
+                                gchar *path_name = g_strconcat(path_string,  "/", filename, NULL);
+                                ThunarVfsPath *file_path = thunar_vfs_path_new(path_name, NULL);
+                                if (file_path)
                                 {
-                                    RsttoNavigatorEntry *entry = rstto_navigator_entry_new(navigator, file_info);
-                                    gint i = rstto_navigator_add (navigator, entry);
-                                    if (path_dir == NULL)
+                                    ThunarVfsInfo *file_info = thunar_vfs_info_new_for_path(file_path, NULL);
+                                    gchar *file_media = thunar_vfs_mime_info_get_media(file_info->mime_info);
+                                    if(!strcmp(file_media, "image"))
                                     {
-                                        if (!strcmp(path_name, argv[1]))
+                                        RsttoNavigatorEntry *entry = rstto_navigator_entry_new(navigator, file_info);
+                                        gint i = rstto_navigator_add (navigator, entry);
+                                        if (path_dir == NULL)
                                         {
-                                            rstto_navigator_set_file(navigator, i);
+                                            if (!strcmp(path_name, argv[1]))
+                                            {
+                                                rstto_navigator_set_file(navigator, i);
+                                            }
                                         }
-                                    }
-                                    else
-                                    {
-                                        if (!strcmp(path_name, path_dir))
+                                        else
                                         {
-                                            rstto_navigator_set_file(navigator, i);
+                                            if (!strcmp(path_name, path_dir))
+                                            {
+                                                rstto_navigator_set_file(navigator, i);
+                                            }
+
                                         }
-
                                     }
+                                    g_free(file_media);
+                                    thunar_vfs_path_unref(file_path);
                                 }
-                                g_free(file_media);
-                                thunar_vfs_path_unref(file_path);
+                                g_free(path_name);
+                                filename = g_dir_read_name(dir);
                             }
-                            g_free(path_name);
-                            filename = g_dir_read_name(dir);
+                            g_dir_close(dir);
+                            g_free(path_string);
                         }
-                        g_dir_close(dir);
-                        g_free(path_string);
+                        g_free(media);
                     }
                     else
                     {




More information about the Goodies-commits mailing list