go-ethereum/cmd/mist/assets/qml/views/whisper.qml

77 lines
1.4 KiB
QML
Raw Normal View History

2014-12-15 10:09:27 -06:00
import QtQuick 2.0
import QtQuick.Controls 1.0;
import QtQuick.Layouts 1.0;
import QtQuick.Dialogs 1.0;
import QtQuick.Window 2.1;
import QtQuick.Controls.Styles 1.1
import Ethereum 1.0
Rectangle {
id: root
property var title: "Whisper Traffic"
2014-12-15 10:09:27 -06:00
property var iconSource: "../facet.png"
property var menuItem
objectName: "whisperView"
anchors.fill: parent
property var identity: ""
Component.onCompleted: {
identity = shh.newIdentity()
console.log("New identity:", identity)
2014-12-16 12:55:57 -06:00
var t = shh.watch({}, root)
}
2014-12-22 06:23:11 -06:00
function onShhMessage(message, i) {
2014-12-22 03:58:28 -06:00
whisperModel.insert(0, {from: message.from, payload: eth.toAscii(message.payload)})
2014-12-15 10:09:27 -06:00
}
RowLayout {
id: input
anchors {
left: parent.left
leftMargin: 20
top: parent.top
topMargin: 20
}
2014-12-15 10:09:27 -06:00
TextField {
id: to
placeholderText: "To"
}
TextField {
id: data
placeholderText: "Data"
}
TextField {
id: topics
placeholderText: "topic1, topic2, topic3, ..."
}
Button {
text: "Send"
onClicked: {
shh.post(eth.toHex(data.text), "", identity, topics.text.split(","), 500, 50)
}
}
}
TableView {
id: txTableView
anchors {
top: input.bottom
topMargin: 10
bottom: parent.bottom
left: parent.left
right: parent.right
}
2014-12-22 03:58:28 -06:00
TableViewColumn{ id: fromRole; role: "from" ; title: "From"; width: 300 }
TableViewColumn{ role: "payload" ; title: "Payload" ; width: parent.width - fromRole.width - 2 }
model: ListModel {
id: whisperModel
}
}
2014-12-15 10:09:27 -06:00
}