Akku-Popover: der Ladezustand steht neben dem Ring, nicht darunter
„Am Netzteil" stand rechts vom Ring, „Am Netz, lädt nicht" darunter — zweimal dieselbe Auskunft an zwei Stellen. Und die zweite stand allein unter dem Diagramm, wo sie aussah, als gehörte sie zu dessen Beschriftung. Jetzt steht beides neben dem Ring: die Schätzung und darunter der Grund dafür. Am Netz entfällt die Ersatzzeile „Am Netzteil" ganz — die Zeile darunter sagt ohnehin, was los ist. Im Akkubetrieb ohne Schätzung bleibt „wird berechnet". Dazu: der Rücksetzknopf im Mixer schaltet den Overdrive mit ab. Er ist keine eigene Einstellung, sondern die Freigabe für einen Wert, den es danach nicht mehr gibt — bliebe er stehen, zeigte die Zeile 100 % und der Regler stünde trotzdem im Boost-Bereich. Der Knopf erscheint deshalb auch, wenn nur der Overdrive an ist. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -240,8 +240,15 @@ private struct ProcessRow: View {
|
|||||||
@ViewBuilder
|
@ViewBuilder
|
||||||
private var resetButton: some View {
|
private var resetButton: some View {
|
||||||
Group {
|
Group {
|
||||||
if managed, abs(volume - 1) > 0.001 {
|
if managed, abs(volume - 1) > 0.001 || overdriven {
|
||||||
Button { mixer.setVolume(1, for: group.bundleID) } label: {
|
Button {
|
||||||
|
// Der Overdrive geht mit zurück: er ist keine eigene
|
||||||
|
// Einstellung, sondern die Freigabe für einen Wert, den es
|
||||||
|
// danach nicht mehr gibt. Bliebe er stehen, zeigte die Zeile
|
||||||
|
// 100 % und der Regler stünde trotzdem im Boost-Bereich.
|
||||||
|
mixer.setOverdrive(false, for: group.bundleID)
|
||||||
|
mixer.setVolume(1, for: group.bundleID)
|
||||||
|
} label: {
|
||||||
Image(systemName: "arrow.counterclockwise")
|
Image(systemName: "arrow.counterclockwise")
|
||||||
.font(.system(size: 9, weight: .medium))
|
.font(.system(size: 9, weight: .medium))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -250,6 +250,11 @@ private struct BatteryDetail: View {
|
|||||||
text: MetricFormat.percent(battery.charge),
|
text: MetricFormat.percent(battery.charge),
|
||||||
tint: battery.isCharging ? .green
|
tint: battery.isCharging ? .green
|
||||||
: (battery.charge < 0.2 ? .red : .accentColor))
|
: (battery.charge < 0.2 ? .red : .accentColor))
|
||||||
|
// Beides gehört neben den Ring: die Schätzung und der Grund
|
||||||
|
// dafür. „Am Netzteil" über dem Ring und „Am Netz, lädt nicht"
|
||||||
|
// darunter waren zweimal dieselbe Auskunft an zwei Stellen —
|
||||||
|
// und die zweite stand allein unter dem Diagramm, wo sie
|
||||||
|
// aussah, als gehörte sie zu dessen Beschriftung.
|
||||||
VStack(alignment: .leading, spacing: 4) {
|
VStack(alignment: .leading, spacing: 4) {
|
||||||
if let remaining = battery.timeRemaining {
|
if let remaining = battery.timeRemaining {
|
||||||
Text(duration(remaining)).font(.title3.monospacedDigit())
|
Text(duration(remaining)).font(.title3.monospacedDigit())
|
||||||
@@ -257,19 +262,21 @@ private struct BatteryDetail: View {
|
|||||||
: "popover.battery.remaining",
|
: "popover.battery.remaining",
|
||||||
bundle: .module)
|
bundle: .module)
|
||||||
.font(.caption).foregroundStyle(.secondary)
|
.font(.caption).foregroundStyle(.secondary)
|
||||||
} else {
|
} else if !battery.isPluggedIn {
|
||||||
Text(battery.isPluggedIn ? "popover.battery.pluggedIn"
|
// Am Netz braucht es keine Entschuldigung für die
|
||||||
: "popover.battery.calculating",
|
// fehlende Schätzung — die Zeile darunter sagt ohnehin,
|
||||||
bundle: .module)
|
// was los ist.
|
||||||
|
Text("popover.battery.calculating", bundle: .module)
|
||||||
.font(.callout).foregroundStyle(.secondary)
|
.font(.callout).foregroundStyle(.secondary)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Was gerade geschieht, in Worten. „Am Netz" allein
|
||||||
|
// beantwortet die Frage nicht, die man hat, wenn der
|
||||||
|
// Ladestand stehen bleibt.
|
||||||
|
activityLine(battery)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Was gerade geschieht, in Worten. „Am Netz" allein beantwortet die
|
|
||||||
// Frage nicht, die man hat, wenn der Ladestand stehen bleibt.
|
|
||||||
activityLine(battery)
|
|
||||||
|
|
||||||
// Das Ladelimit steht hier und nicht in den Einstellungen: es ist
|
// Das Ladelimit steht hier und nicht in den Einstellungen: es ist
|
||||||
// eine Akkusache, und man greift danach, während man auf den
|
// eine Akkusache, und man greift danach, während man auf den
|
||||||
// Ladestand schaut.
|
// Ladestand schaut.
|
||||||
|
|||||||
Reference in New Issue
Block a user