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

Stephan Arts stephan at xfce.org
Sun Sep 30 10:47:40 CEST 2007


Author: stephan
Date: 2007-09-30 08:47:40 +0000 (Sun, 30 Sep 2007)
New Revision: 3276

Modified:
   ristretto/trunk/src/main.c
   ristretto/trunk/src/main_window.c
   ristretto/trunk/src/navigator.c
   ristretto/trunk/src/navigator.h
Log:
Add an 'is_album' flag (so ristretto knows when to clean up the navigator)


Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c	2007-09-29 14:07:29 UTC (rev 3275)
+++ ristretto/trunk/src/main.c	2007-09-30 08:47:40 UTC (rev 3276)
@@ -106,6 +106,7 @@
                     const gchar *filename = g_dir_read_name(dir);
                     while (filename)
                     {
+                        rstto_navigator_set_is_album(navigator, FALSE);
                         gchar *path_name = g_strconcat(path_string,  "/", filename, NULL);
                         ThunarVfsPath *file_path = thunar_vfs_path_new(path_name, NULL);
                         if (file_path)
@@ -133,6 +134,7 @@
                 {
                     GDir *dir = g_dir_open(argv[n], 0, NULL);
                     const gchar *filename = g_dir_read_name(dir);
+                    rstto_navigator_set_is_album(navigator, TRUE);
                     while (filename)
                     {
                         gchar *path_name = g_strconcat(argv[n],  "/", filename, NULL);

Modified: ristretto/trunk/src/main_window.c
===================================================================
--- ristretto/trunk/src/main_window.c	2007-09-29 14:07:29 UTC (rev 3275)
+++ ristretto/trunk/src/main_window.c	2007-09-30 08:47:40 UTC (rev 3276)
@@ -895,6 +895,11 @@
             gchar *file_media = thunar_vfs_mime_info_get_media(info->mime_info);
             if(!strcmp(file_media, "image"))
             {
+                if(rstto_navigator_get_is_album(window->priv->navigator));
+                {
+                    rstto_navigator_clear(window->priv->navigator);
+                    rstto_navigator_set_is_album(window->priv->navigator, FALSE);
+                }
                 RsttoNavigatorEntry *entry = rstto_navigator_entry_new(info);
                 rstto_navigator_add (window->priv->navigator, entry);
                 gchar *uri = thunar_vfs_path_dup_uri(info->path);
@@ -932,6 +937,7 @@
     if(response == GTK_RESPONSE_OK)
     {
         rstto_navigator_clear(window->priv->navigator);
+        rstto_navigator_set_is_album(window->priv->navigator, TRUE);
         const gchar *dir_name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
         GDir *dir = g_dir_open(dir_name, 0, NULL);
         if (dir)
@@ -979,12 +985,18 @@
         {
             if(strcmp(thunar_vfs_mime_info_get_name(info->mime_info), "inode/directory"))
             {
+                if(rstto_navigator_get_is_album(window->priv->navigator));
+                {
+                    rstto_navigator_clear(window->priv->navigator);
+                    rstto_navigator_set_is_album(window->priv->navigator, FALSE);
+                }
                 RsttoNavigatorEntry *entry = rstto_navigator_entry_new(info);
                 rstto_navigator_add (window->priv->navigator, entry);
             }
             else
             {
                 rstto_navigator_clear(window->priv->navigator);
+                rstto_navigator_set_is_album(window->priv->navigator, TRUE);
                 gchar *dir_path = thunar_vfs_path_dup_string(info->path);
                 GDir *dir = g_dir_open(dir_path, 0, NULL);
                 const gchar *filename = g_dir_read_name(dir);

Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c	2007-09-29 14:07:29 UTC (rev 3275)
+++ ristretto/trunk/src/navigator.c	2007-09-30 08:47:40 UTC (rev 3276)
@@ -442,6 +442,20 @@
     }
 }
 
+void
+rstto_navigator_set_is_album (RsttoNavigator *navigator, gboolean album)
+{
+    navigator->album = album;
+}
+
+gboolean
+rstto_navigator_get_is_album (RsttoNavigator *navigator)
+{
+    return navigator->album;
+}
+
+/* Callbacks */
+
 static gboolean
 cb_rstto_navigator_running(RsttoNavigator *navigator)
 {
@@ -685,3 +699,4 @@
 {
     return entry->exif_data;
 }
+

Modified: ristretto/trunk/src/navigator.h
===================================================================
--- ristretto/trunk/src/navigator.h	2007-09-29 14:07:29 UTC (rev 3275)
+++ ristretto/trunk/src/navigator.h	2007-09-30 08:47:40 UTC (rev 3276)
@@ -50,6 +50,7 @@
     ThunarVfsPath      *path;
     GList              *file_list;
     GList              *file_iter;
+    gboolean            album;
     gint                old_position;
     gboolean            running;
     gint                timeout;
@@ -100,6 +101,10 @@
 void
 rstto_navigator_clear (RsttoNavigator *navigator);
 void
+rstto_navigator_set_is_album (RsttoNavigator *navigator, gboolean album);
+gboolean
+rstto_navigator_get_is_album (RsttoNavigator *navigator);
+void
 rstto_navigator_set_entry_rotation (RsttoNavigator *navigator, RsttoNavigatorEntry *entry, GdkPixbufRotation rotation);
 
 RsttoNavigatorEntry *




More information about the Goodies-commits mailing list