X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/5d441513d7c81c7e52399801dd34c97480f4e136..99a717e9813eab30cd34f5da6f4a5ab6e791dc1f:/lib/python/Plugins/Extensions/DVDBurn/TitleList.py diff --git a/lib/python/Plugins/Extensions/DVDBurn/TitleList.py b/lib/python/Plugins/Extensions/DVDBurn/TitleList.py old mode 100644 new mode 100755 index aeb163f3..928a8b82 --- a/lib/python/Plugins/Extensions/DVDBurn/TitleList.py +++ b/lib/python/Plugins/Extensions/DVDBurn/TitleList.py @@ -10,28 +10,27 @@ from Components.ActionMap import HelpableActionMap, ActionMap from Components.Sources.List import List from Components.Sources.StaticText import StaticText from Components.Sources.Progress import Progress -from Components.Label import Label from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT from Tools.Directories import resolveFilename, SCOPE_PLUGINS class TitleList(Screen, HelpableScreen): skin = """ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + """ def __init__(self, session, project = None): @@ -63,7 +62,7 @@ class TitleList(Screen, HelpableScreen): self["key_blue"] = StaticText(_("Settings")) self["title_label"] = StaticText() - self["error_label"] = Label("") + self["error_label"] = StaticText() self["space_label"] = StaticText() self["space_bar"] = Progress() @@ -75,6 +74,10 @@ class TitleList(Screen, HelpableScreen): self["titles"] = List(list = [ ], enableWrapAround = True, item_height=30, fonts = [gFont("Regular", 20)]) self.updateTitleList() self.previous_size = 0 + self.onLayoutFinish.append(self.layoutFinished) + + def layoutFinished(self): + self.setTitle(_("DVD Titlelist")) def checkBackgroundJobs(self): for job in job_manager.getPendingJobs(): @@ -128,18 +131,43 @@ class TitleList(Screen, HelpableScreen): def addTitle(self): from Screens.MovieSelection import MovieSelection - from Components.Button import Button from Components.ActionMap import HelpableActionMap - class MovieSelectionNoMenu(MovieSelection): + class DVDMovieSelection(MovieSelection): + skin = """ + + + + + + + + + + + ShortDescription + + + Duration + AsLength + + + RecordServiceName + + + ExtendedDescription + + + """ def __init__(self, session): MovieSelection.__init__(self, session) - self.skinName = "MovieSelection" - self["key_red"] = Button(_("Edit title")) - self["key_green"] = Button(_("Add")) + self["key_red"] = StaticText(_("Close")) + self["key_green"] = StaticText(_("Add")) + self["key_yellow"] = StaticText(_("Edit title")) self["ColorActions"] = HelpableActionMap(self, "ColorActions", { - "red": (self.movieSelected, _("Add a new title")), - "green": (self.insertWithoutEdit, ("insert without cutlist editor")) + "red": (self.close, _("Close title selection")), + "green": (self.insertWithoutEdit, ("insert without cutlist editor")), + "yellow": (self.movieSelected, _("Add a new title")) }) def updateTags(self): pass @@ -155,7 +183,7 @@ class TitleList(Screen, HelpableScreen): if current is not None: current.edit = True self.close(current) - self.session.openWithCallback(self.selectedSource, MovieSelectionNoMenu) + self.session.openWithCallback(self.selectedSource, DVDMovieSelection) def selectedSource(self, source): if source is None: @@ -190,11 +218,10 @@ class TitleList(Screen, HelpableScreen): def loadTemplate(self): filename = resolveFilename(SCOPE_PLUGINS)+"Extensions/DVDBurn/DreamboxDVD.ddvdp.xml" if self.project.load(filename): - self["error_label"].hide() + self["error_label"].setText("") return True else: - self["error_label"].text = self.project.error - self["error_label"].show() + self["error_label"].setText(self.project.error) return False def askBurnProject(self): @@ -245,21 +272,24 @@ class TitleList(Screen, HelpableScreen): self["key_yellow"].text = "" def updateSize(self): - size = self.project.size - if size > self.project.MAX_DL: - percent = 100 * size / float(self.project.MAX_DL) + size = self.project.size/(1024*1024) + MAX_DL = self.project.MAX_DL-100 + MAX_SL = self.project.MAX_SL-100 + print "updateSize:", size, "MAX_DL:", MAX_DL, "MAX_SL:", MAX_SL + if size > MAX_DL: + percent = 100 * size / float(MAX_DL) self["space_label"].text = "%d MB - " % size + _("exceeds dual layer medium!") + " (%.2f%% " % (100-percent) + _("free") + ")" self["space_bar"].value = int(percent) - if self.previous_size < self.project.MAX_DL: + if self.previous_size < MAX_DL: self.session.open(MessageBox,text = _("exceeds dual layer medium!"), type = MessageBox.TYPE_ERROR) - elif size > self.project.MAX_SL: - percent = 100 * size / float(self.project.MAX_DL) + elif size > MAX_SL: + percent = 100 * size / float(MAX_DL) self["space_label"].text = "%d MB " % size + _("of a DUAL layer medium used.") + " (%.2f%% " % (100-percent) + _("free") + ")" self["space_bar"].value = int(percent) - if self.previous_size < self.project.MAX_SL: + if self.previous_size < MAX_SL: self.session.open(MessageBox,text = _("Your collection exceeds the size of a single layer medium, you will need a blank dual layer DVD!"), type = MessageBox.TYPE_INFO) - elif size < self.project.MAX_SL: - percent = 100 * size / float(self.project.MAX_SL) + elif size < MAX_SL: + percent = 100 * size / float(MAX_SL) self["space_label"].text = "%d MB " % size + _("of a SINGLE layer medium used.") + " (%.2f%% " % (100-percent) + _("free") + ")" self["space_bar"].value = int(percent) self.previous_size = size