From 5af78de226ab39fff09a371f69b1a48555c13f6c Mon Sep 17 00:00:00 2001 From: Ben Stern Date: Sat, 5 Mar 2016 14:25:16 -0500 Subject: [PATCH 1/2] Add output in Fahrenheit as well as Celsius. --- AUTHORS.md | 1 + src/octoprint/static/js/app/helpers.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/AUTHORS.md b/AUTHORS.md index f3bbce2c..e84f4ff5 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -60,6 +60,7 @@ date of first contribution): * ["bwgan"](https://github.com/bwgan) * [Siim Raud](https://github.com/2ndalpha) * ["geoporalis"](https://github.com/geoporalis) + * [therealbstern](https://github.com/therealbstern) OctoPrint started off as a fork of [Cura](https://github.com/daid/Cura) by [Daid Braam](https://github.com/daid). Parts of its communication layer and diff --git a/src/octoprint/static/js/app/helpers.js b/src/octoprint/static/js/app/helpers.js index 930eccdd..9c47abbc 100644 --- a/src/octoprint/static/js/app/helpers.js +++ b/src/octoprint/static/js/app/helpers.js @@ -413,7 +413,7 @@ function cleanTemperature(temp) { function formatTemperature(temp) { if (!temp || temp < 10) return gettext("off"); - return _.sprintf("%.1f°C", temp); + return _.sprintf("%.1f°C (%.1f°F)", temp, temp * 9 / 5 + 32); } function pnotifyAdditionalInfo(inner) { From e2d2a6f5a4df437aea68d7d641ad9db4009c332c Mon Sep 17 00:00:00 2001 From: Ben Stern Date: Thu, 24 Mar 2016 20:46:42 -0400 Subject: [PATCH 2/2] Support Fahrenheit display. --- src/octoprint/settings.py | 1 + src/octoprint/static/js/app/helpers.js | 8 ++++++-- src/octoprint/static/js/app/viewmodels/settings.js | 1 + src/octoprint/static/js/app/viewmodels/temperature.js | 5 +++-- .../templates/dialogs/settings/appearance.jinja2 | 7 +++++++ 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/octoprint/settings.py b/src/octoprint/settings.py index 6b29ef12..4b5635ea 100644 --- a/src/octoprint/settings.py +++ b/src/octoprint/settings.py @@ -207,6 +207,7 @@ default_settings = { "color": "default", "colorTransparent": False, "defaultLanguage": "_default", + "showFahrenheitAlso": False, "components": { "order": { "navbar": ["settings", "systemmenu", "login"], diff --git a/src/octoprint/static/js/app/helpers.js b/src/octoprint/static/js/app/helpers.js index 9c47abbc..f691acb4 100644 --- a/src/octoprint/static/js/app/helpers.js +++ b/src/octoprint/static/js/app/helpers.js @@ -411,9 +411,13 @@ function cleanTemperature(temp) { return temp; } -function formatTemperature(temp) { +function formatTemperature(temp, showF) { if (!temp || temp < 10) return gettext("off"); - return _.sprintf("%.1f°C (%.1f°F)", temp, temp * 9 / 5 + 32); + if (showF) { + return _.sprintf("%.1f°C (%.1f°F)", temp, temp * 9 / 5 + 32); + } else { + return _.sprintf("%.1f°C", temp); + } } function pnotifyAdditionalInfo(inner) { diff --git a/src/octoprint/static/js/app/viewmodels/settings.js b/src/octoprint/static/js/app/viewmodels/settings.js index 3d6f63ae..63384bca 100644 --- a/src/octoprint/static/js/app/viewmodels/settings.js +++ b/src/octoprint/static/js/app/viewmodels/settings.js @@ -100,6 +100,7 @@ $(function() { self.appearance_color = ko.observable(undefined); self.appearance_colorTransparent = ko.observable(); self.appearance_defaultLanguage = ko.observable(); + self.appearance_showFahrenheitAlso = ko.observable(undefined); self.printer_defaultExtrusionLength = ko.observable(undefined); diff --git a/src/octoprint/static/js/app/viewmodels/temperature.js b/src/octoprint/static/js/app/viewmodels/temperature.js index 9a4ea651..17cec93f 100644 --- a/src/octoprint/static/js/app/viewmodels/temperature.js +++ b/src/octoprint/static/js/app/viewmodels/temperature.js @@ -248,8 +248,9 @@ $(function() { targets = self.temperatures[type].target; } - var actualTemp = actuals && actuals.length ? formatTemperature(actuals[actuals.length - 1][1]) : "-"; - var targetTemp = targets && targets.length ? formatTemperature(targets[targets.length - 1][1]) : "-"; + var showFahrenheit = self.settingsViewModel.settings.appearance.showFahrenheitAlso(); + var actualTemp = actuals && actuals.length ? formatTemperature(actuals[actuals.length - 1][1], showFahrenheit) : "-"; + var targetTemp = targets && targets.length ? formatTemperature(targets[targets.length - 1][1], showFahrenheit) : "-"; data.push({ label: gettext("Actual") + " " + heaterOptions[type].name + ": " + actualTemp, diff --git a/src/octoprint/templates/dialogs/settings/appearance.jinja2 b/src/octoprint/templates/dialogs/settings/appearance.jinja2 index 48f7d60b..ea7111ca 100644 --- a/src/octoprint/templates/dialogs/settings/appearance.jinja2 +++ b/src/octoprint/templates/dialogs/settings/appearance.jinja2 @@ -36,6 +36,13 @@ {{ _('Changes to the default interface language will only become active after a reload of the page and only be active if not overridden by the user''s language settings.') }} +
+
+ +
+