/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 avatarsbox.py

  • Committer: Curtis Hovey
  • Date: 2011-08-01 20:28:54 UTC
  • mto: This revision was merged to the branch mainline in revision 741.
  • Revision ID: sinzui.is@verizon.net-20110801202854-eybt6inxyjg7shz6
Added a very rough fix to see gannontation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
 
from gi.repository import GObject
18
17
from gi.repository import Gtk
19
18
 
20
19
from bzrlib.config import parse_username
31
30
 
32
31
    def __init__(self, apparent_username):
33
32
        """ Constructor """
34
 
        GObject.GObject.__init__(self)
 
33
        Gtk.HBox.__init__(self)
35
34
 
36
35
        self.apparent_username = apparent_username
37
36
        self.username, self.email = parse_username(apparent_username)
39
38
 
40
39
    def __eq__(self, other):
41
40
        return (self.apparent_username == other.apparent_username and
42
 
                self.name == other.name and
 
41
                self.username == other.username and
43
42
                self.email == other.email)
44
43
 
45
44
    def show_spinner(self):
50
49
        """
51
50
        if self.email:
52
51
            tooltip = _i18n("Retrieving avatar for %s...") % self.email
53
 
            if getattr(gtk, "Spinner", False):
54
 
                spinner = Gtk.Spinner()
55
 
                spinner.start()
56
 
                self.pack_start(spinner, False)
57
 
                spinner.set_tooltip_text(tooltip)
58
 
                spinner.set_size_request(20, 20)
59
 
                spinner.show()
60
 
            else:
61
 
                spinner = Gtk.Label(label=tooltip)
62
 
                self.pack_start(spinner, True, True, 0)
63
 
                self.set_tooltip_text(self.apparent_username)
64
 
                spinner.show()
 
52
            spinner = Gtk.Spinner()
 
53
            spinner.start()
 
54
            self.pack_start(spinner, False, True, 0)
 
55
            spinner.set_tooltip_text(tooltip)
 
56
            spinner.set_size_request(20, 20)
 
57
            spinner.show()
65
58
        else:
66
59
            no_email = Gtk.Label(label=_i18n("No email"))
67
60
            self.pack_start(no_email, True, True, 0)
81
74
    """HBox showing an avatar."""
82
75
 
83
76
    def __init__(self, homogeneous=False, spacing=0):
84
 
        GObject.GObject.__init__(self, homogeneous, spacing)
 
77
        Gtk.HBox.__init__(self, homogeneous=homogeneous, spacing=spacing)
85
78
        self.__avatars = {}
86
79
        self.avatar = None
87
80
        self.__displaying = None
163
156
    """GTK container for author and committer avatars."""
164
157
 
165
158
    def __init__(self):
166
 
        GObject.GObject.__init__(self, False, 10)
 
159
        Gtk.HBox.__init__(self, homogeneous=False, spacing=10)
167
160
 
168
161
        self.__committer_box = None
169
162
        self.__authors_box = None
214
207
        # Committer
215
208
        self.__committer_box = AvatarBox()
216
209
        self.__committer_box.set_size_request(80, 80)
217
 
        self.pack_end(self.__committer_box, False)
 
210
        self.pack_end(self.__committer_box, False, True, 0)
218
211
        self.__committer_box.show()
219
212
        # Authors
220
213
        self.__authors_box = AvatarBox()
221
 
        self.pack_end(self.__authors_box, False)
 
214
        self.pack_end(self.__authors_box, False, True, 0)
222
215
        self.__authors_box.set_spacing(10)
223
216
        self.__authors_box.show()
224
217
 
228
221
        :param response: a urllib2.urlopen() return value.
229
222
        :param email: used to identify item from self.__avatars.
230
223
        """
231
 
        if email:
232
 
            # Convert downloaded image from provider to Gtk.Image
233
 
            loader = GdkPixbuf.PixbufLoader()
234
 
            loader.write(response.read())
235
 
            loader.close()
 
224
        # XXX sinzui 2011-08-01: This must be implemented in cairo
 
225
#        if email:
 
226
#            # Convert downloaded image from provider to Gtk.Image
 
227
#            loader = Gdk.GdkPixbuf.PixbufLoader()
 
228
#            loader.write(response.read())
 
229
#            loader.close()
236
230
 
237
 
            for role in ["committer", "author"]:
238
 
                self._role_box_for(role).and_avatar_email(email).update_avatar_image_from_pixbuf_loader(loader)
 
231
#            for role in ["committer", "author"]:
 
232
#                self._role_box_for(role).and_avatar_email(email).update_avatar_image_from_pixbuf_loader(loader)
239
233
 
240
234
    def _role_box_for(self, role):
241
235
        """ Return the Gtk.HBox for the given role """