mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 20:12:57 +01:00
Add help-console command to Qt debug console
- Added `help-console` to the list of autocompletion strings - Implemented requested changes to help message: - Added an example that uses access-by-index `getblock(getblockhash(0) true)[tx][0]` - Replace "bracketed syntax" to "parenthesized syntax" where applicable - Replace "separate" with "delimit" - Removed `<br>` and `<b>help/help-console</b>` from translation strings, since these parts don't change between languages - Changed examples to be based off `getblock 0` so they will work even with pruned/no blockchain and `disablewallet` if copied and pasted - Clarified syntax for queries of named/unnamed result objects.
This commit is contained in:
parent
f0c1f8abb0
commit
c3055bbea1
@ -392,11 +392,37 @@ void RPCExecutor::request(const QString &command)
|
|||||||
{
|
{
|
||||||
std::string result;
|
std::string result;
|
||||||
std::string executableCommand = command.toStdString() + "\n";
|
std::string executableCommand = command.toStdString() + "\n";
|
||||||
|
|
||||||
|
// Catch the console-only-help command before RPC call is executed and reply with help text as-if a RPC reply.
|
||||||
|
if(executableCommand == "help-console\n")
|
||||||
|
{
|
||||||
|
Q_EMIT reply(RPCConsole::CMD_REPLY, QString(("\n"
|
||||||
|
"This console accepts RPC commands using the standard syntax.\n"
|
||||||
|
" example: getblockhash 0\n\n"
|
||||||
|
|
||||||
|
"This console can also accept RPC commands using parenthesized syntax.\n"
|
||||||
|
" example: getblockhash(0)\n\n"
|
||||||
|
|
||||||
|
"Commands may be nested when specified with the parenthesized syntax.\n"
|
||||||
|
" example: getblock(getblockhash(0) 1)\n\n"
|
||||||
|
|
||||||
|
"A space or a comma can be used to delimit arguments for either syntax.\n"
|
||||||
|
" example: getblockhash 0\n"
|
||||||
|
" getblockhash,0\n\n"
|
||||||
|
|
||||||
|
"Named results can be queried with a non-quoted key string in brackets.\n"
|
||||||
|
" example: getblock(getblockhash(0) true)[tx]\n\n"
|
||||||
|
|
||||||
|
"Results without keys can be queried using an integer in brackets.\n"
|
||||||
|
" example: getblock(getblockhash(0),true)[tx][0]\n\n")));
|
||||||
|
return;
|
||||||
|
}
|
||||||
if(!RPCConsole::RPCExecuteCommandLine(result, executableCommand))
|
if(!RPCConsole::RPCExecuteCommandLine(result, executableCommand))
|
||||||
{
|
{
|
||||||
Q_EMIT reply(RPCConsole::CMD_ERROR, QString("Parse error: unbalanced ' or \""));
|
Q_EMIT reply(RPCConsole::CMD_ERROR, QString("Parse error: unbalanced ' or \""));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_EMIT reply(RPCConsole::CMD_REPLY, QString::fromStdString(result));
|
Q_EMIT reply(RPCConsole::CMD_REPLY, QString::fromStdString(result));
|
||||||
}
|
}
|
||||||
catch (UniValue& objError)
|
catch (UniValue& objError)
|
||||||
@ -645,6 +671,7 @@ void RPCConsole::setClientModel(ClientModel *model)
|
|||||||
wordList << ("help " + commandList[i]).c_str();
|
wordList << ("help " + commandList[i]).c_str();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wordList << "help-console";
|
||||||
wordList.sort();
|
wordList.sort();
|
||||||
autoCompleter = new QCompleter(wordList, this);
|
autoCompleter = new QCompleter(wordList, this);
|
||||||
autoCompleter->setModelSorting(QCompleter::CaseSensitivelySortedModel);
|
autoCompleter->setModelSorting(QCompleter::CaseSensitivelySortedModel);
|
||||||
@ -750,10 +777,11 @@ void RPCConsole::clear(bool clearHistory)
|
|||||||
|
|
||||||
message(CMD_REPLY, (tr("Welcome to the %1 RPC console.").arg(tr(PACKAGE_NAME)) + "<br>" +
|
message(CMD_REPLY, (tr("Welcome to the %1 RPC console.").arg(tr(PACKAGE_NAME)) + "<br>" +
|
||||||
tr("Use up and down arrows to navigate history, and %1 to clear screen.").arg("<b>"+clsKey+"</b>") + "<br>" +
|
tr("Use up and down arrows to navigate history, and %1 to clear screen.").arg("<b>"+clsKey+"</b>") + "<br>" +
|
||||||
tr("Type <b>help</b> for an overview of available commands.")) +
|
tr("Type %1 for an overview of available commands.").arg("<b>help</b>") + "<br>" +
|
||||||
"<br><span class=\"secwarning\">" +
|
tr("For more information on using this console type %1.").arg("<b>help-console</b>") +
|
||||||
|
"<br><span class=\"secwarning\"><br>" +
|
||||||
tr("WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.") +
|
tr("WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.") +
|
||||||
"</span>",
|
"</span>"),
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user