home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / lib / python2.4 / site-packages / AppInstall / Progress.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2006-08-31  |  1.7 KB  |  50 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. import apt
  5. import apt_pkg
  6. import gtk
  7. STEPS_UPDATE_CACHE = [
  8.     12,
  9.     25,
  10.     37,
  11.     50,
  12.     100]
  13.  
  14. class GtkOpProgressWindow(apt.progress.OpProgress):
  15.     
  16.     def __init__(self, glade, parent, steps = STEPS_UPDATE_CACHE):
  17.         self.steps = steps[:]
  18.         self.base = 0
  19.         self.old = 0
  20.         self.next = int(self.steps.pop(0))
  21.         self.window_progress = glade.get_widget('window_progress')
  22.         self.progressbar_cache = glade.get_widget('progressbar_cache')
  23.         self.label_action = glade.get_widget('label_action')
  24.         self.window_progress.realize()
  25.         self.window_progress.window.set_functions(gtk.gdk.FUNC_MOVE)
  26.         self.window_progress.set_transient_for(parent)
  27.  
  28.     
  29.     def update(self, percent):
  30.         self.window_progress.show()
  31.         if self.old > percent:
  32.             self.base = self.next
  33.             
  34.             try:
  35.                 self.next = int(self.steps.pop(0))
  36.  
  37.         
  38.         progress = self.base + (percent / 100) * (self.next - self.base)
  39.         self.old = percent
  40.         self.progressbar_cache.set_fraction(progress / 100)
  41.         self.label_action.set_markup('<i>' + '%s' % self.subOp + '</i>')
  42.         while gtk.events_pending():
  43.             gtk.main_iteration()
  44.  
  45.     
  46.     def __del__(self):
  47.         self.window_progress.hide()
  48.  
  49.  
  50.