/
githubmirror
/
bitcoin
Обзор
Документация
Войти
/
githubmirror
/
bitcoin
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/qt/peertablesortproxy.cpp
47 строк
2 KB
MarcoFalke
scripted-diff: [doc] Unify stale copyright headers
17 дек 2025, 00:21
17 дек 2025, 00:21
fa5f297
Код
Авторство
О чём код?
// Copyright (c) 2020-present The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include <qt/peertablesortproxy.h> #include <qt/peertablemodel.h> #include <util/check.h> #include <QModelIndex> #include <QString> #include <QVariant> PeerTableSortProxy::PeerTableSortProxy(QObject* parent) : QSortFilterProxyModel(parent) { } bool PeerTableSortProxy::lessThan(const QModelIndex& left_index, const QModelIndex& right_index) const { const CNodeStats left_stats = Assert(sourceModel()->data(left_index, PeerTableModel::StatsRole).value<CNodeCombinedStats*>())->nodeStats; const CNodeStats right_stats = Assert(sourceModel()->data(right_index, PeerTableModel::StatsRole).value<CNodeCombinedStats*>())->nodeStats; switch (static_cast<PeerTableModel::ColumnIndex>(left_index.column())) { case PeerTableModel::NetNodeId: return left_stats.nodeid < right_stats.nodeid; case PeerTableModel::Age: return left_stats.m_connected > right_stats.m_connected; case PeerTableModel::Address: return left_stats.m_addr_name.compare(right_stats.m_addr_name) < 0; case PeerTableModel::Direction: return left_stats.fInbound > right_stats.fInbound; // default sort Inbound, then Outbound case PeerTableModel::ConnectionType: return left_stats.m_conn_type < right_stats.m_conn_type; case PeerTableModel::Network: return left_stats.m_network < right_stats.m_network; case PeerTableModel::Ping: return left_stats.m_min_ping_time < right_stats.m_min_ping_time; case PeerTableModel::Sent: return left_stats.nSendBytes < right_stats.nSendBytes; case PeerTableModel::Received: return left_stats.nRecvBytes < right_stats.nRecvBytes; case PeerTableModel::Subversion: return left_stats.cleanSubVer.compare(right_stats.cleanSubVer) < 0; } // no default case, so the compiler can warn about missing cases assert(false); }