diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2016-10-18 18:16:37 +0200 | 
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2016-10-19 14:46:30 +0200 | 
| commit | 17ff32c097eeb9ad786039c83e6845444957468f (patch) | |
| tree | c4682d34fe921ad06366376aab06690c4d8614dd | |
| parent | fda9c90a547a88861d167a1c37beb40bd457018c (diff) | |
tracker/pt: poll for tracker info only when it could change
| -rw-r--r-- | tracker-pt/ftnoir_tracker_pt_dialog.cpp | 16 | ||||
| -rw-r--r-- | tracker-pt/ftnoir_tracker_pt_dialog.h | 6 | 
2 files changed, 13 insertions, 9 deletions
| diff --git a/tracker-pt/ftnoir_tracker_pt_dialog.cpp b/tracker-pt/ftnoir_tracker_pt_dialog.cpp index df0da31a..6d49f1c2 100644 --- a/tracker-pt/ftnoir_tracker_pt_dialog.cpp +++ b/tracker-pt/ftnoir_tracker_pt_dialog.cpp @@ -62,7 +62,7 @@ TrackerDialog_PT::TrackerDialog_PT()      tie_setting(s.auto_threshold, ui.auto_threshold); -    connect( ui.tcalib_button,SIGNAL(toggled(bool)), this,SLOT(startstop_trans_calib(bool)) ); +    connect( ui.tcalib_button,SIGNAL(toggled(bool)), this,SLOT(startstop_trans_calib(bool)));      connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(doOK()));      connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(doCancel())); @@ -71,13 +71,15 @@ TrackerDialog_PT::TrackerDialog_PT()      set_camera_settings_available(ui.camdevice_combo->currentText());      connect(ui.camera_settings, &QPushButton::clicked, this, &TrackerDialog_PT::show_camera_settings); -    connect(&timer,SIGNAL(timeout()), this,SLOT(poll_tracker_info())); -    timer.start(250); +    connect(&timer, &QTimer::timeout, this, &TrackerDialog_PT::poll_tracker_info_impl); +    timer.setInterval(250);      connect(&calib_timer, &QTimer::timeout, this, &TrackerDialog_PT::trans_calib_step);      calib_timer.setInterval(100); -    poll_tracker_info(); +    poll_tracker_info_impl(); + +    connect(this, &TrackerDialog_PT::poll_tracker_info, this, &TrackerDialog_PT::poll_tracker_info_impl, Qt::QueuedConnection);  }  void TrackerDialog_PT::startstop_trans_calib(bool start) @@ -193,13 +195,15 @@ void TrackerDialog_PT::register_tracker(ITracker *t)  {      tracker = static_cast<Tracker_PT*>(t);      ui.tcalib_button->setEnabled(true); -    //ui.center_button->setEnabled(true); +    poll_tracker_info(); +    timer.start();  }  void TrackerDialog_PT::unregister_tracker()  {      tracker = NULL;      ui.tcalib_button->setEnabled(false); -    //ui.center_button->setEnabled(false); +    poll_tracker_info(); +    timer.stop();  } diff --git a/tracker-pt/ftnoir_tracker_pt_dialog.h b/tracker-pt/ftnoir_tracker_pt_dialog.h index e6b1cf30..2932252c 100644 --- a/tracker-pt/ftnoir_tracker_pt_dialog.h +++ b/tracker-pt/ftnoir_tracker_pt_dialog.h @@ -31,15 +31,15 @@ public slots:      void startstop_trans_calib(bool start);      void trans_calib_step(); -    void poll_tracker_info(); +    void poll_tracker_info_impl();      void set_camera_settings_available(const QString& camera_name);      void show_camera_settings(); - +signals: +    void poll_tracker_info();  private:      settings_pt s;      Tracker_PT* tracker;      QTimer timer, calib_timer; -      TranslationCalibrator trans_calib;      Ui::UICPTClientControls ui; | 
