From 3661b29dc3efab4f62ce386e763e5829b740f572 Mon Sep 17 00:00:00 2001
From: "glatzor@ubuntu.com" <>
Date: Thu, 10 Aug 2006 12:36:00 +0200
Subject: * Convert the download size to a nice and well readalbe unit
---
UpdateManager/UpdateManager.py | 28 +++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)
(limited to 'UpdateManager')
diff --git a/UpdateManager/UpdateManager.py b/UpdateManager/UpdateManager.py
index 7ba9f934..e551d8f4 100644
--- a/UpdateManager/UpdateManager.py
+++ b/UpdateManager/UpdateManager.py
@@ -43,6 +43,7 @@ import os
import os.path
import urllib2
import re
+import locale
import tempfile
import pango
import subprocess
@@ -589,14 +590,31 @@ class UpdateManager(SimpleGladeApp):
self.remove_update(pkg)
iter = self.store.iter_next(iter)
+ def humanize_size(self, bytes):
+ """
+ Convert a given size in bytes to a nicer better readable unit
+ """
+ if bytes == 0:
+ # TRANSLATORS: download size is 0
+ return _("None")
+ elif bytes < 1024:
+ # TRANSLATORS: download size of very small updates
+ return _("1 KB")
+ elif bytes < 1024 * 1024:
+ # TRANSLATORS: download size of small updates, e.g. "250 KB"
+ return locale.format(_("%.0f KB"), bytes/1024)
+ else:
+ # TRANSLATORS: download size of updates, e.g. "2.3 MB"
+ return locale.format(_("%.1f MB"), bytes / 1024 / 1024)
+
def remove_update(self, pkg):
name = pkg.name
if name in self.packages:
self.packages.remove(name)
self.dl_size -= pkg.packageSize
# TRANSLATORS: b stands for Bytes
- self.label_downsize.set_markup(_("Download size: %sb" % \
- apt_pkg.SizeToStr(self.dl_size)))
+ self.label_downsize.set_markup(_("Download size: %s" % \
+ self.humanize_size(self.dl_size)))
if len(self.packages) == 0:
self.button_install.set_sensitive(False)
@@ -606,7 +624,7 @@ class UpdateManager(SimpleGladeApp):
self.packages.append(name)
self.dl_size += pkg.packageSize
self.label_downsize.set_markup(_("Download size: %s" % \
- apt_pkg.SizeToStr(self.dl_size)))
+ self.humanize_size(self.dl_size)))
if len(self.packages) > 0:
self.button_install.set_sensitive(True)
@@ -629,7 +647,7 @@ class UpdateManager(SimpleGladeApp):
"You can install %s updates",
self.list.num_updates) % \
self.list.num_updates + ""
- text_download = _("Download size: %s") % apt_pkg.SizeToStr(self.dl_size)
+ text_download = _("Download size: %s") % self.humanize_size(self.dl_size)
self.notebook_details.set_sensitive(True)
self.treeview_update.set_sensitive(True)
self.button_install.grab_default()
@@ -781,7 +799,7 @@ class UpdateManager(SimpleGladeApp):
else:
contents += _("Version %s") % pkg.candidateVersion
#TRANSLATORS: the b stands for Bytes
- contents += " " + _("(Size: %sb)") % apt.SizeToStr(pkg.packageSize)
+ contents += " " + _("(Size: %s)") % self.humanize_size(pkg.packageSize)
contents += ""
iter = self.store.append([True, contents, pkg.name, pkg])
--
cgit v1.2.3
From a53e49c46faae31eccd7e65b8ffbcb91fbcaf18a Mon Sep 17 00:00:00 2001
From: "glatzor@ubuntu.com" <>
Date: Fri, 11 Aug 2006 16:47:33 +0200
Subject: * no need to convert the path to a string in call of toggled *
support row activation (pressing space) to toggle updates
---
UpdateManager/UpdateManager.py | 10 ++++++++--
data/glade/UpdateManager.glade | 1 +
2 files changed, 9 insertions(+), 2 deletions(-)
(limited to 'UpdateManager')
diff --git a/UpdateManager/UpdateManager.py b/UpdateManager/UpdateManager.py
index e551d8f4..78348e60 100644
--- a/UpdateManager/UpdateManager.py
+++ b/UpdateManager/UpdateManager.py
@@ -730,9 +730,9 @@ class UpdateManager(SimpleGladeApp):
self.window_main.set_sensitive(True)
self.window_main.window.set_cursor(None)
- def toggled(self, renderer, path_string):
+ def toggled(self, renderer, path):
""" a toggle button in the listview was toggled """
- iter = self.store.get_iter_from_string(path_string)
+ iter = self.store.get_iter(path)
if self.store.get_value(iter, LIST_INSTALL):
self.store.set_value(iter, LIST_INSTALL, False)
self.remove_update(self.store.get_value(iter, LIST_PKG))
@@ -740,6 +740,12 @@ class UpdateManager(SimpleGladeApp):
self.store.set_value(iter, LIST_INSTALL, True)
self.add_update(self.store.get_value(iter, LIST_PKG))
+ def on_treeview_update_row_activated(self, treeview, path, column, *args):
+ """
+ If an update row was activated (by pressing space), toggle the
+ install check box
+ """
+ self.toggled(None, path)
def exit(self):
""" exit the application, save the state """
diff --git a/data/glade/UpdateManager.glade b/data/glade/UpdateManager.glade
index 1221e78c..372be566 100644
--- a/data/glade/UpdateManager.glade
+++ b/data/glade/UpdateManager.glade
@@ -233,6 +233,7 @@
updates
+
--
cgit v1.2.3