Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjspijker <j.spijker@ultimaker.com>2022-07-08 13:37:32 +0300
committerjspijker <j.spijker@ultimaker.com>2022-07-08 13:37:32 +0300
commitf9d4628b950c4bf85895d8e32b1112f7c6be6999 (patch)
tree37b7dbe01973f707cda1464add78e3d5cb0b0dce
parent8750c218db0a0da2705718d8d6614c34f71df31c (diff)
parentd1cd4eec7667572d2abc89c639d0582bd4ed40c8 (diff)
Merge branch 'main' into CURA-9365
# Conflicts: # .github/workflows/ci.yml # .github/workflows/cura-installer.yml # .github/workflows/requirements-conan-package.txt # resources/definitions/Mark2_for_Ultimaker2.def.json # resources/definitions/elegoo_neptune_2.def.json # resources/definitions/elegoo_neptune_2D.def.json
-rw-r--r--.github/workflows/requirements-conan-package.txt2
-rw-r--r--plugins/DigitalLibrary/src/DFFileExportAndUploadManager.py15
-rw-r--r--plugins/Marketplace/Marketplace.py11
-rw-r--r--resources/definitions/Mark2_for_Ultimaker2.def.json6
-rw-r--r--resources/definitions/elegoo_neptune_2.def.json1
-rw-r--r--resources/definitions/elegoo_neptune_2D.def.json1
-rw-r--r--resources/i18n/nl_NL/cura.po14
-rw-r--r--resources/qml/Dialogs/AboutDialog.qml68
-rw-r--r--scripts/rename_cura_1_tags.sh14
9 files changed, 75 insertions, 57 deletions
diff --git a/.github/workflows/requirements-conan-package.txt b/.github/workflows/requirements-conan-package.txt
index 674ef437c2..c6b564e450 100644
--- a/.github/workflows/requirements-conan-package.txt
+++ b/.github/workflows/requirements-conan-package.txt
@@ -1,2 +1,2 @@
conan
-sip==6.5.1 \ No newline at end of file
+sip==6.5.1
diff --git a/plugins/DigitalLibrary/src/DFFileExportAndUploadManager.py b/plugins/DigitalLibrary/src/DFFileExportAndUploadManager.py
index 69bf4b1233..4defd2f409 100644
--- a/plugins/DigitalLibrary/src/DFFileExportAndUploadManager.py
+++ b/plugins/DigitalLibrary/src/DFFileExportAndUploadManager.py
@@ -1,5 +1,6 @@
-# Copyright (c) 2021 Ultimaker B.V.
+# Copyright (c) 2022 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
+
import json
import threading
from json import JSONDecodeError
@@ -135,6 +136,9 @@ class DFFileExportAndUploadManager:
else:
Logger.log("e", "Wrong response type received. Aborting uploading file to the Digital Library")
return
+ if file_name not in self._file_upload_job_metadata:
+ Logger.error(f"API response for uploading doesn't match the file name we just uploaded: {file_name} was never uploaded.")
+ return
with self._message_lock:
self.progress_message.show()
self._file_upload_job_metadata[file_name]["file_upload_response"] = file_upload_response
@@ -335,10 +339,11 @@ class DFFileExportAndUploadManager:
self._handleNextUploadJob()
def _handleNextUploadJob(self):
- match self._upload_jobs:
- case [job, *jobs]:
- job.start()
- self._upload_jobs = jobs
+ try:
+ job = self._upload_jobs.pop(0)
+ job.start()
+ except IndexError:
+ pass # Empty list, do nothing.
def initializeFileUploadJobMetadata(self) -> Dict[str, Any]:
metadata = {}
diff --git a/plugins/Marketplace/Marketplace.py b/plugins/Marketplace/Marketplace.py
index b2c729c2cd..86910f8f4a 100644
--- a/plugins/Marketplace/Marketplace.py
+++ b/plugins/Marketplace/Marketplace.py
@@ -22,7 +22,6 @@ class Marketplace(Extension, QObject):
QObject.__init__(self, parent)
Extension.__init__(self)
self._window: Optional["QObject"] = None # If the window has been loaded yet, it'll be cached in here.
- self._plugin_registry: Optional[PluginRegistry] = None
self._package_manager = CuraApplication.getInstance().getPackageManager()
self._material_package_list: Optional[RemotePackageList] = None
@@ -81,9 +80,9 @@ class Marketplace(Extension, QObject):
If the window hadn't been loaded yet into Qt, it will be created lazily.
"""
if self._window is None:
- self._plugin_registry = PluginRegistry.getInstance()
- self._plugin_registry.pluginsEnabledOrDisabledChanged.connect(self.checkIfRestartNeeded)
- plugin_path = PluginRegistry.getInstance().getPluginPath(self.getPluginId())
+ plugin_registry = PluginRegistry.getInstance()
+ plugin_registry.pluginsEnabledOrDisabledChanged.connect(self.checkIfRestartNeeded)
+ plugin_path = plugin_registry.getPluginPath(self.getPluginId())
if plugin_path is None:
plugin_path = os.path.dirname(__file__)
path = os.path.join(plugin_path, "resources", "qml", "Marketplace.qml")
@@ -108,7 +107,7 @@ class Marketplace(Extension, QObject):
return
if self._package_manager.hasPackagesToRemoveOrInstall or \
- cast(PluginRegistry, self._plugin_registry).getCurrentSessionActivationChangedPlugins():
+ PluginRegistry.getInstance().getCurrentSessionActivationChangedPlugins():
self._restart_needed = True
else:
self._restart_needed = False
@@ -116,7 +115,7 @@ class Marketplace(Extension, QObject):
showRestartNotificationChanged = pyqtSignal()
- @pyqtProperty(bool, notify=showRestartNotificationChanged)
+ @pyqtProperty(bool, notify = showRestartNotificationChanged)
def showRestartNotification(self) -> bool:
return self._restart_needed
diff --git a/resources/definitions/Mark2_for_Ultimaker2.def.json b/resources/definitions/Mark2_for_Ultimaker2.def.json
index 6ecc6bbda3..68498db423 100644
--- a/resources/definitions/Mark2_for_Ultimaker2.def.json
+++ b/resources/definitions/Mark2_for_Ultimaker2.def.json
@@ -158,8 +158,10 @@
"acceleration_topbottom": { "value": "math.ceil(acceleration_print * 500 / 4000)" },
"acceleration_wall": { "value": "math.ceil(acceleration_print * 1000 / 4000)" },
"acceleration_wall_0": { "value": "math.ceil(acceleration_wall * 500 / 1000)" },
- "jerk_enabled": { "value": true },
- "jerk_print": {"value": 12 },
+ "jerk_enabled":
+ {
+ "default_value": true
+ },
"jerk_travel":
{
"value": "jerk_print if magic_spiralize else 20"
diff --git a/resources/definitions/elegoo_neptune_2.def.json b/resources/definitions/elegoo_neptune_2.def.json
index 7f52c0aecf..8e564289f5 100644
--- a/resources/definitions/elegoo_neptune_2.def.json
+++ b/resources/definitions/elegoo_neptune_2.def.json
@@ -38,7 +38,6 @@
"raft_airgap":{"default_value": 0.25},
"brim_width":{"default_value": 5},
"skin_angles":{"default_value": [45, 135]},
- "infill_pattern":{"value": "gyroid"},
"machine_gcode_flavor": {"default_value": "RepRap (Marlin/Sprinter)"},
"machine_start_gcode": {"default_value": ";simage\n;gimage\nG28 ;home\nG92 E0 ;Reset Extruder\nG1 Z4.0 F3000 ;Move Z Axis up\nG92 E0 ;Reset Extruder\nG1 X1.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X1.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X1.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X1.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up"},
"machine_end_gcode": {"default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F1600 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\nG1 X0 Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z"}
diff --git a/resources/definitions/elegoo_neptune_2D.def.json b/resources/definitions/elegoo_neptune_2D.def.json
index be784223f2..78e87d6f40 100644
--- a/resources/definitions/elegoo_neptune_2D.def.json
+++ b/resources/definitions/elegoo_neptune_2D.def.json
@@ -47,7 +47,6 @@
"raft_airgap":{"default_value": 0.25},
"brim_width":{"default_value": 5},
"skin_angles":{"default_value": [45, 135]},
- "infill_pattern":{"value": "gyroid"},
"machine_gcode_flavor": {"default_value": "RepRap (Marlin/Sprinter)"},
"machine_start_gcode": {"default_value": ";simage\n;gimage\nG28 ;home\n;G29 ;Run ABL\n;M420 S1 ;Enable ABL mesh\nG92 E0 ;Reset Extruder\nG1 Z4.0 F3000 ;Move Z Axis up\nG92 E0 ;Reset Extruder\nG1 X2.0 Y20 Z0.28 F5000.0 ;Move to start position\nG1 E90 F1200 ;Load filament\nG92 E0 ;Reset Extruder\nG1 X2.0 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X2.3 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X2.3 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up"},
"machine_end_gcode": {"default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-80 Z0.2 F1600 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\nG1 X0 Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z"}
diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po
index 072866aa2a..f9947cef85 100644
--- a/resources/i18n/nl_NL/cura.po
+++ b/resources/i18n/nl_NL/cura.po
@@ -3457,7 +3457,7 @@ msgid ""
"- Back-up and sync your material profiles and plug-ins\n"
"- Share ideas and get help from 48,000+ users in the Ultimaker community"
msgstr ""
-"- Voeg materiaalprofielen en plug-ins toe uit de Marktplaats\n"
+"- Voeg materiaalprofielen en plug-ins toe uit de Marketplace\n"
"- Maak back-ups van uw materiaalprofielen en plug-ins en synchroniseer deze\n"
"- Deel ideeën met 48.000+ gebruikers in de Ultimaker-community of vraag hen om ondersteuning"
@@ -4288,7 +4288,7 @@ msgstr "Weet u zeker dat u een nieuw project wilt starten? Hiermee wordt het pla
#: /home/trin/Gedeeld/Projects/Cura/resources/qml/MainWindow/MainWindowHeader.qml:135
msgctxt "@action:button"
msgid "Marketplace"
-msgstr "Marktplaats"
+msgstr "Marketplace"
#: /home/trin/Gedeeld/Projects/Cura/resources/qml/Menus/ConfigurationMenu/AutoConfiguration.qml:18
msgctxt "@header"
@@ -4303,7 +4303,7 @@ msgstr "Deze configuratie is niet beschikbaar omdat %1 niet wordt herkend. Ga na
#: /home/trin/Gedeeld/Projects/Cura/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml:138
msgctxt "@label"
msgid "Marketplace"
-msgstr "Marktplaats"
+msgstr "Marketplace"
#: /home/trin/Gedeeld/Projects/Cura/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml:52
msgctxt "@label"
@@ -5995,7 +5995,7 @@ msgstr "Release notes"
#: /home/trin/Gedeeld/Projects/Cura/resources/qml/WelcomePages/CloudContent.qml:123
msgctxt "@text"
msgid "Add material settings and plugins from the Marketplace"
-msgstr "Voeg materiaalinstellingen en plugins uit de Marktplaats toe"
+msgstr "Voeg materiaalinstellingen en plugins uit de Marketplace toe"
#: /home/trin/Gedeeld/Projects/Cura/resources/qml/WelcomePages/CloudContent.qml:149
msgctxt "@text"
@@ -6297,7 +6297,7 @@ msgstr "Beheert extensies voor de toepassing en staat browsingextensies toe van
#: Marketplace/plugin.json
msgctxt "name"
msgid "Marketplace"
-msgstr "Marktplaats"
+msgstr "Marketplace"
#: MonitorStage/plugin.json
msgctxt "description"
@@ -6777,7 +6777,7 @@ msgstr "Röntgenweergave"
#~ msgctxt "@title"
#~ msgid "Marketplace"
-#~ msgstr "Marktplaats"
+#~ msgstr "Marketplace"
#~ msgctxt "@info"
#~ msgid "You will need to restart Cura before changes in packages have effect."
@@ -7055,7 +7055,7 @@ msgstr "Röntgenweergave"
#~ msgctxt "@action:menu"
#~ msgid "&Marketplace"
-#~ msgstr "&Marktplaats"
+#~ msgstr "&Marketplace"
#~ msgctxt "description"
#~ msgid "Find, manage and install new Cura packages."
diff --git a/resources/qml/Dialogs/AboutDialog.qml b/resources/qml/Dialogs/AboutDialog.qml
index 18d60ae1bc..e3fdbfa787 100644
--- a/resources/qml/Dialogs/AboutDialog.qml
+++ b/resources/qml/Dialogs/AboutDialog.qml
@@ -135,49 +135,49 @@ UM.Dialog
{
//Do NOT add dependencies of our dependencies here, nor CI-dependencies!
//Ultimaker's own projects and forks.
- projectsModel.append({ name: "Cura", description: catalog.i18nc("@label", "Graphical user interface"), license: "LGPLv3", url: "https://github.com/Ultimaker/Cura" });
- projectsModel.append({ name: "Uranium", description: catalog.i18nc("@label", "Application framework"), license: "LGPLv3", url: "https://github.com/Ultimaker/Uranium" });
- projectsModel.append({ name: "CuraEngine", description: catalog.i18nc("@label", "G-code generator"), license: "AGPLv3", url: "https://github.com/Ultimaker/CuraEngine" });
- projectsModel.append({ name: "libArcus", description: catalog.i18nc("@label", "Interprocess communication library"), license: "LGPLv3", url: "https://github.com/Ultimaker/libArcus" });
- projectsModel.append({ name: "pynest2d", description: catalog.i18nc("@label", "Python bindings for libnest2d"), license: "LGPL", url: "https://github.com/Ultimaker/pynest2d" });
- projectsModel.append({ name: "libnest2d", description: catalog.i18nc("@label", "Polygon packing library, developed by Prusa Research"), license: "LGPL", url: "https://github.com/tamasmeszaros/libnest2d" });
- projectsModel.append({ name: "libSavitar", description: catalog.i18nc("@label", "Support library for handling 3MF files"), license: "LGPLv3", url: "https://github.com/ultimaker/libsavitar" });
- projectsModel.append({ name: "libCharon", description: catalog.i18nc("@label", "Support library for file metadata and streaming"), license: "LGPLv3", url: "https://github.com/ultimaker/libcharon" });
+ projectsModel.append({ name: "Cura", description: catalog.i18nc("@label Description for application component", "Graphical user interface"), license: "LGPLv3", url: "https://github.com/Ultimaker/Cura" });
+ projectsModel.append({ name: "Uranium", description: catalog.i18nc("@label Description for application component", "Application framework"), license: "LGPLv3", url: "https://github.com/Ultimaker/Uranium" });
+ projectsModel.append({ name: "CuraEngine", description: catalog.i18nc("@label Description for application component", "G-code generator"), license: "AGPLv3", url: "https://github.com/Ultimaker/CuraEngine" });
+ projectsModel.append({ name: "libArcus", description: catalog.i18nc("@label Description for application component", "Interprocess communication library"), license: "LGPLv3", url: "https://github.com/Ultimaker/libArcus" });
+ projectsModel.append({ name: "pynest2d", description: catalog.i18nc("@label Description for application component", "Python bindings for libnest2d"), license: "LGPL", url: "https://github.com/Ultimaker/pynest2d" });
+ projectsModel.append({ name: "libnest2d", description: catalog.i18nc("@label Description for application component", "Polygon packing library, developed by Prusa Research"), license: "LGPL", url: "https://github.com/tamasmeszaros/libnest2d" });
+ projectsModel.append({ name: "libSavitar", description: catalog.i18nc("@label Description for application component", "Support library for handling 3MF files"), license: "LGPLv3", url: "https://github.com/ultimaker/libsavitar" });
+ projectsModel.append({ name: "libCharon", description: catalog.i18nc("@label Description for application component", "Support library for file metadata and streaming"), license: "LGPLv3", url: "https://github.com/ultimaker/libcharon" });
//Direct dependencies of the front-end.
- projectsModel.append({ name: "Python", description: catalog.i18nc("@label", "Programming language"), license: "Python", url: "http://python.org/" });
- projectsModel.append({ name: "Qt6", description: catalog.i18nc("@label", "GUI framework"), license: "LGPLv3", url: "https://www.qt.io/" });
- projectsModel.append({ name: "PyQt", description: catalog.i18nc("@label", "GUI framework bindings"), license: "GPL", url: "https://riverbankcomputing.com/software/pyqt" });
- projectsModel.append({ name: "SIP", description: catalog.i18nc("@label", "C/C++ Binding library"), license: "GPL", url: "https://riverbankcomputing.com/software/sip" });
- projectsModel.append({ name: "Protobuf", description: catalog.i18nc("@label", "Data interchange format"), license: "BSD", url: "https://developers.google.com/protocol-buffers" });
+ projectsModel.append({ name: "Python", description: catalog.i18nc("@label Description for application dependency", "Programming language"), license: "Python", url: "http://python.org/" });
+ projectsModel.append({ name: "Qt6", description: catalog.i18nc("@label Description for application dependency", "GUI framework"), license: "LGPLv3", url: "https://www.qt.io/" });
+ projectsModel.append({ name: "PyQt", description: catalog.i18nc("@label Description for application dependency", "GUI framework bindings"), license: "GPL", url: "https://riverbankcomputing.com/software/pyqt" });
+ projectsModel.append({ name: "SIP", description: catalog.i18nc("@label Description for application dependency", "C/C++ Binding library"), license: "GPL", url: "https://riverbankcomputing.com/software/sip" });
+ projectsModel.append({ name: "Protobuf", description: catalog.i18nc("@label Description for application dependency", "Data interchange format"), license: "BSD", url: "https://developers.google.com/protocol-buffers" });
projectsModel.append({ name: "Noto Sans", description: catalog.i18nc("@label", "Font"), license: "Apache 2.0", url: "https://www.google.com/get/noto/" });
//CuraEngine's dependencies.
- projectsModel.append({ name: "Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" });
- projectsModel.append({ name: "RapidJSON", description: catalog.i18nc("@label", "JSON parser"), license: "MIT", url: "https://rapidjson.org/" });
- projectsModel.append({ name: "STB", description: catalog.i18nc("@label", "Utility functions, including an image loader"), license: "Public Domain", url: "https://github.com/nothings/stb" });
- projectsModel.append({ name: "Boost", description: catalog.i18nc("@label", "Utility library, including Voronoi generation"), license: "Boost", url: "https://www.boost.org/" });
+ projectsModel.append({ name: "Clipper", description: catalog.i18nc("@label Description for application dependency", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" });
+ projectsModel.append({ name: "RapidJSON", description: catalog.i18nc("@label Description for application dependency", "JSON parser"), license: "MIT", url: "https://rapidjson.org/" });
+ projectsModel.append({ name: "STB", description: catalog.i18nc("@label Description for application dependency", "Utility functions, including an image loader"), license: "Public Domain", url: "https://github.com/nothings/stb" });
+ projectsModel.append({ name: "Boost", description: catalog.i18nc("@label Description for application dependency", "Utility library, including Voronoi generation"), license: "Boost", url: "https://www.boost.org/" });
//Python modules.
- projectsModel.append({ name: "Certifi", description: catalog.i18nc("@label", "Root Certificates for validating SSL trustworthiness"), license: "MPL", url: "https://github.com/certifi/python-certifi" });
- projectsModel.append({ name: "Cryptography", description: catalog.i18nc("@label", "Root Certificates for validating SSL trustworthiness"), license: "APACHE and BSD", url: "https://cryptography.io/" });
- projectsModel.append({ name: "Future", description: catalog.i18nc("@label", "Compatibility between Python 2 and 3"), license: "MIT", url: "https://python-future.org/" });
- projectsModel.append({ name: "keyring", description: catalog.i18nc("@label", "Support library for system keyring access"), license: "MIT", url: "https://github.com/jaraco/keyring" });
- projectsModel.append({ name: "NumPy", description: catalog.i18nc("@label", "Support library for faster math"), license: "BSD", url: "http://www.numpy.org/" });
- projectsModel.append({ name: "NumPy-STL", description: catalog.i18nc("@label", "Support library for handling STL files"), license: "BSD", url: "https://github.com/WoLpH/numpy-stl" });
- projectsModel.append({ name: "PyClipper", description: catalog.i18nc("@label", "Python bindings for Clipper"), license: "MIT", url: "https://github.com/fonttools/pyclipper" });
- projectsModel.append({ name: "PySerial", description: catalog.i18nc("@label", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" });
- projectsModel.append({ name: "SciPy", description: catalog.i18nc("@label", "Support library for scientific computing"), license: "BSD-new", url: "https://www.scipy.org/" });
- projectsModel.append({ name: "Sentry", description: catalog.i18nc("@Label", "Python Error tracking library"), license: "BSD 2-Clause 'Simplified'", url: "https://sentry.io/for/python/" });
- projectsModel.append({ name: "Trimesh", description: catalog.i18nc("@label", "Support library for handling triangular meshes"), license: "MIT", url: "https://trimsh.org" });
- projectsModel.append({ name: "python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" });
+ projectsModel.append({ name: "Certifi", description: catalog.i18nc("@label Description for application dependency", "Root Certificates for validating SSL trustworthiness"), license: "MPL", url: "https://github.com/certifi/python-certifi" });
+ projectsModel.append({ name: "Cryptography", description: catalog.i18nc("@label Description for application dependency", "Root Certificates for validating SSL trustworthiness"), license: "APACHE and BSD", url: "https://cryptography.io/" });
+ projectsModel.append({ name: "Future", description: catalog.i18nc("@label Description for application dependency", "Compatibility between Python 2 and 3"), license: "MIT", url: "https://python-future.org/" });
+ projectsModel.append({ name: "keyring", description: catalog.i18nc("@label Description for application dependency", "Support library for system keyring access"), license: "MIT", url: "https://github.com/jaraco/keyring" });
+ projectsModel.append({ name: "NumPy", description: catalog.i18nc("@label Description for application dependency", "Support library for faster math"), license: "BSD", url: "http://www.numpy.org/" });
+ projectsModel.append({ name: "NumPy-STL", description: catalog.i18nc("@label Description for application dependency", "Support library for handling STL files"), license: "BSD", url: "https://github.com/WoLpH/numpy-stl" });
+ projectsModel.append({ name: "PyClipper", description: catalog.i18nc("@label Description for application dependency", "Python bindings for Clipper"), license: "MIT", url: "https://github.com/fonttools/pyclipper" });
+ projectsModel.append({ name: "PySerial", description: catalog.i18nc("@label Description for application dependency", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" });
+ projectsModel.append({ name: "SciPy", description: catalog.i18nc("@label Description for application dependency", "Support library for scientific computing"), license: "BSD-new", url: "https://www.scipy.org/" });
+ projectsModel.append({ name: "Sentry", description: catalog.i18nc("@Label Description for application dependency", "Python Error tracking library"), license: "BSD 2-Clause 'Simplified'", url: "https://sentry.io/for/python/" });
+ projectsModel.append({ name: "Trimesh", description: catalog.i18nc("@label Description for application dependency", "Support library for handling triangular meshes"), license: "MIT", url: "https://trimsh.org" });
+ projectsModel.append({ name: "python-zeroconf", description: catalog.i18nc("@label Description for application dependency", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" });
//Building/packaging.
- projectsModel.append({ name: "CMake", description: catalog.i18nc("@label", "Universal build system configuration"), license: "BSD 3-Clause", url: "https://cmake.org/" });
- projectsModel.append({ name: "Conan", description: catalog.i18nc("@label", "Dependency and package manager"), license: "MIT", url: "https://conan.io/" });
- projectsModel.append({ name: "Pyinstaller", description: catalog.i18nc("@label", "Packaging Python-applications"), license: "GPLv2", url: "https://pyinstaller.org/" });
- projectsModel.append({ name: "AppImageKit", description: catalog.i18nc("@label", "Linux cross-distribution application deployment"), license: "MIT", url: "https://github.com/AppImage/AppImageKit" });
- projectsModel.append({ name: "NSIS", description: catalog.i18nc("@label", "Generating Windows installers"), license: "Zlib", url: "https://nsis.sourceforge.io/" });
+ projectsModel.append({ name: "CMake", description: catalog.i18nc("@label Description for development tool", "Universal build system configuration"), license: "BSD 3-Clause", url: "https://cmake.org/" });
+ projectsModel.append({ name: "Conan", description: catalog.i18nc("@label Description for development tool", "Dependency and package manager"), license: "MIT", url: "https://conan.io/" });
+ projectsModel.append({ name: "Pyinstaller", description: catalog.i18nc("@label Description for development tool", "Packaging Python-applications"), license: "GPLv2", url: "https://pyinstaller.org/" });
+ projectsModel.append({ name: "AppImageKit", description: catalog.i18nc("@label Description for development tool", "Linux cross-distribution application deployment"), license: "MIT", url: "https://github.com/AppImage/AppImageKit" });
+ projectsModel.append({ name: "NSIS", description: catalog.i18nc("@label Description for development tool", "Generating Windows installers"), license: "Zlib", url: "https://nsis.sourceforge.io/" });
}
}
diff --git a/scripts/rename_cura_1_tags.sh b/scripts/rename_cura_1_tags.sh
new file mode 100644
index 0000000000..8391ed08c2
--- /dev/null
+++ b/scripts/rename_cura_1_tags.sh
@@ -0,0 +1,14 @@
+#Renames tags that were for Legacy Cura to a newer versioning system.
+#Those Cura versions used tags based on the year of release.
+#We'd like to rename them to be "Cura 1" and have the original version number as sub-version-numbers.
+#So Cura 14.04 becomes Cura 1.14.04.
+
+for i in $(git tag -l)
+do
+ if [[ $i =~ ^1[2-5]\.[0-9][0-9] ]]; then #E.g. 12.04 or 15.06. Note that there is no end-match so anything that starts with this matches.
+ echo "Renaming tag $i to 1.$i";
+ git tag 1.$i $i; #Create new tag (1.x instead of x).
+ git tag -d $i; #Delete old tag.
+ git push origin 1.$i :$i #Rename the tag remotely too.
+ fi
+done \ No newline at end of file