|
|
|
@ -17,20 +17,16 @@ inline QString formatTime(int seconds) { |
|
|
|
|
return QDateTime::fromTime_t(seconds).toString(seconds > 60 * 60 ? "hh:mm:ss" : "mm:ss"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
VideoWidget::VideoWidget(QWidget *parent) : QFrame(parent) { |
|
|
|
|
setFrameShape(QFrame::StyledPanel); |
|
|
|
|
setFrameShadow(QFrame::Sunken); |
|
|
|
|
QHBoxLayout *containter_layout = new QHBoxLayout(this); |
|
|
|
|
QVBoxLayout *main_layout = new QVBoxLayout(); |
|
|
|
|
main_layout->setContentsMargins(0, 0, 0, 0); |
|
|
|
|
VideoWidget::VideoWidget(QWidget *parent) : QWidget(parent) { |
|
|
|
|
QVBoxLayout *main_layout = new QVBoxLayout(this); |
|
|
|
|
QFrame *frame = new QFrame(this); |
|
|
|
|
frame->setFrameShape(QFrame::StyledPanel); |
|
|
|
|
frame->setFrameShadow(QFrame::Sunken); |
|
|
|
|
main_layout->addWidget(frame); |
|
|
|
|
|
|
|
|
|
containter_layout->addStretch(1); |
|
|
|
|
containter_layout->addLayout(main_layout); |
|
|
|
|
containter_layout->addStretch(1); |
|
|
|
|
|
|
|
|
|
cam_widget = new CameraWidget("camerad", can->visionStreamType(), false, this); |
|
|
|
|
cam_widget->setFixedSize(parent->width(), parent->width() / 1.596); |
|
|
|
|
main_layout->addWidget(cam_widget); |
|
|
|
|
QVBoxLayout *frame_layout = new QVBoxLayout(frame); |
|
|
|
|
cam_widget = new CameraWidget("camerad", can->visionStreamType(), false); |
|
|
|
|
frame_layout->addWidget(cam_widget); |
|
|
|
|
|
|
|
|
|
// slider controls
|
|
|
|
|
QHBoxLayout *slider_layout = new QHBoxLayout(); |
|
|
|
@ -43,7 +39,7 @@ VideoWidget::VideoWidget(QWidget *parent) : QFrame(parent) { |
|
|
|
|
|
|
|
|
|
end_time_label = new QLabel(this); |
|
|
|
|
slider_layout->addWidget(end_time_label); |
|
|
|
|
main_layout->addLayout(slider_layout); |
|
|
|
|
frame_layout->addLayout(slider_layout); |
|
|
|
|
|
|
|
|
|
// btn controls
|
|
|
|
|
QHBoxLayout *control_layout = new QHBoxLayout(); |
|
|
|
@ -61,7 +57,11 @@ VideoWidget::VideoWidget(QWidget *parent) : QFrame(parent) { |
|
|
|
|
group->addButton(btn); |
|
|
|
|
if (speed == 1.0) btn->setChecked(true); |
|
|
|
|
} |
|
|
|
|
main_layout->addLayout(control_layout); |
|
|
|
|
frame_layout->addLayout(control_layout); |
|
|
|
|
|
|
|
|
|
cam_widget->setMinimumHeight(100); |
|
|
|
|
cam_widget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding); |
|
|
|
|
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum); |
|
|
|
|
|
|
|
|
|
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)); }); |
|
|
|
|