~kelemeng/software-center/bug953812

« back to all changes in this revision

Viewing changes to softwarecenter/ui/gtk3/widgets/animatedimage.py

  • Committer: Anthony Lenton
  • Date: 2012-03-12 12:43:52 UTC
  • mto: This revision was merged to the branch mainline in revision 2844.
  • Revision ID: anthony.lenton@canonical.com-20120312124352-nib8p2kkvvnaqea0
Made the pep8 test pass on three more files in softwarecenter/ui/gtk3/widgets/

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
 
25
25
class ProgressImage(Gtk.Image):
26
26
 
27
 
    ANIMATION_PATH = "/usr/share/icons/hicolor/24x24/status/softwarecenter-progress.png"
28
 
    FRAME_DELAY = 50 # msec
 
27
    ANIMATION_PATH = ("/usr/share/icons/hicolor/24x24/status/"
 
28
        "softwarecenter-progress.png")
 
29
    FRAME_DELAY = 50  # msec
29
30
 
30
31
    BUBBLE_BORDER_RADIUS = 6
31
32
    BUBBLE_XPADDING = 4
55
56
        # a Pango.Layout for rendering the transaction count
56
57
        layout = self.create_pango_layout("")
57
58
        self.connect("draw", self.on_draw, layout)
58
 
        return
59
59
 
60
60
    # overrides
61
61
    def do_get_preferred_width(self):
70
70
        x = i * self.h_stride
71
71
        y = j * self.v_stride
72
72
 
73
 
        if (i,j) in self._frame_cache:
74
 
            self.frame = self._frame_cache[(i,j)]
 
73
        if (i, j) in self._frame_cache:
 
74
            self.frame = self._frame_cache[(i, j)]
75
75
        else:
76
76
            self.frame = GdkPixbuf.Pixbuf.new_subpixbuf(self.pixbuf,
77
77
                                                        x, y,
78
78
                                                        self.h_stride,
79
79
                                                        self.v_stride)
80
 
            self._frame_cache[(i,j)] = self.frame
 
80
            self._frame_cache[(i, j)] = self.frame
81
81
 
82
 
        if i < self.col_count-1:
 
82
        if i < self.col_count - 1:
83
83
            i += 1
84
84
        else:
85
85
            i = 0
86
 
            if j < self.row_count-1:
 
86
            if j < self.row_count - 1:
87
87
                j += 1
88
88
            else:
89
89
                j = 0
102
102
                                                    x, y,
103
103
                                                    self.h_stride,
104
104
                                                    self.v_stride)
105
 
        self._frame_cache[(i,j)] = self.frame
 
105
        self._frame_cache[(i, j)] = self.frame
106
106
        return self.frame
107
107
 
108
108
    def set_transaction_count(self, transaction_count):
109
109
        self.transaction_count = transaction_count
110
110
        self.queue_draw()
111
 
        return
112
111
 
113
112
    def on_draw(self, widget, cr, layout):
114
113
        a = widget.get_allocation()
117
116
        y = (a.height - self.v_stride) * 0.5
118
117
        Gdk.cairo_set_source_pixbuf(cr, self.frame, x, y)
119
118
        cr.paint()
120
 
        if self.transaction_count <= 0: return
 
119
        if self.transaction_count <= 0:
 
120
            return
121
121
        # paint a bubble with the transaction count
122
122
        layout.set_markup('<small>%i</small>' % self.transaction_count, -1)
123
123
        # determine bubble size
129
129
        x += self.h_stride + self.BUBBLE_XPADDING
130
130
        y += (self.v_stride - height) / 2
131
131
        rounded_rect(cr, x, y, width, height, self.BUBBLE_BORDER_RADIUS)
132
 
        cr.set_source_rgba(0,0,0,0.2)
 
132
        cr.set_source_rgba(0, 0, 0, 0.2)
133
133
        cr.fill()
134
134
        Gtk.render_layout(context, cr,
135
135
                          x + self.BUBBLE_XPADDING,
136
136
                          y + self.BUBBLE_YPADDING,
137
137
                          layout)
138
 
        return
139
138
 
140
139
    def is_playing(self):
141
140
        return self.handler is not None
142
141
 
143
142
    def start(self):
144
 
        if self.is_playing(): return
 
143
        if self.is_playing():
 
144
            return
145
145
        self.position = (0, 0)
146
146
        self.handler = GObject.timeout_add(self.FRAME_DELAY,
147
147
                                           self.on_new_frame)
148
 
        return
149
148
 
150
149
    def stop(self):
151
150
        if self.handler:
154
153
 
155
154
        self.position = (0, 0)
156
155
        self.queue_draw()
157
 
        return