=== squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsApplet.lua ================================================================== --- squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsApplet.lua (revision 39684) +++ squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsApplet.lua (local) @@ -131,44 +131,47 @@ -- add sounds local effectsEnabled = false for k,v in pairs(groups) do - local soundEnabled = Framework:isSoundEnabled(v[1]) - effectsEnabled = effectsEnabled or soundEnabled + log:warn(System:hasBatteryCapability()) + if k ~= 'SOUND_CHARGING' or ( k == 'SOUND_CHARGING' and System:hasBatteryCapability() ) then + log:warn(k) + local soundEnabled = Framework:isSoundEnabled(v[1]) + effectsEnabled = effectsEnabled or soundEnabled + local button = Checkbox( + "checkbox", + function(obj, isSelected) + for i,snd in ipairs(v) do + settings[snd] = isSelected + Framework:enableSound(snd, isSelected) + end - local button = Checkbox( - "checkbox", - function(obj, isSelected) - for i,snd in ipairs(v) do - settings[snd] = isSelected - Framework:enableSound(snd, isSelected) - end + if isSelected then + offButton:setSelected(false) + end - if isSelected then - offButton:setSelected(false) - end + -- turn on off switch? + local s = false + for b,_ in pairs(allButtons) do + s = s or b:isSelected() + end + + if s == false then + offButton:setSelected(true) + end + end, + soundEnabled + ) - -- turn on off switch? - local s = false - for b,_ in pairs(allButtons) do - s = s or b:isSelected() - end - - if s == false then - offButton:setSelected(true) - end - end, - soundEnabled - ) + allButtons[button] = v - allButtons[button] = v - - if k ~= "SOUND_NONE" then - -- insert suitable entry for Choice menu - menu:addItem({ - text = self:string(k), - style = 'item_choice', - check = button, - weight = 10 - }) + if k ~= "SOUND_NONE" then + -- insert suitable entry for Choice menu + menu:addItem({ + text = self:string(k), + style = 'item_choice', + check = button, + weight = 10 + }) + end end end === squeezeplay/share/jive/System.lua ================================================================== --- squeezeplay/share/jive/System.lua (revision 39684) +++ squeezeplay/share/jive/System.lua (local) @@ -154,6 +154,10 @@ return self:hasUSB() or self:hasSDCard() or not self:isHardware() end +function hasBatteryCapability(self) + return _capabilities["batteryCapable"] ~= nil +end + -- rest is C implementation === squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua ================================================================== --- squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua (revision 39684) +++ squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua (local) @@ -147,6 +147,7 @@ ["volumeKnob"] = 1, ["audioByDefault"] = 1, ["wiredNetworking"] = 1, + ["batteryCapable"] = 1, }) -- warn if uuid or mac are invalid === squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua ================================================================== --- squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua (revision 39684) +++ squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua (local) @@ -96,6 +96,7 @@ ["homeAsPowerKey"] = 1, ["deviceRotation"] = 1, ["sdcard"] = 1, + ["batteryCapable"] = 1, }) -- warn if uuid or mac are invalid