summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Maudsley <richard.maudsley@isode.com>2014-06-30 10:42:05 (GMT)
committerSwift Review <review@swift.im>2014-07-09 12:53:37 (GMT)
commit1edfc36235cc67d303ceb2bcf0630affc509f2f7 (patch)
tree0ca86a9e5e0dbcd3876ce91b4bf4feec5321c9c9 /Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp
parent05d9e618e4c756e50b633448f0546614a645a13d (diff)
downloadswift-contrib-1edfc36235cc67d303ceb2bcf0630affc509f2f7.zip
swift-contrib-1edfc36235cc67d303ceb2bcf0630affc509f2f7.tar.bz2
Fix attempting to start impromptu chat when impromptu not supported.
Test-Information: Connect to a server where impromptu is NOT supported. Confirm that adding multiple users by dragging or typing into the JID box is not allowed. Connect to a server where impromptu is supported. Confirm that it is still possible to drag multiple users and add multiple users by typing into the JID box. Change-Id: Ibb4c1f7d6a5820f7ccf3629c1e0d30a441d9d159
Diffstat (limited to 'Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp')
-rw-r--r--Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp b/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp
index 597c88b..8ea49c4 100644
--- a/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp
+++ b/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp
@@ -40,59 +40,61 @@ QtUserSearchFirstMultiJIDPage::QtUserSearchFirstMultiJIDPage(UserSearchWindow::T
}
setSubTitle(QString(tr("%1. If you know their address you can enter it directly, or you can search for them.")).arg(introText));
contactList_ = new QtContactListWidget(this, settings);
horizontalLayout_5->addWidget(contactList_);
jid_ = new QtSuggestingJIDInput(this, settings);
horizontalLayout_6->insertWidget(0, jid_);
connect(contactList_, SIGNAL(onListChanged(std::vector<Contact::ref>)), this, SLOT(emitCompletenessCheck()));
connect(jid_, SIGNAL(editingDone()), this, SLOT(handleEditingDone()));
setAcceptDrops(true);
}
bool QtUserSearchFirstMultiJIDPage::isComplete() const {
return !contactList_->getList().empty();
}
void QtUserSearchFirstMultiJIDPage::reset() {
reason_->clear();
}
void QtUserSearchFirstMultiJIDPage::emitCompletenessCheck() {
emit completeChanged();
}
void QtUserSearchFirstMultiJIDPage::handleEditingDone() {
addContactButton_->setFocus();
}
void QtUserSearchFirstMultiJIDPage::dragEnterEvent(QDragEnterEvent *event) {
if (event->mimeData()->hasFormat("application/vnd.swift.contact-jid-list")
|| event->mimeData()->hasFormat("application/vnd.swift.contact-jid-muc")) {
- event->acceptProposedAction();
+ if (!contactList_->isFull()) {
+ event->acceptProposedAction();
+ }
}
}
void QtUserSearchFirstMultiJIDPage::dropEvent(QDropEvent *event) {
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);
std::vector<JID> jids;
while (!dataStream.atEnd()) {
QString jidString;
dataStream >> jidString;
jids.push_back(Q2PSTRING(jidString));
}
onJIDsDropped(jids);
} else if (event->mimeData()->hasFormat("application/vnd.swift.contact-jid-muc")) {
QMessageBox* messageBox = new QMessageBox(this);
messageBox->setText(tr("You can't invite a room to chat."));
messageBox->setWindowTitle(tr("Error inviting room to chat"));
messageBox->show();
}
}
}