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

Stephan Arts stephan at xfce.org
Sat Nov 17 14:18:58 CET 2007


Author: stephan
Date: 2007-11-17 13:18:58 +0000 (Sat, 17 Nov 2007)
New Revision: 3596

Modified:
   ristretto/trunk/src/main.c
   ristretto/trunk/src/main_window.c
Log:
Fix open file from CLI
Fix window-title (show correct nr of total images)


Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c	2007-11-17 12:46:04 UTC (rev 3595)
+++ ristretto/trunk/src/main.c	2007-11-17 13:18:58 UTC (rev 3596)
@@ -54,6 +54,7 @@
 {
 
 	GError *cli_error = NULL;
+    gchar *path_dir = NULL;
     gint n;
 
     #ifdef ENABLE_NLS
@@ -116,10 +117,11 @@
         else
         {
             gchar *base_dir = g_get_current_dir();
-            gchar *path_dir = g_build_path("/", base_dir, argv[n], NULL);
+
+            path_dir = g_build_path("/", base_dir, argv[n], NULL);
             path = thunar_vfs_path_new(path_dir, NULL);
+
             g_free(base_dir);
-            g_free(path_dir);
         }
 
         if (path)
@@ -150,10 +152,21 @@
                             {
                                 RsttoNavigatorEntry *entry = rstto_navigator_entry_new(navigator, file_info);
                                 gint i = rstto_navigator_add (navigator, entry);
-                                if (!strcmp(path_name, argv[n]))
+                                if (path_dir == NULL)
                                 {
-                                    rstto_navigator_set_file(navigator, i);
+                                    if (!strcmp(path_name, argv[n]))
+                                    {
+                                        rstto_navigator_set_file(navigator, i);
+                                    }
                                 }
+                                else
+                                {
+                                    if (!strcmp(path_name, path_dir))
+                                    {
+                                        rstto_navigator_set_file(navigator, i);
+                                    }
+
+                                }
                             }
                             g_free(file_media);
                             thunar_vfs_path_unref(file_path);

Modified: ristretto/trunk/src/main_window.c
===================================================================
--- ristretto/trunk/src/main_window.c	2007-11-17 12:46:04 UTC (rev 3595)
+++ ristretto/trunk/src/main_window.c	2007-11-17 13:18:58 UTC (rev 3596)
@@ -216,6 +216,8 @@
 
 static void
 cb_rstto_main_window_nav_iter_changed(RsttoNavigator *navigator, gint nr, RsttoNavigatorEntry *entry, RsttoMainWindow *window);
+static void
+cb_rstto_main_window_nav_new_entry(RsttoNavigator *navigator, gint nr, RsttoNavigatorEntry *entry, RsttoMainWindow *window);
 
 static void
 rstto_main_window_init(RsttoMainWindow *);
@@ -673,6 +675,9 @@
     g_signal_connect(G_OBJECT(window->priv->navigator),
             "iter-changed",
             G_CALLBACK(cb_rstto_main_window_nav_iter_changed), window);
+    g_signal_connect(G_OBJECT(window->priv->navigator),
+            "new-entry",
+            G_CALLBACK(cb_rstto_main_window_nav_new_entry), window);
 }
 
 static void
@@ -1478,6 +1483,34 @@
 }
 
 static void
+cb_rstto_main_window_nav_new_entry(RsttoNavigator *navigator, gint nr, RsttoNavigatorEntry *entry, RsttoMainWindow *window)
+{
+    RsttoNavigatorEntry *current_entry = rstto_navigator_get_file(navigator);
+    ThunarVfsInfo *info = rstto_navigator_entry_get_info(entry);
+    gchar *filename = info->display_name;
+
+    gint current_nr = rstto_navigator_get_position(navigator);
+
+    if (current_entry)
+    {
+        gchar *title;
+        /* Update window title */
+        if (rstto_navigator_get_n_files(navigator) > 1)
+        {
+            title = g_strdup_printf("%s - %s [%d/%d]", PACKAGE_NAME, filename, current_nr+1, rstto_navigator_get_n_files(navigator));
+        }
+        else
+        {
+            title = g_strconcat(PACKAGE_NAME, " - ", filename, NULL);
+        }
+        gtk_window_set_title(GTK_WINDOW(window), title);
+        g_free(title);
+        title = NULL;
+    }
+
+}
+
+static void
 cb_rstto_main_window_next(GtkWidget *widget, RsttoMainWindow *window)
 {
     rstto_navigator_jump_forward(window->priv->navigator);




More information about the Goodies-commits mailing list