[Goodies-commits] r2993 - ristretto/trunk/src
Stephan Arts
stephan at xfce.org
Mon Aug 13 13:13:31 CEST 2007
Author: stephan
Date: 2007-08-13 11:13:31 +0000 (Mon, 13 Aug 2007)
New Revision: 2993
Modified:
ristretto/trunk/src/navigator.c
ristretto/trunk/src/navigator.h
ristretto/trunk/src/thumbnail_viewer.c
Log:
Add autocenter to thumbnailer
Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c 2007-08-13 07:44:49 UTC (rev 2992)
+++ ristretto/trunk/src/navigator.c 2007-08-13 11:13:31 UTC (rev 2993)
@@ -510,12 +510,22 @@
rstto_navigator_get_file (RsttoNavigator *navigator)
{
if(navigator->file_iter)
+ {
return (RsttoNavigatorEntry *)(navigator->file_iter->data);
+ }
else
+ {
return NULL;
+ }
}
gint
+rstto_navigator_get_position(RsttoNavigator *navigator)
+{
+ return g_list_position(navigator->file_list, navigator->file_iter);
+}
+
+gint
rstto_navigator_get_n_files (RsttoNavigator *navigator)
{
return g_list_length(navigator->file_list);
Modified: ristretto/trunk/src/navigator.h
===================================================================
--- ristretto/trunk/src/navigator.h 2007-08-13 07:44:49 UTC (rev 2992)
+++ ristretto/trunk/src/navigator.h 2007-08-13 11:13:31 UTC (rev 2993)
@@ -79,6 +79,8 @@
RsttoNavigatorEntry *
rstto_navigator_get_file (RsttoNavigator *navigator);
+gint
+rstto_navigator_get_position(RsttoNavigator *navigator);
gint
rstto_navigator_get_n_files (RsttoNavigator *navigator);
Modified: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c 2007-08-13 07:44:49 UTC (rev 2992)
+++ ristretto/trunk/src/thumbnail_viewer.c 2007-08-13 11:13:31 UTC (rev 2993)
@@ -50,6 +50,7 @@
RsttoNavigator *navigator;
gint dimension;
gint offset;
+ gboolean auto_center;
RsttoThumbnailViewerCache *cache;
};
@@ -116,6 +117,8 @@
viewer->priv->cache->begin = -1;
viewer->priv->cache->end = -1;
+ viewer->priv->auto_center = TRUE;
+
gtk_widget_set_redraw_on_allocate(GTK_WIDGET(viewer), TRUE);
gtk_widget_set_events (GTK_WIDGET(viewer),
GDK_BUTTON_PRESS_MASK);
@@ -445,8 +448,16 @@
static void
cb_rstto_thumbnailer_nav_file_changed(RsttoNavigator *nav, RsttoThumbnailViewer *viewer)
{
+ GtkWidget *widget = GTK_WIDGET(viewer);
if (GTK_WIDGET_REALIZED (viewer))
{
+ if(viewer->priv->auto_center)
+ {
+ gint nr = rstto_navigator_get_position(nav);
+ viewer->priv->offset = nr * viewer->priv->dimension - widget->allocation.width / 2 +viewer->priv->dimension / 2;
+ if (viewer->priv->offset < 0)
+ viewer->priv->offset = 0;
+ }
rstto_thumbnail_viewer_paint(viewer);
}
More information about the Goodies-commits
mailing list