Author: abrander
Date: 2009-07-04 21:58:39 +0200 (Sat, 04 Jul 2009)
New Revision: 2535

Modified:
   trunk/librawstudio/rs-filter.c
   trunk/src/rs-navigator.c
   trunk/src/rs-preview-widget.c
Log:
Added ask parameter to RSFilters "changed" signal.

Modified: trunk/librawstudio/rs-filter.c
===================================================================
--- trunk/librawstudio/rs-filter.c      2009-07-04 18:43:23 UTC (rev 2534)
+++ trunk/librawstudio/rs-filter.c      2009-07-04 19:58:39 UTC (rev 2535)
@@ -46,8 +46,8 @@
                0,
                NULL, 
                NULL,                
-               g_cclosure_marshal_VOID__VOID,
-               G_TYPE_NONE, 0);
+               g_cclosure_marshal_VOID__INT,
+               G_TYPE_NONE, 1, G_TYPE_INT);
 
        klass->get_image = NULL;
        klass->get_image8 = NULL;
@@ -153,8 +153,7 @@
                        rs_filter_changed(next, mask);
        }
 
-       /* FIXME: Should this reflect mask? */
-       g_signal_emit(G_OBJECT(filter), signals[CHANGED_SIGNAL], 0);
+       g_signal_emit(G_OBJECT(filter), signals[CHANGED_SIGNAL], 0, mask);
 }
 
 /**

Modified: trunk/src/rs-navigator.c
===================================================================
--- trunk/src/rs-navigator.c    2009-07-04 18:43:23 UTC (rev 2534)
+++ trunk/src/rs-navigator.c    2009-07-04 19:58:39 UTC (rev 2535)
@@ -29,7 +29,7 @@
 static void v_changed(GtkAdjustment *adjustment, RSNavigator *navigator);
 static void h_value_changed(GtkAdjustment *adjustment, RSNavigator *navigator);
 static void v_value_changed(GtkAdjustment *adjustment, RSNavigator *navigator);
-static void filter_changed(RSFilter *filter, RSNavigator *navigator);
+static void filter_changed(RSFilter *filter, RSFilterChangedMask mask, 
RSNavigator *navigator);
 static void redraw(RSNavigator *navigator);
 
 static void
@@ -264,7 +264,7 @@
 }
 
 static void
-filter_changed(RSFilter *filter, RSNavigator *navigator)
+filter_changed(RSFilter *filter, RSFilterChangedMask mask, RSNavigator 
*navigator)
 {
        redraw(navigator);
 }

Modified: trunk/src/rs-preview-widget.c
===================================================================
--- trunk/src/rs-preview-widget.c       2009-07-04 18:43:23 UTC (rev 2534)
+++ trunk/src/rs-preview-widget.c       2009-07-04 19:58:39 UTC (rev 2535)
@@ -211,7 +211,7 @@
 static gboolean motion(GtkWidget *widget, GdkEventMotion *event, gpointer 
user_data);
 static gboolean leave(GtkWidget *widget, GdkEventCrossing *event, gpointer 
user_data);
 static void settings_changed(RS_PHOTO *photo, RSSettingsMask mask, 
RSPreviewWidget *preview);
-static void filter_changed(RSFilter *filter, RSPreviewWidget *preview);
+static void filter_changed(RSFilter *filter, RSFilterChangedMask mask, 
RSPreviewWidget *preview);
 static void crop_aspect_changed(gpointer active, gpointer user_data);
 static void crop_grid_changed(gpointer active, gpointer user_data);
 static void crop_apply_clicked(GtkButton *button, gpointer user_data);
@@ -626,7 +626,6 @@
 rs_preview_widget_set_split(RSPreviewWidget *preview, gboolean split_screen)
 {
        gint view, max_width, max_height;
-       GdkRectangle rect;
 
        g_assert(RS_IS_PREVIEW_WIDGET(preview));
 
@@ -2132,7 +2131,7 @@
 }
 
 static void
-filter_changed(RSFilter *filter, RSPreviewWidget *preview)
+filter_changed(RSFilter *filter, RSFilterChangedMask mask, RSPreviewWidget 
*preview)
 {
        gint view;
 
@@ -2141,6 +2140,14 @@
        {
                if (filter == preview->filter_end[view])
                {
+                       if ((view==0) && (mask & RS_FILTER_CHANGED_DIMENSION))
+                       {
+                               gdouble val;
+                               val = (gdouble) 
rs_filter_get_width(preview->filter_end[0]);
+                               g_object_set(G_OBJECT(preview->hadjustment), 
"upper", val, NULL);
+                               val = (gdouble) 
rs_filter_get_height(preview->filter_end[0]);
+                               g_object_set(G_OBJECT(preview->vadjustment), 
"upper", val, NULL);
+                       }
                        DIRTY(preview->dirty[view], SCREEN);
                        rs_preview_widget_update(preview, TRUE);
                }


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to