From e686baaf923f58555ee796fddc9cdd08581ce9a0 Mon Sep 17 00:00:00 2001 From: "saumya.jain" Date: Mon, 31 Jul 2023 11:47:15 +0200 Subject: [PATCH 1/4] Fixed for all the used python packages in venv CURA-10770 --- conanfile.py | 16 ++++++++++++---- resources/qml/Dialogs/AboutDialog.qml | 9 +++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/conanfile.py b/conanfile.py index d75b2bc6bf..f028ccbe9e 100644 --- a/conanfile.py +++ b/conanfile.py @@ -150,9 +150,14 @@ class CuraConan(ConanFile): conan_installs.append([dependency.ref.name,dependency.ref.version]) #list of python installs - import pkg_resources - for package in pkg_resources.working_set: - python_installs.append([package.key, package.version]) + python_ins_cmd = f""" python -c "import pkg_resources; import os; [open(os.path.join("'"{self.recipe_folder}"'", "'"info.txt"'"), "'"a"'").write(s.key+"'","'"+ s.version+"'";"'") for s in pkg_resources.working_set]" """ + self.run(python_ins_cmd, run_environment= True, env = "conanrun", output=True) + with open(os.path.join(self.recipe_folder, "info.txt"), "r") as f: + packages = f.read() + package = packages.split(";") + for pack in package: + python_installs.append(pack.split(",")) + os.remove(os.path.join(self.recipe_folder, "info.txt")) with open(os.path.join(location, "AboutDialogVersionsList.qml"), "w") as f: f.write(cura_version_py.render( @@ -330,7 +335,7 @@ class CuraConan(ConanFile): vr.generate() self._generate_cura_version(os.path.join(self.source_folder, "cura")) - self._generate_about_versions(os.path.join(self.source_folder, "resources/qml/Dialogs")) + if self.options.devtools: entitlements_file = "'{}'".format(os.path.join(self.source_folder, "packaging", "MacOS", "cura.entitlements")) @@ -349,6 +354,8 @@ class CuraConan(ConanFile): pot = self.python_requires["translationextractor"].module.ExtractTranslations(self, cpp_info.bindirs[0]) pot.generate() + self._generate_about_versions(os.path.join(self.source_folder, "resources/qml/Dialogs")) + def build(self): if self.options.devtools: if self.settings.os != "Windows" or self.conf.get("tools.microsoft.bash:path", check_type = str): @@ -358,6 +365,7 @@ class CuraConan(ConanFile): mo_file = mo_file.parent.joinpath("LC_MESSAGES", mo_file.name) mkdir(self, str(unix_path(self, Path(mo_file).parent))) cpp_info = self.dependencies["gettext"].cpp_info + print("we are here /n") self.run(f"{cpp_info.bindirs[0]}/msgfmt {po_file} -o {mo_file} -f", env="conanbuild", ignore_errors=True) def imports(self): diff --git a/resources/qml/Dialogs/AboutDialog.qml b/resources/qml/Dialogs/AboutDialog.qml index ae2bd44d74..8f3723da87 100644 --- a/resources/qml/Dialogs/AboutDialog.qml +++ b/resources/qml/Dialogs/AboutDialog.qml @@ -58,6 +58,15 @@ UM.Dialog anchors.horizontalCenter: parent.horizontalCenter UM.I18nCatalog{id: catalog; name: "cura"} + MouseArea + { + anchors.fill: parent + onClicked: + { + projectsList.visible = !projectsList.visible; + projectBuildInfoList.visible = !projectBuildInfoList.visible; + } + } } UM.Label From 1442031e28dde91ba12bf2a8b67b1f41154cfbc2 Mon Sep 17 00:00:00 2001 From: "saumya.jain" Date: Wed, 2 Aug 2023 09:24:42 +0200 Subject: [PATCH 2/4] Review comments fixed CURA-10770 --- conanfile.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/conanfile.py b/conanfile.py index f028ccbe9e..8c86bdb60f 100644 --- a/conanfile.py +++ b/conanfile.py @@ -139,7 +139,7 @@ class CuraConan(ConanFile): return "None" def _generate_about_versions(self, location): - with open(os.path.join(self.recipe_folder, "AboutDialogVersionsList.qml.jinja"), "r") as f: + with open(os.path.join(self.source_folder, "AboutDialogVersionsList.qml.jinja"), "r") as f: cura_version_py = Template(f.read()) conan_installs = [] @@ -150,14 +150,17 @@ class CuraConan(ConanFile): conan_installs.append([dependency.ref.name,dependency.ref.version]) #list of python installs - python_ins_cmd = f""" python -c "import pkg_resources; import os; [open(os.path.join("'"{self.recipe_folder}"'", "'"info.txt"'"), "'"a"'").write(s.key+"'","'"+ s.version+"'";"'") for s in pkg_resources.working_set]" """ - self.run(python_ins_cmd, run_environment= True, env = "conanrun", output=True) - with open(os.path.join(self.recipe_folder, "info.txt"), "r") as f: - packages = f.read() - package = packages.split(";") - for pack in package: - python_installs.append(pack.split(",")) - os.remove(os.path.join(self.recipe_folder, "info.txt")) + outer = '"' if self.settings.os == "Windows" else "'" + inner = "'" if self.settings.os == "Windows" else '"' + python_ins_cmd = f"python -c {outer}import pkg_resources; print({inner};{inner}.join([(s.key+{inner},{inner}+ s.version) for s in pkg_resources.working_set])){outer}" + from six import StringIO + buffer = StringIO() + self.run(python_ins_cmd, run_environment= True, env = "conanrun", output=buffer) + + packages = str(buffer.getvalue()).split("-----------------\n") + package = packages[1].strip('\r\n').split(";") + for pack in package: + python_installs.append(pack.split(",")) with open(os.path.join(location, "AboutDialogVersionsList.qml"), "w") as f: f.write(cura_version_py.render( @@ -354,7 +357,7 @@ class CuraConan(ConanFile): pot = self.python_requires["translationextractor"].module.ExtractTranslations(self, cpp_info.bindirs[0]) pot.generate() - self._generate_about_versions(os.path.join(self.source_folder, "resources/qml/Dialogs")) + self._generate_about_versions(os.path.join(self.source_folder, "resources","qml", "Dialogs")) def build(self): if self.options.devtools: @@ -365,7 +368,6 @@ class CuraConan(ConanFile): mo_file = mo_file.parent.joinpath("LC_MESSAGES", mo_file.name) mkdir(self, str(unix_path(self, Path(mo_file).parent))) cpp_info = self.dependencies["gettext"].cpp_info - print("we are here /n") self.run(f"{cpp_info.bindirs[0]}/msgfmt {po_file} -o {mo_file} -f", env="conanbuild", ignore_errors=True) def imports(self): @@ -471,6 +473,8 @@ echo "CURA_APP_NAME={{ cura_app_name }}" >> ${{ env_prefix }}GITHUB_ENV icon_path = "'{}'".format(os.path.join(self.package_folder, self.cpp_info.resdirs[2], self.conan_data["pyinstaller"]["icon"][str(self.settings.os)])).replace("\\", "\\\\"), entitlements_file = entitlements_file if self.settings.os == "Macos" else "None") + self._generate_about_versions(os.path.join(self.source_folder, "resources", "qml", "Dialogs")) + def package(self): copy(self, "cura_app.py", src = self.source_folder, dst = os.path.join(self.package_folder, self.cpp.package.bindirs[0])) copy(self, "*", src = os.path.join(self.source_folder, "cura"), dst = os.path.join(self.package_folder, self.cpp.package.libdirs[0])) From a6780b541726dd5eb479583cbd267751afd3ac08 Mon Sep 17 00:00:00 2001 From: "saumya.jain" Date: Wed, 2 Aug 2023 10:45:02 +0200 Subject: [PATCH 3/4] Review comments fixed CURA-10770 --- conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conanfile.py b/conanfile.py index 8c86bdb60f..1f7b1c6620 100644 --- a/conanfile.py +++ b/conanfile.py @@ -21,7 +21,7 @@ class CuraConan(ConanFile): description = "3D printer / slicing GUI built on top of the Uranium framework" topics = ("conan", "python", "pyqt6", "qt", "qml", "3d-printing", "slicer") build_policy = "missing" - exports = "LICENSE*", "UltiMaker-Cura.spec.jinja", "CuraVersion.py.jinja" + exports = "LICENSE*", "UltiMaker-Cura.spec.jinja", "CuraVersion.py.jinja", "AboutDialogVersionsList.qml.jinja" settings = "os", "compiler", "build_type", "arch" # FIXME: Remove specific branch once merged to main @@ -139,7 +139,7 @@ class CuraConan(ConanFile): return "None" def _generate_about_versions(self, location): - with open(os.path.join(self.source_folder, "AboutDialogVersionsList.qml.jinja"), "r") as f: + with open(os.path.join(self.recipe_folder, "AboutDialogVersionsList.qml.jinja"), "r") as f: cura_version_py = Template(f.read()) conan_installs = [] From fc9a2280623003f109de53bd49e9477b17411d95 Mon Sep 17 00:00:00 2001 From: "saumya.jain" Date: Fri, 4 Aug 2023 14:24:38 +0200 Subject: [PATCH 4/4] Deleting Shake detection CURA-10770 --- resources/qml/Dialogs/AboutDialog.qml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/resources/qml/Dialogs/AboutDialog.qml b/resources/qml/Dialogs/AboutDialog.qml index 8f3723da87..b0cd9d2ad3 100644 --- a/resources/qml/Dialogs/AboutDialog.qml +++ b/resources/qml/Dialogs/AboutDialog.qml @@ -21,13 +21,6 @@ UM.Dialog backgroundColor: UM.Theme.getColor("main_background") - property real dialogX: base.x - property real dialogY: base.y - property int shakeDetected: shakeDetector.shakeIsdetected - property UM.ShakeDetector shakeDetector: UM.ShakeDetector - { - position: Qt.point(base.x, base.y) - } Rectangle { @@ -203,11 +196,6 @@ UM.Dialog } - onShakeDetectedChanged: - { - projectsList.visible = !projectsList.visible; - projectBuildInfoList.visible = !projectBuildInfoList.visible; - } onVisibleChanged: {