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; | 
