[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