Add autocomplete to bitcoin-qt's console window.
Removed externs Added listCommands() to CRPCTable Move autocomplete init to RPCConsole::setClientModel()
This commit is contained in:
parent
0fa88ef784
commit
ce7413fcb7
4 changed files with 33 additions and 1 deletions
|
@ -36,6 +36,7 @@
|
|||
#include <QThread>
|
||||
#include <QTime>
|
||||
#include <QTimer>
|
||||
#include <QStringList>
|
||||
|
||||
#if QT_VERSION < 0x050000
|
||||
#include <QUrl>
|
||||
|
@ -446,7 +447,19 @@ void RPCConsole::setClientModel(ClientModel *model)
|
|||
ui->buildDate->setText(model->formatBuildDate());
|
||||
ui->startupTime->setText(model->formatClientStartupTime());
|
||||
ui->networkName->setText(QString::fromStdString(Params().NetworkIDString()));
|
||||
}
|
||||
|
||||
//Setup autocomplete and attach it
|
||||
QStringList wordList;
|
||||
std::vector<std::string> commandList = tableRPC.listCommands();
|
||||
for (size_t i = 0; i < commandList.size(); ++i)
|
||||
{
|
||||
wordList << commandList[i].c_str();
|
||||
}
|
||||
|
||||
autoCompleter = new QCompleter(wordList, this);
|
||||
ui->lineEdit->setCompleter(autoCompleter);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static QString categoryClass(int category)
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "net.h"
|
||||
|
||||
#include <QWidget>
|
||||
#include <QCompleter>
|
||||
|
||||
class ClientModel;
|
||||
class PlatformStyle;
|
||||
|
@ -138,6 +139,7 @@ private:
|
|||
QMenu *peersTableContextMenu;
|
||||
QMenu *banTableContextMenu;
|
||||
int consoleFontSize;
|
||||
QCompleter *autoCompleter;
|
||||
};
|
||||
|
||||
#endif // BITCOIN_QT_RPCCONSOLE_H
|
||||
|
|
|
@ -499,6 +499,17 @@ UniValue CRPCTable::execute(const std::string &strMethod, const UniValue ¶ms
|
|||
g_rpcSignals.PostCommand(*pcmd);
|
||||
}
|
||||
|
||||
std::vector<std::string> CRPCTable::listCommands() const
|
||||
{
|
||||
std::vector<std::string> commandList;
|
||||
typedef std::map<std::string, const CRPCCommand*> commandMap;
|
||||
|
||||
std::transform( mapCommands.begin(), mapCommands.end(),
|
||||
std::back_inserter(commandList),
|
||||
boost::bind(&commandMap::value_type::first,_1) );
|
||||
return commandList;
|
||||
}
|
||||
|
||||
std::string HelpExampleCli(const std::string& methodname, const std::string& args)
|
||||
{
|
||||
return "> bitcoin-cli " + methodname + " " + args + "\n";
|
||||
|
|
|
@ -145,6 +145,12 @@ public:
|
|||
*/
|
||||
UniValue execute(const std::string &method, const UniValue ¶ms) const;
|
||||
|
||||
/**
|
||||
* Returns a list of registered commands
|
||||
* @returns List of registered commands.
|
||||
*/
|
||||
std::vector<std::string> listCommands() const;
|
||||
|
||||
|
||||
/**
|
||||
* Appends a CRPCCommand to the dispatch table.
|
||||
|
|
Loading…
Reference in a new issue