Remove code repetition while touching up layout

This commit is contained in:
fieldOfView 2017-04-25 18:45:43 +02:00
parent 0b9f451103
commit 49880d54ad

View File

@ -175,100 +175,67 @@ Item
visible: !UM.LayerView.compatibilityMode visible: !UM.LayerView.compatibilityMode
enabled: index + 1 <= 4 enabled: index + 1 <= 4
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: UM.Theme.getSize("layerview_row").height Layout.preferredHeight: UM.Theme.getSize("layerview_row").height + UM.Theme.getSize("default_lining").height
Layout.preferredWidth: UM.Theme.getSize("layerview_row").width Layout.preferredWidth: UM.Theme.getSize("layerview_row").width
style: UM.Theme.styles.checkbox style: UM.Theme.styles.checkbox
} }
} }
CheckBox { Repeater {
checked: view_settings.show_travel_moves model: ListModel {
onClicked: { id: typesLegenModel
UM.Preferences.setValue("layerview/show_travel_moves", checked); Component.onCompleted:
{
typesLegenModel.append({
label: catalog.i18nc("@label", "Show Travels"),
initialValue: view_settings.show_travel_moves,
preference: "layerview/show_travel_moves",
colorId: "layerview_move_combing"
});
typesLegenModel.append({
label: catalog.i18nc("@label", "Show Helpers"),
initialValue: view_settings.show_helpers,
preference: "layerview/show_helpers",
colorId: "layerview_support"
});
typesLegenModel.append({
label: catalog.i18nc("@label", "Show Shell"),
initialValue: view_settings.show_skin,
preference: "layerview/show_skin",
colorId: "layerview_inset_0"
});
typesLegenModel.append({
label: catalog.i18nc("@label", "Show Infill"),
initialValue: view_settings.show_infill,
preference: "layerview/show_infill",
colorId: "layerview_infill"
});
}
} }
text: catalog.i18nc("@label", "Show Travels")
Rectangle { CheckBox {
anchors.top: parent.top checked: model.initialValue
anchors.topMargin: 2 onClicked: {
anchors.right: parent.right UM.Preferences.setValue(model.preference, checked);
width: UM.Theme.getSize("layerview_legend_size").width }
height: UM.Theme.getSize("layerview_legend_size").height text: label
color: UM.Theme.getColor("layerview_move_combing") Rectangle {
border.width: UM.Theme.getSize("default_lining").width anchors.verticalCenter: parent.verticalCenter
border.color: UM.Theme.getColor("lining") anchors.right: parent.right
visible: view_settings.show_legend width: UM.Theme.getSize("layerview_legend_size").width
height: UM.Theme.getSize("layerview_legend_size").height
color: UM.Theme.getColor(model.colorId)
border.width: UM.Theme.getSize("default_lining").width
border.color: UM.Theme.getColor("lining")
visible: view_settings.show_legend
}
Layout.fillWidth: true
Layout.preferredHeight: UM.Theme.getSize("layerview_row").height + UM.Theme.getSize("default_lining").height
Layout.preferredWidth: UM.Theme.getSize("layerview_row").width
style: UM.Theme.styles.checkbox
} }
Layout.fillWidth: true
Layout.preferredHeight: UM.Theme.getSize("layerview_row").height
Layout.preferredWidth: UM.Theme.getSize("layerview_row").width
style: UM.Theme.styles.checkbox
}
CheckBox {
checked: view_settings.show_helpers
onClicked: {
UM.Preferences.setValue("layerview/show_helpers", checked);
}
text: catalog.i18nc("@label", "Show Helpers")
Rectangle {
anchors.top: parent.top
anchors.topMargin: 2
anchors.right: parent.right
width: UM.Theme.getSize("layerview_legend_size").width
height: UM.Theme.getSize("layerview_legend_size").height
color: UM.Theme.getColor("layerview_support")
border.width: UM.Theme.getSize("default_lining").width
border.color: UM.Theme.getColor("lining")
visible: view_settings.show_legend
}
Layout.fillWidth: true
Layout.preferredHeight: UM.Theme.getSize("layerview_row").height
Layout.preferredWidth: UM.Theme.getSize("layerview_row").width
style: UM.Theme.styles.checkbox
}
CheckBox {
checked: view_settings.show_skin
onClicked: {
UM.Preferences.setValue("layerview/show_skin", checked);
}
text: catalog.i18nc("@label", "Show Shell")
Rectangle {
anchors.top: parent.top
anchors.topMargin: 2
anchors.right: parent.right
width: UM.Theme.getSize("layerview_legend_size").width
height: UM.Theme.getSize("layerview_legend_size").height
color: UM.Theme.getColor("layerview_inset_0")
border.width: UM.Theme.getSize("default_lining").width
border.color: UM.Theme.getColor("lining")
visible: view_settings.show_legend
}
Layout.fillWidth: true
Layout.preferredHeight: UM.Theme.getSize("layerview_row").height
Layout.preferredWidth: UM.Theme.getSize("layerview_row").width
style: UM.Theme.styles.checkbox
}
CheckBox {
checked: view_settings.show_infill
onClicked: {
UM.Preferences.setValue("layerview/show_infill", checked);
}
text: catalog.i18nc("@label", "Show Infill")
Rectangle {
anchors.top: parent.top
anchors.topMargin: 2
anchors.right: parent.right
width: UM.Theme.getSize("layerview_legend_size").width
height: UM.Theme.getSize("layerview_legend_size").height
color: UM.Theme.getColor("layerview_infill")
border.width: UM.Theme.getSize("default_lining").width
border.color: UM.Theme.getColor("lining")
visible: view_settings.show_legend
}
Layout.fillWidth: true
Layout.preferredHeight: UM.Theme.getSize("layerview_row").height
Layout.preferredWidth: UM.Theme.getSize("layerview_row").width
style: UM.Theme.styles.checkbox
} }
CheckBox { CheckBox {
checked: view_settings.only_show_top_layers checked: view_settings.only_show_top_layers
onClicked: { onClicked: {
@ -288,51 +255,40 @@ Item
style: UM.Theme.styles.checkbox style: UM.Theme.styles.checkbox
} }
Label Repeater {
{ model: ListModel {
id: topBottomLabel id: typesLegenModelNoCheck
anchors.left: parent.left Component.onCompleted:
text: catalog.i18nc("@label","Top / Bottom") {
Rectangle { typesLegenModelNoCheck.append({
anchors.top: parent.top label: catalog.i18nc("@label", "Top / Bottom"),
anchors.topMargin: 2 colorId: "layerview_skin"
anchors.right: parent.right });
width: UM.Theme.getSize("layerview_legend_size").width typesLegenModelNoCheck.append({
height: UM.Theme.getSize("layerview_legend_size").height label: catalog.i18nc("@label", "Inner Wall"),
color: UM.Theme.getColor("layerview_skin") colorId: "layerview_inset_x"
border.width: UM.Theme.getSize("default_lining").width });
border.color: UM.Theme.getColor("lining") }
} }
Layout.fillWidth: true
Layout.preferredHeight: UM.Theme.getSize("layerview_row").height
Layout.preferredWidth: UM.Theme.getSize("layerview_row").width
visible: view_settings.show_legend
color: UM.Theme.getColor("text")
}
Label Label {
{ text: label
id: innerWallLabel Rectangle {
anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter
text: catalog.i18nc("@label","Inner Wall") anchors.right: parent.right
Rectangle { width: UM.Theme.getSize("layerview_legend_size").width
anchors.top: parent.top height: UM.Theme.getSize("layerview_legend_size").height
anchors.topMargin: 2 color: UM.Theme.getColor(model.colorId)
anchors.right: parent.right border.width: UM.Theme.getSize("default_lining").width
width: UM.Theme.getSize("layerview_legend_size").width border.color: UM.Theme.getColor("lining")
height: UM.Theme.getSize("layerview_legend_size").height visible: view_settings.show_legend
color: UM.Theme.getColor("layerview_inset_x") }
border.width: UM.Theme.getSize("default_lining").width Layout.fillWidth: true
border.color: UM.Theme.getColor("lining") Layout.preferredHeight: UM.Theme.getSize("layerview_row").height + UM.Theme.getSize("default_lining").height
visible: view_settings.show_legend Layout.preferredWidth: UM.Theme.getSize("layerview_row").width
color: UM.Theme.getColor("text")
} }
Layout.fillWidth: true
Layout.preferredHeight: UM.Theme.getSize("layerview_row").height
Layout.preferredWidth: UM.Theme.getSize("layerview_row").width
visible: view_settings.show_legend
color: UM.Theme.getColor("text")
} }
} }
Item Item