Merge branch 'master' of github.com:Ultimaker/Cura

This commit is contained in:
Ghostkeeper 2016-08-22 15:17:31 +02:00
commit f91c101b85
2 changed files with 94 additions and 87 deletions

View File

@ -195,7 +195,7 @@ class CuraEngineBackend(Backend):
self.slicingCancelled.emit() self.slicingCancelled.emit()
self.processingProgress.emit(0) self.processingProgress.emit(0)
Logger.log("d", "Attempting to kill the engine process") Logger.log("d", "Attempting to kill the engine process")
self._createSocket() # Ensure that we have a fresh socket. self._createSocket() # Ensure that we have a fresh socket.
if Application.getInstance().getCommandLineOption("external-backend", False): if Application.getInstance().getCommandLineOption("external-backend", False):
return return

View File

@ -154,107 +154,114 @@ Item {
Column Column
{ {
spacing: UM.Theme.getSize("default_lining").height spacing: UM.Theme.getSize("default_lining").height
// This is to ensure that the panel is first increasing in size up to 200 and then shows a scrollbar.
Repeater // It kinda looks ugly otherwise (big panel, no content on it)
height: contents.count * UM.Theme.getSize("section").height < 200 ? contents.count * UM.Theme.getSize("section").height : 200
ScrollView
{ {
id: contents height: parent.height
height: childrenRect.height; width: UM.Theme.getSize("setting").width
style: UM.Theme.styles.scrollview
model: UM.SettingDefinitionsModel ListView
{ {
id: addedSettingsModel; id: contents
containerId: Cura.MachineManager.activeDefinitionId
expanded: [ "*" ]
visibilityHandler: Cura.PerObjectSettingVisibilityHandler model: UM.SettingDefinitionsModel
{ {
selectedObjectId: UM.ActiveTool.properties.getValue("SelectedObjectId") id: addedSettingsModel;
} containerId: Cura.MachineManager.activeDefinitionId
} expanded: [ "*" ]
delegate: Row visibilityHandler: Cura.PerObjectSettingVisibilityHandler
{
Loader
{
id: settingLoader
width: UM.Theme.getSize("setting").width
height: UM.Theme.getSize("section").height
property var definition: model
property var settingDefinitionsModel: addedSettingsModel
property var propertyProvider: provider
//Qt5.4.2 and earlier has a bug where this causes a crash: https://bugreports.qt.io/browse/QTBUG-35989
//In addition, while it works for 5.5 and higher, the ordering of the actual combo box drop down changes,
//causing nasty issues when selecting different options. So disable asynchronous loading of enum type completely.
asynchronous: model.type != "enum" && model.type != "extruder"
onLoaded: {
settingLoader.item.showRevertButton = false
settingLoader.item.showInheritButton = false
settingLoader.item.showLinkedSettingIcon = false
settingLoader.item.doDepthIndentation = false
settingLoader.item.doQualityUserSettingEmphasis = false
}
sourceComponent:
{ {
switch(model.type) selectedObjectId: UM.ActiveTool.properties.getValue("SelectedObjectId")
{ }
case "int": }
return settingTextField
case "float": delegate: Row
return settingTextField {
case "enum": Loader
return settingComboBox {
case "extruder": id: settingLoader
return settingExtruder width: UM.Theme.getSize("setting").width
case "bool": height: UM.Theme.getSize("section").height
return settingCheckBox
case "str": property var definition: model
return settingTextField property var settingDefinitionsModel: addedSettingsModel
case "category": property var propertyProvider: provider
return settingCategory
default: //Qt5.4.2 and earlier has a bug where this causes a crash: https://bugreports.qt.io/browse/QTBUG-35989
return settingUnknown //In addition, while it works for 5.5 and higher, the ordering of the actual combo box drop down changes,
//causing nasty issues when selecting different options. So disable asynchronous loading of enum type completely.
asynchronous: model.type != "enum" && model.type != "extruder"
onLoaded: {
settingLoader.item.showRevertButton = false
settingLoader.item.showInheritButton = false
settingLoader.item.showLinkedSettingIcon = false
settingLoader.item.doDepthIndentation = false
settingLoader.item.doQualityUserSettingEmphasis = false
} }
}
}
Button sourceComponent:
{
width: UM.Theme.getSize("setting").height / 2;
height: UM.Theme.getSize("setting").height;
onClicked: addedSettingsModel.setVisible(model.key, false);
style: ButtonStyle
{
background: Item
{ {
UM.RecolorImage switch(model.type)
{ {
anchors.verticalCenter: parent.verticalCenter case "int":
width: parent.width return settingTextField
height: parent.height / 2 case "float":
sourceSize.width: width return settingTextField
sourceSize.height: width case "enum":
color: control.hovered ? UM.Theme.getColor("setting_control_button_hover") : UM.Theme.getColor("setting_control_button") return settingComboBox
source: UM.Theme.getIcon("minus") case "extruder":
return settingExtruder
case "bool":
return settingCheckBox
case "str":
return settingTextField
case "category":
return settingCategory
default:
return settingUnknown
} }
} }
} }
}
UM.SettingPropertyProvider Button
{ {
id: provider width: UM.Theme.getSize("setting").height / 2;
height: UM.Theme.getSize("setting").height;
containerStackId: UM.ActiveTool.properties.getValue("ContainerID") onClicked: addedSettingsModel.setVisible(model.key, false);
key: model.key
watchedProperties: [ "value", "enabled", "validationState" ] style: ButtonStyle
storeIndex: 0 {
removeUnusedValue: false background: Item
{
UM.RecolorImage
{
anchors.verticalCenter: parent.verticalCenter
width: parent.width
height: parent.height / 2
sourceSize.width: width
sourceSize.height: width
color: control.hovered ? UM.Theme.getColor("setting_control_button_hover") : UM.Theme.getColor("setting_control_button")
source: UM.Theme.getIcon("minus")
}
}
}
}
UM.SettingPropertyProvider
{
id: provider
containerStackId: UM.ActiveTool.properties.getValue("ContainerID")
key: model.key
watchedProperties: [ "value", "enabled", "validationState" ]
storeIndex: 0
removeUnusedValue: false
}
} }
} }
} }