diff options
author | Peter Burgess <pete.burgess@isode.com> | 2018-04-20 15:18:20 (GMT) |
---|---|---|
committer | Peter Burgess <pete.burgess@isode.com> | 2018-07-24 15:05:11 (GMT) |
commit | d3bbd300be4480c0a3b7285c91b3b27e82ca9c2f (patch) | |
tree | a86f47b56647363141523a7182cd84cd2551ef62 /Swift/Controllers/AccountController.cpp | |
parent | 5b4a0ba19ae6994db6a193a231fd2486bff6f0ec (diff) | |
download | swift-d3bbd300be4480c0a3b7285c91b3b27e82ca9c2f.zip swift-d3bbd300be4480c0a3b7285c91b3b27e82ca9c2f.tar.bz2 |
Add a XEP-346 FDP Form Submission Dialog
A new form submission dialog that will discover nodes containing
fdp form templates in a given pubsub domain, and will present the form
to the user ready to be filled out and submitted.
Test-Infomation:
Personally tested the request for all node items, loading the
latest form from one of the discovered nodes, submitting a form
and checking it turns up on my mlink server using mlc, checked that
the submitted infomation is correct, what happens when an incorrect
domain is queried, what happens when a valid domain is queried but
it has no fdp nodes, and what happens when a form is requested from
an invalid node.
Unit tests written to test success and failure of the three controller
functions requestPubSubNodeData(), requestTemplateForm() and
testSubmitForm().
Change-Id: If8c57bb4e3120dd44d52f7332069eb18a14cb385
Diffstat (limited to 'Swift/Controllers/AccountController.cpp')
-rw-r--r-- | Swift/Controllers/AccountController.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Swift/Controllers/AccountController.cpp b/Swift/Controllers/AccountController.cpp index 048d140..fe7c200 100644 --- a/Swift/Controllers/AccountController.cpp +++ b/Swift/Controllers/AccountController.cpp @@ -56,6 +56,7 @@ #include <Swift/Controllers/ContactsFromXMPPRoster.h> #include <Swift/Controllers/EventNotifier.h> #include <Swift/Controllers/EventWindowController.h> +#include <Swift/Controllers/FdpFormSubmitController.h> #include <Swift/Controllers/FileTransfer/FileTransferOverview.h> #include <Swift/Controllers/FileTransferListController.h> #include <Swift/Controllers/Highlighting/HighlightEditorController.h> @@ -125,7 +126,8 @@ AccountController::AccountController( loginWindow_(nullptr) , useDelayForLatency_(useDelayForLatency), ftOverview_(nullptr), - emoticons_(emoticons) { + emoticons_(emoticons), + fdpFormSubmitController_(nullptr) { storages_ = nullptr; certificateStorage_ = nullptr; certificateTrustChecker_ = nullptr; @@ -580,6 +582,7 @@ void AccountController::performLoginFromCachedCredentials() { presence->setShow(static_cast<StatusShow::Type>(profileSettings_->getIntSetting("lastShow", StatusShow::Online))); presence->setStatus(profileSettings_->getStringSetting("lastStatus")); statusTracker_->setRequestedPresence(presence); + fdpFormSubmitController_ = std::make_unique<FdpFormSubmitController>(jid_, client_->getIQRouter(), uiEventStream_, uiFactory_); } else { /* In case we're in the middle of another login, make sure they don't overlap */ client_->disconnect(); |