Cura/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml
2018-11-30 15:06:53 +01:00

160 lines
5.3 KiB
QML

// Copyright (c) 2018 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import UM 1.2 as UM
import Cura 1.0 as Cura
Item
{
id: base
signal showTooltip(Item item, point location, string text)
signal hideTooltip()
// width: parent.width
height: childrenRect.height + 2 * padding
property Action configureSettings
property bool settingsEnabled: Cura.ExtruderManager.activeExtruderStackId || extrudersEnabledCount.properties.value == 1
property real padding: UM.Theme.getSize("thick_margin").width
UM.I18nCatalog
{
id: catalog
name: "cura"
}
// Rectangle
// {
// width: parent.width - 2 * parent.padding
// anchors
// {
// left: parent.left
// right: parent.right
// top: parent.top
// margins: parent.padding
// }
// color: "blue"
// height: 50
// }
Column
{
width: parent.width - 2 * parent.padding
spacing: UM.Theme.getSize("default_margin").height
anchors
{
left: parent.left
right: parent.right
top: parent.top
margins: parent.padding
}
// TODO
property real labelColumnWidth: Math.round(width / 3)
property real settingsColumnWidth: width - labelColumnWidth
RecommendedQualityProfileSelector
{
width: parent.width
// TODO Create a reusable component with these properties to not define them separately for each component
property real labelColumnWidth: parent.labelColumnWidth
property real settingsColumnWidth: parent.settingsColumnWidth
}
// RecommendedInfillDensitySelector
// {
// width: parent.width
// height: childrenRect.height
// // TODO Create a reusable component with these properties to not define them separately for each component
// property real labelColumnWidth: parent.labelColumnWidth
// property real settingsColumnWidth: parent.settingsColumnWidth
// }
//
// RecommendedSupportSelector
// {
// width: parent.width
// height: childrenRect.height
// // TODO Create a reusable component with these properties to not define them separately for each component
// property real labelColumnWidth: parent.labelColumnWidth
// property real settingsColumnWidth: parent.settingsColumnWidth
// }
//
// // Adhesion
// Row
// {
// anchors.left: parent.left
// anchors.right: parent.right
// height: childrenRect.height
//
// Cura.IconWithText
// {
// id: adhesionHelperLabel
// visible: adhesionCheckBox.visible
// source: UM.Theme.getIcon("category_adhesion")
// text: catalog.i18nc("@label", "Adhesion")
// width: labelColumnWidth
// }
//
// CheckBox
// {
// id: adhesionCheckBox
// property alias _hovered: adhesionMouseArea.containsMouse
//
// //: Setting enable printing build-plate adhesion helper checkbox
// style: UM.Theme.styles.checkbox
// enabled: base.settingsEnabled
//
// visible: platformAdhesionType.properties.enabled == "True"
// checked: platformAdhesionType.properties.value != "skirt" && platformAdhesionType.properties.value != "none"
//
// MouseArea
// {
// id: adhesionMouseArea
// anchors.fill: parent
// hoverEnabled: true
// enabled: base.settingsEnabled
// onClicked:
// {
// var adhesionType = "skirt"
// if(!parent.checked)
// {
// // Remove the "user" setting to see if the rest of the stack prescribes a brim or a raft
// platformAdhesionType.removeFromContainer(0)
// adhesionType = platformAdhesionType.properties.value
// if(adhesionType == "skirt" || adhesionType == "none")
// {
// // If the rest of the stack doesn't prescribe an adhesion-type, default to a brim
// adhesionType = "brim"
// }
// }
// platformAdhesionType.setPropertyValue("value", adhesionType)
// }
// onEntered:
// {
// base.showTooltip(adhesionCheckBox, Qt.point(-adhesionCheckBox.x, 0),
// catalog.i18nc("@label", "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards."));
// }
// onExited: base.hideTooltip()
// }
// }
// }
}
UM.SettingPropertyProvider
{
id: platformAdhesionType
containerStack: Cura.MachineManager.activeMachine
removeUnusedValue: false //Doesn't work with settings that are resolved.
key: "adhesion_type"
watchedProperties: [ "value", "enabled" ]
storeIndex: 0
}
}