diff options
author | Richard Maudsley <richard.maudsley@isode.com> | 2014-04-07 09:19:50 (GMT) |
---|---|---|
committer | Richard Maudsley <richard.maudsley@isode.com> | 2014-04-07 13:07:43 (GMT) |
commit | a7c7602e89d58056940885112f8764a31e9991da (patch) | |
tree | e713e2d7eed2c2ba2925ec0a70fe93eb707c077a /Swift/QtUI/QtChatWindow.cpp | |
parent | 1a35178bcad7c30e50a19e4017d021fb0485ccf0 (diff) | |
download | swift-a7c7602e89d58056940885112f8764a31e9991da.zip swift-a7c7602e89d58056940885112f8764a31e9991da.tar.bz2 |
Allow contacts to be dragged from the Chats tab into the search window
Change-Id: Ib1ecd2f95fb26269d8aa19094aac6e1f691cdf35
Diffstat (limited to 'Swift/QtUI/QtChatWindow.cpp')
-rw-r--r-- | Swift/QtUI/QtChatWindow.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/Swift/QtUI/QtChatWindow.cpp b/Swift/QtUI/QtChatWindow.cpp index bd7c817..d3cce6d 100644 --- a/Swift/QtUI/QtChatWindow.cpp +++ b/Swift/QtUI/QtChatWindow.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2013 Kevin Smith + * Copyright (c) 2010-2014 Kevin Smith * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ @@ -31,6 +31,7 @@ #include <QTime> #include <QToolButton> #include <QUrl> +#include <QMimeData> #include <Swiften/Base/Log.h> @@ -540,7 +541,7 @@ void QtChatWindow::dragEnterEvent(QDragEnterEvent *event) { if (!isMUC_) { event->acceptProposedAction(); } - } else if (event->mimeData()->hasFormat("application/vnd.swift.contact-jid")) { + } else if (event->mimeData()->hasFormat("application/vnd.swift.contact-jid-list")) { if (isMUC_ || supportsImpromptuChat_) { event->acceptProposedAction(); } @@ -557,16 +558,19 @@ void QtChatWindow::dropEvent(QDropEvent *event) { message.append(boost::make_shared<ChatTextMessagePart>(messageText)); addSystemMessage(message, DefaultDirection); } - } else if (event->mimeData()->hasFormat("application/vnd.swift.contact-jid")) { - QByteArray dataBytes = event->mimeData()->data("application/vnd.swift.contact-jid"); + } else if (event->mimeData()->hasFormat("application/vnd.swift.contact-jid-list")) { + QByteArray dataBytes = event->mimeData()->data("application/vnd.swift.contact-jid-list"); QDataStream dataStream(&dataBytes, QIODevice::ReadOnly); - QString jidString; - dataStream >> jidString; - onInviteToChat(std::vector<JID>(1, JID(Q2PSTRING(jidString)))); + std::vector<JID> invites; + while (!dataStream.atEnd()) { + QString jidString; + dataStream >> jidString; + invites.push_back(Q2PSTRING(jidString)); + } + onInviteToChat(invites); } } - void QtChatWindow::setAvailableOccupantActions(const std::vector<OccupantAction>& actions) { treeWidget_->setAvailableOccupantActions(actions); } |