X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e06c6d202696d83a3017861fc690ee3d75750f13..22f47520b40121bbb98e9098232771a178e7d523:/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 index 353efe67..92fac1bb 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/TitleList.py +++ b/lib/python/Plugins/Extensions/DVDBurn/TitleList.py @@ -1,4 +1,4 @@ -import DVDProject, TitleList, TitleCutter, ProjectSettings +import DVDProject, TitleList, TitleCutter, ProjectSettings, DVDToolbox from Screens.Screen import Screen from Screens.ChoiceBox import ChoiceBox from Screens.InputBox import InputBox @@ -72,17 +72,12 @@ class TitleList(Screen): self["titles"] = List(list = [ ], enableWrapAround = True, item_height=30, fonts = [gFont("Regular", 20)]) self.updateTitleList() - - #self["addTitle"] = ActionButton("titleactions", "addTitle") - #self["editTitle"] = ActionButton("titleactions", "editTitle") - #self["removeCurrentTitle"] = ActionButton("titleactions", "removeCurrentTitle") - #self["saveProject"] = ActionButton("titleactions", "saveProject") - #self["burnProject"] = ActionButton("titleactions", "burnProject") def showMenu(self): menu = [] menu.append((_("Burn DVD"), "burn")); menu.append((_("Preview menu"), "previewMenu")); + menu.append((_("DVD media toolbox"), "toolbox")); menu.append((_("Collection settings"), "settings")); menu.append((_("Add a new title"), "addtitle")); menu.append((_("Remove title"), "removetitle")); @@ -99,6 +94,8 @@ class TitleList(Screen): self.addTitle() elif choice[1] == "edittitle": self.editTitle() + elif choice[1] == "toolbox": + self.toolbox() elif choice[1] == "settings": self.settings() elif choice[1] == "previewMenu": @@ -116,21 +113,44 @@ class TitleList(Screen): def addTitle(self): from Screens.MovieSelection import MovieSelection + from Components.Button import Button + from Components.ActionMap import HelpableActionMap class MovieSelectionNoMenu(MovieSelection): def __init__(self, session): MovieSelection.__init__(self, session) self.skinName = "MovieSelection" - + self["key_red"] = Button(_("Edit title")) + self["key_green"] = Button(_("Add")) + self["ColorActions"] = HelpableActionMap(self, "ColorActions", + { + "red": (self.movieSelected, _("Add a new title")), + "green": (self.insertWithoutEdit, ("insert without cutlist editor")) + }) + def updateTags(self): + pass def doContext(self): print "context menu forbidden inside DVDBurn to prevent calling multiple instances" - + def insertWithoutEdit(self): + current = self.getCurrent() + if current is not None: + current.edit = False + self.close(current) + def movieSelected(self): + current = self.getCurrent() + if current is not None: + current.edit = True + self.close(current) self.session.openWithCallback(self.selectedSource, MovieSelectionNoMenu) def selectedSource(self, source): if source is None: return None t = self.project.addService(source) - self.editTitle(t, readOnly=False) + try: + editor = source.edit + except AttributeError: + editor = True + self.editTitle(t, editor) def removeCurrentTitle(self): title = self.getCurrentTitle() @@ -141,6 +161,9 @@ class TitleList(Screen): self.project.titles.remove(title) self.updateTitleList() + def toolbox(self): + self.session.open(DVDToolbox.DVDToolbox, self.project) + def settings(self): self.session.openWithCallback(self.settingsCB, ProjectSettings.ProjectSettings, self.project) @@ -157,7 +180,6 @@ class TitleList(Screen): else: self["error_label"].text = self.project.error self["error_label"].show() - print self.project.error return False def burnProject(self): @@ -171,18 +193,12 @@ class TitleList(Screen): if autochapter > 0: for title in self.project.titles: title.produceAutoChapter(autochapter) - self.project.waitboxref = self.project.session.open(ProjectSettings.WaitBox,self.burnProjectCB) - - def burnProjectCB(self): - import Process - job = Process.Burn(self.session, self.project) - from Screens.TaskView import JobView - self.session.open(JobView, job) + import Process + job = Process.Burn(self.session, self.project) + from Screens.TaskView import JobView + self.session.open(JobView, job) def previewMenu(self): - self.project.waitboxref = self.project.session.open(ProjectSettings.WaitBox,self.previewMenuCB) - - def previewMenuCB(self): import Process job = Process.PreviewMenu(self.session, self.project) @@ -217,14 +233,14 @@ class TitleList(Screen): t = self["titles"].getCurrent() return t and t[0] - def editTitle(self, title = None, readOnly = False): + def editTitle(self, title = None, editor = True): t = title or self.getCurrentTitle() if t is not None: self.current_edit_title = t - if readOnly: - self.session.openWithCallback(self.titleEditDone, TitleCutter.CutlistReader, t) - else: + if editor: self.session.openWithCallback(self.titleEditDone, TitleCutter.TitleCutter, t) + else: + self.session.openWithCallback(self.titleEditDone, TitleCutter.CutlistReader, t) def titleEditDone(self, cutlist): t = self.current_edit_title