summaryrefslogtreecommitdiffstats
path: root/src/gui/CellRendererContact.vala
blob: d7d930966eb7eacbf2a917e8b9b02c487dbdeb8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class CellRendererContact : Gtk.CellRendererText {
  private Object _data;
  
  public Object data {
    get {
      return _data;
    }
    set {
      _data = value;
      
      if(_data is Contact) {
        Contact contact = _data as Contact;
        
        string str = Markup.escape_text(contact.display_string);
      
        Gee.Map.Entry<string, Contact.Resource> res = contact.get_resource_with_highest_priority();
        if(res != null && res.value.status != null) {
          str += "\n<span size=\"small\" fgcolor=\"grey40\" style=\"italic\">" + Markup.escape_text(res.value.status) + "</span>";
        }
      
        markup = str;
      }
      else if(_data is String) {
        markup = Markup.escape_text((_data as String).data);
      }
    }
  }
  
  public CellRendererContact() {
    ellipsize = Pango.EllipsizeMode.END;
  }
}