aboutsummaryrefslogtreecommitdiff
path: root/tabs/Twitter.qml
diff options
context:
space:
mode:
authormarcin <z.krzysztoff7@gmail.com>2014-07-07 19:08:30 +0200
committermarcin <z.krzysztoff7@gmail.com>2014-07-07 19:08:30 +0200
commit62df25ce8e090f53aef822c2b22c754fd4fca3e1 (patch)
treecf7af7fb5e3700dc26599f46aebf6676cb832a21 /tabs/Twitter.qml
downloadmonzero-gui-62df25ce8e090f53aef822c2b22c754fd4fca3e1.tar.gz
monzero-gui-62df25ce8e090f53aef822c2b22c754fd4fca3e1.tar.xz
monzero-gui-62df25ce8e090f53aef822c2b22c754fd4fca3e1.zip
first push
Diffstat (limited to 'tabs/Twitter.qml')
-rw-r--r--tabs/Twitter.qml124
1 files changed, 124 insertions, 0 deletions
diff --git a/tabs/Twitter.qml b/tabs/Twitter.qml
new file mode 100644
index 00000000..03c9be81
--- /dev/null
+++ b/tabs/Twitter.qml
@@ -0,0 +1,124 @@
+import QtQuick 2.2
+import QtQuick.Controls 1.2
+import "tweetSearch.js" as Helper
+
+Item {
+ id: tab
+ ListModel {
+ id: testModel
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ ListElement { head: "Monero || #xmr"; foot: "<b>@btcplanet</b> Duis turpis arcu, varius nec rutrum in, adipiscing at enim. Donec quis consequat ipsum," }
+ }
+
+ property int inAnimDur: 250
+ property int counter: 0
+ property alias isLoading: tweetsModel.isLoading
+ property var idx
+ property var ids
+
+ Component.onCompleted: {
+ ids = new Array()
+ }
+
+ function idInModel(id) {
+ for (var j = 0; j < ids.length; j++)
+ if (ids[j] === id)
+ return 1
+ return 0
+ }
+
+ TweetsModel {
+ id: tweetsModel
+ onIsLoaded: {
+ console.debug("Reload")
+ idx = new Array()
+ for (var i = 0; i < tweetsModel.model.count; i++) {
+ var id = tweetsModel.model.get(i).id
+ if (!idInModel(id))
+ idx.push(i)
+ }
+ console.debug(idx.length + " new tweets")
+ tab.counter = idx.length
+ }
+ }
+
+ Timer {
+ id: timer
+ interval: 1; running: tab.counter; repeat: true
+ onTriggered: {
+ tab.counter--;
+ var id = tweetsModel.model.get(idx[tab.counter]).id
+ var item = tweetsModel.model.get(tab.counter)
+ listView.add({ "statusText": item.text,
+ "twitterName": item.user.screen_name,
+ "name" : item.user.name,
+ "userImage": item.user.profile_image_url,
+ "source": item.source,
+ "id": id,
+ "uri": Helper.insertLinks(item.user.url, item.user.entities),
+ "published": item.created_at });
+ console.log(item.created_at)
+ ids.push(id)
+ }
+ }
+
+ ListView {
+ id: listView
+ model: ListModel { id: finalModel }
+ anchors.fill: parent
+ clip: true
+ boundsBehavior: ListView.StopAtBounds
+
+ function add(obj) { model.insert(0, obj) }
+ delegate: Rectangle {
+ height: 98
+ width: listView.width
+
+ Text {
+ id: headerText
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.top: parent.top
+ anchors.topMargin: 16
+ elide: Text.ElideRight
+ font.family: "Arial"
+ font.pixelSize: 18
+ color: "#000000"
+ text: model.name
+ }
+
+ Text {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.top: headerText.bottom
+ anchors.bottom: parent.bottom
+ anchors.topMargin: 10
+ anchors.bottomMargin: 10
+ wrapMode: Text.Wrap
+ elide: Text.ElideRight
+ font.family: "Arial"
+ font.pixelSize: 12
+ color: "#535353"
+ text: model.statusText
+ }
+
+ Rectangle {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.bottom: parent.bottom
+ height: 1
+ color: "#DBDBDB"
+ }
+ }
+ }
+}