From c4466c2cb9dfb77923a959e4faf6a5b61576382e Mon Sep 17 00:00:00 2001 From: Ethan Pippin Date: Thu, 30 Dec 2021 14:03:29 -0700 Subject: [PATCH] allow edit jump forward and backward during playback --- .../VLCPlayerCompactOverlayView.swift | 38 +++++++++++++++++++ Shared/Objects/VideoPlayerJumpLength.swift | 4 ++ 2 files changed, 42 insertions(+) diff --git a/JellyfinPlayer/Views/VideoPlayer/Overlays/VLCPlayerCompactOverlayView.swift b/JellyfinPlayer/Views/VideoPlayer/Overlays/VLCPlayerCompactOverlayView.swift index 544af8df..f0fe74a0 100644 --- a/JellyfinPlayer/Views/VideoPlayer/Overlays/VLCPlayerCompactOverlayView.swift +++ b/JellyfinPlayer/Views/VideoPlayer/Overlays/VLCPlayerCompactOverlayView.swift @@ -176,6 +176,44 @@ struct VLCPlayerCompactOverlayView: View, VideoPlayerOverlay { Text("Playback Speed") } } + + Menu { + ForEach(VideoPlayerJumpLength.allCases, id: \.self) { forwardLength in + Button { + jumpForwardLength = forwardLength + } label: { + if forwardLength == jumpForwardLength { + Label(forwardLength.shortLabel, systemImage: "checkmark") + } else { + Text(forwardLength.shortLabel) + } + } + } + } label: { + HStack { + Image(systemName: "goforward") + Text("Jump Forward Length") + } + } + + Menu { + ForEach(VideoPlayerJumpLength.allCases, id: \.self) { backwardLength in + Button { + jumpBackwardLength = backwardLength + } label: { + if backwardLength == jumpBackwardLength { + Label(backwardLength.shortLabel, systemImage: "checkmark") + } else { + Text(backwardLength.shortLabel) + } + } + } + } label: { + HStack { + Image(systemName: "gobackward") + Text("Jump Backward Length") + } + } } label: { Image(systemName: "ellipsis.circle") diff --git a/Shared/Objects/VideoPlayerJumpLength.swift b/Shared/Objects/VideoPlayerJumpLength.swift index 2d660cd4..84b1ab73 100644 --- a/Shared/Objects/VideoPlayerJumpLength.swift +++ b/Shared/Objects/VideoPlayerJumpLength.swift @@ -20,6 +20,10 @@ enum VideoPlayerJumpLength: Int32, CaseIterable, Defaults.Serializable { return "\(self.rawValue) seconds" } + var shortLabel: String { + return "\(self.rawValue)s" + } + var forwardImageLabel: String { switch self { case .thirty: