Skip to content

Commit

Permalink
Update Bolus View and Meal View
Browse files Browse the repository at this point in the history
Meal View
* Make presets UX/UI a bit cleaner (still far from perfect now)
* Make a summary for all presets and other entries used
* Make the important buttons blue and white (similar to Loop). 
* Prevent inadvertently changing the date of entry. Now you need to tap twice to change. Also allow for + - of 10 minute increments (also similar to Loop) with small button. 

Bolus View
* Display all of the glucose predictions in bolus view
* Display the future Eventual Glucose (end time depends on your DIA)
* Whilst waiting for the recommendation (including predictions) allow a manual bolus entry.
* Make the "Enact bolus" button blue, like in Loop.
* Allow to add end edit a meal also when you have Skip Bolus setting on. Bolus->Carbs->Bolus sequence is now allowed.
  • Loading branch information
Jon-b-m authored Nov 9, 2023
1 parent 0d3dde3 commit d6f8175
Show file tree
Hide file tree
Showing 37 changed files with 696 additions and 231 deletions.
2 changes: 1 addition & 1 deletion Config.xcconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
APP_DISPLAY_NAME = iAPS
APP_VERSION = 2.2.7
APP_VERSION = 2.2.8
APP_BUILD_NUMBER = 1
COPYRIGHT_NOTICE =
DEVELOPER_TEAM = ##TEAM_ID##
Expand Down
11 changes: 11 additions & 0 deletions Core_Data.xcdatamodeld/Core_Data.xcdatamodel/contents
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="22225" systemVersion="22G120" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
<entity name="Autosens_" representedClassName="Autosens_" syncable="YES" codeGenerationType="class">
<attribute name="newisf" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
<attribute name="ratio" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
<attribute name="timestamp" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
</entity>
<entity name="Autotune_" representedClassName="Autotune_" syncable="YES" codeGenerationType="class">
<attribute name="basalProfile" optional="YES" attributeType="Transformable"/>
<attribute name="carbRatio" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
<attribute name="createdAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="sensitivity" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
</entity>
<entity name="BGaverages" representedClassName="BGaverages" syncable="YES" codeGenerationType="class">
<attribute name="average" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
<attribute name="average_1" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Title text for the button to remove a CGM from Loop */
"Remote Data Synchronization" = "Remote Daten Synchronisation";

/* Title describing sensor expiration */
"Sensor Expires" = "Sensor-Ablaufzeitpunkt";
"Sensor Expires" = "Sensor läuft ab";

/* Title describing past sensor expiration */
"Sensor Expired" = "Sensor abgelaufen";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
"Last Reading" = "Letzte Messung";

/* Descriptive text on G7StartupView */
"iAPS can read G7 CGM data, but you must still use the Dexcom G7 App for pairing, calibration, and other sensor management." = "iAPS kann CGM Daten vom G7 direkt lesen. Zum Verbinden, Kalibrieren und weiteres Sensor Management braucht man die G7 App.";
"iAPS can read G7 CGM data, but you must still use the Dexcom G7 App for pairing, calibration, and other sensor management." = "iAPS kann CGM Daten direkt vom G7 lesen. Zum Verbinden, Kalibrieren und erweitertem Sensor Management benötigt man die G7 App.";

/* String displayed instead of a glucose value below the CGM range */
"LOW" = "NIEDRIG";
Expand Down
6 changes: 3 additions & 3 deletions Dependencies/G7SensorKit/de.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"Dexcom G7" = "Dexcom G7";

/* Descriptive text on G7StartupView */
"iAPS can read G7 CGM data, but you must still use the Dexcom G7 App for pairing, calibration, and other sensor management." = "iAPS kann CGM Daten vom G7 direkt lesen. Zum Verbinden, Kalibrieren und weiteres Sensor Management braucht man die G7 App.";
"iAPS can read G7 CGM data, but you must still use the Dexcom G7 App for pairing, calibration, and other sensor management." = "iAPS kann CGM Daten direkt vom G7 lesen. Zum Verbinden, Kalibrieren und erweitertes Sensor Management benötigt man die G7 App.";

/* Button title for starting setup */
"Continue" = "Fortsetzen";
Expand All @@ -11,7 +11,7 @@
"Cancel" = "Abbrechen";

/* Error description for unreliable state */
"Glucose data is unavailable" = "Blutzuckerwerte sind nicht verfügbar";
"Glucose data is unavailable" = "Glukosewerte sind nicht verfügbar";

/* The description of sensor algorithm state when sensor is ok. */
"Sensor is OK" = "Sensor ist OK";
Expand Down Expand Up @@ -70,7 +70,7 @@
"Configuration" = "Konfiguration";

/* title for g7 config settings to upload readings */
"Upload Readings" = "Upload von Messwerten";
"Upload Readings" = "Werte hochladen";

/* Button */
"Scan for new sensor" = "Nach neuem Sensor suchen";
Expand Down
12 changes: 8 additions & 4 deletions FreeAPS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
190EBCC829FF13AA00BA767D /* StatConfigStateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 190EBCC729FF13AA00BA767D /* StatConfigStateModel.swift */; };
190EBCCB29FF13CB00BA767D /* StatConfigRootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 190EBCCA29FF13CB00BA767D /* StatConfigRootView.swift */; };
191F62682AD6B05A004D7911 /* NightscoutSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 191F62672AD6B05A004D7911 /* NightscoutSettings.swift */; };
19229B962AFBB84800CD91CA /* Predictions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19229B952AFBB84800CD91CA /* Predictions.swift */; };
1927C8E62744606D00347C69 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1927C8E82744606D00347C69 /* InfoPlist.strings */; };
1935364028496F7D001E0B16 /* Oref2_variables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1935363F28496F7D001E0B16 /* Oref2_variables.swift */; };
193F6CDD2A512C8F001240FD /* Loops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 193F6CDC2A512C8F001240FD /* Loops.swift */; };
Expand All @@ -40,7 +41,7 @@
19D466A529AA2BD4004D5F33 /* FPUConfigProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D466A429AA2BD4004D5F33 /* FPUConfigProvider.swift */; };
19D466A729AA2C22004D5F33 /* FPUConfigStateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D466A629AA2C22004D5F33 /* FPUConfigStateModel.swift */; };
19D466AA29AA3099004D5F33 /* FPUConfigRootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D466A929AA3099004D5F33 /* FPUConfigRootView.swift */; };
19D4E4EB29FC6A9F00351451 /* TIRforChart.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D4E4EA29FC6A9F00351451 /* TIRforChart.swift */; };
19D4E4EB29FC6A9F00351451 /* Charts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D4E4EA29FC6A9F00351451 /* Charts.swift */; };
19DA48E829CD339B00EEA1E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */; };
19DA48E929CD339C00EEA1E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */; };
19DA48EA29CD339C00EEA1E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */; };
Expand Down Expand Up @@ -508,6 +509,7 @@
190EBCCA29FF13CB00BA767D /* StatConfigRootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatConfigRootView.swift; sourceTree = "<group>"; };
1918333A26ADA46800F45722 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = "<group>"; };
191F62672AD6B05A004D7911 /* NightscoutSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NightscoutSettings.swift; sourceTree = "<group>"; };
19229B952AFBB84800CD91CA /* Predictions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Predictions.swift; sourceTree = "<group>"; };
1927C8E92744611700347C69 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/InfoPlist.strings; sourceTree = "<group>"; };
1927C8EA2744611800347C69 /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/InfoPlist.strings; sourceTree = "<group>"; };
1927C8EB2744611900347C69 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -568,7 +570,7 @@
19D466A429AA2BD4004D5F33 /* FPUConfigProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FPUConfigProvider.swift; sourceTree = "<group>"; };
19D466A629AA2C22004D5F33 /* FPUConfigStateModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FPUConfigStateModel.swift; sourceTree = "<group>"; };
19D466A929AA3099004D5F33 /* FPUConfigRootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FPUConfigRootView.swift; sourceTree = "<group>"; };
19D4E4EA29FC6A9F00351451 /* TIRforChart.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TIRforChart.swift; sourceTree = "<group>"; };
19D4E4EA29FC6A9F00351451 /* Charts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Charts.swift; sourceTree = "<group>"; };
19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
19DC677E29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverrideProfilesDataFlow.swift; sourceTree = "<group>"; };
19DC678029CA676A00FD9EC4 /* OverrideProfilesProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverrideProfilesProvider.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1655,7 +1657,7 @@
FE41E4D529463EE20047FD55 /* NightscoutPreferences.swift */,
191F62672AD6B05A004D7911 /* NightscoutSettings.swift */,
1967DFBD29D052C200759F30 /* Icons.swift */,
19D4E4EA29FC6A9F00351451 /* TIRforChart.swift */,
19D4E4EA29FC6A9F00351451 /* Charts.swift */,
19A910352A24D6D700C8951B /* DateFilter.swift */,
193F6CDC2A512C8F001240FD /* Loops.swift */,
CC6C406D2ACDD69E009B8058 /* RawFetchedProfile.swift */,
Expand Down Expand Up @@ -2084,6 +2086,7 @@
10A0C32B0DAB52726EF9B6D9 /* BolusRootView.swift */,
BDFD165B2AE40688007F0DDA /* DefaultBolusCalcRootView.swift */,
BDFD16592AE40438007F0DDA /* AlternativeBolusCalcRootView.swift */,
19229B952AFBB84800CD91CA /* Predictions.swift */,
);
path = View;
sourceTree = "<group>";
Expand Down Expand Up @@ -2830,6 +2833,7 @@
1967DFBE29D052C200759F30 /* Icons.swift in Sources */,
38E8754F275556FA00975559 /* WatchManager.swift in Sources */,
A228DF96647338139F152B15 /* PreferencesEditorDataFlow.swift in Sources */,
19229B962AFBB84800CD91CA /* Predictions.swift in Sources */,
389ECE052601144100D86C4F /* ConcurrentMap.swift in Sources */,
CE7CA3562A064973004BE681 /* StateIntentRequest.swift in Sources */,
E4984C5262A90469788754BB /* PreferencesEditorProvider.swift in Sources */,
Expand Down Expand Up @@ -2862,7 +2866,7 @@
0CEA2EA070AB041AF3E3745B /* BolusRootView.swift in Sources */,
1967DFC029D053AC00759F30 /* IconSelection.swift in Sources */,
BDFD165C2AE40688007F0DDA /* DefaultBolusCalcRootView.swift in Sources */,
19D4E4EB29FC6A9F00351451 /* TIRforChart.swift in Sources */,
19D4E4EB29FC6A9F00351451 /* Charts.swift in Sources */,
FEFFA7A22929FE49007B8193 /* UIDevice+Extensions.swift in Sources */,
F90692D3274B9A130037068D /* AppleHealthKitRootView.swift in Sources */,
3862CC1F273FDC9200BF832C /* CalibrationsChart.swift in Sources */,
Expand Down
11 changes: 11 additions & 0 deletions FreeAPS/Sources/Localizations/Main/ar.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@
/* For the Bolus View pop-up */
"Your entered amount was limited by your max Bolus setting of %d%@" = "Your entered amount was limited by your max Bolus setting of %d%@";

/* Bolus View Continue Button */
"Continue" = "Continue";

/* Home title */
"Home" = "Home";

Expand Down Expand Up @@ -118,6 +121,9 @@
/* */
"Carbs required" = "Carbs required";

/* Saved Food Presets */
"Saved Food" = "Saved Food";

/* */
"Are you sure?" = "Are you sure?";

Expand Down Expand Up @@ -1396,6 +1402,11 @@ Enact a temp Basal or a temp target */
/* */
"Eventual Glucose" = "Eventual Glucose";

/* */
"Please wait" = "Please wait";

"Glucose, %@" = "Glucose, %@";

/* */
"Target Glucose" = "Target Glucose";

Expand Down
11 changes: 11 additions & 0 deletions FreeAPS/Sources/Localizations/Main/da.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@
/* For the Bolus View pop-up */
"Your entered amount was limited by your max Bolus setting of %d%@" = "Your entered amount was limited by your max Bolus setting of %d%@";

/* Bolus View Continue Button */
"Continue" = "Fortsæt";

/* Home title */
"Home" = "Hjem";

Expand Down Expand Up @@ -118,6 +121,9 @@
/* */
"Carbs required" = "Krævede kulhydrater";

/* Saved Food Presets */
"Saved Food" = "Saved Food";

/* */
"Are you sure?" = "Er du sikker?";

Expand Down Expand Up @@ -1396,6 +1402,11 @@ Enact a temp Basal or a temp target */
/* */
"Eventual Glucose" = "Eventuelt Glukoseniveau";

/* */
"Please wait" = "Please wait";

"Glucose, %@" = "Glucose, %@";

/* */
"Target Glucose" = "Target Glucose";

Expand Down
11 changes: 11 additions & 0 deletions FreeAPS/Sources/Localizations/Main/de.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@
/* For the Bolus View pop-up */
"Your entered amount was limited by your max Bolus setting of %d%@" = "Dein eingegebener Wert wurde durch deine maximale Bolus-Einstellung von %d%@ begrenzt";

/* Bolus View Continue Button */
"Continue" = "Fortsetzen";

/* Home title */
"Home" = "Hauptseite";

Expand Down Expand Up @@ -118,6 +121,9 @@
/* */
"Carbs required" = "Kohlenhydrate erforderlich";

/* Saved Food Presets */
"Saved Food" = "Saved Food";

/* */
"Are you sure?" = "Sind Sie sicher?";

Expand Down Expand Up @@ -1396,6 +1402,11 @@ Enact a temp Basal or a temp target */
/* */
"Eventual Glucose" = "Prognostizierte Glukose";

/* */
"Please wait" = "Please wait";

"Glucose, %@" = "Glucose, %@";

/* */
"Target Glucose" = "Ziel Glukose";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,9 @@
/* */
"Carbs required" = "Carbs required";

/* Saved Food Presets */
"Saved Food" = "Saved Food";

/* */
"Are you sure?" = "Are you sure?";

Expand Down Expand Up @@ -1400,6 +1403,12 @@ Enact a temp Basal or a temp target */
/* */
"Eventual Glucose" = "Eventual Glucose";

/* */
"Please wait" = "Please wait";

/* */
"Glucose, " = "Glucose, ";

/* */
"Target Glucose" = "Target Glucose";

Expand Down
11 changes: 11 additions & 0 deletions FreeAPS/Sources/Localizations/Main/es.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@
/* For the Bolus View pop-up */
"Your entered amount was limited by your max Bolus setting of %d%@" = "Your entered amount was limited by your max Bolus setting of %d%@";

/* Bolus View Continue Button */
"Continue" = "Continuar";

/* Home title */
"Home" = "Inicio";

Expand Down Expand Up @@ -118,6 +121,9 @@
/* */
"Carbs required" = "Se requieren carbohidratos";

/* Saved Food Presets */
"Saved Food" = "Saved Food";

/* */
"Are you sure?" = "¿Estás seguro?";

Expand Down Expand Up @@ -1396,6 +1402,11 @@ Enact a temp Basal or a temp target */
/* */
"Eventual Glucose" = "Eventual Glucose";

/* */
"Please wait" = "Please wait";

"Glucose, %@" = "Glucose, %@";

/* */
"Target Glucose" = "Target Glucose";

Expand Down
11 changes: 11 additions & 0 deletions FreeAPS/Sources/Localizations/Main/fi.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@
/* For the Bolus View pop-up */
"Your entered amount was limited by your max Bolus setting of %d%@" = "Your entered amount was limited by your max Bolus setting of %d%@";

/* Bolus View Continue Button */
"Continue" = "Jatka";

/* Home title */
"Home" = "Home";

Expand Down Expand Up @@ -118,6 +121,9 @@
/* */
"Carbs required" = "Carbs required";

/* Saved Food Presets */
"Saved Food" = "Saved Food";

/* */
"Are you sure?" = "Are you sure?";

Expand Down Expand Up @@ -1396,6 +1402,11 @@ Enact a temp Basal or a temp target */
/* */
"Eventual Glucose" = "Eventual Glucose";

/* */
"Please wait" = "Please wait";

"Glucose, %@" = "Glucose, %@";

/* */
"Target Glucose" = "Target Glucose";

Expand Down
11 changes: 11 additions & 0 deletions FreeAPS/Sources/Localizations/Main/fr.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@
/* For the Bolus View pop-up */
"Your entered amount was limited by your max Bolus setting of %d%@" = "Your entered amount was limited by your max Bolus setting of %d%@";

/* Bolus View Continue Button */
"Continue" = "Continuer";

/* Home title */
"Home" = "Page d'accueil";

Expand Down Expand Up @@ -118,6 +121,9 @@
/* */
"Carbs required" = "Glucides requis";

/* Saved Food Presets */
"Saved Food" = "Saved Food";

/* */
"Are you sure?" = "Êtes-vous sûr ?";

Expand Down Expand Up @@ -1396,6 +1402,11 @@ Enact a temp Basal or a temp target */
/* */
"Eventual Glucose" = "Eventual Glucose";

/* */
"Please wait" = "Please wait";

"Glucose, %@" = "Glucose, %@";

/* */
"Target Glucose" = "Target Glucose";

Expand Down
11 changes: 11 additions & 0 deletions FreeAPS/Sources/Localizations/Main/he.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@
/* For the Bolus View pop-up */
"Your entered amount was limited by your max Bolus setting of %d%@" = "Your entered amount was limited by your max Bolus setting of %d%@";

/* Bolus View Continue Button */
"Continue" = "Continue";

/* Home title */
"Home" = "Home";

Expand Down Expand Up @@ -118,6 +121,9 @@
/* */
"Carbs required" = "Carbs required";

/* Saved Food Presets */
"Saved Food" = "Saved Food";

/* */
"Are you sure?" = "Are you sure?";

Expand Down Expand Up @@ -1396,6 +1402,11 @@ Enact a temp Basal or a temp target */
/* */
"Eventual Glucose" = "Eventual Glucose";

/* */
"Please wait" = "Please wait";

"Glucose, %@" = "Glucose, %@";

/* */
"Target Glucose" = "Target Glucose";

Expand Down
Loading

0 comments on commit d6f8175

Please sign in to comment.