Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaas Freitag <freitag@owncloud.com>2016-03-09 17:21:52 +0300
committerKlaas Freitag <freitag@owncloud.com>2016-03-10 19:46:00 +0300
commit4a4dac22e2611b5abd53cc27fafa1b11f8218254 (patch)
tree8ac53c5da9fe1287d423350b61424a1f6774db65 /src/gui/notificationconfirmjob.cpp
parent32e16b323c24f4b90da8cf31831a1b875675b676 (diff)
Notifications: Add a Progress indicator and handle job results.
Parse the replyCode from the button action calls and disable buttons accordingly.
Diffstat (limited to 'src/gui/notificationconfirmjob.cpp')
-rw-r--r--src/gui/notificationconfirmjob.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/gui/notificationconfirmjob.cpp b/src/gui/notificationconfirmjob.cpp
index f243656fc..8bcbbea3e 100644
--- a/src/gui/notificationconfirmjob.cpp
+++ b/src/gui/notificationconfirmjob.cpp
@@ -21,7 +21,8 @@
namespace OCC {
NotificationConfirmJob::NotificationConfirmJob(AccountPtr account)
-: AbstractNetworkJob(account, "")
+: AbstractNetworkJob(account, ""),
+ _widget(0)
{
setIgnoreCredentialFailure(true);
}
@@ -32,6 +33,16 @@ void NotificationConfirmJob::setLinkAndVerb(const QUrl& link, const QString &ver
_verb = verb;
}
+void NotificationConfirmJob::setWidget( NotificationWidget *widget )
+{
+ _widget = widget;
+}
+
+NotificationWidget *NotificationConfirmJob::widget()
+{
+ return _widget;
+}
+
void NotificationConfirmJob::start()
{
if( !_link.isValid() ) {
@@ -52,9 +63,16 @@ bool NotificationConfirmJob::finished()
{
int replyCode = 0;
// FIXME: check for the reply code!
- const QString replyData = reply()->readAll();
+ const QString replyStr = reply()->readAll();
- emit jobFinished(replyData, replyCode);
+ if( replyStr.contains( "<?xml version=\"1.0\"?>") ) {
+ QRegExp rex("<statuscode>(\\d+)</statuscode>");
+ if( replyStr.contains(rex) ) {
+ // this is a error message coming back from ocs.
+ replyCode = rex.cap(1).toInt();
+ }
+ }
+ emit jobFinished(replyStr, replyCode);
return true;