-import DVDProject, TitleList, TitleCutter, ProjectSettings
+import DVDProject, TitleList, TitleCutter, ProjectSettings, DVDToolbox, Process
from Screens.Screen import Screen
from Screens.ChoiceBox import ChoiceBox
from Screens.InputBox import InputBox
from Screens.MessageBox import MessageBox
from Screens.HelpMenu import HelpableScreen
+from Screens.TaskView import JobView
+from Components.Task import job_manager
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.FileList import FileList
from Components.Label import Label
from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT
from Tools.Directories import resolveFilename, SCOPE_PLUGINS
-class TitleList(Screen):
+class TitleList(Screen, HelpableScreen):
skin = """
<screen position="90,83" size="560,445" title="DVD Tool" >
<ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
def __init__(self, session, project = None):
Screen.__init__(self, session)
+ HelpableScreen.__init__(self)
self["titleactions"] = HelpableActionMap(self, "DVDTitleList",
{
def showMenu(self):
menu = []
- menu.append((_("Burn DVD"), "burn"));
+ if self.project.settings.output.getValue() == "dvd":
+ menu.append((_("Burn DVD"), "burn"));
+ elif self.project.settings.output.getValue() == "iso":
+ menu.append((_("Create DVD-ISO"), "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"));
menu.append((_("Edit chapters of current title"), "edittitle"));
+ menu.append((_("Burn existing image to DVD"), "burniso"));
menu.append((_("Exit"), "exit"));
self.session.openWithCallback(self.menuCallback, ChoiceBox, title="", list=menu)
self.addTitle()
elif choice[1] == "edittitle":
self.editTitle()
+ elif choice[1] == "toolbox":
+ self.toolbox()
elif choice[1] == "settings":
self.settings()
elif choice[1] == "previewMenu":
self.previewMenu()
elif choice[1] == "burn":
self.burnProject()
+ elif choice[1] == "burniso":
+ self.session.openWithCallback(self.burnISO, ProjectSettings.FileBrowser, "image", self.project.settings)
elif choice[1] == "exit":
self.leave()
self.project.titles.remove(title)
self.updateTitleList()
+ def toolbox(self):
+ self.session.open(DVDToolbox.DVDToolbox)
+
def settings(self):
self.session.openWithCallback(self.settingsCB, ProjectSettings.ProjectSettings, self.project)
def burnProject(self):
if self.project.settings.authormode.getValue() == "data_ts":
- import Process
- job = Process.BurnDataTS(self.session, self.project)
- from Screens.TaskView import JobView
- self.session.open(JobView, job)
+ job = Process.DVDdataJob(self.project)
+ job_manager.AddJob(job)
+ job_manager.in_background = False
+ self.session.openWithCallback(self.JobViewCB, JobView, job)
else:
autochapter = self.project.settings.autochapter.getValue()
if autochapter > 0:
for title in self.project.titles:
title.produceAutoChapter(autochapter)
- import Process
- job = Process.Burn(self.session, self.project)
- from Screens.TaskView import JobView
- self.session.open(JobView, job)
+ job = Process.DVDJob(self.project)
+ job_manager.AddJob(job)
+ job_manager.in_background = False
+ self.session.openWithCallback(self.JobViewCB, JobView, job)
- def previewMenu(self):
- import Process
- job = Process.PreviewMenu(self.session, self.project)
+ def burnISO(self, path, scope):
+ job = Process.DVDisoJob(self.project, path)
+ job_manager.AddJob(job)
+ job_manager.in_background = False
+ self.session.openWithCallback(self.JobViewCB, JobView, job)
+
+ def JobViewCB(self, in_background):
+ job_manager.in_background = in_background
+ def previewMenu(self):
+ job = Process.DVDJob(self.project, menupreview=True)
+ job_manager.in_background = False
+ job_manager.AddJob(job)
+
def updateTitleList(self):
res = [ ]
totalsize = 0