From 563829bf82e9ff32104c3b48fd18ad8ed67700cc Mon Sep 17 00:00:00 2001 From: Flaparoo <629229+flaparoo@users.noreply.github.com> Date: Tue, 10 Sep 2024 21:18:25 +0800 Subject: [PATCH] calculator: truncate long numbers --- apps/calculator/ChangeLog | 1 + apps/calculator/app.js | 4 ++++ apps/calculator/metadata.json | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/calculator/ChangeLog b/apps/calculator/ChangeLog index 2e1ace7bff..7e66e5d554 100644 --- a/apps/calculator/ChangeLog +++ b/apps/calculator/ChangeLog @@ -5,3 +5,4 @@ 0.05: Grid positioning and swipe controls to switch between numbers, operators and special (for Bangle.js 2) 0.06: Bangle.js 2: Exit with a short press of the physical button 0.07: Bangle.js 2: Exit by pressing upper left corner of the screen +0.08: truncate long numbers (and append '-' to displayed value) diff --git a/apps/calculator/app.js b/apps/calculator/app.js index 465291d139..b3b2f16f53 100644 --- a/apps/calculator/app.js +++ b/apps/calculator/app.js @@ -13,6 +13,7 @@ require("Font7x11Numeric7Seg").add(Graphics); var DEFAULT_SELECTION_NUMBERS = '5', DEFAULT_SELECTION_OPERATORS = '=', DEFAULT_SELECTION_SPECIALS = 'R'; var RIGHT_MARGIN = 20; var RESULT_HEIGHT = 40; +var RESULT_MAX_LEN = Math.floor((g.getWidth() - 20) / 14); var COLORS = { // [normal, selected] DEFAULT: ['#7F8183', '#A6A6A7'], @@ -261,6 +262,9 @@ function displayOutput(num) { num = num.toString(); num = num.replace("-","- "); // fix padding for '-' g.setFont('7x11Numeric7Seg', 2); + if (num.length > RESULT_MAX_LEN) { + num = num.substr(0, RESULT_MAX_LEN - 1)+'-'; + } } g.setFontAlign(1,0); g.drawString(num, g.getWidth()-20, RESULT_HEIGHT/2); diff --git a/apps/calculator/metadata.json b/apps/calculator/metadata.json index 1674b78434..a88444e11d 100644 --- a/apps/calculator/metadata.json +++ b/apps/calculator/metadata.json @@ -2,7 +2,7 @@ "id": "calculator", "name": "Calculator", "shortName": "Calculator", - "version": "0.07", + "version": "0.08", "description": "Basic calculator reminiscent of MacOs's one. Handy for small calculus.", "icon": "calculator.png", "screenshots": [{"url":"screenshot_calculator.png"}],