From e7c9b86a5aba022afd812f1a4fb554ee17a74bbd Mon Sep 17 00:00:00 2001 From: obscuren Date: Fri, 30 May 2014 13:28:31 +0200 Subject: [PATCH] Improved UI * Added mining button --- ethereal/assets/qml/wallet.qml | 148 ++++++--------------------------- ethereal/config.go | 5 +- ethereal/ethereum.go | 8 +- ethereal/ui/gui.go | 14 ++++ utils/cmd.go | 2 - 5 files changed, 47 insertions(+), 130 deletions(-) diff --git a/ethereal/assets/qml/wallet.qml b/ethereal/assets/qml/wallet.qml index 2ab1f31dec..4ad4cd7f68 100644 --- a/ethereal/assets/qml/wallet.qml +++ b/ethereal/assets/qml/wallet.qml @@ -10,6 +10,8 @@ import Ethereum 1.0 ApplicationWindow { id: root + property alias miningButtonText: miningButton.text + width: 900 height: 600 minimumHeight: 300 @@ -27,13 +29,6 @@ ApplicationWindow { } Menu { - title: "Tools" - MenuItem { - text: "Muted" - shortcut: "Ctrl+e" - onTriggered: ui.muted("") - } - MenuItem { text: "Debugger" shortcut: "Ctrl+d" @@ -50,11 +45,6 @@ ApplicationWindow { addPeerWin.visible = true } } - - MenuItem { - text: "Start" - onTriggered: ui.connect() - } } Menu { @@ -310,8 +300,15 @@ ApplicationWindow { } statusBar: StatusBar { + height: 30 RowLayout { - anchors.fill: parent + Button { + id: miningButton + onClicked: { + eth.toggleMining() + } + text: "Start Mining" + } Button { property var enabled: true @@ -335,20 +332,22 @@ ApplicationWindow { anchors.leftMargin: 5 id: walletValueLabel } + } - Label { - anchors.right: peerImage.left - anchors.rightMargin: 5 - id: peerLabel - font.pixelSize: 8 - text: "0 / 0" - } - Image { - id: peerImage - anchors.right: parent.right - width: 10; height: 10 - source: ui.assetPath("network.png") - } + Label { + y: 7 + anchors.right: peerImage.left + anchors.rightMargin: 5 + id: peerLabel + font.pixelSize: 8 + text: "0 / 0" + } + Image { + y: 7 + id: peerImage + anchors.right: parent.right + width: 10; height: 10 + source: ui.assetPath("network.png") } } @@ -546,94 +545,6 @@ ApplicationWindow { font.pointSize: 12 text: "

Ethereal


Development

Jeffrey Wilcke
Maran Hidskes
" } - - } - - ApplicationWindow { - id: debugWindow - visible: false - title: "Debugger" - minimumWidth: 600 - minimumHeight: 600 - width: 800 - height: 600 - - - Item { - id: keyHandler - focus: true - Keys.onPressed: { - if (event.key == Qt.Key_Space) { - ui.next() - } - } - } - SplitView { - anchors.fill: parent - property var asmModel: ListModel { - id: asmModel - } - TableView { - id: asmTableView - width: 200 - TableViewColumn{ role: "value" ; title: "" ; width: 100 } - model: asmModel - } - - Rectangle { - anchors.left: asmTableView.right - anchors.right: parent.right - SplitView { - orientation: Qt.Vertical - anchors.fill: parent - - TableView { - property var memModel: ListModel { - id: memModel - } - height: parent.height/2 - width: parent.width - TableViewColumn{ id:mnumColmn ; role: "num" ; title: "#" ; width: 50} - TableViewColumn{ role: "value" ; title: "Memory" ; width: 750} - model: memModel - } - - SplitView { - orientation: Qt.Horizontal - id: debugSplitView - TableView { - property var debuggerLog: ListModel { - id: debuggerLog - } - TableViewColumn{ role: "value"; title: "Debug messages" } - model: debuggerLog - } - TableView { - property var stackModel: ListModel { - id: stackModel - } - height: parent.height/2 - width: parent.width - TableViewColumn{ role: "value" ; title: "Stack" ; width: debugSplitView.width } - model: stackModel - } - } - } - } - } - statusBar: StatusBar { - RowLayout { - anchors.fill: parent - Button { - property var enabled: true - id: debugNextButton - onClicked: { - ui.next() - } - text: "Next" - } - } - } } function addDebugMessage(message){ @@ -887,15 +798,6 @@ ApplicationWindow { mainContractColumn.state = "SETUP" } } - - Button { - id: debugButton - text: "Debug" - onClicked: { - var res = ui.debugTx("", txValue.text, txGas.text, txGasPrice.text, codeView.text) - debugWindow.visible = true - } - } } } diff --git a/ethereal/config.go b/ethereal/config.go index 3864126dbe..5356405186 100644 --- a/ethereal/config.go +++ b/ethereal/config.go @@ -6,7 +6,8 @@ import ( var Identifier string var StartConsole bool -var StartMining bool + +//var StartMining bool var StartRpc bool var RpcPort int var UseUPnP bool @@ -24,7 +25,7 @@ var AssetPath string func Init() { flag.StringVar(&Identifier, "i", "", "Custom client identifier") flag.BoolVar(&StartConsole, "c", false, "debug and testing console") - flag.BoolVar(&StartMining, "m", false, "start dagger mining") + //flag.BoolVar(&StartMining, "m", false, "start dagger mining") flag.BoolVar(&StartRpc, "r", false, "start rpc server") flag.BoolVar(&ShowGenesis, "g", false, "prints genesis header and exits") flag.BoolVar(&UseUPnP, "upnp", false, "enable UPnP support") diff --git a/ethereal/ethereum.go b/ethereal/ethereum.go index 30187d9564..2867e30d4b 100644 --- a/ethereal/ethereum.go +++ b/ethereal/ethereum.go @@ -108,9 +108,11 @@ save these words so you can restore your account later: %s os.Exit(0) } - if StartMining { - utils.DoMining(ethereum) - } + /* + if StartMining { + utils.DoMining(ethereum) + } + */ if StartRpc { utils.DoRpc(ethereum, RpcPort) diff --git a/ethereal/ui/gui.go b/ethereal/ui/gui.go index 7c37e2d623..d6430d1fee 100644 --- a/ethereal/ui/gui.go +++ b/ethereal/ui/gui.go @@ -8,6 +8,7 @@ import ( "github.com/ethereum/eth-go/ethdb" "github.com/ethereum/eth-go/ethpub" "github.com/ethereum/eth-go/ethutil" + "github.com/ethereum/go-ethereum/utils" "github.com/go-qml/qml" "math/big" "strings" @@ -101,6 +102,19 @@ func (gui *Gui) Start(assetPath string) { gui.eth.Stop() } +func (gui *Gui) ToggleMining() { + var txt string + if gui.eth.Mining { + utils.StopMining(gui.eth) + txt = "Start mining" + } else { + utils.StartMining(gui.eth) + txt = "Stop mining" + } + + gui.win.Root().Set("miningButtonText", txt) +} + func (gui *Gui) showWallet(context *qml.Context) (*qml.Window, error) { component, err := gui.engine.LoadFile(gui.uiLib.AssetPath("qml/wallet.qml")) if err != nil { diff --git a/utils/cmd.go b/utils/cmd.go index f8b7b5fe21..e1fc0fc00e 100644 --- a/utils/cmd.go +++ b/utils/cmd.go @@ -33,8 +33,6 @@ func DoMining(ethereum *eth.Ethereum) { addr := keyPair.Address() go func() { - ethutil.Config.Log.Infoln("Miner started") - miner = ethminer.NewDefaultMiner(addr, ethereum) // Give it some time to connect with peers