CreateMenu is now a task of its own
[enigma2.git] / lib / python / Plugins / Extensions / DVDBurn / TitleList.py
index f4467707b3ed209664cec3cddb5d848ec840f547..51b242e79dffc55f09ca128da568a134f2515525 100644 (file)
@@ -161,22 +161,22 @@ class TitleList(Screen):
                        return False
 
        def burnProject(self):
                        return False
 
        def burnProject(self):
-               autochapter = self.project.settings.autochapter.getValue()
-               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)
+               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)
+               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)
 
        def previewMenu(self):
 
        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)
 
                import Process
                job = Process.PreviewMenu(self.session, self.project)
 
@@ -221,14 +221,21 @@ class TitleList(Screen):
                                self.session.openWithCallback(self.titleEditDone, TitleCutter.TitleCutter, t)
 
        def titleEditDone(self, cutlist):
                                self.session.openWithCallback(self.titleEditDone, TitleCutter.TitleCutter, t)
 
        def titleEditDone(self, cutlist):
-               if cutlist != False:
-                       t = self.current_edit_title
-                       t.cuesheet = cutlist
-                       t.produceFinalCuesheet()
+               t = self.current_edit_title
+               t.cuesheet = cutlist
+               t.produceFinalCuesheet()
+               if t.sVideoType != 0:
+                       self.session.openWithCallback(self.DVDformatCB,MessageBox,text = _("The DVD standard doesn't support H.264 (HDTV) video streams. Do you want to create a Dreambox format data DVD (which will not play in stand-alone DVD players) instead?"), type = MessageBox.TYPE_YESNO)
+               else:
+                       self.updateTitleList()
+
+       def DVDformatCB(self, answer):
+               t = self.current_edit_title
+               if answer == True:
+                       self.project.settings.authormode.setValue("data_ts")
                        self.updateTitleList()
                else:
                        self.updateTitleList()
                else:
-                       self.session.open(MessageBox,text = _("The DVD standard doesn't support H.264 (HDTV) video streams!"),type = MessageBox.TYPE_ERROR)
-                       self.removeTitle(self.current_edit_title)
+                       self.removeTitle(t)
 
        def leave(self):
                self.close()
 
        def leave(self):
                self.close()