Author: akv
Date: 2013-05-05 01:44:21 +0200 (Sun, 05 May 2013)
New Revision: 4385

Modified:
   branches/4175-enfuse/src/rs-actions.c
   branches/4175-enfuse/src/rs-enfuse.c
Log:
Added 3 spinners to Enfuse GUI that will allow the user to select how many 
extending exposures that should be made and step between them.

Modified: branches/4175-enfuse/src/rs-actions.c
===================================================================
--- branches/4175-enfuse/src/rs-actions.c       2013-05-04 23:42:18 UTC (rev 
4384)
+++ branches/4175-enfuse/src/rs-actions.c       2013-05-04 23:44:21 UTC (rev 
4385)
@@ -1597,6 +1597,22 @@
       gtk_widget_set_sensitive(extend_check, FALSE);
     }
 
+  GtkWidget *extend_negative = rs_spinbox_new(_("Extend negative steps"), 
+                                             (num_selected == 1) ? 
CONF_ENFUSE_EXTEND_NEGATIVE_SINGLE : CONF_ENFUSE_EXTEND_NEGATIVE_MULTI,
+                                             (num_selected == 1) ? 
DEFAULT_CONF_ENFUSE_EXTEND_NEGATIVE_SINGLE : 
DEFAULT_CONF_ENFUSE_EXTEND_NEGATIVE_MULTI,
+                                             0.0, 10.0, 1, 2);
+  GtkWidget *extend_positive = rs_spinbox_new(_("Extend positive steps"),
+                                             (num_selected == 1) ? 
CONF_ENFUSE_EXTEND_POSITIVE_SINGLE : CONF_ENFUSE_EXTEND_POSITIVE_MULTI,
+                                             (num_selected == 1) ? 
DEFAULT_CONF_ENFUSE_EXTEND_POSITIVE_SINGLE : 
DEFAULT_CONF_ENFUSE_EXTEND_POSITIVE_MULTI,
+0.0, 10.0, 1, 2);
+  GtkWidget *extend_step = rs_spinbox_new(_("Extend exposure"), 
+                                         (num_selected == 1) ? 
CONF_ENFUSE_EXTEND_STEP_SINGLE : CONF_ENFUSE_EXTEND_STEP_MULTI,
+                                         (num_selected == 1) ? 
DEFAULT_CONF_ENFUSE_EXTEND_STEP_SINGLE : DEFAULT_CONF_ENFUSE_EXTEND_STEP_MULTI,
+                                         0.5, 10.0, 0.5, 1);
+  gtk_box_pack_start(GTK_BOX(vbox), extend_negative, TRUE, TRUE, 5);
+  gtk_box_pack_start(GTK_BOX(vbox), extend_positive, TRUE, TRUE, 5);
+  gtk_box_pack_start(GTK_BOX(vbox), extend_step, TRUE, TRUE, 5);
+
   gint size_value = DEFAULT_CONF_ENFUSE_SIZE;
   if (!rs_conf_get_integer(CONF_ENFUSE_SIZE, &size_value))
     size_value = DEFAULT_CONF_ENFUSE_SIZE;

Modified: branches/4175-enfuse/src/rs-enfuse.c
===================================================================
--- branches/4175-enfuse/src/rs-enfuse.c        2013-05-04 23:42:18 UTC (rev 
4384)
+++ branches/4175-enfuse/src/rs-enfuse.c        2013-05-04 23:44:21 UTC (rev 
4385)
@@ -301,9 +301,25 @@
   GString *fullpath = NULL;
   gchar *align_options = NULL;
   GString *enfuse_options = g_string_new("");
-  gint extend_num = 1;
-  gfloat extend_step = 2.0;
+  gdouble extend_negative = 0.0;
+  gdouble extend_positive = 0.0;
+  gdouble extend_step = 0.0;
 
+  if (!rs_conf_get_double(
+                         (num_selected == 1) ? 
CONF_ENFUSE_EXTEND_NEGATIVE_SINGLE : CONF_ENFUSE_EXTEND_NEGATIVE_MULTI,
+                         &extend_negative))
+    extend_negative = (num_selected == 1) ? 
DEFAULT_CONF_ENFUSE_EXTEND_NEGATIVE_SINGLE : 
DEFAULT_CONF_ENFUSE_EXTEND_NEGATIVE_MULTI;
+
+  if (!rs_conf_get_double(
+                         (num_selected == 1) ? 
CONF_ENFUSE_EXTEND_POSITIVE_SINGLE : CONF_ENFUSE_EXTEND_POSITIVE_MULTI,
+                         &extend_positive))
+    extend_positive = (num_selected == 1) ? 
DEFAULT_CONF_ENFUSE_EXTEND_POSITIVE_SINGLE : 
DEFAULT_CONF_ENFUSE_EXTEND_POSITIVE_MULTI;
+
+  if (!rs_conf_get_double(
+                         (num_selected == 1) ? CONF_ENFUSE_EXTEND_STEP_SINGLE 
: CONF_ENFUSE_EXTEND_STEP_MULTI,
+                         &extend_step))
+    extend_step = (num_selected == 1) ? DEFAULT_CONF_ENFUSE_EXTEND_STEP_SINGLE 
: DEFAULT_CONF_ENFUSE_EXTEND_STEP_MULTI;
+
   gboolean align = DEFAULT_CONF_ENFUSE_ALIGN_IMAGES;
   rs_conf_get_boolean_with_default(CONF_ENFUSE_ALIGN_IMAGES, &align, 
DEFAULT_CONF_ENFUSE_ALIGN_IMAGES);
 
@@ -343,12 +359,9 @@
       GUI_CATCHUP();
     }
 
+  /* if only one picture is selected we have to do extending, it doesn't make 
sense to run enfuse on a single photo otherwise... */
   if (num_selected == 1)
-    {
       extend = TRUE;
-      extend_num = 3;
-      extend_step = 1.0;
-    }
 
   if (g_list_length(files))
     {
@@ -380,7 +393,7 @@
       gui_progress_advance_one(progress); /* 1 - initiate */
     }
 
-  GList *exported_names = export_images(rs, files, extend, extend_num, 
extend_step, extend_num, extend_step, boundingbox);
+  GList *exported_names = export_images(rs, files, extend, extend_negative, 
extend_step, extend_positive, extend_step, boundingbox);
 
   if (quick == FALSE)
     gui_progress_advance_one(progress); /* 2 - after exported images */


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

Reply via email to