Author: bklaas
Date: Wed Feb 24 12:48:36 2010
New Revision: 8569
URL: http://svn.slimdevices.com/jive?rev=8569&view=rev
Log:
Fixed Bug: 12727
Description:
add setEnabled() method to Slider class to allow a slider to ignore events when
Slider:setEnabled(false) is set
disable progress bar slider and change style to white dot in NowPlaying when
self.player:isTrackSeekable() returns false
enable progress bar slider when isTrackSeekable returns true
add npprogressB_disabled style to other skins so not to throw error
Modified:
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/QVGAlandscapeSkin/QVGAlandscapeSkinApplet.lua
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/QVGAportraitSkin/QVGAportraitSkinApplet.lua
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/WQVGAlargeSkin/WQVGAlargeSkinApplet.lua
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/WQVGAsmallSkin/WQVGAsmallSkinApplet.lua
7.5/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua
Modified:
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua?rev=8569&r1=8568&r2=8569&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
Wed Feb 24 12:48:36 2010
@@ -665,6 +665,22 @@
showProgressBar = false
end
+ -- if we're shoing a progress bar, make sure the state of the slider
reflects the ability to seek
+ -- and is disabled when canSeek is false
+ if showProgressBar then
+ local canSeek = self.player:isTrackSeekable()
+ log:debug('canSeek: ', canSeek)
+
+ if canSeek then
+ -- allow events to the slider
+ self.progressSlider:setEnabled(true)
+ self.progressSlider:setStyle('npprogressB')
+ else
+ -- consume all touches to this slider
+ self.progressSlider:setEnabled(false)
+ self.progressSlider:setStyle('npprogressB_disabled')
+ end
+ end
_updatePosition(self)
end
@@ -1113,7 +1129,6 @@
self.gotoElapsed = value
self.gotoTimer:restart()
end)
-
self.progressBarGroup = Group('npprogress', {
elapsed = Label("elapsed", ""),
slider = self.progressSlider,
Modified:
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/QVGAlandscapeSkin/QVGAlandscapeSkinApplet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/applets/QVGAlandscapeSkin/QVGAlandscapeSkinApplet.lua?rev=8569&r1=8568&r2=8569&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/QVGAlandscapeSkin/QVGAlandscapeSkinApplet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/QVGAlandscapeSkin/QVGAlandscapeSkinApplet.lua
Wed Feb 24 12:48:36 2010
@@ -286,6 +286,15 @@
border = { 0, 59, 0, 0 },
w = WH_FILL,
order = { "slider" },
+ npprogressB = {
+ w = screenWidth,
+ align = 'center',
+ horizontal = 1,
+ bgImg = s.img.songProgressBackground,
+ img = s.img.songProgressBar,
+ h = 15,
+ padding = { 0, 0, 0, 15 },
+ }
},
-- special style for when there shouldn't be a progress bar
(e.g., internet radio streams)
@@ -294,6 +303,8 @@
},
})
+
+ s.nowplaying.npprogress.npprogressB_disabled =
_uses(s.nowplaying.npprogress.npprogressB)
--FIXME: Bug 15030, need way to cycle through NP views on
Baby/Controller
s.nowplaying_small_art = _uses(s.nowplaying, {
@@ -312,17 +323,6 @@
s.nowplaying_small_art.pressed = s.nowplaying_small_art
-- sliders
- -- FIXME: I'd much rather describe slider style within the s.nowplaying
window table above, otherwise describing alternative window styles for NP will
be problematic
- s.npprogressB = {
- w = screenWidth,
- align = 'center',
- horizontal = 1,
- bgImg = s.img.songProgressBackground,
- img = s.img.songProgressBar,
- h = 15,
- padding = { 0, 0, 0, 15 },
- }
-
s.npvolumeB = { hidden = 1 }
s.icon_photo_loading = _uses(s._icon, {
Modified:
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/QVGAportraitSkin/QVGAportraitSkinApplet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/applets/QVGAportraitSkin/QVGAportraitSkinApplet.lua?rev=8569&r1=8568&r2=8569&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/QVGAportraitSkin/QVGAportraitSkinApplet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/QVGAportraitSkin/QVGAportraitSkinApplet.lua
Wed Feb 24 12:48:36 2010
@@ -570,6 +570,15 @@
font = _boldfont(9),
fg = { 0xb3, 0xb3, 0xb3 },
},
+ npprogressB = {
+ w = WH_FILL,
+ align = 'center',
+ border = { 10, 0, 10, 0 },
+ horizontal = 1,
+ bgImg = s.img.songProgressBackground,
+ img = s.img.songProgressBar,
+ h = 15,
+ },
},
-- special style for when there shouldn't be a progress bar
(e.g., internet radio streams)
@@ -606,16 +615,7 @@
s.nowplaying_small_art.pressed = s.nowplaying_small_art
-- sliders
- -- FIXME: I'd much rather describe slider style within the s.nowplaying
window table above, otherwise describing alternative window styles for NP will
be problematic
- s.npprogressB = {
- w = WH_FILL,
- align = 'center',
- border = { 10, 0, 10, 0 },
- horizontal = 1,
- bgImg = s.img.songProgressBackground,
- img = s.img.songProgressBar,
- h = 15,
- }
+ s.nowplaying.npprogress.npprogressB_disabled =
_uses(s.nowplaying.npprogress.npprogressB)
s.npvolumeB = { hidden = 1 }
Modified:
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/WQVGAlargeSkin/WQVGAlargeSkinApplet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/applets/WQVGAlargeSkin/WQVGAlargeSkinApplet.lua?rev=8569&r1=8568&r2=8569&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/WQVGAlargeSkin/WQVGAlargeSkinApplet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/WQVGAlargeSkin/WQVGAlargeSkinApplet.lua
Wed Feb 24 12:48:36 2010
@@ -2315,6 +2315,8 @@
},
})
+ s.nowplaying.npprogress.npprogressB_disabled =
_uses(s.nowplaying.npprogress.npprogressB)
+
s.nowplaying_art_only = _uses(s.nowplaying, {
bgImg = nocturneWallpaper,
Modified:
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/WQVGAsmallSkin/WQVGAsmallSkinApplet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/applets/WQVGAsmallSkin/WQVGAsmallSkinApplet.lua?rev=8569&r1=8568&r2=8569&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/WQVGAsmallSkin/WQVGAsmallSkinApplet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/WQVGAsmallSkin/WQVGAsmallSkinApplet.lua
Wed Feb 24 12:48:36 2010
@@ -741,6 +741,12 @@
nil,
nil,
imgpath ..
"Song_Progress_Bar/SP_Bar_Touch/tch_progressbar_slider.png"
+ })
+
+ local _songProgressBarDisabled = _loadHTile(self, {
+ nil,
+ nil,
+ imgpath ..
"Song_Progress_Bar/SP_Bar_Remote/rem_progressbar_slider.png"
})
local _vizProgressBar = _loadHTile(self, {
@@ -3039,6 +3045,10 @@
})
-- sliders
+ s.nowplaying.npprogress.npprogressB_disabled =
_uses(s.nowplaying.npprogress.npprogressB, {
+ img = _songProgressBarDisabled,
+ })
+
s.npvolumeB = {
w = volumeBarWidth,
border = { 5, 3, 5, 0 },
Modified: 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua?rev=8569&r1=8568&r2=8569&view=diff
==============================================================================
--- 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua (original)
+++ 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua Wed Feb 24
12:48:36 2010
@@ -93,7 +93,7 @@
obj.value = 1
obj.closure = closure
obj.dragDoneClosure = dragDoneClosure
-
+ obj.sliderEnabled = true
obj.irAccel = IRMenuAccel("arrow_up", "arrow_down")
-- obj.dragThreshold = 25
@@ -177,6 +177,23 @@
self:reDraw()
end
+--[[
+
+=head2 jive.ui.Slider:setEnabled(value)
+
+Toggles the slider as an enabled or disabled widget
+For use in consuming events when the slider is intended to be non-interactive
+
+=cut
+--]]
+function setEnabled(self, enable)
+ if enable then
+ self.sliderEnabled = true
+ else
+ self.sliderEnabled = false
+ end
+end
+
--[[
@@ -229,6 +246,11 @@
function _eventHandler(self, event)
local type = event:getType()
+
+ -- consume events if the slider is disabled
+ if not self.sliderEnabled then
+ return EVENT_CONSUME
+ end
if type == EVENT_SCROLL then
self:_moveSlider(event:getScroll())
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins