aboutsummaryrefslogtreecommitdiff
path: root/src/qt/peertablemodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/peertablemodel.h')
-rw-r--r--src/qt/peertablemodel.h74
1 files changed, 45 insertions, 29 deletions
diff --git a/src/qt/peertablemodel.h b/src/qt/peertablemodel.h
index 7bff239507..0ff1b5dba7 100644
--- a/src/qt/peertablemodel.h
+++ b/src/qt/peertablemodel.h
@@ -8,10 +8,11 @@
#include <net_processing.h> // For CNodeStateStats
#include <net.h>
-#include <memory>
-
#include <QAbstractTableModel>
+#include <QList>
+#include <QModelIndex>
#include <QStringList>
+#include <QVariant>
class PeerTablePriv;
@@ -30,18 +31,6 @@ struct CNodeCombinedStats {
};
Q_DECLARE_METATYPE(CNodeCombinedStats*)
-class NodeLessThan
-{
-public:
- NodeLessThan(int nColumn, Qt::SortOrder fOrder) :
- column(nColumn), order(fOrder) {}
- bool operator()(const CNodeCombinedStats &left, const CNodeCombinedStats &right) const;
-
-private:
- int column;
- Qt::SortOrder order;
-};
-
/**
Qt model providing information about connected peers, similar to the
"getpeerinfo" RPC call. Used by the rpc console UI.
@@ -53,18 +42,18 @@ class PeerTableModel : public QAbstractTableModel
public:
explicit PeerTableModel(interfaces::Node& node, QObject* parent);
~PeerTableModel();
- int getRowByNodeId(NodeId nodeid);
void startAutoRefresh();
void stopAutoRefresh();
enum ColumnIndex {
NetNodeId = 0,
- Address = 1,
- Network = 2,
- Ping = 3,
- Sent = 4,
- Received = 5,
- Subversion = 6
+ Address,
+ ConnectionType,
+ Network,
+ Ping,
+ Sent,
+ Received,
+ Subversion
};
enum {
@@ -73,22 +62,49 @@ public:
/** @name Methods overridden from QAbstractTableModel
@{*/
- int rowCount(const QModelIndex &parent) const override;
- int columnCount(const QModelIndex &parent) const override;
- QVariant data(const QModelIndex &index, int role) const override;
- QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
- QModelIndex index(int row, int column, const QModelIndex &parent) const override;
+ int rowCount(const QModelIndex& parent = QModelIndex()) const override;
+ int columnCount(const QModelIndex& parent = QModelIndex()) const override;
+ QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
+ QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
+ QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override;
Qt::ItemFlags flags(const QModelIndex &index) const override;
- void sort(int column, Qt::SortOrder order) override;
/*@}*/
public Q_SLOTS:
void refresh();
+Q_SIGNALS:
+ void changed();
+
private:
+ //! Internal peer data structure.
+ QList<CNodeCombinedStats> m_peers_data{};
interfaces::Node& m_node;
- const QStringList columns{tr("Peer Id"), tr("Address"), tr("Network"), tr("Ping"), tr("Sent"), tr("Received"), tr("User Agent")};
- std::unique_ptr<PeerTablePriv> priv;
+ const QStringList columns{
+ /*: Title of Peers Table column which contains a
+ unique number used to identify a connection. */
+ tr("Peer"),
+ /*: Title of Peers Table column which contains the
+ IP/Onion/I2P address of the connected peer. */
+ tr("Address"),
+ /*: Title of Peers Table column which describes the type of
+ peer connection. The "type" describes why the connection exists. */
+ tr("Type"),
+ /*: Title of Peers Table column which states the network the peer
+ connected through. */
+ tr("Network"),
+ /*: Title of Peers Table column which indicates the current latency
+ of the connection with the peer. */
+ tr("Ping"),
+ /*: Title of Peers Table column which indicates the total amount of
+ network information we have sent to the peer. */
+ tr("Sent"),
+ /*: Title of Peers Table column which indicates the total amount of
+ network information we have received from the peer. */
+ tr("Received"),
+ /*: Title of Peers Table column which contains the peer's
+ User Agent string. */
+ tr("User Agent")};
QTimer *timer;
};