Author: titmuss
Date: Mon Aug 18 02:47:22 2008
New Revision: 2860
URL: http://svn.slimdevices.com?rev=2860&root=Jive&view=rev
Log:
Bug: N/A
Description:
Applet to allow different squeezeplay skins to be selected.
Temporarily breaks some applets, see Bug 9191.
Modified:
7.3/trunk/squeezeplay/src/squeezeplay/Makefile.am
7.3/trunk/squeezeplay/src/squeezeplay/Makefile.in
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinMeta.lua
7.3/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
7.3/trunk/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua
7.3/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua
7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_framework.c
7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_style.c
7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_widget.c
7.3/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinMeta.lua
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/Makefile.am
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/Makefile.am?rev=2860&root=Jive&r1=2859&r2=2860&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/Makefile.am (original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/Makefile.am Mon Aug 18 02:47:22 2008
@@ -410,6 +410,11 @@
dist_applets_testplayback_DATA = \
share/applets/TestPlayback/TestPlaybackApplet.lua \
share/applets/TestPlayback/TestPlaybackMeta.lua
+
+applets_selectskindir = $(datadir)/jive/applets/SelectSkin
+dist_applets_selectskin_DATA = \
+ share/applets/SelectSkin/SelectSkinApplet.lua \
+ share/applets/SelectSkin/SelectSkinMeta.lua
# Default skin
applets_defaultskindir = $(pkgdatadir)/applets/DefaultSkin
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/Makefile.in
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/Makefile.in?rev=2860&root=Jive&r1=2859&r2=2860&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/Makefile.in (original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/Makefile.in Mon Aug 18 02:47:22 2008
@@ -53,6 +53,7 @@
$(dist_applets_screensavers_DATA) \
$(dist_applets_screenshot_DATA) \
$(dist_applets_selectplayer_DATA) \
+ $(dist_applets_selectskin_DATA) \
$(dist_applets_setupSqueezebox_DATA) \
$(dist_applets_setupappletinstaller_DATA) \
$(dist_applets_setupdatetime_DATA) \
@@ -119,6 +120,7 @@
"$(DESTDIR)$(applets_screensaversdir)" \
"$(DESTDIR)$(applets_screenshotdir)" \
"$(DESTDIR)$(applets_selectplayerdir)" \
+ "$(DESTDIR)$(applets_selectskindir)" \
"$(DESTDIR)$(applets_setupSqueezeboxdir)" \
"$(DESTDIR)$(applets_setupappletinstallerdir)" \
"$(DESTDIR)$(applets_setupdatetimedir)" \
@@ -181,6 +183,7 @@
dist_applets_screensaversDATA_INSTALL = $(INSTALL_DATA)
dist_applets_screenshotDATA_INSTALL = $(INSTALL_DATA)
dist_applets_selectplayerDATA_INSTALL = $(INSTALL_DATA)
+dist_applets_selectskinDATA_INSTALL = $(INSTALL_DATA)
dist_applets_setupSqueezeboxDATA_INSTALL = $(INSTALL_DATA)
dist_applets_setupappletinstallerDATA_INSTALL = $(INSTALL_DATA)
dist_applets_setupdatetimeDATA_INSTALL = $(INSTALL_DATA)
@@ -213,6 +216,7 @@
$(dist_applets_screensavers_DATA) \
$(dist_applets_screenshot_DATA) \
$(dist_applets_selectplayer_DATA) \
+ $(dist_applets_selectskin_DATA) \
$(dist_applets_setupSqueezebox_DATA) \
$(dist_applets_setupappletinstaller_DATA) \
$(dist_applets_setupdatetime_DATA) \
@@ -718,6 +722,11 @@
dist_applets_testplayback_DATA = \
share/applets/TestPlayback/TestPlaybackApplet.lua \
share/applets/TestPlayback/TestPlaybackMeta.lua
+
+applets_selectskindir = $(datadir)/jive/applets/SelectSkin
+dist_applets_selectskin_DATA = \
+ share/applets/SelectSkin/SelectSkinApplet.lua \
+ share/applets/SelectSkin/SelectSkinMeta.lua
# Default skin
@@ -1650,6 +1659,23 @@
echo " rm -f '$(DESTDIR)$(applets_selectplayerdir)/$$f'"; \
rm -f "$(DESTDIR)$(applets_selectplayerdir)/$$f"; \
done
+install-dist_applets_selectskinDATA: $(dist_applets_selectskin_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(applets_selectskindir)" || $(mkdir_p)
"$(DESTDIR)$(applets_selectskindir)"
+ @list='$(dist_applets_selectskin_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(dist_applets_selectskinDATA_INSTALL) '$$d$$p'
'$(DESTDIR)$(applets_selectskindir)/$$f'"; \
+ $(dist_applets_selectskinDATA_INSTALL) "$$d$$p"
"$(DESTDIR)$(applets_selectskindir)/$$f"; \
+ done
+
+uninstall-dist_applets_selectskinDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_applets_selectskin_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(applets_selectskindir)/$$f'"; \
+ rm -f "$(DESTDIR)$(applets_selectskindir)/$$f"; \
+ done
install-dist_applets_setupSqueezeboxDATA: $(dist_applets_setupSqueezebox_DATA)
@$(NORMAL_INSTALL)
test -z "$(applets_setupSqueezeboxdir)" || $(mkdir_p)
"$(DESTDIR)$(applets_setupSqueezeboxdir)"
@@ -2025,7 +2051,7 @@
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
- $(mkdir_p) $(distdir)/config $(distdir)/share/applets/BlankScreen
$(distdir)/share/applets/ChooseMusicSource $(distdir)/share/applets/Clock
$(distdir)/share/applets/CustomizeHomeMenu $(distdir)/share/applets/DefaultSkin
$(distdir)/share/applets/DefaultSkin/images $(distdir)/share/applets/Flickr
$(distdir)/share/applets/HttpAuth $(distdir)/share/applets/InfoBrowser
$(distdir)/share/applets/LogSettings $(distdir)/share/applets/MacroPlay
$(distdir)/share/applets/NowPlaying $(distdir)/share/applets/NowPlaying/images
$(distdir)/share/applets/ScreenSavers $(distdir)/share/applets/Screenshot
$(distdir)/share/applets/SelectPlayer
$(distdir)/share/applets/SetupAppletInstaller
$(distdir)/share/applets/SetupDateTime $(distdir)/share/applets/SetupLanguage
$(distdir)/share/applets/SetupNetTest
$(distdir)/share/applets/SetupSoundEffects
$(distdir)/share/applets/SetupSoundEffects/sounds
$(distdir)/share/applets/SetupSqueezebox
$(distdir)/share/applets/SetupWallpaper $(distdir)/share/appl!
ets/SetupWallpaper/wallpaper $(distdir)/share/applets/SlimBrowser
$(distdir)/share/applets/SlimDiscovery
$(distdir)/share/applets/SqueezeNetworkPIN
$(distdir)/share/applets/TestPlayback $(distdir)/share/jive
$(distdir)/share/jive/audio $(distdir)/share/jive/net
$(distdir)/share/jive/slim $(distdir)/share/jive/ui $(distdir)/share/jive/utils
$(distdir)/src
+ $(mkdir_p) $(distdir)/config $(distdir)/share/applets/BlankScreen
$(distdir)/share/applets/ChooseMusicSource $(distdir)/share/applets/Clock
$(distdir)/share/applets/CustomizeHomeMenu $(distdir)/share/applets/DefaultSkin
$(distdir)/share/applets/DefaultSkin/images $(distdir)/share/applets/Flickr
$(distdir)/share/applets/HttpAuth $(distdir)/share/applets/InfoBrowser
$(distdir)/share/applets/LogSettings $(distdir)/share/applets/MacroPlay
$(distdir)/share/applets/NowPlaying $(distdir)/share/applets/NowPlaying/images
$(distdir)/share/applets/ScreenSavers $(distdir)/share/applets/Screenshot
$(distdir)/share/applets/SelectPlayer $(distdir)/share/applets/SelectSkin
$(distdir)/share/applets/SetupAppletInstaller
$(distdir)/share/applets/SetupDateTime $(distdir)/share/applets/SetupLanguage
$(distdir)/share/applets/SetupNetTest
$(distdir)/share/applets/SetupSoundEffects
$(distdir)/share/applets/SetupSoundEffects/sounds
$(distdir)/share/applets/SetupSqueezebox $(distdir)/share/applets/!
SetupWallpaper $(distdir)/share/applets/SetupWallpaper/wallpaper
$(distdir)/share/applets/SlimBrowser $(distdir)/share/applets/SlimDiscovery
$(distdir)/share/applets/SqueezeNetworkPIN
$(distdir)/share/applets/TestPlayback $(distdir)/share/jive
$(distdir)/share/jive/audio $(distdir)/share/jive/net
$(distdir)/share/jive/slim $(distdir)/share/jive/ui $(distdir)/share/jive/utils
$(distdir)/src
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@@ -2154,7 +2180,7 @@
$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA)
installdirs:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(testdir)"
"$(DESTDIR)$(applets_blankscreendir)"
"$(DESTDIR)$(applets_choosemusicsourcedir)" "$(DESTDIR)$(applets_clockdir)"
"$(DESTDIR)$(applets_customizehomemenudir)"
"$(DESTDIR)$(applets_defaultskindir)"
"$(DESTDIR)$(applets_defaultskin_imagesdir)" "$(DESTDIR)$(applets_flickrdir)"
"$(DESTDIR)$(applets_httpauthdir)" "$(DESTDIR)$(applets_infobrowserdir)"
"$(DESTDIR)$(applets_logdir)" "$(DESTDIR)$(applets_macroplaydir)"
"$(DESTDIR)$(applets_nowplayingdir)"
"$(DESTDIR)$(applets_nowplaying_imagesdir)"
"$(DESTDIR)$(applets_screensaversdir)" "$(DESTDIR)$(applets_screenshotdir)"
"$(DESTDIR)$(applets_selectplayerdir)"
"$(DESTDIR)$(applets_setupSqueezeboxdir)"
"$(DESTDIR)$(applets_setupappletinstallerdir)"
"$(DESTDIR)$(applets_setupdatetimedir)" "$(DESTDIR)$(applets_setuplanguagedir)"
"$(DESTDIR)$(applets_setupnettestdir)"
"$(DESTDIR)$(applets_setupsoundeffectsdir)"
"$(DESTDIR)$(applets_setupsoundeffects_soundsdir)" "$(DESTDIR)$(applet!
s_setupwallpaperdir)" "$(DESTDIR)$(applets_setupwallpaper_wallpaperdir)"
"$(DESTDIR)$(applets_slimbrowserdir)" "$(DESTDIR)$(applets_slimdiscoverydir)"
"$(DESTDIR)$(applets_squeezenetworkpindir)"
"$(DESTDIR)$(applets_testplaybackdir)" "$(DESTDIR)$(jivedir)"
"$(DESTDIR)$(jiveuidir)" "$(DESTDIR)$(luaaudiodir)" "$(DESTDIR)$(luanetdir)"
"$(DESTDIR)$(luaslimdir)" "$(DESTDIR)$(luautildir)"; do \
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(testdir)"
"$(DESTDIR)$(applets_blankscreendir)"
"$(DESTDIR)$(applets_choosemusicsourcedir)" "$(DESTDIR)$(applets_clockdir)"
"$(DESTDIR)$(applets_customizehomemenudir)"
"$(DESTDIR)$(applets_defaultskindir)"
"$(DESTDIR)$(applets_defaultskin_imagesdir)" "$(DESTDIR)$(applets_flickrdir)"
"$(DESTDIR)$(applets_httpauthdir)" "$(DESTDIR)$(applets_infobrowserdir)"
"$(DESTDIR)$(applets_logdir)" "$(DESTDIR)$(applets_macroplaydir)"
"$(DESTDIR)$(applets_nowplayingdir)"
"$(DESTDIR)$(applets_nowplaying_imagesdir)"
"$(DESTDIR)$(applets_screensaversdir)" "$(DESTDIR)$(applets_screenshotdir)"
"$(DESTDIR)$(applets_selectplayerdir)" "$(DESTDIR)$(applets_selectskindir)"
"$(DESTDIR)$(applets_setupSqueezeboxdir)"
"$(DESTDIR)$(applets_setupappletinstallerdir)"
"$(DESTDIR)$(applets_setupdatetimedir)" "$(DESTDIR)$(applets_setuplanguagedir)"
"$(DESTDIR)$(applets_setupnettestdir)"
"$(DESTDIR)$(applets_setupsoundeffectsdir)" "$(DESTDIR)$(applets_setupsoundef!
fects_soundsdir)" "$(DESTDIR)$(applets_setupwallpaperdir)"
"$(DESTDIR)$(applets_setupwallpaper_wallpaperdir)"
"$(DESTDIR)$(applets_slimbrowserdir)" "$(DESTDIR)$(applets_slimdiscoverydir)"
"$(DESTDIR)$(applets_squeezenetworkpindir)"
"$(DESTDIR)$(applets_testplaybackdir)" "$(DESTDIR)$(jivedir)"
"$(DESTDIR)$(jiveuidir)" "$(DESTDIR)$(luaaudiodir)" "$(DESTDIR)$(luanetdir)"
"$(DESTDIR)$(luaslimdir)" "$(DESTDIR)$(luautildir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: $(BUILT_SOURCES)
@@ -2221,6 +2247,7 @@
install-dist_applets_screensaversDATA \
install-dist_applets_screenshotDATA \
install-dist_applets_selectplayerDATA \
+ install-dist_applets_selectskinDATA \
install-dist_applets_setupSqueezeboxDATA \
install-dist_applets_setupappletinstallerDATA \
install-dist_applets_setupdatetimeDATA \
@@ -2283,6 +2310,7 @@
uninstall-dist_applets_screensaversDATA \
uninstall-dist_applets_screenshotDATA \
uninstall-dist_applets_selectplayerDATA \
+ uninstall-dist_applets_selectskinDATA \
uninstall-dist_applets_setupSqueezeboxDATA \
uninstall-dist_applets_setupappletinstallerDATA \
uninstall-dist_applets_setupdatetimeDATA \
@@ -2325,6 +2353,7 @@
install-dist_applets_screensaversDATA \
install-dist_applets_screenshotDATA \
install-dist_applets_selectplayerDATA \
+ install-dist_applets_selectskinDATA \
install-dist_applets_setupSqueezeboxDATA \
install-dist_applets_setupappletinstallerDATA \
install-dist_applets_setupdatetimeDATA \
@@ -2362,6 +2391,7 @@
uninstall-dist_applets_screensaversDATA \
uninstall-dist_applets_screenshotDATA \
uninstall-dist_applets_selectplayerDATA \
+ uninstall-dist_applets_selectskinDATA \
uninstall-dist_applets_setupSqueezeboxDATA \
uninstall-dist_applets_setupappletinstallerDATA \
uninstall-dist_applets_setupdatetimeDATA \
Modified:
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua?rev=2860&root=Jive&r1=2859&r2=2860&view=diff
==============================================================================
---
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
(original)
+++
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
Mon Aug 18 02:47:22 2008
@@ -98,7 +98,11 @@
-- skin
-- The meta arranges for this to be called to skin Jive.
-function skin(self, s)
+function skin(self, s, reload)
+ if not reload then
+ Framework:setVideoMode(240, 320, 16, false)
+ end
+
local screenWidth, screenHeight = Framework:getScreenSize()
-- Images and Tiles
@@ -370,6 +374,7 @@
s.item.order = { "text", "icon" }
s.item.padding = { 9, 6, 6, 6 }
s.item.text = {}
+-- s.item.text.padding = { 1, 1, 1, 1 }
s.item.text.w = WH_FILL
s.item.text.font = FONT_BOLD_15px
s.item.text.fg = TEXT_COLOR
Modified:
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinMeta.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinMeta.lua?rev=2860&root=Jive&r1=2859&r2=2860&view=diff
==============================================================================
---
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinMeta.lua
(original)
+++
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinMeta.lua
Mon Aug 18 02:47:22 2008
@@ -35,7 +35,7 @@
function registerApplet(self)
-- load ourselves indirectly through jiveMain
- jiveMain:loadSkin("DefaultSkin", "skin")
+ jiveMain:registerSkin(self:string("CONTROLLER_SKIN"), "DefaultSkin",
"skin")
end
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua?rev=2860&root=Jive&r1=2859&r2=2860&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
(original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua Mon Aug
18 02:47:22 2008
@@ -102,7 +102,8 @@
settings = false,
metaLoaded = false,
- metaEvaluated = false,
+ metaRegistered = false,
+ metaConfigured = false,
appletLoaded = false,
appletEvaluated = false,
}
@@ -202,10 +203,10 @@
-- _evalMeta
-- evaluates the meta information of applet entry
-local function _evalMeta(entry)
+local function _registerMeta(entry)
log:debug("_evalMeta: ", entry.appletName)
- entry.metaEvaluated = true
+ entry.metaRegistered = true
local class = require(entry.metaModule)
local obj = class()
@@ -230,48 +231,33 @@
obj._settings = entry.settings
obj._stringsTable = entry.stringsTable
+ entry.metaObj = obj
+
-- we're good to go, the meta should now hook the applet
-- so it can be loaded on demand.
log:info("Registering: ", entry.appletName)
- obj:registerApplet()
-
- -- get rid of us
--- obj._stringsTable = nil
- obj = nil
-
- return true
-end
-
-
--- _pevalMeta
--- pcall of _evalMeta
+ entry.metaObj:registerApplet()
+end
+
+
+local function _configureMeta(entry)
+ entry.metaConfiured = true
+
+ entry.metaObj:configureApplet()
+end
+
+
local function _pevalMeta(entry)
--- log:debug("_pevalMeta(", entry.appletName, ")")
-
- local ok, resOrErr = pcall(_evalMeta, entry)
-
- -- trash the meta in all cases, it's done it's job
- package.loaded[entry.metaModule] = nil
-
- -- remove strings eating up mucho valuable memory
--- entry.stringsTable = nil
-
- if not ok then
- entry.metaEvaluated = false
- entry.metaLoaded = false
- log:error("Error while evaluating meta for ", entry.appletName,
":", resOrErr)
- return nil
- end
-
- -- at this point, we have loaded the meta, the applet strings and
settings
- -- performed the applet registration and we try to remove all traces of
the
- -- meta but removing it from package.loaded, deleting the string table,
etc.
-
- -- we keep settings around to that we minimize writing to flash. If we
wanted to
- -- trash them , we would need to store them here (to reload them if the
applet ever runs)
- -- because the meta might have changed them.
-
- return resOrErr
+ if entry.metaLoaded and not entry.metaRegistered then
+ local ok, resOrErr = pcall(_registerMeta, entry)
+ if not ok then
+ entry.metaConfigured = false
+ entry.metaRegistered = false
+ entry.metaLoaded = false
+ log:error("Error registering meta for ",
entry.appletName, ":", resOrErr)
+ return nil
+ end
+ end
end
@@ -281,9 +267,38 @@
log:debug("_evalMetas")
for name, entry in pairs(_appletsDb) do
- if entry.metaLoaded and not entry.metaEvaluated then
- _pevalMeta(entry)
- end
+ _pevalMeta(entry)
+ end
+
+ for name, entry in pairs(_appletsDb) do
+ if entry.metaLoaded and not entry.metaConfigured then
+ local ok, resOrErr = pcall(_configureMeta, entry)
+ if not ok then
+ entry.metaConfigured = false
+ entry.metaRegistered = false
+ entry.metaLoaded = false
+ log:error("Error configuring meta for ",
entry.appletName, ":", resOrErr)
+ return nil
+ end
+ end
+ end
+
+ -- at this point, we have loaded the meta, the applet strings and
settings
+ -- performed the applet registration and we try to remove all traces of
the
+ -- meta by removing it from package.loaded, deleting the string table,
etc.
+
+ -- we keep settings around to that we minimize writing to flash. If we
wanted to
+ -- trash them , we would need to store them here (to reload them if the
applet ever runs)
+ -- because the meta might have changed them.
+
+ for name, entry in pairs(_appletsDb) do
+ entry.metaObj = nil
+
+ -- trash the meta in all cases, it's done it's job
+ package.loaded[entry.metaModule] = nil
+
+ -- remove strings eating up mucho valuable memory
+-- entry.stringsTable = nil
end
end
@@ -301,7 +316,8 @@
local soundEffectsEntry = _appletsDb["SetupSoundEffects"]
if soundEffectsEntry then
_loadMeta(soundEffectsEntry)
- _evalMeta(soundEffectsEntry)
+ _registerMeta(soundEffectsEntry)
+ _configureMeta(soundEffectsEntry)
end
_loadMetas()
@@ -424,7 +440,7 @@
end
-- meta processed?
- if not entry.metaEvaluated then
+ if not entry.metaRegistered then
if not entry.metaLoaded and not _ploadMeta(entry) then
return nil
end
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua?rev=2860&root=Jive&r1=2859&r2=2860&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua (original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/AppletMeta.lua Mon Aug 18
02:47:22 2008
@@ -53,6 +53,20 @@
--]]
function registerApplet(self)
error("registerApplet() required")
+end
+
+
+--[[
+
+=head2 self:configureApplet()
+
+Called after all applets have been registered, this can be used to
+configure the applet.
+
+=cut
+--]]
+function configureApplet(self)
+ -- optional
end
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua?rev=2860&root=Jive&r1=2859&r2=2860&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua (original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua Mon Aug 18
02:47:22 2008
@@ -244,13 +244,79 @@
-- manage applets
appletManager:discover()
-
+
+ -- make sure a skin is selected
+ if not self.selectedSkin then
+ for askin in pairs(self.skins) do
+ self:setSelectedSkin(askin)
+ break
+ end
+ end
+ assert(self.selectedSkin, "No skin")
+end
+
+
+function JiveMain:registerSkin(name, appletName, method)
+ log:debug("registerSkin(", name, ",", appletName, ")")
+
+ self.skins[appletName] = { name, method }
+end
+
+
+function JiveMain:skinIterator()
+ local _f,_s,_var = pairs(self.skins)
+ return function(_s,_var)
+ local appletName, entry = _f(_s,_var)
+ if appletName then
+ return appletName, entry[1]
+ else
+ return nil
+ end
+ end,_s,_var
+end
+
+
+function JiveMain:getSelectedSkin()
+ return self.selectedSkin
+end
+
+
+local function _loadSkin(self, appletName, reload)
+ if not self.skins[appletName] then
+ return false
+ end
+
+ local name, method = unpack(self.skins[appletName])
+ local obj = appletManager:loadApplet(appletName)
+ assert(obj, "Cannot load skin " .. appletName)
+
+ -- reset the skin
+ jive.ui.style = {}
+
+ obj[method](obj, jive.ui.style, reload==nil and true or relaod)
+
Framework:styleChanged()
+
+ return true
+end
+
+
+function JiveMain:setSelectedSkin(appletName, reload)
+ if _loadSkin(self, appletName, false) then
+ self.selectedSkin = appletName
+ end
+end
+
+
+-- reloadSkin
+--
+function JiveMain:reloadSkin(reload)
+ _loadSkin(self, self.selectedSkin, true);
end
-- loadSkin
---
+-- XXXX deprecated, to be replaced with per window skinning
function JiveMain:loadSkin(appletName, method)
log:debug("loadSkin(", appletName, ")")
@@ -258,22 +324,6 @@
assert(obj, "Cannot load skin " .. appletName)
obj[method](obj, jive.ui.style)
-
- self.skins[#self.skins + 1] = { obj, method }
-end
-
--- reloadSkin
---
-function JiveMain:reloadSkin()
- -- reset the skin
- jive.ui.style = {}
-
- for i,v in ipairs(self.skins) do
- local obj, method = v[1], v[2]
- obj[method](obj, jive.ui.style)
- end
-
- Framework:styleChanged()
end
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_framework.c
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_framework.c?rev=2860&root=Jive&r1=2859&r2=2860&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_framework.c (original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_framework.c Mon Aug 18
02:47:22 2008
@@ -723,11 +723,7 @@
screen_w = luaL_optinteger(L, 2, 0);
screen_h = luaL_optinteger(L, 3, 0);
- /* redraw screen */
- lua_pushcfunction(L, jiveL_redraw);
- lua_pushvalue(L, 1);
- lua_pushnil(L);
- lua_call(L, 2, 0);
+ next_jive_origin++;
return 0;
}
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_style.c
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_style.c?rev=2860&root=Jive&r1=2859&r2=2860&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_style.c (original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_style.c Mon Aug 18
02:47:22 2008
@@ -538,19 +538,11 @@
void jive_style_insets(lua_State *L, int index, char *key, JiveInset *inset) {
JIVEL_STACK_CHECK_BEGIN(L);
-
lua_pushcfunction(L, jiveL_style_value);
lua_pushvalue(L, index);
lua_pushstring(L, key);
lua_pushnil(L);
lua_call(L, 3, 1);
-
- if (lua_isnil(L, -1)) {
- lua_pop(L, 1);
-
- JIVEL_STACK_CHECK_ASSERT(L);
- return;
- }
if (lua_isinteger(L, -1)) {
int v = lua_tointeger(L, -1);
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_widget.c
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_widget.c?rev=2860&root=Jive&r1=2859&r2=2860&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_widget.c (original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/src/ui/jive_widget.c Mon Aug 18
02:47:22 2008
@@ -44,7 +44,6 @@
lua_getfield(L, 1, "peer");
peer = lua_touserdata(L, -1);
if (!peer) {
- peer = lua_touserdata(L, -1);
return 0;
}
@@ -379,7 +378,7 @@
lua_pushvalue(L, 1);
lua_call(L, 1, 0);
}
-
+
if (!peer) {
lua_getfield(L, 1, "peer");
peer = lua_touserdata(L, -1);
Modified:
7.3/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinMeta.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinMeta.lua?rev=2860&root=Jive&r1=2859&r2=2860&view=diff
==============================================================================
---
7.3/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinMeta.lua
(original)
+++
7.3/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinMeta.lua
Mon Aug 18 02:47:22 2008
@@ -34,7 +34,7 @@
function registerApplet(self)
--- jiveMain:loadSkin('FullscreenSkin', 'skin')
+ jiveMain:registerSkin(self:string("DESKTOP_SKIN"), 'FullscreenSkin',
'skin')
end
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins