Author: titmuss
Date: Thu May 15 08:36:02 2008
New Revision: 2456

URL: http://svn.slimdevices.com?rev=2456&root=Jive&view=rev
Log:
 [EMAIL PROTECTED] (orig r2446):  bklaas | 2008-05-12 21:45:15 +0100
 Bug: 8123
 Description: add the ability to send an arbitrary key/value table of 'extras' 
to AppletMeta's menuItem method
 These key/value pairs will be added to the item table for a HomeMenu item (and 
not as an 'extras' table, but as individual key/val pairs to the item table)
 
 add noCustom flag to item that removes it from the CustomizeHomeMenuApplet 
checkbox list
 
 add noCustom = 1 to Advanced Settings, Factory Reset, Factory Test and 
everything underneath it
 
 Weight "Advanced" so it appears last in the Settings menu
 
 change strings per Dean's suggestions in 8123
 
 [EMAIL PROTECTED] (orig r2447):  bklaas | 2008-05-12 22:14:37 +0100
 Bug: 8123
 Description: add the ability to add a homeMenuToken or homeMenuString to a 
HomeMenu item
 this will be the displayed string (or translated string token) when this item 
is displayed on the top menu
 for example, the search item "Albums" will appear as "Album Search"
 
 [EMAIL PROTECTED] (orig r2454):  bklaas | 2008-05-15 16:28:28 +0100
 Bug: 8123
 Description:
 
 - add itemComparatorKeyWeightAlpha method to SimpleMenu (not in use anywhere 
at the moment, but works for a three level alpha-num-alpha sort)
 - add itemComparatorComplexWeightAlpha method to SimpleMenu (now used by 
CustomizeHomeMenu and HomeMenu)
 
 - add getComplexWeight method to HomeMenu to walk an item's placement to the 
top menu
 
 - add split() method to jive.utils.strings
 
 - send style attribute to HomeMenu from SlimBrowser._menuSink()
 
 - add progressive indents to submenu items in CustomizeHomeMenuApplet
 - add complexWeight sort to menu in CustomizeHomeMenuApplet checkbox list. 
Menu should now be rendered in a visual facsimile of the home menu item 
hierarchy
 -- don't allow settings and advanced settings to be removed from home menu, 
but don't remove them from the applet menu (styled now as 'itemNoAction' with 
no checkbox)
 - change sort style in HomeMenu items to complex weights (if no complex 
weights exist for a given SimpleMenu, this comparator works identically to the 
WeightAlpha sort comparator)
 
 

Modified:
    7.2/trunk/   (props changed)
    
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/CustomizeHomeMenu/CustomizeHomeMenuApplet.lua
    
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/CustomizeHomeMenu/strings.txt
    
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
    7.2/trunk/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua
    7.2/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua
    7.2/trunk/squeezeplay/src/squeezeplay/share/jive/ui/HomeMenu.lua
    7.2/trunk/squeezeplay/src/squeezeplay/share/jive/ui/SimpleMenu.lua
    7.2/trunk/squeezeplay/src/squeezeplay/share/jive/utils/strings.lua
    
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFactoryReset/SetupFactoryResetMeta.lua
    
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua
    
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestDisplay/TestDisplayMeta.lua
    
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestIR/TestIRMeta.lua
    
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestKeypad/TestKeypadMeta.lua
    
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestMotion/TestMotionMeta.lua

Propchange: 7.2/trunk/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Thu May 15 08:36:02 2008
@@ -1,5 +1,5 @@
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.0/trunk:2409
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.1/trunk:2442
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.1/trunk:2454
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:2013
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/SN:1083
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/scrolling:1378

Modified: 
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/CustomizeHomeMenu/CustomizeHomeMenuApplet.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay/share/applets/CustomizeHomeMenu/CustomizeHomeMenuApplet.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/CustomizeHomeMenu/CustomizeHomeMenuApplet.lua
 (original)
+++ 
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/CustomizeHomeMenu/CustomizeHomeMenuApplet.lua
 Thu May 15 08:36:02 2008
@@ -17,9 +17,10 @@
 
 
 -- stuff we use
-local tostring, pairs, table = tostring, pairs, table
+local tostring, tonumber, pairs, ipairs, table = tostring, tonumber, pairs, 
ipairs, table
 local oo                     = require("loop.simple")
 local string                 = require("string")
+local strings                = require("jive.utils.strings")
 local table                  = require("jive.utils.table")
 
 local Applet                 = require("jive.Applet")
@@ -39,6 +40,19 @@
 module(...)
 oo.class(_M, Applet)
 
+-- FIXME: this method should be farmed out to SimpleMenu as a function called 
from _itemRenderer()
+-- _indent
+-- returns a string of <size> spaces
+local function _indent(indentSize)
+       local indent = ''
+       if not indentSize then
+               return indent
+       end
+       for i = 1, tonumber(indentSize) do
+               indent = tostring(indent) .. ' '
+       end
+       return indent
+end
 
 function menu(self, menuItem)
 
@@ -55,30 +69,30 @@
 
        local homeMenuItems = {}
        
-       -- first add an entry for returning everything to defaults
+       -- add an entry for returning everything to defaults
        table.insert(homeMenuItems,
                {
                        text = self:string('CUSTOMIZE_RESTORE_DEFAULTS'),
-                       weight = 1,
+                       weights = { 1001 },
                        callback = function()
                                self:restoreDefaultsMenu()
                        end
                }
        )
 
+
        for id, item in pairs(self.menuTable) do
-               if id ~= 'hidden' and
-                       id ~= 'nowhere' and
-                       id ~= 'settings' then
+               if id ~= 'hidden'
+                       and id ~= 'nowhere'
+                       -- a small hack to make sounds/effects not appear twice
+                       and id ~= 'opmlsounds'
+                       then
                        
-               local title, selected, weight
-
-               local defaultNode = jiveMain:getNodeText(item.node)
-               if defaultNode then
-                       title = tostring(item.text) .. ' (' .. 
tostring(defaultNode) .. ')'
-               else
-                       title = item.text
-               end
+               local title, selected
+
+               local complexWeight = jiveMain:getComplexWeight(id, item)
+               local weights = {}
+               item.weights = strings:split('%.', complexWeight, weights)
 
                -- if this is a home item and setting = 'hidden', then unselect
                if self.currentSettings[id] and self.currentSettings[id] == 
'hidden' and item.node == 'home' then
@@ -91,46 +105,72 @@
                        selected = false
                end
 
+               local indentSize = 0
+               for i,v in ipairs(item.weights) do
+                       if i > 1 then
+                               indentSize = indentSize + 2
+                       end
+               end
+               local indent = _indent(indentSize)
+
                if item.node == 'home' then
-                       weight = 2
+                       title = item.text
+               elseif item.homeMenuToken then
+                       title = indent .. 
tostring(self:string(item.homeMenuToken))
+               elseif item.homeMenuText then
+                       title = indent .. tostring(item.homeMenuText)
                else
-                       weight = 5
-               end
-
-               local menuItem = {
-                       text = title,
-                       weight = weight,
-                       icon = Checkbox(
-                               "checkbox",
-                               function(object, isSelected)
-                                       if isSelected then
-                                               if item.node == 'home' then
-                                                       
self:getSettings()[item.id] = nil
-                                                       jiveMain:setNode(item, 
'home')
+                       title = indent .. tostring(item.text)
+               end
+       
+               if not item.weights[1] then
+                       item.weights = { 2 }
+               end
+               local menuItem
+               if item.noCustom then
+                       menuItem = {
+                               text = title,
+                               weights = item.weights,
+                               indent = indentSize,
+                               style = 'itemNoAction'
+                       }
+               else
+                       menuItem = {
+                               text = title,
+                               weights = item.weights,
+                               indent = indentSize,
+                               icon = Checkbox(
+                                       "checkbox",
+                                       function(object, isSelected)
+                                               if isSelected then
+                                                       if item.node == 'home' 
then
+                                                               
self:getSettings()[item.id] = nil
+                                                               
jiveMain:setNode(item, 'home')
+                                                       else
+                                                               
self:getSettings()[item.id] = 'home'
+                                                               
jiveMain:addItemToNode(item, 'home')
+                                                       end
                                                else
-                                                       
self:getSettings()[item.id] = 'home'
-                                                       
jiveMain:addItemToNode(item, 'home')
+                                                       if item.node == 'home' 
then
+                                                               
self:getSettings()[item.id] = 'hidden'
+                                                               
jiveMain:setNode(item, 'hidden')
+                                                       else
+                                                               
self:getSettings()[item.id] = nil
+                                                               
jiveMain:removeItemFromNode(item, 'home')
+                                                       end
                                                end
-                                       else
-                                               if item.node == 'home' then
-                                                       
self:getSettings()[item.id] = 'hidden'
-                                                       jiveMain:setNode(item, 
'hidden')
-                                               else
-                                                       
self:getSettings()[item.id] = nil
-                                                       
jiveMain:removeItemFromNode(item, 'home')
-                                               end
-                                       end
-                                       self:storeSettings()
-                               end,
-                               selected
-                       ),
-               }
+                                               self:storeSettings()
+                                       end,
+                                       selected
+                               ),
+                       }
+               end
                table.insert(homeMenuItems, menuItem)
                end
        end
 
        local menu = SimpleMenu("menu",  homeMenuItems  )
-       menu:setComparator(menu.itemComparatorWeightAlpha)
+       menu:setComparator(menu.itemComparatorComplexWeightAlpha)
 
        local window = Window("window", self:string("CUSTOMIZE_HOME"), 
'settingstitle')
        window:addWidget(menu)
@@ -179,3 +219,4 @@
                windowStack[#windowStack - 1]:hide()
        end
 end
+

Modified: 
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/CustomizeHomeMenu/strings.txt
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay/share/applets/CustomizeHomeMenu/strings.txt?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/CustomizeHomeMenu/strings.txt
 (original)
+++ 
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/CustomizeHomeMenu/strings.txt
 Thu May 15 08:36:02 2008
@@ -3,13 +3,13 @@
 # http://en.wikipedia.org/wiki/List_of_ISO_639_codes
 
 CUSTOMIZE_HOME
-       EN      Customize Home Menu
+       EN      Home Menu
 
 CUSTOMIZE_HIDDEN
        EN      Hidden
 
 CUSTOMIZE_RESTORE_DEFAULTS
-       EN      Restore Menu Defaults
+       EN      Restore Defaults
 
 CUSTOMIZE_CANCEL
        DA      Afbryd

Modified: 
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
 (original)
+++ 
7.2/trunk/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
 Thu May 15 08:36:02 2008
@@ -866,7 +866,9 @@
                        local item = {
                                        id = v.id,
                                        node = v.node,
+                                       style = v.style,
                                        text = v.text,
+                                       homeMenuText = v.homeMenuText,
                                        weight = v.weight,
                                        window = v.window,
                                        sound = "WINDOWSHOW",

Modified: 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua (original)
+++ 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua Thu May 15 
08:36:02 2008
@@ -100,7 +100,7 @@
 
 =cut
 --]]
-function menuItem(self, id, node, label, closure, weight)
+function menuItem(self, id, node, label, closure, weight, extras)
        return {
                id = id,
                node = node,
@@ -110,7 +110,8 @@
                callback = function(event, menuItem)
                                local applet = 
appletManager:loadApplet(self._entry.appletName)
                                return closure(applet, menuItem)
-               end
+               end,
+               extras = extras
        }
 end
 

Modified: 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua (original)
+++ 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua Thu May 15 
08:36:02 2008
@@ -230,10 +230,10 @@
        jiveMain:addNode( { id = 'hidden', node = 'nowhere' } )
        jiveMain:addNode( { id = 'extras', node = 'home', text = 
_globalStrings:str("EXTRAS"), weight = 70  } )
        jiveMain:addNode( { id = 'games', node = 'extras', text = 
_globalStrings:str("GAMES"), weight = 70  } )
-       jiveMain:addNode( { id = 'settings', node = 'home', text = 
_globalStrings:str("SETTINGS"), weight = 50, titleStyle = 'settings' })
-       jiveMain:addNode( { id = 'advancedSettings', node = 'settings', text = 
_globalStrings:str("ADVANCED_SETTINGS"), weight = 100, titleStyle = 'settings' 
})
+       jiveMain:addNode( { id = 'settings', node = 'home', noCustom = 1, text 
= _globalStrings:str("SETTINGS"), weight = 50, titleStyle = 'settings' })
+       jiveMain:addNode( { id = 'advancedSettings', node = 'settings', 
noCustom = 1, text = _globalStrings:str("ADVANCED_SETTINGS"), weight = 110, 
titleStyle = 'settings' })
        jiveMain:addNode( { id = 'screenSettings', node = 'settings', text = 
_globalStrings:str("SCREEN_SETTINGS"), weight = 50, titleStyle = 'settings' })
-       jiveMain:addNode( { id = 'factoryTest', node = 'advancedSettings', text 
= _globalStrings:str("FACTORY_TEST"), weight = 100, titleStyle = 'settings' })
+       jiveMain:addNode( { id = 'factoryTest', node = 'advancedSettings', 
noCustom = 1, text = _globalStrings:str("FACTORY_TEST"), weight = 100, 
titleStyle = 'settings' })
 
 end
 

Modified: 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/ui/HomeMenu.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay/share/jive/ui/HomeMenu.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/ui/HomeMenu.lua (original)
+++ 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/ui/HomeMenu.lua Thu May 15 
08:36:02 2008
@@ -1,8 +1,9 @@
 
-local assert, pairs = assert, pairs
+local assert, pairs, type = assert, pairs, type
 
 local oo            = require("loop.base")
 local table         = require("jive.utils.table")
+local strings       = require("jive.utils.strings")
 
 local Framework     = require("jive.ui.Framework")
 local SimpleMenu    = require("jive.ui.SimpleMenu")
@@ -27,7 +28,7 @@
        })
 
        local menu = SimpleMenu("menu")
-       menu:setComparator(SimpleMenu.itemComparatorWeightAlpha)
+       menu:setComparator(SimpleMenu.itemComparatorComplexWeightAlpha)
 
        -- home menu is not closeable
        menu:setCloseable(false)
@@ -59,6 +60,22 @@
                return self.nodeTable[node]['item']['text']
        else
                return nil
+       end
+end
+
+function getComplexWeight(self, id, item)
+       if self.menuTable[id]['node'] == 'home' then
+               return item.weight
+       elseif self.menuTable[id]['node'] == 'hidden' then
+               return 100
+       else
+               local nodeItem = self.menuTable[id]['node']
+               if not self.menuTable[nodeItem] then
+                       log:warn('when trying to analyze ', item.text, ', its 
node, ', nodeItem, ', is not currently in the menuTable thus no way to 
establish a complex weight for sorting')
+                       return item.weight
+               else
+                       return 
self:getComplexWeight(self.menuTable[id]['node'], self.menuTable[nodeItem]) .. 
'.' .. item.weight
+               end
        end
 end
 
@@ -187,8 +204,15 @@
 -- add an item to a node
 function addItemToNode(self, item, node)
        assert(item.id)
+       self.node = node
        if node then
                self.customNodes[item.id] = node
+               if item.node ~= 'home' and node == 'home' then
+                       local complexWeight = self:getComplexWeight(item.id, 
item)
+                       item.weights = strings:split('%.', complexWeight)
+                       -- non-home items on home get an indent
+                       item.indent = #item.weights * 2
+               end
        else
                node = item.node
        end
@@ -208,6 +232,13 @@
 
        if not item.weight then 
                item.weight = 100
+       end
+
+       if item.extras and type(item.extras) == 'table' then
+               for key, val in pairs(item.extras) do
+                       item[key] = val
+               end
+               item.extras = nil
        end
 
        -- add or update the item from the menuTable

Modified: 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/ui/SimpleMenu.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay/share/jive/ui/SimpleMenu.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/ui/SimpleMenu.lua 
(original)
+++ 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/ui/SimpleMenu.lua Thu May 
15 08:36:02 2008
@@ -46,7 +46,7 @@
 
 
 -- stuff we use
-local _assert, ipairs, string, tostring, type = _assert, ipairs, string, 
tostring, type
+local _assert, ipairs, string, tostring, type, tonumber = _assert, ipairs, 
string, tostring, type, tonumber
 
 
 local oo              = require("loop.simple")
@@ -95,6 +95,18 @@
        return nil
 end
 
+-- _indent
+-- returns a string of <size> spaces
+local function _indent(indentSize)
+       local indent = ''
+       if not indentSize then
+               return indent
+       end
+       for i = 1, tonumber(indentSize) do
+               indent = tostring(indent) .. ' '
+       end
+       return indent
+end
 
 -- _itemRenderer
 -- updates the widgetList ready for the menu to be rendered
@@ -102,6 +114,21 @@
        for i = 1,size do
                if indexList[i] ~= nil then
                        local item = list[indexList[i]]
+                       local labelText = item.text
+                       -- FIXME
+                       -- changing labelText for the item for the home menu
+                       -- also changes it for its default location
+                       -- label text needs to be changed on a contextual basis
+                       -- question is how to determine context in 
_itemRenderer since self is not available
+                       --[[
+                       if item.homeMenuText then
+                               labelText = item.homeMenuText
+                       end
+                       if item.indent then
+                               local indent = _indent(item.indent)
+                               labelText = indent .. tostring(labelText)
+                       end
+                       --]]
 
                        local icon = item.icon or menu.icons[i]
                        if icon == nil then
@@ -112,13 +139,13 @@
 
                        if widgetList[i] == nil then
                                widgetList[i] = Group(item.style or "item", {
-                                       text = Label("text", item.text),
+                                       text = Label("text", labelText),
                                        check = Icon("check"),
                                        icon = icon,
                                })
                        else
                                widgetList[i]:setStyle(item.style or "item")
-                               widgetList[i]:setWidgetValue("text", item.text)
+                               widgetList[i]:setWidgetValue("text", labelText)
                                widgetList[i]:setWidget("icon", icon)
                        end
                end
@@ -211,6 +238,87 @@
                return tostring(a.text) < tostring(b.text)
        end
        return (w < 0)
+end
+
+--[[
+
+=head2 jive.ui.Menu.itemComparatorNodeWeightAlpha
+
+Item comparator to sort items using item.sortKey as a primary key, item.weight 
as a secondary key, and
+item.text as a tertiary key.
+
+--]]
+function itemComparatorKeyWeightAlpha(a, b)
+       local an = tostring(a.sortKey)
+       local bn = tostring(b.sortKey)
+       
+       if an == bn then
+               local w = a.weight - b.weight
+
+               if w == 0 then
+                       return tostring(a.text) < tostring(b.text)
+               end
+               return (w < 0)
+       else
+               return an < bn
+       end
+end
+
+--[[
+
+=head2 jive.ui.Menu.itemComparatorComplexWeightAlpha
+
+Item comparator to sort items using a complex a.b.c...n-style item.weights 
(table) as a primary key, and
+item.text as a secondary key.
+
+--]]
+function itemComparatorComplexWeightAlpha(a, b)
+       if not a.weights then
+               a.weights = { a.weight }
+       end
+       if not b.weights then
+               b.weights = { b.weight }
+       end
+       
+       local aSize = #a.weights
+       local bSize = #b.weights
+       local x
+       if aSize > bSize then
+               x = aSize
+       else
+               x = bSize
+       end
+
+       for i=1,x do
+               if not a.weights[i] then
+                       a.weights[i] = 0
+               end
+               if not b.weights[i] then
+                       b.weights[i] = 0
+               end
+               local w = a.weights[i] - b.weights[i]
+               -- nodes above subitems (e.g., 11 ranks above 11.10)
+               if (not a.weights[i+1] or not b.weights[i+1]) and w == 0 then
+                       -- end of the road, weights are the same
+                       if not a.weights[i+1] and not b.weights[i+1] then
+                               return tostring(a.text) < tostring(b.text)
+                       -- a is the node
+                       elseif not a.weights[i+1] then
+                               return true
+                       -- b is the node
+                       elseif not b.weights[i+1] then
+                               return false
+                       end
+               -- weights differ
+               elseif w ~= 0 then
+                       return (w < 0)
+               -- end of the road, weight is the same
+               elseif i==x then
+                       return tostring(a.text) < tostring(b.text)
+               end
+               -- if we get here, it's time to examine the next i in the 
weights table
+       end
+
 end
 
 

Modified: 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/utils/strings.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay/share/jive/utils/strings.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/utils/strings.lua 
(original)
+++ 7.2/trunk/squeezeplay/src/squeezeplay/share/jive/utils/strings.lua Thu May 
15 08:36:02 2008
@@ -60,6 +60,33 @@
                return s
        end
 end
+
+--[[
+
+=head2 split(self, inSplitPattern, myString, returnTable)
+
+Takes a string pattern and string as arguments, and an optional third argument 
of a returnTable
+
+Splits myString on inSplitPattern and returns elements in returnTable 
(appending to returnTable if returnTable is given)
+
+=cut
+--]]
+
+function split(self, inSplitPattern, myString, returnTable)
+       if not returnTable then
+               returnTable = {}
+       end
+       local theStart = 1
+       local theSplitStart, theSplitEnd = string.find(myString, 
inSplitPattern, theStart)
+       while theSplitStart do
+               table.insert(returnTable, string.sub(myString, theStart, 
theSplitStart-1))
+               theStart = theSplitEnd + 1
+               theSplitStart, theSplitEnd = string.find(myString, 
inSplitPattern, theStart)
+       end
+       table.insert(returnTable, string.sub(myString, theStart))
+       return returnTable
+end
+
 --[[
 
 =head1 LICENSE

Modified: 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFactoryReset/SetupFactoryResetMeta.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFactoryReset/SetupFactoryResetMeta.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFactoryReset/SetupFactoryResetMeta.lua
 (original)
+++ 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFactoryReset/SetupFactoryResetMeta.lua
 Thu May 15 08:36:02 2008
@@ -18,7 +18,7 @@
 
 
 function registerApplet(meta)
-       jiveMain:addItem(meta:menuItem('appletSetupFactoryReset', 
'advancedSettings', "RESET_FACTORY_RESET", function(applet, ...) 
applet:settingsShow(...) end, 110))
+       jiveMain:addItem(meta:menuItem('appletSetupFactoryReset', 
'advancedSettings', "RESET_FACTORY_RESET", function(applet, ...) 
applet:settingsShow(...) end, 110, { noCustom = 1 }))
 end
 
 

Modified: 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua
 (original)
+++ 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua
 Thu May 15 08:36:02 2008
@@ -80,7 +80,7 @@
 
                                meta.player = player
                                
-                               local fwcmd = { 'firmwareupgrade', 
'firmwareVersion:' .. JIVE_VERSION, 'subscribe:3600' }
+                               local fwcmd = { 'firmwareupgrade', 
'firmwareVersion:' .. JIVE_VERSION, 'subscribe:0' }
                                player:subscribe(
                                        '/slim/firmwarestatus/' .. player.id,
                                        firmwareUpgradeSink,

Modified: 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestDisplay/TestDisplayMeta.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestDisplay/TestDisplayMeta.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestDisplay/TestDisplayMeta.lua
 (original)
+++ 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestDisplay/TestDisplayMeta.lua
 Thu May 15 08:36:02 2008
@@ -17,7 +17,7 @@
 
 
 function registerApplet(meta)
-       jiveMain:addItem(meta:menuItem('factoryDisplay', 'factoryTest', 
"TEST_DISPLAY", function(applet, ...) applet:DisplayTest(...) end))
+       jiveMain:addItem(meta:menuItem('factoryDisplay', 'factoryTest', 
"TEST_DISPLAY", function(applet, ...) applet:DisplayTest(...) end, _, { 
noCustom = 1 }))
 end
 
 

Modified: 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestIR/TestIRMeta.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestIR/TestIRMeta.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestIR/TestIRMeta.lua 
(original)
+++ 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestIR/TestIRMeta.lua 
Thu May 15 08:36:02 2008
@@ -16,7 +16,7 @@
 
 
 function registerApplet(meta)
-       jiveMain:addItem(meta:menuItem('factoryIR', 'factoryTest', "TEST_IR", 
function(applet, ...) applet:IRTest(...) end))
+       jiveMain:addItem(meta:menuItem('factoryIR', 'factoryTest', "TEST_IR", 
function(applet, ...) applet:IRTest(...) end, _, { noCustom = 1}))
 end
 
 

Modified: 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestKeypad/TestKeypadMeta.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestKeypad/TestKeypadMeta.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestKeypad/TestKeypadMeta.lua
 (original)
+++ 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestKeypad/TestKeypadMeta.lua
 Thu May 15 08:36:02 2008
@@ -17,7 +17,7 @@
 
 
 function registerApplet(meta)
-       jiveMain:addItem(meta:menuItem('factoryKeypad', 'factoryTest', 
"TEST_KEYPAD", function(applet, ...) applet:KeypadTest(...) end))
+       jiveMain:addItem(meta:menuItem('factoryKeypad', 'factoryTest', 
"TEST_KEYPAD", function(applet, ...) applet:KeypadTest(...) end, _, { noCustom 
= 1}))
 end
 
 

Modified: 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestMotion/TestMotionMeta.lua
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestMotion/TestMotionMeta.lua?rev=2456&root=Jive&r1=2455&r2=2456&view=diff
==============================================================================
--- 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestMotion/TestMotionMeta.lua
 (original)
+++ 
7.2/trunk/squeezeplay/src/squeezeplay_jive/share/applets/TestMotion/TestMotionMeta.lua
 Thu May 15 08:36:02 2008
@@ -17,7 +17,7 @@
 
 
 function registerApplet(meta)
-       jiveMain:addItem(meta:menuItem('appletTestMotion', 'factoryTest', 
"TEST_MOTION", function(applet, ...) applet:settingsShow(...) end))
+       jiveMain:addItem(meta:menuItem('appletTestMotion', 'factoryTest', 
"TEST_MOTION", function(applet, ...) applet:settingsShow(...) end, _, { 
noCustom = 1}))
 end
 
 

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins

Reply via email to