void BufferViewManager::addBufferViewConfig(BufferViewConfig *config) { if (_bufferViewConfigs.contains(config->bufferViewId())) return; _proxy->synchronize(config); _bufferViewConfigs[config->bufferViewId()] = config; int bufferViewId = config->bufferViewId(); SYNC_OTHER(addBufferViewConfig, ARG(bufferViewId)) emit bufferViewConfigAdded(bufferViewId); }
void TransferManager::addTransfer(Transfer *transfer) { QUuid uuid = transfer->uuid(); if (_transfers.contains(uuid)) { qWarning() << "Cannot add the same file transfer twice!"; transfer->deleteLater(); return; } transfer->setParent(this); _transfers[uuid] = transfer; SYNC_OTHER(onCoreTransferAdded, ARG(uuid)); emit transferAdded(uuid); }
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); }