Index: squeezeplay/src/ui/jive_label.c =================================================================== --- squeezeplay/src/ui/jive_label.c (revision 5034) +++ squeezeplay/src/ui/jive_label.c (working copy) @@ -133,6 +133,17 @@ /* split multi-line text */ lua_getglobal(L, "tostring"); lua_getfield(L, 1, "value"); + + if (lua_isnil(L, -1)) { + lua_pop(L, 1); + + /* use text from skin if no value */ + lua_pushcfunction(L, jiveL_style_value); + lua_pushvalue(L, 1); + lua_pushstring(L, "text"); + lua_pushstring(L, ""); + lua_call(L, 3, 1); + } lua_call(L, 1, 1); ptr = str = lua_tostring(L, -1); Index: squeezeplay/share/applets/Fab4Skin/Fab4SkinApplet.lua =================================================================== --- squeezeplay/share/applets/Fab4Skin/Fab4SkinApplet.lua (revision 5034) +++ squeezeplay/share/applets/Fab4Skin/Fab4SkinApplet.lua (working copy) @@ -865,6 +865,15 @@ padding = { 1, 0, 0, 0 }, }) + s.keyboard.done = _uses(s.keyboard.key_bottomRight_small, { + bgImg = keyBottomRight, + text = self:string("ENTER_SMALL"), + }) + s.keyboard.space = _uses(s.keyboard.key_bottom_small, { + bgImg = keyBottom, + text = self:string("SPACEBAR_SMALL"), + }) + s.keyboard.pressed = { shiftOff = _uses(s.keyboard.shiftOff, { bgImg = keyLeftPressed @@ -872,6 +881,12 @@ shiftOn = _uses(s.keyboard.shiftOn, { bgImg = keyLeftPressed }), + done = _uses(s.keyboard.done, { + bgImg = keyBottomRightPressed + }), + space = _uses(s.keyboard.space, { + bgImg = keyBottomPressed + }), key = _uses(s.keyboard.key, { bgImg = keyMiddlePressed }), Index: squeezeplay/share/applets/Fab4Skin/strings.txt =================================================================== --- squeezeplay/share/applets/Fab4Skin/strings.txt (revision 5034) +++ squeezeplay/share/applets/Fab4Skin/strings.txt (working copy) @@ -17,3 +17,8 @@ RU Сенсорная обложка Squeezebox SV Skal för Squeezebox Touch +ENTER_SMALL + EN done + +SPACEBAR_SMALL + EN space Index: squeezeplay/share/jive/ui/Keyboard.lua =================================================================== --- squeezeplay/share/jive/ui/Keyboard.lua (revision 5034) +++ squeezeplay/share/jive/ui/Keyboard.lua (working copy) @@ -241,9 +241,9 @@ log:debug('keyWidth for this key set to: ', keyWidth) key:setBounds(x, y, keyWidth, defaultKeyHeight) - + local keyType = 'key_' - if style ~= 'shiftOff' and style ~= 'shiftOn' then + if string.match(style, "^key") or string.match(style, "^spacer") then if rowInfo[j].spacer then keyType = 'spacer_' end @@ -465,9 +465,7 @@ keyWidth = 0 end return { - -- FIXME: don't hardcode to 'done' - text = 'done', - fontSize = 'small', + icon = Label('done'), keyWidth = keyWidth, callback = function() local e = Event:new(EVENT_KEY_PRESS, KEY_GO) @@ -522,10 +520,8 @@ keyWidth = 0 end return { + icon = Label('space'), keyWidth = keyWidth, - fontSize = 'small', - -- FIXME, don't hard-code this text - text = 'space', callback = function() local e = Event:new(EVENT_CHAR_PRESS, string.byte(' ')) Framework:dispatchEvent(nil, e) Index: squeezeplay/share/jive/ui/Label.lua =================================================================== --- squeezeplay/share/jive/ui/Label.lua (revision 5034) +++ squeezeplay/share/jive/ui/Label.lua (working copy) @@ -78,7 +78,6 @@ --]] function __init(self, style, value) _assert(type(style) == "string") - _assert(value ~= nil) local obj = oo.rawnew(self, Widget(style)) @@ -113,8 +112,6 @@ =cut --]] function setValue(self, value) - _assert(value ~= nil) - if self.value ~= value then self.value = value self:reLayout()