1
2
3
4
5
6
7 from up2date_client.gtk_compat import gtk, setCursor
8
11 glade_prefix = "/usr/share/rhn/up2date_client/"
12
13 self.xml = gtk.glade.XML(glade_prefix + "progress.glade", "progressWindow",
14 domain="rhn-client-tools")
15 self.progressWindow = self.xml.get_widget("progressWindow")
16 self.progressWindow.connect("delete-event", self.progressWindow.hide)
17
18 setCursor(self.progressWindow, gtk.CURSOR_WATCH)
19
20 self.lastProgress = 0.0
21
23 self.progressWindow.hide()
24 while gtk.events_pending():
25 gtk.main_iteration_do(False)
26
27 del self
28
30 label = self.xml.get_widget("progressLabel")
31 label.set_text(text)
32 while gtk.events_pending():
33 gtk.main_iteration_do(False)
34
35
36
37 - def setProgress(self, amount, total, speed = 0, secs = 0):
38 if total:
39 i = float(amount) / total
40 else:
41 i = 1
42
43 if i > 1:
44 i = 1
45 if i > self.lastProgress + .01 or i == 1:
46 self.xml.get_widget("progressBar").set_fraction(i)
47 if i == 1:
48
49 i = 0
50
51 while gtk.events_pending():
52 gtk.main_iteration_do(False)
53 self.lastProgress = i
54
56 self.xml.get_widget("statusLabel").set_text(text)
57 while gtk.events_pending():
58 gtk.main_iteration_do(False)
59
61 while gtk.events_pending():
62 gtk.main_iteration_do(False)
63
64 self.progressWindow.destroy()
65
66 - def noop(self, win, event):
68