Skip to content

Commit

Permalink
Dropping Unwrap.swift - as of swift 5.3 this can be expressed much si…
Browse files Browse the repository at this point in the history
  • Loading branch information
timbms committed Nov 7, 2023
1 parent 52f27b7 commit 3b61af1
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 78 deletions.
4 changes: 0 additions & 4 deletions openHAB.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@
DA65871F236F83CE007E2E7F /* UserDefaultsExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA65871E236F83CD007E2E7F /* UserDefaultsExtension.swift */; };
DA7224D223828D3400712D20 /* PreviewConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA7224D123828D3300712D20 /* PreviewConstants.swift */; };
DA72E1B8236DEA0900B8EF3A /* AppMessageService.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA72E1B5236DEA0900B8EF3A /* AppMessageService.swift */; };
DA7649DE23FC81A20085CE46 /* Unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA7649DD23FC81A20085CE46 /* Unwrap.swift */; };
DA7E1E492230227E002AEFD8 /* OpenHABTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFDEE4161883C6A5008B26AC /* OpenHABTracker.swift */; };
DA7E1E4B2233986E002AEFD8 /* PlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA7E1E47222EB00B002AEFD8 /* PlayerView.swift */; };
DA817E7A234BF39B00C91824 /* CHANGELOG.md in Resources */ = {isa = PBXBuildFile; fileRef = DA817E79234BF39B00C91824 /* CHANGELOG.md */; };
Expand Down Expand Up @@ -368,7 +367,6 @@
DA65871E236F83CD007E2E7F /* UserDefaultsExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaultsExtension.swift; sourceTree = "<group>"; };
DA7224D123828D3300712D20 /* PreviewConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewConstants.swift; sourceTree = "<group>"; };
DA72E1B5236DEA0900B8EF3A /* AppMessageService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppMessageService.swift; sourceTree = "<group>"; };
DA7649DD23FC81A20085CE46 /* Unwrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Unwrap.swift; sourceTree = "<group>"; };
DA7E1E47222EB00B002AEFD8 /* PlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerView.swift; sourceTree = "<group>"; };
DA817E79234BF39B00C91824 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = "<group>"; };
DA88F8C522EC377100B408E5 /* ReleaseNotes.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = ReleaseNotes.md; sourceTree = "<group>"; };
Expand Down Expand Up @@ -807,7 +805,6 @@
DA2E0AA323DC96E9009B0A99 /* EncircledIconWithAction.swift */,
DA2E0B0D23DCC152009B0A99 /* MapView.swift */,
DA0749DF23E0BF510057FA83 /* ColorSelection.swift */,
DA7649DD23FC81A20085CE46 /* Unwrap.swift */,
);
path = Utils;
sourceTree = "<group>";
Expand Down Expand Up @@ -1403,7 +1400,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
DA7649DE23FC81A20085CE46 /* Unwrap.swift in Sources */,
DAC9AF4724F9669F006DAE93 /* ObservableOpenHABWidgetExtension.swift in Sources */,
DA2E0B0E23DCC153009B0A99 /* MapView.swift in Sources */,
DA2E0B1023DCC439009B0A99 /* MapViewRow.swift in Sources */,
Expand Down
2 changes: 0 additions & 2 deletions openHABWatch/OpenHABWatch.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,9 @@ import SwiftUI
@main
struct OpenHABWatch: App {
@ObservedObject var settings = ObservableOpenHABDataObject.shared

// https://developer.apple.com/documentation/watchkit/wkapplicationdelegate
@WKApplicationDelegateAdaptor(OpenHABWatchAppDelegate.self) var appDelegate
@ObservedObject var userData = UserData(sitemapName: ObservableOpenHABDataObject.shared.sitemapName)
// @ObservedObject var userData = UserData(sitemapName: ObservableOpenHABDataObject.shared.sitemapName)

var body: some Scene {
WindowGroup {
Expand Down
49 changes: 24 additions & 25 deletions openHABWatch/Views/Rows/SliderRow.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,40 +17,39 @@ struct SliderRow: View {
@ObservedObject var widget: ObservableOpenHABWidget
@ObservedObject var settings = ObservableOpenHABDataObject.shared

var body: some View {
let valueBinding = Binding<Double>(
get: {
widget.adjustedValue
},
var valueBinding: Binding<Double> {
.init(
get: { widget.adjustedValue },
set: {
os_log("Slider new value = %g", log: .default, type: .info, $0)
widget.sendCommand($0.valueText(step: widget.step))

// self.widget.stateEnumBinding = .slider($0)
}
)
}

return
VStack(spacing: 3) {
HStack {
IconView(widget: widget, settings: settings)
TextLabelView(widget: widget)
Spacer()
DetailTextLabelView(widget: widget)
}.padding(.top, 8)
var body: some View {
VStack(spacing: 3) {
HStack {
IconView(widget: widget, settings: settings)
TextLabelView(widget: widget)
Spacer()
DetailTextLabelView(widget: widget)
}.padding(.top, 8)

Slider(value: valueBinding, in: widget.minValue ... widget.maxValue, step: widget.step)
.labelsHidden()
.focusable(true)
.digitalCrownRotation(
valueBinding,
from: widget.minValue,
through: widget.maxValue,
by: widget.step,
sensitivity: .medium,
isHapticFeedbackEnabled: true
)
}
Slider(value: valueBinding, in: widget.minValue ... widget.maxValue, step: widget.step)
.labelsHidden()
.focusable(true)
.digitalCrownRotation(
valueBinding,
from: widget.minValue,
through: widget.maxValue,
by: widget.step,
sensitivity: .medium,
isHapticFeedbackEnabled: true
)
}
}
}

Expand Down
33 changes: 16 additions & 17 deletions openHABWatch/Views/Rows/SwitchRow.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,10 @@ struct SwitchRow: View {
@ObservedObject var widget: ObservableOpenHABWidget
@ObservedObject var settings = ObservableOpenHABDataObject.shared

var body: some View {
// https://stackoverflow.com/questions/59395501/do-something-when-toggle-state-changes
let stateBinding = Binding<Bool>(
get: {
widget.stateEnumBinding.boolState
},
// https://stackoverflow.com/questions/59395501/do-something-when-toggle-state-changes
var stateBinding: Binding<Bool> {
.init(
get: { widget.stateEnumBinding.boolState },
set: {
if $0 {
os_log("Switch to ON", log: .viewCycle, type: .info)
Expand All @@ -35,20 +33,21 @@ struct SwitchRow: View {
widget.stateEnumBinding = .switcher($0)
}
)
}

return
Toggle(isOn: stateBinding) {
HStack {
IconView(widget: widget, settings: settings)
VStack {
TextLabelView(widget: widget)
DetailTextLabelView(widget: widget)
}
var body: some View {
Toggle(isOn: stateBinding) {
HStack {
IconView(widget: widget, settings: settings)
VStack {
TextLabelView(widget: widget)
DetailTextLabelView(widget: widget)
}
}
.focusable(true)
.padding(.trailing)
.cornerRadius(5)
}
.focusable(true)
.padding(.trailing)
.cornerRadius(5)
}
}

Expand Down
4 changes: 2 additions & 2 deletions openHABWatch/Views/Utils/DetailTextLabelView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ struct DetailTextLabelView: View {
@ObservedObject var widget: ObservableOpenHABWidget

var body: some View {
Unwrap(widget.labelValue) {
Text($0)
if let label = widget.labelValue {
Text(label)
.font(.footnote)
.lineLimit(1)
.foregroundColor(!widget.valuecolor.isEmpty ? Color(fromString: widget.valuecolor) : .secondary)
Expand Down
28 changes: 0 additions & 28 deletions openHABWatch/Views/Utils/Unwrap.swift

This file was deleted.

0 comments on commit 3b61af1

Please sign in to comment.