fix progress scaling and remove unneeded project paramter from dvd media toolbox
[enigma2.git] / lib / python / Plugins / Extensions / DVDBurn / TitleList.py
index 92fac1bba1c4f9fb67eb647a88de58fc2a0ead48..2c2d16c83503b9b7ee3a540baf0b27390051355c 100644 (file)
@@ -1,9 +1,11 @@
-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
@@ -13,7 +15,7 @@ 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" />
@@ -35,6 +37,7 @@ class TitleList(Screen):
 
        def __init__(self, session, project = None):
                Screen.__init__(self, session)
+               HelpableScreen.__init__(self)
                
                self["titleactions"] = HelpableActionMap(self, "DVDTitleList",
                        {
@@ -162,7 +165,7 @@ class TitleList(Screen):
                        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)
@@ -184,24 +187,28 @@ class TitleList(Screen):
 
        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 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