Author: bklaas
Date: Fri Apr 30 08:55:34 2010
New Revision: 8757
URL: http://svn.slimdevices.com/jive?rev=8757&view=rev
Log:
Bug: 15827
Description:
Sort media manager menu by weight, then alpha
Push eject item to bottom of media manager menu
Add support in mmOnEjectHanlders for ejectWarningText and ejectWarningText
conditionals
allows for appended text on the eject confirmation window, e.g. things like
"This drive is running SBS. Ejecting will stop playback"
Remove subtext line again from Starting Squeezebox Server spinny popup, because
of bug 16157
Fix improperly dereferenced table in _scDrive() method
Add EN string for SBS drive eject warning
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/MediaManager/MediaManagerApplet.lua
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/MediaManager/MediaManagerMeta.lua
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterMeta.lua
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/strings.txt
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/MediaManager/MediaManagerApplet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/MediaManager/MediaManagerApplet.lua?rev=8757&r1=8756&r2=8757&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/MediaManager/MediaManagerApplet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/MediaManager/MediaManagerApplet.lua
Fri Apr 30 08:55:34 2010
@@ -159,6 +159,8 @@
})
end
end
+ menu:setComparator(SimpleMenu.itemComparatorWeightAlpha)
+
window:addWidget(menu)
self:tieAndShowWindow(window)
return window
@@ -666,6 +668,7 @@
function mmConfirmEject(self, devName)
log:info('mmConfirmEject(): ', devName)
+
local item = self:_getItemFromDevName(devName)
local titleToken = 'EJECT_CONFIRM'
@@ -696,11 +699,60 @@
},
})
- menu:setHeaderWidget( Textarea("help_text", self:string(confirmToken,
item and item.devName) ) )
+ local headerTextStrings = {
+ tostring(self:string(confirmToken, devName))
+ }
+ local extraHeaderText = _getExtraHeaderText(self, devName)
+ for k, v in pairs(extraHeaderText) do
+ table.insert(headerTextStrings, v)
+ end
+ local headerText = table.concat(headerTextStrings, "\n")
+ menu:setHeaderWidget( Textarea("help_text", headerText ) )
+
window:addWidget(menu)
self.confirmEjectWindow = window
self:tieAndShowWindow(window)
return window
+end
+
+
+function _getExtraHeaderText(self, devName)
+ log:info('compiling ejectWarningText table')
+ local returnTable = {}
+ for k, v in pairs(self.mmOnEjectHandlers) do
+ local insertIt = true
+ if v.ejectWarningText then
+ if v.ejectWarningTextOnlyIfTrue and
v.ejectWarningTextOnlyIfFalse then
+ log:info('needs to return true for
ejectWarningTextOnlyIfTrue and false for ejectWarningTextOnlyIfFalse to add
this warning text')
+ insertIt =
appletManager:callService(v.ejectWarningTextOnlyIfTrue, devName)
+ and not
appletManager:callService(v.ejectWarningTextOnlyIfFalse, devName)
+
+ elseif v.ejectWarningTextOnlyIfTrue then
+ log:info('ejectWarningTextOnlyIfTrue method
needs to return true to add this warning text')
+ insertIt =
appletManager:callService(v.ejectWarningTextOnlyIfTrue, devName)
+
+ elseif v.ejectWarningTextOnlyIfFalse then
+ log:info('ejectTextOnlyIfFalse method needs to
return false to add this menu item')
+ insertIt = not
appletManager:callService(v.ejectTextOnlyIfFalse, devName)
+
+ else
+ log:info('no conditional on this eject warning
text, so add it: ', v.ejectWarningText)
+ end
+
+ if insertIt then
+ log:info('---> add warning text ',
v.ejectWarningText)
+ table.insert(returnTable,
tostring(v.ejectWarningText))
+
+ else
+ log:info('---> insertIt says false, so do not
add ', v.ejectWarningText)
+
+ end
+
+ end
+
+ end
+ return returnTable
+
end
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/MediaManager/MediaManagerMeta.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/MediaManager/MediaManagerMeta.lua?rev=8757&r1=8756&r2=8757&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/MediaManager/MediaManagerMeta.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/MediaManager/MediaManagerMeta.lua
Fri Apr 30 08:55:34 2010
@@ -43,7 +43,7 @@
serviceMethod = "mmConfirmEject",
menuToken = "EJECT_DRIVE",
devNameAsTokenArg = true,
- weight = 10, -- default is 50, so this will
put it at/near the top
+ weight = 1000, -- default is 50, so this
will put it at/near the bottom
}
)
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua?rev=8757&r1=8756&r2=8757&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
Fri Apr 30 08:55:34 2010
@@ -287,10 +287,13 @@
popup:addWidget(Icon(icon))
popup:addWidget(Label("text", self:string(text)))
- if (subtext ~= nil) then popup:addWidget(Textarea("subtext",
self:string(subtext))) end
+ if (subtext ~= nil) then
+ popup:addWidget(Textarea("subtext",
self:string(subtext)))
+ end
-- don't hide starting SC popup until scan.json file is detected
if action == 'start' or action == 'restart' then
+
local count = 0
popup:addTimer(1000,
function()
@@ -431,6 +434,7 @@
if devName == self:_scDrive() then
log:warn('stopping server pointed to ', devName)
self:_stopServer()
+
else
log:warn('devName ', devName, ' does not equal ', self.SCDrive)
end
@@ -578,6 +582,8 @@
self:_writeSCPrefsFile(devName)
break --table is 1 element long, but breaking here
can't hurt
end
+ -- XXX re-enable subtext after bug 16157 is fixed
+ --self:_squeezecenterAction("icon_connecting",
"STARTING_SQUEEZECENTER", "STARTING_SQUEEZECENTER_TEXT", 5000, "start")
self:_squeezecenterAction("icon_connecting",
"STARTING_SQUEEZECENTER", nil, 5000, "start")
return EVENT_CONSUMED
@@ -607,6 +613,8 @@
callback = function()
log:debug('write prefs.json file to use
', devName)
self:_writeSCPrefsFile(devName)
+ -- XXX re-enable subtext after bug
16157 is fixed
+
--self:_squeezecenterAction("icon_connecting", "STARTING_SQUEEZECENTER",
"STARTING_SQUEEZECENTER_TEXT", 5000, "start")
self:_squeezecenterAction("icon_connecting", "STARTING_SQUEEZECENTER", nil,
5000, "start")
self:settingsShow()
window:hide()
@@ -808,7 +816,7 @@
function _scDrive(self)
local prefsData = self:readSCPrefsFile()
- if prefsData.devName then
+ if prefsData and prefsData.devName then
return prefsData.devName
else
return false
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterMeta.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterMeta.lua?rev=8757&r1=8756&r2=8757&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterMeta.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterMeta.lua
Fri Apr 30 08:55:34 2010
@@ -55,7 +55,9 @@
)
appletManager:callService("mmRegisterOnEjectHandler",
{
- serviceMethod = "mmStopSqueezeCenter"
+ serviceMethod = "mmStopSqueezeCenter",
+ ejectWarningText =
meta:string('SQUEEZEBOX_SERVER_DISK_EJECT_WARNING'),
+ ejectWarningTextOnlyIfTrue = "isBuiltInSCRunning",
}
)
appletManager:callService("squeezecenterStartupCheck")
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/strings.txt
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/strings.txt?rev=8757&r1=8756&r2=8757&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/strings.txt
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/strings.txt
Fri Apr 30 08:55:34 2010
@@ -1027,3 +1027,7 @@
SWITCH_MEDIA
EN Use %s for Squeezebox Server
+
+SQUEEZEBOX_SERVER_DISK_EJECT_WARNING
+ EN Warning: This device is currently running Squeezebox Server.
All playback from this Squeezebox Server will cease when this drive is ejected.
+
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins