Merge branch 'dev' into rawcacorrection_iterate
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user