mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-30 15:54:32 +08:00
Merge branch '4.11' into CURA-8490_Make_sure_no_keyring_backend_is_available_on_Linux
This commit is contained in:
commit
ed32f24f45
@ -1,11 +1,13 @@
|
|||||||
# Copyright (c) 2021 Ultimaker B.V.
|
# Copyright (c) 2021 Ultimaker B.V.
|
||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
from cura.CuraApplication import CuraApplication
|
from cura.CuraApplication import CuraApplication
|
||||||
from UM.Message import Message
|
from UM.Message import Message
|
||||||
from UM.Version import Version
|
from UM.Version import Version
|
||||||
|
|
||||||
def getBackwardsCompatibleMessage(text: str, title: str, lifetime: int, message_type_str: str) -> Message:
|
|
||||||
|
def getBackwardsCompatibleMessage(text: str, title: str, message_type_str: str, lifetime: Optional[int] = 30) -> Message:
|
||||||
if CuraApplication.getInstance().getAPIVersion() < Version("7.7.0"):
|
if CuraApplication.getInstance().getAPIVersion() < Version("7.7.0"):
|
||||||
return Message(text=text, title=title, lifetime=lifetime)
|
return Message(text=text, title=title, lifetime=lifetime)
|
||||||
else:
|
else:
|
||||||
|
@ -220,8 +220,8 @@ class DFFileExportAndUploadManager:
|
|||||||
self._file_upload_job_metadata[filename]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
|
self._file_upload_job_metadata[filename]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
|
||||||
text = "Failed to export the file '{}'. The upload process is aborted.".format(filename),
|
text = "Failed to export the file '{}'. The upload process is aborted.".format(filename),
|
||||||
title = "Export error",
|
title = "Export error",
|
||||||
lifetime = 0,
|
message_type_str = "ERROR",
|
||||||
message_type_str = "ERROR"
|
lifetime = 0
|
||||||
)
|
)
|
||||||
self._on_upload_error()
|
self._on_upload_error()
|
||||||
self._onFileUploadFinished(filename)
|
self._onFileUploadFinished(filename)
|
||||||
@ -243,8 +243,8 @@ class DFFileExportAndUploadManager:
|
|||||||
self._file_upload_job_metadata[filename_3mf]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
|
self._file_upload_job_metadata[filename_3mf]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
|
||||||
text = "Failed to upload the file '{}' to '{}'. {}".format(filename_3mf, self._library_project_name, human_readable_error),
|
text = "Failed to upload the file '{}' to '{}'. {}".format(filename_3mf, self._library_project_name, human_readable_error),
|
||||||
title = "File upload error",
|
title = "File upload error",
|
||||||
lifetime = 0,
|
message_type_str = "ERROR",
|
||||||
message_type_str = "ERROR"
|
lifetime = 0
|
||||||
)
|
)
|
||||||
self._on_upload_error()
|
self._on_upload_error()
|
||||||
self._onFileUploadFinished(filename_3mf)
|
self._onFileUploadFinished(filename_3mf)
|
||||||
@ -266,8 +266,8 @@ class DFFileExportAndUploadManager:
|
|||||||
self._file_upload_job_metadata[filename_ufp]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
|
self._file_upload_job_metadata[filename_ufp]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
|
||||||
title = "File upload error",
|
title = "File upload error",
|
||||||
text = "Failed to upload the file '{}' to '{}'. {}".format(filename_ufp, self._library_project_name, human_readable_error),
|
text = "Failed to upload the file '{}' to '{}'. {}".format(filename_ufp, self._library_project_name, human_readable_error),
|
||||||
lifetime = 0,
|
message_type_str = "ERROR",
|
||||||
message_type_str = "ERROR"
|
lifetime = 0
|
||||||
)
|
)
|
||||||
self._on_upload_error()
|
self._on_upload_error()
|
||||||
self._onFileUploadFinished(filename_ufp)
|
self._onFileUploadFinished(filename_ufp)
|
||||||
@ -303,8 +303,8 @@ class DFFileExportAndUploadManager:
|
|||||||
self._file_upload_job_metadata[filename]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
|
self._file_upload_job_metadata[filename]["file_upload_failed_message"] = getBackwardsCompatibleMessage(
|
||||||
title = "File upload error",
|
title = "File upload error",
|
||||||
text = "Failed to upload the file '{}' to '{}'. {}".format(self._file_name, self._library_project_name, human_readable_error),
|
text = "Failed to upload the file '{}' to '{}'. {}".format(self._file_name, self._library_project_name, human_readable_error),
|
||||||
lifetime = 0,
|
message_type_str = "ERROR",
|
||||||
message_type_str = "ERROR"
|
lifetime = 0
|
||||||
)
|
)
|
||||||
|
|
||||||
self._on_upload_error()
|
self._on_upload_error()
|
||||||
@ -345,8 +345,8 @@ class DFFileExportAndUploadManager:
|
|||||||
"file_upload_failed_message": getBackwardsCompatibleMessage(
|
"file_upload_failed_message": getBackwardsCompatibleMessage(
|
||||||
text = "Failed to upload the file '{}' to '{}'.".format(filename_3mf, self._library_project_name),
|
text = "Failed to upload the file '{}' to '{}'.".format(filename_3mf, self._library_project_name),
|
||||||
title = "File upload error",
|
title = "File upload error",
|
||||||
lifetime = 0,
|
message_type_str = "ERROR",
|
||||||
message_type_str = "ERROR"
|
lifetime = 0
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
job_3mf = ExportFileJob(self._file_handlers["3mf"], self._nodes, self._file_name, "3mf")
|
job_3mf = ExportFileJob(self._file_handlers["3mf"], self._nodes, self._file_name, "3mf")
|
||||||
@ -368,8 +368,8 @@ class DFFileExportAndUploadManager:
|
|||||||
"file_upload_failed_message": getBackwardsCompatibleMessage(
|
"file_upload_failed_message": getBackwardsCompatibleMessage(
|
||||||
text = "Failed to upload the file '{}' to '{}'.".format(filename_ufp, self._library_project_name),
|
text = "Failed to upload the file '{}' to '{}'.".format(filename_ufp, self._library_project_name),
|
||||||
title = "File upload error",
|
title = "File upload error",
|
||||||
lifetime = 0,
|
message_type_str = "ERROR",
|
||||||
message_type_str = "ERROR"
|
lifetime = 0
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
job_ufp = ExportFileJob(self._file_handlers["ufp"], self._nodes, self._file_name, "ufp")
|
job_ufp = ExportFileJob(self._file_handlers["ufp"], self._nodes, self._file_name, "ufp")
|
||||||
|
@ -531,8 +531,8 @@ class DigitalFactoryController(QObject):
|
|||||||
getBackwardsCompatibleMessage(
|
getBackwardsCompatibleMessage(
|
||||||
text = "Failed to write to temporary file for '{}'.".format(file_name),
|
text = "Failed to write to temporary file for '{}'.".format(file_name),
|
||||||
title = "File-system error",
|
title = "File-system error",
|
||||||
lifetime = 10,
|
message_type_str="ERROR",
|
||||||
message_type_str="ERROR"
|
lifetime = 10
|
||||||
).show()
|
).show()
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -546,8 +546,8 @@ class DigitalFactoryController(QObject):
|
|||||||
getBackwardsCompatibleMessage(
|
getBackwardsCompatibleMessage(
|
||||||
text = "Failed Digital Library download for '{}'.".format(f),
|
text = "Failed Digital Library download for '{}'.".format(f),
|
||||||
title = "Network error {}".format(error),
|
title = "Network error {}".format(error),
|
||||||
lifetime = 10,
|
message_type_str="ERROR",
|
||||||
message_type_str="ERROR"
|
lifetime = 10
|
||||||
).show()
|
).show()
|
||||||
|
|
||||||
download_manager = HttpRequestManager.getInstance()
|
download_manager = HttpRequestManager.getInstance()
|
||||||
@ -592,10 +592,12 @@ class DigitalFactoryController(QObject):
|
|||||||
|
|
||||||
if filename == "":
|
if filename == "":
|
||||||
Logger.log("w", "The file name cannot be empty.")
|
Logger.log("w", "The file name cannot be empty.")
|
||||||
getBackwardsCompatibleMessage(text = "Cannot upload file with an empty name to the Digital Library",
|
getBackwardsCompatibleMessage(
|
||||||
|
text = "Cannot upload file with an empty name to the Digital Library",
|
||||||
title = "Empty file name provided",
|
title = "Empty file name provided",
|
||||||
lifetime = 0,
|
message_type_str = "ERROR",
|
||||||
message_type_str = "ERROR").show()
|
lifetime = 0
|
||||||
|
).show()
|
||||||
return
|
return
|
||||||
|
|
||||||
self._saveFileToSelectedProjectHelper(filename, formats)
|
self._saveFileToSelectedProjectHelper(filename, formats)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<h4>Complete UI refresh</h4>
|
<h4>Complete UI refresh</h4>
|
||||||
<p>Look around and you will notice that we have refreshed over 100 icons throughout Ultimaker Cura. The new icons are designed for clarity – resulting in a simpler and more informative slicing experience. Also, when scaling the Ultimaker Cura window, the UI will adapt, resulting in less visual clutter.</br>
|
<p>Look around and you will notice that we have refreshed over 100 icons throughout Ultimaker Cura. The new icons are designed for clarity – resulting in a simpler and more informative slicing experience. Also, when scaling the Ultimaker Cura window, the UI will adapt, resulting in less visual clutter.</br>
|
||||||
<a href="">Learn more</a></p>
|
<a href="https://ultimaker.com/learn/clear-skies-with-ultimaker-cura-4-11-beta?utm_source=cura&utm_medium=software&utm_campaign=whatsnew-4-11-releaseblog">Learn more</a></p>
|
@ -1,3 +1,3 @@
|
|||||||
<h4>Improved digital library integration</h4>
|
<h4>Improved digital library integration</h4>
|
||||||
<p>Collaborative workflows using the Digital Library are now simpler. Every user with a cloud-connected Ultimaker 3D printer can access stored projects. And we have added a “Search” function to make finding files easier. <a href="">Learn more</a></br>
|
<p>Collaborative workflows using the Digital Library are now simpler. Every user with a cloud-connected Ultimaker 3D printer can access stored projects. And we have added a “Search” function to make finding files easier. <a href="https://support.ultimaker.com/hc/en-us/articles/360020968960-Enhance-your-3D-printing-workflow-in-Ultimaker-Cura#h_01F32KXEXZ0940RCVFQZCWSG7B?utm_source=cura&utm_medium=software&utm_campaign=whatsnew-4-11-supportblog">Learn more</a></br>
|
||||||
Ready to get more out of your Ultimaker 3D Printer? <a href="">Upgrade to Ultimaker Essentials</a></p>
|
Ready to get more out of your Ultimaker 3D Printer? <a href="https://ultimaker.com/software/ultimaker-essentials?utm_source=cura&utm_medium=software&utm_campaign=whatsnew-4-11-essentialspage">Upgrade to Ultimaker Essentials</a></p>
|
@ -1,2 +1,2 @@
|
|||||||
<h4>Learn about the past and future of Ultimaker Cura</h4>
|
<h4>Learn about the past and future of Ultimaker Cura</h4>
|
||||||
<p>How did Ultimaker Cura start? What does its future hold? Hear the origin stories and discover what's next, by listening to the core developers and community featured in <a href="">episode 29</a> and <a href="">episode 30</a> of the Talking Additive podcast.</p>
|
<p>How did Ultimaker Cura start? What does its future hold? Hear the origin stories and discover what's next, by listening to the core developers and community featured in <a href="https://www.talkingadditive.com/episodes/episode-29-the-story-of-ultimaker-cura?utm_source=cura&utm_medium=software&utm_campaign=whatsnew-4-11-ta-ep29">episode 29</a> and <a href="https://www.talkingadditive.com/episodes/episode-30-the-future-of-ultimaker-cura-and-beyond?utm_source=cura&utm_medium=software&utm_campaign=whatsnew-4-11-ta-ep30">episode 30</a> of the Talking Additive podcast.</p>
|
@ -1,2 +1,2 @@
|
|||||||
<h4>Get more information</h4>
|
<h4>Get more information</h4>
|
||||||
<p>Want more information on new features, bug fixes, and more for Ultimaker Cura 4.11 beta? Read the full<a href="">blog post</a> and don't forget to give us your feedback on<a href="https://github.com/Ultimaker/Cura/issues/new/choose">Github</a>!</p>
|
<p>Want more information on new features, bug fixes, and more for Ultimaker Cura 4.11 beta? Read the full<a href="https://ultimaker.com/learn/clear-skies-with-ultimaker-cura-4-11-beta?utm_source=cura&utm_medium=software&utm_campaign=whatsnew-4-11-releaseblog">blog post</a> and don't forget to give us your feedback on<a href="https://github.com/Ultimaker/Cura/issues/new/choose">Github</a>!</p>
|
Loading…
x
Reference in New Issue
Block a user