diff options
| author | Richard Maudsley <richard.maudsley@isode.com> | 2014-04-07 10:39:35 (GMT) |
|---|---|---|
| committer | Richard Maudsley <richard.maudsley@isode.com> | 2014-04-07 13:07:50 (GMT) |
| commit | 5e9fefcc3a1ab106c44a80e12d6e34b7fb3d0397 (patch) | |
| tree | 7c272c31b12e2b6a33d792c43419f0e778b7a075 /Swift | |
| parent | a7c7602e89d58056940885112f8764a31e9991da (diff) | |
| download | swift-contrib-5e9fefcc3a1ab106c44a80e12d6e34b7fb3d0397.zip swift-contrib-5e9fefcc3a1ab106c44a80e12d6e34b7fb3d0397.tar.bz2 | |
Clear the reason field in invite dialogs before showing them
Change-Id: I97bfe54d028658aaa1385284669c3e2892d2f175
Diffstat (limited to 'Swift')
| -rw-r--r-- | Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp | 4 | ||||
| -rw-r--r-- | Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.h | 1 | ||||
| -rw-r--r-- | Swift/QtUI/UserSearch/QtUserSearchWindow.cpp | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp b/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp index 360ce0a..47d62d9 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp +++ b/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.cpp @@ -25,70 +25,74 @@ namespace Swift { QtUserSearchFirstMultiJIDPage::QtUserSearchFirstMultiJIDPage(UserSearchWindow::Type type, const QString& title, SettingsProvider* settings) { setupUi(this); setTitle(title); QString introText = ""; switch (type) { case UserSearchWindow::AddContact: introText = tr("Add another user to your contact list"); break; case UserSearchWindow::ChatToContact: introText = tr("Chat to another user"); break; case UserSearchWindow::InviteToChat: introText = tr("Invite contact to chat"); break; } 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>)), 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(); } } 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(); } } } diff --git a/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.h b/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.h index 9905f21..431dd3c 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.h +++ b/Swift/QtUI/UserSearch/QtUserSearchFirstMultiJIDPage.h @@ -2,50 +2,51 @@ * Copyright (c) 2013 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ /* * 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. */ #pragma once #include <QWizardPage> #include <Swift/QtUI/UserSearch/ui_QtUserSearchFirstMultiJIDPage.h> #include <Swift/Controllers/UIInterfaces/UserSearchWindow.h> namespace Swift { class UserSearchModel; class UserSearchDelegate; class UserSearchResult; class UIEventStream; class QtContactListWidget; class ContactSuggester; class AvatarManager; class VCardManager; class SettingsProvider; class QtSuggestingJIDInput; class QtUserSearchFirstMultiJIDPage : public QWizardPage, public Ui::QtUserSearchFirstMultiJIDPage { Q_OBJECT public: QtUserSearchFirstMultiJIDPage(UserSearchWindow::Type type, const QString& title, SettingsProvider* settings); virtual bool isComplete() const; + void reset(); signals: void onJIDsDropped(std::vector<JID> jid); public slots: void emitCompletenessCheck(); void handleEditingDone(); virtual void dragEnterEvent(QDragEnterEvent *event); virtual void dropEvent(QDropEvent *event); public: QtContactListWidget* contactList_; QtSuggestingJIDInput* jid_; }; } diff --git a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp index ec5dd39..72c2964 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp +++ b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp @@ -41,70 +41,71 @@ QtUserSearchWindow::QtUserSearchWindow(UIEventStream* eventStream, UserSearchWin #endif QString title; switch(type) { case AddContact: title = tr("Add Contact"); break; case ChatToContact: title = tr("Chat to Users"); break; case InviteToChat: title = tr("Add Users to Chat"); break; } setWindowTitle(title); delegate_ = new UserSearchDelegate(); setFirstPage(title); setSecondPage(); setThirdPage(); detailsPage_ = new QtUserSearchDetailsPage(groups); setPage(4, detailsPage_); connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(handleCurrentChanged(int))); connect(this, SIGNAL(accepted()), this, SLOT(handleAccepted())); clear(); } QtUserSearchWindow::~QtUserSearchWindow() { delete model_; } void QtUserSearchWindow::handleCurrentChanged(int page) { searchNext_ = false; + firstMultiJIDPage_->reset(); resultsPage_->emitCompletenessCheck(); if (page == 1 && lastPage_ == 3) { addSearchedJIDToList(getContactJID()); setSecondPage(); } else if (page == 2 && lastPage_ == 1) { setError(""); /* next won't be called if JID is selected */ JID server = getServerToSearch(); clearForm(); onFormRequested(server); setThirdPage(); } else if (page == 3 && lastPage_ == 2) { JID server = getServerToSearch(); handleSearch(); if (type_ == AddContact) { bool remote = firstPage_->byRemoteSearch_->isChecked(); firstPage_->byRemoteSearch_->setChecked(remote); firstPage_->service_->setEditText(P2QSTRING(server.toString())); } else { bool remote = firstMultiJIDPage_->byRemoteSearch_->isChecked(); setFirstPage(); firstMultiJIDPage_->byRemoteSearch_->setChecked(remote); firstMultiJIDPage_->service_->setEditText(P2QSTRING(server.toString())); } } else if (page == 4) { detailsPage_->clear(); detailsPage_->setJID(getContactJID()); onNameSuggestionRequested(getContactJID()); } lastPage_ = page; } |
Swift