mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-08-08 22:35:03 -06:00
Merge branch '3.0' into layerview-slider-refactor
This commit is contained in:
commit
84ec494023
7 changed files with 41 additions and 11 deletions
|
@ -41,6 +41,9 @@ class QualityAndUserProfilesModel(ProfilesModel):
|
|||
new_extruder_stacks = []
|
||||
if active_extruder is not None:
|
||||
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
|
||||
|
||||
# Fetch the list of useable qualities across all extruders.
|
||||
|
|
|
@ -41,6 +41,9 @@ class UserProfilesModel(ProfilesModel):
|
|||
new_extruder_stacks = []
|
||||
if active_extruder is not None:
|
||||
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
|
||||
|
||||
# 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
|
||||
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") == active_extruder.definition.getMetaDataEntry("quality_definition") or
|
||||
qc.getMetaDataEntry("extruder") == active_extruder.definition.getId()]
|
||||
(qc.getMetaDataEntry("extruder") == active_extruder.definition.getMetaDataEntry("quality_definition") or
|
||||
qc.getMetaDataEntry("extruder") == active_extruder.definition.getId())]
|
||||
else:
|
||||
# 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
|
||||
|
|
|
@ -276,8 +276,8 @@ class WorkspaceDialog(QObject):
|
|||
|
||||
def hide(self):
|
||||
self._visible = False
|
||||
self._lock.release()
|
||||
self._view.hide()
|
||||
self._lock.release()
|
||||
|
||||
@pyqtSlot()
|
||||
def onOkButtonClicked(self):
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
[3.0.0]
|
||||
*Will be updated soon!
|
||||
|
||||
[2.7.0]
|
||||
*Top surface skin
|
||||
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 os
|
||||
import gzip
|
||||
import zlib
|
||||
|
||||
from time import time
|
||||
from time import sleep
|
||||
|
||||
i18n_catalog = i18nCatalog("cura")
|
||||
|
||||
|
@ -527,12 +525,12 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
|||
self._last_request_time = time()
|
||||
|
||||
def _finalizePostReply(self):
|
||||
if self._post_reply is None:
|
||||
return
|
||||
|
||||
# Indicate uploading was finished (so another file can be send)
|
||||
self._write_finished = True
|
||||
|
||||
if self._post_reply is None:
|
||||
return
|
||||
|
||||
try:
|
||||
try:
|
||||
self._post_reply.uploadProgress.disconnect(self._onUploadProgress)
|
||||
|
@ -1179,6 +1177,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
|||
# Remove cached post request items.
|
||||
del self._material_post_objects[id(reply)]
|
||||
elif "print_job" in reply_url:
|
||||
self._onUploadFinished() # Make sure the upload flag is reset as reply.finished is not always triggered
|
||||
try:
|
||||
reply.uploadProgress.disconnect(self._onUploadProgress)
|
||||
except:
|
||||
|
|
|
@ -127,7 +127,12 @@ class VersionUpgrade25to26(VersionUpgrade):
|
|||
machine_id = parser["general"]["id"]
|
||||
quality_container_id = parser["containers"]["2"]
|
||||
material_container_id = parser["containers"]["3"]
|
||||
definition_container_id = parser["containers"]["6"]
|
||||
|
||||
# we don't have definition_changes container in 2.5
|
||||
if "6" in parser["containers"]:
|
||||
definition_container_id = parser["containers"]["6"]
|
||||
else:
|
||||
definition_container_id = parser["containers"]["5"]
|
||||
|
||||
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.
|
||||
|
|
|
@ -117,8 +117,25 @@ class VersionUpgrade27to30(VersionUpgrade):
|
|||
# Set the definition to "ultimaker2" for Ultimaker 2 quality changes
|
||||
if not parser.has_section("general"):
|
||||
parser.add_section("general")
|
||||
if os.path.basename(filename).startswith("ultimaker2_"):
|
||||
parser["general"]["definition"] = "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"
|
||||
|
||||
# Update version numbers
|
||||
parser["general"]["version"] = "2"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue