cleanup Views

This commit is contained in:
2026-07-12 00:47:26 +02:00
parent 34fc5a4c0d
commit 2b1f94f220
8 changed files with 22 additions and 22 deletions
+2 -2
View File
@@ -2,14 +2,14 @@ import AppKit
@MainActor @MainActor
final class AppDelegate: NSObject, NSApplicationDelegate { final class AppDelegate: NSObject, NSApplicationDelegate {
var barController: PHController! var barController: BarController!
var window: BarWindow! var window: BarWindow!
private var observers: [IPCObserver] = [] private var observers: [IPCObserver] = []
init(config: PHConfig, screen: NSScreen, theme: PHTheme, blocks: [PHBlock], debug: Bool = false) { init(config: PHConfig, screen: NSScreen, theme: PHTheme, blocks: [PHBlock], debug: Bool = false) {
super.init() super.init()
self.barController = PHController(config: config, screen: screen, theme: theme, blocks: blocks) self.barController = BarController(config: config, screen: screen, theme: theme, blocks: blocks)
barController.debug = debug barController.debug = debug
} }
@@ -1,6 +1,6 @@
import AppKit import AppKit
final class BarWindowBackground: NSView { final class BackgroundView: NSView {
var hasShadow: Bool { var hasShadow: Bool {
didSet { configureShadow() } didSet { configureShadow() }
} }
@@ -9,7 +9,7 @@ final class BarWindowBackground: NSView {
didSet { configureBlur() } didSet { configureBlur() }
} }
init(controller: PHController) { init(controller: BarController) {
self.hasShadow = controller.theme.window.hasShadow self.hasShadow = controller.theme.window.hasShadow
self.blur = controller.theme.window.blur self.blur = controller.theme.window.blur
super.init(frame: .zero) super.init(frame: .zero)
@@ -1,7 +1,7 @@
import SwiftUI import SwiftUI
@MainActor @MainActor
final class PHController: ObservableObject { final class BarController: ObservableObject {
let config: PHConfig let config: PHConfig
let screen: NSScreen let screen: NSScreen
let theme: PHTheme let theme: PHTheme
@@ -36,7 +36,7 @@ final class PHController: ObservableObject {
// Style // Style
extension PHController { extension BarController {
func style(for block: PHBlock) -> PHThemeStyle { func style(for block: PHBlock) -> PHThemeStyle {
guard let style = theme.styles.first(where: { $0.name == block.styleName }) else { guard let style = theme.styles.first(where: { $0.name == block.styleName }) else {
guard let defaultStyle = theme.styles.first(where: { $0.name == "default" }) else { guard let defaultStyle = theme.styles.first(where: { $0.name == "default" }) else {
@@ -50,7 +50,7 @@ extension PHController {
// Refresh // Refresh
extension PHController { extension BarController {
/// Start auto-refresh for every block. /// Start auto-refresh for every block.
func startAutoRefresh() { func startAutoRefresh() {
for block in blocks { for block in blocks {
+6 -6
View File
@@ -1,9 +1,9 @@
import SwiftUI import SwiftUI
struct BarView: View { struct BarView: View {
@StateObject private var bar: PHController @StateObject private var bar: BarController
init(controller: PHController) { init(controller: BarController) {
self._bar = StateObject(wrappedValue: controller) self._bar = StateObject(wrappedValue: controller)
} }
@@ -13,9 +13,9 @@ struct BarView: View {
ForEach(bar.arrangedBlocks) { block in ForEach(bar.arrangedBlocks) { block in
switch block.kind { switch block.kind {
case .text: case .text:
TextBlock(block: block) TextBlockView(block: block)
case .space: case .space:
SpaceBlock(block: block) SpaceBlockView(block: block)
} }
} }
} }
@@ -24,9 +24,9 @@ struct BarView: View {
ForEach(bar.centeredBlocks) { block in ForEach(bar.centeredBlocks) { block in
switch block.kind { switch block.kind {
case .text: case .text:
TextBlock(block: block) TextBlockView(block: block)
case .space: case .space:
SpaceBlock(block: block) SpaceBlockView(block: block)
} }
} }
} }
+5 -5
View File
@@ -2,12 +2,12 @@ import AppKit
import SwiftUI import SwiftUI
final class BarWindow: NSPanel { final class BarWindow: NSPanel {
let barController: PHController let barController: BarController
var backgroundView: BarWindowBackground! var backgroundView: BackgroundView!
var barView: NSHostingView<BarView>! var barView: NSHostingView<BarView>!
init(controller: PHController) { init(controller: BarController) {
self.barController = controller self.barController = controller
super.init( super.init(
@@ -32,7 +32,7 @@ final class BarWindow: NSPanel {
self.isRestorable = false self.isRestorable = false
self.displaysWhenScreenProfileChanges = true self.displaysWhenScreenProfileChanges = true
self.backgroundView = BarWindowBackground(controller: barController) self.backgroundView = BackgroundView(controller: barController)
backgroundView.autoresizingMask = [.width, .height] backgroundView.autoresizingMask = [.width, .height]
backgroundView.frame = self.contentView?.bounds ?? .zero backgroundView.frame = self.contentView?.bounds ?? .zero
@@ -47,7 +47,7 @@ final class BarWindow: NSPanel {
extension BarWindow { extension BarWindow {
/// Calculate window frame and position. /// Calculate window frame and position.
static func computeFrame(from controller: PHController) -> NSRect { static func computeFrame(from controller: BarController) -> NSRect {
let screenFrame = controller.screen.frame let screenFrame = controller.screen.frame
let height: CGFloat = 30 let height: CGFloat = 30
let x = screenFrame.minX let x = screenFrame.minX
@@ -1,6 +1,6 @@
import SwiftUI import SwiftUI
struct SpaceBlock: View { struct SpaceBlockView: View {
@ObservedObject var block: PHBlock @ObservedObject var block: PHBlock
var width: CGFloat? { var width: CGFloat? {
@@ -1,7 +1,7 @@
import SwiftUI import SwiftUI
struct TextBlock: View { struct TextBlockView: View {
@EnvironmentObject private var bar: PHController @EnvironmentObject private var bar: BarController
@ObservedObject var block: PHBlock @ObservedObject var block: PHBlock
@State var hovering = false @State var hovering = false
+1 -1
View File
@@ -422,7 +422,7 @@ private final class FakeEventSource: PHEventSource {
let config = try PHConfig.load() let config = try PHConfig.load()
let theme = try PHTheme.load("voltage") let theme = try PHTheme.load("voltage")
let controller = PHController(config: config, screen: screen, theme: theme, blocks: blocks) let controller = BarController(config: config, screen: screen, theme: theme, blocks: blocks)
controller.refresh() controller.refresh()