1111
1212#include < utility>
1313
14- #include < QDebug>
1514#include < QList>
1615#include < QTimer>
1716
18- bool NodeLessThan::operator ()(const CNodeCombinedStats &left, const CNodeCombinedStats &right) const
19- {
20- const CNodeStats *pLeft = &(left.nodeStats );
21- const CNodeStats *pRight = &(right.nodeStats );
22-
23- if (order == Qt::DescendingOrder)
24- std::swap (pLeft, pRight);
25-
26- switch (static_cast <PeerTableModel::ColumnIndex>(column)) {
27- case PeerTableModel::NetNodeId:
28- return pLeft->nodeid < pRight->nodeid ;
29- case PeerTableModel::Address:
30- return pLeft->addrName .compare (pRight->addrName ) < 0 ;
31- case PeerTableModel::ConnectionType:
32- return pLeft->m_conn_type < pRight->m_conn_type ;
33- case PeerTableModel::Network:
34- return pLeft->m_network < pRight->m_network ;
35- case PeerTableModel::Ping:
36- return pLeft->m_min_ping_time < pRight->m_min_ping_time ;
37- case PeerTableModel::Sent:
38- return pLeft->nSendBytes < pRight->nSendBytes ;
39- case PeerTableModel::Received:
40- return pLeft->nRecvBytes < pRight->nRecvBytes ;
41- case PeerTableModel::Subversion:
42- return pLeft->cleanSubVer .compare (pRight->cleanSubVer ) < 0 ;
43- } // no default case, so the compiler can warn about missing cases
44- assert (false );
45- }
46-
4717// private implementation
4818class PeerTablePriv
4919{
5020public:
5121 /* * Local cache of peer information */
5222 QList<CNodeCombinedStats> cachedNodeStats;
53- /* * Column to sort nodes by (default to unsorted) */
54- int sortColumn{-1 };
55- /* * Order (ascending or descending) to sort nodes by */
56- Qt::SortOrder sortOrder;
5723 /* * Index of rows by node ID */
5824 std::map<NodeId, int > mapNodeRows;
5925
@@ -76,10 +42,6 @@ class PeerTablePriv
7642 }
7743 }
7844
79- if (sortColumn >= 0 )
80- // sort cacheNodeStats (use stable sort to prevent rows jumping around unnecessarily)
81- std::stable_sort (cachedNodeStats.begin (), cachedNodeStats.end (), NodeLessThan (sortColumn, sortOrder));
82-
8345 // build index map
8446 mapNodeRows.clear ();
8547 int row = 0 ;
@@ -245,10 +207,3 @@ int PeerTableModel::getRowByNodeId(NodeId nodeid)
245207
246208 return it->second ;
247209}
248-
249- void PeerTableModel::sort (int column, Qt::SortOrder order)
250- {
251- priv->sortColumn = column;
252- priv->sortOrder = order;
253- refresh ();
254- }
0 commit comments