summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaroline Chao <caroline.chao@digia.com>2014-10-10 14:02:52 +0200
committerNiels Weber <niels.weber@digia.com>2014-10-10 14:29:37 +0200
commit07eaebaad80cdd3d125cf9460ac322e3bc975da4 (patch)
treec07372ceb132e5a2f9f1341ea5cc10deb5cd527c
parent723259c73285dc7c047f2cf103b435b7d221e91b (diff)
Update time display in Twitter view
Show time elapsed or date if tweet created more than 6 days ago. Change-Id: Ib72a70adaff6b4d598044b28510b914a0a1b0b34 Reviewed-by: Niels Weber <niels.weber@digia.com>
-rw-r--r--qml/components/HomeScreen.qml25
1 files changed, 24 insertions, 1 deletions
diff --git a/qml/components/HomeScreen.qml b/qml/components/HomeScreen.qml
index 4e8b40c..62eab75 100644
--- a/qml/components/HomeScreen.qml
+++ b/qml/components/HomeScreen.qml
@@ -407,7 +407,7 @@ Rectangle {
anchors.right: parent.right
anchors.rightMargin: Theme.margins.ten
anchors.bottom: parent.bottom
- text: model.created_at
+ text: getElapsedTime()
font.pointSize: Theme.fonts.seven_pt
color: Theme.colors.gray
textFormat: Text.StyledText
@@ -417,6 +417,29 @@ Rectangle {
+ model.user.screen_name
+ "/status/" + model.id_str)
}
+ function getElapsedTime()
+ {
+ var createdAt = model.created_at.replace(" +0000", "") // UTC
+ var createdDate = new Date(createdAt)
+ var now = new Date() // Local
+ var localOffset = now.getTimezoneOffset() * 60 * 1000
+ var diff = Math.floor((now - createdDate + localOffset) / 1000); // seconds
+ if (diff <= 10)
+ return "Now"
+ if (diff <= 90)
+ return "1m"
+ if (diff <= 3540)
+ return Math.round(diff / 60) + "m"
+ if (diff <= 5400)
+ return "1h"
+ if (diff <= 87000)
+ return Math.round(diff / 3600) + "h"
+ if (diff <= 130000)
+ return "1 day"
+ if (diff < 540000)
+ return Math.round(diff / 86400) + " days"
+ return Qt.formatDate(createdDate, "d MMM");
+ }
}
}