mirror of
https://github.com/wownero/wowlet.git
synced 2026-10-17 07:11:29 +02:00
wowlet: mining tab uptime — anchor start-time on mining transition, emit HH:MM:SS via uptimeChanged (was never emitted → stuck at '-')
This commit is contained in:
@@ -9,6 +9,14 @@
|
|||||||
#include <QQmlContext>
|
#include <QQmlContext>
|
||||||
#include <QQuickItem>
|
#include <QQuickItem>
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
|
#include <QDateTime>
|
||||||
|
|
||||||
|
static QString formatUptime(qint64 secs) {
|
||||||
|
return QString("%1:%2:%3")
|
||||||
|
.arg(secs / 3600, 2, 10, QChar('0'))
|
||||||
|
.arg((secs % 3600) / 60, 2, 10, QChar('0'))
|
||||||
|
.arg(secs % 60, 2, 10, QChar('0'));
|
||||||
|
}
|
||||||
|
|
||||||
MiningWidget::MiningWidget(Wallet *wallet, QWidget *parent)
|
MiningWidget::MiningWidget(Wallet *wallet, QWidget *parent)
|
||||||
: QWidget(parent)
|
: QWidget(parent)
|
||||||
@@ -49,11 +57,18 @@ void MiningWidget::poll() {
|
|||||||
bool mining = m_wallet->isMining();
|
bool mining = m_wallet->isMining();
|
||||||
m_backend->setState(mining ? 3 : 0);
|
m_backend->setState(mining ? 3 : 0);
|
||||||
|
|
||||||
|
if (mining && !m_mining)
|
||||||
|
m_miningStartSecs = QDateTime::currentSecsSinceEpoch(); // mining just started — anchor uptime
|
||||||
|
m_mining = mining;
|
||||||
|
|
||||||
if (mining) {
|
if (mining) {
|
||||||
double hr = m_wallet->miningHashRate();
|
double hr = m_wallet->miningHashRate();
|
||||||
QString hrStr = hr >= 1000 ? QString("%1 kH/s").arg(hr / 1000.0, 0, 'f', 2)
|
QString hrStr = hr >= 1000 ? QString("%1 kH/s").arg(hr / 1000.0, 0, 'f', 2)
|
||||||
: QString("%1 H/s").arg(hr, 0, 'f', 0);
|
: QString("%1 H/s").arg(hr, 0, 'f', 0);
|
||||||
emit m_backend->hashrate(hrStr);
|
emit m_backend->hashrate(hrStr);
|
||||||
|
emit m_backend->uptimeChanged(formatUptime(QDateTime::currentSecsSinceEpoch() - m_miningStartSecs));
|
||||||
|
} else {
|
||||||
|
emit m_backend->uptimeChanged("-");
|
||||||
}
|
}
|
||||||
|
|
||||||
quint64 from = m_wallet->blockChainHeight();
|
quint64 from = m_wallet->blockChainHeight();
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ private:
|
|||||||
QQuickWidget *m_quickWidget;
|
QQuickWidget *m_quickWidget;
|
||||||
MiningBackend *m_backend;
|
MiningBackend *m_backend;
|
||||||
QTimer *m_timer;
|
QTimer *m_timer;
|
||||||
|
bool m_mining = false; // last-seen mining state, to detect start transitions
|
||||||
|
qint64 m_miningStartSecs = 0; // when the current mining run started (for uptime)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //WOWLET_MININGWIDGET_H
|
#endif //WOWLET_MININGWIDGET_H
|
||||||
|
|||||||
Reference in New Issue
Block a user