#include <QHBoxLayout>
#include <QShowEvent>
#include <QToolButton>
-
-#include <KDialog>
-#include <KIcon>
+#include <QDialog>
+#include <QIcon>
#include <KIconLoader>
-#include <KUrl>
-#include <KLocale>
+#include <QUrl>
+#include <KLocalizedString>
class EmbeddedVideoPlayer : public Phonon::VideoWidget
{
+ Q_OBJECT
+
public:
- EmbeddedVideoPlayer(QWidget *parent = 0) :
+ EmbeddedVideoPlayer(QWidget *parent = nullptr) :
Phonon::VideoWidget(parent)
{
}
updateGeometry();
}
- virtual QSize sizeHint() const
+ QSize sizeHint() const override
{
return m_sizeHint.isValid() ? m_sizeHint : Phonon::VideoWidget::sizeHint();
}
PhononWidget::PhononWidget(QWidget *parent)
: QWidget(parent),
m_url(),
- m_playButton(0),
- m_stopButton(0),
- m_topLayout(0),
- m_media(0),
- m_seekSlider(0),
- m_audioOutput(0),
- m_videoPlayer(0)
+ m_playButton(nullptr),
+ m_stopButton(nullptr),
+ m_topLayout(nullptr),
+ m_media(nullptr),
+ m_seekSlider(nullptr),
+ m_audioOutput(nullptr),
+ m_videoPlayer(nullptr)
{
}
-void PhononWidget::setUrl(const KUrl &url)
+void PhononWidget::setUrl(const QUrl &url)
{
if (m_url != url) {
stop(); // emits playingStopped() signal
}
}
-KUrl PhononWidget::url() const
+QUrl PhononWidget::url() const
{
return m_url;
}
if (!m_topLayout) {
m_topLayout = new QVBoxLayout(this);
m_topLayout->setMargin(0);
- m_topLayout->setSpacing(KDialog::spacingHint());
+
QHBoxLayout *controlsLayout = new QHBoxLayout(this);
controlsLayout->setMargin(0);
controlsLayout->setSpacing(0);
m_playButton->setToolTip(i18n("play"));
m_playButton->setIconSize(buttonSize);
- m_playButton->setIcon(KIcon("media-playback-start"));
+ m_playButton->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-start")));
m_playButton->setAutoRaise(true);
connect(m_playButton, &QToolButton::clicked, this, &PhononWidget::play);
m_stopButton->setToolTip(i18n("stop"));
m_stopButton->setIconSize(buttonSize);
- m_stopButton->setIcon(KIcon("media-playback-stop"));
+ m_stopButton->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-stop")));
m_stopButton->setAutoRaise(true);
m_stopButton->hide();
connect(m_stopButton, &QToolButton::clicked, this, &PhononWidget::stop);
m_stopButton->show();
m_playButton->hide();
break;
+ case Phonon::StoppedState:
+ if (m_videoPlayer) {
+ m_videoPlayer->hide();
+ }
+ emit hasVideoChanged(false);
+ // fall through
default:
m_stopButton->hide();
m_playButton->show();
m_seekSlider->setMediaObject(m_media);
}
+ if (!m_videoPlayer) {
+ m_videoPlayer = new EmbeddedVideoPlayer(this);
+ m_topLayout->insertWidget(0, m_videoPlayer);
+ Phonon::createPath(m_media, m_videoPlayer);
+ applyVideoSize();
+ }
+
if (!m_audioOutput) {
m_audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this);
Phonon::createPath(m_media, m_audioOutput);
{
if (m_media) {
m_media->stop();
-
- m_stopButton->hide();
- m_playButton->show();
- }
-
- if (m_videoPlayer) {
- m_videoPlayer->hide();
}
-
- emit hasVideoChanged(false);
}
void PhononWidget::slotHasVideoChanged(bool hasVideo)
emit hasVideoChanged(hasVideo);
if (hasVideo) {
- if (!m_videoPlayer) {
- // Replay the media to apply path changes
- m_media->stop();
- m_videoPlayer = new EmbeddedVideoPlayer(this);
- m_topLayout->insertWidget(0, m_videoPlayer);
- Phonon::createPath(m_media, m_videoPlayer);
- m_media->play();
- }
- applyVideoSize();
m_videoPlayer->show();
}
}
m_videoPlayer->setSizeHint(m_videoSize);
}
}
+
+#include "phononwidget.moc"