From 9316105224fa4d7f2b84bfc06f356b47b4e2e1df Mon Sep 17 00:00:00 2001 From: Philipp Baum Date: Mon, 11 Apr 2016 19:57:08 +0200 Subject: [PATCH] Added setting to change GCode-visualizer file size threshold to ui #1145 --- src/octoprint/server/api/settings.py | 4 ++++ src/octoprint/server/views.py | 1 + src/octoprint/settings.py | 2 +- .../static/js/app/viewmodels/settings.js | 4 ++++ .../dialogs/settings/features.jinja2 | 9 +------ .../dialogs/settings/gcodevisualizer.jinja2 | 24 +++++++++++++++++++ 6 files changed, 35 insertions(+), 9 deletions(-) create mode 100644 src/octoprint/templates/dialogs/settings/gcodevisualizer.jinja2 diff --git a/src/octoprint/server/api/settings.py b/src/octoprint/server/api/settings.py index 34a7dffb..c4373422 100644 --- a/src/octoprint/server/api/settings.py +++ b/src/octoprint/server/api/settings.py @@ -60,6 +60,8 @@ def getSettings(): }, "feature": { "gcodeViewer": s.getBoolean(["gcodeViewer", "enabled"]), + "sizeThreshold": s.getInt(["gcodeViewer", "sizeThreshold"]), + "mobileSizeThreshold": s.getInt(["gcodeViewer", "mobileSizeThreshold"]), "temperatureGraph": s.getBoolean(["feature", "temperatureGraph"]), "waitForStart": s.getBoolean(["feature", "waitForStartOnConnect"]), "alwaysSendChecksum": s.getBoolean(["feature", "alwaysSendChecksum"]), @@ -218,6 +220,8 @@ def _saveSettings(data): if "feature" in data.keys(): if "gcodeViewer" in data["feature"].keys(): s.setBoolean(["gcodeViewer", "enabled"], data["feature"]["gcodeViewer"]) + if "sizeThreshold" in data["feature"].keys(): s.setInt(["gcodeViewer", "sizeThreshold"], data["feature"]["sizeThreshold"]) + if "mobileSizeThreshold" in data["feature"].keys(): s.setInt(["gcodeViewer", "mobileSizeThreshold"], data["feature"]["mobileSizeThreshold"]) if "temperatureGraph" in data["feature"].keys(): s.setBoolean(["feature", "temperatureGraph"], data["feature"]["temperatureGraph"]) if "waitForStart" in data["feature"].keys(): s.setBoolean(["feature", "waitForStartOnConnect"], data["feature"]["waitForStart"]) if "alwaysSendChecksum" in data["feature"].keys(): s.setBoolean(["feature", "alwaysSendChecksum"], data["feature"]["alwaysSendChecksum"]) diff --git a/src/octoprint/server/views.py b/src/octoprint/server/views.py index 14a8c3bc..b0902368 100644 --- a/src/octoprint/server/views.py +++ b/src/octoprint/server/views.py @@ -389,6 +389,7 @@ def _process_templates(): features=(gettext("Features"), dict(template="dialogs/settings/features.jinja2", _div="settings_features", custom_bindings=False)), webcam=(gettext("Webcam & Timelapse"), dict(template="dialogs/settings/webcam.jinja2", _div="settings_webcam", custom_bindings=False)), + gcodevisualizer=(gettext("GCODE Visualizer"), dict(template="dialogs/settings/gcodevisualizer.jinja2", _div="settings_gcodegcodevisualizer", custom_bindings=False)), api=(gettext("API"), dict(template="dialogs/settings/api.jinja2", _div="settings_api", custom_bindings=False)), section_octoprint=(gettext("OctoPrint"), None), diff --git a/src/octoprint/settings.py b/src/octoprint/settings.py index a94e9072..c7bc25a3 100644 --- a/src/octoprint/settings.py +++ b/src/octoprint/settings.py @@ -219,7 +219,7 @@ default_settings = { "tab": ["temperature", "control", "gcodeviewer", "terminal", "timelapse"], "settings": [ "section_printer", "serial", "printerprofiles", "temperatures", "terminalfilters", "gcodescripts", - "section_features", "features", "webcam", "accesscontrol", "api", + "section_features", "features", "webcam", "accesscontrol", "gcodevisualizer", "api", "section_octoprint", "server", "folders", "appearance", "logs", "plugin_pluginmanager", "plugin_softwareupdate" ], "usersettings": ["access", "interface"], diff --git a/src/octoprint/static/js/app/viewmodels/settings.js b/src/octoprint/static/js/app/viewmodels/settings.js index ea3dcef0..26dd5c22 100644 --- a/src/octoprint/static/js/app/viewmodels/settings.js +++ b/src/octoprint/static/js/app/viewmodels/settings.js @@ -114,6 +114,10 @@ $(function() { self.webcam_rotate90 = ko.observable(undefined); self.feature_gcodeViewer = ko.observable(undefined); + self.feature_sizeThreshold = ko.observable(); + self.feature_mobileSizeThreshold = ko.observable(); + self.feature_sizeThreshold_str = sizeObservable(self.feature_sizeThreshold); + self.feature_mobileSizeThreshold_str = sizeObservable(self.feature_mobileSizeThreshold); self.feature_temperatureGraph = ko.observable(undefined); self.feature_waitForStart = ko.observable(undefined); self.feature_sendChecksum = ko.observable("print"); diff --git a/src/octoprint/templates/dialogs/settings/features.jinja2 b/src/octoprint/templates/dialogs/settings/features.jinja2 index abb0c38a..ad13738c 100644 --- a/src/octoprint/templates/dialogs/settings/features.jinja2 +++ b/src/octoprint/templates/dialogs/settings/features.jinja2 @@ -8,14 +8,7 @@
- -
-
-
-
-
diff --git a/src/octoprint/templates/dialogs/settings/gcodevisualizer.jinja2 b/src/octoprint/templates/dialogs/settings/gcodevisualizer.jinja2 new file mode 100644 index 00000000..da1e0d17 --- /dev/null +++ b/src/octoprint/templates/dialogs/settings/gcodevisualizer.jinja2 @@ -0,0 +1,24 @@ +
+
+
+ +
+
+
+ +
+
+ +
+ {{ _('on desktop')}} +
+
+
+ +
+ {{ _('on mobile')}} +
+
+
\ No newline at end of file