summaryrefslogtreecommitdiff
path: root/DistUpgrade/DistUpgradeViewGtk.py
diff options
context:
space:
mode:
Diffstat (limited to 'DistUpgrade/DistUpgradeViewGtk.py')
-rw-r--r--DistUpgrade/DistUpgradeViewGtk.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/DistUpgrade/DistUpgradeViewGtk.py b/DistUpgrade/DistUpgradeViewGtk.py
index 4fc813bc..b6ff38b2 100644
--- a/DistUpgrade/DistUpgradeViewGtk.py
+++ b/DistUpgrade/DistUpgradeViewGtk.py
@@ -106,6 +106,7 @@ class GtkInstallProgressAdapter(InstallProgress):
self.progress = parent.progressbar_cache
self.expander = parent.expander_terminal
self.term = parent._term
+ self.parent = parent
# setup the child waiting
reaper = vte.reaper_get()
reaper.connect("child-exited", self.child_exited)
@@ -124,9 +125,32 @@ class GtkInstallProgressAdapter(InstallProgress):
self.env = ["VTE_PTY_KEEP_FD=%s"% self.writefd,
"DEBIAN_FRONTEND=gnome",
"APT_LISTCHANGES_FRONTEND=gtk"]
- def error(self, error):
- pass
+ def error(self, pkg, errormsg):
+ dialog = gtk.MessageDialog(self.parent.window_main, 0,
+ gtk.MESSAGE_ERROR,
+ gtk.BUTTONS_OK,"")
+ summary = _("Error installing '%s'" % pkg)
+ msg = _("During the install a error occured. This is usually a bug "
+ "in the packages, please report it. See the message below "
+ "for more information. ")
+ msg="<big><b>%s</b></big>\n\n%s" % (summary,msg)
+ dialog.set_markup(msg)
+ dialog.vbox.set_spacing(6)
+ if errormsg != None:
+ scroll = gtk.ScrolledWindow()
+ scroll.set_size_request(400,200)
+ textview = gtk.TextView()
+ textview.set_cursor_visible(False)
+ textview.set_editable(False)
+ textview.get_buffer().set_text(errormsg)
+ textview.show()
+ scroll.add(textview)
+ scroll.show()
+ dialog.vbox.pack_end(scroll)
+ dialog.run()
+ dialog.destroy()
def conffile(self, current, new):
+ self.expander.set_expanded=True
pass
def fork(self):
pid = self.term.forkpty(envv=self.env)