From ce7413fcb7d28bd72e5ade7dc9756504de766fc2 Mon Sep 17 00:00:00 2001 From: Luv Khemani Date: Sat, 27 Feb 2016 11:57:12 +0800 Subject: Add autocomplete to bitcoin-qt's console window. Removed externs Added listCommands() to CRPCTable Move autocomplete init to RPCConsole::setClientModel() --- src/qt/rpcconsole.cpp | 15 ++++++++++++++- src/qt/rpcconsole.h | 2 ++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src/qt') diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 4e2530ffab..e40d144645 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #if QT_VERSION < 0x050000 #include @@ -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 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) diff --git a/src/qt/rpcconsole.h b/src/qt/rpcconsole.h index 648e32638f..ad10ec12aa 100644 --- a/src/qt/rpcconsole.h +++ b/src/qt/rpcconsole.h @@ -11,6 +11,7 @@ #include "net.h" #include +#include class ClientModel; class PlatformStyle; @@ -138,6 +139,7 @@ private: QMenu *peersTableContextMenu; QMenu *banTableContextMenu; int consoleFontSize; + QCompleter *autoCompleter; }; #endif // BITCOIN_QT_RPCCONSOLE_H -- cgit v1.2.3