Author: post
Date: 2010-12-28 21:16:22 +0100 (Tue, 28 Dec 2010)
New Revision: 3699
Modified:
trunk/src/rs-save-dialog.c
trunk/src/rs-save-dialog.h
Log:
Export As Dialog:Make sure percentages and sizes are updated along with each
other, and allow scale up to 1000% (up from 200).
Modified: trunk/src/rs-save-dialog.c
===================================================================
--- trunk/src/rs-save-dialog.c 2010-12-21 20:51:52 UTC (rev 3698)
+++ trunk/src/rs-save-dialog.c 2010-12-28 20:16:22 UTC (rev 3699)
@@ -420,8 +420,11 @@
if (dialog->keep_aspect)
{
g_signal_handler_block(dialog->h_spin, dialog->h_signal);
+ g_signal_handler_block(dialog->p_spin, dialog->p_signal);
ratio =
gtk_spin_button_get_value(spinbutton)/dialog->w_original;
gtk_spin_button_set_value(dialog->h_spin,
dialog->h_original*ratio);
+ gtk_spin_button_set_value(dialog->p_spin, 100.0*ratio);
+ g_signal_handler_unblock(dialog->p_spin, dialog->p_signal);
g_signal_handler_unblock(dialog->h_spin, dialog->h_signal);
}
return;
@@ -435,8 +438,11 @@
if (dialog->keep_aspect)
{
g_signal_handler_block(dialog->w_spin, dialog->w_signal);
+ g_signal_handler_block(dialog->p_spin, dialog->p_signal);
ratio =
gtk_spin_button_get_value(spinbutton)/dialog->h_original;
gtk_spin_button_set_value(dialog->w_spin,
dialog->w_original*ratio);
+ gtk_spin_button_set_value(dialog->p_spin, 100.0*ratio);
+ g_signal_handler_unblock(dialog->p_spin, dialog->p_signal);
g_signal_handler_unblock(dialog->w_spin, dialog->w_signal);
}
return;
@@ -481,17 +487,17 @@
dialog->w_spin = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range(1.0,
65535.0, 1.0));
dialog->h_spin = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range(1.0,
65535.0, 1.0));
- dialog->p_spin = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range(1.0,
200.0, 1.0));
+ dialog->p_spin = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range(1.0,
1000.0, 1.0));
gtk_spin_button_set_value(dialog->w_spin, (gdouble) dialog->save_width);
gtk_spin_button_set_value(dialog->h_spin, (gdouble)
dialog->save_height);
gtk_spin_button_set_value(dialog->p_spin, percent);
dialog->w_signal = g_signal_connect(G_OBJECT(dialog->w_spin),
"value_changed", G_CALLBACK(size_pref_w_changed), dialog);
dialog->h_signal = g_signal_connect(G_OBJECT(dialog->h_spin),
"value_changed", G_CALLBACK(size_pref_h_changed), dialog);
- g_signal_connect(G_OBJECT(dialog->p_spin), "value_changed",
G_CALLBACK(size_pref_p_changed), dialog);
+ dialog->p_signal = g_signal_connect(G_OBJECT(dialog->p_spin),
"value_changed", G_CALLBACK(size_pref_p_changed), dialog);
g_signal_connect(G_OBJECT(dialog->w_spin), "value_changed",
G_CALLBACK(spin_set_value), &dialog->save_width);
g_signal_connect(G_OBJECT(dialog->h_spin), "value_changed",
G_CALLBACK(spin_set_value), &dialog->save_height);
-
+
hbox = gtk_hbox_new(FALSE, 3);
gtk_box_pack_start (GTK_BOX (hbox),
gtk_label_new_with_mnemonic(_("Width:")), FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET(dialog->w_spin), FALSE,
TRUE, 0);
Modified: trunk/src/rs-save-dialog.h
===================================================================
--- trunk/src/rs-save-dialog.h 2010-12-21 20:51:52 UTC (rev 3698)
+++ trunk/src/rs-save-dialog.h 2010-12-28 20:16:22 UTC (rev 3699)
@@ -49,6 +49,7 @@
GtkSpinButton *p_spin;
gulong w_signal;
gulong h_signal;
+ gulong p_signal;
gint save_width;
gint save_height;
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit