Merge branch 'dev' into rawcacorrection_iterate

This commit is contained in:
heckflosse
2018-09-11 12:55:52 +02:00
7 changed files with 57 additions and 11 deletions

View File

@@ -991,8 +991,11 @@ void MyScrolledWindow::get_preferred_height_for_width_vfunc (int width, int &min
MyScrolledToolbar::MyScrolledToolbar ()
{
set_policy (Gtk::POLICY_EXTERNAL, Gtk::POLICY_NEVER);
set_propagate_natural_height(true);
get_style_context()->add_class("scrollableToolbar");
// Works fine with Gtk 3.22, but a a custom made get_preferred_height had to be created as a workaround
// taken from the official Gtk3.22 source code
//set_propagate_natural_height(true);
}
bool MyScrolledToolbar::on_scroll_event (GdkEventScroll* event)
@@ -1032,6 +1035,23 @@ bool MyScrolledToolbar::on_scroll_event (GdkEventScroll* event)
return true;
}
void MyScrolledToolbar::get_preferred_height (int &minimumHeight, int &naturalHeight)
{
int currMinHeight = 0;
int currNatHeight = 0;
std::vector<Widget*> childs = get_children();
minimumHeight = naturalHeight = 0;
for (auto child : childs)
{
if(child->is_visible()) {
child->get_preferred_height(currMinHeight, currNatHeight);
minimumHeight = rtengine::max(currMinHeight, minimumHeight);
naturalHeight = rtengine::max(currNatHeight, naturalHeight);
}
}
}
MyComboBoxText::MyComboBoxText (bool has_entry) : Gtk::ComboBoxText(has_entry)
{
minimumWidth = naturalWidth = 70;

View File

@@ -300,6 +300,7 @@ class MyScrolledToolbar : public Gtk::ScrolledWindow
{
bool on_scroll_event (GdkEventScroll* event);
void get_preferred_height (int &minimumHeight, int &naturalHeight);
public:
MyScrolledToolbar();

View File

@@ -182,7 +182,7 @@ void SaveFormatPanel::formatChanged ()
int act = format->get_active_row_number();
if (act < 0 || act > 5) {
if (act < 0 || act > 6) {
return;
}

View File

@@ -111,7 +111,7 @@ ToneCurve::ToneCurve () : FoldableToolPanel(this, "tonecurve", M("TP_EXPOSURE_LA
//----------- Highlight recovery & threshold -------------
hlcompr = Gtk::manage (new Adjuster (M("TP_EXPOSURE_COMPRHIGHLIGHTS"), 0, 500, 1, 0));
pack_start (*hlcompr);
hlcomprthresh = Gtk::manage (new Adjuster (M("TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD"), 0, 100, 1, 33));
hlcomprthresh = Gtk::manage (new Adjuster (M("TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD"), 0, 100, 1, 0));
pack_start (*hlcomprthresh);
//----------- Black Level & Compression -------------------
@@ -229,9 +229,13 @@ void ToneCurve::read (const ProcParams* pp, const ParamsEdited* pedited)
hlcomprthresh->setValue (pp->toneCurve.hlcomprthresh);
shcompr->setValue (pp->toneCurve.shcompr);
if (!black->getAddMode()) {
if (!black->getAddMode() && !batchMode) {
shcompr->set_sensitive(!((int)black->getValue () == 0)); //at black=0 shcompr value has no effect
}
if (!hlcompr->getAddMode() && !batchMode) {
hlcomprthresh->set_sensitive(!((int)hlcompr->getValue () == 0)); //at hlcompr=0 hlcomprthresh value has no effect
}
brightness->setValue (pp->toneCurve.brightness);
contrast->setValue (pp->toneCurve.contrast);
@@ -611,7 +615,7 @@ void ToneCurve::adjusterChanged (Adjuster* a, double newval)
} else if (a == black) {
listener->panelChanged (EvBlack, costr);
if (!black->getAddMode()) {
if (!black->getAddMode() && !batchMode) {
shcompr->set_sensitive(!((int)black->getValue () == 0)); //at black=0 shcompr value has no effect
}
} else if (a == contrast) {
@@ -620,6 +624,10 @@ void ToneCurve::adjusterChanged (Adjuster* a, double newval)
listener->panelChanged (EvSaturation, costr);
} else if (a == hlcompr) {
listener->panelChanged (EvHLCompr, costr);
if (!hlcompr->getAddMode() && !batchMode) {
hlcomprthresh->set_sensitive(!((int)hlcompr->getValue () == 0)); //at hlcompr=0 hlcomprthresh value has no effect
}
} else if (a == hlcomprthresh) {
listener->panelChanged (EvHLComprThreshold, costr);
} else if (a == shcompr) {
@@ -660,9 +668,13 @@ void ToneCurve::neutral_pressed ()
hlrbox->hide();
}
if (!black->getAddMode()) {
if (!black->getAddMode() && !batchMode) {
shcompr->set_sensitive(!((int)black->getValue () == 0)); //at black=0 shcompr value has no effect
}
if (!hlcompr->getAddMode() && !batchMode) {
hlcomprthresh->set_sensitive(!((int)hlcompr->getValue () == 0)); //at hlcompr=0 hlcomprthresh value has no effect
}
contrast->setValue(0);
//saturation->setValue(0);
@@ -733,6 +745,11 @@ void ToneCurve::autolevels_toggled ()
if (!black->getAddMode()) {
shcompr->set_sensitive(!((int)black->getValue () == 0)); //at black=0 shcompr value has no effect
}
if (!hlcompr->getAddMode() && !batchMode) {
hlcomprthresh->set_sensitive(!((int)hlcompr->getValue () == 0)); //at hlcompr=0 hlcomprthresh value has no effect
}
} else {
listener->panelChanged (EvFixedExp, M("GENERAL_DISABLED"));
}
@@ -847,9 +864,13 @@ bool ToneCurve::autoExpComputed_ ()
hlrbox->hide();
}
if (!black->getAddMode()) {
if (!black->getAddMode() && !batchMode) {
shcompr->set_sensitive(!((int)black->getValue () == 0)); //at black=0 shcompr value has no effect
}
if (!hlcompr->getAddMode() && !batchMode) {
hlcomprthresh->set_sensitive(!((int)hlcompr->getValue () == 0)); //at hlcompr=0 hlcomprthresh value has no effect
}
enableListener ();
@@ -971,9 +992,13 @@ bool ToneCurve::histmatchingComputed()
contrast->setValue(0);
black->setValue(0);
if (!black->getAddMode()) {
if (!black->getAddMode() && !batchMode) {
shcompr->set_sensitive(!((int)black->getValue() == 0));
}
if (!hlcompr->getAddMode() && !batchMode) {
hlcomprthresh->set_sensitive(!((int)hlcompr->getValue () == 0)); //at hlcompr=0 hlcomprthresh value has no effect
}
if (autolevels->get_active() ) {
expcomp->setValue(0);