Author: akv
Date: 2010-06-19 22:59:12 +0200 (Sat, 19 Jun 2010)
New Revision: 3434
Modified:
trunk/src/rs-actions.c
Log:
Moved duplicate-code to a new function.
Modified: trunk/src/rs-actions.c
===================================================================
--- trunk/src/rs-actions.c 2010-06-19 20:05:40 UTC (rev 3433)
+++ trunk/src/rs-actions.c 2010-06-19 20:59:12 UTC (rev 3434)
@@ -628,16 +628,9 @@
gui_setprio(rs, PRIO_U);
}
-ACTION(auto_wb)
+void
+set_wb_on_multiple_photos(GList *selected, gint current_setting, const gchar
*wb_ascii)
{
- if (RS_IS_PHOTO(rs->photo))
- {
- gui_status_notify(_("Adjusting to auto white balance"));
- rs_photo_set_wb_auto(rs->photo, rs->current_setting);
- }
-
- /* Apply to all selected photos */
- GList *selected = rs_store_get_selected_names(rs->store);
gint num_selected = g_list_length(selected);
if (num_selected > 1)
@@ -651,14 +644,26 @@
photo = rs_photo_new();
photo->filename = g_strdup(g_list_nth_data(selected,
cur));
load_mask = rs_cache_load(photo);
-
rs_settings_set_wb(photo->settings[rs->current_setting], 0.0, 0.0,
PRESET_WB_AUTO);
+ rs_settings_set_wb(photo->settings[current_setting],
0.0, 0.0, wb_ascii);
rs_cache_save(photo, load_mask | MASK_WB);
g_object_unref(photo);
}
- g_list_free(selected);
}
+ g_list_free(selected);
}
+ACTION(auto_wb)
+{
+ if (RS_IS_PHOTO(rs->photo))
+ {
+ gui_status_notify(_("Adjusting to auto white balance"));
+ rs_photo_set_wb_auto(rs->photo, rs->current_setting);
+ }
+
+ /* Apply to all selected photos */
+ set_wb_on_multiple_photos(rs_store_get_selected_names(rs->store),
rs->current_setting, PRESET_WB_AUTO);
+}
+
ACTION(camera_wb)
{
if (RS_IS_PHOTO(rs->photo))
@@ -673,26 +678,7 @@
}
/* Apply to all selected photos */
- GList *selected = rs_store_get_selected_names(rs->store);
- gint num_selected = g_list_length(selected);
-
- if (num_selected > 1)
- {
- RS_PHOTO *photo;
- gint cur, load_mask;
-
- for(cur=0;cur<num_selected;cur++)
- {
- /* This is nothing but a hack around rs_cache_*() */
- photo = rs_photo_new();
- photo->filename = g_strdup(g_list_nth_data(selected,
cur));
- load_mask = rs_cache_load(photo);
-
rs_settings_set_wb(photo->settings[rs->current_setting], 0.0, 0.0,
PRESET_WB_CAMERA);
- rs_cache_save(photo, load_mask | MASK_WB);
- g_object_unref(photo);
- }
- g_list_free(selected);
- }
+ set_wb_on_multiple_photos(rs_store_get_selected_names(rs->store),
rs->current_setting, PRESET_WB_CAMERA);
}
ACTION(crop)
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit