本文整理汇总了C++中IrcUser::joinChannel方法的典型用法代码示例。如果您正苦于以下问题:C++ IrcUser::joinChannel方法的具体用法?C++ IrcUser::joinChannel怎么用?C++ IrcUser::joinChannel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IrcUser
的用法示例。
在下文中一共展示了IrcUser::joinChannel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: joinIrcUsers
void IrcChannel::joinIrcUsers(const QList<IrcUser *> &users, const QStringList &modes)
{
if (users.isEmpty())
return;
if (users.count() != modes.count()) {
qWarning() << "IrcChannel::addUsers(): number of nicks does not match number of modes!";
return;
}
QStringList newNicks;
QStringList newModes;
QList<IrcUser *> newUsers;
IrcUser *ircuser;
for (int i = 0; i < users.count(); i++) {
ircuser = users[i];
if (!ircuser || _userModes.contains(ircuser)) {
addUserMode(ircuser, modes[i]);
continue;
}
_userModes[ircuser] = modes[i];
ircuser->joinChannel(this);
connect(ircuser, SIGNAL(nickSet(QString)), this, SLOT(ircUserNickSet(QString)));
// connect(ircuser, SIGNAL(destroyed()), this, SLOT(ircUserDestroyed()));
// if you wonder why there is no counterpart to ircUserJoined:
// the joines are propagted by the ircuser. the signal ircUserJoined is only for convenience
newNicks << ircuser->nick();
newModes << modes[i];
newUsers << ircuser;
}
if (newNicks.isEmpty())
return;
SYNC_OTHER(joinIrcUsers, ARG(newNicks), ARG(newModes));
emit ircUsersJoined(newUsers);
}