mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 04:22:55 +01:00
Merge bitcoin-core/gui#163: Peer details: replace Direction with Connection Type
06ba9b300866f33e21512af9d7d2891ee1501bf4 rpc: move getpeerinfo connection_type help to correct place (Jon Atack) c95fe6e38f542f9fe8ddb1522b5ff1cac17db4bf gui: improve connection type tooltip (Hennadii Stepanov) 2c19ba2e1d26e2077da8b469f44588c20af87e23 gui: replace Direction with Connection Type in peer details (Jon Atack) 7e2beab2d28d8ab039d9554744a11592a7d7dc76 gui: create GUIUtil::ConnectionTypeToQString utility function (Jon Atack) Pull request description: ![Screenshot from 2021-01-09 11-23-17](https://user-images.githubusercontent.com/2415484/104089297-c5e18d80-5265-11eb-9251-49afcfdb562b.png) Closes #159. ACKs for top commit: hebasto: re-ACK 06ba9b300866f33e21512af9d7d2891ee1501bf4, the tooltip content is organized as unordered list. jarolrod: re-ACK 06ba9b300866f33e21512af9d7d2891ee1501bf4 Tree-SHA512: 24f46494ceb42ed308e4a4f2a543dbc4f4e6409a6f738c145a9f16e175bf69d411cbc944a4fd969f1829d57644dfbc194182fa8d4e9e6bce82acbeca8c673748
This commit is contained in:
parent
00b828c0f5
commit
b8b3c4c289
@ -1026,14 +1026,17 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
<item row="4" column="0">
|
||||||
<widget class="QLabel" name="label_23">
|
<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>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Direction</string>
|
<string>Connection Type</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="2">
|
<item row="4" column="2">
|
||||||
<widget class="QLabel" name="peerDirection">
|
<widget class="QLabel" name="peerConnectionType">
|
||||||
<property name="cursor">
|
<property name="cursor">
|
||||||
<cursorShape>IBeamCursor</cursorShape>
|
<cursorShape>IBeamCursor</cursorShape>
|
||||||
</property>
|
</property>
|
||||||
|
@ -1660,6 +1660,19 @@ QString NetworkToQString(Network net)
|
|||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString ConnectionTypeToQString(ConnectionType conn_type)
|
||||||
|
{
|
||||||
|
switch (conn_type) {
|
||||||
|
case ConnectionType::INBOUND: return QObject::tr("Inbound");
|
||||||
|
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");
|
||||||
|
case ConnectionType::FEELER: return QObject::tr("Outbound Feeler");
|
||||||
|
case ConnectionType::ADDR_FETCH: return QObject::tr("Outbound Address Fetch");
|
||||||
|
} // no default case, so the compiler can warn about missing cases
|
||||||
|
assert(false);
|
||||||
|
}
|
||||||
|
|
||||||
QString formatDurationStr(int secs)
|
QString formatDurationStr(int secs)
|
||||||
{
|
{
|
||||||
QStringList strList;
|
QStringList strList;
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
#include <amount.h>
|
#include <amount.h>
|
||||||
#include <fs.h>
|
#include <fs.h>
|
||||||
#include <qt/guiconstants.h>
|
#include <qt/guiconstants.h>
|
||||||
|
#include <net.h>
|
||||||
#include <netaddress.h>
|
#include <netaddress.h>
|
||||||
#include <util/check.h>
|
#include <util/check.h>
|
||||||
|
|
||||||
@ -15,13 +16,13 @@
|
|||||||
#include <QEvent>
|
#include <QEvent>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
#include <QItemDelegate>
|
#include <QItemDelegate>
|
||||||
|
#include <QLabel>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QMetaObject>
|
#include <QMetaObject>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QProgressBar>
|
#include <QProgressBar>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QTableView>
|
#include <QTableView>
|
||||||
#include <QLabel>
|
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
@ -396,6 +397,9 @@ namespace GUIUtil
|
|||||||
/** Convert enum Network to QString */
|
/** Convert enum Network to QString */
|
||||||
QString NetworkToQString(Network net);
|
QString NetworkToQString(Network net);
|
||||||
|
|
||||||
|
/** Convert enum ConnectionType to QString */
|
||||||
|
QString ConnectionTypeToQString(ConnectionType conn_type);
|
||||||
|
|
||||||
/** Convert seconds into a QString with days, hours, mins, secs */
|
/** Convert seconds into a QString with days, hours, mins, secs */
|
||||||
QString formatDurationStr(int secs);
|
QString formatDurationStr(int secs);
|
||||||
|
|
||||||
|
@ -479,6 +479,7 @@ RPCConsole::RPCConsole(interfaces::Node& node, QWidget* parent, Qt::WindowFlags
|
|||||||
ui->dataDir->setToolTip(ui->dataDir->toolTip().arg(QString(nonbreaking_hyphen) + "datadir"));
|
ui->dataDir->setToolTip(ui->dataDir->toolTip().arg(QString(nonbreaking_hyphen) + "datadir"));
|
||||||
ui->blocksDir->setToolTip(ui->blocksDir->toolTip().arg(QString(nonbreaking_hyphen) + "blocksdir"));
|
ui->blocksDir->setToolTip(ui->blocksDir->toolTip().arg(QString(nonbreaking_hyphen) + "blocksdir"));
|
||||||
ui->openDebugLogfileButton->setToolTip(ui->openDebugLogfileButton->toolTip().arg(PACKAGE_NAME));
|
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"));
|
||||||
|
|
||||||
setButtonIcons();
|
setButtonIcons();
|
||||||
|
|
||||||
@ -1249,11 +1250,7 @@ void RPCConsole::updateDetailWidget()
|
|||||||
ui->timeoffset->setText(GUIUtil::formatTimeOffset(stats->nodeStats.nTimeOffset));
|
ui->timeoffset->setText(GUIUtil::formatTimeOffset(stats->nodeStats.nTimeOffset));
|
||||||
ui->peerVersion->setText(QString::number(stats->nodeStats.nVersion));
|
ui->peerVersion->setText(QString::number(stats->nodeStats.nVersion));
|
||||||
ui->peerSubversion->setText(QString::fromStdString(stats->nodeStats.cleanSubVer));
|
ui->peerSubversion->setText(QString::fromStdString(stats->nodeStats.cleanSubVer));
|
||||||
ui->peerDirection->setText(stats->nodeStats.fInbound
|
ui->peerConnectionType->setText(GUIUtil::ConnectionTypeToQString(stats->nodeStats.m_conn_type));
|
||||||
? tr("Inbound")
|
|
||||||
: stats->nodeStats.fRelayTxes
|
|
||||||
? tr("Outbound")
|
|
||||||
: tr("Outbound block-relay"));
|
|
||||||
ui->peerNetwork->setText(GUIUtil::NetworkToQString(stats->nodeStats.m_network));
|
ui->peerNetwork->setText(GUIUtil::NetworkToQString(stats->nodeStats.m_network));
|
||||||
if (stats->nodeStats.m_permissionFlags == NetPermissionFlags::None) {
|
if (stats->nodeStats.m_permissionFlags == NetPermissionFlags::None) {
|
||||||
ui->peerPermissions->setText(tr("N/A"));
|
ui->peerPermissions->setText(tr("N/A"));
|
||||||
|
@ -133,9 +133,6 @@ static RPCHelpMan getpeerinfo()
|
|||||||
{RPCResult::Type::STR, "subver", "The string version"},
|
{RPCResult::Type::STR, "subver", "The string version"},
|
||||||
{RPCResult::Type::BOOL, "inbound", "Inbound (true) or Outbound (false)"},
|
{RPCResult::Type::BOOL, "inbound", "Inbound (true) or Outbound (false)"},
|
||||||
{RPCResult::Type::BOOL, "addnode", "Whether connection was due to addnode/-connect or if it was an automatic/inbound connection"},
|
{RPCResult::Type::BOOL, "addnode", "Whether connection was due to addnode/-connect or if it was an automatic/inbound connection"},
|
||||||
{RPCResult::Type::STR, "connection_type", "Type of connection: \n" + Join(CONNECTION_TYPE_DOC, ",\n") + ".\n"
|
|
||||||
"Please note this output is unlikely to be stable in upcoming releases as we iterate to\n"
|
|
||||||
"best capture connection behaviors."},
|
|
||||||
{RPCResult::Type::BOOL, "masternode", "Whether connection was due to masternode connection attempt"},
|
{RPCResult::Type::BOOL, "masternode", "Whether connection was due to masternode connection attempt"},
|
||||||
{RPCResult::Type::NUM, "banscore", "The ban score (DEPRECATED, returned only if config option -deprecatedrpc=banscore is passed)"},
|
{RPCResult::Type::NUM, "banscore", "The ban score (DEPRECATED, returned only if config option -deprecatedrpc=banscore is passed)"},
|
||||||
{RPCResult::Type::NUM, "startingheight", "The starting height (block) of the peer"},
|
{RPCResult::Type::NUM, "startingheight", "The starting height (block) of the peer"},
|
||||||
@ -165,6 +162,9 @@ static RPCHelpMan getpeerinfo()
|
|||||||
"When a message type is not listed in this json object, the bytes received are 0.\n"
|
"When a message type is not listed in this json object, the bytes received are 0.\n"
|
||||||
"Only known message types can appear as keys in the object and all bytes received of unknown message types are listed under '"+NET_MESSAGE_COMMAND_OTHER+"'."}
|
"Only known message types can appear as keys in the object and all bytes received of unknown message types are listed under '"+NET_MESSAGE_COMMAND_OTHER+"'."}
|
||||||
}},
|
}},
|
||||||
|
{RPCResult::Type::STR, "connection_type", "Type of connection: \n" + Join(CONNECTION_TYPE_DOC, ",\n") + ".\n"
|
||||||
|
"Please note this output is unlikely to be stable in upcoming releases as we iterate to\n"
|
||||||
|
"best capture connection behaviors."},
|
||||||
}},
|
}},
|
||||||
}}},
|
}}},
|
||||||
RPCExamples{
|
RPCExamples{
|
||||||
|
Loading…
Reference in New Issue
Block a user