@ -28,25 +28,35 @@ MouseArea {
property real itemSize: Math . min ( root . height , root . width / view . count )
readonly property bool isConstrained: plasmoid . formFactor === PlasmaCore . Types . Vertical || plasmoid . formFactor === PlasmaCore . Types . Horizontal
property int wheelDelta : 0
property real brightnessError : 0
onClicked: plasmoid . expanded = ! plasmoid . expanded
onEntered: wheelDelta = 0
onExited: wheelDelta = 0
onWheel: {
var delta = wheel . angleDelta . y || wheel . angleDelta . x
var delta = wheel . angleDelta . y
var maximumBrightness = batterymonitor . maximumScreenBrightness
/ / D o n ' t a l l o w t h e U I t o t u r n o f f t h e s c r e e n
/ / P l e a s e s e e h t t p s : / / g i t . r e v i e w b o a r d . k d e . o r g / r / 1 2 2 5 0 5 / f o r m o r e i n f o r m a t i o n
var minimumBrightness = ( maximumBrightness > 100 ? 1 : 0 )
var steps = Math . max ( 1 , Math . round ( maximumBrightness / 20 ) )
var deltaSteps = delta / 120 ;
batterymonitor . screenBrightness = Math . max ( minimumBrightness , Math . min ( maximumBrightness , batterymonitor . screenBrightness + deltaSteps * steps ) ) ;
var stepSize = Math . max ( 1 , maximumBrightness / 20 )
if ( Math . abs ( delta ) < 120 ) {
/ / T o u c h p a d s c r o l l i n g
brightnessError += delta * stepSize / 120
var change = Math . round ( brightnessError ) ;
var newBrightness = batterymonitor . screenBrightness + change
brightnessError -= change
} else {
/ / D i s c r e t e / w h e e l s c r o l l i n g
var newBrightness = Math . round ( batterymonitor . screenBrightness / stepSize + delta / 120 ) * stepSize
}
batterymonitor . screenBrightness = Math . max ( minimumBrightness , Math . min ( maximumBrightness , newBrightness ) ) ;
}
/ / S h o u l d w e c o n s i d e r t u r n i n g t h i s i n t o a F l o w i t e m ?
Row {
anchors.centerIn: parent