2014-08-12 09:02:33 +00: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 {
|
|
|
|
property var title: "Information"
|
2014-08-20 21:52:33 +00:00
|
|
|
property var iconSource: "../heart.png"
|
2014-08-17 19:07:09 +00:00
|
|
|
property var menuItem
|
2014-08-12 09:02:33 +00:00
|
|
|
|
|
|
|
objectName: "infoView"
|
|
|
|
visible: false
|
|
|
|
anchors.fill: parent
|
|
|
|
|
|
|
|
color: "#00000000"
|
|
|
|
|
|
|
|
Column {
|
2014-08-13 22:18:37 +00:00
|
|
|
id: info
|
2014-08-12 09:02:33 +00:00
|
|
|
spacing: 3
|
|
|
|
anchors.fill: parent
|
|
|
|
anchors.topMargin: 5
|
|
|
|
anchors.leftMargin: 5
|
|
|
|
|
|
|
|
Label {
|
|
|
|
id: addressLabel
|
|
|
|
text: "Address"
|
|
|
|
}
|
|
|
|
TextField {
|
2014-08-17 23:35:42 +00:00
|
|
|
text: eth.key().address
|
2014-08-12 09:02:33 +00:00
|
|
|
width: 500
|
|
|
|
}
|
|
|
|
|
|
|
|
Label {
|
|
|
|
text: "Client ID"
|
|
|
|
}
|
|
|
|
TextField {
|
2014-08-12 10:16:21 +00:00
|
|
|
text: gui.getCustomIdentifier()
|
2014-08-12 09:02:33 +00:00
|
|
|
width: 500
|
|
|
|
placeholderText: "Anonymous"
|
|
|
|
onTextChanged: {
|
2014-08-12 10:16:21 +00:00
|
|
|
gui.setCustomIdentifier(text)
|
2014-08-12 09:02:33 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-08-23 09:00:15 +00:00
|
|
|
TextArea {
|
|
|
|
objectName: "statsPane"
|
|
|
|
width: parent.width
|
|
|
|
height: 200
|
|
|
|
selectByMouse: true
|
|
|
|
readOnly: true
|
|
|
|
font.family: "Courier"
|
|
|
|
}
|
2014-08-12 09:02:33 +00:00
|
|
|
}
|
2014-08-23 09:00:15 +00:00
|
|
|
|
|
|
|
RowLayout {
|
|
|
|
id: logLayout
|
2014-08-13 22:18:37 +00:00
|
|
|
width: parent.width
|
2014-08-12 09:02:33 +00:00
|
|
|
height: 200
|
2014-08-23 09:00:15 +00:00
|
|
|
anchors.bottom: parent.bottom
|
|
|
|
|
|
|
|
TableView {
|
|
|
|
id: addressView
|
|
|
|
width: parent.width
|
|
|
|
height: 200
|
|
|
|
anchors {
|
|
|
|
left: parent.left
|
|
|
|
right: logLevelSlider.left
|
|
|
|
bottom: parent.bottom
|
|
|
|
top: parent.top
|
|
|
|
}
|
|
|
|
TableViewColumn{ role: "name"; title: "name" }
|
|
|
|
TableViewColumn{ role: "address"; title: "address"; width: 300}
|
|
|
|
|
|
|
|
property var addressModel: ListModel {
|
|
|
|
id: addressModel
|
|
|
|
}
|
|
|
|
|
|
|
|
model: addressModel
|
|
|
|
itemDelegate: Item {
|
|
|
|
Text {
|
|
|
|
anchors {
|
|
|
|
left: parent.left
|
|
|
|
right: parent.right
|
|
|
|
leftMargin: 10
|
|
|
|
verticalCenter: parent.verticalCenter
|
|
|
|
}
|
|
|
|
color: styleData.textColor
|
|
|
|
elide: styleData.elideMode
|
|
|
|
text: styleData.value
|
|
|
|
font.pixelSize: 11
|
|
|
|
MouseArea {
|
|
|
|
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
|
|
|
propagateComposedEvents: true
|
|
|
|
anchors.fill: parent
|
|
|
|
onClicked: {
|
|
|
|
addressView.selection.clear()
|
|
|
|
addressView.selection.select(styleData.row)
|
|
|
|
|
|
|
|
if(mouse.button == Qt.RightButton) {
|
|
|
|
contextMenu.row = styleData.row;
|
|
|
|
contextMenu.popup()
|
|
|
|
}
|
2014-08-17 11:49:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-08-23 09:00:15 +00:00
|
|
|
Menu {
|
|
|
|
id: contextMenu
|
|
|
|
property var row;
|
|
|
|
|
|
|
|
MenuItem {
|
|
|
|
text: "Copy"
|
|
|
|
onTriggered: {
|
|
|
|
copyToClipboard(addressModel.get(this.row).address)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2014-08-17 11:49:46 +00:00
|
|
|
}
|
|
|
|
|
2014-09-26 11:34:06 +00:00
|
|
|
/*
|
2014-08-12 09:02:33 +00:00
|
|
|
TableView {
|
|
|
|
id: logView
|
|
|
|
headerVisible: false
|
|
|
|
anchors {
|
|
|
|
right: logLevelSlider.left
|
|
|
|
left: parent.left
|
|
|
|
bottom: parent.bottom
|
|
|
|
top: parent.top
|
|
|
|
}
|
|
|
|
|
|
|
|
TableViewColumn{ role: "description" ; title: "log" }
|
|
|
|
|
|
|
|
model: logModel
|
|
|
|
}
|
2014-09-26 11:34:06 +00:00
|
|
|
*/
|
2014-08-12 09:02:33 +00:00
|
|
|
|
|
|
|
Slider {
|
|
|
|
id: logLevelSlider
|
2014-08-12 10:16:21 +00:00
|
|
|
value: gui.getLogLevelInt()
|
2014-08-12 09:02:33 +00:00
|
|
|
anchors {
|
|
|
|
right: parent.right
|
|
|
|
top: parent.top
|
|
|
|
bottom: parent.bottom
|
|
|
|
|
|
|
|
rightMargin: 5
|
|
|
|
leftMargin: 5
|
|
|
|
topMargin: 5
|
|
|
|
bottomMargin: 5
|
|
|
|
}
|
|
|
|
|
|
|
|
orientation: Qt.Vertical
|
|
|
|
maximumValue: 5
|
|
|
|
stepSize: 1
|
|
|
|
|
|
|
|
onValueChanged: {
|
2014-08-12 10:16:21 +00:00
|
|
|
gui.setLogLevel(value)
|
2014-08-12 09:02:33 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2014-09-26 11:34:06 +00:00
|
|
|
|
|
|
|
property var logModel: ListModel {
|
|
|
|
id: logModel
|
|
|
|
}
|
2014-08-12 09:02:33 +00:00
|
|
|
|
|
|
|
function addDebugMessage(message){
|
|
|
|
debuggerLog.append({value: message})
|
|
|
|
}
|
|
|
|
|
|
|
|
function addAddress(address) {
|
|
|
|
addressModel.append({name: address.name, address: address.address})
|
|
|
|
}
|
|
|
|
|
|
|
|
function clearAddress() {
|
|
|
|
addressModel.clear()
|
|
|
|
}
|
|
|
|
|
|
|
|
function addLog(str) {
|
|
|
|
// Remove first item once we've reached max log items
|
|
|
|
if(logModel.count > 250) {
|
|
|
|
logModel.remove(0)
|
|
|
|
}
|
|
|
|
|
|
|
|
if(str.len != 0) {
|
|
|
|
if(logView.flickableItem.atYEnd) {
|
|
|
|
logModel.append({description: str})
|
|
|
|
logView.positionViewAtRow(logView.rowCount - 1, ListView.Contain)
|
|
|
|
} else {
|
|
|
|
logModel.append({description: str})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|