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:
Scarriffle
2026-08-13 18:05:20 +02:00
parent ed8b095377
commit e732394c6c
2 changed files with 24 additions and 10 deletions

View File

@@ -240,8 +240,15 @@ private struct ProcessRow: View {
@ViewBuilder
private var resetButton: some View {
Group {
if managed, abs(volume - 1) > 0.001 {
Button { mixer.setVolume(1, for: group.bundleID) } label: {
if managed, abs(volume - 1) > 0.001 || overdriven {
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")
.font(.system(size: 9, weight: .medium))
}

View File

@@ -250,6 +250,11 @@ private struct BatteryDetail: View {
text: MetricFormat.percent(battery.charge),
tint: battery.isCharging ? .green
: (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) {
if let remaining = battery.timeRemaining {
Text(duration(remaining)).font(.title3.monospacedDigit())
@@ -257,18 +262,20 @@ private struct BatteryDetail: View {
: "popover.battery.remaining",
bundle: .module)
.font(.caption).foregroundStyle(.secondary)
} else {
Text(battery.isPluggedIn ? "popover.battery.pluggedIn"
: "popover.battery.calculating",
bundle: .module)
} else if !battery.isPluggedIn {
// Am Netz braucht es keine Entschuldigung für die
// fehlende Schätzung die Zeile darunter sagt ohnehin,
// was los ist.
Text("popover.battery.calculating", bundle: .module)
.font(.callout).foregroundStyle(.secondary)
}
}
}
// Was gerade geschieht, in Worten. Am Netz" allein beantwortet die
// Frage nicht, die man hat, wenn der Ladestand stehen bleibt.
// 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
// eine Akkusache, und man greift danach, während man auf den