Warning, /graphics/digikam/core/libs/dplugins/webservices/o2/examples/sialis/main.qml is written in an unsupported language. File is not indexed.
0001 import QtQuick 0002 import QtQuick.Controls 0003 import QtWebView 0004 import com.pipacs.o2 0005 0006 ApplicationWindow { 0007 id: app 0008 visible: true 0009 title: "Sialis" 0010 minimumWidth: 300 0011 minimumHeight: 200 0012 height: 700 0013 0014 O1Twitter { 0015 id: o1Twitter 0016 clientId: "The app's API Key from developer.twitter.com" 0017 clientSecret: "The app's API Secret from developer.twitter.com " 0018 localPort: 8888 0019 0020 onOpenBrowser: { 0021 browser.url = url 0022 browser.visible = true 0023 } 0024 0025 onCloseBrowser: { 0026 browser.visible = false 0027 } 0028 0029 onLinkedChanged: { 0030 loginButton.enabled = true 0031 twitterApi.requestTweets() 0032 } 0033 } 0034 0035 TwitterApi { 0036 id: twitterApi 0037 authenticator: o1Twitter 0038 } 0039 0040 footer: ToolBar { 0041 Label { 0042 anchors.left: parent.left 0043 anchors.verticalCenter: parent.verticalCenter 0044 text: o1Twitter.linked? ("Logged in as " + o1Twitter.extraTokens["screen_name"]): "Not logged in" 0045 } 0046 0047 Button { 0048 id: loginButton 0049 anchors.right: parent.right 0050 anchors.verticalCenter: parent.verticalCenter 0051 text: o1Twitter.linked? "Logout": "Login" 0052 onClicked: { 0053 enabled = false 0054 if (o1Twitter.linked) { 0055 o1Twitter.unlink() 0056 } else { 0057 o1Twitter.link() 0058 } 0059 } 0060 } 0061 0062 height: loginButton.height + 5 0063 } 0064 0065 ListView { 0066 id: listView 0067 anchors.fill: parent 0068 model: twitterApi.tweetModel 0069 delegate: listDelegate 0070 highlight: Rectangle {color: "#10000000"} 0071 focus: true 0072 0073 Component { 0074 id: listDelegate 0075 Item { 0076 width: parent.width 0077 height: label.contentHeight + 10 0078 Row { 0079 anchors.fill: parent 0080 Label { 0081 id: label 0082 anchors.centerIn: parent 0083 width: parent.width 0084 text: rawText 0085 wrapMode: Text.Wrap 0086 } 0087 Rectangle { 0088 width: parent.width 0089 height: 1 0090 color: "#10000000" 0091 border.color: "transparent" 0092 } 0093 } 0094 MouseArea { 0095 anchors.fill: parent 0096 onClicked: listView.currentIndex = index 0097 } 0098 } 0099 } 0100 } 0101 0102 ApplicationWindow { 0103 id: browser 0104 visible: false 0105 minimumHeight: 800 0106 minimumWidth: 500 0107 title: "Login" 0108 0109 property url url: "" 0110 0111 WebView { 0112 anchors.fill: parent 0113 url: browser.url 0114 } 0115 0116 onClosing: { 0117 close.accepted = true 0118 loginButton.enabled = true 0119 } 0120 } 0121 0122 Timer { 0123 interval: 30000 0124 repeat: true 0125 running: true 0126 triggeredOnStart: true 0127 onTriggered: twitterApi.requestTweets() 0128 } 0129 }