X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoresession.cpp;h=a2583e0c5675920bf85d742a129e2d57f4c9a574;hp=518246a9e06c6fcb39d01c07e10beea095f38cac;hb=16f22647e6890d3eb8c3e94f7a0700e12fa29e44;hpb=b1b970e71618cb2d2cf372ba55234000c6324d7f diff --git a/src/core/coresession.cpp b/src/core/coresession.cpp index 518246a9..a2583e0c 100644 --- a/src/core/coresession.cpp +++ b/src/core/coresession.cpp @@ -77,7 +77,8 @@ CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent) _ircParser(new IrcParser(this)), scriptEngine(new QScriptEngine(this)), _processMessages(false), - _ignoreListManager(this) + _ignoreListManager(this), + _highlightRuleManager(this) { SignalProxy *p = signalProxy(); p->setHeartBeatInterval(30); @@ -131,6 +132,7 @@ CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent) p->synchronize(networkConfig()); p->synchronize(&_coreInfo); p->synchronize(&_ignoreListManager); + p->synchronize(&_highlightRuleManager); p->synchronize(transferManager()); // Restore session state if (restoreState) @@ -317,6 +319,9 @@ void CoreSession::recvMessageFromServer(NetworkId networkId, Message::Type type, if (_ignoreListManager.match(rawMsg, networkName) == IgnoreListManager::HardStrictness) return; + if (_highlightRuleManager.match(rawMsg, currentNetwork->myNick(), currentNetwork->identityPtr()->nicks())) + rawMsg.flags |= Message::Flag::Highlight; + _messageQueue << rawMsg; if (!_processMessages) { _processMessages = true; @@ -711,14 +716,15 @@ void CoreSession::globalAway(const QString &msg, const bool skipFormatting) } } -void CoreSession::changePassword(PeerPtr peer, const QString &userName, const QString &oldPassword, const QString &newPassword) -{ +void CoreSession::changePassword(PeerPtr peer, const QString &userName, const QString &oldPassword, const QString &newPassword) { + Q_UNUSED(peer); + bool success = false; UserId uid = Core::validateUser(userName, oldPassword); if (uid.isValid() && uid == user()) success = Core::changeUserPassword(uid, newPassword); - signalProxy()->restrictTargetPeers({signalProxy()->sourcePeer()}, [&]{ + signalProxy()->restrictTargetPeers(signalProxy()->sourcePeer(), [&]{ emit passwordChanged(nullptr, success); }); } @@ -729,7 +735,7 @@ void CoreSession::kickClient(int peerId) { qWarning() << "Invalid peer Id: " << peerId; return; } - signalProxy()->restrictTargetPeers({peer}, [&]{ + signalProxy()->restrictTargetPeers(peer, [&]{ emit disconnectFromCore(); }); }