X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=ca951da56a63e78e91076007266a496f5e6a9159;hb=095d3006b60d64ef3a705ee204afe5e555ca8729;hp=343ad8545edf2445a46d0eff828f2b25bdc9d4f1;hpb=ed8a0fbbe0ba28bd321950c45e7bb5cd9249df2e;p=quassel.git diff --git a/src/client/client.cpp b/src/client/client.cpp index 343ad854..ca951da5 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -107,6 +107,7 @@ Client::Client(QObject *parent) _inputHandler(0), _networkConfig(0), _ignoreListManager(0), + _highlightRuleManager(0), _transferManager(0), _transferModel(new TransferModel(this)), _messageModel(0), @@ -160,6 +161,9 @@ void Client::init() p->attachSignal(this, SIGNAL(requestPasswordChange(PeerPtr,QString,QString,QString)), SIGNAL(changePassword(PeerPtr,QString,QString,QString))); p->attachSlot(SIGNAL(passwordChanged(PeerPtr,bool)), this, SLOT(corePasswordChanged(PeerPtr,bool))); + p->attachSignal(this, SIGNAL(requestKickClient(int)), SIGNAL(kickClient(int))); + p->attachSlot(SIGNAL(disconnectFromCore()), this, SLOT(disconnectFromCore())); + //connect(mainUi(), SIGNAL(connectToCore(const QVariantMap &)), this, SLOT(connectToCore(const QVariantMap &))); connect(mainUi(), SIGNAL(disconnectFromCore()), this, SLOT(disconnectFromCore())); connect(this, SIGNAL(connected()), mainUi(), SLOT(connectedToCore())); @@ -417,6 +421,11 @@ void Client::setSyncedToCore() _ignoreListManager = new ClientIgnoreListManager(this); p->synchronize(ignoreListManager()); + // create Core-Side HighlightRuleManager + Q_ASSERT(!_highlightRuleManager); + _highlightRuleManager = new HighlightRuleManager(this); + p->synchronize(highlightRuleManager()); + // create TransferManager and DccConfig if core supports them Q_ASSERT(!_dccConfig); Q_ASSERT(!_transferManager); @@ -505,6 +514,11 @@ void Client::setDisconnectedFromCore() _ignoreListManager = 0; } + if (_highlightRuleManager) { + _highlightRuleManager->deleteLater(); + _highlightRuleManager = nullptr; + } + if (_transferManager) { _transferModel->setManager(nullptr); _transferManager->deleteLater(); @@ -685,6 +699,12 @@ void Client::changePassword(const QString &oldPassword, const QString &newPasswo } +void Client::kickClient(int peerId) +{ + emit instance()->requestKickClient(peerId); +} + + void Client::corePasswordChanged(PeerPtr, bool success) { if (success)