aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ethereal/assets/ext/filter.js2
-rw-r--r--ethereal/assets/qml/views/chain.qml11
-rw-r--r--ethereal/assets/qml/views/wallet.qml1
-rw-r--r--ethereal/assets/qml/wallet.qml31
-rw-r--r--ethereal/bindings.go2
-rw-r--r--ethereal/gui.go10
-rw-r--r--ethereal/ui_lib.go4
7 files changed, 35 insertions, 26 deletions
diff --git a/ethereal/assets/ext/filter.js b/ethereal/assets/ext/filter.js
index 5c1c03aad..6d6ec8748 100644
--- a/ethereal/assets/ext/filter.js
+++ b/ethereal/assets/ext/filter.js
@@ -3,7 +3,7 @@ var Filter = function(options) {
this.seed = Math.floor(Math.random() * 1000000);
this.options = options;
- if(options == "chain") {
+ if(options === "chain") {
eth.registerFilterString(options, this.seed);
} else if(typeof options === "object") {
eth.registerFilter(options, this.seed);
diff --git a/ethereal/assets/qml/views/chain.qml b/ethereal/assets/qml/views/chain.qml
index ed019acf1..5bfc4b6c7 100644
--- a/ethereal/assets/qml/views/chain.qml
+++ b/ethereal/assets/qml/views/chain.qml
@@ -98,15 +98,18 @@ Rectangle {
function addBlock(block, initial) {
- var txs = JSON.parse(block.transactions);
- var amount = 0
if(initial == undefined){
initial = false
}
+ /*
+ var txs = JSON.parse(block.transactions);
if(txs != null){
amount = txs.length
}
+ */
+ var txs = block.transactions;
+ var amount = block.transactions.length;
if(initial){
blockModel.append({size: block.size, number: block.number, name: block.name, gasLimit: block.gasLimit, gasUsed: block.gasUsed, coinbase: block.coinbase, hash: block.hash, txs: txs, txAmount: amount, time: block.time, prettyTime: convertToPretty(block.time)})
@@ -241,8 +244,8 @@ Rectangle {
singleBlock.set(0,block)
popup.height = 300
transactionModel.clear()
- if(block.txs != undefined){
- for(var i = 0; i < block.txs.count; ++i) {
+ if(block.txs !== undefined){
+ for(var i = 0; i < block.txs.length; i++) {
transactionModel.insert(0, block.txs.get(i))
}
if(block.txs.get(0).data){
diff --git a/ethereal/assets/qml/views/wallet.qml b/ethereal/assets/qml/views/wallet.qml
index ce472812e..c2513289e 100644
--- a/ethereal/assets/qml/views/wallet.qml
+++ b/ethereal/assets/qml/views/wallet.qml
@@ -157,6 +157,7 @@ Rectangle {
addTxs(filter.messages())
}
+
function addTxs(messages) {
for(var i = 0; i < messages.length; i++) {
var message = messages[i];
diff --git a/ethereal/assets/qml/wallet.qml b/ethereal/assets/qml/wallet.qml
index ed527ced7..0ddbd26bd 100644
--- a/ethereal/assets/qml/wallet.qml
+++ b/ethereal/assets/qml/wallet.qml
@@ -18,7 +18,7 @@ ApplicationWindow {
height: 600
minimumHeight: 300
- title: "Ether browser"
+ title: "Ethegate"
// This signal is used by the filter API. The filter API connects using this signal handler from
// the different QML files and plugins.
@@ -55,25 +55,28 @@ ApplicationWindow {
}
function addPlugin(path, options) {
- var component = Qt.createComponent(path);
- if(component.status != Component.Ready) {
- if(component.status == Component.Error) {
- console.debug("Error:"+ component.errorString());
+ try {
+ var component = Qt.createComponent(path);
+ if(component.status != Component.Ready) {
+ if(component.status == Component.Error) {
+ console.debug("Error:"+ component.errorString());
+ }
+
+ return
}
- return
- }
+ var views = mainSplit.addComponent(component, options)
+ views.menuItem.path = path
- var views = mainSplit.addComponent(component, options)
- views.menuItem.path = path
+ mainSplit.views.push(views);
- mainSplit.views.push(views);
+ if(!options.noAdd) {
+ gui.addPlugin(path)
+ }
- if(!options.noAdd) {
- gui.addPlugin(path)
+ return views.view
+ } catch(e) {
}
-
- return views.view
}
MenuBar {
diff --git a/ethereal/bindings.go b/ethereal/bindings.go
index e129ea6af..141c4a469 100644
--- a/ethereal/bindings.go
+++ b/ethereal/bindings.go
@@ -78,7 +78,7 @@ func (gui *Gui) GetLogLevel() ethlog.LogLevel {
}
func (self *Gui) AddPlugin(pluginPath string) {
- self.plugins[pluginPath] = plugin{Name: "SomeName", Path: pluginPath}
+ self.plugins[pluginPath] = plugin{Name: pluginPath, Path: pluginPath}
json, _ := json.MarshalIndent(self.plugins, "", " ")
ethutil.WriteFile(ethutil.Config.ExecPath+"/plugins.json", json)
diff --git a/ethereal/gui.go b/ethereal/gui.go
index bd1466e8b..33fd35e6e 100644
--- a/ethereal/gui.go
+++ b/ethereal/gui.go
@@ -5,6 +5,7 @@ import (
"encoding/json"
"fmt"
"math/big"
+ "path"
"runtime"
"strconv"
"strings"
@@ -63,12 +64,7 @@ func NewWindow(ethereum *eth.Ethereum, config *ethutil.ConfigManager, clientIden
pipe := ethpipe.NewJSPipe(ethereum)
gui := &Gui{eth: ethereum, txDb: db, pipe: pipe, logLevel: ethlog.LogLevel(logLevel), Session: session, open: false, clientIdentity: clientIdentity, config: config, plugins: make(map[string]plugin)}
- data, err := ethutil.ReadAllFile(ethutil.Config.ExecPath + "/plugins.json")
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println("plugins:", string(data))
-
+ data, _ := ethutil.ReadAllFile(path.Join(ethutil.Config.ExecPath, "plugins.json"))
json.Unmarshal([]byte(data), &gui.plugins)
return gui
@@ -339,6 +335,8 @@ func (gui *Gui) update() {
}()
for _, plugin := range gui.plugins {
+ logger.Infoln("Loading plugin ", plugin.Name)
+
gui.win.Root().Call("addPlugin", plugin.Path, "")
}
diff --git a/ethereal/ui_lib.go b/ethereal/ui_lib.go
index fa09751e1..80e711aa7 100644
--- a/ethereal/ui_lib.go
+++ b/ethereal/ui_lib.go
@@ -44,6 +44,10 @@ func NewUiLib(engine *qml.Engine, eth *eth.Ethereum, assetPath string) *UiLib {
return &UiLib{JSPipe: ethpipe.NewJSPipe(eth), engine: engine, eth: eth, assetPath: assetPath, jsEngine: javascript.NewJSRE(eth), filterCallbacks: make(map[int][]int), filters: make(map[int]*GuiFilter)}
}
+func (self *UiLib) Note(msg string) {
+ logger.Infoln(msg)
+}
+
func (self *UiLib) LookupDomain(domain string) string {
world := self.World()