diff --git a/mitterlib/ui/ui_pygtk.py b/mitterlib/ui/ui_pygtk.py index 7727ae8..d1205e2 100644 --- a/mitterlib/ui/ui_pygtk.py +++ b/mitterlib/ui/ui_pygtk.py @@ -1029,18 +1029,11 @@ class Interface(object): def _create_grid(self): """Add the displaying grid.""" - self.grid_store = gtk.ListStore( - str, - str, - str, - str, - str, - object, - object) - - self.grid_store.set_sort_func(Columns.DATETIME, self._sort_by_time) - self.grid_store.set_sort_column_id(Columns.DATETIME, - gtk.SORT_DESCENDING) + self.grid_store = gtk.ListStore(object) + # Trying to store the NetworkData object only + + self.grid_store.set_sort_func(0, self._sort_by_time) + self.grid_store.set_sort_column_id(0, gtk.SORT_DESCENDING) self.grid = gtk.TreeView(self.grid_store) self.grid.set_property('headers-visible', False) @@ -1220,7 +1213,8 @@ class Interface(object): """Callback for the user column. Used to created the pixbuf of the userpic.""" - pic = store.get_value(position, Columns.PIC) + data = store.get_value(position, 0) + pic = data.avatar if not pic in self._user_pics: cell.set_property('pixbuf', self._default_pixmap) @@ -1236,12 +1230,12 @@ class Interface(object): property of the cell, as setting it as text won't do any markup processing.""" - user = store.get_value(position, Columns.NAME) - message = store.get_value(position, Columns.MESSAGE) - time = store.get_value(position, Columns.DATETIME) - username = store.get_value(position, Columns.USERNAME) + data = store.get_value(position, 0) + + message = data.message + username = data.username - time = timesince.timesince(time) + time = timesince.timesince(data.message_time) # unescape escaped entities that pango is okay with message = re.sub(r'&(?!(amp;|gt;|lt;|quot;|apos;))', r'&', message) @@ -1256,7 +1250,7 @@ class Interface(object): message) markup = '%s (%s):\n%s\n%s' % \ - (user, username, message, time) + (data.name, username, message, time) cell.set_property('markup', markup) return