Skip to content

Commit 10969f6

Browse files
theuniFuzzbawls
authored andcommitted
gui: add NodeID to the peer table
1 parent 58044ac commit 10969f6

File tree

5 files changed

+19
-14
lines changed

5 files changed

+19
-14
lines changed

src/qt/guiutil.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -277,17 +277,17 @@ void copyEntryData(QAbstractItemView* view, int column, int role)
277277
}
278278
}
279279

280-
QString getEntryData(QAbstractItemView *view, int column, int role)
280+
QVariant getEntryData(QAbstractItemView *view, int column, int role)
281281
{
282282
if (!view || !view->selectionModel())
283-
return QString();
283+
return QVariant();
284284
QModelIndexList selection = view->selectionModel()->selectedRows(column);
285285

286286
if (!selection.isEmpty()) {
287287
// Return first item
288-
return (selection.at(0).data(role).toString());
288+
return (selection.at(0).data(role));
289289
}
290-
return QString();
290+
return QVariant();
291291
}
292292

293293
QString getSaveFileName(QWidget* parent, const QString& caption, const QString& dir, const QString& filter, QString* selectedSuffixOut)

src/qt/guiutil.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ void copyEntryData(QAbstractItemView* view, int column, int role = Qt::EditRole)
9393
@param[in] role Data role to extract from the model
9494
@see TransactionView::copyLabel, TransactionView::copyAmount, TransactionView::copyAddress
9595
*/
96-
QString getEntryData(QAbstractItemView *view, int column, int role);
96+
QVariant getEntryData(QAbstractItemView *view, int column, int role);
9797

9898
void setClipboard(const QString& str);
9999

src/qt/peertablemodel.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ bool NodeLessThan::operator()(const CNodeCombinedStats& left, const CNodeCombine
2626
if (order == Qt::DescendingOrder)
2727
std::swap(pLeft, pRight);
2828

29-
switch (column) {
29+
switch(column) {
30+
case PeerTableModel::NetNodeId:
31+
return pLeft->nodeid < pRight->nodeid;
3032
case PeerTableModel::Address:
3133
return pLeft->addrName.compare(pRight->addrName) < 0;
3234
case PeerTableModel::Subversion:
@@ -113,7 +115,7 @@ PeerTableModel::PeerTableModel(ClientModel* parent) : QAbstractTableModel(parent
113115
clientModel(parent),
114116
timer(0)
115117
{
116-
columns << tr("Address/Hostname") << tr("Version") << tr("Ping Time");
118+
columns << tr("NodeID") << tr("Address/Hostname") << tr("Version") << tr("Ping Time");
117119
priv = new PeerTablePriv();
118120
// default to unsorted
119121
priv->sortColumn = -1;
@@ -158,7 +160,9 @@ QVariant PeerTableModel::data(const QModelIndex& index, int role) const
158160
CNodeCombinedStats* rec = static_cast<CNodeCombinedStats*>(index.internalPointer());
159161

160162
if (role == Qt::DisplayRole) {
161-
switch (index.column()) {
163+
switch(index.column()) {
164+
case NetNodeId:
165+
return rec->nodeStats.nodeid;
162166
case Address:
163167
return QString::fromStdString(rec->nodeStats.addrName);
164168
case Subversion:

src/qt/peertablemodel.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,10 @@ class PeerTableModel : public QAbstractTableModel
5252
void stopAutoRefresh();
5353

5454
enum ColumnIndex {
55-
Address = 0,
56-
Subversion = 1,
57-
Ping = 2
55+
NetNodeId = 0,
56+
Address = 1,
57+
Subversion = 2,
58+
Ping = 3
5859
};
5960

6061
/** @name Methods overridden from QAbstractTableModel

src/qt/rpcconsole.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -985,7 +985,7 @@ void RPCConsole::showBanTableContextMenu(const QPoint& point)
985985
void RPCConsole::disconnectSelectedNode()
986986
{
987987
// Get currently selected peer address
988-
QString strNode = GUIUtil::getEntryData(ui->peerWidget, 0, PeerTableModel::Address);
988+
QString strNode = GUIUtil::getEntryData(ui->peerWidget, 0, PeerTableModel::Address).toString();
989989
// Find the node, disconnect it and clear the selected node
990990
if (CNode *bannedNode = FindNode(strNode.toStdString())) {
991991
bannedNode->CloseSocketDisconnect();
@@ -999,7 +999,7 @@ void RPCConsole::banSelectedNode(int bantime)
999999
return;
10001000

10011001
// Get currently selected peer address
1002-
QString strNode = GUIUtil::getEntryData(ui->peerWidget, 0, PeerTableModel::Address);
1002+
QString strNode = GUIUtil::getEntryData(ui->peerWidget, 0, PeerTableModel::Address).toString();
10031003
// Find possible nodes, ban it and clear the selected node
10041004
if (FindNode(strNode.toStdString())) {
10051005
std::string nStr = strNode.toStdString();
@@ -1023,7 +1023,7 @@ void RPCConsole::unbanSelectedNode()
10231023
return;
10241024

10251025
// Get currently selected ban address
1026-
QString strNode = GUIUtil::getEntryData(ui->banlistWidget, 0, BanTableModel::Address);
1026+
QString strNode = GUIUtil::getEntryData(ui->banlistWidget, 0, BanTableModel::Address).toString();
10271027
CSubNet possibleSubnet;
10281028

10291029
LookupSubNet(strNode.toStdString().c_str(), possibleSubnet);

0 commit comments

Comments
 (0)