Diffstat (limited to 'noncore/net/opieirc/ircchannellist.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/opieirc/ircchannellist.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/noncore/net/opieirc/ircchannellist.cpp b/noncore/net/opieirc/ircchannellist.cpp index 4e13dee..6bef318 100644 --- a/noncore/net/opieirc/ircchannellist.cpp +++ b/noncore/net/opieirc/ircchannellist.cpp @@ -13,18 +13,19 @@ void IRCChannelList::update() { clear(); for (; it.current(); ++it) { IRCChannelPerson *person = it.current(); if (person->flags & PERSON_FLAG_OP) { - insertItem(op, person->person->nick()); + insertItem(op, "1" + person->person->nick()); } else if (person->flags & PERSON_FLAG_HALFOP) { - insertItem(op, person->person->nick()); + insertItem(op, "2" + person->person->nick()); } else if (person->flags & PERSON_FLAG_VOICE) { - insertItem(voice, person->person->nick()); + insertItem(voice, "3" + person->person->nick()); } else { - insertItem(person->person->nick()); + insertItem("4" + person->person->nick()); } } sort(); + adjustNicks(); } bool IRCChannelList::hasPerson(QString nick) { @@ -44,4 +45,21 @@ bool IRCChannelList::removePerson(QString nick) { } return FALSE; } +void IRCChannelList::adjustNicks() { + QString txt; + QPixmap pm; + + for(unsigned int i=0; i<count(); i++) { + txt = text(i).remove(0,1); + if(pixmap(i)) { + pm = *pixmap(i); + removeItem(i); + insertItem(pm, txt, i); + } + else { + removeItem(i); + insertItem(txt,i); + } + } +} |