diff --git a/alethzero/Main.ui b/alethzero/Main.ui
index c24825685..e534a2147 100644
--- a/alethzero/Main.ui
+++ b/alethzero/Main.ui
@@ -59,6 +59,13 @@
+ -
+
+
+
+
+
+
-
diff --git a/alethzero/MainWin.cpp b/alethzero/MainWin.cpp
index cf8144f5c..195cbb5ae 100644
--- a/alethzero/MainWin.cpp
+++ b/alethzero/MainWin.cpp
@@ -217,6 +217,7 @@ Main::Main(QWidget *parent) :
statusBar()->addPermanentWidget(ui->balance);
statusBar()->addPermanentWidget(ui->peerCount);
+ statusBar()->addPermanentWidget(ui->mineStatus);
statusBar()->addPermanentWidget(ui->blockCount);
connect(ui->webView, &QWebView::titleChanged, [=]()
@@ -311,9 +312,9 @@ void Main::eval(QString const& _js)
if (ev.isNull())
s = "null";
else if (ev.type() == QVariant::String)
- s = "\"" + ev.toString().toHtmlEscaped() + "\"";
+ s = "\"" + ev.toString().toHtmlEscaped() + "\"";
else if (ev.type() == QVariant::Int || ev.type() == QVariant::Double)
- s = "" + ev.toString().toHtmlEscaped() + "";
+ s = "" + ev.toString().toHtmlEscaped() + "";
else
s = "unknown type";
m_consoleHistory.push_back(qMakePair(_js, s));
@@ -509,8 +510,11 @@ void Main::on_nameReg_textChanged()
void Main::refreshMining()
{
eth::ClientGuard g(m_client.get());
- list l = m_client->miningHistory();
eth::MineProgress p = m_client->miningProgress();
+ ui->mineStatus->setText(QString(m_client->isMining() ? "%1s @ %2kH/s" : "Not mining").arg(p.ms / 1000).arg(p.ms ? p.hashes / p.ms : 0));
+ if (!ui->miningView->isVisible())
+ return;
+ list l = m_client->miningHistory();
static uint lh = 0;
if (p.hashes < lh)
ui->miningView->resetStats();
@@ -537,6 +541,13 @@ eth::State const& Main::state() const
return ui->preview->isChecked() ? m_client->postState() : m_client->state();
}
+void Main::updateBlockCount()
+{
+ auto d = m_client->blockChain().details();
+ auto diff = BlockInfo(m_client->blockChain().block()).difficulty;
+ ui->blockCount->setText(QString("#%1 @%3 T%2").arg(d.number).arg(toLog2(d.totalDifficulty)).arg(toLog2(diff)));
+}
+
void Main::refresh(bool _override)
{
eth::ClientGuard g(m_client.get());
@@ -547,9 +558,7 @@ void Main::refresh(bool _override)
{
changed();
- auto d = m_client->blockChain().details();
- auto diff = BlockInfo(m_client->blockChain().block()).difficulty;
- ui->blockCount->setText(QString("#%1 @%3 T%2").arg(d.number).arg(toLog2(d.totalDifficulty)).arg(toLog2(diff)));
+ updateBlockCount();
auto acs = st.addresses();
ui->accounts->clear();
diff --git a/alethzero/MainWin.h b/alethzero/MainWin.h
index 60c2714a7..5bf7fa5fa 100644
--- a/alethzero/MainWin.h
+++ b/alethzero/MainWin.h
@@ -119,6 +119,8 @@ signals:
void changed(); // TODO: manifest
private:
+ void updateBlockCount();
+
QString pretty(eth::Address _a) const;
void initDebugger();
diff --git a/alethzero/MiningView.cpp b/alethzero/MiningView.cpp
index 9380d83e3..d347ee200 100644
--- a/alethzero/MiningView.cpp
+++ b/alethzero/MiningView.cpp
@@ -31,8 +31,8 @@ using namespace eth;
using namespace lb;
string id(float _y) { return toString(_y); }
-string ms(float _x){ return toString(round(_x * 1000)) + (!_x ? "ms" : ""); }
-string msL(float _x, float _y) { return toString(round(_x * 1000)) + "ms (" + toString(round(_y * 100)) + "%)"; }
+string s(float _x){ return toString(round(_x * 1000) / 1000) + (!_x ? "s" : ""); }
+string sL(float _x, float _y) { return toString(round(_x * 1000)) + "s (" + toString(_y) + ")"; }
MiningView::MiningView(QWidget* _p): QWidget(_p)
{
@@ -93,9 +93,9 @@ void MiningView::paintEvent(QPaintEvent*)
Grapher g;
QPainter p(this);
- g.init(&p, make_pair(0.f, max(m_duration * 0.1f, m_values.size() * 0.1f)), make_pair(m_progress.requirement - 4, 256.f), ms, id, msL);
+ g.init(&p, make_pair(0.f, max(m_duration * 0.1f, m_values.size() * 0.1f)), make_pair(0, 255.f - (m_progress.requirement - 4)), s, id, sL);
g.drawAxes();
- g.setDataTransform(0.1, 0);
+ g.setDataTransform(0.1, 0, -1, 255.f);
g.drawLineGraph(m_values, QColor(192, 192, 192));
g.drawLineGraph(m_bests, QColor(128, 128, 128));