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