X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/94fe5b323a9f4705d3c943204acd6695242df625..cab018779de4f2f01e0fe651e71112754ebd0ef8:/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py diff --git a/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py b/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py index 49156db4..060a4f35 100755 --- a/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py +++ b/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py @@ -1,26 +1,23 @@ +# -*- coding: iso-8859-1 -*- # (c) 2006 Stephan Reichholf # This Software is Free, use it where you want, when you want for whatever you want and modify it if you want but don't remove my copyright! - -from enigma import * from Screens.Screen import Screen +from Screens.Standby import TryQuitMainloop from Screens.MessageBox import MessageBox from Components.ActionMap import NumberActionMap from Components.Pixmap import Pixmap -from Components.GUIComponent import * from Components.MenuList import MenuList from Plugins.Plugin import PluginDescriptor - from Components.config import config -from Tools.Directories import SCOPE_SKIN -from Components.config import config - -import os, sys +from os import path, walk class SkinSelector(Screen): + # for i18n: + # _("Choose your Skin") skin = """ - - + + """ @@ -34,10 +31,9 @@ class SkinSelector(Screen): Screen.__init__(self, session) self.skinlist = [] - self.session = session self.previewPath = "" - os.path.walk(self.root, self.find, "") + path.walk(self.root, self.find, "") self.skinlist.sort() self["SkinList"] = MenuList(self.skinlist) @@ -54,7 +50,20 @@ class SkinSelector(Screen): "info": self.info, }, -1) - self.onLayoutFinish.append(self.loadPreview) + self.onLayoutFinish.append(self.layoutFinished) + + def layoutFinished(self): + tmp = config.skin.primary_skin.value.find('/skin.xml') + if tmp != -1: + tmp = config.skin.primary_skin.value[:tmp] + idx = 0 + for skin in self.skinlist: + if skin == tmp: + break + idx += 1 + if idx < len(self.skinlist): + self["SkinList"].moveToIndex(idx) + self.loadPreview() def up(self): self["SkinList"].up() @@ -104,7 +113,7 @@ class SkinSelector(Screen): else: pngpath = self.root+self["SkinList"].getCurrent()+"/prev.png" - if not os.path.exists(pngpath): + if not path.exists(pngpath): # FIXME: don't use hardcoded path pngpath = "/usr/lib/enigma2/python/Plugins/SystemPlugins/SkinSelector/noprev.png" @@ -115,16 +124,16 @@ class SkinSelector(Screen): def restartGUI(self, answer): if answer is True: - quitMainloop(3) + self.session.open(TryQuitMainloop, 3) def SkinSelMain(session, **kwargs): session.open(SkinSelector) -def SkinSelSetup(menuid): +def SkinSelSetup(menuid, **kwargs): if menuid == "system": - return [("Skin...", SkinSelMain)] + return [(_("Skin..."), SkinSelMain, "skin_selector", None)] else: return [] def Plugins(**kwargs): - return PluginDescriptor(name="Skinselector", description="Select Your Skin", where = PluginDescriptor.WHERE_SETUP, fnc=SkinSelSetup) + return PluginDescriptor(name="Skinselector", description="Select Your Skin", where = PluginDescriptor.WHERE_MENU, fnc=SkinSelSetup)