this, SLOT(userModeChanged(IrcUser *)));
connect(ircChannel, SIGNAL(ircUserModeRemoved(IrcUser *, QString)),
this, SLOT(userModeChanged(IrcUser *)));
+
+ if(!ircChannel->ircUsers().isEmpty()) {
+ qWarning() << "Channel" << ircChannel->name() << "has already users which is quite surprising :)";
+ foreach(IrcUser *ircUser, ircChannel->ircUsers()) {
+ join(ircUser);
+ }
+ }
emit dataChanged();
}
QVariant UserCategoryItem::data(int column, int role) const {
switch(role) {
+ case NetworkModel::ItemActiveRole:
+ return true;
case NetworkModel::ItemTypeRole:
return NetworkModel::UserCategoryItemType;
case NetworkModel::BufferIdRole:
QVariant IrcUserItem::data(int column, int role) const {
switch(role) {
+ case NetworkModel::ItemActiveRole:
+ return !_ircUser->isAway();
case NetworkModel::ItemTypeRole:
return NetworkModel::IrcUserItemType;
case NetworkModel::BufferIdRole:
QString IrcUserItem::toolTip(int column) const {
Q_UNUSED(column);
- return "<p><b>" + nickName() + "</b><br />" + _ircUser->hostmask() + "</p>";
+ QString toolTip = "<b>" + nickName() + "</b><br />" + _ircUser->hostmask();
+ if(_ircUser->isAway()) {
+ toolTip += "<br /> away";
+ if(!_ircUser->awayMessage().isEmpty()) {
+ toolTip += " (" + _ircUser->awayMessage() + ")";
+ }
+ }
+ return "<p>" + toolTip + "</p>";
}
void IrcUserItem::setNick(QString newNick) {