Browse Source

[Qt] adapt QT ban option to banlist.dat changes

0.13
Jonas Schnelli 9 years ago
parent
commit
b1189cfa10
  1. 10
      src/qt/bantablemodel.cpp
  2. 2
      src/qt/bantablemodel.h
  3. 2
      src/qt/forms/rpcconsole.ui
  4. 10
      src/qt/rpcconsole.cpp

10
src/qt/bantablemodel.cpp

@ -27,7 +27,7 @@ bool BannedNodeLessThan::operator()(const CCombinedBan& left, const CCombinedBan @@ -27,7 +27,7 @@ bool BannedNodeLessThan::operator()(const CCombinedBan& left, const CCombinedBan
case BanTableModel::Address:
return pLeft->subnet.ToString().compare(pRight->subnet.ToString()) < 0;
case BanTableModel::Bantime:
return pLeft->bantil < pRight->bantil;
return pLeft->banEntry.nBanUntil < pRight->banEntry.nBanUntil;
}
return false;
@ -47,18 +47,18 @@ public: @@ -47,18 +47,18 @@ public:
/** Pull a full list of banned nodes from CNode into our cache */
void refreshBanlist()
{
std::map<CSubNet, int64_t> banMap;
banmap_t banMap;
CNode::GetBanned(banMap);
cachedBanlist.clear();
#if QT_VERSION >= 0x040700
cachedBanlist.reserve(banMap.size());
#endif
foreach (const PAIRTYPE(CSubNet, int64_t)& banentry, banMap)
foreach (const PAIRTYPE(CSubNet, CBanEntry)& banentry, banMap)
{
CCombinedBan banEntry;
banEntry.subnet = banentry.first;
banEntry.bantil = banentry.second;
banEntry.banEntry = banentry.second;
cachedBanlist.append(banEntry);
}
@ -120,7 +120,7 @@ QVariant BanTableModel::data(const QModelIndex &index, int role) const @@ -120,7 +120,7 @@ QVariant BanTableModel::data(const QModelIndex &index, int role) const
return QString::fromStdString(rec->subnet.ToString());
case Bantime:
QDateTime date = QDateTime::fromMSecsSinceEpoch(0);
date = date.addSecs(rec->bantil);
date = date.addSecs(rec->banEntry.nBanUntil);
return date.toString(Qt::SystemLocaleLongDate);
}
}

2
src/qt/bantablemodel.h

@ -15,7 +15,7 @@ class BanTablePriv; @@ -15,7 +15,7 @@ class BanTablePriv;
struct CCombinedBan {
CSubNet subnet;
int64_t bantil;
CBanEntry banEntry;
};
class BannedNodeLessThan

2
src/qt/forms/rpcconsole.ui

@ -768,7 +768,7 @@ @@ -768,7 +768,7 @@
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
<set>Qt::NoTextInteraction</set>
</property>
</widget>
</item>

10
src/qt/rpcconsole.cpp

@ -356,10 +356,10 @@ void RPCConsole::setClientModel(ClientModel *model) @@ -356,10 +356,10 @@ void RPCConsole::setClientModel(ClientModel *model)
// create peer table context menu actions
QAction* disconnectAction = new QAction(tr("&Disconnect Node"), this);
QAction* banAction1h = new QAction(tr("&Ban Node for") + " " + tr("&1 hour"), this);
QAction* banAction24h = new QAction(tr("&Ban Node for") + " " + tr("&24 hours"), this);
QAction* banAction7d = new QAction(tr("&Ban Node for") + " " + tr("&7 days"), this);
QAction* banAction365d = new QAction(tr("&Ban Node for") + " " + tr("&1 year"), this);
QAction* banAction1h = new QAction(tr("Ban Node for") + " " + tr("1 hour"), this);
QAction* banAction24h = new QAction(tr("Ban Node for") + " " + tr("24 hours"), this);
QAction* banAction7d = new QAction(tr("Ban Node for") + " " + tr("7 days"), this);
QAction* banAction365d = new QAction(tr("Ban Node for") + " " + tr("1 year"), this);
// create peer table context menu
peersTableContextMenu = new QMenu();
@ -806,7 +806,7 @@ void RPCConsole::banSelectedNode(int bantime) @@ -806,7 +806,7 @@ void RPCConsole::banSelectedNode(int bantime)
int port = 0;
SplitHostPort(nStr, port, addr);
CNode::Ban(CNetAddr(addr), bantime);
CNode::Ban(CNetAddr(addr), BanReasonManuallyAdded, bantime);
bannedNode->fDisconnect = true;
clearSelectedNode();

Loading…
Cancel
Save