diff options
Diffstat (limited to 'tracker-pt/ftnoir_tracker_pt_dialog.cpp')
-rw-r--r-- | tracker-pt/ftnoir_tracker_pt_dialog.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/tracker-pt/ftnoir_tracker_pt_dialog.cpp b/tracker-pt/ftnoir_tracker_pt_dialog.cpp index f3025a0c..d67f79a7 100644 --- a/tracker-pt/ftnoir_tracker_pt_dialog.cpp +++ b/tracker-pt/ftnoir_tracker_pt_dialog.cpp @@ -110,9 +110,15 @@ TrackerDialog_PT::TrackerDialog_PT(const QString& module_name) : tie_setting(s.blob_color, ui.blob_color); + tie_setting(s.chroma_key_strength, ui.chroma_key_strength_slider); + connect(&s.chroma_key_strength, value_::value_changed<slider_value>(), ui.chroma_key_strength_label, + [this] { ui.chroma_key_strength_label->setValue(*s.chroma_key_strength); }); + ui.chroma_key_strength_label->setValue(*s.chroma_key_strength); + tie_setting(s.chroma_key_overexposed, ui.chroma_key_overexposed); - connect(ui.blob_color, &QComboBox::currentTextChanged, this, &TrackerDialog_PT::chroma_key_overexp_enable); - chroma_key_overexp_enable(""); + connect(ui.blob_color, &QComboBox::currentTextChanged, this, &TrackerDialog_PT::chroma_key_controls_enable); + + chroma_key_controls_enable(""); tie_setting(s.threshold_slider, ui.threshold_value_display, [this](const slider_value& val) { return threshold_display_text(int(val)); @@ -252,16 +258,18 @@ void TrackerDialog_PT::show_camera_settings() (void)video::show_dialog(s.camera_name); } -void TrackerDialog_PT::chroma_key_overexp_enable(const QString&) +void TrackerDialog_PT::chroma_key_controls_enable(const QString&) { + bool enabled = false; QVariant data = ui.blob_color->currentData(); - if (!data.isValid()) - ui.chroma_key_overexposed->setEnabled(false); - else + if (data.isValid()) { pt_color_type blob_color = pt_color_type(data.toInt()); - ui.chroma_key_overexposed->setEnabled(blob_color >= pt_color_red_chromakey && blob_color <= pt_color_magenta_chromakey); + enabled = blob_color >= pt_color_red_chromakey && blob_color <= pt_color_magenta_chromakey; } + ui.chroma_key_strength_slider->setEnabled(enabled); + ui.chroma_key_strength_label->setEnabled(enabled); + ui.chroma_key_overexposed->setEnabled(enabled); } void TrackerDialog_PT::trans_calib_step() |