[pitivi: 2/18] pitivi/ui/mainwindow.py: use the timeline infostub to report pipeline errors



commit 042d7c7ba1a9961c907cc1d89ec7e267ac6930e3
Author: Brandon Lewis <brandon_lewis alum berkeley edu>
Date:   Fri Dec 4 14:50:13 2009 -0800

    pitivi/ui/mainwindow.py: use the timeline infostub to report pipeline errors

 pitivi/ui/mainwindow.py |   20 +++++---------------
 1 files changed, 5 insertions(+), 15 deletions(-)
---
diff --git a/pitivi/ui/mainwindow.py b/pitivi/ui/mainwindow.py
index 7abb95c..2ac8a71 100644
--- a/pitivi/ui/mainwindow.py
+++ b/pitivi/ui/mainwindow.py
@@ -434,6 +434,8 @@ class PitiviMainWindow(gtk.Window, Loggable):
         if not self.settings.mainWindowShowTimelineToolbar:
             ttb.props.visible = False
 
+        self.timeline.infostub.hide()
+
         #application icon
         self.set_icon_name("pitivi")
 
@@ -928,22 +930,10 @@ class PitiviMainWindow(gtk.Window, Loggable):
 
     @handler(project_pipeline, "error")
     def _pipelineErrorCb(self, unused_pipeline, error, detail):
-        # FIXME FIXME FIXME:
-        # _need_ an onobtrusive way to present gstreamer errors,
-        # one that doesn't steel mouse/keyboard focus, one that
-        # makes some kind of sense to the user, and one that presents
-        # some ways of actually _dealing_ with the underlying problem:
-        # install a plugin, re-conform source to some other format, or
-        # maybe even disable playback of a problematic file.
-        if self.error_dialogbox:
-            return
-        self.error_dialogbox = gtk.MessageDialog(None, gtk.DIALOG_MODAL,
-            gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, None)
-        self.error_dialogbox.set_markup("<b>%s</b>" % error)
-        self.error_dialogbox.connect("response", self._errorMessageResponseCb)
         if detail:
-            self.error_dialogbox.format_secondary_text(detail)
-        self.error_dialogbox.show()
+            self.timeline.infostub.addErrors(error, detail)
+        else:
+            self.timeline.infostub.addErrors(error)
 
     @handler(project_pipeline, "position")
     def _timelinePipelinePositionChangedCb(self, pipeline, position):



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]