Skip to content

Commit 4dc2fd6

Browse files
committed
qt: add RPCConsole::TimeDurationField helper, call systime only once
1 parent b54a10e commit 4dc2fd6

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/qt/rpcconsole.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1120,11 +1120,12 @@ void RPCConsole::updateDetailWidget()
11201120
if (stats->nodeStats.m_bip152_highbandwidth_from) bip152_hb_settings += (bip152_hb_settings == "" ? "From" : "/From");
11211121
if (bip152_hb_settings == "") bip152_hb_settings = "No";
11221122
ui->peerHighBandwidth->setText(bip152_hb_settings);
1123-
ui->peerLastSend->setText(stats->nodeStats.nLastSend ? GUIUtil::formatDurationStr(GetSystemTimeInSeconds() - stats->nodeStats.nLastSend) : tr("never"));
1124-
ui->peerLastRecv->setText(stats->nodeStats.nLastRecv ? GUIUtil::formatDurationStr(GetSystemTimeInSeconds() - stats->nodeStats.nLastRecv) : tr("never"));
1123+
const int64_t time_now{GetSystemTimeInSeconds()};
1124+
ui->peerConnTime->setText(GUIUtil::formatDurationStr(time_now - stats->nodeStats.nTimeConnected));
1125+
ui->peerLastSend->setText(TimeDurationField(time_now, stats->nodeStats.nLastSend));
1126+
ui->peerLastRecv->setText(TimeDurationField(time_now, stats->nodeStats.nLastRecv));
11251127
ui->peerBytesSent->setText(GUIUtil::formatBytes(stats->nodeStats.nSendBytes));
11261128
ui->peerBytesRecv->setText(GUIUtil::formatBytes(stats->nodeStats.nRecvBytes));
1127-
ui->peerConnTime->setText(GUIUtil::formatDurationStr(GetSystemTimeInSeconds() - stats->nodeStats.nTimeConnected));
11281129
ui->peerPingTime->setText(GUIUtil::formatPingTime(stats->nodeStats.m_ping_usec));
11291130
ui->peerMinPing->setText(GUIUtil::formatPingTime(stats->nodeStats.m_min_ping_usec));
11301131
ui->timeoffset->setText(GUIUtil::formatTimeOffset(stats->nodeStats.nTimeOffset));

src/qt/rpcconsole.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,11 @@ public Q_SLOTS:
168168
/** Update UI with latest network info from model. */
169169
void updateNetworkState();
170170

171+
/** Helper for the output of a time duration field. Inputs are UNIX epoch times. */
172+
QString TimeDurationField(uint64_t time_now, uint64_t time_at_event) const {
173+
return time_at_event ? GUIUtil::formatDurationStr(time_now - time_at_event) : tr("Never");
174+
}
175+
171176
private Q_SLOTS:
172177
void updateAlerts(const QString& warnings);
173178
};

0 commit comments

Comments
 (0)