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:
jwinterm
2026-06-19 08:30:28 -04:00
parent 0544837cff
commit 35628cc5d8
2 changed files with 17 additions and 0 deletions
+15
View File
@@ -9,6 +9,14 @@
#include <QQmlContext>
#include <QQuickItem>
#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)
: QWidget(parent)
@@ -49,11 +57,18 @@ void MiningWidget::poll() {
bool mining = m_wallet->isMining();
m_backend->setState(mining ? 3 : 0);
if (mining && !m_mining)
m_miningStartSecs = QDateTime::currentSecsSinceEpoch(); // mining just started — anchor uptime
m_mining = mining;
if (mining) {
double hr = m_wallet->miningHashRate();
QString hrStr = hr >= 1000 ? QString("%1 kH/s").arg(hr / 1000.0, 0, 'f', 2)
: QString("%1 H/s").arg(hr, 0, 'f', 0);
emit m_backend->hashrate(hrStr);
emit m_backend->uptimeChanged(formatUptime(QDateTime::currentSecsSinceEpoch() - m_miningStartSecs));
} else {
emit m_backend->uptimeChanged("-");
}
quint64 from = m_wallet->blockChainHeight();
+2
View File
@@ -48,6 +48,8 @@ private:
QQuickWidget *m_quickWidget;
MiningBackend *m_backend;
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