+ Client::ignoreListManager()->requestAddIgnoreListItem(IgnoreListManager::IgnoreType::SenderIgnore,
+ rule,
+ false,
+ // Use a dynamic ignore rule, for reversibility
+ IgnoreListManager::StrictnessType::SoftStrictness,
+ // Use current network as scope
+ IgnoreListManager::ScopeType::NetworkScope,
+ Client::network(bufferInfo.networkId())->networkName(),
+ true);
+}
+
+void ClientUserInputHandler::handleList(const BufferInfo& bufferInfo, const QString& text)
+{
+ // Pass along any potential search parameters, list channels immediately
+ Client::instance()->displayChannelList(bufferInfo.networkId(), text, true);
+}
+
+void ClientUserInputHandler::switchBuffer(const NetworkId& networkId, const QString& bufferName)
+{
+ BufferId newBufId = Client::networkModel()->bufferId(networkId, bufferName);
+ if (!newBufId.isValid()) {
+ Client::bufferModel()->switchToBufferAfterCreation(networkId, bufferName);
+ }
+ else {
+ Client::bufferModel()->switchToBuffer(newBufId);
+ // unhide the buffer
+ ClientBufferViewManager* clientBufferViewManager = Client::bufferViewManager();
+ QList<ClientBufferViewConfig*> bufferViewConfigList = clientBufferViewManager->clientBufferViewConfigs();
+ foreach (ClientBufferViewConfig* bufferViewConfig, bufferViewConfigList) {
+ if (bufferViewConfig->temporarilyRemovedBuffers().contains(newBufId)) {
+ bufferViewConfig->requestAddBuffer(newBufId, bufferViewConfig->bufferList().length());
+ // if (bufferViewConfig->sortAlphabetically()) {
+ // TODO we need to trigger a sort here, but can't reach the model required
+ // to get a bufferviewfilter, as the bufferviewmanager only managers configs
+ // BufferViewFilter *filter = qobject_cast<BufferViewFilter *>(model());
+ //}
+ }
+ }
+ }