Browse Source

[Qt] add ui signal for banlist changes

0.13
Jonas Schnelli 10 years ago
parent
commit
5f42132950
  1. 8
      src/qt/clientmodel.cpp
  2. 5
      src/rpcnet.cpp
  3. 3
      src/ui_interface.h

8
src/qt/clientmodel.cpp

@ -243,12 +243,19 @@ static void NotifyAlertChanged(ClientModel *clientmodel, const uint256 &hash, Ch
Q_ARG(int, status)); Q_ARG(int, status));
} }
static void BannedListChanged(ClientModel *clientmodel)
{
qDebug() << "BannedListChanged";
QMetaObject::invokeMethod(clientmodel, "updateBanlist", Qt::QueuedConnection);
}
void ClientModel::subscribeToCoreSignals() void ClientModel::subscribeToCoreSignals()
{ {
// Connect signals to client // Connect signals to client
uiInterface.ShowProgress.connect(boost::bind(ShowProgress, this, _1, _2)); uiInterface.ShowProgress.connect(boost::bind(ShowProgress, this, _1, _2));
uiInterface.NotifyNumConnectionsChanged.connect(boost::bind(NotifyNumConnectionsChanged, this, _1)); uiInterface.NotifyNumConnectionsChanged.connect(boost::bind(NotifyNumConnectionsChanged, this, _1));
uiInterface.NotifyAlertChanged.connect(boost::bind(NotifyAlertChanged, this, _1, _2)); uiInterface.NotifyAlertChanged.connect(boost::bind(NotifyAlertChanged, this, _1, _2));
uiInterface.BannedListChanged.connect(boost::bind(BannedListChanged, this));
} }
void ClientModel::unsubscribeFromCoreSignals() void ClientModel::unsubscribeFromCoreSignals()
@ -257,4 +264,5 @@ void ClientModel::unsubscribeFromCoreSignals()
uiInterface.ShowProgress.disconnect(boost::bind(ShowProgress, this, _1, _2)); uiInterface.ShowProgress.disconnect(boost::bind(ShowProgress, this, _1, _2));
uiInterface.NotifyNumConnectionsChanged.disconnect(boost::bind(NotifyNumConnectionsChanged, this, _1)); uiInterface.NotifyNumConnectionsChanged.disconnect(boost::bind(NotifyNumConnectionsChanged, this, _1));
uiInterface.NotifyAlertChanged.disconnect(boost::bind(NotifyAlertChanged, this, _1, _2)); uiInterface.NotifyAlertChanged.disconnect(boost::bind(NotifyAlertChanged, this, _1, _2));
uiInterface.BannedListChanged.disconnect(boost::bind(BannedListChanged, this));
} }

5
src/rpcnet.cpp

@ -12,6 +12,7 @@
#include "protocol.h" #include "protocol.h"
#include "sync.h" #include "sync.h"
#include "timedata.h" #include "timedata.h"
#include "ui_interface.h"
#include "util.h" #include "util.h"
#include "utilstrencodings.h" #include "utilstrencodings.h"
#include "version.h" #include "version.h"
@ -531,6 +532,8 @@ UniValue setban(const UniValue& params, bool fHelp)
} }
DumpBanlist(); //store banlist to disk DumpBanlist(); //store banlist to disk
uiInterface.BannedListChanged();
return NullUniValue; return NullUniValue;
} }
@ -577,6 +580,8 @@ UniValue clearbanned(const UniValue& params, bool fHelp)
CNode::ClearBanned(); CNode::ClearBanned();
DumpBanlist(); //store banlist to disk DumpBanlist(); //store banlist to disk
uiInterface.BannedListChanged();
return NullUniValue; return NullUniValue;
} }

3
src/ui_interface.h

@ -95,6 +95,9 @@ public:
/** New block has been accepted */ /** New block has been accepted */
boost::signals2::signal<void (const uint256& hash)> NotifyBlockTip; boost::signals2::signal<void (const uint256& hash)> NotifyBlockTip;
/** Banlist did change. */
boost::signals2::signal<void (void)> BannedListChanged;
}; };
extern CClientUIInterface uiInterface; extern CClientUIInterface uiInterface;

Loading…
Cancel
Save