diff --git a/conanfile.py b/conanfile.py index 520e7a693f..d4f365c7a4 100644 --- a/conanfile.py +++ b/conanfile.py @@ -10,7 +10,7 @@ from conan.tools.env import VirtualRunEnv, Environment, VirtualBuildEnv from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration, ConanException -required_conan_version = "<=1.60.0" +required_conan_version = ">=1.54 <=1.56.0 || >=1.58.0 <2.0.0" class CuraConan(ConanFile): @@ -150,9 +150,17 @@ 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]) + 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( @@ -330,7 +338,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 +357,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): @@ -463,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])) diff --git a/cura/Machines/Models/MachineListModel.py b/cura/Machines/Models/MachineListModel.py index 74ef7ae7b4..69a3c53d03 100644 --- a/cura/Machines/Models/MachineListModel.py +++ b/cura/Machines/Models/MachineListModel.py @@ -110,22 +110,22 @@ class MachineListModel(ListModel): for abstract_machine in abstract_machine_stacks: definition_id = abstract_machine.definition.getId() - online_machine_stacks = machines_manager.getMachinesWithDefinition(definition_id, online_only = True) + connected_machine_stacks = machines_manager.getMachinesWithDefinition(definition_id, online_only = False) - online_machine_stacks = list(filter(lambda machine: machine.hasNetworkedConnection(), online_machine_stacks)) - online_machine_stacks.sort(key=lambda machine: machine.getName().upper()) + connected_machine_stacks = list(filter(lambda machine: machine.hasNetworkedConnection(), connected_machine_stacks)) + connected_machine_stacks.sort(key=lambda machine: machine.getName().upper()) if abstract_machine in other_machine_stacks: other_machine_stacks.remove(abstract_machine) - if abstract_machine in online_machine_stacks: - online_machine_stacks.remove(abstract_machine) + if abstract_machine in connected_machine_stacks: + connected_machine_stacks.remove(abstract_machine) # Create a list item for abstract machine - self.addItem(abstract_machine, True, len(online_machine_stacks)) + self.addItem(abstract_machine, True, len(connected_machine_stacks)) # Create list of machines that are children of the abstract machine - for stack in online_machine_stacks: + for stack in connected_machine_stacks: if self._show_cloud_printers: self.addItem(stack, True) # Remove this machine from the other stack list diff --git a/plugins/Marketplace/resources/qml/Marketplace.qml b/plugins/Marketplace/resources/qml/Marketplace.qml index 97ba2303e9..8028b89e02 100644 --- a/plugins/Marketplace/resources/qml/Marketplace.qml +++ b/plugins/Marketplace/resources/qml/Marketplace.qml @@ -280,7 +280,7 @@ Window onClicked: { marketplaceDialog.hide(); - CuraApplication.closeApplication(); + CuraApplication.checkAndExitApplication(); } } } diff --git a/resources/qml/Dialogs/AboutDialog.qml b/resources/qml/Dialogs/AboutDialog.qml index ae2bd44d74..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 { @@ -58,6 +51,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 @@ -194,11 +196,6 @@ UM.Dialog } - onShakeDetectedChanged: - { - projectsList.visible = !projectsList.visible; - projectBuildInfoList.visible = !projectBuildInfoList.visible; - } onVisibleChanged: {