diff --git a/apps/circlesclock/ChangeLog b/apps/circlesclock/ChangeLog index ea7266442..f840ca447 100644 --- a/apps/circlesclock/ChangeLog +++ b/apps/circlesclock/ChangeLog @@ -31,3 +31,4 @@ 0.16: Fix const error Use widget_utils if available 0.17: Load circles from clkinfo +0.18: Improved clkinfo handling diff --git a/apps/circlesclock/app.js b/apps/circlesclock/app.js index d4a170ce8..b5770df6c 100644 --- a/apps/circlesclock/app.js +++ b/apps/circlesclock/app.js @@ -690,17 +690,18 @@ function drawClkInfo(index, w) { return; } var item = info.items[circleItemNum[index-1]]; - //TODO do hide()+get() here item.show(); item.hide(); - item=item.get(); - var img = item.img; + var data=item.get(); + var img = data.img; + var percent = 1; //fill up if no range + var txt = data.text; if(!img) img = info.img; - let percent = (item.v-item.min) / item.max; - if(isNaN(percent)) percent = 1; //fill it up + if(item.hasRange) percent = (data.v-data.min) / (data.max-data.min); + if(item.short) txt = item.short; drawGauge(w, h3, percent, color); drawInnerCircleAndTriangle(w); - writeCircleText(w, item.text); + writeCircleText(w, txt); g.setColor(getCircleIconColor(type, color, percent)) .drawImage(img, w - iconOffset, h3 + radiusOuter - iconOffset, {scale: 16/24}); } diff --git a/apps/circlesclock/metadata.json b/apps/circlesclock/metadata.json index 490d6c4fb..fb743ae4c 100644 --- a/apps/circlesclock/metadata.json +++ b/apps/circlesclock/metadata.json @@ -1,7 +1,7 @@ { "id": "circlesclock", "name": "Circles clock", "shortName":"Circles clock", - "version":"0.17", + "version":"0.18", "description": "A clock with three or four circles for different data at the bottom in a probably familiar style", "icon": "app.png", "screenshots": [{"url":"screenshot-dark.png"}, {"url":"screenshot-light.png"}, {"url":"screenshot-dark-4.png"}, {"url":"screenshot-light-4.png"}], diff --git a/apps/circlesclock/settings.js b/apps/circlesclock/settings.js index ca26cb295..2006790b8 100644 --- a/apps/circlesclock/settings.js +++ b/apps/circlesclock/settings.js @@ -17,7 +17,6 @@ var valuesCircleTypes = ["empty","weather", "sunprogress"]; var namesCircleTypes = ["empty","weather", "sun"]; clock_info.load().forEach(e=>{ - //TODO filter for hasRange and other if(!e.items.length || !e.items[0].name) { //suppose unnamed are varying (like timers or events), pick the first item = e.items[0];