-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);
- }
+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());
+ //}
+ }
+ }
+ }