Skip to content

Commit 71119b4

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/main'
2 parents ca13180 + e19c683 commit 71119b4

File tree

14 files changed

+223
-63
lines changed

14 files changed

+223
-63
lines changed

CubeTime/Assets.xcassets/ThemeColours/grey.colorset/Contents.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"components" : {
2525
"alpha" : "1.000",
2626
"blue" : "0x96",
27-
"green" : "0x91",
27+
"green" : "0x92",
2828
"red" : "0x90"
2929
}
3030
},

CubeTime/Assets.xcassets/ThemeColours/overlay/overlay0.colorset/Contents.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
"color-space" : "srgb",
2424
"components" : {
2525
"alpha" : "1.000",
26-
"blue" : "0x19",
27-
"green" : "0x16",
28-
"red" : "0x15"
26+
"blue" : "0x21",
27+
"green" : "0x1F",
28+
"red" : "0x1E"
2929
}
3030
},
3131
"idiom" : "universal"

CubeTime/Assets.xcassets/ThemeColours/overlay/overlay1.colorset/Contents.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
"color-space" : "srgb",
2424
"components" : {
2525
"alpha" : "1.000",
26-
"blue" : "0x0C",
27-
"green" : "0x0A",
28-
"red" : "0x0A"
26+
"blue" : "0x14",
27+
"green" : "0x13",
28+
"red" : "0x12"
2929
}
3030
},
3131
"idiom" : "universal"

CubeTime/Helper/HelperButtons.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ struct CTShareButton: UIViewControllerRepresentable {
6060
// MARK: - Copy Button
6161
struct CTCopyButton: View {
6262
let toCopy: String
63-
let buttonText: String
63+
let buttonText: LocalizedStringKey
6464
@Environment(\.dynamicTypeSize) private var dynamicTypeSize
6565

6666
@State private var offsetValue: CGFloat = -25

CubeTime/Onboarding/Updates.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ struct Update: View {
281281
Text("Major Additions: ")
282282
.font(.title3).fontWeight(.semibold)
283283

284-
VStack(alignment: .leading, spacing: 2) {
284+
VStack(alignment: .leading, spacing: 3) {
285285
ForEach(majorAdditions, id: \.self) { point in
286286
ListLine(point.depth, .init(stringLiteral: point.text))
287287
.if(point.depth == 1) { body in
@@ -296,7 +296,7 @@ struct Update: View {
296296
Text("Minor Additions: ")
297297
.font(.title3).fontWeight(.semibold)
298298

299-
VStack(alignment: .leading, spacing: 2) {
299+
VStack(alignment: .leading, spacing: 3) {
300300
ForEach(minorAdditions, id: \.self) { point in
301301
ListLine(point.depth, .init(stringLiteral: point.text))
302302
}
@@ -308,7 +308,7 @@ struct Update: View {
308308
Text("Bug Fixes: ")
309309
.font(.title3).fontWeight(.semibold)
310310

311-
VStack(alignment: .leading, spacing: 2) {
311+
VStack(alignment: .leading, spacing: 3) {
312312
ForEach(bugFixes, id: \.self) { point in
313313
ListLine(point.depth, .init(stringLiteral: point.text))
314314
}

CubeTime/Settings/GeneralSettings.swift

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,16 @@ struct GeneralSettingsView: View {
4949
@Preference(\.gestureDistance) private var gestureActivationDistance
5050
@Preference(\.gestureDistanceTrackpad) private var gestureDistanceTrackpad
5151

52-
// show previous time after delete
52+
// timer interface & solves
5353
@Preference(\.showPrevTime) private var showPrevTime
54-
54+
@Preference(\.promptDelete) private var promptDelete
55+
5556
// statistics
5657
@Preference(\.displayDP) private var displayDP
5758
@Preference(\.timeTrendSolves) private var timeTrendSolves
5859

5960
@State private var showResetDialog = false
60-
61+
6162
@EnvironmentObject var stopwatchManager: StopwatchManager
6263

6364
var body: some View {
@@ -140,10 +141,14 @@ struct GeneralSettingsView: View {
140141
}
141142
}
142143

143-
SettingsGroup(Label("Timer Interface", systemImage: "rectangle.and.pencil.and.ellipsis")) {
144+
SettingsGroup(Label("Timer Interface & Solves", systemImage: "rectangle.and.pencil.and.ellipsis")) {
144145
DescribedSetting(description: "Show the previous time after a solve is deleted by swipe gesture. With this option off, the default time of 0.00 or 0.000 will be shown instead.") {
145146
SettingsToggle(String(localized: "Show Previous Time"), $showPrevTime)
146147
}
148+
149+
DescribedSetting(description: "Display a prompt before deleting solves.", {
150+
SettingsToggle(String(localized: "Show Solve Deletion Prompt"), $promptDelete)
151+
})
147152
}
148153

149154
SettingsGroup(Label("Accessibility", systemImage: "eye")) {

CubeTime/Settings/SettingsManager.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ final class SettingsManager {
5252
fontCasual = 0.0
5353
fontCursive = false
5454
showZenMode = false
55+
promptDelete = false
5556
}
5657

5758
init(userDefaults: NSUbiquitousKeyValueStore) {
@@ -162,6 +163,9 @@ final class SettingsManager {
162163

163164
@UserDefault("showZenMode")
164165
var showZenMode: Bool = false
166+
167+
@UserDefault("promptDelete")
168+
var promptDelete: Bool = false
165169
}
166170

167171
@propertyWrapper

CubeTime/Stats/StatsDetailView.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ struct StatsDetailView: View {
142142
let shareStr = getShareStr(solves: solves)
143143

144144
HStack(spacing: 8) {
145-
CTCopyButton(toCopy: shareStr, buttonText: String(localized: "Copy Average"))
145+
CTCopyButton(toCopy: shareStr, buttonText: "Copy Average")
146146

147147
CTShareButton(toShare: shareStr, buttonText: String(localized: "Share Average"))
148148
}

CubeTime/StopwatchManager/TimerController.swift

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ class TimerController: ObservableObject {
103103

104104

105105
private var timer: Timer?
106-
private var timerStartTime: Date?
106+
private var timerStartTime: UInt64?
107107
var secondsElapsed = 0.0
108108

109109

@@ -203,18 +203,22 @@ class TimerController: ObservableObject {
203203

204204
secondsElapsed = 0
205205
secondsStr = formatSolveTime(secs: 0)
206-
timerStartTime = Date()
206+
timerStartTime = clock_gettime_nsec_np(CLOCK_MONOTONIC_RAW)
207207

208208
if sm.timeDpWhenRunning == -1 {
209209
self.secondsStr = "..."
210210
} else {
211211
timer = Timer.scheduledTimer(withTimeInterval: 1/60, repeats: true) { [self] timer in
212-
self.secondsElapsed = -timerStartTime!.timeIntervalSinceNow
212+
self.secondsElapsed = getElapsedTime()
213213
self.secondsStr = formatSolveTime(secs: self.secondsElapsed, dp: sm.timeDpWhenRunning)
214214
}
215215
}
216216
}
217217

218+
private func getElapsedTime() -> Double {
219+
return Double(clock_gettime_nsec_np(CLOCK_MONOTONIC_RAW) - timerStartTime!) / 1e9
220+
}
221+
218222

219223
func stop(_ time: Double?) {
220224
#if DEBUG
@@ -227,7 +231,7 @@ class TimerController: ObservableObject {
227231
self.secondsElapsed = time
228232
} else {
229233
prevDownStoppedTimer = true
230-
self.secondsElapsed = -timerStartTime!.timeIntervalSinceNow
234+
self.secondsElapsed = getElapsedTime()
231235
}
232236

233237
self.secondsStr = formatSolveTime(secs: self.secondsElapsed)
@@ -329,7 +333,7 @@ class TimerController: ObservableObject {
329333
// multiphase
330334
func lap() {
331335
currentMPCount += 1
332-
phaseTimes.append(-timerStartTime!.timeIntervalSinceNow)
336+
phaseTimes.append(getElapsedTime())
333337
feedbackStyle?.impactOccurred(intensity: 0.5)
334338
}
335339
}

CubeTime/TimeList/TimeCard.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ struct TimeCard: View {
6666
copySolve(solve: solve)
6767
} label: {
6868
Label {
69-
Text("Copy")
69+
Text(String(localized: "Copy"))
7070
} icon: {
7171
Image(systemName: "doc.on.doc")
7272
}
@@ -76,7 +76,7 @@ struct TimeCard: View {
7676
Button {
7777
stopwatchManager.changePen(solve: self.solve, pen: .none)
7878
} label: {
79-
Label("No Penalty", systemImage: "checkmark.circle")
79+
Label(String(localized: "No Penalty"), systemImage: "checkmark.circle")
8080
}
8181

8282
Button {
@@ -91,7 +91,7 @@ struct TimeCard: View {
9191
Label("DNF", systemImage: "xmark.circle")
9292
}
9393
} label: {
94-
Label("Penalty", systemImage: "exclamationmark.triangle")
94+
Label(String(localized: "Penalty"), systemImage: "exclamationmark.triangle")
9595
}
9696

9797
if sessionType != SessionType.compsim.rawValue {
@@ -116,7 +116,7 @@ struct TimeCard: View {
116116
}
117117
} label: {
118118
Label {
119-
Text("Delete")
119+
Text(String(localized: "Delete"))
120120
} icon: {
121121
Image(systemName: "trash")
122122
}

0 commit comments

Comments
 (0)