diff options
Diffstat (limited to 'DistUpgrade/DistUpgradeViewGtk.py')
| -rw-r--r-- | DistUpgrade/DistUpgradeViewGtk.py | 28 |
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) |
