-import DVDProject, TitleList, TitleCutter, ProjectSettings, DVDToolbox
+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
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.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.updateTitleList()
def toolbox(self):
- self.session.open(DVDToolbox.DVDToolbox, self.project)
+ 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