diff --git a/src/octoprint/server/api/settings.py b/src/octoprint/server/api/settings.py index 8c7a5c56..94aa489f 100644 --- a/src/octoprint/server/api/settings.py +++ b/src/octoprint/server/api/settings.py @@ -47,7 +47,8 @@ def getSettings(): "invertAxes": s.get(["printerParameters", "invertAxes"]), "numExtruders": s.get(["printerParameters", "numExtruders"]), "extruderOffsets": s.get(["printerParameters", "extruderOffsets"]), - "bedDimensions": s.get(["printerParameters", "bedDimensions"]) + "bedDimensions": s.get(["printerParameters", "bedDimensions"]), + "defaultExtrusionLength": s.getInt(["printerParameters", "defaultExtrusionLength"]) }, "webcam": { "streamUrl": s.get(["webcam", "stream"]), @@ -129,6 +130,7 @@ def setSettings(): if "numExtruders" in data["printer"].keys(): s.setInt(["printerParameters", "numExtruders"], data["printer"]["numExtruders"]) if "extruderOffsets" in data["printer"].keys(): s.set(["printerParameters", "extruderOffsets"], data["printer"]["extruderOffsets"]) if "bedDimensions" in data["printer"].keys(): s.set(["printerParameters", "bedDimensions"], data["printer"]["bedDimensions"]) + if "defaultExtrusionLength" in data["printer"]: s.setInt(["printerParameters", "defaultExtrusionLength"], data["printer"]["defaultExtrusionLength"]) if "webcam" in data.keys(): if "streamUrl" in data["webcam"].keys(): s.set(["webcam", "stream"], data["webcam"]["streamUrl"]) diff --git a/src/octoprint/settings.py b/src/octoprint/settings.py index e04bb922..48de87af 100644 --- a/src/octoprint/settings.py +++ b/src/octoprint/settings.py @@ -115,7 +115,8 @@ default_settings = { ], "bedDimensions": { "x": 200.0, "y": 200.0, "r": 100 - } + }, + "defaultExtrusionLength": 5 }, "appearance": { "name": "", diff --git a/src/octoprint/static/js/app/viewmodels/control.js b/src/octoprint/static/js/app/viewmodels/control.js index 4be88d42..cd8f281e 100644 --- a/src/octoprint/static/js/app/viewmodels/control.js +++ b/src/octoprint/static/js/app/viewmodels/control.js @@ -153,7 +153,7 @@ function ControlViewModel(loginStateViewModel, settingsViewModel) { self._sendECommand = function(dir) { var length = self.extrusionAmount(); - if (!length) length = 5; + if (!length) length = self.settings.printer_defaultExtrusionLength(); var data = { command: "extrude", diff --git a/src/octoprint/static/js/app/viewmodels/settings.js b/src/octoprint/static/js/app/viewmodels/settings.js index 30d92698..f6bb0088 100644 --- a/src/octoprint/static/js/app/viewmodels/settings.js +++ b/src/octoprint/static/js/app/viewmodels/settings.js @@ -19,6 +19,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) { self.printer_movementSpeedE = ko.observable(undefined); self.printer_invertAxes = ko.observable(undefined); self.printer_numExtruders = ko.observable(undefined); + self.printer_defaultExtrusionLength = ko.observable(undefined); self._printer_extruderOffsets = ko.observableArray([]); self.printer_extruderOffsets = ko.computed({ @@ -122,6 +123,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) { self.folder_timelapse = ko.observable(undefined); self.folder_timelapseTmp = ko.observable(undefined); self.folder_logs = ko.observable(undefined); + self.folder_watched = ko.observable(undefined); self.cura_enabled = ko.observable(undefined); self.cura_path = ko.observable(undefined); @@ -202,6 +204,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) { self.printer_numExtruders(response.printer.numExtruders); self.printer_extruderOffsets(response.printer.extruderOffsets); self.printer_bedDimensions(response.printer.bedDimensions); + self.printer_defaultExtrusionLength(response.printer.defaultExtrusionLength); self.webcam_streamUrl(response.webcam.streamUrl); self.webcam_snapshotUrl(response.webcam.snapshotUrl); @@ -267,7 +270,8 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) { "invertAxes": self.printer_invertAxes(), "numExtruders": self.printer_numExtruders(), "extruderOffsets": self.printer_extruderOffsets(), - "bedDimensions": self.printer_bedDimensions() + "bedDimensions": self.printer_bedDimensions(), + "defaultExtrusionLength": self.printer_defaultExtrusionLength() }, "webcam": { "streamUrl": self.webcam_streamUrl(), diff --git a/src/octoprint/templates/index.jinja2 b/src/octoprint/templates/index.jinja2 index 54b75b0d..67e3e7f8 100644 --- a/src/octoprint/templates/index.jinja2 +++ b/src/octoprint/templates/index.jinja2 @@ -364,7 +364,7 @@
- + mm
diff --git a/src/octoprint/templates/settings.jinja2 b/src/octoprint/templates/settings.jinja2 index 437d0cb2..d21038f2 100644 --- a/src/octoprint/templates/settings.jinja2 +++ b/src/octoprint/templates/settings.jinja2 @@ -141,6 +141,12 @@ +
+ +
+ +
+