mirror of
https://github.com/dscalzi/HeliosLauncher.git
synced 2024-12-22 11:42:14 -08:00
Tweaking memory range sliders.
Fixed minor issue where an extra tick was added. The bar fill color now changes to yellow and red depending on how much memory is being allocated.
This commit is contained in:
parent
6ac48a63b5
commit
b61a9a2c55
@ -1143,6 +1143,7 @@ input:checked + .toggleSwitchSlider:before {
|
|||||||
width: 50%;
|
width: 50%;
|
||||||
height: 5px;
|
height: 5px;
|
||||||
border-radius: 3px 0px 0px 3px;
|
border-radius: 3px 0px 0px 3px;
|
||||||
|
transition: background 0.25s ease;
|
||||||
}
|
}
|
||||||
.rangeSliderTrack {
|
.rangeSliderTrack {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -375,10 +375,19 @@ settingsMinRAMRange.setAttribute('min', ConfigManager.getAbsoluteMinRAM())
|
|||||||
settingsMinRAMRange.onchange = (e) => {
|
settingsMinRAMRange.onchange = (e) => {
|
||||||
const sMaxV = Number(settingsMaxRAMRange.getAttribute('value'))
|
const sMaxV = Number(settingsMaxRAMRange.getAttribute('value'))
|
||||||
const sMinV = Number(settingsMinRAMRange.getAttribute('value'))
|
const sMinV = Number(settingsMinRAMRange.getAttribute('value'))
|
||||||
|
const bar = e.target.getElementsByClassName('rangeSliderBar')[0]
|
||||||
|
const max = (os.totalmem()-1000000000)/1000000000
|
||||||
|
if(sMinV >= max/2){
|
||||||
|
bar.style.background = '#e86060'
|
||||||
|
} else if(sMinV >= max/4) {
|
||||||
|
bar.style.background = '#e8e18b'
|
||||||
|
} else {
|
||||||
|
bar.style.background = null
|
||||||
|
}
|
||||||
if(sMaxV < sMinV){
|
if(sMaxV < sMinV){
|
||||||
const sliderMeta = calculateRangeSliderMeta(settingsMaxRAMRange)
|
const sliderMeta = calculateRangeSliderMeta(settingsMaxRAMRange)
|
||||||
updateRangedSlider(settingsMaxRAMRange, sMinV,
|
updateRangedSlider(settingsMaxRAMRange, sMinV,
|
||||||
(1+(sMinV-sliderMeta.min)/sliderMeta.step)*sliderMeta.inc)
|
((sMinV-sliderMeta.min)/sliderMeta.step)*sliderMeta.inc)
|
||||||
settingsMaxRAMLabel.innerHTML = sMinV.toFixed(1) + 'G'
|
settingsMaxRAMLabel.innerHTML = sMinV.toFixed(1) + 'G'
|
||||||
}
|
}
|
||||||
settingsMinRAMLabel.innerHTML = sMinV.toFixed(1) + 'G'
|
settingsMinRAMLabel.innerHTML = sMinV.toFixed(1) + 'G'
|
||||||
@ -387,10 +396,19 @@ settingsMinRAMRange.onchange = (e) => {
|
|||||||
settingsMaxRAMRange.onchange = (e) => {
|
settingsMaxRAMRange.onchange = (e) => {
|
||||||
const sMaxV = Number(settingsMaxRAMRange.getAttribute('value'))
|
const sMaxV = Number(settingsMaxRAMRange.getAttribute('value'))
|
||||||
const sMinV = Number(settingsMinRAMRange.getAttribute('value'))
|
const sMinV = Number(settingsMinRAMRange.getAttribute('value'))
|
||||||
|
const bar = e.target.getElementsByClassName('rangeSliderBar')[0]
|
||||||
|
const max = (os.totalmem()-1000000000)/1000000000
|
||||||
|
if(sMaxV >= max/2){
|
||||||
|
bar.style.background = '#e86060'
|
||||||
|
} else if(sMaxV >= max/4) {
|
||||||
|
bar.style.background = '#e8e18b'
|
||||||
|
} else {
|
||||||
|
bar.style.background = null
|
||||||
|
}
|
||||||
if(sMaxV < sMinV){
|
if(sMaxV < sMinV){
|
||||||
const sliderMeta = calculateRangeSliderMeta(settingsMaxRAMRange)
|
const sliderMeta = calculateRangeSliderMeta(settingsMaxRAMRange)
|
||||||
updateRangedSlider(settingsMinRAMRange, sMaxV,
|
updateRangedSlider(settingsMinRAMRange, sMaxV,
|
||||||
(1+(sMaxV-sliderMeta.min)/sliderMeta.step)*sliderMeta.inc)
|
((sMaxV-sliderMeta.min)/sliderMeta.step)*sliderMeta.inc)
|
||||||
settingsMinRAMLabel.innerHTML = sMaxV.toFixed(1) + 'G'
|
settingsMinRAMLabel.innerHTML = sMaxV.toFixed(1) + 'G'
|
||||||
}
|
}
|
||||||
settingsMaxRAMLabel.innerHTML = sMaxV.toFixed(1) + 'G'
|
settingsMaxRAMLabel.innerHTML = sMaxV.toFixed(1) + 'G'
|
||||||
@ -402,7 +420,7 @@ function calculateRangeSliderMeta(v){
|
|||||||
min: Number(v.getAttribute('min')),
|
min: Number(v.getAttribute('min')),
|
||||||
step: Number(v.getAttribute('step')),
|
step: Number(v.getAttribute('step')),
|
||||||
}
|
}
|
||||||
val.ticks = 1+(val.max-val.min)/val.step
|
val.ticks = (val.max-val.min)/val.step
|
||||||
val.inc = 100/val.ticks
|
val.inc = 100/val.ticks
|
||||||
return val
|
return val
|
||||||
}
|
}
|
||||||
@ -414,7 +432,7 @@ function bindRangeSlider(){
|
|||||||
const value = v.getAttribute('value')
|
const value = v.getAttribute('value')
|
||||||
const sliderMeta = calculateRangeSliderMeta(v)
|
const sliderMeta = calculateRangeSliderMeta(v)
|
||||||
updateRangedSlider(v, value,
|
updateRangedSlider(v, value,
|
||||||
(1+(value-sliderMeta.min)/sliderMeta.step)*sliderMeta.inc)
|
((value-sliderMeta.min)/sliderMeta.step)*sliderMeta.inc)
|
||||||
|
|
||||||
track.onmousedown = (e) => {
|
track.onmousedown = (e) => {
|
||||||
|
|
||||||
@ -430,9 +448,9 @@ function bindRangeSlider(){
|
|||||||
|
|
||||||
const perc = (diff/v.offsetWidth)*100
|
const perc = (diff/v.offsetWidth)*100
|
||||||
const notch = Number(perc/sliderMeta.inc).toFixed(0)*sliderMeta.inc
|
const notch = Number(perc/sliderMeta.inc).toFixed(0)*sliderMeta.inc
|
||||||
console.log(notch, perc)
|
|
||||||
if(Math.abs(perc-notch) < sliderMeta.inc/2){
|
if(Math.abs(perc-notch) < sliderMeta.inc/2){
|
||||||
updateRangedSlider(v, sliderMeta.min+(sliderMeta.step*((notch/sliderMeta.inc)-1)), notch)
|
updateRangedSlider(v, sliderMeta.min+(sliderMeta.step*(notch/sliderMeta.inc)), notch)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user