- if (_reference->GetValue ()) {
- _gain->wrapped()->Enable (false);
- _gain_calculate_button->Enable (false);
- _show->Enable (true);
- _peak->Enable (false);
- _delay->wrapped()->Enable (false);
- _mapping->Enable (false);
- _description->Enable (false);
- } else {
- _gain->wrapped()->Enable (sel.size() == 1);
- _gain_calculate_button->Enable (sel.size() == 1);
- _show->Enable (sel.size() == 1);
- _peak->Enable (sel.size() == 1);
- _delay->wrapped()->Enable (sel.size() == 1);
- _mapping->Enable (sel.size() == 1);
- _description->Enable (sel.size() == 1);
- }
+ auto const ref = _reference->GetValue();
+ auto const single = sel.size() == 1;
+
+ auto const all_have_video = std::all_of(sel.begin(), sel.end(), [](shared_ptr<const Content> c) { return static_cast<bool>(c->video); });
+
+ _gain->wrapped()->Enable (!ref);
+ _gain_calculate_button->Enable (!ref && single);
+ _show->Enable (single);
+ _peak->Enable (!ref && single);
+ _delay->wrapped()->Enable (!ref);
+ _mapping->Enable (!ref && single);
+ _description->Enable (!ref && single);
+ _fade_in->Enable (!_use_same_fades_as_video->GetValue());
+ _fade_out->Enable (!_use_same_fades_as_video->GetValue());
+ _use_same_fades_as_video->Enable (!ref && all_have_video);