Merge #180: Peer details: connection type follow-ups
79a2576af1doc: update ConnectionType Doxygen documentation (Jon Atack)f3153dc08fgui: improve markup handling of connection type tooltip (Jon Atack)4f09615733gui: return inbound {full, block} relay type in peer details (Jon Atack) Pull request description: Three follow-ups to #163: - return relay type for inbound peers - improve markup handling in the tooltip to facilitate translations - update ConnectionType doxygen documentation  ACKs for top commit: hebasto: re-ACK79a2576af1, only suggested changes since my [previous](https://github.com/bitcoin-core/gui/pull/180#pullrequestreview-564894781) review. jarolrod: ACK79a2576af1, tested on macOS 11.1 with Qt 5.15.2 laanwj: Code review ACK79a2576af1Tree-SHA512: 4a8d8f8bfbaefd68e8d1bf3b20d29e4a8e8cfe97b2f8d59d3a4c338a50b61de0a67d97bd8646c04bd5df5a9679c4954b9b46e7cba24bb89f4d0e44e94cf9d66c
This commit is contained in:
5 files changed
+26
-13
No files matched your search
@@ -1079,7 +1079,7 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="peerConnectionTypeLabel">
|
||||
<property name="toolTip">
|
||||
<string>The type of peer connection:<ul><li>Inbound: initiated by peer</li><li>Outbound Full Relay: default</li><li>Outbound Block Relay: does not relay transactions or addresses</li><li>Outbound Manual: added using RPC %1 or %2/%3 configuration options</li><li>Outbound Feeler: short-lived, for testing addresses</li><li>Outbound Address Fetch: short-lived, for soliciting addresses</li></ul></string>
|
||||
<string>The type of peer connection: %1</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Connection Type</string>
|
||||
|
||||
+2
-2
@@ -764,10 +764,10 @@ QString NetworkToQString(Network net)
|
||||
assert(false);
|
||||
}
|
||||
|
||||
QString ConnectionTypeToQString(ConnectionType conn_type)
|
||||
QString ConnectionTypeToQString(ConnectionType conn_type, bool relay_txes)
|
||||
{
|
||||
switch (conn_type) {
|
||||
case ConnectionType::INBOUND: return QObject::tr("Inbound");
|
||||
case ConnectionType::INBOUND: return relay_txes ? QObject::tr("Inbound Full Relay") : QObject::tr("Inbound Block Relay");
|
||||
case ConnectionType::OUTBOUND_FULL_RELAY: return QObject::tr("Outbound Full Relay");
|
||||
case ConnectionType::BLOCK_RELAY: return QObject::tr("Outbound Block Relay");
|
||||
case ConnectionType::MANUAL: return QObject::tr("Outbound Manual");
|
||||
|
||||
+1
-1
@@ -230,7 +230,7 @@ namespace GUIUtil
|
||||
QString NetworkToQString(Network net);
|
||||
|
||||
/** Convert enum ConnectionType to QString */
|
||||
QString ConnectionTypeToQString(ConnectionType conn_type);
|
||||
QString ConnectionTypeToQString(ConnectionType conn_type, bool relay_txes);
|
||||
|
||||
/** Convert seconds into a QString with days, hours, mins, secs */
|
||||
QString formatDurationStr(int secs);
|
||||
|
||||
+16
-4
@@ -16,9 +16,10 @@
|
||||
#include <chainparams.h>
|
||||
#include <interfaces/node.h>
|
||||
#include <netbase.h>
|
||||
#include <rpc/server.h>
|
||||
#include <rpc/client.h>
|
||||
#include <rpc/server.h>
|
||||
#include <util/strencodings.h>
|
||||
#include <util/string.h>
|
||||
#include <util/system.h>
|
||||
#include <util/threadnames.h>
|
||||
|
||||
@@ -459,11 +460,22 @@ RPCConsole::RPCConsole(interfaces::Node& node, const PlatformStyle *_platformSty
|
||||
|
||||
ui->splitter->restoreState(settings.value("PeersTabSplitterSizes").toByteArray());
|
||||
|
||||
QChar nonbreaking_hyphen(8209);
|
||||
constexpr QChar nonbreaking_hyphen(8209);
|
||||
const std::vector<QString> CONNECTION_TYPE_DOC{
|
||||
tr("Inbound Full/Block Relay: initiated by peer"),
|
||||
tr("Outbound Full Relay: default"),
|
||||
tr("Outbound Block Relay: does not relay transactions or addresses"),
|
||||
tr("Outbound Manual: added using RPC %1 or %2/%3 configuration options")
|
||||
.arg("addnode")
|
||||
.arg(QString(nonbreaking_hyphen) + "addnode")
|
||||
.arg(QString(nonbreaking_hyphen) + "connect"),
|
||||
tr("Outbound Feeler: short-lived, for testing addresses"),
|
||||
tr("Outbound Address Fetch: short-lived, for soliciting addresses")};
|
||||
const QString list{"<ul><li>" + Join(CONNECTION_TYPE_DOC, QString("</li><li>")) + "</li></ul>"};
|
||||
ui->peerConnectionTypeLabel->setToolTip(ui->peerConnectionTypeLabel->toolTip().arg(list));
|
||||
ui->dataDir->setToolTip(ui->dataDir->toolTip().arg(QString(nonbreaking_hyphen) + "datadir"));
|
||||
ui->blocksDir->setToolTip(ui->blocksDir->toolTip().arg(QString(nonbreaking_hyphen) + "blocksdir"));
|
||||
ui->openDebugLogfileButton->setToolTip(ui->openDebugLogfileButton->toolTip().arg(PACKAGE_NAME));
|
||||
ui->peerConnectionTypeLabel->setToolTip(ui->peerConnectionTypeLabel->toolTip().arg("addnode").arg(QString(nonbreaking_hyphen) + "addnode").arg(QString(nonbreaking_hyphen) + "connect"));
|
||||
|
||||
if (platformStyle->getImagesOnButtons()) {
|
||||
ui->openDebugLogfileButton->setIcon(platformStyle->SingleColorIcon(":/icons/export"));
|
||||
@@ -1108,7 +1120,7 @@ void RPCConsole::updateDetailWidget()
|
||||
ui->timeoffset->setText(GUIUtil::formatTimeOffset(stats->nodeStats.nTimeOffset));
|
||||
ui->peerVersion->setText(QString::number(stats->nodeStats.nVersion));
|
||||
ui->peerSubversion->setText(QString::fromStdString(stats->nodeStats.cleanSubVer));
|
||||
ui->peerConnectionType->setText(GUIUtil::ConnectionTypeToQString(stats->nodeStats.m_conn_type));
|
||||
ui->peerConnectionType->setText(GUIUtil::ConnectionTypeToQString(stats->nodeStats.m_conn_type, stats->nodeStats.fRelayTxes));
|
||||
ui->peerNetwork->setText(GUIUtil::NetworkToQString(stats->nodeStats.m_network));
|
||||
if (stats->nodeStats.m_permissionFlags == PF_NONE) {
|
||||
ui->peerPermissions->setText(tr("N/A"));
|
||||
|
||||
Reference in new issue
Block a user