Implement simplemode -> profilesetup -> infill selection

not yet fully functional. Fast implement for string freeze

Contributes to: issue CURA-123
This commit is contained in:
Tamara Hogenhout 2015-09-11 13:02:01 +02:00
parent 506180fff9
commit b816f0b03b
5 changed files with 162 additions and 148 deletions

View file

@ -21,163 +21,176 @@ Item
Component.onDestruction: PrintInformation.enabled = false
UM.I18nCatalog { id: catalog; name:"cura"}
// Rectangle {
// anchors.top: simpleModeGrid.top
// anchors.left: simpleModeGrid.left
// width: simpleModeGrid.width
// height: simpleModeGrid.height
// color: "blue"
// }
Rectangle{
id: infillCellLeft
anchors.top: parent.top
anchors.left: parent.left
width: base.width/100*55 - UM.Theme.sizes.default_margin.width
height: childrenRect.height < UM.Theme.sizes.simple_mode_infill_caption.height ? UM.Theme.sizes.simple_mode_infill_caption.height : childrenRect.height
Grid {
id: simpleModeGrid
anchors.fill: parent;
columns: 2
spacing: 0
// Rectangle{
// id: infillLabelCell
// width: base.width/100*45
// height: 100
// Column {
// spacing: 0
// anchors{
// top: parent.top
// topMargin: UM.Theme.sizes.default_margin.height
// right: parent.right
// rightMargin: UM.Theme.sizes.default_margin.width
// bottom: parent.bottom
// bottomMargin: UM.Theme.sizes.default_margin.height
// left: parent.left
// leftMargin: UM.Theme.sizes.default_margin.width
// }
//
// Label{
// id: infillLabel
// //: Infill selection label
// text: catalog.i18nc("@label","Infill:");
// font: UM.Theme.fonts.default;
// }
// Label{
// id: infillCaption
// width: infillLabelCell.width - UM.Theme.sizes.default_margin.width
// text: "hier staat overig tekst hier staat overig tekst hier staat overig tekst"
// font: UM.Theme.fonts.caption
// wrapMode: Text.Wrap
// color: UM.Theme.colors.text
// }
// }
// }
//
// Rectangle{
// id: infillCell
// height: 100
// width: base.width/100*55
// Row {
// spacing: 0
// anchors.right: parent.right
// anchors.rightMargin: UM.Theme.sizes.default_margin.width
// Rectangle {
// id: infillWrapper
// width: infillCell.width/4;
// height: infillCell.height
// Rectangle{
// id: infillIconLining
// anchors.top: parent.top
// anchors.topMargin: UM.Theme.sizes.default_margin.height
// anchors.horizontalCenter: parent.horizontalCenter
// z: parent.z + 1
// width: parent.width - UM.Theme.sizes.default_margin.width/2
// height: parent.width - UM.Theme.sizes.default_margin.width/2
// color: "grey"
// border.color: "black"
// border.width:1
// UM.RecolorImage {
// id: infillIcon
// z: parent.z + 1
// anchors.verticalCenter: parent.verticalCenter
// anchors.horizontalCenter: parent.horizontalCenter
// width: UM.Theme.sizes.save_button_specs_icons.width
// height: UM.Theme.sizes.save_button_specs_icons.height
// sourceSize.width: width
// sourceSize.height: width
// color: UM.Theme.colors.text_hover
// source: UM.Theme.icons.print_time;
// }
// }
// Label{
// //: Infill version label "light:
// text: catalog.i18nc("@label","Light");
// anchors.top: infillIconLining.bottom
// anchors.horizontalCenter: parent.horizontalCenter
// font.bold: true
// }
// }
// Rectangle {
// color: "green";
// width: infillCell.width/4;
// height: infillCell.height
// }
// Rectangle {
// color: "blue";
// width: infillCell.width/4;
// height: infillCell.height
// }
// Rectangle {
// color: "yellow";
// width: infillCell.width/4;
// height: infillCell.height
// }
// }
// }
Rectangle {
width: parent.width/100*45 - UM.Theme.sizes.default_margin.width
height: 100
Label{
anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width
//: Helpers selection label
text: catalog.i18nc("@label:listbox","Helpers:");
font: UM.Theme.fonts.default;
}
Label{
id: infillLabel
//: Infill selection label
text: catalog.i18nc("@label","Infill:");
font: UM.Theme.fonts.default;
anchors.top: parent.top
anchors.topMargin: UM.Theme.sizes.default_margin.height
anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width
}
Rectangle {
width: parent.width/100*55 - UM.Theme.sizes.default_margin.width
height: 100
Column {
spacing: 4
Label{
id: infillCaption
width: infillCellLeft.width - UM.Theme.sizes.default_margin.width
text: infillModel.get(infillListView.activeIndex).text
font: UM.Theme.fonts.caption
wrapMode: Text.Wrap
color: UM.Theme.colors.text
anchors.top: infillLabel.bottom
anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width
}
}
CheckBox{
Layout.preferredHeight: UM.Theme.sizes.section.height;
//: Setting enable skirt adhesion checkbox
text: catalog.i18nc("@option:check","Enable Skirt Adhesion");
style: UM.Theme.styles.checkbox;
checked: Printer.getSettingValue("skirt_line_count") == null ? false: Printer.getSettingValue("skirt_line_count");
onCheckedChanged:
{
if(checked != Printer.getSettingValue("skirt_line_count"))
{
Printer.setSettingValue("skirt_line_count", checked)
Rectangle{
id: infillCellRight
height: 100
width: base.width/100*45
anchors.right: parent.right
anchors.rightMargin: UM.Theme.sizes.default_margin.width - (UM.Theme.sizes.default_margin.width/4)
anchors.top: parent.top
anchors.topMargin: UM.Theme.sizes.default_margin.height
Component{
id: infillDelegate
Item{
width: infillCellRight.width/3
x: index * (infillCellRight.width/3)
anchors.top: parent.top
Rectangle{
id: infillIconLining
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter
width: parent.width - (UM.Theme.sizes.default_margin.width/2)
height: parent.width - (UM.Theme.sizes.default_margin.width/2)
border.color: infillListView.activeIndex == index ? UM.Theme.colors.setting_control_text : UM.Theme.colors.setting_control_border
border.width: infillListView.activeIndex == index ? 2 : 1
color: infillListView.activeIndex == index ? UM.Theme.colors.setting_category_active : "transparent"
UM.RecolorImage {
id: infillIcon
z: parent.z + 1
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
width: parent.width - UM.Theme.sizes.default_margin.width
height: parent.width - UM.Theme.sizes.default_margin.width
sourceSize.width: width
sourceSize.height: width
color: UM.Theme.colors.setting_control_text
source: UM.Theme.icons[model.icon];
}
MouseArea {
anchors.fill: parent
onClicked: {
infillListView.activeIndex = index
}
}
}
CheckBox{
Layout.preferredHeight: UM.Theme.sizes.section.height;
Label{
id: infillLabel
anchors.top: infillIconLining.bottom
anchors.horizontalCenter: parent.horizontalCenter
color: infillListView.activeIndex == index ? UM.Theme.colors.setting_control_text : UM.Theme.colors.setting_control_border
text: name
//font.bold: infillListView.activeIndex == index ? true : false
}
}
}
ListView{
id: infillListView
property int activeIndex: 0
model: infillModel
delegate: infillDelegate
anchors.fill: parent
}
ListModel {
id: infillModel
//: Setting enable support checkbox
text: catalog.i18nc("@option:check","Enable Support");
ListElement {
name: "Sparse"
percentage: 20
text: "Sparse (20%) infill will give your model an average strength"
icon: "sparse"
}
ListElement {
name: "Dense"
percentage: 50
text: "Dense (50%) infill will give your model an above average strength"
icon: "dense"
}
ListElement {
name: "Solid"
percentage: 100;
text: "Solid (100%) infill will make your model completely solid"
icon: "solid"
}
}
}
style: UM.Theme.styles.checkbox;
Rectangle {
id: helpersCellLeft
anchors.top: infillCellLeft.bottom
anchors.topMargin: UM.Theme.sizes.default_margin.height
anchors.left: parent.left
width: parent.width/100*45 - UM.Theme.sizes.default_margin.width
height: childrenRect.height
Label{
anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width
//: Helpers selection label
text: catalog.i18nc("@label:listbox","Helpers:");
font: UM.Theme.fonts.default;
}
}
Rectangle {
id: helpersCellRight
anchors.top: helpersCellLeft.top
anchors.topMargin: UM.Theme.sizes.default_margin.height
anchors.left: helpersCellLeft.right
width: parent.width/100*55 - UM.Theme.sizes.default_margin.width
height: childrenRect.height
checked: Printer.getSettingValue("support_enable") == null? false: Printer.getSettingValue("support_enable");
onCheckedChanged:
{
if(checked != Printer.getSettingValue("support_enable"))
{
Printer.setSettingValue("support_enable", checked)
}
}
CheckBox{
id: skirtCheckBox
anchors.top: parent.top
anchors.left: parent.left
Layout.preferredHeight: UM.Theme.sizes.section.height;
//: Setting enable skirt adhesion checkbox
text: catalog.i18nc("@option:check","Enable Skirt Adhesion");
style: UM.Theme.styles.checkbox;
checked: Printer.getSettingValue("skirt_line_count") == null ? false: Printer.getSettingValue("skirt_line_count");
onCheckedChanged:
{
if(checked != Printer.getSettingValue("skirt_line_count"))
{
Printer.setSettingValue("skirt_line_count", checked)
}
}
}
CheckBox{
anchors.top: skirtCheckBox.bottom
anchors.topMargin: UM.Theme.sizes.default_lining.height
anchors.left: parent.left
Layout.preferredHeight: UM.Theme.sizes.section.height;
//: Setting enable support checkbox
text: catalog.i18nc("@option:check","Enable Support");
style: UM.Theme.styles.checkbox;
checked: Printer.getSettingValue("support_enable") == null? false: Printer.getSettingValue("support_enable");
onCheckedChanged:
{
if(checked != Printer.getSettingValue("support_enable"))
{
Printer.setSettingValue("support_enable", checked)
}
}
}

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 791 B

After

Width:  |  Height:  |  Size: 791 B

Before After
Before After

View file

@ -172,6 +172,7 @@
"setting_control_margin": [3.0, 3.0],
"setting_unit_margin": [0.5, 0.5],
"setting_text_maxwidth": [40.0, 0.0],
"simple_mode_infill_caption": [0.0, 5.0],
"standard_list_lineheight": [1.5, 1.5],
"standard_list_input": [20.0, 25.0],