Error window
This commit is contained in:
parent
9131a7c65e
commit
09c7d158d1
@ -7,7 +7,7 @@ Status](http://cpt-obvious.ethercasts.com:8010/buildstatusimage?builder=go-ether
|
||||
|
||||
Ethereum Go Client © 2014 Jeffrey Wilcke.
|
||||
|
||||
Current state: Proof of Concept 0.6.4.
|
||||
Current state: Proof of Concept 0.6.5.
|
||||
|
||||
For the development package please see the [eth-go package](https://github.com/ethereum/eth-go).
|
||||
|
||||
|
36
ethereal/errors.go
Normal file
36
ethereal/errors.go
Normal file
@ -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";
|
||||
}
|
||||
}
|
||||
`
|
@ -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)
|
||||
|
||||
|
@ -13,7 +13,7 @@ import (
|
||||
|
||||
const (
|
||||
ClientIdentifier = "Ethereum(G)"
|
||||
Version = "0.6.4"
|
||||
Version = "0.6.5"
|
||||
)
|
||||
|
||||
var logger = ethlog.NewLogger("CLI")
|
||||
|
11
utils/cmd.go
11
utils/cmd.go
@ -80,6 +80,16 @@ func confirm(message string) bool {
|
||||
return r == "y"
|
||||
}
|
||||
|
||||
func DBSanityCheck(db ethutil.Database) error {
|
||||
d, _ := db.Get([]byte("ProtocolVersion"))
|
||||
protov := ethutil.NewValue(d).Uint()
|
||||
if protov != eth.ProtocolVersion && protov != 0 {
|
||||
return fmt.Errorf("Database version mismatch. Protocol(%d / %d). `rm -rf %s`", protov, eth.ProtocolVersion, ethutil.Config.ExecPath+"/database")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func InitDataDir(Datadir string) {
|
||||
_, err := os.Stat(Datadir)
|
||||
if err != nil {
|
||||
@ -112,7 +122,6 @@ func InitConfig(ConfigFile string, Datadir string, EnvPrefix string) *ethutil.Co
|
||||
func exit(err error) {
|
||||
status := 0
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
logger.Errorln("Fatal: ", err)
|
||||
status = 1
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user