From: Sebastian Goth Date: Sat, 30 Jan 2010 23:45:33 +0000 (+0100) Subject: Adapt chatview and nickview to join-and-switch X-Git-Tag: 0.6-beta1~56 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=edc446b0c31b048efddaf1943cb85eb0db6a0faa Adapt chatview and nickview to join-and-switch --- diff --git a/src/qtui/chatitem.cpp b/src/qtui/chatitem.cpp index 03a5ddc2..2ca66aa1 100644 --- a/src/qtui/chatitem.cpp +++ b/src/qtui/chatitem.cpp @@ -392,15 +392,8 @@ void SenderChatItem::handleClick(const QPointF &pos, ChatScene::ClickMode clickM BufferInfo curBufInfo = Client::networkModel()->bufferInfo(data(MessageModel::BufferIdRole).value()); QString nick = data(MessageModel::EditRole).toString(); // check if the nick is a valid ircUser - if(!nick.isEmpty() && Client::network(curBufInfo.networkId())->ircUser(nick)) { - BufferId targetBufId = Client::networkModel()->bufferId(curBufInfo.networkId(), nick); - if(targetBufId.isValid()) { // querybuffer exists - Client::bufferModel()->switchToBuffer(targetBufId); - } - else { // we create it - Client::userInput(curBufInfo, QString("/QUERY %1").arg(nick)); - } - } + if(!nick.isEmpty() && Client::network(curBufInfo.networkId())->ircUser(nick)) + Client::bufferModel()->switchToOrStartQuery(curBufInfo.networkId(), nick); } else ChatItem::handleClick(pos, clickMode); diff --git a/src/uisupport/networkmodelcontroller.cpp b/src/uisupport/networkmodelcontroller.cpp index 1f37123a..be1db922 100644 --- a/src/uisupport/networkmodelcontroller.cpp +++ b/src/uisupport/networkmodelcontroller.cpp @@ -405,10 +405,8 @@ void NetworkModelController::handleNickAction(ActionType type, QAction *action) Client::userInput(bufferInfo, QString("/KICK %1").arg(nick)); break; case NickSwitchTo: - Client::bufferModel()->switchToBuffer(findQueryBuffer(networkId, nick)); - break; case NickQuery: - Client::userInput(bufferInfo, QString("/QUERY %1").arg(nick)); + Client::bufferModel()->switchToOrStartQuery(networkId, nick); break; case NickIgnoreUser: { diff --git a/src/uisupport/nickview.cpp b/src/uisupport/nickview.cpp index 11b40c72..bdba62f9 100644 --- a/src/uisupport/nickview.cpp +++ b/src/uisupport/nickview.cpp @@ -124,11 +124,7 @@ void NickView::startQuery(const QModelIndex &index) { if(!ircUser || !networkId.isValid()) return; - BufferId bufId = Client::networkModel()->bufferId(networkId, ircUser->nick()); - if(bufId.isValid()) - Client::bufferModel()->switchToBuffer(bufId); - else - Client::userInput(index.data(NetworkModel::BufferInfoRole).value(), QString("/QUERY %1").arg(ircUser->nick())); + Client::bufferModel()->switchToOrStartQuery(networkId, ircUser->nick()); } void NickView::customEvent(QEvent *event) {