diff --git a/src/audiomanager.cpp b/src/audiomanager.cpp
index 35449be4..870f4afa 100644
--- a/src/audiomanager.cpp
+++ b/src/audiomanager.cpp
@@ -181,6 +181,7 @@ QMediaPlayer::MediaStatus AudioManager::status() const
void AudioManager::setEntry(Entry *entry)
{
d->m_lockPositionSaving = true;
+ bool continuePlayback = false;
// First check if the previous track needs to be marked as read
// TODO: make grace time a setting in SettingsManager
@@ -193,6 +194,7 @@ void AudioManager::setEntry(Entry *entry)
d->m_entry->setRead(true);
d->m_entry->enclosure()->setPlayPosition(0);
d->m_entry->setQueueStatus(false); // i.e. remove from queue TODO: make this a choice in settings
+ continuePlayback = SettingsManager::self()->continuePlayingNextEntry();
}
}
@@ -233,6 +235,7 @@ void AudioManager::setEntry(Entry *entry)
d->m_entry->enclosure()->setDuration(d->m_player.duration() / 1000);
// qDebug() << "Correcting duration of" << d->m_entry->id() << "to" << d->m_player.duration()/1000;
}
+ if (continuePlayback) play();
} else {
DataManager::instance().setLastPlayingEntry(QStringLiteral("none"));
d->m_entry = nullptr;
diff --git a/src/qml/SettingsPage.qml b/src/qml/SettingsPage.qml
index 0ee777f3..d8a7c923 100644
--- a/src/qml/SettingsPage.qml
+++ b/src/qml/SettingsPage.qml
@@ -19,6 +19,19 @@ Kirigami.ScrollablePage {
Kirigami.FormLayout {
+ Kirigami.Heading {
+ Kirigami.FormData.isSection: true
+
+ text: i18n("Play Settings")
+ }
+
+ Controls.CheckBox {
+ id: continuePlayingNextEntry
+ checked: SettingsManager.continuePlayingNextEntry
+ text: i18n("Continue playing next episode after current one finishes")
+ onToggled: SettingsManager.continuePlayingNextEntry = checked
+ }
+
Kirigami.Heading {
Kirigami.FormData.isSection: true
text: i18n("Queue Settings")
@@ -59,6 +72,7 @@ Kirigami.ScrollablePage {
text: i18n("Appearance")
}
+
Controls.CheckBox {
id: alwaysShowFeedTitles
checked: SettingsManager.alwaysShowFeedTitles
@@ -91,4 +105,4 @@ Kirigami.ScrollablePage {
onToggled: SettingsManager.articleFontUseSystem = checked
}
}
-}
+}
\ No newline at end of file
diff --git a/src/settingsmanager.kcfg b/src/settingsmanager.kcfg
index 83390996..6dca4c99 100644
--- a/src/settingsmanager.kcfg
+++ b/src/settingsmanager.kcfg
@@ -5,6 +5,14 @@
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+
+
+ false
+
+
+
+ true
+
false
@@ -17,10 +25,6 @@
false
-
-
- false
-
false