aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bantablemodel.h
diff options
context:
space:
mode:
authorJonas Schnelli <jonas.schnelli@include7.ch>2015-06-20 20:27:03 +0200
committerJonas Schnelli <jonas.schnelli@include7.ch>2015-09-16 16:50:19 +0200
commitad204df1a9077327ab1142fbc9bf41369c1a73d1 (patch)
tree40bf9432ae40956dcb6990814832e6b8ceca0158 /src/qt/bantablemodel.h
parent50f090884ccd29e439720aeb83fcd293fae34921 (diff)
downloadbitcoin-ad204df1a9077327ab1142fbc9bf41369c1a73d1.tar.xz
[Qt] add banlist table below peers table
Diffstat (limited to 'src/qt/bantablemodel.h')
-rw-r--r--src/qt/bantablemodel.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/qt/bantablemodel.h b/src/qt/bantablemodel.h
new file mode 100644
index 0000000000..ef7a26e3c6
--- /dev/null
+++ b/src/qt/bantablemodel.h
@@ -0,0 +1,66 @@
+// Copyright (c) 2011-2013 The Bitcoin Core developers
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#ifndef BITCOIN_QT_BANTABLEMODEL_H
+#define BITCOIN_QT_BANTABLEMODEL_H
+
+#include "main.h"
+#include "net.h"
+
+#include <QAbstractTableModel>
+#include <QStringList>
+
+class ClientModel;
+class BanTablePriv;
+
+QT_BEGIN_NAMESPACE
+class QTimer;
+QT_END_NAMESPACE
+
+struct CCombinedBan {
+ CSubNet subnet;
+ int64_t bantil;
+};
+
+/**
+ Qt model providing information about connected peers, similar to the
+ "getpeerinfo" RPC call. Used by the rpc console UI.
+ */
+class BanTableModel : public QAbstractTableModel
+{
+ Q_OBJECT
+
+public:
+ explicit BanTableModel(ClientModel *parent = 0);
+ void startAutoRefresh();
+ void stopAutoRefresh();
+
+ enum ColumnIndex {
+ Address = 0,
+ Bantime = 1,
+ };
+
+ /** @name Methods overridden from QAbstractTableModel
+ @{*/
+ int rowCount(const QModelIndex &parent) const;
+ int columnCount(const QModelIndex &parent) const;
+ QVariant data(const QModelIndex &index, int role) const;
+ QVariant headerData(int section, Qt::Orientation orientation, int role) const;
+ QModelIndex index(int row, int column, const QModelIndex &parent) const;
+ Qt::ItemFlags flags(const QModelIndex &index) const;
+ void sort(int column, Qt::SortOrder order);
+ bool shouldShow();
+ /*@}*/
+
+public slots:
+ void refresh();
+
+private:
+ ClientModel *clientModel;
+ QStringList columns;
+ BanTablePriv *priv;
+ QTimer *timer;
+};
+
+#endif // BITCOIN_QT_BANTABLEMODEL_H