CURA-4470 Hide quality slider handle when quality profile doesn't exist

This commit is contained in:
Diego Prado Gesto 2017-10-22 18:35:05 +02:00
parent 9f73f79b2f
commit eb0b08a813

View File

@ -76,12 +76,13 @@ Item
property var totalTicks: 0 property var totalTicks: 0
property var availableTotalTicks: 0 property var availableTotalTicks: 0
property var activeQualityIndex: 0 property var existingQualityProfile: 0
property var qualitySliderActiveIndex: 0
property var qualitySliderStepWidth: 0 property var qualitySliderStepWidth: 0
property var qualitySliderAvailableMin : 0 property var qualitySliderAvailableMin: 0
property var qualitySliderAvailableMax : 0 property var qualitySliderAvailableMax: 0
property var qualitySliderMarginRight : 0 property var qualitySliderMarginRight: 0
function update () { function update () {
reset() reset()
@ -97,7 +98,8 @@ Item
// Set selected value // Set selected value
if (Cura.MachineManager.activeQualityType == qualityItem.metadata.quality_type) { if (Cura.MachineManager.activeQualityType == qualityItem.metadata.quality_type) {
qualityModel.activeQualityIndex = i qualityModel.qualitySliderActiveIndex = i
qualityModel.existingQualityProfile = 1
} }
// Set min available // Set min available
@ -141,6 +143,7 @@ Item
function reset () { function reset () {
qualityModel.clear() qualityModel.clear()
qualityModel.availableTotalTicks = -1 qualityModel.availableTotalTicks = -1
qualityModel.existingQualityProfile = 0
// check, the ticks count cannot be less than zero // check, the ticks count cannot be less than zero
qualityModel.totalTicks = Math.max(0, Cura.ProfilesModel.rowCount() - 1) qualityModel.totalTicks = Math.max(0, Cura.ProfilesModel.rowCount() - 1)
@ -261,7 +264,7 @@ Item
maximumValue: qualityModel.qualitySliderAvailableMax >= 0 ? qualityModel.qualitySliderAvailableMax : 0 maximumValue: qualityModel.qualitySliderAvailableMax >= 0 ? qualityModel.qualitySliderAvailableMax : 0
stepSize: 1 stepSize: 1
value: qualityModel.activeQualityIndex value: qualityModel.qualitySliderActiveIndex
width: qualityModel.qualitySliderStepWidth * qualityModel.availableTotalTicks width: qualityModel.qualitySliderStepWidth * qualityModel.availableTotalTicks
@ -284,17 +287,17 @@ Item
implicitWidth: 10 * screenScaleFactor implicitWidth: 10 * screenScaleFactor
implicitHeight: implicitWidth implicitHeight: implicitWidth
radius: implicitWidth / 2 radius: implicitWidth / 2
visible: !Cura.SimpleModeSettingsManager.isProfileCustomized && !Cura.SimpleModeSettingsManager.isProfileUserCreated visible: !Cura.SimpleModeSettingsManager.isProfileCustomized && !Cura.SimpleModeSettingsManager.isProfileUserCreated && qualityModel.existingQualityProfile
} }
} }
} }
onValueChanged: { onValueChanged: {
// Only change if an active machine is set and the slider is visible at all. // Only change if an active machine is set and the slider is visible at all.
if(Cura.MachineManager.activeMachine != null && visible) if (Cura.MachineManager.activeMachine != null && visible)
{ {
//Prevent updating during view initializing. Trigger only if the value changed by user //Prevent updating during view initializing. Trigger only if the value changed by user
if(qualitySlider.value != qualityModel.activeQualityIndex) if (qualitySlider.value != qualityModel.qualitySliderActiveIndex)
{ {
//start updating with short delay //start updating with short delay
qualitySliderChangeTimer.start(); qualitySliderChangeTimer.start();