mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-18 01:55:56 +08:00
CURA-4182 code improvements for slider property calcs
This commit is contained in:
parent
ae6b1a9f15
commit
f016e5346a
@ -75,7 +75,7 @@ Item
|
|||||||
property var availableTotalTicks: 0
|
property var availableTotalTicks: 0
|
||||||
property var activeQualityId: 0
|
property var activeQualityId: 0
|
||||||
|
|
||||||
property var qualitySliderStepWidth: qualityModel.totalTicks != 0 ? (base.width * 0.55) / (qualityModel.totalTicks) : 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
|
||||||
@ -92,28 +92,30 @@ Item
|
|||||||
// Add each quality item to the UI quality model
|
// Add each quality item to the UI quality model
|
||||||
qualityModel.append(qualityItem)
|
qualityModel.append(qualityItem)
|
||||||
|
|
||||||
// Find slider range, min and max value
|
// Set selected value
|
||||||
if (qualityItem.available && availableMin == -1) {
|
if (Cura.MachineManager.activeQualityId == qualityItem.id) {
|
||||||
availableMin = i
|
|
||||||
availableMax = i
|
|
||||||
} else if (qualityItem.available) {
|
|
||||||
availableMax = i
|
|
||||||
}
|
|
||||||
|
|
||||||
// Find selected value
|
|
||||||
if(Cura.MachineManager.activeQualityId == qualityItem.id) {
|
|
||||||
qualityModel.activeQualityId = i
|
qualityModel.activeQualityId = i
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set min available
|
||||||
|
if (qualityItem.available && availableMin == -1) {
|
||||||
|
availableMin = i
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set max available
|
||||||
|
if (qualityItem.available) {
|
||||||
|
availableMax = i
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set total available ticks for active slider part
|
||||||
if (availableMin != -1) {
|
if (availableMin != -1) {
|
||||||
qualityModel.availableTotalTicks = availableMax - availableMin
|
qualityModel.availableTotalTicks = availableMax - availableMin
|
||||||
} else {
|
|
||||||
qualityModel.availableTotalTicks = -1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Calculate slider values
|
||||||
calculateSliderStepWidth(qualityModel.totalTicks)
|
calculateSliderStepWidth(qualityModel.totalTicks)
|
||||||
calculateSliderMargins(availableMin, availableMax)
|
calculateSliderMargins(availableMin, availableMax, qualityModel.totalTicks)
|
||||||
|
|
||||||
qualityModel.qualitySliderAvailableMin = availableMin
|
qualityModel.qualitySliderAvailableMin = availableMin
|
||||||
qualityModel.qualitySliderAvailableMax = availableMax
|
qualityModel.qualitySliderAvailableMax = availableMax
|
||||||
@ -123,22 +125,15 @@ Item
|
|||||||
qualityModel.qualitySliderStepWidth = totalTicks != 0 ? (base.width * 0.55) / (totalTicks) : 0
|
qualityModel.qualitySliderStepWidth = totalTicks != 0 ? (base.width * 0.55) / (totalTicks) : 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function calculateSliderMargins (availableMin, availableMax) {
|
function calculateSliderMargins (availableMin, availableMax, totalTicks) {
|
||||||
if(availableMin == -1)
|
if (availableMin == -1) {
|
||||||
{
|
|
||||||
qualityModel.qualitySliderMarginRight = base.width * 0.55
|
qualityModel.qualitySliderMarginRight = base.width * 0.55
|
||||||
}
|
} else if (availableMin == 0 && availableMax == 0) {
|
||||||
else if (availableMin == 0 && availableMax == 0)
|
|
||||||
{
|
|
||||||
qualityModel.qualitySliderMarginRight = base.width * 0.55
|
qualityModel.qualitySliderMarginRight = base.width * 0.55
|
||||||
}
|
} else if (availableMin == availableMax) {
|
||||||
else if(availableMin == availableMax)
|
qualityModel.qualitySliderMarginRight = (totalTicks - availableMin) * qualitySliderStepWidth
|
||||||
{
|
} else if (availableMin != availableMax) {
|
||||||
qualityModel.qualitySliderMarginRight = (qualityModel.totalTicks - availableMin) * qualitySliderStepWidth
|
qualityModel.qualitySliderMarginRight = (totalTicks - availableMax) * qualitySliderStepWidth
|
||||||
}
|
|
||||||
else if(availableMin != availableMax)
|
|
||||||
{
|
|
||||||
qualityModel.qualitySliderMarginRight = (qualityModel.totalTicks - availableMax) * qualitySliderStepWidth
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user