summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiels Weber <niels.weber@digia.com>2014-09-25 13:04:35 +0200
committerCaroline Chao <caroline.chao@digia.com>2014-09-25 13:43:28 +0200
commitdaff804eede8eafd043e6ae5ceac0cd8ffe4849a (patch)
tree65bb389b7172b82a7a08c1978317d3f8cb2ecf18
parentdd78f5a4ae9e3f40557a1d3dcbcec617c5931072 (diff)
If twitter unreachable, show an error message.
Change-Id: I61a093415c8c0ed30390fcd10d0736e9e8acd869 Reviewed-by: Caroline Chao <caroline.chao@digia.com>
-rw-r--r--qml/components/HomeScreen.qml7
-rw-r--r--qml/components/TweetModel.qml11
2 files changed, 16 insertions, 2 deletions
diff --git a/qml/components/HomeScreen.qml b/qml/components/HomeScreen.qml
index 54e81f3..e3152de 100644
--- a/qml/components/HomeScreen.qml
+++ b/qml/components/HomeScreen.qml
@@ -280,6 +280,13 @@ Rectangle {
}
}
+ Text {
+ anchors.centerIn: parent
+ visible: tweetModel.errorMessage !== ""
+ text: tweetModel.errorMessage
+ }
+
+
Component {
id: tweetDelegate
diff --git a/qml/components/TweetModel.qml b/qml/components/TweetModel.qml
index 15fd310..5aad823 100644
--- a/qml/components/TweetModel.qml
+++ b/qml/components/TweetModel.qml
@@ -48,6 +48,7 @@ Item {
property int status: XMLHttpRequest.UNSENT
property bool isLoading: status === XMLHttpRequest.LOADING
property bool wasLoading: false
+ property string errorMessage: ""
ListModel {
id: tweets
@@ -68,9 +69,10 @@ Item {
if (status === XMLHttpRequest.DONE) {
if (req.responseText !== "") { // Nothing was retrieved, network error
var objectArray = JSON.parse(req.responseText);
- if (objectArray.errors !== undefined)
+ if (objectArray.errors !== undefined) {
console.log("Error fetching tweets: " + objectArray.errors[0].message)
- else {
+ errorMessage = jsonResponse.errors[0].message
+ } else {
for (var key in objectArray.statuses) {
var jsonObject = objectArray.statuses[key];
tweets.append(jsonObject);
@@ -78,6 +80,8 @@ Item {
}
if (wasLoading == true)
tweetModel.isLoaded()
+ } else {
+ errorMessage = Theme.text.networkErrorInit
}
}
wasLoading = (status === XMLHttpRequest.LOADING);
@@ -96,10 +100,13 @@ Item {
var jsonResponse = JSON.parse(authReq.responseText);
if (jsonResponse.errors !== undefined) {
console.log("Authentication error: " + jsonResponse.errors[0].message)
+ errorMessage = jsonResponse.errors[0].message
} else {
bearerToken = jsonResponse.access_token;
reload()
}
+ } else {
+ errorMessage = Theme.text.networkErrorInit
}
}
}