mcabber/mcabber/screen.c
changeset 2280 f1eebfdd6db7
parent 2268 f5402d705f67
child 2281 1bb9002801e5
equal deleted inserted replaced
2279:f1f24ee1edfc 2280:f1eebfdd6db7
  2156   for (i=0; i<maxy && buddy; buddy = g_list_next(buddy)) {
  2156   for (i=0; i<maxy && buddy; buddy = g_list_next(buddy)) {
  2157     unsigned short bflags, btype;
  2157     unsigned short bflags, btype;
  2158     unsigned short ismsg, isgrp, ismuc, ishid, isspe;
  2158     unsigned short ismsg, isgrp, ismuc, ishid, isspe;
  2159     guint isurg;
  2159     guint isurg;
  2160     gchar *rline_locale;
  2160     gchar *rline_locale;
  2161     GSList *resources, *p_res;
       
  2162 
  2161 
  2163     bflags = buddy_getflags(BUDDATA(buddy));
  2162     bflags = buddy_getflags(BUDDATA(buddy));
  2164     btype = buddy_gettype(BUDDATA(buddy));
  2163     btype = buddy_gettype(BUDDATA(buddy));
  2165 
  2164 
  2166     ismsg = bflags & ROSTER_FLAG_MSG;
  2165     ismsg = bflags & ROSTER_FLAG_MSG;
  2176     }
  2175     }
  2177 
  2176 
  2178     status = '?';
  2177     status = '?';
  2179     pending = ' ';
  2178     pending = ' ';
  2180 
  2179 
  2181     resources = buddy_getresources(BUDDATA(buddy));
  2180     if (!ismuc) {
  2182     for (p_res = resources ; p_res ; p_res = g_slist_next(p_res)) {
  2181       // There is currently no chat state support for MUC
  2183       guint events = buddy_resource_getevents(BUDDATA(buddy),
  2182       GSList *resources = buddy_getresources(BUDDATA(buddy));
  2184                                               p_res ? p_res->data : "");
  2183       GSList *p_res;
  2185       if ((events & ROSTER_EVENT_PAUSED) && pending != '+')
  2184 
  2186         pending = '.';
  2185       for (p_res = resources ; p_res ; p_res = g_slist_next(p_res)) {
  2187       if (events & ROSTER_EVENT_COMPOSING)
  2186         guint events = buddy_resource_getevents(BUDDATA(buddy),
  2188         pending = '+';
  2187                                                 p_res ? p_res->data : "");
  2189       g_free(p_res->data);
  2188         if ((events & ROSTER_EVENT_PAUSED) && pending != '+')
  2190     }
  2189           pending = '.';
  2191     g_slist_free(resources);
  2190         if (events & ROSTER_EVENT_COMPOSING)
       
  2191           pending = '+';
       
  2192         g_free(p_res->data);
       
  2193       }
       
  2194       g_slist_free(resources);
       
  2195     }
  2192 
  2196 
  2193     // Display message notice if there is a message flag, but not
  2197     // Display message notice if there is a message flag, but not
  2194     // for unfolded groups.
  2198     // for unfolded groups.
  2195     if (ismsg && (!isgrp || ishid)) {
  2199     if (ismsg && (!isgrp || ishid)) {
  2196       pending = '#';
  2200       pending = '#';