Preferences/Batch processing options: all to 'Add' and all to 'Set' (issue 1785)

This commit is contained in:
michael 2013-03-16 22:19:40 -04:00
parent c32e2fc20a
commit 95de1e1b3b
3 changed files with 54 additions and 1 deletions

View File

@ -671,6 +671,10 @@ PREFERENCES_APPLNEXTSTARTUP;restart required
PREFERENCES_AUTOMONPROFILE;Use operating system's main monitor color profile
PREFERENCES_BATCH_PROCESSING;Batch Processing
PREFERENCES_BEHAVIOR;Behavior
PREFERENCES_BEHADDALL;All to 'Add'
PREFERENCES_BEHADDALLHINT;Set all parameters to the <b>Add</b> mode.\nAdjustments of parameters in the batch tool panel will be <b>deltas</b> to the stored values
PREFERENCES_BEHSETALL;All to 'Set'
PREFERENCES_BEHSETALLHINT;Set all parameters to the <b>Set</b> mode.\nAdjustments of parameters in the batch tool panel will be <b>absolute</b>, the actual values will be displayed
PREFERENCES_BLACKBODY;Tungsten
PREFERENCES_BLINKCLIPPED;Blink clipped areas
PREFERENCES_CACHECLEARALL;Clear All

View File

@ -111,8 +111,10 @@ Gtk::Widget* Preferences::getBatchProcPanel () {
behscrollw->set_policy (Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
behscrollw->set_border_width(8);
behscrollw->set_size_request(-1, 60);
Gtk::VBox* vbbeh = Gtk::manage( new Gtk::VBox () );
vbbeh->pack_start (*behscrollw, Gtk::PACK_EXPAND_WIDGET);
Gtk::Frame* behFrame = Gtk::manage (new Gtk::Frame (M("PREFERENCES_BEHAVIOR")));
behFrame->add (*behscrollw);
behFrame->add (*vbbeh);
//mvbpp->pack_start (*behFrame);
mvbpp->pack_start (*behFrame, Gtk::PACK_EXPAND_WIDGET, 4);
Gtk::TreeView* behTreeView = Gtk::manage (new Gtk::TreeView ());
@ -273,6 +275,20 @@ Gtk::Widget* Preferences::getBatchProcPanel () {
behTreeView->expand_all ();
behAddAll = Gtk::manage( new Gtk::Button (M("PREFERENCES_BEHADDALL")) );
behSetAll = Gtk::manage( new Gtk::Button (M("PREFERENCES_BEHSETALL")) );
behAddAll->set_tooltip_markup (M("PREFERENCES_BEHADDALLHINT"));
behSetAll->set_tooltip_markup (M("PREFERENCES_BEHSETALLHINT"));
behAddAll->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::behAddAllPressed) );
behSetAll->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::behSetAllPressed) );
Gtk::HBox* buttonpanel1 = Gtk::manage (new Gtk::HBox ());
//buttonpanel1->set_spacing(8);
buttonpanel1->pack_end (*behSetAll, Gtk::PACK_SHRINK, 4);
buttonpanel1->pack_end (*behAddAll, Gtk::PACK_SHRINK, 4);
vbbeh->pack_start (*buttonpanel1, Gtk::PACK_SHRINK, 4);
chOverwriteOutputFile = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_OVERWRITEOUTPUTFILE")) );
mvbpp->pack_start(*chOverwriteOutputFile, Gtk::PACK_SHRINK, 4);
@ -1584,3 +1600,31 @@ bool Preferences::splashClosed(GdkEventAny* event) {
splash = NULL;
return true;
}
void Preferences::behAddAllPressed () {
if (moptions.baBehav.size() == ADDSET_PARAM_NUM) {
for (size_t i=0; i<moptions.baBehav.size(); i++)
for (Gtk::TreeIter sections=behModel->children().begin(); sections!=behModel->children().end(); sections++)
for (Gtk::TreeIter adjs=sections->children().begin(); adjs!=sections->children().end(); adjs++)
if (adjs->get_value (behavColumns.addsetid) == i) {
adjs->set_value (behavColumns.badd, true);
adjs->set_value (behavColumns.bset, false);
break;
}
}
}
void Preferences::behSetAllPressed () {
if (moptions.baBehav.size() == ADDSET_PARAM_NUM) {
for (size_t i=0; i<moptions.baBehav.size(); i++)
for (Gtk::TreeIter sections=behModel->children().begin(); sections!=behModel->children().end(); sections++)
for (Gtk::TreeIter adjs=sections->children().begin(); adjs!=sections->children().end(); adjs++)
if (adjs->get_value (behavColumns.addsetid) == i) {
adjs->set_value (behavColumns.badd, false);
adjs->set_value (behavColumns.bset, true);
break;
}
}
}

View File

@ -119,6 +119,8 @@ class Preferences : public Gtk::Dialog {
Gtk::CheckButton* ckbmenuGroupProfileOperations;
Gtk::CheckButton* ckbmenuGroupExtProg;
Gtk::Button* behAddAll;
Gtk::Button* behSetAll;
Gtk::CheckButton* chOverwriteOutputFile;
Gtk::CheckButton* saveParamsFile;
@ -202,6 +204,9 @@ class Preferences : public Gtk::Dialog {
void behAddRadioToggled (const Glib::ustring& path);
void behSetRadioToggled (const Glib::ustring& path);
void behAddAllPressed ();
void behSetAllPressed ();
// void selectICCProfileDir ();
// void selectMonitorProfile ();
};