gui: add Direction column to peers tab

Co-authored-by: Jarol Rodriguez <jarolrod@tutanota.com>
This commit is contained in:
Jon Atack
2021-04-23 14:57:05 +02:00
committed by Jarol Rodriguez
parent 5c041cb348
commit 6971e790c3
3 changed files with 14 additions and 2 deletions

View File

@@ -113,8 +113,13 @@ QVariant PeerTableModel::data(const QModelIndex &index, int role) const
case NetNodeId: case NetNodeId:
return (qint64)rec->nodeStats.nodeid; return (qint64)rec->nodeStats.nodeid;
case Address: case Address:
// prepend to peer address down-arrow symbol for inbound connection and up-arrow for outbound connection return QString::fromStdString(rec->nodeStats.addrName);
return QString::fromStdString((rec->nodeStats.fInbound ? "" : "") + rec->nodeStats.addrName); case Direction:
return QString(rec->nodeStats.fInbound ?
//: An Inbound Connection from a Peer.
tr("Inbound") :
//: An Outbound Connection to a Peer.
tr("Outbound"));
case ConnectionType: case ConnectionType:
return GUIUtil::ConnectionTypeToQString(rec->nodeStats.m_conn_type, /* prepend_direction */ false); return GUIUtil::ConnectionTypeToQString(rec->nodeStats.m_conn_type, /* prepend_direction */ false);
case Network: case Network:
@@ -134,6 +139,7 @@ QVariant PeerTableModel::data(const QModelIndex &index, int role) const
case NetNodeId: case NetNodeId:
case Address: case Address:
return {}; return {};
case Direction:
case ConnectionType: case ConnectionType:
case Network: case Network:
return QVariant(Qt::AlignCenter); return QVariant(Qt::AlignCenter);

View File

@@ -47,6 +47,7 @@ public:
enum ColumnIndex { enum ColumnIndex {
NetNodeId = 0, NetNodeId = 0,
Address, Address,
Direction,
ConnectionType, ConnectionType,
Network, Network,
Ping, Ping,
@@ -81,6 +82,9 @@ private:
/*: Title of Peers Table column which contains the /*: Title of Peers Table column which contains the
IP/Onion/I2P address of the connected peer. */ IP/Onion/I2P address of the connected peer. */
tr("Address"), tr("Address"),
/*: Title of Peers Table column which indicates the direction
the peer connection was initiated from. */
tr("Direction"),
/*: Title of Peers Table column which describes the type of /*: Title of Peers Table column which describes the type of
peer connection. The "type" describes why the connection exists. */ peer connection. The "type" describes why the connection exists. */
tr("Type"), tr("Type"),

View File

@@ -26,6 +26,8 @@ bool PeerTableSortProxy::lessThan(const QModelIndex& left_index, const QModelInd
return left_stats.nodeid < right_stats.nodeid; return left_stats.nodeid < right_stats.nodeid;
case PeerTableModel::Address: case PeerTableModel::Address:
return left_stats.addrName.compare(right_stats.addrName) < 0; return left_stats.addrName.compare(right_stats.addrName) < 0;
case PeerTableModel::Direction:
return left_stats.fInbound > right_stats.fInbound; // default sort Inbound, then Outbound
case PeerTableModel::ConnectionType: case PeerTableModel::ConnectionType:
return left_stats.m_conn_type < right_stats.m_conn_type; return left_stats.m_conn_type < right_stats.m_conn_type;
case PeerTableModel::Network: case PeerTableModel::Network: