Add setting for closing player after playing last item (fix #98)

This commit is contained in:
Arkadiusz Fal
2022-06-25 15:14:16 +02:00
parent c6f94399e5
commit ec58cc1d4a
7 changed files with 44 additions and 20 deletions

View File

@@ -63,6 +63,7 @@ extension Defaults.Keys {
static let commentsPlacement = Key<CommentsPlacement>("commentsPlacement", default: .separate)
#endif
static let pauseOnHidingPlayer = Key<Bool>("pauseOnHidingPlayer", default: defaultForPauseOnHidingPlayer)
static let closeLastItemOnPlaybackEnd = Key<Bool>("closeLastItemOnPlaybackEnd", default: false)
static let closePiPOnNavigation = Key<Bool>("closePiPOnNavigation", default: false)
static let closePiPOnOpeningPlayer = Key<Bool>("closePiPOnOpeningPlayer", default: false)
@@ -98,8 +99,6 @@ extension Defaults.Keys {
static let showMPVPlaybackStats = Key<Bool>("showMPVPlaybackStats", default: false)
static let playerDetailsPageButtonLabelStyle = Key<PlayerDetailsPageButtonLabelStyle>("playerDetailsPageButtonLabelStyle", default: defaultForPlayerDetailsPageButtonLabelStyle)
static let controlsBarInPlayer = Key<Bool>("controlsBarInPlayer", default: true)
}
enum ResolutionSetting: String, CaseIterable, Defaults.Serializable {

View File

@@ -43,7 +43,6 @@ struct VideoDetails: View {
@Default(.showKeywords) private var showKeywords
@Default(.playerDetailsPageButtonLabelStyle) private var playerDetailsPageButtonLabelStyle
@Default(.controlsBarInPlayer) private var controlsBarInPlayer
var currentPage: DetailsPage {
DetailsPage.allCases.first { $0.index == page.index } ?? .info

View File

@@ -15,6 +15,7 @@ struct PlayerSettings: View {
@Default(.showHistoryInPlayer) private var showHistory
@Default(.showKeywords) private var showKeywords
@Default(.pauseOnHidingPlayer) private var pauseOnHidingPlayer
@Default(.closeLastItemOnPlaybackEnd) private var closeLastItemOnPlaybackEnd
#if os(iOS)
@Default(.honorSystemOrientationLock) private var honorSystemOrientationLock
@Default(.lockOrientationInFullScreen) private var lockOrientationInFullScreen
@@ -62,6 +63,7 @@ struct PlayerSettings: View {
sourcePicker
qualityPicker
pauseOnHidingPlayerToggle
closeLastItemOnPlaybackEndToggle
}
Section(header: SettingsHeader(text: "Comments")) {
@@ -209,6 +211,10 @@ struct PlayerSettings: View {
Toggle("Pause when player is closed", isOn: $pauseOnHidingPlayer)
}
private var closeLastItemOnPlaybackEndToggle: some View {
Toggle("Close video after playing last in the queue", isOn: $closeLastItemOnPlaybackEnd)
}
#if os(iOS)
private var honorSystemOrientationLockToggle: some View {
Toggle("Honor orientation lock", isOn: $honorSystemOrientationLock)