@@ -1018,11 +1018,9 @@ void RPCConsole::updateTrafficStats(quint64 totalBytesIn, quint64 totalBytesOut)
1018
1018
1019
1019
void RPCConsole::peerLayoutAboutToChange ()
1020
1020
{
1021
- QModelIndexList selected = ui->peerWidget ->selectionModel ()->selectedIndexes ();
1022
1021
cachedNodeids.clear ();
1023
- for (int i = 0 ; i < selected.size (); i++)
1024
- {
1025
- const CNodeCombinedStats *stats = clientModel->getPeerTableModel ()->getNodeStats (selected.at (i).row ());
1022
+ for (const QModelIndex& peer : GUIUtil::getEntryData (ui->peerWidget , PeerTableModel::NetNodeId)) {
1023
+ const auto stats = peer.data (PeerTableModel::StatsRole).value <CNodeCombinedStats*>();
1026
1024
cachedNodeids.append (stats->nodeStats .nodeid );
1027
1025
}
1028
1026
}
@@ -1081,15 +1079,13 @@ void RPCConsole::peerLayoutChanged()
1081
1079
1082
1080
void RPCConsole::updateDetailWidget ()
1083
1081
{
1084
- QModelIndexList selected_rows;
1085
- auto selection_model = ui->peerWidget ->selectionModel ();
1086
- if (selection_model) selected_rows = selection_model->selectedRows ();
1087
- if (!clientModel || !clientModel->getPeerTableModel () || selected_rows.size () != 1 ) {
1082
+ const QList<QModelIndex> selected_peers = GUIUtil::getEntryData (ui->peerWidget , PeerTableModel::NetNodeId);
1083
+ if (!clientModel || !clientModel->getPeerTableModel () || selected_peers.size () != 1 ) {
1088
1084
ui->detailWidget ->hide ();
1089
1085
ui->peerHeading ->setText (tr (" Select a peer to view detailed information." ));
1090
1086
return ;
1091
1087
}
1092
- const CNodeCombinedStats * stats = clientModel-> getPeerTableModel ()-> getNodeStats (selected_rows .first ().row () );
1088
+ const auto stats = selected_peers .first ().data (PeerTableModel::StatsRole). value <CNodeCombinedStats*>( );
1093
1089
// update the detail ui with latest node information
1094
1090
QString peerAddrDetails (QString::fromStdString (stats->nodeStats .addrName ) + " " );
1095
1091
peerAddrDetails += tr (" (peer id: %1)" ).arg (QString::number (stats->nodeStats .nodeid ));
@@ -1202,19 +1198,9 @@ void RPCConsole::banSelectedNode(int bantime)
1202
1198
if (!clientModel)
1203
1199
return ;
1204
1200
1205
- // Get selected peer addresses
1206
- QList<QModelIndex> nodes = GUIUtil::getEntryData (ui->peerWidget , PeerTableModel::NetNodeId);
1207
- for (int i = 0 ; i < nodes.count (); i++)
1208
- {
1209
- // Get currently selected peer address
1210
- NodeId id = nodes.at (i).data ().toLongLong ();
1211
-
1212
- // Get currently selected peer address
1213
- int detailNodeRow = clientModel->getPeerTableModel ()->getRowByNodeId (id);
1214
- if (detailNodeRow < 0 ) return ;
1215
-
1201
+ for (const QModelIndex& peer : GUIUtil::getEntryData (ui->peerWidget , PeerTableModel::NetNodeId)) {
1216
1202
// Find possible nodes, ban it and clear the selected node
1217
- const CNodeCombinedStats * stats = clientModel-> getPeerTableModel ()-> getNodeStats (detailNodeRow );
1203
+ const auto stats = peer. data (PeerTableModel::StatsRole). value <CNodeCombinedStats*>( );
1218
1204
if (stats) {
1219
1205
m_node.ban (stats->nodeStats .addr , bantime);
1220
1206
m_node.disconnectByAddress (stats->nodeStats .addr );
0 commit comments