diff options
author | Tobias Markmann <tm@ayena.de> | 2016-05-26 16:05:56 (GMT) |
---|---|---|
committer | Kevin Smith <kevin.smith@isode.com> | 2016-05-27 14:45:33 (GMT) |
commit | 4e1089eb6efc0488fd020f95cabad63db67c228c (patch) | |
tree | 9a71b3d565ca398eac1ede964ff9205088c50635 /Swift | |
parent | 402d37b3b6cc9cd4a03bc4290d204b4977dbc1d4 (diff) | |
download | swift-4e1089eb6efc0488fd020f95cabad63db67c228c.zip swift-4e1089eb6efc0488fd020f95cabad63db67c228c.tar.bz2 |
Add presence to manually added contacts in 'Start Chat…' dialog
This fixes a bug where manually added contacts, i.e. the user
entered the address and hit the 'Add to list' button, were
missing the correct presence in the contacts list in the
'Start Chat…" dialog.
Test-Information:
Tested on OS X 10.11.5 with Qt 5.4.2.
Tested adding a roster member via the drop down suggestion and
via manually entering the JID and clicking the 'Add to list'
button. In both cases the correct presence was shown.
Added a test verifying that empty JIDS are invalid.
Change-Id: Idb18e4ad2b5c0afb48461796f64e8f11f02a24fd
Diffstat (limited to 'Swift')
-rw-r--r-- | Swift/QtUI/UserSearch/QtUserSearchWindow.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp index ebf05b7..434da38 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp +++ b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp @@ -164,15 +164,21 @@ void QtUserSearchWindow::handleContactSuggestionRequested(const QString& text) { } void QtUserSearchWindow::addContact() { - if (!!firstMultiJIDPage_->jid_->getContact()) { - contactVector_.push_back(firstMultiJIDPage_->jid_->getContact()); + auto contactToAdd = firstMultiJIDPage_->jid_->getContact(); + if (!!contactToAdd) { + contactVector_.push_back(contactToAdd); firstMultiJIDPage_->jid_->clear(); } + firstMultiJIDPage_->contactList_->setList(contactVector_); firstMultiJIDPage_->emitCompletenessCheck(); if (type_ == ChatToContact) { firstMultiJIDPage_->groupBox->setEnabled(supportsImpromptu_ ? 1 : (contactVector_.size() < 1)); } + + if (!!contactToAdd && contactToAdd->jid.isValid() && contactToAdd->statusType == StatusShow::None) { + onJIDUpdateRequested({contactToAdd->jid}); + } } void QtUserSearchWindow::setWarning(const boost::optional<std::string>& message) { |