diff --git a/tools/cabana/videowidget.cc b/tools/cabana/videowidget.cc index 9e2129afaf..b6fe8de3e2 100644 --- a/tools/cabana/videowidget.cc +++ b/tools/cabana/videowidget.cc @@ -5,7 +5,6 @@ #include #include #include -#include #include #include #include @@ -39,9 +38,9 @@ VideoWidget::VideoWidget(QWidget *parent) : QWidget(parent) { // btn controls QHBoxLayout *control_layout = new QHBoxLayout(); - QPushButton *play = new QPushButton("⏸"); - play->setStyleSheet("font-weight:bold"); - control_layout->addWidget(play); + play_btn = new QPushButton("⏸"); + play_btn->setStyleSheet("font-weight:bold"); + control_layout->addWidget(play_btn); QButtonGroup *group = new QButtonGroup(this); group->setExclusive(true); @@ -61,11 +60,13 @@ VideoWidget::VideoWidget(QWidget *parent) : QWidget(parent) { QObject::connect(can, &CANMessages::updated, this, &VideoWidget::updateState); QObject::connect(slider, &QSlider::sliderReleased, [this]() { can->seekTo(slider->value() / 1000.0); }); QObject::connect(slider, &QSlider::valueChanged, [=](int value) { time_label->setText(formatTime(value / 1000)); }); - QObject::connect(play, &QPushButton::clicked, [=]() { - bool is_paused = can->isPaused(); - play->setText(is_paused ? "⏸" : "▶"); - can->pause(!is_paused); - }); + QObject::connect(cam_widget, &CameraViewWidget::clicked, [this]() { pause(!can->isPaused()); }); + QObject::connect(play_btn, &QPushButton::clicked, [=]() { pause(!can->isPaused()); }); +} + +void VideoWidget::pause(bool pause) { + play_btn->setText(!pause ? "⏸" : "▶"); + can->pause(pause); } void VideoWidget::rangeChanged(double min, double max) { diff --git a/tools/cabana/videowidget.h b/tools/cabana/videowidget.h index e80e3b48f9..fd896f1e11 100644 --- a/tools/cabana/videowidget.h +++ b/tools/cabana/videowidget.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include @@ -29,8 +30,10 @@ public: protected: void rangeChanged(double min, double max); void updateState(); + void pause(bool pause); CameraViewWidget *cam_widget; QLabel *end_time_label; + QPushButton *play_btn; Slider *slider; };