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

Stephan Arts stephan at xfce.org
Thu Aug 23 01:43:22 CEST 2007


Author: stephan
Date: 2007-08-22 23:43:22 +0000 (Wed, 22 Aug 2007)
New Revision: 3054

Modified:
   ristretto/trunk/src/main.c
   ristretto/trunk/src/navigator.c
   ristretto/trunk/src/picture_viewer.c
   ristretto/trunk/src/thumbnail_viewer.c
Log:
modified navigator signals, will eventually help reduce the amount of work done in the viewer classes

Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c	2007-08-22 19:06:03 UTC (rev 3053)
+++ ristretto/trunk/src/main.c	2007-08-22 23:43:22 UTC (rev 3054)
@@ -79,7 +79,7 @@
 static void
 cb_rstto_key_press_event(GtkWidget *widget, GdkEventKey *event, RsttoNavigator *navigator);
 static void
-cb_rstto_nav_file_changed(RsttoNavigator *navigator, GtkWindow *window);
+cb_rstto_nav_file_changed(RsttoNavigator *navigator, gint nr, RsttoNavigatorEntry *entry, GtkWindow *window);
 
 static gboolean window_fullscreen = FALSE;
 static gboolean viewer_scale = 1.0;
@@ -129,7 +129,7 @@
     viewer = rstto_picture_viewer_new(navigator);
 
     g_signal_connect(window , "key-press-event", G_CALLBACK(cb_rstto_key_press_event) , navigator);
-    g_signal_connect(G_OBJECT(navigator), "file_changed", G_CALLBACK(cb_rstto_nav_file_changed), window);
+    g_signal_connect(G_OBJECT(navigator), "iter-changed", G_CALLBACK(cb_rstto_nav_file_changed), window);
 
 
     if(argc == 2)
@@ -523,9 +523,8 @@
 }
 
 static void
-cb_rstto_nav_file_changed(RsttoNavigator *navigator, GtkWindow *window)
+cb_rstto_nav_file_changed(RsttoNavigator *navigator, gint nr, RsttoNavigatorEntry *entry, GtkWindow *window)
 {
-    RsttoNavigatorEntry *entry = rstto_navigator_get_file(navigator);
     ThunarVfsInfo *info = rstto_navigator_entry_get_info(entry);
     const gchar *filename = info->display_name;
     gchar *title;

Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c	2007-08-22 19:06:03 UTC (rev 3053)
+++ ristretto/trunk/src/navigator.c	2007-08-22 23:43:22 UTC (rev 3054)
@@ -40,7 +40,10 @@
 
 enum
 {
-    RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED = 0,
+    RSTTO_NAVIGATOR_SIGNAL_ENTRY_MODIFIED = 0,
+    RSTTO_NAVIGATOR_SIGNAL_NEW_ENTRY,
+    RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED,
+    RSTTO_NAVIGATOR_SIGNAL_REORDERED,
     RSTTO_NAVIGATOR_SIGNAL_COUNT    
 };
 
@@ -98,7 +101,7 @@
 
     object_class->dispose = rstto_navigator_dispose;
 
-    rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED] = g_signal_new("file_changed",
+    rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_REORDERED] = g_signal_new("reordered",
             G_TYPE_FROM_CLASS(nav_class),
             G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
             0,
@@ -108,6 +111,42 @@
             G_TYPE_NONE,
             0,
             NULL);
+    rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ENTRY_MODIFIED] = g_signal_new("entry-modified",
+            G_TYPE_FROM_CLASS(nav_class),
+            G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+            0,
+            NULL,
+            NULL,
+            g_cclosure_marshal_VOID__UINT_POINTER,
+            G_TYPE_NONE,
+            2,
+            G_TYPE_UINT,
+            G_TYPE_POINTER,
+            NULL);
+    rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED] = g_signal_new("iter-changed",
+            G_TYPE_FROM_CLASS(nav_class),
+            G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+            0,
+            NULL,
+            NULL,
+            g_cclosure_marshal_VOID__UINT_POINTER,
+            G_TYPE_NONE,
+            2,
+            G_TYPE_UINT,
+            G_TYPE_POINTER,
+            NULL);
+    rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_NEW_ENTRY] = g_signal_new("new-entry",
+            G_TYPE_FROM_CLASS(nav_class),
+            G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+            0,
+            NULL,
+            NULL,
+            g_cclosure_marshal_VOID__UINT_POINTER,
+            G_TYPE_NONE,
+            2,
+            G_TYPE_UINT,
+            G_TYPE_POINTER,
+            NULL);
 }
 
 static void
@@ -154,7 +193,7 @@
     navigator->file_iter = g_list_first(navigator->file_list);
     if(navigator->file_iter)
     {
-        g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED], 0, NULL);
+        g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED], 0, 0, navigator->file_iter->data, NULL);
     }
 }
 
@@ -175,7 +214,12 @@
 
     if(navigator->file_iter)
     {
-        g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED], 0, NULL);
+        g_signal_emit(G_OBJECT(navigator),
+                      rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
+                      0,
+                      g_list_position(navigator->file_list, navigator->file_iter),
+                      navigator->file_iter->data,
+                      NULL);
     }
 }
 
@@ -196,7 +240,12 @@
 
     if(navigator->file_iter)
     {
-        g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED], 0, NULL);
+        g_signal_emit(G_OBJECT(navigator),
+                      rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
+                      0,
+                      g_list_position(navigator->file_list, navigator->file_iter),
+                      navigator->file_iter->data,
+                      NULL);
     }
 }
 
@@ -215,7 +264,12 @@
 
     if(navigator->file_iter)
     {
-        g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED], 0, NULL);
+        g_signal_emit(G_OBJECT(navigator),
+                      rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
+                      0,
+                      g_list_position(navigator->file_list, navigator->file_iter),
+                      navigator->file_iter->data,
+                      NULL);
     }
 }
 
@@ -281,8 +335,14 @@
     if (!navigator->file_iter)
     {
         navigator->file_iter = navigator->file_list;
-        g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED], 0, NULL);
+        g_signal_emit(G_OBJECT(navigator),
+                      rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
+                      0,
+                      g_list_index(navigator->file_list, entry),
+                      entry,
+                      NULL);
     }
+    g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_NEW_ENTRY], 0, g_list_index(navigator->file_list, entry), entry, NULL);
 }
 
 void
@@ -310,7 +370,12 @@
     navigator->file_iter = g_list_nth(navigator->file_list, n);
     if(navigator->file_iter)
     {
-        g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_FILE_CHANGED], 0, NULL);
+        g_signal_emit(G_OBJECT(navigator),
+                      rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
+                      0,
+                      g_list_position(navigator->file_list, navigator->file_iter),
+                      navigator->file_iter->data,
+                      NULL);
     }
 }
 

Modified: ristretto/trunk/src/picture_viewer.c
===================================================================
--- ristretto/trunk/src/picture_viewer.c	2007-08-22 19:06:03 UTC (rev 3053)
+++ ristretto/trunk/src/picture_viewer.c	2007-08-22 23:43:22 UTC (rev 3054)
@@ -53,7 +53,7 @@
 rstto_picture_viewer_expose(GtkWidget *, GdkEventExpose *);
 
 static void
-cb_rstto_picture_viewer_nav_file_changed(RsttoNavigator *nav, RsttoPictureViewer *viewer);
+cb_rstto_picture_viewer_nav_file_changed(RsttoNavigator *nav, gint nr, RsttoNavigatorEntry *entry, RsttoPictureViewer *viewer);
 
 static void
 rstto_picture_viewer_paint(GtkWidget *widget);
@@ -410,7 +410,7 @@
 
     widget = g_object_new(RSTTO_TYPE_PICTURE_VIEWER, NULL);
     RSTTO_PICTURE_VIEWER(widget)->priv->navigator = navigator;
-    g_signal_connect(G_OBJECT(navigator), "file_changed", G_CALLBACK(cb_rstto_picture_viewer_nav_file_changed), widget);
+    g_signal_connect(G_OBJECT(navigator), "iter-changed", G_CALLBACK(cb_rstto_picture_viewer_nav_file_changed), widget);
 
     return widget;
 }
@@ -560,10 +560,9 @@
 }
 
 static void
-cb_rstto_picture_viewer_nav_file_changed(RsttoNavigator *nav, RsttoPictureViewer *viewer)
+cb_rstto_picture_viewer_nav_file_changed(RsttoNavigator *nav, gint nr, RsttoNavigatorEntry *entry, RsttoPictureViewer *viewer)
 {
     GtkWidget *widget = GTK_WIDGET(viewer);
-    RsttoNavigatorEntry *entry = rstto_navigator_get_file(nav);
     if(GTK_WIDGET_REALIZED(widget))
     {
         GdkCursor *cursor = gdk_cursor_new(GDK_WATCH);

Modified: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c	2007-08-22 19:06:03 UTC (rev 3053)
+++ ristretto/trunk/src/thumbnail_viewer.c	2007-08-22 23:43:22 UTC (rev 3054)
@@ -35,6 +35,8 @@
     gint dimension;
     gint offset;
     gboolean auto_center;
+    gint begin;
+    gint end;
 };
 
 static void
@@ -61,6 +63,20 @@
 static void
 cb_rstto_thumbnailer_nav_file_changed(RsttoNavigator *nav, RsttoThumbnailViewer *viewer);
 static void
+cb_rstto_thumbnailer_nav_new_entry (RsttoNavigator *nav,
+                                    gint nr,
+                                    RsttoNavigatorEntry *entry,
+                                    RsttoThumbnailViewer *viewer);
+static void
+cb_rstto_thumbnailer_nav_iter_changed (RsttoNavigator *nav,
+                                       gint nr,
+                                       RsttoNavigatorEntry *entry,
+                                       RsttoThumbnailViewer *viewer);
+static void
+cb_rstto_thumbnailer_nav_reordered (RsttoNavigator *nav,
+                                    RsttoThumbnailViewer *viewer);
+
+static void
 cb_rstto_thumbnailer_button_press_event (RsttoThumbnailViewer *viewer, GdkEventButton *event);
 
 GType
@@ -429,8 +445,13 @@
 
     viewer->priv->navigator = navigator;
 
-    g_signal_connect(G_OBJECT(navigator), "file_changed", G_CALLBACK(cb_rstto_thumbnailer_nav_file_changed), viewer);
+    if (0)
+        g_signal_connect(G_OBJECT(navigator), "file_changed", G_CALLBACK(cb_rstto_thumbnailer_nav_file_changed), viewer);
 
+    g_signal_connect(G_OBJECT(navigator), "new-entry", G_CALLBACK(cb_rstto_thumbnailer_nav_new_entry), viewer);
+    g_signal_connect(G_OBJECT(navigator), "iter-changed", G_CALLBACK(cb_rstto_thumbnailer_nav_iter_changed), viewer);
+    g_signal_connect(G_OBJECT(navigator), "reordered", G_CALLBACK(cb_rstto_thumbnailer_nav_reordered), viewer);
+
     return (GtkWidget *)viewer;
 }
 
@@ -552,3 +573,29 @@
 {
     return viewer->priv->orientation;
 }
+
+static void
+cb_rstto_thumbnailer_nav_new_entry(RsttoNavigator *nav, gint nr, RsttoNavigatorEntry *entry, RsttoThumbnailViewer *viewer)
+{
+    if (GTK_WIDGET_REALIZED(viewer))
+    {
+        /* Check if the entry is visible */
+        if ((nr >= viewer->priv->begin) && (nr <= viewer->priv->end))
+            rstto_thumbnail_viewer_paint(viewer);
+    }
+}
+
+static void
+cb_rstto_thumbnailer_nav_iter_changed(RsttoNavigator *nav, gint nr, RsttoNavigatorEntry *entry, RsttoThumbnailViewer *viewer)
+{
+    if (GTK_WIDGET_REALIZED(viewer))
+    {
+        rstto_thumbnail_viewer_paint(viewer);
+    }
+}
+
+static void
+cb_rstto_thumbnailer_nav_reordered (RsttoNavigator *nav, RsttoThumbnailViewer *viewer)
+{
+
+}




More information about the Goodies-commits mailing list