diff options
author | obscuren <geffobscura@gmail.com> | 2014-08-22 18:12:41 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-08-22 18:12:41 +0800 |
commit | 09c7d158d1180dc9ec042b67f8c1ecb1015a142e (patch) | |
tree | 55b6e96f3e7ff3a2ab0037eda1ce56282e508f46 /ethereal | |
parent | 9131a7c65eca0951f25c7ea12865244c60090b92 (diff) | |
download | dexon-09c7d158d1180dc9ec042b67f8c1ecb1015a142e.tar.gz dexon-09c7d158d1180dc9ec042b67f8c1ecb1015a142e.tar.zst dexon-09c7d158d1180dc9ec042b67f8c1ecb1015a142e.zip |
Error window
Diffstat (limited to 'ethereal')
-rw-r--r-- | ethereal/errors.go | 36 | ||||
-rw-r--r-- | ethereal/main.go | 20 |
2 files changed, 55 insertions, 1 deletions
diff --git a/ethereal/errors.go b/ethereal/errors.go new file mode 100644 index 000000000..409b7a281 --- /dev/null +++ b/ethereal/errors.go @@ -0,0 +1,36 @@ +package main + +import ( + "fmt" + "os" + + "gopkg.in/qml.v1" +) + +func ErrorWindow(err error) { + engine := qml.NewEngine() + component, e := engine.LoadString("local", qmlErr) + if e != nil { + fmt.Println("err:", err) + os.Exit(1) + } + + win := component.CreateWindow(nil) + win.Root().ObjectByName("label").Set("text", err.Error()) + win.Show() + win.Wait() +} + +const qmlErr = ` +import QtQuick 2.0; import QtQuick.Controls 1.0; +ApplicationWindow { + width: 600; height: 150; + flags: Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowCloseButtonHint + title: "Error" + Text { + x: parent.width / 2 - this.width / 2; + y: parent.height / 2 - this.height / 2; + objectName: "label"; + } +} +` diff --git a/ethereal/main.go b/ethereal/main.go index 4cb8630e8..3729dbdaf 100644 --- a/ethereal/main.go +++ b/ethereal/main.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "os" "runtime" @@ -12,7 +13,7 @@ import ( const ( ClientIdentifier = "Ethereal" - Version = "0.6.4" + Version = "0.6.5" ) var ethereum *eth.Ethereum @@ -28,6 +29,23 @@ func run() error { utils.InitLogging(Datadir, LogFile, LogLevel, DebugFile) db := utils.NewDatabase() + err := utils.DBSanityCheck(db) + if err != nil { + engine := qml.NewEngine() + component, e := engine.LoadString("local", qmlErr) + if e != nil { + fmt.Println("err:", err) + os.Exit(1) + } + + win := component.CreateWindow(nil) + win.Root().ObjectByName("label").Set("text", err.Error()) + win.Show() + win.Wait() + + ErrorWindow(err) + os.Exit(1) + } keyManager := utils.NewKeyManager(KeyStore, Datadir, db) |