aboutsummaryrefslogtreecommitdiffstats
path: root/ethereal
diff options
context:
space:
mode:
Diffstat (limited to 'ethereal')
-rw-r--r--ethereal/assets/qml/views/info.qml130
-rw-r--r--ethereal/gui.go28
-rw-r--r--ethereal/main.go1
3 files changed, 117 insertions, 42 deletions
diff --git a/ethereal/assets/qml/views/info.qml b/ethereal/assets/qml/views/info.qml
index ca6ca077e..9ac2a1a09 100644
--- a/ethereal/assets/qml/views/info.qml
+++ b/ethereal/assets/qml/views/info.qml
@@ -44,59 +44,104 @@ Rectangle {
gui.setCustomIdentifier(text)
}
}
- }
- property var addressModel: ListModel {
- id: addressModel
+ TextArea {
+ objectName: "statsPane"
+ width: parent.width
+ height: 200
+ selectByMouse: true
+ readOnly: true
+ font.family: "Courier"
+ }
}
- TableView {
- id: addressView
+
+ RowLayout {
+ id: logLayout
width: parent.width
height: 200
- anchors.bottom: logLayout.top
- TableViewColumn{ role: "name"; title: "name" }
- TableViewColumn{ role: "address"; title: "address"; width: 300}
-
- 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()
+ 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()
+ }
}
}
}
+
}
+ Menu {
+ id: contextMenu
+ property var row;
+
+ MenuItem {
+ text: "Copy"
+ onTriggered: {
+ copyToClipboard(addressModel.get(this.row).address)
+ }
+ }
+ }
}
- Menu {
- id: contextMenu
- property var row;
+ Slider {
+ id: logLevelSlider
+ value: gui.getLogLevelInt()
+ anchors {
+ right: parent.right
+ top: parent.top
+ bottom: parent.bottom
- MenuItem {
- text: "Copy"
- onTriggered: {
- copyToClipboard(addressModel.get(this.row).address)
- }
+ rightMargin: 5
+ leftMargin: 5
+ topMargin: 5
+ bottomMargin: 5
+ }
+
+ orientation: Qt.Vertical
+ maximumValue: 5
+ stepSize: 1
+
+ onValueChanged: {
+ gui.setLogLevel(value)
}
}
}
@@ -104,6 +149,8 @@ Rectangle {
property var logModel: ListModel {
id: logModel
}
+
+ /*
RowLayout {
id: logLayout
width: parent.width
@@ -147,6 +194,7 @@ Rectangle {
}
}
}
+ */
function addDebugMessage(message){
debuggerLog.append({value: message})
diff --git a/ethereal/gui.go b/ethereal/gui.go
index 5e87f7464..4849fbab7 100644
--- a/ethereal/gui.go
+++ b/ethereal/gui.go
@@ -6,6 +6,7 @@ import (
"fmt"
"math/big"
"os"
+ "runtime"
"strconv"
"strings"
"time"
@@ -412,6 +413,7 @@ func (gui *Gui) update() {
peerUpdateTicker := time.NewTicker(5 * time.Second)
generalUpdateTicker := time.NewTicker(1 * time.Second)
+ statsUpdateTicker := time.NewTicker(5 * time.Second)
state := gui.eth.StateManager().TransState()
@@ -488,6 +490,10 @@ func (gui *Gui) update() {
pow := gui.miner.GetPow()
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)
}
+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) {
//clipboard.WriteAll("test")
fmt.Println("COPY currently BUGGED. Here are the contents:\n", data)
diff --git a/ethereal/main.go b/ethereal/main.go
index 4fb9e2a9c..ac94a6622 100644
--- a/ethereal/main.go
+++ b/ethereal/main.go
@@ -71,7 +71,6 @@ func main() {
// This is a bit of a cheat, but ey!
os.Setenv("QTWEBKIT_INSPECTOR_SERVER", "127.0.0.1:99999")
- //qml.Init(nil)
qml.Run(run)
var interrupted = false