gui: add NodeID to the peer table
This commit is contained in:
parent
ddc308068d
commit
531214fb10
5 changed files with 17 additions and 12 deletions
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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) :
|
|||
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
|
|||
if (role == Qt::DisplayRole) {
|
||||
switch(index.column())
|
||||
{
|
||||
case NetNodeId:
|
||||
return rec->nodeStats.nodeid;
|
||||
case Address:
|
||||
return QString::fromStdString(rec->nodeStats.addrName);
|
||||
case Subversion:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
|||
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()
|
|||
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…
Reference in a new issue