diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2014-09-22 08:43:17 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2014-09-22 08:48:45 +0200 |
commit | 35d3f9b53f9ee409ef39621e5579699ebf2f645a (patch) | |
tree | 14ff750105ad2c16c356169656f2630107ea3994 | |
parent | 9e6dc13ee9cfc1743d11b8df336a020732560d3f (diff) |
only remove "no feed" image if tracker provides a video feed
-rw-r--r-- | facetracknoir/facetracknoir.cpp | 13 | ||||
-rw-r--r-- | facetracknoir/facetracknoir.h | 2 |
2 files changed, 9 insertions, 6 deletions
diff --git a/facetracknoir/facetracknoir.cpp b/facetracknoir/facetracknoir.cpp index 3f6d641e..eb9ece52 100644 --- a/facetracknoir/facetracknoir.cpp +++ b/facetracknoir/facetracknoir.cpp @@ -101,7 +101,7 @@ FaceTrackNoIR::FaceTrackNoIR(QWidget *parent) : ui.setupUi(this); setFixedSize(size()); ui.video_frame_label->setPixmap(no_feed_pixmap); - updateButtonState(false); + updateButtonState(false, false); _keyboard_shortcuts = 0; _curve_config = 0; @@ -278,7 +278,7 @@ void FaceTrackNoIR::loadSettings() { load_mappings(); } -void FaceTrackNoIR::updateButtonState(bool running) +void FaceTrackNoIR::updateButtonState(bool running, bool inertialp) { bool not_running = !running; ui.iconcomboProfile->setEnabled ( not_running ); @@ -290,7 +290,7 @@ void FaceTrackNoIR::updateButtonState(bool running) ui.cbxSecondTrackerSource->setEnabled(not_running); ui.btnStartTracker->setEnabled(not_running); ui.btnStopTracker->setEnabled(running); - ui.video_frame_label->setVisible(not_running); + ui.video_frame_label->setVisible(not_running || inertialp); } void FaceTrackNoIR::startTracker( ) { @@ -333,7 +333,10 @@ void FaceTrackNoIR::startTracker( ) { timUpdateHeadPose.start(50); - updateButtonState(true); + // NB check valid since SelectedLibraries ctor called + // trackers take care of layout state updates + const bool is_inertial = ui.video_frame->layout() == nullptr; + updateButtonState(true, is_inertial); } void FaceTrackNoIR::stopTracker( ) { @@ -381,7 +384,7 @@ void FaceTrackNoIR::stopTracker( ) { Libraries = NULL; } } - updateButtonState(false); + updateButtonState(false, false); } void FaceTrackNoIR::showHeadPose() { diff --git a/facetracknoir/facetracknoir.h b/facetracknoir/facetracknoir.h index f005a9c1..50f68825 100644 --- a/facetracknoir/facetracknoir.h +++ b/facetracknoir/facetracknoir.h @@ -118,7 +118,7 @@ private: void createIconGroupBox(); void loadSettings(); - void updateButtonState(bool running); + void updateButtonState(bool running, bool inertialp); QList<DynamicLibrary*> dlopen_filters; QList<DynamicLibrary*> dlopen_trackers; |