From e34c66fdb60503555c02c0763d2d75be1ca7a40f Mon Sep 17 00:00:00 2001 From: Darren Croton Date: Sun, 11 Jun 2017 13:06:55 +1000 Subject: [PATCH] Setting to show/hide graph and min/max HR also shows/hides current HR --- bin/SnapshotWatch-settings.json | 2 +- bin/SnapshotWatch.prg | Bin 60449 -> 64599 bytes bin/SnapshotWatch.prg.debug.xml | 327 ++++++++++++++++++-------------- resources/resources.xml | 2 +- source/SnapshotWatchView.mc | 10 +- 5 files changed, 195 insertions(+), 146 deletions(-) diff --git a/bin/SnapshotWatch-settings.json b/bin/SnapshotWatch-settings.json index f755a15..d894890 100644 --- a/bin/SnapshotWatch-settings.json +++ b/bin/SnapshotWatch-settings.json @@ -1 +1 @@ -{"settings":[{"key":"code","valueType":"string","defaultValue":"get code at app store page","configTitle":"CodeLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"alphaNumeric","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"showHeartRate","valueType":"boolean","defaultValue":true,"configTitle":"ShowHeartRateLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"boolean","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"graphColour","valueType":"number","defaultValue":0,"configTitle":"GraphColourLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"list","configReadonly":false,"configRequired":true,"configOptions":[{"display":"DK_GRAY","value":0},{"display":"RED","value":1},{"display":"DK_RED","value":2},{"display":"ORANGE","value":3},{"display":"YELLOW","value":4},{"display":"GREEN","value":5},{"display":"DK_GREEN","value":6},{"display":"BLUE","value":7},{"display":"DK_BLUE","value":8},{"display":"PURPLE","value":9},{"display":"PINK","value":10}],"configMin":null,"configMax":null,"configMaxLength":null},{"key":"useZonesColour","valueType":"boolean","defaultValue":true,"configTitle":"UseZonesColourLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"boolean","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"showSteps","valueType":"boolean","defaultValue":false,"configTitle":"ShowStepsLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"boolean","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"showRiseSet","valueType":"boolean","defaultValue":false,"configTitle":"ShowRiseSetLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"boolean","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"showSecondTime","valueType":"boolean","defaultValue":false,"configTitle":"ShowSecondTimeLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"boolean","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"secondTimeOffset","valueType":"number","defaultValue":0,"configTitle":"SecondTimeOffsetLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"numeric","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null}],"languages":{"valyrian":{"UseZonesColourLabel":"Additionally colour code graph by profile heart rate zones?","ShowRiseSetLabel":"[PRO] Show sunrise/sunset","DK_GRAY":"Dark Gray","DK_GREEN":"Dark Green","BLUE":"Blue","SecondTimeOffsetLabel":"[PRO] Second (digital) time hour offset (integer, +-24)","PURPLE":"Purple","GREEN":"Green","DK_RED":"Dark Red","DK_BLUE":"Dark Blue","AppName":"SnapshotWatch","RED":"Red","PINK":"Pink","CodeLabel":"Activation code for PRO features","ShowHeartRateLabel":"Show heart rate graph and min/max values","GraphColourLabel":"Heart rate graph colour","ShowSecondTimeLabel":"[PRO] Show second (digital) time","YELLOW":"Yellow","ORANGE":"Orange","ShowStepsLabel":"[PRO] Show steps/step goal"}}} \ No newline at end of file +{"settings":[{"key":"code","valueType":"string","defaultValue":"get code at app store page","configTitle":"CodeLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"alphaNumeric","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"showHeartRate","valueType":"boolean","defaultValue":true,"configTitle":"ShowHeartRateLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"boolean","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"graphColour","valueType":"number","defaultValue":0,"configTitle":"GraphColourLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"list","configReadonly":false,"configRequired":true,"configOptions":[{"display":"DK_GRAY","value":0},{"display":"RED","value":1},{"display":"DK_RED","value":2},{"display":"ORANGE","value":3},{"display":"YELLOW","value":4},{"display":"GREEN","value":5},{"display":"DK_GREEN","value":6},{"display":"BLUE","value":7},{"display":"DK_BLUE","value":8},{"display":"PURPLE","value":9},{"display":"PINK","value":10}],"configMin":null,"configMax":null,"configMaxLength":null},{"key":"useZonesColour","valueType":"boolean","defaultValue":true,"configTitle":"UseZonesColourLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"boolean","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"showSteps","valueType":"boolean","defaultValue":false,"configTitle":"ShowStepsLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"boolean","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"showRiseSet","valueType":"boolean","defaultValue":false,"configTitle":"ShowRiseSetLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"boolean","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"showSecondTime","valueType":"boolean","defaultValue":false,"configTitle":"ShowSecondTimeLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"boolean","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null},{"key":"secondTimeOffset","valueType":"number","defaultValue":0,"configTitle":"SecondTimeOffsetLabel","configPrompt":null,"configHelpUrl":null,"configError":null,"configType":"numeric","configReadonly":false,"configRequired":false,"configOptions":null,"configMin":null,"configMax":null,"configMaxLength":null}],"languages":{"valyrian":{"UseZonesColourLabel":"Additionally colour code graph by profile heart rate zones?","ShowRiseSetLabel":"[PRO] Show sunrise/sunset","DK_GRAY":"Dark Gray","DK_GREEN":"Dark Green","BLUE":"Blue","SecondTimeOffsetLabel":"[PRO] Second (digital) time hour offset (integer, +-24)","PURPLE":"Purple","GREEN":"Green","DK_RED":"Dark Red","DK_BLUE":"Dark Blue","AppName":"SnapshotWatch","RED":"Red","PINK":"Pink","CodeLabel":"Activation code for PRO features","ShowHeartRateLabel":"Show heart rate, graph, and min/max values","GraphColourLabel":"Heart rate graph colour","ShowSecondTimeLabel":"[PRO] Show second (digital) time","YELLOW":"Yellow","ORANGE":"Orange","ShowStepsLabel":"[PRO] Show steps/step goal"}}} \ No newline at end of file diff --git a/bin/SnapshotWatch.prg b/bin/SnapshotWatch.prg index 65ee57c4053c998696011a28334bff80d8fd6a67..f16aac75952331f90c294f4f4fb4bc58a5cc12b6 100644 GIT binary patch delta 28908 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

H=2bAO!A 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 diff --git a/bin/SnapshotWatch.prg.debug.xml b/bin/SnapshotWatch.prg.debug.xml index 334b667..093343e 100644 --- a/bin/SnapshotWatch.prg.debug.xml +++ b/bin/SnapshotWatch.prg.debug.xml @@ -79,9 +79,9 @@ - - - + + + @@ -312,139 +312,148 @@ - - + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - + + + - - - - - + + + + + - - + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + @@ -465,6 +474,8 @@ + + @@ -475,9 +486,18 @@ + + + + + + + + + @@ -487,11 +507,21 @@ + + + + + + + + + + @@ -504,54 +534,60 @@ + + + + + + - + - + - + - + - + Load your resources here
]]>
- + Restore the state of the app and prepare the view to be shown
]]>
- + Update the view
]]>
- + The user has just looked at their watch. Timers and animations may be started here.
]]>
- + Terminate any active timers and prepare for slow updates.
]]>
- + - + - + @@ -559,14 +595,14 @@ Draw the watch hand
]]>
- + - + @@ -575,48 +611,61 @@ - + Draw the hash mark symbols
]]>
- + - + - + - + - + - + - + - + - + - + Draw the layout
param The context
]]>
+ + + + + + + + + + + + + diff --git a/resources/resources.xml b/resources/resources.xml index 8b4318c..d03165c 100644 --- a/resources/resources.xml +++ b/resources/resources.xml @@ -13,7 +13,7 @@ Activation code for PRO features - Show heart rate graph and min/max values + Show heart rate, graph, and min/max values Heart rate graph colour Dark Gray Red diff --git a/source/SnapshotWatchView.mc b/source/SnapshotWatchView.mc index 23050c8..8d84a2f 100644 --- a/source/SnapshotWatchView.mc +++ b/source/SnapshotWatchView.mc @@ -138,13 +138,13 @@ class SnapshotWatchView extends Ui.WatchFace { dc.setColor(Gfx.COLOR_WHITE, Gfx.COLOR_TRANSPARENT); // Show cur/min/max HR values (recorded when plotting graph, above) - if (heartNow == 0) - { dc.drawText(width_screen/2, height_screen/2 + 20, Gfx.FONT_SMALL, "-- bpm", Graphics.TEXT_JUSTIFY_CENTER|Graphics.TEXT_JUSTIFY_VCENTER); } - else - { dc.drawText(width_screen/2, height_screen/2 + 20, Gfx.FONT_SMALL, Lang.format("$1$ bpm", [heartNow]), Graphics.TEXT_JUSTIFY_CENTER|Graphics.TEXT_JUSTIFY_VCENTER); } - if (showHeartRate) { + if (heartNow == 0) + { dc.drawText(width_screen/2, height_screen/2 + 20, Gfx.FONT_SMALL, "-- bpm", Graphics.TEXT_JUSTIFY_CENTER|Graphics.TEXT_JUSTIFY_VCENTER); } + else + { dc.drawText(width_screen/2, height_screen/2 + 20, Gfx.FONT_SMALL, Lang.format("$1$ bpm", [heartNow]), Graphics.TEXT_JUSTIFY_CENTER|Graphics.TEXT_JUSTIFY_VCENTER); } + var heartMinMaxString; if (heartMin == 0 || heartMax == 0) { heartMinMaxString = "-- / -- bpm"; }