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 availableTotalTicks: 0
property var activeQualityIndex: 0
property var existingQualityProfile: 0
property var qualitySliderActiveIndex: 0
property var qualitySliderStepWidth: 0
property var qualitySliderAvailableMin : 0
property var qualitySliderAvailableMax : 0
property var qualitySliderMarginRight : 0
property var qualitySliderAvailableMin: 0
property var qualitySliderAvailableMax: 0
property var qualitySliderMarginRight: 0
function update () {
reset()
@ -97,7 +98,8 @@ Item
// Set selected value
if (Cura.MachineManager.activeQualityType == qualityItem.metadata.quality_type) {
qualityModel.activeQualityIndex = i
qualityModel.qualitySliderActiveIndex = i
qualityModel.existingQualityProfile = 1
}
// Set min available
@ -141,6 +143,7 @@ Item
function reset () {
qualityModel.clear()
qualityModel.availableTotalTicks = -1
qualityModel.existingQualityProfile = 0
// check, the ticks count cannot be less than zero
qualityModel.totalTicks = Math.max(0, Cura.ProfilesModel.rowCount() - 1)
@ -261,7 +264,7 @@ Item
maximumValue: qualityModel.qualitySliderAvailableMax >= 0 ? qualityModel.qualitySliderAvailableMax : 0
stepSize: 1
value: qualityModel.activeQualityIndex
value: qualityModel.qualitySliderActiveIndex
width: qualityModel.qualitySliderStepWidth * qualityModel.availableTotalTicks
@ -284,17 +287,17 @@ Item
implicitWidth: 10 * screenScaleFactor
implicitHeight: implicitWidth
radius: implicitWidth / 2
visible: !Cura.SimpleModeSettingsManager.isProfileCustomized && !Cura.SimpleModeSettingsManager.isProfileUserCreated
visible: !Cura.SimpleModeSettingsManager.isProfileCustomized && !Cura.SimpleModeSettingsManager.isProfileUserCreated && qualityModel.existingQualityProfile
}
}
}
onValueChanged: {
// 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
if(qualitySlider.value != qualityModel.activeQualityIndex)
if (qualitySlider.value != qualityModel.qualitySliderActiveIndex)
{
//start updating with short delay
qualitySliderChangeTimer.start();