diff options
author | Jeremy Katz <katzj@redhat.com> | 2003-10-02 01:15:40 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2003-10-02 01:15:40 +0000 |
commit | d9788a5bca8558fb06fc29c6ac6139b5110e5e63 (patch) | |
tree | 4663e6fd84c315a5a3b06742287ac8a12b67f509 | |
parent | 11faa4b6e25da0b62e0b7a5697868995823e81e7 (diff) | |
download | anaconda-d9788a5bca8558fb06fc29c6ac6139b5110e5e63.tar.gz anaconda-d9788a5bca8558fb06fc29c6ac6139b5110e5e63.tar.xz anaconda-d9788a5bca8558fb06fc29c6ac6139b5110e5e63.zip |
fix shadow on frame, nuke white background
make display of package name and summary a little bit nicer, make the size
human readable
-rw-r--r-- | iw/progress_gui.py | 86 |
1 files changed, 44 insertions, 42 deletions
diff --git a/iw/progress_gui.py b/iw/progress_gui.py index 17d0c8b00..a39012598 100644 --- a/iw/progress_gui.py +++ b/iw/progress_gui.py @@ -19,12 +19,28 @@ import sys import timer import gobject import gtk +import locale from iw_gui import * from rhpl.translate import _, N_ from packages import doInstall from constants import * from rhpl.log import log +# FIXME: from redhat-config-packages. perhaps move to common location +def size_string (size): + if size > 1024 * 1024: + size = size / (1024*1024) + units_str = _(" MB") + elif size > 1024: + size = size / 1024 + units_str = _(" KB") + else: + if size == 1: + units_str = _(" Byte") + else: + units_str = _(" Bytes") + return locale.format ("%s", size, 1) + units_str + class InstallProgressWindow_NEW (InstallWindow): windowTitle = N_("Installing Packages") @@ -44,17 +60,6 @@ class InstallProgressWindow_NEW (InstallWindow): def processEvents(self): gui.processEvents() - def setPackageStatus(self, state, amount): - if self.pkgstatus is None: - return - - if state == "downloading": - msgstr = _("Downloading - %s") % (amount,) - else: - msgstr = state - self.pkgstatus.set_text(msgstr) - self.processEvents() - def setPackageScale (self, amount, total): # only update widget if we've changed by 5%, otherwise # we update widget hundreds of times a seconds because RPM @@ -98,6 +103,17 @@ class InstallProgressWindow_NEW (InstallWindow): return + def setPackageStatus(self, state, amount): + if self.pkgstatus is None: + return + + if state == "downloading": + self.pkgstatus = N_("Downloading %s") + else: + self.pkgstatus = state + self.pkgstatus.set_text(msgstr) + self.processEvents() + def setPackage(self, header): if len(self.pixmaps): # set to switch every N seconds @@ -121,14 +137,13 @@ class InstallProgressWindow_NEW (InstallWindow): self.pixcurnum = num + 1 self.pixtimer.reset() - size = str (header[rpm.RPMTAG_SIZE] / 1024) - if len (size) > 3: - size = size [0:len(size) - 3] + ',' + size[len(size) - 3:] - - self.curPackage["package"].set_text ("%s-%s-%s.%s (%s KBytes)" % (header[rpm.RPMTAG_NAME], - header[rpm.RPMTAG_VERSION], - header[rpm.RPMTAG_RELEASE], - header[rpm.RPMTAG_ARCH], size)) + size = size_string(header[rpm.RPMTAG_SIZE]) + self.curPackage["package"].set_text (_("Installing %s-%s-%s.%s (%s)") + % (header[rpm.RPMTAG_NAME], + header[rpm.RPMTAG_VERSION], + header[rpm.RPMTAG_RELEASE], + header[rpm.RPMTAG_ARCH], + size)) summary = header[rpm.RPMTAG_SUMMARY] if (summary == None): @@ -211,10 +226,9 @@ class InstallProgressWindow_NEW (InstallWindow): pix = self.ics.readPixmap ("progress_first.png") if pix: frame = gtk.Frame() -# frame.set_shadow_type(gtk.SHADOW_IN) + frame.set_shadow_type(gtk.SHADOW_NONE) box = gtk.EventBox() self.adpix = pix - box.modify_bg(gtk.STATE_NORMAL, box.get_style().white) box.add(self.adpix) self.adbox = box frame.add (box) @@ -225,9 +239,6 @@ class InstallProgressWindow_NEW (InstallWindow): self.totalProgress = gtk.ProgressBar () progressTable = gtk.Table (2, 2, gtk.FALSE) -# label = gtk.Label (_("Total Progress: ")) -# label.set_alignment (1.0, 0.5) -# progressTable.attach (label, 0, 1, 0, 1, gtk.SHRINK) progressTable.attach (self.totalProgress, 1, 2, 0, 1, ypadding=2) # label = gtk.Label (_("Package Progress: ")) @@ -238,35 +249,26 @@ class InstallProgressWindow_NEW (InstallWindow): vbox.pack_start (progressTable, gtk.FALSE) # Create table for current package info - table = gtk.Table (3, 2) + table = gtk.Table (3, 1) vbox.pack_start (table, gtk.FALSE, gtk.FALSE) -# self.curPackage = { "package" : _("Package"), -# "size" : _("Size"), -# "summary" : _("Summary") } - self.curPackage = { "package" : _("Package"), "summary" : _("Summary") } i = 0 # for key in ("package", "size", "summary"): for key in ("package", "summary"): - label = gtk.Label ("%s: " % (self.curPackage[key],)) - label.set_alignment (0, 0) - if key == "summary": - fillopts = gtk.EXPAND|gtk.FILL - else: - fillopts = gtk.FILL - - table.attach (label, 0, 1, i, i+1, gtk.FILL, fillopts) label = gtk.Label ("") label.set_alignment (0, 0) label.set_line_wrap (gtk.TRUE) if key == "summary": label.set_text ("\n\n") label.set_size_request(450, 35) -# label.set_size_request(-1, 1) + fillopts = gtk.EXPAND|gtk.FILL + else: + fillopts = gtk.FILL + self.curPackage[key] = label - table.attach (label, 1, 2, i, i+1, gtk.FILL, fillopts) + table.attach (label, 0, 1, i, i+1, gtk.FILL, fillopts) i = i + 1 statusflag = 0 @@ -277,7 +279,7 @@ class InstallProgressWindow_NEW (InstallWindow): # FIXME: including the status makes the rnotes different sizes which # is bad. temporarily disable download status for now -# statusflag = 0 + statusflag = 0 if statusflag: statusTable = gtk.Table (2, 2, gtk.FALSE) @@ -419,14 +421,14 @@ class InstallProgressWindow (InstallWindow): self.pixcurnum = num + 1 self.pixtimer.reset() - self.curPackage["package"].set_text ("%s-%s-%s.%s" % (header[rpm.RPMTAG_NAME], + self.curPackage["package"].set_text (_("Installing %s-%s-%s.%s") % (header[rpm.RPMTAG_NAME], header[rpm.RPMTAG_VERSION], header[rpm.RPMTAG_RELEASE], header[rpm.RPMTAG_ARCH])) size = str (header[rpm.RPMTAG_SIZE] / 1024) if len (size) > 3: size = size [0:len(size) - 3] + ',' + size[len(size) - 3:] - self.curPackage["size"].set_text (_("%s KBytes") % size) + self.curPackage["size"].set_text (size) summary = header[rpm.RPMTAG_SUMMARY] if (summary == None): summary = "(none)" |