mcabber/buddies.c
changeset 10 3489a75cb115
parent 9 455ab6bc14ac
child 13 4c3d7b8a29c4
equal deleted inserted replaced
9:455ab6bc14ac 10:3489a75cb115
   216   int i = 1;
   216   int i = 1;
   217   int n;
   217   int n;
   218   int maxx, maxy;
   218   int maxx, maxy;
   219   int fakeOffset = buddyOffset;
   219   int fakeOffset = buddyOffset;
   220 
   220 
   221   keypad(win, TRUE);
       
   222   getmaxyx(win, maxy, maxx);
   221   getmaxyx(win, maxy, maxx);
   223 
   222 
   224 
   223 
   225   /* cleanup of roster window */
   224   /* cleanup of roster window */
   226   wattrset(win, COLOR_PAIR(COLOR_GENERAL));
   225   wattrset(win, COLOR_PAIR(COLOR_GENERAL));
   231   }
   230   }
   232 
   231 
   233   i = 1;
   232   i = 1;
   234   list_for_each_safe(pos, nn, &buddy_list) {
   233   list_for_each_safe(pos, nn, &buddy_list) {
   235 
   234 
       
   235     char status = '?';
       
   236 
   236     if (fakeOffset > 0) {
   237     if (fakeOffset > 0) {
   237       fakeOffset--;
   238       fakeOffset--;
   238       continue;
   239       continue;
   239     }
   240     }
   240 
   241 
   241     tmp = buddy_entry(pos);
   242     tmp = buddy_entry(pos);
   242 
   243 
   243     if ((tmp->flags && FLAG_BUDDY_CONNECTED) == 1) {
   244     if ((tmp->flags && FLAG_BUDDY_CONNECTED) == 1) {
       
   245       status = 'o';
   244       if (i == (buddySelected - buddyOffset))
   246       if (i == (buddySelected - buddyOffset))
   245 	wattrset(win, COLOR_PAIR(COLOR_BD_CONSEL));
   247 	wattrset(win, COLOR_PAIR(COLOR_BD_CONSEL));
   246       else
   248       else
   247 	wattrset(win, COLOR_PAIR(COLOR_BD_CON));
   249 	wattrset(win, COLOR_PAIR(COLOR_BD_CON));
   248     } else {
   250     } else {
   252 	wattrset(win, COLOR_PAIR(COLOR_BD_DES));
   254 	wattrset(win, COLOR_PAIR(COLOR_BD_DES));
   253     }
   255     }
   254     mvwprintw(win, i, 1, "");
   256     mvwprintw(win, i, 1, "");
   255     for (n = 2; n < maxx; n++)
   257     for (n = 2; n < maxx; n++)
   256       waddch(win, ' ');
   258       waddch(win, ' ');
   257     mvwprintw(win, i, (maxx - strlen(tmp->name)) / 2, "%s", tmp->name);
   259     //mvwprintw(win, i, (maxx - strlen(tmp->name)) / 2, "%s", tmp->name);
       
   260     mvwprintw(win, i, 1, " .[%c] %.12s", status, tmp->name);
   258     i++;
   261     i++;
   259     if (i >= maxy - 1)
   262     if (i >= maxy - 1)
   260       break;
   263       break;
   261   }
   264   }
   262   update_panels();
   265   update_panels();