Browse Source

gui: add NodeID to the peer table

0.14
Cory Fields 8 years ago
parent
commit
531214fb10
  1. 8
      src/qt/guiutil.cpp
  2. 2
      src/qt/guiutil.h
  3. 6
      src/qt/peertablemodel.cpp
  4. 7
      src/qt/peertablemodel.h
  5. 6
      src/qt/rpcconsole.cpp

8
src/qt/guiutil.cpp

@ -291,17 +291,17 @@ void copyEntryData(QAbstractItemView *view, int column, int role) @@ -291,17 +291,17 @@ void copyEntryData(QAbstractItemView *view, int column, int role)
}
}
QString getEntryData(QAbstractItemView *view, int column, int role)
QVariant getEntryData(QAbstractItemView *view, int column, int role)
{
if(!view || !view->selectionModel())
return QString();
return QVariant();
QModelIndexList selection = view->selectionModel()->selectedRows(column);
if(!selection.isEmpty()) {
// Return first item
return (selection.at(0).data(role).toString());
return (selection.at(0).data(role));
}
return QString();
return QVariant();
}
QString getSaveFileName(QWidget *parent, const QString &caption, const QString &dir,

2
src/qt/guiutil.h

@ -70,7 +70,7 @@ namespace GUIUtil @@ -70,7 +70,7 @@ namespace GUIUtil
@param[in] role Data role to extract from the model
@see TransactionView::copyLabel, TransactionView::copyAmount, TransactionView::copyAddress
*/
QString getEntryData(QAbstractItemView *view, int column, int role);
QVariant getEntryData(QAbstractItemView *view, int column, int role);
void setClipboard(const QString& str);

6
src/qt/peertablemodel.cpp

@ -24,6 +24,8 @@ bool NodeLessThan::operator()(const CNodeCombinedStats &left, const CNodeCombine @@ -24,6 +24,8 @@ bool NodeLessThan::operator()(const CNodeCombinedStats &left, const CNodeCombine
switch(column)
{
case PeerTableModel::NetNodeId:
return pLeft->nodeid < pRight->nodeid;
case PeerTableModel::Address:
return pLeft->addrName.compare(pRight->addrName) < 0;
case PeerTableModel::Subversion:
@ -114,7 +116,7 @@ PeerTableModel::PeerTableModel(ClientModel *parent) : @@ -114,7 +116,7 @@ PeerTableModel::PeerTableModel(ClientModel *parent) :
clientModel(parent),
timer(0)
{
columns << tr("Node/Service") << tr("User Agent") << tr("Ping Time");
columns << tr("NodeId") << tr("Node/Service") << tr("User Agent") << tr("Ping Time");
priv = new PeerTablePriv();
// default to unsorted
priv->sortColumn = -1;
@ -160,6 +162,8 @@ QVariant PeerTableModel::data(const QModelIndex &index, int role) const @@ -160,6 +162,8 @@ QVariant PeerTableModel::data(const QModelIndex &index, int role) const
if (role == Qt::DisplayRole) {
switch(index.column())
{
case NetNodeId:
return rec->nodeStats.nodeid;
case Address:
return QString::fromStdString(rec->nodeStats.addrName);
case Subversion:

7
src/qt/peertablemodel.h

@ -52,9 +52,10 @@ public: @@ -52,9 +52,10 @@ public:
void stopAutoRefresh();
enum ColumnIndex {
Address = 0,
Subversion = 1,
Ping = 2
NetNodeId = 0,
Address = 1,
Subversion = 2,
Ping = 3
};
/** @name Methods overridden from QAbstractTableModel

6
src/qt/rpcconsole.cpp

@ -877,7 +877,7 @@ void RPCConsole::showBanTableContextMenu(const QPoint& point) @@ -877,7 +877,7 @@ void RPCConsole::showBanTableContextMenu(const QPoint& point)
void RPCConsole::disconnectSelectedNode()
{
// Get currently selected peer address
QString strNode = GUIUtil::getEntryData(ui->peerWidget, 0, PeerTableModel::Address);
QString strNode = GUIUtil::getEntryData(ui->peerWidget, 0, PeerTableModel::Address).toString();
// Find the node, disconnect it and clear the selected node
if (CNode *bannedNode = FindNode(strNode.toStdString())) {
bannedNode->fDisconnect = true;
@ -891,7 +891,7 @@ void RPCConsole::banSelectedNode(int bantime) @@ -891,7 +891,7 @@ void RPCConsole::banSelectedNode(int bantime)
return;
// Get currently selected peer address
QString strNode = GUIUtil::getEntryData(ui->peerWidget, 0, PeerTableModel::Address);
QString strNode = GUIUtil::getEntryData(ui->peerWidget, 0, PeerTableModel::Address).toString();
// Find possible nodes, ban it and clear the selected node
if (FindNode(strNode.toStdString())) {
std::string nStr = strNode.toStdString();
@ -915,7 +915,7 @@ void RPCConsole::unbanSelectedNode() @@ -915,7 +915,7 @@ void RPCConsole::unbanSelectedNode()
return;
// Get currently selected ban address
QString strNode = GUIUtil::getEntryData(ui->banlistWidget, 0, BanTableModel::Address);
QString strNode = GUIUtil::getEntryData(ui->banlistWidget, 0, BanTableModel::Address).toString();
CSubNet possibleSubnet;
LookupSubNet(strNode.toStdString().c_str(), possibleSubnet);

Loading…
Cancel
Save