From 2749de9a6748a93ff1cda37c731660a630ec37a5 Mon Sep 17 00:00:00 2001 From: David Fries Date: Fri, 30 Aug 2024 09:12:03 -0500 Subject: [PATCH 1/3] Fix RecentFilesMenu.qml onObjectRemoved incompatible arguments "share/cura/resources/qml/Menus/RecentFilesMenu.qml:39: TypeError: Passing incompatible arguments to C++ functions from JavaScript is not allowed." This was passing the Instantiator index, which is a Number to menu.removeItem which is expecting an object. Add the missing index argument. I found Qt 5.7 had two arguments so it has been there for some time. --- resources/qml/ActionPanel/OutputProcessWidget.qml | 2 +- resources/qml/Menus/RecentFilesMenu.qml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/qml/ActionPanel/OutputProcessWidget.qml b/resources/qml/ActionPanel/OutputProcessWidget.qml index 1303dc20a26..c609cd6ca51 100644 --- a/resources/qml/ActionPanel/OutputProcessWidget.qml +++ b/resources/qml/ActionPanel/OutputProcessWidget.qml @@ -10,7 +10,7 @@ import Cura 1.0 as Cura // This element contains all the elements the user needs to visualize the data -// that is gather after the slicing process, such as printint time, material usage, ... +// that is gather after the slicing process, such as printing time, material usage, ... // There are also two buttons: one to previsualize the output layers, and the other to // select what to do with it (such as print over network, save to file, ...) Column diff --git a/resources/qml/Menus/RecentFilesMenu.qml b/resources/qml/Menus/RecentFilesMenu.qml index 19ff6812198..93fddd0bf69 100644 --- a/resources/qml/Menus/RecentFilesMenu.qml +++ b/resources/qml/Menus/RecentFilesMenu.qml @@ -2,7 +2,7 @@ // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 -import QtQuick.Controls 2.1 +import QtQuick.Controls 2.15 import UM 1.3 as UM import Cura 1.0 as Cura @@ -30,6 +30,6 @@ Cura.Menu onTriggered: CuraApplication.readLocalFile(modelData) } onObjectAdded: (index, object) => menu.insertItem(index, object) - onObjectRemoved: (object) => menu.removeItem(object) + onObjectRemoved: (index, object) => menu.removeItem(object) } } From 38695d9572bb84eaa20acbb2ca10ecb2f2408907 Mon Sep 17 00:00:00 2001 From: David Fries Date: Fri, 30 Aug 2024 10:34:12 -0500 Subject: [PATCH 2/3] Fix RecommendedSupportSelector.qml assign undefined to int share/cura/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml:60:17: Unable to assign [undefined] to int If undefined use Widgets/SingleSettingComboBox.qml default of Cura.ExtruderManager.activeExtruderIndex --- .../Recommended/RecommendedSupportSelector.qml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml index 254ba477bf7..c1b36676c79 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml @@ -57,7 +57,9 @@ RecommendedSettingSection settingName: "support_structure" propertyRemoveUnusedValue: false updateAllExtruders: false - defaultExtruderIndex: supportExtruderProvider.properties.value + defaultExtruderIndex: supportExtruderProvider.properties.value != undefined ? + supportExtruderProvider.properties.value : + Cura.ExtruderManager.activeExtruderIndex } }, RecommendedSettingItem @@ -92,7 +94,9 @@ RecommendedSettingSection width: parent.width settingName: "support_type" updateAllExtruders: true - defaultExtruderIndex: supportExtruderProvider.properties.value + defaultExtruderIndex: supportExtruderProvider.properties.value != undefined ? + supportExtruderProvider.properties.value : + Cura.ExtruderManager.activeExtruderIndex } } ] From 6e3e3e67425a100e13eb7f7f85e390f5e7cc9dfa Mon Sep 17 00:00:00 2001 From: David Fries Date: Fri, 30 Aug 2024 18:20:52 -0500 Subject: [PATCH 3/3] Use raw strings for regular expressions with invalid escape sequences If "T(\d*)" was "T(\n*)" it would search for newlines. There isn't any such \d escape character. It should be "T(\\d*)" or r"T(\d*)" going with the latter, to be easier to read and be consistent with other Cura usage. Start python with -Wd or for python 3.12 will raise a SyntaxWarning. --- plugins/PostProcessingPlugin/Script.py | 2 +- plugins/PostProcessingPlugin/scripts/PauseAtHeight.py | 2 +- plugins/UM3NetworkPrinting/src/ExportFileJob.py | 2 +- scripts/extract_changelog.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/PostProcessingPlugin/Script.py b/plugins/PostProcessingPlugin/Script.py index be661e08894..bdd57a06e00 100644 --- a/plugins/PostProcessingPlugin/Script.py +++ b/plugins/PostProcessingPlugin/Script.py @@ -122,7 +122,7 @@ def getValue(self, line: str, key: str, default = None) -> Any: if not key in line or (';' in line and line.find(key) > line.find(';')): return default sub_part = line[line.find(key) + 1:] - m = re.search('^-?[0-9]+\.?[0-9]*', sub_part) + m = re.search(r'^-?[0-9]+\.?[0-9]*', sub_part) if m is None: return default try: diff --git a/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py b/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py index f502678317a..43df7669623 100644 --- a/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py +++ b/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py @@ -338,7 +338,7 @@ def execute(self, data: List[str]) -> List[str]: nbr_negative_layers += 1 #Track the latest printing temperature in order to resume at the correct temperature. - if re.match("T(\d*)", line): + if re.match(r"T(\d*)", line): current_t = self.getValue(line, "T") m = self.getValue(line, "M") if m is not None and (m == 104 or m == 109) and self.getValue(line, "S") is not None: diff --git a/plugins/UM3NetworkPrinting/src/ExportFileJob.py b/plugins/UM3NetworkPrinting/src/ExportFileJob.py index ac3da657190..1ab493c7478 100644 --- a/plugins/UM3NetworkPrinting/src/ExportFileJob.py +++ b/plugins/UM3NetworkPrinting/src/ExportFileJob.py @@ -28,7 +28,7 @@ def __init__(self, file_handler: Optional[FileHandler], nodes: List[SceneNode], # Determine the filename. job_name = CuraApplication.getInstance().getPrintInformation().jobName - job_name = re.sub("[^\w\-. ()]", "-", job_name) + job_name = re.sub(r"[^\w\-. ()]", "-", job_name) extension = self._mesh_format_handler.preferred_format.get("extension", "") self.setFileName("{}.{}".format(job_name, extension)) diff --git a/scripts/extract_changelog.py b/scripts/extract_changelog.py index a1a0b251f0b..934b963e0a9 100644 --- a/scripts/extract_changelog.py +++ b/scripts/extract_changelog.py @@ -13,7 +13,7 @@ args.version = args.version[:-2] start_token = f"[{args.version}]" - pattern_stop_log = "\[\d+(\.\d+){1,2}\]" + pattern_stop_log = r"\[\d+(\.\d+){1,2}\]" log_line = False first_chapter = True