diff -ru --exclude=configure --exclude=config.status.lineno --exclude=config.log --exclude=autom4te.cache --exclude=CVS --exclude='*.pyc' -N pitivi_pristine/pitivi/ui/discoverererrordialog.glade pitivi_pub/pitivi/ui/discoverererrordialog.glade
--- pitivi_pristine/pitivi/ui/discoverererrordialog.glade	2006-12-03 18:53:32.000000000 +0000
+++ pitivi_pub/pitivi/ui/discoverererrordialog.glade	1970-01-01 01:00:00.000000000 +0100
@@ -1,148 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkDialog" id="dialog2">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">Error while analyzing files</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">True</property>
-  <signal name="close" handler="_closeCb" last_modification_time="Mon, 20 Mar 2006 15:44:55 GMT"/>
-  <signal name="response" handler="_responseCb" last_modification_time="Mon, 20 Mar 2006 15:45:06 GMT"/>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox1">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area1">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHBox" id="hbox1">
-	  <property name="border_width">10</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">5</property>
-
-	  <child>
-	    <widget class="GtkImage" id="image1">
-	      <property name="visible">True</property>
-	      <property name="stock">gtk-dialog-warning</property>
-	      <property name="icon_size">6</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label1">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">The following files weren't discovered properly.</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">1</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">5</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkScrolledWindow" id="scrolledwindow1">
-	  <property name="border_width">5</property>
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	  <property name="shadow_type">GTK_SHADOW_IN</property>
-	  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-	  <child>
-	    <widget class="GtkTreeView" id="treeview">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="headers_visible">True</property>
-	      <property name="rules_hint">True</property>
-	      <property name="reorderable">False</property>
-	      <property name="enable_search">False</property>
-	      <property name="fixed_height_mode">False</property>
-	      <property name="hover_selection">False</property>
-	      <property name="hover_expand">False</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-</glade-interface>
diff -ru --exclude=configure --exclude=config.status.lineno --exclude=config.log --exclude=autom4te.cache --exclude=CVS --exclude='*.pyc' -N pitivi_pristine/pitivi/ui/filelisterrordialog.glade pitivi_pub/pitivi/ui/filelisterrordialog.glade
--- pitivi_pristine/pitivi/ui/filelisterrordialog.glade	1970-01-01 01:00:00.000000000 +0100
+++ pitivi_pub/pitivi/ui/filelisterrordialog.glade	2006-12-04 23:16:54.000000000 +0000
@@ -0,0 +1,149 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+<glade-interface>
+<requires lib="gnome"/>
+
+<widget class="GtkDialog" id="filelisterrordialog">
+  <property name="visible">True</property>
+  <property name="title"></property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
+  <property name="has_separator">True</property>
+  <signal name="close" handler="_closeCb" last_modification_time="Mon, 20 Mar 2006 15:44:55 GMT"/>
+  <signal name="response" handler="_responseCb" last_modification_time="Mon, 20 Mar 2006 15:45:06 GMT"/>
+
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="dialog-vbox1">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child internal-child="action_area">
+	<widget class="GtkHButtonBox" id="dialog-action_area1">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+	  <child>
+	    <widget class="GtkButton" id="okbutton1">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-ok</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">-5</property>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	  <property name="pack_type">GTK_PACK_END</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHBox" id="hbox1">
+	  <property name="border_width">10</property>
+	  <property name="visible">True</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">5</property>
+
+	  <child>
+	    <widget class="GtkImage" id="image1">
+	      <property name="visible">True</property>
+	      <property name="stock">gtk-dialog-warning</property>
+	      <property name="icon_size">6</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="headline">
+	      <property name="visible">True</property>
+	      <property name="sensitive">True</property>
+	      <property name="label"></property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">False</property>
+	      <property name="justify">GTK_JUSTIFY_CENTER</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">5</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkScrolledWindow" id="scrolledwindow1">
+	  <property name="border_width">5</property>
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+	  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+	  <property name="shadow_type">GTK_SHADOW_IN</property>
+	  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+	  <child>
+	    <widget class="GtkTreeView" id="treeview">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="headers_visible">True</property>
+	      <property name="rules_hint">True</property>
+	      <property name="reorderable">False</property>
+	      <property name="enable_search">False</property>
+	      <property name="fixed_height_mode">False</property>
+	      <property name="hover_selection">False</property>
+	      <property name="hover_expand">False</property>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+</glade-interface>
diff -ru --exclude=configure --exclude=config.status.lineno --exclude=config.log --exclude=autom4te.cache --exclude=CVS --exclude='*.pyc' -N pitivi_pristine/pitivi/ui/filelisterrordialog.py pitivi_pub/pitivi/ui/filelisterrordialog.py
--- pitivi_pristine/pitivi/ui/filelisterrordialog.py	1970-01-01 01:00:00.000000000 +0100
+++ pitivi_pub/pitivi/ui/filelisterrordialog.py	2006-12-04 23:16:57.000000000 +0000
@@ -0,0 +1,89 @@
+# PiTiVi , Non-linear video editor
+#
+#       ui/filelisterrordialog.py
+#
+# Copyright (c) 2005, Edward Hervey <bilboed@bilboed.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+"""
+Dialog box listing files which had errors, and the reasons.
+"""
+
+import gobject
+import gtk
+import gst
+import pango
+from glade import GladeWindow
+
+from gettext import gettext as _
+
+class FileListErrorDialog(GladeWindow):
+    """ Dialog box for showing errors in a list of files """
+    glade_file = "filelisterrordialog.glade"
+    __gsignals__ = {
+        'close': (gobject.SIGNAL_RUN_LAST,
+                  gobject.TYPE_NONE,
+                  ( )),
+        'response': (gobject.SIGNAL_RUN_LAST,
+                     gobject.TYPE_NONE,
+                     (gobject.TYPE_PYOBJECT, ))
+        }
+
+    def __init__(self, title, headline):
+        GladeWindow.__init__(self)
+        self.window.set_modal(False)
+        self.widgets["headline"].set_text(headline)
+        self.window.set_title(title)
+        self.treeview = self.widgets["treeview"]
+        self.window.set_geometry_hints(min_width=400, min_height=300)
+        self._setUpTreeView()
+
+    def _setUpTreeView(self):
+        self.storemodel = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
+        self.treeview.set_model(self.storemodel)
+
+        txtcell = gtk.CellRendererText()
+        txtcell.set_property("ellipsize", pango.ELLIPSIZE_START)
+        uricol = gtk.TreeViewColumn(_("File"), txtcell, text=0)
+        uricol.set_expand(True)
+        self.treeview.append_column(uricol)
+
+        txtcell2 = gtk.CellRendererText()
+        txtcell2.set_property("ellipsize", pango.ELLIPSIZE_END)
+        reasoncol = gtk.TreeViewColumn(_("Reason"), txtcell2, text=1)
+        reasoncol.set_expand(True)
+        self.treeview.append_column(reasoncol)
+
+    def addFailedFile(self, uri, reason=_("Unknown reason")):
+        """Add the given uri to the list of failed files. You can optionnaly
+        give a string identifying the reason why the file failed to be
+        discovered
+        """
+        gst.debug("Uri:%s, reason:%s" % (uri, reason))
+        self.storemodel.append([str(uri), str(reason)])
+
+    def isVisible(self):
+        """ returns True if this dialog is currently shown """
+        return self.window.get_property("visible")
+
+    ## Callbacks from glade
+
+    def _closeCb(self, unused_dialog):
+        self.emit('close')
+
+    def _responseCb(self, unused_dialog, response):
+        self.emit('response', response)
diff -ru --exclude=configure --exclude=config.status.lineno --exclude=config.log --exclude=autom4te.cache --exclude=CVS --exclude='*.pyc' -N pitivi_pristine/pitivi/ui/Makefile.am pitivi_pub/pitivi/ui/Makefile.am
--- pitivi_pristine/pitivi/ui/Makefile.am	2006-12-03 18:53:32.000000000 +0000
+++ pitivi_pub/pitivi/ui/Makefile.am	2006-12-04 23:20:54.000000000 +0000
@@ -6,7 +6,8 @@
 	complexsource.py	\
 	complextimeline.py	\
 	complexinterface.py	\
-	exportsettingswidget.py \
+	exportsettingswidget.py	\
+	filelisterrordialog.py	\
 	glade.py		\
 	gstwidget.py		\
 	mainwindow.py		\
@@ -27,6 +28,7 @@
 	elementsettingsdialog.glade	\
 	encodingdialog.glade		\
 	exportsettingswidget.glade	\
+	filelisterrordialog.glade	\
 	projectsettings.glade
 
 clean-local:
diff -ru --exclude=configure --exclude=config.status.lineno --exclude=config.log --exclude=autom4te.cache --exclude=CVS --exclude='*.pyc' -N pitivi_pristine/pitivi/ui/sourcefactories.py pitivi_pub/pitivi/ui/sourcefactories.py
--- pitivi_pristine/pitivi/ui/sourcefactories.py	2006-12-03 18:53:32.000000000 +0000
+++ pitivi_pub/pitivi/ui/sourcefactories.py	2006-12-04 23:28:22.000000000 +0000
@@ -36,7 +36,8 @@
 import pitivi.instance as instance
 import pitivi.dnd as dnd
 from pitivi.configure import get_pixmap_dir
-from glade import GladeWindow
+
+from filelisterrordialog import FileListErrorDialog
 
 from gettext import gettext as _
 
@@ -303,7 +304,11 @@
         # popup a dialog box and fill up with reasons
         if not self.errorDialogBox:
             # construct the dialog but leave it hidden
-            self.errorDialogBox = DiscovererErrorDialog()
+            self.errorDialogBox = FileListErrorDialog(
+                _("Error while analyzing files"),
+                _("The following files weren't discovered properly.")
+            )
+
             self.errorDialogBox.connect('close', self._errorDialogBoxCloseCb)
             self.errorDialogBox.connect('response', self._errorDialogBoxResponseCb)
             self.errorDialogBox.hide()
@@ -551,59 +556,3 @@
         self.iconview = gtk.IconView()
         self.treeview = gtk.TreeView()
         self.pack_start(self.iconview)
-
-
-class DiscovererErrorDialog(GladeWindow):
-    """ Dialog box for showing errors from discovering files """
-    glade_file = "discoverererrordialog.glade"
-    __gsignals__ = {
-        'close': (gobject.SIGNAL_RUN_LAST,
-                  gobject.TYPE_NONE,
-                  ( )),
-        'response': (gobject.SIGNAL_RUN_LAST,
-                     gobject.TYPE_NONE,
-                     (gobject.TYPE_PYOBJECT, ))
-        }
-
-    def __init__(self):
-        GladeWindow.__init__(self)
-        self.window.set_modal(False)
-        self.treeview = self.widgets["treeview"]
-        self.window.set_geometry_hints(min_width=400, min_height=300)
-        self._setUpTreeView()
-
-    def _setUpTreeView(self):
-        self.storemodel = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
-        self.treeview.set_model(self.storemodel)
-
-        txtcell = gtk.CellRendererText()
-        txtcell.set_property("ellipsize", pango.ELLIPSIZE_START)
-        uricol = gtk.TreeViewColumn(_("File"), txtcell, text=0)
-        uricol.set_expand(True)
-        self.treeview.append_column(uricol)
-
-        txtcell2 = gtk.CellRendererText()
-        txtcell2.set_property("ellipsize", pango.ELLIPSIZE_END)
-        reasoncol = gtk.TreeViewColumn(_("Reason"), txtcell2, text=1)
-        reasoncol.set_expand(True)
-        self.treeview.append_column(reasoncol)
-
-    def addFailedFile(self, uri, reason=_("Unknown reason")):
-        """Add the given uri to the list of failed files. You can optionnaly
-        give a string identifying the reason why the file failed to be
-        discovered
-        """
-        gst.debug("Uri:%s, reason:%s" % (uri, reason))
-        self.storemodel.append([str(uri), str(reason)])
-        
-    def isVisible(self):
-        """ returns True if this dialog is currently shown """
-        return self.window.get_property("visible")
-
-    ## Callbacks from glade
-
-    def _closeCb(self, unused_dialog):
-        self.emit('close')
-
-    def _responseCb(self, unused_dialog, response):
-        self.emit('response', response)
