chatgui: автозакрытие видеоплеера по завершении воспроизведения

This commit is contained in:
evgeny committed 2026-09-08 20:02:37 +03:00
1 parent 73e81032bc
commit c94acd892e
2 files changed
+9 -1

No files matched your search

+8 -1
View File
@@ -101,6 +101,7 @@ VideoPlayerWindow::VideoPlayerWindow(QWidget* parent)
m_playBtn = new QPushButton(QStringLiteral("⏸"), m_controls);
m_playBtn->setToolTip(QStringLiteral("Пауза"));
m_playBtn->setFixedWidth(40);
m_slider = new QSlider(Qt::Horizontal, m_controls);
m_slider->setStyle(new SeekSliderStyle());
m_slider->setRange(0, 0);
@@ -137,6 +138,7 @@ VideoPlayerWindow::VideoPlayerWindow(QWidget* parent)
connect(m_engine, &VideoPlayerEngine::stateChanged, this, &VideoPlayerWindow::onStateChanged);
connect(m_engine, &VideoPlayerEngine::error, this, &VideoPlayerWindow::onError);
connect(m_engine, &VideoPlayerEngine::framePresented, this, &VideoPlayerWindow::onFramePresented);
connect(m_engine, &VideoPlayerEngine::finished, this, &VideoPlayerWindow::onFinished);
resize(640, 360);
}
@@ -233,6 +235,11 @@ void VideoPlayerWindow::onClose() {
close();
}
void VideoPlayerWindow::onFinished() {
DEBUG_INFO(DEBUG_CATEGORY_VIDEO, "VideoWindow: playback finished, closing");
onClose();
}
void VideoPlayerWindow::toggleFullscreen() {
if (m_fullscreen) {
showNormal();
@@ -386,7 +393,7 @@ void VideoPlayerWindow::resizeEvent(QResizeEvent* e) {
int ch = 48;
m_controls->setGeometry(0, height() - ch, width(), ch);
m_controls->raise();
m_closeBtn->setGeometry(width() - 40, 8, 32, 32);
m_closeBtn->setGeometry(width() - 48, 8, 40, 32);
m_closeBtn->raise();
}
+1
View File
@@ -59,6 +59,7 @@ private slots:
void onSliderReleased();
void onPlayPause();
void onClose();
void onFinished();
void showControls();
void hideControls();