move class HelpMessageBox to guiutil.cpp/.h / add button to show Bitcoin command-line options (in RPC Console -> Information) / resize Debug window a little to allow for a non-breaking display of the welcome message with non-english translation
This commit is contained in:
parent
98474d3d6f
commit
5d6b30271f
6 changed files with 93 additions and 54 deletions
|
@ -113,54 +113,6 @@ static void handleRunawayException(std::exception *e)
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Help message for Bitcoin-Qt, shown with --help. */
|
|
||||||
class HelpMessageBox: public QMessageBox
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
HelpMessageBox(QWidget *parent = 0);
|
|
||||||
|
|
||||||
void exec();
|
|
||||||
private:
|
|
||||||
QString header;
|
|
||||||
QString coreOptions;
|
|
||||||
QString uiOptions;
|
|
||||||
};
|
|
||||||
|
|
||||||
HelpMessageBox::HelpMessageBox(QWidget *parent):
|
|
||||||
QMessageBox(parent)
|
|
||||||
{
|
|
||||||
header = tr("Bitcoin-Qt") + " " + tr("version") + " " +
|
|
||||||
QString::fromStdString(FormatFullVersion()) + "\n\n" +
|
|
||||||
tr("Usage:") + "\n" +
|
|
||||||
" bitcoin-qt [" + tr("options") + "] " + "\n";
|
|
||||||
coreOptions = QString::fromStdString(HelpMessage());
|
|
||||||
uiOptions = tr("UI options") + ":\n" +
|
|
||||||
" -lang=<lang> " + tr("Set language, for example \"de_DE\" (default: system locale)") + "\n" +
|
|
||||||
" -min " + tr("Start minimized") + "\n" +
|
|
||||||
" -splash " + tr("Show splash screen on startup (default: 1)") + "\n";
|
|
||||||
|
|
||||||
setWindowTitle(tr("Bitcoin-Qt"));
|
|
||||||
setTextFormat(Qt::PlainText);
|
|
||||||
// setMinimumWidth is ignored for QMessageBox so put in nonbreaking spaces to make it wider.
|
|
||||||
QChar em_space(0x2003);
|
|
||||||
setText(header + QString(em_space).repeated(40));
|
|
||||||
setDetailedText(coreOptions + "\n" + uiOptions);
|
|
||||||
}
|
|
||||||
#include "bitcoin.moc"
|
|
||||||
|
|
||||||
void HelpMessageBox::exec()
|
|
||||||
{
|
|
||||||
#if defined(WIN32)
|
|
||||||
// On windows, show a message box, as there is no stderr in windowed applications
|
|
||||||
QMessageBox::exec();
|
|
||||||
#else
|
|
||||||
// On other operating systems, the expected action is to print the message to the console.
|
|
||||||
QString strUsage = header + "\n" + coreOptions + "\n" + uiOptions;
|
|
||||||
fprintf(stderr, "%s", strUsage.toStdString().c_str());
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef BITCOIN_QT_TEST
|
#ifndef BITCOIN_QT_TEST
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
@ -259,7 +211,7 @@ int main(int argc, char *argv[])
|
||||||
// but before showing splash screen.
|
// but before showing splash screen.
|
||||||
if (mapArgs.count("-?") || mapArgs.count("--help"))
|
if (mapArgs.count("-?") || mapArgs.count("--help"))
|
||||||
{
|
{
|
||||||
HelpMessageBox help;
|
GUIUtil::HelpMessageBox help;
|
||||||
help.exec();
|
help.exec();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>706</width>
|
<width>740</width>
|
||||||
<height>446</height>
|
<height>450</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -304,6 +304,29 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="15" column="0">
|
<item row="15" column="0">
|
||||||
|
<widget class="QLabel" name="labelCLOptions">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Command-line options</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="16" column="0">
|
||||||
|
<widget class="QPushButton" name="showCLOptionsButton">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Show</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="17" column="0">
|
||||||
<spacer name="verticalSpacer">
|
<spacer name="verticalSpacer">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#include "walletmodel.h"
|
#include "walletmodel.h"
|
||||||
#include "bitcoinunits.h"
|
#include "bitcoinunits.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
#include "init.h"
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
|
@ -413,5 +414,39 @@ bool SetStartOnSystemStartup(bool fAutoStart) { return false; }
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
HelpMessageBox::HelpMessageBox(QWidget *parent) :
|
||||||
|
QMessageBox(parent)
|
||||||
|
{
|
||||||
|
header = tr("Bitcoin-Qt") + " " + tr("version") + " " +
|
||||||
|
QString::fromStdString(FormatFullVersion()) + "\n\n" +
|
||||||
|
tr("Usage:") + "\n" +
|
||||||
|
" bitcoin-qt [" + tr("command-line options") + "] " + "\n";
|
||||||
|
|
||||||
|
coreOptions = QString::fromStdString(HelpMessage());
|
||||||
|
|
||||||
|
uiOptions = tr("UI options") + ":\n" +
|
||||||
|
" -lang=<lang> " + tr("Set language, for example \"de_DE\" (default: system locale)") + "\n" +
|
||||||
|
" -min " + tr("Start minimized") + "\n" +
|
||||||
|
" -splash " + tr("Show splash screen on startup (default: 1)") + "\n";
|
||||||
|
|
||||||
|
setWindowTitle(tr("Bitcoin-Qt"));
|
||||||
|
setTextFormat(Qt::PlainText);
|
||||||
|
// setMinimumWidth is ignored for QMessageBox so put in nonbreaking spaces to make it wider.
|
||||||
|
setText(header + QString(QChar(0x2003)).repeated(50));
|
||||||
|
setDetailedText(coreOptions + "\n" + uiOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HelpMessageBox::exec()
|
||||||
|
{
|
||||||
|
#if defined(WIN32)
|
||||||
|
// On windows, show a message box, as there is no stderr in windowed applications
|
||||||
|
QMessageBox::exec();
|
||||||
|
#else
|
||||||
|
// On other operating systems, the expected action is to print the message to the console.
|
||||||
|
QString strUsage = header + "\n" + coreOptions + "\n" + uiOptions;
|
||||||
|
fprintf(stderr, "%s", strUsage.toStdString().c_str());
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace GUIUtil
|
} // namespace GUIUtil
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QFont;
|
class QFont;
|
||||||
|
@ -80,6 +81,7 @@ namespace GUIUtil
|
||||||
class ToolTipToRichTextFilter : public QObject
|
class ToolTipToRichTextFilter : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit ToolTipToRichTextFilter(int size_threshold, QObject *parent = 0);
|
explicit ToolTipToRichTextFilter(int size_threshold, QObject *parent = 0);
|
||||||
|
|
||||||
|
@ -93,6 +95,22 @@ namespace GUIUtil
|
||||||
bool GetStartOnSystemStartup();
|
bool GetStartOnSystemStartup();
|
||||||
bool SetStartOnSystemStartup(bool fAutoStart);
|
bool SetStartOnSystemStartup(bool fAutoStart);
|
||||||
|
|
||||||
|
/** Help message for Bitcoin-Qt, shown with --help. */
|
||||||
|
class HelpMessageBox : public QMessageBox
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
HelpMessageBox(QWidget *parent = 0);
|
||||||
|
|
||||||
|
void exec();
|
||||||
|
|
||||||
|
private:
|
||||||
|
QString header;
|
||||||
|
QString coreOptions;
|
||||||
|
QString uiOptions;
|
||||||
|
};
|
||||||
|
|
||||||
} // namespace GUIUtil
|
} // namespace GUIUtil
|
||||||
|
|
||||||
#endif // GUIUTIL_H
|
#endif // GUIUTIL_H
|
||||||
|
|
|
@ -109,10 +109,13 @@ RPCConsole::RPCConsole(QWidget *parent) :
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifndef Q_WS_MAC
|
||||||
ui->openDebugLogfileButton->setIcon(QIcon(":/icons/export"));
|
ui->openDebugLogfileButton->setIcon(QIcon(":/icons/export"));
|
||||||
#else
|
ui->showCLOptionsButton->setIcon(QIcon(":/icons/options"));
|
||||||
// Show Debug logfile label and Open button only for Windows
|
#endif
|
||||||
|
|
||||||
|
#ifndef WIN32
|
||||||
|
// Hide Debug logfile label and Open button for non Windows-OSes
|
||||||
ui->labelDebugLogfile->setVisible(false);
|
ui->labelDebugLogfile->setVisible(false);
|
||||||
ui->openDebugLogfileButton->setVisible(false);
|
ui->openDebugLogfileButton->setVisible(false);
|
||||||
#endif
|
#endif
|
||||||
|
@ -326,3 +329,9 @@ void RPCConsole::scrollToEnd()
|
||||||
QScrollBar *scrollbar = ui->messagesWidget->verticalScrollBar();
|
QScrollBar *scrollbar = ui->messagesWidget->verticalScrollBar();
|
||||||
scrollbar->setValue(scrollbar->maximum());
|
scrollbar->setValue(scrollbar->maximum());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RPCConsole::on_showCLOptionsButton_clicked()
|
||||||
|
{
|
||||||
|
GUIUtil::HelpMessageBox help;
|
||||||
|
help.exec();
|
||||||
|
}
|
||||||
|
|
|
@ -35,6 +35,8 @@ private slots:
|
||||||
void on_tabWidget_currentChanged(int index);
|
void on_tabWidget_currentChanged(int index);
|
||||||
/** open the debug.log from the current datadir */
|
/** open the debug.log from the current datadir */
|
||||||
void on_openDebugLogfileButton_clicked();
|
void on_openDebugLogfileButton_clicked();
|
||||||
|
/** display messagebox with program parameters (same as bitcoin-qt --help) */
|
||||||
|
void on_showCLOptionsButton_clicked();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void clear();
|
void clear();
|
||||||
|
|
Loading…
Reference in a new issue