diff options
author | obscuren <geffobscura@gmail.com> | 2014-08-11 22:24:35 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-08-11 22:24:35 +0800 |
commit | c59d7a899b0ca121b3f982fa12405629109f1b47 (patch) | |
tree | 1859ac54e0f9948927287caeae863b730eb1fbd9 /ethereal | |
parent | ce8f24e57a3ba31d17c34db284bd3d9efa15e7d8 (diff) | |
download | dexon-c59d7a899b0ca121b3f982fa12405629109f1b47.tar.gz dexon-c59d7a899b0ca121b3f982fa12405629109f1b47.tar.zst dexon-c59d7a899b0ca121b3f982fa12405629109f1b47.zip |
Added open js option for repetitive tasks in ethereal
Diffstat (limited to 'ethereal')
-rw-r--r-- | ethereal/assets/qml/wallet.qml | 20 | ||||
-rw-r--r-- | ethereal/gui.go | 15 |
2 files changed, 34 insertions, 1 deletions
diff --git a/ethereal/assets/qml/wallet.qml b/ethereal/assets/qml/wallet.qml index e3ef148b0..e264d3f4c 100644 --- a/ethereal/assets/qml/wallet.qml +++ b/ethereal/assets/qml/wallet.qml @@ -63,6 +63,16 @@ ApplicationWindow { txImportDialog.visible = true } } + + MenuItem { + text: "Run JS file" + onTriggered: { + generalFileDialog.callback = function(path) { + eth.evalJavascriptFile(path) + } + generalFileDialog.open() + } + } } Menu { @@ -452,6 +462,16 @@ ApplicationWindow { onAccepted: { } } + + + FileDialog { + id: generalFileDialog + property var callback; + onAccepted: { + var path = this.fileUrl.toString() + callback.call(this, path) + } + } FileDialog { id: importDialog diff --git a/ethereal/gui.go b/ethereal/gui.go index 36e147ba9..d2363b5a9 100644 --- a/ethereal/gui.go +++ b/ethereal/gui.go @@ -18,6 +18,7 @@ import ( "github.com/ethereum/eth-go/ethreact" "github.com/ethereum/eth-go/ethutil" "github.com/ethereum/eth-go/ethwire" + "github.com/ethereum/go-ethereum/javascript" "github.com/ethereum/go-ethereum/utils" "github.com/go-qml/qml" ) @@ -47,6 +48,8 @@ type Gui struct { config *ethutil.ConfigManager miner *ethminer.Miner + + jsEngine *javascript.JSRE } // Create GUI, but doesn't start it @@ -58,7 +61,7 @@ func NewWindow(ethereum *eth.Ethereum, config *ethutil.ConfigManager, clientIden pub := ethpub.NewPEthereum(ethereum) - return &Gui{eth: ethereum, txDb: db, pub: pub, logLevel: ethlog.LogLevel(logLevel), Session: session, open: false, clientIdentity: clientIdentity, config: config} + return &Gui{eth: ethereum, txDb: db, pub: pub, logLevel: ethlog.LogLevel(logLevel), Session: session, open: false, clientIdentity: clientIdentity, config: config, jsEngine: javascript.NewJSRE(ethereum)} } func (gui *Gui) Start(assetPath string) { @@ -121,6 +124,9 @@ func (gui *Gui) Stop() { gui.open = false gui.win.Hide() } + + gui.jsEngine.Stop() + logger.Infoln("Stopped") } @@ -464,6 +470,13 @@ func (self *Gui) ImportTx(rlpTx string) { self.eth.TxPool().QueueTransaction(tx) } +func (self *Gui) SearchChange(blockHash, address, storageAddress string) { +} + +func (self *Gui) EvalJavascriptFile(path string) { + self.jsEngine.LoadExtFile(path[7:]) +} + func (gui *Gui) SetCustomIdentifier(customIdentifier string) { gui.clientIdentity.SetCustomIdentifier(customIdentifier) gui.config.Save("id", customIdentifier) |