Merge branch '4.1'

This commit is contained in:
Diego Prado Gesto 2019-05-07 11:49:45 +02:00
commit 6708d9da64
11 changed files with 37 additions and 27 deletions

View file

@ -20,7 +20,7 @@ class LayerPolygon:
MoveCombingType = 8 MoveCombingType = 8
MoveRetractionType = 9 MoveRetractionType = 9
SupportInterfaceType = 10 SupportInterfaceType = 10
PrimeTower = 11 PrimeTowerType = 11
__number_of_types = 12 __number_of_types = 12
__jump_map = numpy.logical_or(numpy.logical_or(numpy.arange(__number_of_types) == NoneType, numpy.arange(__number_of_types) == MoveCombingType), numpy.arange(__number_of_types) == MoveRetractionType) __jump_map = numpy.logical_or(numpy.logical_or(numpy.arange(__number_of_types) == NoneType, numpy.arange(__number_of_types) == MoveCombingType), numpy.arange(__number_of_types) == MoveRetractionType)
@ -245,7 +245,7 @@ class LayerPolygon:
theme.getColor("layerview_move_combing").getRgbF(), # MoveCombingType theme.getColor("layerview_move_combing").getRgbF(), # MoveCombingType
theme.getColor("layerview_move_retraction").getRgbF(), # MoveRetractionType theme.getColor("layerview_move_retraction").getRgbF(), # MoveRetractionType
theme.getColor("layerview_support_interface").getRgbF(), # SupportInterfaceType theme.getColor("layerview_support_interface").getRgbF(), # SupportInterfaceType
theme.getColor("layerview_prime_tower").getRgbF() theme.getColor("layerview_prime_tower").getRgbF() # PrimeTowerType
]) ])
return cls.__color_map return cls.__color_map

View file

@ -2,8 +2,9 @@
# Cura is released under the terms of the LGPLv3 or higher. # Cura is released under the terms of the LGPLv3 or higher.
import os import os
from typing import Optional
from PyQt5.QtCore import QObject, pyqtSlot, pyqtProperty, pyqtSignal from PyQt5.QtCore import QObject, QUrl, pyqtSlot, pyqtProperty, pyqtSignal
from UM.Logger import Logger from UM.Logger import Logger
from UM.PluginObject import PluginObject from UM.PluginObject import PluginObject
@ -72,18 +73,26 @@ class MachineAction(QObject, PluginObject):
return self._finished return self._finished
## Protected helper to create a view object based on provided QML. ## Protected helper to create a view object based on provided QML.
def _createViewFromQML(self) -> None: def _createViewFromQML(self) -> Optional["QObject"]:
plugin_path = PluginRegistry.getInstance().getPluginPath(self.getPluginId()) plugin_path = PluginRegistry.getInstance().getPluginPath(self.getPluginId())
if plugin_path is None: if plugin_path is None:
Logger.log("e", "Cannot create QML view: cannot find plugin path for plugin [%s]", self.getPluginId()) Logger.log("e", "Cannot create QML view: cannot find plugin path for plugin [%s]", self.getPluginId())
return return None
path = os.path.join(plugin_path, self._qml_url) path = os.path.join(plugin_path, self._qml_url)
from cura.CuraApplication import CuraApplication from cura.CuraApplication import CuraApplication
self._view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self})
return view
@pyqtProperty(QObject, constant = True) @pyqtProperty(QUrl, constant = True)
def displayItem(self): def qmlPath(self) -> "QUrl":
if not self._view: plugin_path = PluginRegistry.getInstance().getPluginPath(self.getPluginId())
self._createViewFromQML() if plugin_path is None:
return self._view Logger.log("e", "Cannot create QML view: cannot find plugin path for plugin [%s]", self.getPluginId())
return QUrl("")
path = os.path.join(plugin_path, self._qml_url)
return QUrl.fromLocalFile(path)
@pyqtSlot(result = QObject)
def getDisplayItem(self) -> Optional["QObject"]:
return self._createViewFromQML()

View file

@ -100,7 +100,7 @@ class FirstStartMachineActionsModel(ListModel):
item_list = [] item_list = []
for item in first_start_actions: for item in first_start_actions:
item_list.append({"title": item.label, item_list.append({"title": item.label,
"content": item.displayItem, "content": item.getDisplayItem(),
"action": item, "action": item,
}) })
item.reset() item.reset()

View file

@ -81,6 +81,7 @@ class PrintInformation(QObject):
"support_interface": catalog.i18nc("@tooltip", "Support Interface"), "support_interface": catalog.i18nc("@tooltip", "Support Interface"),
"support": catalog.i18nc("@tooltip", "Support"), "support": catalog.i18nc("@tooltip", "Support"),
"skirt": catalog.i18nc("@tooltip", "Skirt"), "skirt": catalog.i18nc("@tooltip", "Skirt"),
"prime_tower": catalog.i18nc("@tooltip", "Prime Tower"),
"travel": catalog.i18nc("@tooltip", "Travel"), "travel": catalog.i18nc("@tooltip", "Travel"),
"retract": catalog.i18nc("@tooltip", "Retractions"), "retract": catalog.i18nc("@tooltip", "Retractions"),
"none": catalog.i18nc("@tooltip", "Other") "none": catalog.i18nc("@tooltip", "Other")

View file

@ -735,6 +735,7 @@ class CuraEngineBackend(QObject, Backend):
"support_interface": message.time_support_interface, "support_interface": message.time_support_interface,
"support": message.time_support, "support": message.time_support,
"skirt": message.time_skirt, "skirt": message.time_skirt,
"prime_tower": message.time_prime_tower,
"travel": message.time_travel, "travel": message.time_travel,
"retract": message.time_retract, "retract": message.time_retract,
"none": message.time_none "none": message.time_none

View file

@ -371,7 +371,7 @@ class FlavorParser:
elif type == "SUPPORT-INTERFACE": elif type == "SUPPORT-INTERFACE":
self._layer_type = LayerPolygon.SupportInterfaceType self._layer_type = LayerPolygon.SupportInterfaceType
elif type == "PRIME-TOWER": elif type == "PRIME-TOWER":
self._layer_type = LayerPolygon.SkirtType self._layer_type = LayerPolygon.PrimeTowerType
else: else:
Logger.log("w", "Encountered a unknown type (%s) while parsing g-code.", type) Logger.log("w", "Encountered a unknown type (%s) while parsing g-code.", type)

View file

@ -26,7 +26,7 @@ Item
property int columnWidth: ((parent.width - 2 * UM.Theme.getSize("default_margin").width) / 2) | 0 property int columnWidth: ((parent.width - 2 * UM.Theme.getSize("default_margin").width) / 2) | 0
property int columnSpacing: 3 * screenScaleFactor property int columnSpacing: 3 * screenScaleFactor
property int propertyStoreIndex: manager.storeContainerIndex // definition_changes property int propertyStoreIndex: manager ? manager.storeContainerIndex : 1 // definition_changes
property string extruderStackId: "" property string extruderStackId: ""
property int extruderPosition: 0 property int extruderPosition: 0

View file

@ -26,7 +26,7 @@ Item
property int columnWidth: ((parent.width - 2 * UM.Theme.getSize("default_margin").width) / 2) | 0 property int columnWidth: ((parent.width - 2 * UM.Theme.getSize("default_margin").width) / 2) | 0
property int columnSpacing: 3 * screenScaleFactor property int columnSpacing: 3 * screenScaleFactor
property int propertyStoreIndex: manager.storeContainerIndex // definition_changes property int propertyStoreIndex: manager ? manager.storeContainerIndex : 1 // definition_changes
property string machineStackId: Cura.MachineManager.activeMachineId property string machineStackId: Cura.MachineManager.activeMachineId

View file

@ -109,6 +109,8 @@ Item
top: description.bottom top: description.bottom
left: properties.right left: properties.right
leftMargin: UM.Theme.getSize("default_margin").width leftMargin: UM.Theme.getSize("default_margin").width
right: parent.right
rightMargin: UM.Theme.getSize("default_margin").width
topMargin: UM.Theme.getSize("default_margin").height topMargin: UM.Theme.getSize("default_margin").height
} }
spacing: Math.floor(UM.Theme.getSize("narrow_margin").height) spacing: Math.floor(UM.Theme.getSize("narrow_margin").height)
@ -123,6 +125,8 @@ Item
} }
return "" return ""
} }
width: parent.width
elide: Text.ElideRight
font: UM.Theme.getFont("default") font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text") color: UM.Theme.getColor("text")
linkColor: UM.Theme.getColor("text_link") linkColor: UM.Theme.getColor("text_link")

View file

@ -104,10 +104,11 @@ UM.ManagementPage
text: machineActionRepeater.model[index].label text: machineActionRepeater.model[index].label
onClicked: onClicked:
{ {
actionDialog.content = machineActionRepeater.model[index].displayItem; var currentItem = machineActionRepeater.model[index]
machineActionRepeater.model[index].displayItem.reset(); actionDialog.loader.manager = currentItem
actionDialog.title = machineActionRepeater.model[index].label; actionDialog.loader.source = currentItem.qmlPath
actionDialog.show(); actionDialog.title = currentItem.label
actionDialog.show()
} }
} }
} }
@ -117,13 +118,7 @@ UM.ManagementPage
UM.Dialog UM.Dialog
{ {
id: actionDialog id: actionDialog
property var content
onContentChanged:
{
contents = content;
content.onCompleted.connect(hide)
content.dialog = actionDialog
}
rightButtons: Button rightButtons: Button
{ {
text: catalog.i18nc("@action:button", "Close") text: catalog.i18nc("@action:button", "Close")

View file

@ -591,7 +591,7 @@
"toolbox_thumbnail_large": [12.0, 10.0], "toolbox_thumbnail_large": [12.0, 10.0],
"toolbox_footer": [1.0, 4.5], "toolbox_footer": [1.0, 4.5],
"toolbox_footer_button": [8.0, 2.5], "toolbox_footer_button": [8.0, 2.5],
"toolbox_header_tab": [8.0, 4.0], "toolbox_header_tab": [12.0, 4.0],
"toolbox_detail_header": [1.0, 14.0], "toolbox_detail_header": [1.0, 14.0],
"toolbox_back_column": [6.0, 1.0], "toolbox_back_column": [6.0, 1.0],
"toolbox_back_button": [6.0, 2.0], "toolbox_back_button": [6.0, 2.0],