diff options
Diffstat (limited to 'Swift/QtUI/UserSearch/QtSuggestingJIDInput.cpp')
| -rw-r--r-- | Swift/QtUI/UserSearch/QtSuggestingJIDInput.cpp | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/Swift/QtUI/UserSearch/QtSuggestingJIDInput.cpp b/Swift/QtUI/UserSearch/QtSuggestingJIDInput.cpp index de935d9..a4a4610 100644 --- a/Swift/QtUI/UserSearch/QtSuggestingJIDInput.cpp +++ b/Swift/QtUI/UserSearch/QtSuggestingJIDInput.cpp @@ -6,2 +6,8 @@ +/* + * Copyright (c) 2014 Kevin Smith and Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + #include <Swift/QtUI/UserSearch/QtSuggestingJIDInput.h> @@ -25,3 +31,3 @@ namespace Swift { -QtSuggestingJIDInput::QtSuggestingJIDInput(QWidget* parent, SettingsProvider* settings) : QLineEdit(parent), settings_(settings), currentContact_(NULL) { +QtSuggestingJIDInput::QtSuggestingJIDInput(QWidget* parent, SettingsProvider* settings) : QLineEdit(parent), settings_(settings) { treeViewPopup_ = new QTreeView(); @@ -59,19 +65,20 @@ QtSuggestingJIDInput::~QtSuggestingJIDInput() { -const Contact* QtSuggestingJIDInput::getContact() { - if (currentContact_ != NULL) { +Contact::ref QtSuggestingJIDInput::getContact() { + if (!!currentContact_) { return currentContact_; - } else { - if (!text().isEmpty()) { - JID jid(Q2PSTRING(text())); - if (jid.isValid()) { - manualContact_.name = jid.toString(); - manualContact_.jid = jid; - return &manualContact_; - } + } + + if (!text().isEmpty()) { + JID jid(Q2PSTRING(text())); + if (jid.isValid()) { + Contact::ref manualContact = boost::make_shared<Contact>(); + manualContact->name = jid.toString(); + manualContact->jid = jid; + return manualContact; } - return NULL; } + return boost::shared_ptr<Contact>(); } -void QtSuggestingJIDInput::setSuggestions(const std::vector<Contact>& suggestions) { +void QtSuggestingJIDInput::setSuggestions(const std::vector<Contact::ref>& suggestions) { contactListModel_->setList(suggestions); @@ -82,3 +89,3 @@ void QtSuggestingJIDInput::setSuggestions(const std::vector<Contact>& suggestion } else { - currentContact_ = NULL; + currentContact_.reset(); } @@ -102,3 +109,3 @@ void QtSuggestingJIDInput::keyPressEvent(QKeyEvent* event) { if (!contactListModel_->getList().empty() && index.isValid()) { - currentContact_ = &contactListModel_->getList()[index.row()]; + currentContact_ = contactListModel_->getContact(index.row()); setText(P2QSTRING(currentContact_->jid.toString())); @@ -107,3 +114,3 @@ void QtSuggestingJIDInput::keyPressEvent(QKeyEvent* event) { } else { - currentContact_ = NULL; + currentContact_.reset(); } @@ -132,3 +139,3 @@ void QtSuggestingJIDInput::handleClicked(const QModelIndex& index) { if (index.isValid()) { - currentContact_ = &contactListModel_->getList()[index.row()]; + currentContact_ = contactListModel_->getContact(index.row()); setText(""); |
Swift