summaryrefslogtreecommitdiff
path: root/UpdateManager
diff options
context:
space:
mode:
Diffstat (limited to 'UpdateManager')
-rw-r--r--UpdateManager/GtkProgress.py22
-rw-r--r--UpdateManager/UpdateManager.py25
2 files changed, 33 insertions, 14 deletions
diff --git a/UpdateManager/GtkProgress.py b/UpdateManager/GtkProgress.py
index d25149e4..025858e3 100644
--- a/UpdateManager/GtkProgress.py
+++ b/UpdateManager/GtkProgress.py
@@ -27,7 +27,7 @@ import apt_pkg
from gettext import gettext as _
class GtkOpProgress(apt.OpProgress):
- def __init__(self, window,progressbar, parent):
+ def __init__(self, window, progressbar, parent):
self._parent = parent
self._window = window
self._progressbar = progressbar
@@ -37,11 +37,13 @@ class GtkOpProgress(apt.OpProgress):
#print self.Op
#print self.SubOp
self._window.show()
+ self._parent.set_sensitive(False)
self._progressbar.set_text(self.op)
self._progressbar.set_fraction(percent/100.0)
while gtk.events_pending():
gtk.main_iteration()
def done(self):
+ self._parent.set_sensitive(True)
self._window.hide()
class GtkFetchProgress(apt.progress.FetchProgress):
@@ -59,7 +61,6 @@ 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.window_fetch.show()
@@ -69,15 +70,20 @@ class GtkFetchProgress(apt.progress.FetchProgress):
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)))
+ if self.currentCPS > 0:
+ self.status.set_text(_("Downloading file %li of %li with %s/s"
+ % (currentItem, self.totalItems,
+ apt_pkg.SizeToStr(self.currentCPS))))
+ else:
+ self.status.set_text(_("Downloading file %li of %li with unknown "
+ "speed") % (currentItem, self.totalItems))
+ self.progress.set_fraction(self.percent/100.0)
+# self.progress.set_text(_("Time remaining %s" % (apt_pkg.TimeToStr(self.eta))))
+ self.progress.set_text(_("Time remaining"))
+
while gtk.events_pending():
gtk.main_iteration()
return self._continue
diff --git a/UpdateManager/UpdateManager.py b/UpdateManager/UpdateManager.py
index d2c2bc54..89f4989e 100644
--- a/UpdateManager/UpdateManager.py
+++ b/UpdateManager/UpdateManager.py
@@ -213,12 +213,13 @@ class UpdateList:
class UpdateManager(SimpleGladeApp):
def __init__(self, datadir):
-
+
self.datadir = datadir
SimpleGladeApp.__init__(self, datadir+"glade/UpdateManager.glade",
None, domain="update-manager")
self.gnome_program = gnome.init("update-manager", "0.41")
+
self.packages = []
self.dl_size = 0
@@ -281,7 +282,7 @@ class UpdateManager(SimpleGladeApp):
self.gconfclient = gconf.client_get_default()
# restore state
self.restore_state()
-
+
def set_changes_buffer(self, changes_buffer, text, name, srcpkg):
changes_buffer.set_text("")
@@ -342,7 +343,6 @@ class UpdateManager(SimpleGladeApp):
self.set_changes_buffer(changes_buffer, changes[0], name, changes[1])
else:
if self.expander_details.get_expanded():
- self.treeview_update.set_sensitive(False)
self.hbox_footer.set_sensitive(False)
lock = thread.allocate_lock()
lock.acquire()
@@ -360,7 +360,6 @@ class UpdateManager(SimpleGladeApp):
# download finished (or canceld, or time-out)
button.hide()
button.disconnect(id);
- self.treeview_update.set_sensitive(True)
self.hbox_footer.set_sensitive(True)
if self.cache.all_changes.has_key(name):
@@ -391,7 +390,7 @@ class UpdateManager(SimpleGladeApp):
text_download = ""
self.expander_details.set_sensitive(False)
self.treeview_update.set_sensitive(False)
- self.label_downsize.hide()
+ self.label_downsize.set_text=""
self.button_cancel.grab_default()
else:
text_header = "<big><b>"+gettext.ngettext("You can install one update", "You can install %s updates" % len(self.store), len(self.store))+"</b></big>"
@@ -399,8 +398,8 @@ class UpdateManager(SimpleGladeApp):
text_download = _("Download size: %s" % apt_pkg.SizeToStr(self.dl_size))
self.expander_details.set_sensitive(True)
self.treeview_update.set_sensitive(True)
- self.label_downsize.show()
self.button_install.grab_default()
+
self.label_header.set_markup(text_header)
self.label_downsize.set_markup(text_download)
@@ -863,6 +862,19 @@ class UpdateManager(SimpleGladeApp):
self.cache._depcache.ReadPinFile(SYNAPTIC_PINFILE)
self.cache._depcache.Init()
+
+ def check_auto_update(self):
+ # Check if automatic update is enabled. If not show a dialog to inform
+ # the user about the need of manual "reloads"
+ update_days = apt_pkg.Config.FindI("APT::Periodic::Update-Package-Lists")
+ if update_days < 1:
+ self.dialog_manual_update.set_transient_for(self.window_main)
+ res = self.dialog_manual_update.run()
+ self.dialog_manual_update.hide()
+ if res == gtk.RESPONSE_YES:
+ self.on_button_reload_clicked(None)
+
+
def main(self):
self.meta = MetaRelease()
self.meta.connect("new_dist_available",self.new_dist_available)
@@ -875,4 +887,5 @@ class UpdateManager(SimpleGladeApp):
gtk.main_iteration()
self.fillstore()
+ self.check_auto_update()
gtk.main()