Jon Fawcett 6 лет назад
Родитель
Сommit
492afa2632

+ 10 - 0
LoopFollow/ViewControllers/SettingsViewController.swift

@@ -203,6 +203,16 @@ class SettingsViewController: FormViewController {
     func buildGraphSettings() {
         form
             +++ Section("Graph Settings")
+            <<< SwitchRow("militaryTime"){ row in
+                row.title = "24 Hour Time"
+                row.value = UserDefaultsRepository.militaryTime.value
+            }.onChange { [weak self] row in
+                        guard let value = row.value else { return }
+                        UserDefaultsRepository.militaryTime.value = value
+                    // Force main screen update
+                    guard let mainScreen = self?.tabBarController!.viewControllers?[0] as? MainViewController else { return }
+                    mainScreen.updateBGGraphSettings()
+                }
         <<< SwitchRow("switchRowDots"){ row in
             row.title = "Display Dots"
             row.value = UserDefaultsRepository.showDots.value

+ 6 - 1
LoopFollow/helpers/Chart.swift

@@ -17,7 +17,12 @@ final class ChartXValueFormatter: IAxisValueFormatter {
         let dateFormatter = DateFormatter()
         //let timezoneOffset = TimeZone.current.secondsFromGMT()
         //let epochTimezoneOffset = value + Double(timezoneOffset)
-        dateFormatter.setLocalizedDateFormatFromTemplate("hh:mm")
+        if UserDefaultsRepository.militaryTime.value {
+            dateFormatter.setLocalizedDateFormatFromTemplate("HH:mm")
+        } else {
+            dateFormatter.setLocalizedDateFormatFromTemplate("hh:mm")
+        }
+        
         //let date = Date(timeIntervalSince1970: epochTimezoneOffset)
         let date = Date(timeIntervalSince1970: value)
         let formattedDate = dateFormatter.string(from: date)

+ 1 - 0
LoopFollow/repository/UserDefaults.swift

@@ -20,6 +20,7 @@ class UserDefaultsRepository {
     static let showDots = UserDefaultsValue<Bool>(key: "showDots", default: true)
     static let showLines = UserDefaultsValue<Bool>(key: "showLines", default: true)
     static let offsetCarbsBolus = UserDefaultsValue<Bool>(key: "offsetCarbsBolus", default: true)
+    static let militaryTime = UserDefaultsValue<Bool>(key: "militaryTime", default: false)
     static let hoursToLoad = UserDefaultsValue<Int>(key: "hoursToLoad", default: 24)
     static let minBasalScale = UserDefaultsValue<Double>(key: "minBasalScale", default: 5.0)
     static let minBGScale = UserDefaultsValue<Float>(key: "minBGScale", default: 250.0)