Added possibility to export profiling reference image without WB to make it possible to generate DNG profiles; also apply transform and scaling on profiling reference image

This commit is contained in:
torger
2015-03-21 21:11:36 +01:00
parent 1ec6ff068b
commit bf5aecab31
12 changed files with 131 additions and 88 deletions

View File

@@ -693,6 +693,13 @@ void ICMPanel::saveReferencePressed () {
dialog.add_button(Gtk::StockID("gtk-cancel"), Gtk::RESPONSE_CANCEL);
dialog.add_button(Gtk::StockID("gtk-save"), Gtk::RESPONSE_OK);
Gtk::CheckButton applyWB(M("TP_ICM_SAVEREFERENCE_APPLYWB"));
applyWB.set_active(true);
Gtk::HBox* hbox = Gtk::manage( new Gtk::HBox() );
hbox->pack_end(applyWB, Gtk::PACK_SHRINK, 2);
Gtk::VBox *vbox = dialog.get_vbox();
vbox->pack_end(*hbox, Gtk::PACK_SHRINK, 2);
Gtk::FileFilter filter_tif;
filter_tif.set_name(M("SAVEDLG_TIFFFILTER"));
filter_tif.add_pattern("*.tif");
@@ -704,6 +711,7 @@ void ICMPanel::saveReferencePressed () {
filter_any.add_pattern("*");
dialog.add_filter(filter_any);
dialog.show_all_children();
//dialog.set_do_overwrite_confirmation (true);
bool done = false;
@@ -717,7 +725,7 @@ void ICMPanel::saveReferencePressed () {
if (ext != "tif" && ext != "tiff")
fname += ".tif";
if (confirmOverwrite(dialog, fname)) {
icmplistener->saveInputICCReference (fname);
icmplistener->saveInputICCReference (fname, applyWB.get_active());
lastRefFilename = Glib::path_get_basename (fname);
done = true;
}

View File

@@ -31,7 +31,7 @@ class ICMPanelListener {
public:
virtual ~ICMPanelListener() {}
virtual void saveInputICCReference (Glib::ustring fname) {}
virtual void saveInputICCReference (Glib::ustring fname, bool apply_wb) {}
};
class ICMPanel : public ToolParamBlock, public AdjusterListener, public FoldableToolPanel {

View File

@@ -580,10 +580,10 @@ void ToolPanelCoordinator::cropSelectRequested () {
toolBar->setTool (TMCropSelect);
}
void ToolPanelCoordinator::saveInputICCReference (Glib::ustring fname) {
void ToolPanelCoordinator::saveInputICCReference (Glib::ustring fname, bool apply_wb) {
if (ipc)
ipc->saveInputICCReference (fname);
ipc->saveInputICCReference (fname, apply_wb);
}
int ToolPanelCoordinator::getSpotWBRectSize () {

View File

@@ -265,7 +265,7 @@ class ToolPanelCoordinator : public ToolPanelListener,
void cropSelectRequested ();
// icmpanellistener interface
void saveInputICCReference (Glib::ustring fname);
void saveInputICCReference (Glib::ustring fname, bool apply_wb);
// imageareatoollistener interface
void spotWBselected (int x, int y, Thumbnail* thm=NULL);