From c6aea2bbfa1834f4714dac07bcd7b2eed421883f Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Wed, 22 Nov 2023 15:12:17 +0100 Subject: [PATCH] fixes for compilation --- localization/rssguard_en.ts | 60 ++++++++++++++++---- src/librssguard/gui/reusable/mediaplayer.cpp | 37 +++++++++++- src/librssguard/gui/reusable/mediaplayer.h | 1 + 3 files changed, 87 insertions(+), 11 deletions(-) diff --git a/localization/rssguard_en.ts b/localization/rssguard_en.ts index 6796d6d63..5ea9502bc 100644 --- a/localization/rssguard_en.ts +++ b/localization/rssguard_en.ts @@ -4504,47 +4504,87 @@ Login tokens expiration: %2 - + + Cannot load media (missing codecs) + + + + + Unrecognized format + + + + + Network problem + + + + + Access denied + + + + + Service is missing + + + + + This is playlist + + + + + No errors + + + + + Unknown error + + + + No media - + Loading... - + Media loaded - + Media stalled - + Buffering... - + Loaded - + Ended - + Media is invalid - + Unknown @@ -5550,7 +5590,7 @@ Login tokens expiration: %2 QObject - + + %n other feeds. diff --git a/src/librssguard/gui/reusable/mediaplayer.cpp b/src/librssguard/gui/reusable/mediaplayer.cpp index 5c8f2bd35..7de1be1a0 100644 --- a/src/librssguard/gui/reusable/mediaplayer.cpp +++ b/src/librssguard/gui/reusable/mediaplayer.cpp @@ -103,7 +103,12 @@ void MediaPlayer::onDurationChanged(qint64 duration) { } void MediaPlayer::onErrorOccurred(QMediaPlayer::Error error, const QString& error_string) { - m_ui.m_lblStatus->setText(error_string); + if (error_string.isEmpty()) { + m_ui.m_lblStatus->setText(errorToString(error)); + } + else { + m_ui.m_lblStatus->setText(error_string); + } } void MediaPlayer::onAudioAvailable(bool available) { @@ -156,6 +161,36 @@ void MediaPlayer::onSeekableChanged(bool seekable) { } } +QString MediaPlayer::errorToString(QMediaPlayer::Error error) const { + switch (error) { + case QMediaPlayer::ResourceError: + return tr("Cannot load media (missing codecs)"); + + case QMediaPlayer::FormatError: + return tr("Unrecognized format"); + + case QMediaPlayer::NetworkError: + return tr("Network problem"); + + case QMediaPlayer::AccessDeniedError: + return tr("Access denied"); + +#if QT_VERSION_MAJOR == 5 + case QMediaPlayer::ServiceMissingError: + return tr("Service is missing"); + + case QMediaPlayer::MediaIsPlaylist: + return tr("This is playlist"); +#endif + + case QMediaPlayer::NoError: + return tr("No errors"); + + default: + return tr("Unknown error"); + } +} + float MediaPlayer::convertSliderVolume(int slider_volume) const { return slider_volume / 100.0f; } diff --git a/src/librssguard/gui/reusable/mediaplayer.h b/src/librssguard/gui/reusable/mediaplayer.h index 86ac83ae0..a2e61b8cd 100644 --- a/src/librssguard/gui/reusable/mediaplayer.h +++ b/src/librssguard/gui/reusable/mediaplayer.h @@ -64,6 +64,7 @@ class MediaPlayer : public TabContent { qint64 convertSliderProgress(int slider_progress) const; int convertToSliderProgress(qint64 player_progress) const; + QString errorToString(QMediaPlayer::Error error) const; QString mediaStatusToString(QMediaPlayer::MediaStatus status) const; void setupIcons();