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
final class AppDelegate: NSObject, NSApplicationDelegate {
var barController: PHController!
var barController: BarController!
var window: BarWindow!
private var observers: [IPCObserver] = []
init(config: PHConfig, screen: NSScreen, theme: PHTheme, blocks: [PHBlock], debug: Bool = false) {
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
}
@@ -1,6 +1,6 @@
import AppKit
final class BarWindowBackground: NSView {
final class BackgroundView: NSView {
var hasShadow: Bool {
didSet { configureShadow() }
}
@@ -9,7 +9,7 @@ final class BarWindowBackground: NSView {
didSet { configureBlur() }
}
init(controller: PHController) {
init(controller: BarController) {
self.hasShadow = controller.theme.window.hasShadow
self.blur = controller.theme.window.blur
super.init(frame: .zero)
@@ -1,7 +1,7 @@
import SwiftUI
@MainActor
final class PHController: ObservableObject {
final class BarController: ObservableObject {
let config: PHConfig
let screen: NSScreen
let theme: PHTheme
@@ -36,7 +36,7 @@ final class PHController: ObservableObject {
// Style
extension PHController {
extension BarController {
func style(for block: PHBlock) -> PHThemeStyle {
guard let style = theme.styles.first(where: { $0.name == block.styleName }) else {
guard let defaultStyle = theme.styles.first(where: { $0.name == "default" }) else {
@@ -50,7 +50,7 @@ extension PHController {
// Refresh
extension PHController {
extension BarController {
/// Start auto-refresh for every block.
func startAutoRefresh() {
for block in blocks {
+6 -6
View File
@@ -1,9 +1,9 @@
import SwiftUI
struct BarView: View {
@StateObject private var bar: PHController
@StateObject private var bar: BarController
init(controller: PHController) {
init(controller: BarController) {
self._bar = StateObject(wrappedValue: controller)
}
@@ -13,9 +13,9 @@ struct BarView: View {
ForEach(bar.arrangedBlocks) { block in
switch block.kind {
case .text:
TextBlock(block: block)
TextBlockView(block: block)
case .space:
SpaceBlock(block: block)
SpaceBlockView(block: block)
}
}
}
@@ -24,9 +24,9 @@ struct BarView: View {
ForEach(bar.centeredBlocks) { block in
switch block.kind {
case .text:
TextBlock(block: block)
TextBlockView(block: block)
case .space:
SpaceBlock(block: block)
SpaceBlockView(block: block)
}
}
}
+5 -5
View File
@@ -2,12 +2,12 @@ import AppKit
import SwiftUI
final class BarWindow: NSPanel {
let barController: PHController
let barController: BarController
var backgroundView: BarWindowBackground!
var backgroundView: BackgroundView!
var barView: NSHostingView<BarView>!
init(controller: PHController) {
init(controller: BarController) {
self.barController = controller
super.init(
@@ -32,7 +32,7 @@ final class BarWindow: NSPanel {
self.isRestorable = false
self.displaysWhenScreenProfileChanges = true
self.backgroundView = BarWindowBackground(controller: barController)
self.backgroundView = BackgroundView(controller: barController)
backgroundView.autoresizingMask = [.width, .height]
backgroundView.frame = self.contentView?.bounds ?? .zero
@@ -47,7 +47,7 @@ final class BarWindow: NSPanel {
extension BarWindow {
/// 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 height: CGFloat = 30
let x = screenFrame.minX
@@ -1,6 +1,6 @@
import SwiftUI
struct SpaceBlock: View {
struct SpaceBlockView: View {
@ObservedObject var block: PHBlock
var width: CGFloat? {
@@ -1,7 +1,7 @@
import SwiftUI
struct TextBlock: View {
@EnvironmentObject private var bar: PHController
struct TextBlockView: View {
@EnvironmentObject private var bar: BarController
@ObservedObject var block: PHBlock
@State var hovering = false