summaryrefslogtreecommitdiff
path: root/noncore/net/opieirc/ircchannellist.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/opieirc/ircchannellist.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieirc/ircchannellist.cpp26
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
@@ -11,22 +11,23 @@ void IRCChannelList::update() {
QPixmap voice = Resource::loadPixmap("opieirc/voice");
QListIterator<IRCChannelPerson> it = m_channel->people();
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) {
for (unsigned int i=0; i<count(); i++) {
if (text(i) == nick)
@@ -42,6 +43,23 @@ bool IRCChannelList::removePerson(QString nick) {
return TRUE;
}
}
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);
+ }
+ }
+}