Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 2e150f56 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

UI: Add a button to control MPV playback

parent 22decbc3
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!15Video playback with mpv
...@@ -281,6 +281,7 @@ MpvContainer::mpvPause() noexcept ...@@ -281,6 +281,7 @@ MpvContainer::mpvPause() noexcept
void void
MpvContainer::mpvTogglePlayback() noexcept MpvContainer::mpvTogglePlayback() noexcept
{ {
qDebug() << "MPV: Toggling the playback";
asyncCommand(AsyncCmdType::TogglePlayback, { "cycle", "pause", "up", nullptr }); asyncCommand(AsyncCmdType::TogglePlayback, { "cycle", "pause", "up", nullptr });
} }
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
#include "MpvContainer.hh" #include "MpvContainer.hh"
#include <QSlider> #include <QSlider>
#include <QVBoxLayout> #include <QHBoxLayout>
#include <QPushButton>
using namespace Vivy; using namespace Vivy;
...@@ -10,7 +11,9 @@ MpvControls::MpvControls(MpvContainer *passedContainer, QWidget *parent) noexcep ...@@ -10,7 +11,9 @@ MpvControls::MpvControls(MpvContainer *passedContainer, QWidget *parent) noexcep
: QWidget(parent) : QWidget(parent)
, mpv(passedContainer) , mpv(passedContainer)
{ {
auto *progressBar = new QSlider(this); auto *progressBar = new QSlider(this);
auto *togglePlaybackButton = new QPushButton("Pause", this); // Be default MPV is paused
progressBar->setTracking(false); progressBar->setTracking(false);
progressBar->setOrientation(Qt::Horizontal); progressBar->setOrientation(Qt::Horizontal);
...@@ -33,7 +36,15 @@ MpvControls::MpvControls(MpvContainer *passedContainer, QWidget *parent) noexcep ...@@ -33,7 +36,15 @@ MpvControls::MpvControls(MpvContainer *passedContainer, QWidget *parent) noexcep
timePosition = value; timePosition = value;
}); });
auto *centralLayout = new QVBoxLayout(this); connect(togglePlaybackButton, &QAbstractButton::clicked, mpv, &MpvContainer::mpvTogglePlayback);
centralLayout->addWidget(progressBar); connect(mpv, &MpvContainer::mpvPlaybackToggled, this,
[togglePlaybackButton](bool isPlay) noexcept -> void {
togglePlaybackButton->setText(isPlay ? QStringLiteral("Play")
: QStringLiteral("Pause"));
});
auto *centralLayout = new QHBoxLayout(this);
centralLayout->addWidget(togglePlaybackButton);
centralLayout->addWidget(progressBar, 1);
setLayout(centralLayout); setLayout(centralLayout);
} }
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter