Minor quality profiles UI improvements (fix #272)

This commit is contained in:
Arkadiusz Fal 2022-08-21 16:28:30 +02:00
parent 59632e8330
commit 7cbb80847a
3 changed files with 21 additions and 5 deletions

View File

@ -108,6 +108,16 @@ class Stream: Equatable, Hashable, Identifiable {
lhs.sortOrder < rhs.sortOrder
}
var description: String {
switch self {
case .webm:
return "WebM"
default:
return rawValue.uppercased()
}
}
static func from(_ string: String) -> Self {
let lowercased = string.lowercased()
@ -172,8 +182,13 @@ class Stream: Equatable, Hashable, Identifiable {
}
var description: String {
let formatString = format == .unknown ? "" : " (\(format.rawValue))"
return "\(quality)\(formatString) - \(instance?.description ?? "")"
let instanceString = instance.isNil ? "" : " - (\(instance!.description))"
return "\(resolutionAndFormat)\(instanceString)"
}
var resolutionAndFormat: String {
let formatString = format == .unknown ? "" : " (\(format.description))"
return "\(quality)\(formatString)"
}
var assets: [AVURLAsset] {

View File

@ -245,7 +245,7 @@ struct ControlsOverlay: View {
Menu {
qualityProfilePicker
} label: {
Text(player.qualityProfileSelection?.description ?? "Auto")
Text(player.qualityProfileSelection?.description ?? "Automatic")
.frame(maxWidth: 240)
}
.transaction { t in t.animation = .none }
@ -259,7 +259,7 @@ struct ControlsOverlay: View {
Button {
presentingButtonHintAlert = true
} label: {
Text(player.qualityProfileSelection?.description ?? "Auto")
Text(player.qualityProfileSelection?.description ?? "Automatic")
.lineLimit(1)
.frame(maxWidth: 320)
}
@ -298,7 +298,7 @@ struct ControlsOverlay: View {
Menu {
StreamControl()
} label: {
Text(player.streamSelection?.shortQuality ?? "loading")
Text(player.streamSelection?.resolutionAndFormat ?? "loading")
.frame(width: 140, height: 40)
.foregroundColor(.primary)
}

View File

@ -92,5 +92,6 @@ struct StreamControl: View {
struct StreamControl_Previews: PreviewProvider {
static var previews: some View {
StreamControl()
.injectFixtureEnvironmentObjects()
}
}