Jonas Björkert 3 лет назад
Родитель
Сommit
0218d56434

+ 1 - 0
LoopFollow/Controllers/AppStateController.swift

@@ -30,6 +30,7 @@ enum ChartSettingsChangeEnum: Int {
   case smallGraphHeight = 2048
   case showDIALinesChanged = 4096
   case showMidnightLinesChanged = 8192
+  case show30MinLineChanged = 16384
 }
 
 // General Settings Flags

+ 7 - 6
LoopFollow/Controllers/Graphs.swift

@@ -360,12 +360,13 @@ extension MainViewController {
         ul.lineWidth = 1
         BGChart.xAxis.addLimitLine(ul)
         
-        //Fiasp peak line
-        let ul2 = ChartLimitLine()
-        ul2.limit = Double(dateTimeUtils.getNowTimeIntervalUTC().advanced(by: -30 * 60))
-        ul2.lineColor = NSUIColor.systemBlue.withAlphaComponent(0.5)
-        ul2.lineWidth = 1
-        BGChart.xAxis.addLimitLine(ul2)
+        if UserDefaultsRepository.show30MinLine.value {
+            let ul2 = ChartLimitLine()
+            ul2.limit = Double(dateTimeUtils.getNowTimeIntervalUTC().advanced(by: -30 * 60))
+            ul2.lineColor = NSUIColor.systemBlue.withAlphaComponent(0.5)
+            ul2.lineWidth = 1
+            BGChart.xAxis.addLimitLine(ul2)
+        }
         
         if UserDefaultsRepository.showDIALines.value {
             for i in 1..<7 {

+ 13 - 0
LoopFollow/ViewControllers/GraphSettingsViewController.swift

@@ -133,6 +133,19 @@ class GraphSettingsViewController: FormViewController {
                    appState.chartSettingsChanges |= ChartSettingsChangeEnum.showDIALinesChanged.rawValue
                 }
             }
+            <<< SwitchRow("show30MinLine") { row in
+                row.title = "Show -30 min line"
+                row.value = UserDefaultsRepository.show30MinLine.value
+            }.onChange { [weak self] row in
+                guard let value = row.value else { return }
+                UserDefaultsRepository.show30MinLine.value = value
+                
+                // Tell the main screen that graph needs updating
+                if let appState = self!.appStateController {
+                    appState.chartSettingsChanged = true
+                    appState.chartSettingsChanges |= ChartSettingsChangeEnum.show30MinLineChanged.rawValue
+                }
+            }
             <<< SwitchRow("smallGraphTreatments"){ row in
                 row.title = "Treatments on Small Graph"
                 row.value = UserDefaultsRepository.smallGraphTreatments.value

+ 1 - 0
LoopFollow/repository/UserDefaults.swift

@@ -60,6 +60,7 @@ class UserDefaultsRepository {
     static let minBasalScale = UserDefaultsValue<Double>(key: "minBasalScale", default: 5.0)
     static let minBGScale = UserDefaultsValue<Float>(key: "minBGScale", default: 250.0)
     static let showDIALines = UserDefaultsValue<Bool>(key: "showDIAMarkers", default: true)
+    static let show30MinLine = UserDefaultsValue<Bool>(key: "show30MinLine", default: false)
     static let showMidnightLines = UserDefaultsValue<Bool>(key: "showMidnightMarkers", default: false)
     static let lowLine = UserDefaultsValue<Float>(key: "lowLine", default: 70.0)
     static let highLine = UserDefaultsValue<Float>(key: "highLine", default: 180.0)