void BufferItem::removeUserFromCategory(IrcUser *ircUser) {
UserCategoryItem *categoryItem = 0;
- IrcUserItem *userItem;
for(int i = 0; i < childCount(); i++) {
categoryItem = qobject_cast<UserCategoryItem *>(child(i));
categoryItem->removeChildById((quint64)ircUser);
void BufferItem::userModeChanged(IrcUser *ircUser) {
Q_ASSERT(_ircChannel);
-
+
UserCategoryItem *categoryItem;
int categoryId = UserCategoryItem::categoryFromModes(_ircChannel->userModes(ircUser));
- if((categoryItem = qobject_cast<UserCategoryItem *>(childById(qHash(categoryId)))))
+ if((categoryItem = qobject_cast<UserCategoryItem *>(childById(qHash(categoryId)))) && categoryItem->childById((quint64)(ircUser)))
return; // already in the right category;
removeUserFromCategory(ircUser);
this, SLOT(setNick(QString)));
}
-QString IrcUserItem::nickName() {
+QString IrcUserItem::nickName() const {
return _ircUser->nick();
}
return (quint64)_ircUser;
}
+QVariant IrcUserItem::data(int column, int role) const {
+ if(role != Qt::ToolTipRole)
+ return PropertyMapItem::data(column, role);
+
+ return "<p><b>" + nickName() + "</b><br />" + _ircUser->hostmask() + "</p>";
+}
+
void IrcUserItem::setNick(QString newNick) {
Q_UNUSED(newNick);
emit dataChanged(0);