Minor updates to the UI
This commit is contained in:
parent
5ac875b097
commit
ded013b7a7
|
@ -44,59 +44,104 @@ Rectangle {
|
||||||
gui.setCustomIdentifier(text)
|
gui.setCustomIdentifier(text)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TextArea {
|
||||||
|
objectName: "statsPane"
|
||||||
|
width: parent.width
|
||||||
|
height: 200
|
||||||
|
selectByMouse: true
|
||||||
|
readOnly: true
|
||||||
|
font.family: "Courier"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
property var addressModel: ListModel {
|
RowLayout {
|
||||||
id: addressModel
|
id: logLayout
|
||||||
}
|
|
||||||
TableView {
|
|
||||||
id: addressView
|
|
||||||
width: parent.width
|
width: parent.width
|
||||||
height: 200
|
height: 200
|
||||||
anchors.bottom: logLayout.top
|
anchors.bottom: parent.bottom
|
||||||
TableViewColumn{ role: "name"; title: "name" }
|
|
||||||
TableViewColumn{ role: "address"; title: "address"; width: 300}
|
|
||||||
|
|
||||||
model: addressModel
|
TableView {
|
||||||
itemDelegate: Item {
|
id: addressView
|
||||||
Text {
|
width: parent.width
|
||||||
anchors {
|
height: 200
|
||||||
left: parent.left
|
anchors {
|
||||||
right: parent.right
|
left: parent.left
|
||||||
leftMargin: 10
|
right: logLevelSlider.left
|
||||||
verticalCenter: parent.verticalCenter
|
bottom: parent.bottom
|
||||||
}
|
top: parent.top
|
||||||
color: styleData.textColor
|
}
|
||||||
elide: styleData.elideMode
|
TableViewColumn{ role: "name"; title: "name" }
|
||||||
text: styleData.value
|
TableViewColumn{ role: "address"; title: "address"; width: 300}
|
||||||
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) {
|
property var addressModel: ListModel {
|
||||||
contextMenu.row = styleData.row;
|
id: addressModel
|
||||||
contextMenu.popup()
|
}
|
||||||
|
|
||||||
|
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()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Menu {
|
||||||
|
id: contextMenu
|
||||||
|
property var row;
|
||||||
|
|
||||||
|
MenuItem {
|
||||||
|
text: "Copy"
|
||||||
|
onTriggered: {
|
||||||
|
copyToClipboard(addressModel.get(this.row).address)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Menu {
|
Slider {
|
||||||
id: contextMenu
|
id: logLevelSlider
|
||||||
property var row;
|
value: gui.getLogLevelInt()
|
||||||
|
anchors {
|
||||||
|
right: parent.right
|
||||||
|
top: parent.top
|
||||||
|
bottom: parent.bottom
|
||||||
|
|
||||||
MenuItem {
|
rightMargin: 5
|
||||||
text: "Copy"
|
leftMargin: 5
|
||||||
onTriggered: {
|
topMargin: 5
|
||||||
copyToClipboard(addressModel.get(this.row).address)
|
bottomMargin: 5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
orientation: Qt.Vertical
|
||||||
|
maximumValue: 5
|
||||||
|
stepSize: 1
|
||||||
|
|
||||||
|
onValueChanged: {
|
||||||
|
gui.setLogLevel(value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -104,6 +149,8 @@ Rectangle {
|
||||||
property var logModel: ListModel {
|
property var logModel: ListModel {
|
||||||
id: logModel
|
id: logModel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
RowLayout {
|
RowLayout {
|
||||||
id: logLayout
|
id: logLayout
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
@ -147,6 +194,7 @@ Rectangle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
function addDebugMessage(message){
|
function addDebugMessage(message){
|
||||||
debuggerLog.append({value: message})
|
debuggerLog.append({value: message})
|
||||||
|
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/big"
|
"math/big"
|
||||||
"os"
|
"os"
|
||||||
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
@ -412,6 +413,7 @@ func (gui *Gui) update() {
|
||||||
|
|
||||||
peerUpdateTicker := time.NewTicker(5 * time.Second)
|
peerUpdateTicker := time.NewTicker(5 * time.Second)
|
||||||
generalUpdateTicker := time.NewTicker(1 * time.Second)
|
generalUpdateTicker := time.NewTicker(1 * time.Second)
|
||||||
|
statsUpdateTicker := time.NewTicker(5 * time.Second)
|
||||||
|
|
||||||
state := gui.eth.StateManager().TransState()
|
state := gui.eth.StateManager().TransState()
|
||||||
|
|
||||||
|
@ -488,6 +490,10 @@ func (gui *Gui) update() {
|
||||||
pow := gui.miner.GetPow()
|
pow := gui.miner.GetPow()
|
||||||
miningLabel.Set("text", "Mining @ "+strconv.FormatInt(pow.GetHashrate(), 10)+"Khash")
|
miningLabel.Set("text", "Mining @ "+strconv.FormatInt(pow.GetHashrate(), 10)+"Khash")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case <-statsUpdateTicker.C:
|
||||||
|
gui.setStatsPane()
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
@ -507,6 +513,28 @@ func (gui *Gui) update() {
|
||||||
reactor.Subscribe("peerList", peerChan)
|
reactor.Subscribe("peerList", peerChan)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (gui *Gui) setStatsPane() {
|
||||||
|
var memStats runtime.MemStats
|
||||||
|
runtime.ReadMemStats(&memStats)
|
||||||
|
|
||||||
|
statsPane := gui.getObjectByName("statsPane")
|
||||||
|
statsPane.Set("text", fmt.Sprintf(`###### Ethereal 0.6.4 (%s) #######
|
||||||
|
|
||||||
|
CPU: # %d
|
||||||
|
Goroutines: # %d
|
||||||
|
CGoCalls: # %d
|
||||||
|
|
||||||
|
Alloc: %d
|
||||||
|
Heap Alloc: %d
|
||||||
|
|
||||||
|
CGNext: %x
|
||||||
|
NumGC: %d
|
||||||
|
`, runtime.Version(), runtime.NumCPU, runtime.NumGoroutine(), runtime.NumCgoCall(),
|
||||||
|
memStats.Alloc, memStats.HeapAlloc,
|
||||||
|
memStats.NextGC, memStats.NumGC,
|
||||||
|
))
|
||||||
|
}
|
||||||
|
|
||||||
func (gui *Gui) CopyToClipboard(data string) {
|
func (gui *Gui) CopyToClipboard(data string) {
|
||||||
//clipboard.WriteAll("test")
|
//clipboard.WriteAll("test")
|
||||||
fmt.Println("COPY currently BUGGED. Here are the contents:\n", data)
|
fmt.Println("COPY currently BUGGED. Here are the contents:\n", data)
|
||||||
|
|
|
@ -71,7 +71,6 @@ func main() {
|
||||||
// This is a bit of a cheat, but ey!
|
// This is a bit of a cheat, but ey!
|
||||||
os.Setenv("QTWEBKIT_INSPECTOR_SERVER", "127.0.0.1:99999")
|
os.Setenv("QTWEBKIT_INSPECTOR_SERVER", "127.0.0.1:99999")
|
||||||
|
|
||||||
//qml.Init(nil)
|
|
||||||
qml.Run(run)
|
qml.Run(run)
|
||||||
|
|
||||||
var interrupted = false
|
var interrupted = false
|
||||||
|
|
Loading…
Reference in New Issue