forked from cerc-io/plugeth
Refactored some code and fixed #37
This commit is contained in:
parent
5d15563ea7
commit
c43ea30e75
@ -61,7 +61,7 @@ ApplicationWindow {
|
||||
text: "Restore"
|
||||
enabled: false
|
||||
onClicked: {
|
||||
var success = eth.importAndSetPrivKey(txPrivKey.text)
|
||||
var success = lib.importAndSetPrivKey(txPrivKey.text)
|
||||
if(success){
|
||||
importedDetails.visible = true
|
||||
restoreColumn.visible = false
|
||||
@ -139,7 +139,7 @@ ApplicationWindow {
|
||||
id: newKey
|
||||
text: "I don't have an account yet"
|
||||
onClicked: {
|
||||
var res = eth.createAndSetPrivKey()
|
||||
var res = lib.createAndSetPrivKey()
|
||||
mnemonicInput.text = res[0]
|
||||
addressInput.text = res[1]
|
||||
privkeyInput.text = res[2]
|
||||
|
@ -25,6 +25,7 @@ type Gui struct {
|
||||
|
||||
// The public Ethereum library
|
||||
lib *EthLib
|
||||
uiLib *UiLib
|
||||
|
||||
txDb *ethdb.LDBDatabase
|
||||
|
||||
@ -75,11 +76,12 @@ func (gui *Gui) Start(assetPath string) {
|
||||
|
||||
// Expose the eth library and the ui library to QML
|
||||
context.SetVar("eth", gui)
|
||||
uiLib := NewUiLib(gui.engine, gui.eth, assetPath)
|
||||
context.SetVar("ui", uiLib)
|
||||
gui.uiLib = NewUiLib(gui.engine, gui.eth, assetPath)
|
||||
context.SetVar("ui", gui.uiLib)
|
||||
|
||||
// Load the main QML interface
|
||||
data, _ := ethutil.Config.Db.Get([]byte("KeyRing"))
|
||||
/*
|
||||
var err error
|
||||
var component qml.Object
|
||||
firstRun := len(data) == 0
|
||||
@ -115,6 +117,63 @@ func (gui *Gui) Start(assetPath string) {
|
||||
gui.win.Wait()
|
||||
|
||||
gui.eth.Stop()
|
||||
*/
|
||||
|
||||
var win *qml.Window
|
||||
var err error
|
||||
if len(data) == 0 {
|
||||
win, err = gui.showKeyImport(context)
|
||||
} else {
|
||||
win, err = gui.showWallet(context)
|
||||
}
|
||||
if err != nil {
|
||||
ethutil.Config.Log.Infoln("FATAL: asset not found: you can set an alternative asset path on on the command line using option 'asset_path'")
|
||||
|
||||
panic(err)
|
||||
}
|
||||
|
||||
win.Show()
|
||||
win.Wait()
|
||||
|
||||
gui.eth.Stop()
|
||||
}
|
||||
|
||||
func (gui *Gui) showWallet(context *qml.Context) (*qml.Window, error) {
|
||||
component, err := gui.engine.LoadFile(gui.uiLib.AssetPath("qml/wallet.qml"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
win := gui.createWindow(component)
|
||||
|
||||
go gui.setInitialBlockChain()
|
||||
go gui.readPreviousTransactions()
|
||||
go gui.update()
|
||||
|
||||
return win, nil
|
||||
}
|
||||
|
||||
func (gui *Gui) showKeyImport(context *qml.Context) (*qml.Window, error) {
|
||||
context.SetVar("lib", gui.lib)
|
||||
component, err := gui.engine.LoadFile(gui.uiLib.AssetPath("qml/first_run.qml"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return gui.createWindow(component), nil
|
||||
}
|
||||
|
||||
func (gui *Gui) createWindow(comp qml.Object) *qml.Window {
|
||||
win := comp.CreateWindow(nil)
|
||||
|
||||
gui.win = win
|
||||
gui.uiLib.win = win
|
||||
|
||||
db := &Debugger{gui.win, make(chan bool)}
|
||||
gui.lib.Db = db
|
||||
gui.uiLib.Db = db
|
||||
|
||||
return gui.win
|
||||
}
|
||||
|
||||
func (gui *Gui) setInitialBlockChain() {
|
||||
|
Loading…
Reference in New Issue
Block a user