@@ -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 auto & 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 auto 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 (" (node id: %1)" ).arg (QString::number (stats->nodeStats .nodeid ));
@@ -1201,19 +1197,9 @@ void RPCConsole::banSelectedNode(int bantime)
1201
1197
if (!clientModel)
1202
1198
return ;
1203
1199
1204
- // Get selected peer addresses
1205
- QList<QModelIndex> nodes = GUIUtil::getEntryData (ui->peerWidget , PeerTableModel::NetNodeId);
1206
- for (int i = 0 ; i < nodes.count (); i++)
1207
- {
1208
- // Get currently selected peer address
1209
- NodeId id = nodes.at (i).data ().toLongLong ();
1210
-
1211
- // Get currently selected peer address
1212
- int detailNodeRow = clientModel->getPeerTableModel ()->getRowByNodeId (id);
1213
- if (detailNodeRow < 0 ) return ;
1214
-
1200
+ for (const auto & peer : GUIUtil::getEntryData (ui->peerWidget , PeerTableModel::NetNodeId)) {
1215
1201
// Find possible nodes, ban it and clear the selected node
1216
- const CNodeCombinedStats * stats = clientModel-> getPeerTableModel ()-> getNodeStats (detailNodeRow );
1202
+ const auto stats = peer. data (PeerTableModel::StatsRole). value <CNodeCombinedStats*>( );
1217
1203
if (stats) {
1218
1204
m_node.ban (stats->nodeStats .addr , bantime);
1219
1205
m_node.disconnectByAddress (stats->nodeStats .addr );
0 commit comments