diff options
Diffstat (limited to 'UpdateManager/GtkProgress.py')
| -rw-r--r-- | UpdateManager/GtkProgress.py | 44 |
1 files changed, 31 insertions, 13 deletions
diff --git a/UpdateManager/GtkProgress.py b/UpdateManager/GtkProgress.py index d25149e4..704946c7 100644 --- a/UpdateManager/GtkProgress.py +++ b/UpdateManager/GtkProgress.py @@ -27,21 +27,32 @@ import apt_pkg from gettext import gettext as _ class GtkOpProgress(apt.OpProgress): - def __init__(self, window,progressbar, parent): + def __init__(self, window, progressbar, status, parent): self._parent = parent self._window = window + self._status = status self._progressbar = progressbar + #self._progressbar.set_pulse_step(0.01) + #self._progressbar.pulse() window.set_transient_for(parent) def update(self, percent): #print percent #print self.Op #print self.SubOp + # Use pulse until apt doesn't restarts the progress bar + # several times self._window.show() - self._progressbar.set_text(self.op) + self._parent.set_sensitive(False) + self._status.set_markup("<i>%s</i>" % self.op) self._progressbar.set_fraction(percent/100.0) + #if percent > 99: + # self._progressbar.set_fraction(1) + #else: + # self._progressbar.pulse() while gtk.events_pending(): gtk.main_iteration() def done(self): + self._parent.set_sensitive(True) self._window.hide() class GtkFetchProgress(apt.progress.FetchProgress): @@ -59,25 +70,32 @@ class GtkFetchProgress(apt.progress.FetchProgress): if self.summary != "": self.summary.set_markup("<big><b>%s</b></big> \n\n%s" % (summary, descr)) - self.window_fetch.set_title(summary) def start(self): - self.progress.set_fraction(0) + self.progress.set_fraction(0) self.window_fetch.show() def stop(self): - self.window_fetch.hide() + self.window_fetch.hide() def on_button_fetch_cancel_clicked(self, widget): self._continue = False def pulse(self): apt.progress.FetchProgress.pulse(self) - if self.currentCPS > 0: - self.status.set_text(_("Download rate: %s/s - %s remaining" % (apt_pkg.SizeToStr(self.currentCPS), apt_pkg.TimeToStr(self.eta)))) - else: - self.status.set_text(_("Download rate: unkown")) - self.progress.set_fraction(self.percent/100.0) currentItem = self.currentItems + 1 if currentItem > self.totalItems: currentItem = self.totalItems - self.progress.set_text(_("Downloading file %li of %li" % (currentItem, self.totalItems))) - while gtk.events_pending(): - gtk.main_iteration() + if self.currentCPS > 0: + statusText = (_("Downloading file %li of %li with %s/s" + % (currentItem, self.totalItems, + apt_pkg.SizeToStr(self.currentCPS)))) + else: + statusText = (_("Downloading file %li of %li with unknown " + "speed") % (currentItem, self.totalItems)) + self.progress.set_fraction(self.percent/100.0) + self.status.set_markup("<i>%s</i>" % statusText) + # TRANSLATORS: show the remaining time in a progress bar: + #self.progress.set_text(_("About %s left" % (apt_pkg.TimeToStr(self.eta)))) + # FIXME: show remaining time + self.progress.set_text("") + + while gtk.events_pending(): + gtk.main_iteration() return self._continue |
