X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fnetwork.cpp;h=e763fb9520f28ec27623150a91f38bfc5d91b95d;hp=ead100d8e5f208ac31620ba3c86a065bc58f9fb1;hb=a1d785ae12b3ec04b43e243f3397bb6f8ecf60d5;hpb=a33e42aee121185f479667b2104a15fc2033762e diff --git a/src/common/network.cpp b/src/common/network.cpp index ead100d8..e763fb95 100644 --- a/src/common/network.cpp +++ b/src/common/network.cpp @@ -36,6 +36,7 @@ Network::Network(const NetworkId &networkid, QObject *parent) _networkId(networkid), _identity(0), _myNick(QString()), + _latency(0), _networkName(QString("")), _currentServer(QString()), _connected(false), @@ -208,7 +209,6 @@ void Network::ircUserDestroyed() { QHash::iterator ircUserIter = _ircUsers.begin(); while(ircUserIter != _ircUsers.end()) { if(ircUser == *ircUserIter) { - emit deletedIrcUserRemoved(ircUserIter.key()); ircUserIter = _ircUsers.erase(ircUserIter); break; } @@ -216,30 +216,6 @@ void Network::ircUserDestroyed() { } } -void Network::removeDeletedIrcUser(const QString &username) { - // DO NOT CALL THIS SLOT EVER!!! - - // this slots purpose is only to remove deleted users that haven't been synced yet. - // Reason: - // as a user parting a channel results in it's deletion if it is no longer in any known channel - // this action can only be communicated if the slaves are allready in sync. - // so if such a deleted user isn't synced in slave mode, we kill and remove it. - - Q_ASSERT(proxy()); - - if(!_ircUsers.contains(username)) - return; - - IrcUser *ircUser = _ircUsers[username]; - - if(ircUser->isInitialized()) - return; - - _ircUsers.remove(username); - emit ircUserRemoved(username); - emit ircUserRemoved(ircUser); -} - void Network::removeIrcUser(IrcUser *ircuser) { QString nick = _ircUsers.key(ircuser); if(nick.isNull()) @@ -454,6 +430,13 @@ void Network::setMyNick(const QString &nickname) { emit myNickSet(nickname); } +void Network::setLatency(int latency) { + if(_latency == latency) + return; + _latency = latency; + emit latencySet(latency); +} + void Network::setIdentity(IdentityId id) { _identity = id; emit identitySet(id); @@ -554,7 +537,7 @@ QVariantMap Network::initIrcUsersAndChannels() const { QHash::const_iterator channelIter = _ircChannels.constBegin(); QHash::const_iterator channelIterEnd = _ircChannels.constEnd(); while(channelIter != channelIterEnd) { - channels[channelIter.key()] = channelIter.value()->toVariantMap(); + channels[channelIter.value()->name()] = channelIter.value()->toVariantMap(); channelIter++; } usersAndChannels["channels"] = channels; @@ -710,6 +693,12 @@ void Network::determinePrefixes() { QString defaultPrefixes("~&@%+"); QString defaultPrefixModes("qaohv"); + if(PREFIX.isEmpty()) { + _prefixes = defaultPrefixes; + _prefixModes = defaultPrefixModes; + return; + } + // we just assume that in PREFIX are only prefix chars stored for(int i = 0; i < defaultPrefixes.size(); i++) { if(PREFIX.contains(defaultPrefixes[i])) {