31 QDialog(parent,
GUIUtil::dialog_flags),
44 QString licenseInfoHTML = QString::fromStdString(
LicenseInfo());
46 QRegularExpression uri(QStringLiteral(
"<(.*)>"), QRegularExpression::InvertedGreedinessOption);
47 licenseInfoHTML.replace(uri, QStringLiteral(
"<a href=\"\\1\">\\1</a>"));
49 licenseInfoHTML.replace(
"\n",
"<br>");
52 ui->
scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
58 setWindowTitle(tr(
"Command-line options"));
59 QString header =
"Usage: bitcoin-qt [command-line options] [URI]\n\n"
60 "Optional URI is a Bitcoin address in BIP21 URI format.\n";
62 cursor.insertText(version);
64 cursor.insertText(header);
68 QString coreOptions = QString::fromStdString(strUsage);
69 text = version +
"\n\n" + header +
"\n" + coreOptions;
72 tf.setBorderStyle(QTextFrameFormat::BorderStyle_None);
74 QVector<QTextLength> widths;
75 widths << QTextLength(QTextLength::PercentageLength, 35);
76 widths << QTextLength(QTextLength::PercentageLength, 65);
77 tf.setColumnWidthConstraints(widths);
80 bold.setFontWeight(QFont::Bold);
82 for (
const QString &line : coreOptions.split(
"\n")) {
83 if (line.startsWith(
" -"))
85 cursor.currentTable()->appendRows(1);
86 cursor.movePosition(QTextCursor::PreviousCell);
87 cursor.movePosition(QTextCursor::NextRow);
88 cursor.insertText(line.trimmed());
89 cursor.movePosition(QTextCursor::NextCell);
90 }
else if (line.startsWith(
" ")) {
91 cursor.insertText(line.trimmed()+
' ');
92 }
else if (line.size() > 0) {
94 if (cursor.currentTable())
95 cursor.currentTable()->appendRows(1);
96 cursor.movePosition(QTextCursor::Down);
97 cursor.insertText(line.trimmed(), bold);
98 cursor.insertTable(1, 2, tf);
std::string FormatParagraph(std::string_view in, size_t width, size_t indent)
Format a paragraph of text to a fixed width, adding spaces for indentation to any added line.