/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to ui.py

  • Committer: Jelmer Vernooij
  • Date: 2007-07-15 15:05:06 UTC
  • Revision ID: jelmer@samba.org-20070715150506-1uemecr5kt7d4kvg
Fix whitespace, add comment.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# Copyright (C) 2006 Szilveszter Farkas <szilveszter.farkas@gmail.com>
2
 
# Copyright (C) 2007 Jelmer Vernooij <jelmer@samba.org>
3
2
 
4
3
# This program is free software; you can redistribute it and/or modify
5
4
# it under the terms of the GNU General Public License as published by
36
35
        
37
36
        self.vbox.show_all()
38
37
 
39
 
        self.add_buttons(gtk.STOCK_YES, gtk.RESPONSE_YES, gtk.STOCK_NO, 
40
 
                         gtk.RESPONSE_NO)
 
38
        self.add_buttons(gtk.STOCK_YES, gtk.RESPONSE_YES, gtk.STOCK_NO, gtk.RESPONSE_NO)
41
39
 
42
40
 
43
41
class GtkProgressBar(gtk.ProgressBar):
45
43
        super(GtkProgressBar, self).__init__()
46
44
        self.set_fraction(0.0)
47
45
        self._stack = stack
48
 
        self.current = None
49
 
        self.total = None
50
46
 
51
47
    def finished(self):
52
48
        self._stack.remove(self)
58
54
        self.pulse()
59
55
 
60
56
    def update(self, msg=None, current=None, total=None):
61
 
        if current:
62
 
            self.current = current
63
 
        if total:
64
 
            self.total = total
65
57
        if msg is not None:
66
58
            self.set_text(msg)
67
 
        if None not in (self.current, self.total):
68
 
            self.set_fraction(1.0 * self.current / self.total)
 
59
        self.set_fraction(1.0 * current / total)
69
60
        while gtk.events_pending():
70
61
            gtk.main_iteration()
71
62
 
72
63
 
73
 
class GtkWindowProgressBarStack(gtk.Window):
 
64
class GtkProgressBarStack(gtk.Window):
74
65
    def __init__(self):
75
 
        super(GtkWindowProgressBarStack, self).__init__(type=gtk.WINDOW_TOPLEVEL)
 
66
        super(GtkProgressBarStack, self).__init__(type=gtk.WINDOW_TOPLEVEL)
76
67
        self.set_border_width(0)
77
68
        self.set_title("Progress")
78
69
        self.set_position(gtk.WIN_POS_CENTER_ALWAYS)
92
83
 
93
84
    def remove(self, pb):
94
85
        self.vbox.remove(pb)
95
 
        if len(self.vbox.get_children()) == 0: # If there is nothing to show, don't leave a ghost window here
96
 
             self.destroy()
97
86
 
98
87
 
99
88
class PasswordDialog(gtk.Dialog):
128
117
 
129
118
        """
130
119
        super(GtkUIFactory, self).__init__()
 
120
        if stdout is None:
 
121
            self.stdout = sys.stdout
 
122
        else:
 
123
            self.stdout = stdout
 
124
        if stderr is None:
 
125
            self.stderr = sys.stderr
 
126
        else:
 
127
            self.stderr = stderr
131
128
        self._progress_bar_stack = None
132
129
 
133
130
    def get_boolean(self, prompt):
160
157
        """Return a nested progress bar.
161
158
        """
162
159
        if self._progress_bar_stack is None:
163
 
            self._progress_bar_stack = GtkWindowProgressBarStack()
 
160
            self._progress_bar_stack = GtkProgressBarStack()
164
161
        return self._progress_bar_stack.get_nested()
165
162
 
166
163
    def set_progress_bar_vbox(self, vbox):