mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-19 06:45:56 +08:00
Merge branch '3.0' into layerview-slider-refactor
This commit is contained in:
commit
84ec494023
@ -41,6 +41,9 @@ class QualityAndUserProfilesModel(ProfilesModel):
|
|||||||
new_extruder_stacks = []
|
new_extruder_stacks = []
|
||||||
if active_extruder is not None:
|
if active_extruder is not None:
|
||||||
new_extruder_stacks = [active_extruder]
|
new_extruder_stacks = [active_extruder]
|
||||||
|
else:
|
||||||
|
# if there is no active extruder, use the first one in the active extruder stacks
|
||||||
|
active_extruder = extruder_stacks[0]
|
||||||
extruder_stacks = new_extruder_stacks + extruder_stacks
|
extruder_stacks = new_extruder_stacks + extruder_stacks
|
||||||
|
|
||||||
# Fetch the list of useable qualities across all extruders.
|
# Fetch the list of useable qualities across all extruders.
|
||||||
|
@ -41,6 +41,9 @@ class UserProfilesModel(ProfilesModel):
|
|||||||
new_extruder_stacks = []
|
new_extruder_stacks = []
|
||||||
if active_extruder is not None:
|
if active_extruder is not None:
|
||||||
new_extruder_stacks = [active_extruder]
|
new_extruder_stacks = [active_extruder]
|
||||||
|
else:
|
||||||
|
# if there is no active extruder, use the first one in the active extruder stacks
|
||||||
|
active_extruder = extruder_stacks[0]
|
||||||
extruder_stacks = new_extruder_stacks + extruder_stacks
|
extruder_stacks = new_extruder_stacks + extruder_stacks
|
||||||
|
|
||||||
# Fetch the list of useable qualities across all extruders.
|
# Fetch the list of useable qualities across all extruders.
|
||||||
@ -55,8 +58,8 @@ class UserProfilesModel(ProfilesModel):
|
|||||||
# If the printer has multiple extruders then quality changes related to the current extruder are kept
|
# If the printer has multiple extruders then quality changes related to the current extruder are kept
|
||||||
filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set and
|
filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set and
|
||||||
qc.getMetaDataEntry("extruder") is not None and
|
qc.getMetaDataEntry("extruder") is not None and
|
||||||
qc.getMetaDataEntry("extruder") == active_extruder.definition.getMetaDataEntry("quality_definition") or
|
(qc.getMetaDataEntry("extruder") == active_extruder.definition.getMetaDataEntry("quality_definition") or
|
||||||
qc.getMetaDataEntry("extruder") == active_extruder.definition.getId()]
|
qc.getMetaDataEntry("extruder") == active_extruder.definition.getId())]
|
||||||
else:
|
else:
|
||||||
# If not, the quality changes of the global stack are selected
|
# If not, the quality changes of the global stack are selected
|
||||||
filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set and
|
filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set and
|
||||||
|
@ -276,8 +276,8 @@ class WorkspaceDialog(QObject):
|
|||||||
|
|
||||||
def hide(self):
|
def hide(self):
|
||||||
self._visible = False
|
self._visible = False
|
||||||
self._lock.release()
|
|
||||||
self._view.hide()
|
self._view.hide()
|
||||||
|
self._lock.release()
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def onOkButtonClicked(self):
|
def onOkButtonClicked(self):
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
[3.0.0]
|
||||||
|
*Will be updated soon!
|
||||||
|
|
||||||
[2.7.0]
|
[2.7.0]
|
||||||
*Top surface skin
|
*Top surface skin
|
||||||
Specify print settings of the top-most layers separately in order to improve print duration and achieve higher quality top surfaces.
|
Specify print settings of the top-most layers separately in order to improve print duration and achieve higher quality top surfaces.
|
||||||
|
@ -23,10 +23,8 @@ from PyQt5.QtWidgets import QMessageBox
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import gzip
|
import gzip
|
||||||
import zlib
|
|
||||||
|
|
||||||
from time import time
|
from time import time
|
||||||
from time import sleep
|
|
||||||
|
|
||||||
i18n_catalog = i18nCatalog("cura")
|
i18n_catalog = i18nCatalog("cura")
|
||||||
|
|
||||||
@ -527,12 +525,12 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
|||||||
self._last_request_time = time()
|
self._last_request_time = time()
|
||||||
|
|
||||||
def _finalizePostReply(self):
|
def _finalizePostReply(self):
|
||||||
if self._post_reply is None:
|
|
||||||
return
|
|
||||||
|
|
||||||
# Indicate uploading was finished (so another file can be send)
|
# Indicate uploading was finished (so another file can be send)
|
||||||
self._write_finished = True
|
self._write_finished = True
|
||||||
|
|
||||||
|
if self._post_reply is None:
|
||||||
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
self._post_reply.uploadProgress.disconnect(self._onUploadProgress)
|
self._post_reply.uploadProgress.disconnect(self._onUploadProgress)
|
||||||
@ -1179,6 +1177,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
|||||||
# Remove cached post request items.
|
# Remove cached post request items.
|
||||||
del self._material_post_objects[id(reply)]
|
del self._material_post_objects[id(reply)]
|
||||||
elif "print_job" in reply_url:
|
elif "print_job" in reply_url:
|
||||||
|
self._onUploadFinished() # Make sure the upload flag is reset as reply.finished is not always triggered
|
||||||
try:
|
try:
|
||||||
reply.uploadProgress.disconnect(self._onUploadProgress)
|
reply.uploadProgress.disconnect(self._onUploadProgress)
|
||||||
except:
|
except:
|
||||||
|
@ -127,7 +127,12 @@ class VersionUpgrade25to26(VersionUpgrade):
|
|||||||
machine_id = parser["general"]["id"]
|
machine_id = parser["general"]["id"]
|
||||||
quality_container_id = parser["containers"]["2"]
|
quality_container_id = parser["containers"]["2"]
|
||||||
material_container_id = parser["containers"]["3"]
|
material_container_id = parser["containers"]["3"]
|
||||||
|
|
||||||
|
# we don't have definition_changes container in 2.5
|
||||||
|
if "6" in parser["containers"]:
|
||||||
definition_container_id = parser["containers"]["6"]
|
definition_container_id = parser["containers"]["6"]
|
||||||
|
else:
|
||||||
|
definition_container_id = parser["containers"]["5"]
|
||||||
|
|
||||||
if definition_container_id == "custom" and not self._checkCustomFdmPrinterHasExtruderStack(machine_id):
|
if definition_container_id == "custom" and not self._checkCustomFdmPrinterHasExtruderStack(machine_id):
|
||||||
# go through all extruders and make sure that this custom FDM printer has 8 extruder stacks.
|
# go through all extruders and make sure that this custom FDM printer has 8 extruder stacks.
|
||||||
|
@ -117,7 +117,24 @@ class VersionUpgrade27to30(VersionUpgrade):
|
|||||||
# Set the definition to "ultimaker2" for Ultimaker 2 quality changes
|
# Set the definition to "ultimaker2" for Ultimaker 2 quality changes
|
||||||
if not parser.has_section("general"):
|
if not parser.has_section("general"):
|
||||||
parser.add_section("general")
|
parser.add_section("general")
|
||||||
if os.path.basename(filename).startswith("ultimaker2_"):
|
|
||||||
|
# Need to exclude the following names:
|
||||||
|
# - ultimaker2_plus
|
||||||
|
# - ultimaker2_go
|
||||||
|
# - ultimaker2_extended
|
||||||
|
# - ultimaker2_extended_plus
|
||||||
|
exclude_prefix_list = ["ultimaker2_plus_",
|
||||||
|
"ultimaker2_go_",
|
||||||
|
"ultimaker2_extended_",
|
||||||
|
"ultimaker2_extended_plus_"]
|
||||||
|
file_base_name = os.path.basename(filename)
|
||||||
|
if file_base_name.startswith("ultimaker2_"):
|
||||||
|
skip_this = False
|
||||||
|
for exclude_prefix in exclude_prefix_list:
|
||||||
|
if file_base_name.startswith(exclude_prefix):
|
||||||
|
skip_this = True
|
||||||
|
break
|
||||||
|
if not skip_this:
|
||||||
parser["general"]["definition"] = "ultimaker2"
|
parser["general"]["definition"] = "ultimaker2"
|
||||||
|
|
||||||
# Update version numbers
|
# Update version numbers
|
||||||
|
Loading…
x
Reference in New Issue
Block a user