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,56 +20,67 @@ Item
name: "cura" name: "cura"
} }
// Item to ensure that all of the buttons are nicely centered.
Row Item
{ {
id: stageMenuRow anchors.horizontalCenter: parent.horizontalCenter
anchors.centerIn: parent width: stageMenuRow.width
height: parent.height height: parent.height
Cura.ViewsSelector RowLayout
{ {
id: viewsSelector id: stageMenuRow
width: Math.round(0.85 * previewMenu.width)
height: parent.height height: parent.height
width: UM.Theme.getSize("views_selector").width spacing: 0
headerCornerSide: Cura.RoundedRectangle.Direction.Left
}
// Separator line Cura.ViewsSelector
Rectangle {
{ id: viewsSelector
height: parent.height headerCornerSide: Cura.RoundedRectangle.Direction.Left
// If there is no viewPanel, we only need a single spacer, so hide this one. Layout.minimumWidth: UM.Theme.getSize("views_selector").width
visible: viewPanel.source != "" Layout.maximumWidth: UM.Theme.getSize("views_selector").width
width: visible ? UM.Theme.getSize("default_lining").width : 0 Layout.fillWidth: true
Layout.fillHeight: true
}
color: UM.Theme.getColor("lining") // Separator line
} Rectangle
{
height: parent.height
// If there is no viewPanel, we only need a single spacer, so hide this one.
visible: viewPanel.source != ""
width: UM.Theme.getSize("default_lining").width
Loader color: UM.Theme.getColor("lining")
{ }
id: viewPanel
height: parent.height
width: childrenRect.width
source: UM.Controller.activeView != null && UM.Controller.activeView.stageMenuComponent != null ? UM.Controller.activeView.stageMenuComponent : ""
}
// Separator line Loader
Rectangle {
{ id: viewPanel
height: parent.height Layout.fillHeight: true
width: UM.Theme.getSize("default_lining").width Layout.fillWidth: true
color: UM.Theme.getColor("lining") 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 : ""
}
Item // Separator line
{ Rectangle
id: printSetupSelectorItem {
// This is a work around to prevent the printSetupSelector from having to be re-loaded every time height: parent.height
// a stage switch is done. width: UM.Theme.getSize("default_lining").width
children: [printSetupSelector] color: UM.Theme.getColor("lining")
height: childrenRect.height }
width: childrenRect.width
Item
{
id: printSetupSelectorItem
// This is a work around to prevent the printSetupSelector from having to be re-loaded every time
// a stage switch is done.
children: [printSetupSelector]
height: childrenRect.height
width: childrenRect.width
}
} }
} }
} }

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
text: catalog.i18nc("@label", "Color scheme") {
font: UM.Theme.getFont("default") id: colorSchemeLabel
color: UM.Theme.getColor("setting_control_text") text: catalog.i18nc("@label", "Color scheme")
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
@ -125,7 +146,7 @@ Cura.ExpandableComponent
Label Label
{ {
id: compatibilityModeLabel id: compatibilityModeLabel
text: catalog.i18nc("@label","Compatibility Mode") text: catalog.i18nc("@label", "Compatibility Mode")
font: UM.Theme.getFont("default") font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text") color: UM.Theme.getColor("text")
visible: UM.SimulationView.compatibilityMode visible: UM.SimulationView.compatibilityMode
@ -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],