diff options
author | Niels Weber <niels.weber@digia.com> | 2014-09-25 13:04:35 +0200 |
---|---|---|
committer | Caroline Chao <caroline.chao@digia.com> | 2014-09-25 13:43:28 +0200 |
commit | daff804eede8eafd043e6ae5ceac0cd8ffe4849a (patch) | |
tree | 65bb389b7172b82a7a08c1978317d3f8cb2ecf18 /qml | |
parent | dd78f5a4ae9e3f40557a1d3dcbcec617c5931072 (diff) |
If twitter unreachable, show an error message.
Change-Id: I61a093415c8c0ed30390fcd10d0736e9e8acd869
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Diffstat (limited to 'qml')
-rw-r--r-- | qml/components/HomeScreen.qml | 7 | ||||
-rw-r--r-- | qml/components/TweetModel.qml | 11 |
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 } } } |