mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-15 09:25:58 +08:00
Clean the recommended mode print setup
Contributes to CURA-5941
This commit is contained in:
parent
990c653af4
commit
7639983925
@ -94,40 +94,10 @@ Item
|
||||
anchors
|
||||
{
|
||||
top: header.bottom
|
||||
leftMargin: UM.Theme.getSize("default_margin").width
|
||||
rightMargin: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
sourceComponent: currentModeIndex == 0 ? recommendedPrintSetup : customPrintSetup
|
||||
}
|
||||
|
||||
// Item
|
||||
// {
|
||||
// id: content
|
||||
// width: parent.width
|
||||
// height: 100
|
||||
////// height: tabBar.height + sidebarContents.height
|
||||
////
|
||||
// anchors
|
||||
// {
|
||||
// top: header.bottom
|
||||
// leftMargin: UM.Theme.getSize("default_margin").width
|
||||
// rightMargin: UM.Theme.getSize("default_margin").width
|
||||
// }
|
||||
////
|
||||
//// Rectangle
|
||||
//// {
|
||||
//// id: sidebarContents
|
||||
//// anchors.top: tabBar.bottom
|
||||
//// anchors.bottom: parent.bottom
|
||||
//// anchors.left: parent.left
|
||||
//// anchors.right: parent.right
|
||||
//// height: UM.Theme.getSize("print_setup_widget").height
|
||||
////
|
||||
//// border.width: UM.Theme.getSize("default_lining").width * 2
|
||||
//// border.color: UM.Theme.getColor("action_button_border")
|
||||
//// }
|
||||
// }
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: buttonsSeparator
|
||||
@ -195,7 +165,6 @@ Item
|
||||
|
||||
Component.onCompleted:
|
||||
{
|
||||
print(height, "!!!!!!!!!!!!!!!!!!!!!!!")
|
||||
var index = Math.round(UM.Preferences.getValue("cura/active_mode"))
|
||||
|
||||
if(index != null && !isNaN(index))
|
||||
|
@ -8,17 +8,22 @@ import QtQuick.Controls.Styles 1.4
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Item
|
||||
Column
|
||||
{
|
||||
id: base
|
||||
|
||||
signal showTooltip(Item item, point location, string text)
|
||||
signal hideTooltip()
|
||||
height: childrenRect.height
|
||||
height: childrenRect.height + 2 * padding
|
||||
|
||||
padding: UM.Theme.getSize("thick_margin").width
|
||||
spacing: UM.Theme.getSize("default_margin").height
|
||||
|
||||
property Action configureSettings
|
||||
|
||||
property bool settingsEnabled: Cura.ExtruderManager.activeExtruderStackId || extrudersEnabledCount.properties.value == 1
|
||||
property real labelColumnWidth: Math.round(width / 3)
|
||||
property real settingsColumnWidth: width - labelColumnWidth
|
||||
|
||||
UM.I18nCatalog
|
||||
{
|
||||
@ -33,10 +38,9 @@ Item
|
||||
{
|
||||
id: qualityRow
|
||||
|
||||
height: UM.Theme.getSize("thick_margin").height
|
||||
anchors.topMargin: UM.Theme.getSize("thick_margin").height
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
height: childrenRect.height
|
||||
|
||||
Timer
|
||||
{
|
||||
@ -145,14 +149,14 @@ Item
|
||||
|
||||
function calculateSliderStepWidth (totalTicks)
|
||||
{
|
||||
qualityModel.qualitySliderStepWidth = totalTicks != 0 ? Math.round((base.width * 0.55) / (totalTicks)) : 0
|
||||
qualityModel.qualitySliderStepWidth = totalTicks != 0 ? Math.round((settingsColumnWidth) / (totalTicks)) : 0
|
||||
}
|
||||
|
||||
function calculateSliderMargins (availableMin, availableMax, totalTicks)
|
||||
{
|
||||
if (availableMin == -1 || (availableMin == 0 && availableMax == 0))
|
||||
{
|
||||
qualityModel.qualitySliderMarginRight = Math.round(base.width * 0.55)
|
||||
qualityModel.qualitySliderMarginRight = Math.round(settingsColumnWidth)
|
||||
}
|
||||
else if (availableMin == availableMax)
|
||||
{
|
||||
@ -180,6 +184,7 @@ Item
|
||||
source: UM.Theme.getIcon("category_layer_height")
|
||||
text: catalog.i18nc("@label", "Layer Height")
|
||||
anchors.bottom: speedSlider.bottom
|
||||
width: labelColumnWidth
|
||||
}
|
||||
|
||||
// Show titles for the each quality slider ticks
|
||||
@ -187,6 +192,7 @@ Item
|
||||
{
|
||||
anchors.left: speedSlider.left
|
||||
anchors.top: speedSlider.bottom
|
||||
|
||||
Repeater
|
||||
{
|
||||
model: qualityModel
|
||||
@ -194,7 +200,7 @@ Item
|
||||
Label
|
||||
{
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.top: parent.bottom
|
||||
anchors.top: parent.top
|
||||
color: (Cura.MachineManager.activeMachine != null && Cura.QualityProfilesDropDownMenuModel.getItem(index).available) ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable")
|
||||
text:
|
||||
{
|
||||
@ -225,19 +231,19 @@ Item
|
||||
if (qualityModel.totalTicks == 0)
|
||||
{
|
||||
// If there is only one tick, align it centrally
|
||||
return Math.round(((base.width * 0.55) - width) / 2)
|
||||
return Math.round(((settingsColumnWidth) - width) / 2)
|
||||
}
|
||||
else if (index == 0)
|
||||
{
|
||||
return Math.round(base.width * 0.55 / qualityModel.totalTicks) * index
|
||||
return Math.round(settingsColumnWidth / qualityModel.totalTicks) * index
|
||||
}
|
||||
else if (index == qualityModel.totalTicks)
|
||||
{
|
||||
return Math.round(base.width * 0.55 / qualityModel.totalTicks) * index - width
|
||||
return Math.round(settingsColumnWidth / qualityModel.totalTicks) * index - width
|
||||
}
|
||||
else
|
||||
{
|
||||
return Math.round((base.width * 0.55 / qualityModel.totalTicks) * index - (width / 2))
|
||||
return Math.round((settingsColumnWidth / qualityModel.totalTicks) * index - (width / 2))
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -248,103 +254,102 @@ Item
|
||||
Rectangle
|
||||
{
|
||||
id: speedSlider
|
||||
width: Math.round(base.width * 0.55)
|
||||
height: UM.Theme.getSize("thick_margin").height
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: UM.Theme.getSize("thick_margin").height
|
||||
|
||||
anchors
|
||||
{
|
||||
left: qualityRowTitle.right
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
// This Item is used only for tooltip, for slider area which is unavailable
|
||||
Item
|
||||
{
|
||||
function showTooltip (showTooltip)
|
||||
{
|
||||
if (showTooltip)
|
||||
{
|
||||
var content = catalog.i18nc("@tooltip", "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile")
|
||||
base.showTooltip(qualityRow, Qt.point(-UM.Theme.getSize("thick_margin").width, customisedSettings.height), content)
|
||||
}
|
||||
else
|
||||
{
|
||||
base.hideTooltip()
|
||||
}
|
||||
}
|
||||
|
||||
id: unavailableLineToolTip
|
||||
height: 20 * screenScaleFactor // hovered area height
|
||||
z: parent.z + 1 // should be higher, otherwise the area can be hovered
|
||||
x: 0
|
||||
anchors.verticalCenter: qualitySlider.verticalCenter
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: leftArea
|
||||
width:
|
||||
{
|
||||
if (qualityModel.availableTotalTicks == 0)
|
||||
{
|
||||
return qualityModel.qualitySliderStepWidth * qualityModel.totalTicks
|
||||
}
|
||||
return qualityModel.qualitySliderStepWidth * qualityModel.qualitySliderAvailableMin - 10
|
||||
}
|
||||
height: parent.height
|
||||
color: "transparent"
|
||||
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
enabled: Cura.SimpleModeSettingsManager.isProfileUserCreated == false
|
||||
onEntered: unavailableLineToolTip.showTooltip(true)
|
||||
onExited: unavailableLineToolTip.showTooltip(false)
|
||||
}
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
id: rightArea
|
||||
width:
|
||||
{
|
||||
if(qualityModel.availableTotalTicks == 0)
|
||||
return 0
|
||||
|
||||
return qualityModel.qualitySliderMarginRight - 10
|
||||
}
|
||||
height: parent.height
|
||||
x:
|
||||
{
|
||||
if (qualityModel.availableTotalTicks == 0)
|
||||
{
|
||||
return 0
|
||||
}
|
||||
|
||||
var leftUnavailableArea = qualityModel.qualitySliderStepWidth * qualityModel.qualitySliderAvailableMin
|
||||
var totalGap = qualityModel.qualitySliderStepWidth * (qualityModel.availableTotalTicks -1) + leftUnavailableArea + 10
|
||||
|
||||
return totalGap
|
||||
}
|
||||
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
enabled: Cura.SimpleModeSettingsManager.isProfileUserCreated == false
|
||||
onEntered: unavailableLineToolTip.showTooltip(true)
|
||||
onExited: unavailableLineToolTip.showTooltip(false)
|
||||
}
|
||||
}
|
||||
}
|
||||
// Item
|
||||
// {
|
||||
// function showTooltip (showTooltip)
|
||||
// {
|
||||
// if (showTooltip)
|
||||
// {
|
||||
// var content = catalog.i18nc("@tooltip", "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile")
|
||||
// base.showTooltip(qualityRow, Qt.point(-UM.Theme.getSize("thick_margin").width, customisedSettings.height), content)
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// base.hideTooltip()
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// id: unavailableLineToolTip
|
||||
// height: 20 * screenScaleFactor // hovered area height
|
||||
// z: parent.z + 1 // should be higher, otherwise the area can be hovered
|
||||
// x: 0
|
||||
// anchors.verticalCenter: qualitySlider.verticalCenter
|
||||
//
|
||||
// Rectangle
|
||||
// {
|
||||
// id: leftArea
|
||||
// width:
|
||||
// {
|
||||
// if (qualityModel.availableTotalTicks == 0)
|
||||
// {
|
||||
// return qualityModel.qualitySliderStepWidth * qualityModel.totalTicks
|
||||
// }
|
||||
// return qualityModel.qualitySliderStepWidth * qualityModel.qualitySliderAvailableMin - 10
|
||||
// }
|
||||
// height: parent.height
|
||||
// color: "transparent"
|
||||
//
|
||||
// MouseArea
|
||||
// {
|
||||
// anchors.fill: parent
|
||||
// hoverEnabled: true
|
||||
// enabled: Cura.SimpleModeSettingsManager.isProfileUserCreated == false
|
||||
// onEntered: unavailableLineToolTip.showTooltip(true)
|
||||
// onExited: unavailableLineToolTip.showTooltip(false)
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// Item
|
||||
// {
|
||||
// id: rightArea
|
||||
// width:
|
||||
// {
|
||||
// if(qualityModel.availableTotalTicks == 0)
|
||||
// return 0
|
||||
//
|
||||
// return qualityModel.qualitySliderMarginRight - 10
|
||||
// }
|
||||
// height: parent.height
|
||||
// x:
|
||||
// {
|
||||
// if (qualityModel.availableTotalTicks == 0)
|
||||
// {
|
||||
// return 0
|
||||
// }
|
||||
//
|
||||
// var leftUnavailableArea = qualityModel.qualitySliderStepWidth * qualityModel.qualitySliderAvailableMin
|
||||
// var totalGap = qualityModel.qualitySliderStepWidth * (qualityModel.availableTotalTicks -1) + leftUnavailableArea + 10
|
||||
//
|
||||
// return totalGap
|
||||
// }
|
||||
//
|
||||
// MouseArea
|
||||
// {
|
||||
// anchors.fill: parent
|
||||
// hoverEnabled: true
|
||||
// enabled: Cura.SimpleModeSettingsManager.isProfileUserCreated == false
|
||||
// onEntered: unavailableLineToolTip.showTooltip(true)
|
||||
// onExited: unavailableLineToolTip.showTooltip(false)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// Draw Unavailable line
|
||||
Rectangle
|
||||
{
|
||||
id: groovechildrect
|
||||
width: Math.round(base.width * 0.55)
|
||||
width: parent.width
|
||||
height: 2 * screenScaleFactor
|
||||
color: UM.Theme.getColor("quality_slider_unavailable")
|
||||
anchors.verticalCenter: qualitySlider.verticalCenter
|
||||
x: 0
|
||||
}
|
||||
|
||||
// Draw ticks
|
||||
Repeater
|
||||
@ -355,19 +360,21 @@ Item
|
||||
Rectangle
|
||||
{
|
||||
color: Cura.QualityProfilesDropDownMenuModel.getItem(index).available ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable")
|
||||
implicitWidth: 5 * screenScaleFactor
|
||||
implicitWidth: 4 * screenScaleFactor
|
||||
implicitHeight: implicitWidth
|
||||
anchors.verticalCenter: qualitySlider.verticalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
x: Math.round(qualityModel.qualitySliderStepWidth * index)
|
||||
radius: Math.round(implicitWidth / 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Draw available slider
|
||||
Slider
|
||||
{
|
||||
id: qualitySlider
|
||||
height: UM.Theme.getSize("thick_margin").height
|
||||
anchors.bottom: speedSlider.bottom
|
||||
anchors.bottom: parent.bottom
|
||||
enabled: qualityModel.totalTicks > 0 && !Cura.SimpleModeSettingsManager.isProfileCustomized
|
||||
visible: qualityModel.availableTotalTicks > 0
|
||||
updateValueWhileDragging : false
|
||||
@ -394,20 +401,17 @@ Item
|
||||
color: UM.Theme.getColor("quality_slider_available")
|
||||
radius: Math.round(height / 2)
|
||||
}
|
||||
handle: Item
|
||||
{
|
||||
Rectangle
|
||||
|
||||
handle: Rectangle
|
||||
{
|
||||
id: qualityhandleButton
|
||||
anchors.centerIn: parent
|
||||
color: UM.Theme.getColor("quality_slider_available")
|
||||
implicitWidth: 10 * screenScaleFactor
|
||||
implicitWidth: 12 * screenScaleFactor
|
||||
implicitHeight: implicitWidth
|
||||
radius: Math.round(implicitWidth / 2)
|
||||
visible: !Cura.SimpleModeSettingsManager.isProfileCustomized && !Cura.SimpleModeSettingsManager.isProfileUserCreated && qualityModel.existingQualityProfile
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onValueChanged:
|
||||
{
|
||||
@ -474,27 +478,17 @@ Item
|
||||
//
|
||||
Item
|
||||
{
|
||||
id: infillCellLeft
|
||||
|
||||
anchors.top: qualityRow.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("thick_margin").height * 2
|
||||
anchors.left: parent.left
|
||||
|
||||
width: Math.round(UM.Theme.getSize("print_setup_widget").width * .45) - UM.Theme.getSize("thick_margin").width
|
||||
anchors.right: parent.right
|
||||
height: childrenRect.height
|
||||
|
||||
Cura.IconWithText
|
||||
{
|
||||
id: infillLabel
|
||||
id: infillRowTitle
|
||||
source: UM.Theme.getIcon("category_infill")
|
||||
text: catalog.i18nc("@label", "Infill") + " (%)"
|
||||
|
||||
anchors
|
||||
{
|
||||
top: parent.top
|
||||
topMargin: Math.round(UM.Theme.getSize("thick_margin").height * 1.7)
|
||||
left: parent.left
|
||||
}
|
||||
}
|
||||
anchors.bottom: parent.bottom
|
||||
width: labelColumnWidth
|
||||
}
|
||||
|
||||
Item
|
||||
@ -502,13 +496,12 @@ Item
|
||||
id: infillCellRight
|
||||
|
||||
height: infillSlider.height + UM.Theme.getSize("thick_margin").height + enableGradualInfillCheckBox.visible * (enableGradualInfillCheckBox.height + UM.Theme.getSize("thick_margin").height)
|
||||
width: Math.round(UM.Theme.getSize("print_setup_widget").width * .55)
|
||||
|
||||
anchors.left: infillCellLeft.right
|
||||
anchors.top: infillCellLeft.top
|
||||
anchors.topMargin: UM.Theme.getSize("thick_margin").height
|
||||
anchors.left: infillRowTitle.right
|
||||
anchors.right: parent.right
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
id: selectedInfillRateText
|
||||
|
||||
anchors.left: infillSlider.left
|
||||
@ -800,26 +793,24 @@ Item
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Enable support
|
||||
//
|
||||
Row
|
||||
{
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
height: childrenRect.height
|
||||
|
||||
Cura.IconWithText
|
||||
{
|
||||
id: enableSupportLabel
|
||||
visible: enableSupportCheckBox.visible
|
||||
source: UM.Theme.getIcon("category_support")
|
||||
text: catalog.i18nc("@label", "Support")
|
||||
|
||||
anchors
|
||||
{
|
||||
top: infillCellRight.bottom
|
||||
topMargin: Math.round(UM.Theme.getSize("thick_margin").height * 1.5)
|
||||
left: parent.left
|
||||
right: infillCellLeft.right
|
||||
rightMargin: UM.Theme.getSize("thick_margin").width
|
||||
verticalCenter: enableSupportCheckBox.verticalCenter
|
||||
}
|
||||
width: labelColumnWidth
|
||||
}
|
||||
|
||||
CheckBox
|
||||
@ -827,9 +818,6 @@ Item
|
||||
id: enableSupportCheckBox
|
||||
property alias _hovered: enableSupportMouseArea.containsMouse
|
||||
|
||||
anchors.top: enableSupportLabel.top
|
||||
anchors.left: infillCellRight.left
|
||||
|
||||
style: UM.Theme.styles.checkbox
|
||||
enabled: base.settingsEnabled
|
||||
|
||||
@ -868,11 +856,6 @@ Item
|
||||
|
||||
textRole: "text" // this solves that the combobox isn't populated in the first time Cura is started
|
||||
|
||||
anchors.top: enableSupportCheckBox.top
|
||||
|
||||
anchors.left: enableSupportCheckBox.right
|
||||
anchors.leftMargin: Math.round(UM.Theme.getSize("thick_margin").width / 2)
|
||||
|
||||
width: Math.round(UM.Theme.getSize("print_setup_widget").width * .55) - Math.round(UM.Theme.getSize("thick_margin").width / 2) - enableSupportCheckBox.width
|
||||
height: ((supportEnabled.properties.value == "True") && (machineExtruderCount.properties.value > 1)) ? UM.Theme.getSize("setting_control").height : 0
|
||||
|
||||
@ -927,6 +910,14 @@ Item
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Adhesion
|
||||
Row
|
||||
{
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
height: childrenRect.height
|
||||
|
||||
Cura.IconWithText
|
||||
{
|
||||
@ -934,14 +925,7 @@ Item
|
||||
visible: adhesionCheckBox.visible
|
||||
source: UM.Theme.getIcon("category_adhesion")
|
||||
text: catalog.i18nc("@label", "Adhesion")
|
||||
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
right: infillCellLeft.right
|
||||
rightMargin: UM.Theme.getSize("thick_margin").width
|
||||
verticalCenter: adhesionCheckBox.verticalCenter
|
||||
}
|
||||
width: labelColumnWidth
|
||||
}
|
||||
|
||||
CheckBox
|
||||
@ -949,10 +933,6 @@ Item
|
||||
id: adhesionCheckBox
|
||||
property alias _hovered: adhesionMouseArea.containsMouse
|
||||
|
||||
anchors.top: enableSupportCheckBox.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("thick_margin").height
|
||||
anchors.left: infillCellRight.left
|
||||
|
||||
//: Setting enable printing build-plate adhesion helper checkbox
|
||||
style: UM.Theme.styles.checkbox
|
||||
enabled: base.settingsEnabled
|
||||
@ -988,7 +968,7 @@ Item
|
||||
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()
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1005,31 +985,6 @@ Item
|
||||
onModelChanged: populateExtruderModel()
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
id: tipsCell
|
||||
anchors.top: adhesionCheckBox.visible ? adhesionCheckBox.bottom : (enableSupportCheckBox.visible ? supportExtruderCombobox.bottom : infillCellRight.bottom)
|
||||
anchors.topMargin: Math.round(UM.Theme.getSize("thick_margin").height * 2)
|
||||
anchors.left: parent.left
|
||||
width: parent.width
|
||||
height: tipsText.contentHeight * tipsText.lineCount
|
||||
|
||||
Label
|
||||
{
|
||||
id: tipsText
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("thick_margin").width
|
||||
anchors.top: parent.top
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label", "Need help improving your prints?<br>Read the <a href='%1'>Ultimaker Troubleshooting Guides</a>").arg("https://ultimaker.com/en/troubleshooting")
|
||||
font: UM.Theme.getFont("default");
|
||||
color: UM.Theme.getColor("text");
|
||||
linkColor: UM.Theme.getColor("text_link")
|
||||
onLinkActivated: Qt.openUrlExternally(link)
|
||||
}
|
||||
}
|
||||
|
||||
UM.SettingPropertyProvider
|
||||
{
|
||||
id: infillExtruderNumber
|
||||
@ -1096,7 +1051,7 @@ Item
|
||||
|
||||
function populateExtruderModel()
|
||||
{
|
||||
extruderModel.clear();
|
||||
extruderModel.clear()
|
||||
for (var extruderNumber = 0; extruderNumber < extruders.rowCount(); extruderNumber++)
|
||||
{
|
||||
extruderModel.append({
|
||||
|
Loading…
x
Reference in New Issue
Block a user