Merge pull request #4982 from Ultimaker/fix_preview_stage_menu

Fix preview stage menu
This commit is contained in:
Diego Prado Gesto 2018-12-13 09:32:01 +01:00 committed by GitHub
commit 635115a879
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 94 additions and 62 deletions

View File

@ -2,6 +2,7 @@
// Cura is released under the terms of the LGPLv3 or higher. // Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7 import QtQuick 2.7
import QtQuick.Layouts 1.1
import QtQuick.Controls 2.3 import QtQuick.Controls 2.3
import UM 1.3 as UM import UM 1.3 as UM
@ -19,19 +20,28 @@ Item
name: "cura" name: "cura"
} }
// Item to ensure that all of the buttons are nicely centered.
Item
{
anchors.horizontalCenter: parent.horizontalCenter
width: stageMenuRow.width
height: parent.height
Row RowLayout
{ {
id: stageMenuRow id: stageMenuRow
anchors.centerIn: parent width: Math.round(0.85 * previewMenu.width)
height: parent.height height: parent.height
spacing: 0
Cura.ViewsSelector Cura.ViewsSelector
{ {
id: viewsSelector id: viewsSelector
height: parent.height
width: UM.Theme.getSize("views_selector").width
headerCornerSide: Cura.RoundedRectangle.Direction.Left headerCornerSide: Cura.RoundedRectangle.Direction.Left
Layout.minimumWidth: UM.Theme.getSize("views_selector").width
Layout.maximumWidth: UM.Theme.getSize("views_selector").width
Layout.fillWidth: true
Layout.fillHeight: true
} }
// Separator line // Separator line
@ -40,7 +50,7 @@ Item
height: parent.height height: parent.height
// If there is no viewPanel, we only need a single spacer, so hide this one. // If there is no viewPanel, we only need a single spacer, so hide this one.
visible: viewPanel.source != "" visible: viewPanel.source != ""
width: visible ? UM.Theme.getSize("default_lining").width : 0 width: UM.Theme.getSize("default_lining").width
color: UM.Theme.getColor("lining") color: UM.Theme.getColor("lining")
} }
@ -48,8 +58,9 @@ Item
Loader Loader
{ {
id: viewPanel id: viewPanel
height: parent.height Layout.fillHeight: true
width: childrenRect.width Layout.fillWidth: true
Layout.preferredWidth: stageMenuRow.width - viewsSelector.width - printSetupSelectorItem.width - 2 * UM.Theme.getSize("default_lining").width
source: UM.Controller.activeView != null && UM.Controller.activeView.stageMenuComponent != null ? UM.Controller.activeView.stageMenuComponent : "" source: UM.Controller.activeView != null && UM.Controller.activeView.stageMenuComponent != null ? UM.Controller.activeView.stageMenuComponent : ""
} }
@ -72,3 +83,4 @@ Item
} }
} }
} }
}

View File

@ -15,7 +15,6 @@ Cura.ExpandableComponent
{ {
id: base id: base
width: UM.Theme.getSize("layerview_menu_size").width
contentHeaderTitle: catalog.i18nc("@label", "Color scheme") contentHeaderTitle: catalog.i18nc("@label", "Color scheme")
Connections Connections
@ -35,14 +34,36 @@ Cura.ExpandableComponent
} }
} }
headerItem: Label headerItem: Item
{ {
id: layerViewTypesLabel Label
{
id: colorSchemeLabel
text: catalog.i18nc("@label", "Color scheme") text: catalog.i18nc("@label", "Color scheme")
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("setting_control_text")
height: base.height
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
height: parent.height
elide: Text.ElideRight
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text_medium")
renderType: Text.NativeRendering
}
Label
{
text: layerTypeCombobox.currentText
verticalAlignment: Text.AlignVCenter
anchors
{
left: colorSchemeLabel.right
leftMargin: UM.Theme.getSize("default_margin").width
right: parent.right
}
height: parent.height
elide: Text.ElideRight
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
renderType: Text.NativeRendering
}
} }
contentItem: Column contentItem: Column
@ -136,7 +157,7 @@ Cura.ExpandableComponent
Item // Spacer Item // Spacer
{ {
height: Math.round(UM.Theme.getSize("default_margin").width / 2) height: UM.Theme.getSize("narrow_margin").width
width: width width: width
} }
@ -161,17 +182,16 @@ Cura.ExpandableComponent
style: UM.Theme.styles.checkbox style: UM.Theme.styles.checkbox
Rectangle
UM.RecolorImage
{ {
id: swatch
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
anchors.right: extrudersModelCheckBox.right anchors.right: extrudersModelCheckBox.right
width: UM.Theme.getSize("layerview_legend_size").width width: UM.Theme.getSize("layerview_legend_size").width
height: UM.Theme.getSize("layerview_legend_size").height height: UM.Theme.getSize("layerview_legend_size").height
source: UM.Theme.getIcon("extruder_button")
color: model.color color: model.color
radius: Math.round(width / 2)
border.width: UM.Theme.getSize("default_lining").width
border.color: UM.Theme.getColor("lining")
visible: !viewSettings.show_legend && !viewSettings.show_gradient
} }
Label Label
@ -201,25 +221,25 @@ Cura.ExpandableComponent
Component.onCompleted: Component.onCompleted:
{ {
typesLegendModel.append({ typesLegendModel.append({
label: catalog.i18nc("@label", "Show Travels"), label: catalog.i18nc("@label", "Travels"),
initialValue: viewSettings.show_travel_moves, initialValue: viewSettings.show_travel_moves,
preference: "layerview/show_travel_moves", preference: "layerview/show_travel_moves",
colorId: "layerview_move_combing" colorId: "layerview_move_combing"
}); });
typesLegendModel.append({ typesLegendModel.append({
label: catalog.i18nc("@label", "Show Helpers"), label: catalog.i18nc("@label", "Helpers"),
initialValue: viewSettings.show_helpers, initialValue: viewSettings.show_helpers,
preference: "layerview/show_helpers", preference: "layerview/show_helpers",
colorId: "layerview_support" colorId: "layerview_support"
}); });
typesLegendModel.append({ typesLegendModel.append({
label: catalog.i18nc("@label", "Show Shell"), label: catalog.i18nc("@label", "Shell"),
initialValue: viewSettings.show_skin, initialValue: viewSettings.show_skin,
preference: "layerview/show_skin", preference: "layerview/show_skin",
colorId: "layerview_inset_0" colorId: "layerview_inset_0"
}); });
typesLegendModel.append({ typesLegendModel.append({
label: catalog.i18nc("@label", "Show Infill"), label: catalog.i18nc("@label", "Infill"),
initialValue: viewSettings.show_infill, initialValue: viewSettings.show_infill,
preference: "layerview/show_infill", preference: "layerview/show_infill",
colorId: "layerview_infill" colorId: "layerview_infill"

View File

@ -43,7 +43,7 @@ Cura.ExpandablePopup
Label Label
{ {
id: title id: title
text: catalog.i18nc("@button", "View types") text: catalog.i18nc("@label", "View types")
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
height: parent.height height: parent.height
elide: Text.ElideRight elide: Text.ElideRight

View File

@ -380,7 +380,7 @@
"machine_selector_widget_content": [25.0, 32.0], "machine_selector_widget_content": [25.0, 32.0],
"machine_selector_icon": [2.66, 2.66], "machine_selector_icon": [2.66, 2.66],
"views_selector": [16.0, 4.5], "views_selector": [23.0, 4.0],
"printer_type_label": [3.5, 1.5], "printer_type_label": [3.5, 1.5],
@ -450,7 +450,7 @@
"slider_handle": [1.5, 1.5], "slider_handle": [1.5, 1.5],
"slider_layerview_size": [1.0, 26.0], "slider_layerview_size": [1.0, 26.0],
"layerview_menu_size": [15, 20], "layerview_menu_size": [16.0, 4.0],
"layerview_legend_size": [1.0, 1.0], "layerview_legend_size": [1.0, 1.0],
"layerview_row": [11.0, 1.5], "layerview_row": [11.0, 1.5],
"layerview_row_spacing": [0.0, 0.5], "layerview_row_spacing": [0.0, 0.5],