[Qt] add utilitydialog.cpp/h and helpmessage class
- adds a nice and well formated dialog, which displays our -? help message (all options/paramaters) - moves aboutdialog.cpp/h to the new utilitydialog - move GUI shutdown window to utilitydialog
This commit is contained in:
parent
490d6a3046
commit
7b50bb2f1b
13 changed files with 343 additions and 162 deletions
|
@ -4,6 +4,7 @@ FORMS += \
|
||||||
../src/qt/forms/askpassphrasedialog.ui \
|
../src/qt/forms/askpassphrasedialog.ui \
|
||||||
../src/qt/forms/coincontroldialog.ui \
|
../src/qt/forms/coincontroldialog.ui \
|
||||||
../src/qt/forms/editaddressdialog.ui \
|
../src/qt/forms/editaddressdialog.ui \
|
||||||
|
../src/qt/forms/helpmessagedialog.ui \
|
||||||
../src/qt/forms/intro.ui \
|
../src/qt/forms/intro.ui \
|
||||||
../src/qt/forms/openuridialog.ui \
|
../src/qt/forms/openuridialog.ui \
|
||||||
../src/qt/forms/optionsdialog.ui \
|
../src/qt/forms/optionsdialog.ui \
|
||||||
|
|
|
@ -80,6 +80,7 @@ QT_FORMS_UI = \
|
||||||
forms/askpassphrasedialog.ui \
|
forms/askpassphrasedialog.ui \
|
||||||
forms/coincontroldialog.ui \
|
forms/coincontroldialog.ui \
|
||||||
forms/editaddressdialog.ui \
|
forms/editaddressdialog.ui \
|
||||||
|
forms/helpmessagedialog.ui \
|
||||||
forms/intro.ui \
|
forms/intro.ui \
|
||||||
forms/openuridialog.ui \
|
forms/openuridialog.ui \
|
||||||
forms/optionsdialog.ui \
|
forms/optionsdialog.ui \
|
||||||
|
@ -93,7 +94,6 @@ QT_FORMS_UI = \
|
||||||
forms/transactiondescdialog.ui
|
forms/transactiondescdialog.ui
|
||||||
|
|
||||||
QT_MOC_CPP = \
|
QT_MOC_CPP = \
|
||||||
moc_aboutdialog.cpp \
|
|
||||||
moc_addressbookpage.cpp \
|
moc_addressbookpage.cpp \
|
||||||
moc_addresstablemodel.cpp \
|
moc_addresstablemodel.cpp \
|
||||||
moc_askpassphrasedialog.cpp \
|
moc_askpassphrasedialog.cpp \
|
||||||
|
@ -133,6 +133,7 @@ QT_MOC_CPP = \
|
||||||
moc_transactionfilterproxy.cpp \
|
moc_transactionfilterproxy.cpp \
|
||||||
moc_transactiontablemodel.cpp \
|
moc_transactiontablemodel.cpp \
|
||||||
moc_transactionview.cpp \
|
moc_transactionview.cpp \
|
||||||
|
moc_utilitydialog.cpp \
|
||||||
moc_walletframe.cpp \
|
moc_walletframe.cpp \
|
||||||
moc_walletmodel.cpp \
|
moc_walletmodel.cpp \
|
||||||
moc_walletview.cpp
|
moc_walletview.cpp
|
||||||
|
@ -155,7 +156,6 @@ PROTOBUF_H = paymentrequest.pb.h
|
||||||
PROTOBUF_PROTO = paymentrequest.proto
|
PROTOBUF_PROTO = paymentrequest.proto
|
||||||
|
|
||||||
BITCOIN_QT_H = \
|
BITCOIN_QT_H = \
|
||||||
aboutdialog.h \
|
|
||||||
addressbookpage.h \
|
addressbookpage.h \
|
||||||
addresstablemodel.h \
|
addresstablemodel.h \
|
||||||
askpassphrasedialog.h \
|
askpassphrasedialog.h \
|
||||||
|
@ -198,6 +198,7 @@ BITCOIN_QT_H = \
|
||||||
transactionrecord.h \
|
transactionrecord.h \
|
||||||
transactiontablemodel.h \
|
transactiontablemodel.h \
|
||||||
transactionview.h \
|
transactionview.h \
|
||||||
|
utilitydialog.h \
|
||||||
walletframe.h \
|
walletframe.h \
|
||||||
walletmodel.h \
|
walletmodel.h \
|
||||||
walletmodeltransaction.h \
|
walletmodeltransaction.h \
|
||||||
|
@ -248,7 +249,6 @@ RES_ICONS = \
|
||||||
res/icons/tx_mined.png
|
res/icons/tx_mined.png
|
||||||
|
|
||||||
BITCOIN_QT_CPP = \
|
BITCOIN_QT_CPP = \
|
||||||
aboutdialog.cpp \
|
|
||||||
bitcoin.cpp \
|
bitcoin.cpp \
|
||||||
bitcoinaddressvalidator.cpp \
|
bitcoinaddressvalidator.cpp \
|
||||||
bitcoinamountfield.cpp \
|
bitcoinamountfield.cpp \
|
||||||
|
@ -267,7 +267,8 @@ BITCOIN_QT_CPP = \
|
||||||
rpcconsole.cpp \
|
rpcconsole.cpp \
|
||||||
signverifymessagedialog.cpp \
|
signverifymessagedialog.cpp \
|
||||||
splashscreen.cpp \
|
splashscreen.cpp \
|
||||||
trafficgraphwidget.cpp
|
trafficgraphwidget.cpp \
|
||||||
|
utilitydialog.cpp
|
||||||
|
|
||||||
if ENABLE_WALLET
|
if ENABLE_WALLET
|
||||||
BITCOIN_QT_CPP += \
|
BITCOIN_QT_CPP += \
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
// Copyright (c) 2011-2013 The Bitcoin developers
|
|
||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
|
||||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
||||||
|
|
||||||
#include "aboutdialog.h"
|
|
||||||
#include "ui_aboutdialog.h"
|
|
||||||
|
|
||||||
#include "clientmodel.h"
|
|
||||||
|
|
||||||
#include "clientversion.h"
|
|
||||||
|
|
||||||
AboutDialog::AboutDialog(QWidget *parent) :
|
|
||||||
QDialog(parent),
|
|
||||||
ui(new Ui::AboutDialog)
|
|
||||||
{
|
|
||||||
ui->setupUi(this);
|
|
||||||
|
|
||||||
// Set current copyright year
|
|
||||||
ui->copyrightLabel->setText(tr("Copyright") + QString(" © 2009-%1 ").arg(COPYRIGHT_YEAR) + tr("The Bitcoin Core developers"));
|
|
||||||
}
|
|
||||||
|
|
||||||
void AboutDialog::setModel(ClientModel *model)
|
|
||||||
{
|
|
||||||
if(model)
|
|
||||||
{
|
|
||||||
ui->versionLabel->setText(model->formatFullVersion());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
AboutDialog::~AboutDialog()
|
|
||||||
{
|
|
||||||
delete ui;
|
|
||||||
}
|
|
||||||
|
|
||||||
void AboutDialog::on_buttonBox_accepted()
|
|
||||||
{
|
|
||||||
close();
|
|
||||||
}
|
|
|
@ -1,34 +0,0 @@
|
||||||
// Copyright (c) 2011-2013 The Bitcoin developers
|
|
||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
|
||||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
||||||
|
|
||||||
#ifndef ABOUTDIALOG_H
|
|
||||||
#define ABOUTDIALOG_H
|
|
||||||
|
|
||||||
#include <QDialog>
|
|
||||||
|
|
||||||
class ClientModel;
|
|
||||||
|
|
||||||
namespace Ui {
|
|
||||||
class AboutDialog;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** "About" dialog box */
|
|
||||||
class AboutDialog : public QDialog
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit AboutDialog(QWidget *parent);
|
|
||||||
~AboutDialog();
|
|
||||||
|
|
||||||
void setModel(ClientModel *model);
|
|
||||||
|
|
||||||
private:
|
|
||||||
Ui::AboutDialog *ui;
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void on_buttonBox_accepted();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // ABOUTDIALOG_H
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include "intro.h"
|
#include "intro.h"
|
||||||
#include "optionsmodel.h"
|
#include "optionsmodel.h"
|
||||||
#include "splashscreen.h"
|
#include "splashscreen.h"
|
||||||
|
#include "utilitydialog.h"
|
||||||
#ifdef ENABLE_WALLET
|
#ifdef ENABLE_WALLET
|
||||||
#include "paymentserver.h"
|
#include "paymentserver.h"
|
||||||
#include "walletmodel.h"
|
#include "walletmodel.h"
|
||||||
|
@ -36,8 +37,6 @@
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
#include <QVBoxLayout>
|
|
||||||
#include <QLabel>
|
|
||||||
|
|
||||||
#if defined(QT_STATICPLUGIN)
|
#if defined(QT_STATICPLUGIN)
|
||||||
#include <QtPlugin>
|
#include <QtPlugin>
|
||||||
|
@ -356,17 +355,7 @@ void BitcoinApplication::requestShutdown()
|
||||||
clientModel = 0;
|
clientModel = 0;
|
||||||
|
|
||||||
// Show a simple window indicating shutdown status
|
// Show a simple window indicating shutdown status
|
||||||
QWidget *shutdownWindow = new QWidget();
|
ShutdownWindow::showShutdownWindow(window);
|
||||||
QVBoxLayout *layout = new QVBoxLayout();
|
|
||||||
layout->addWidget(new QLabel(
|
|
||||||
tr("Bitcoin Core is shutting down...") + "<br /><br />" +
|
|
||||||
tr("Do not shut down the computer until this window disappears.")));
|
|
||||||
shutdownWindow->setLayout(layout);
|
|
||||||
|
|
||||||
// Center shutdown window at where main window was
|
|
||||||
const QPoint global = window->mapToGlobal(window->rect().center());
|
|
||||||
shutdownWindow->move(global.x() - shutdownWindow->width() / 2, global.y() - shutdownWindow->height() / 2);
|
|
||||||
shutdownWindow->show();
|
|
||||||
|
|
||||||
// Request shutdown from core thread
|
// Request shutdown from core thread
|
||||||
emit requestedShutdown();
|
emit requestedShutdown();
|
||||||
|
@ -503,7 +492,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"))
|
||||||
{
|
{
|
||||||
GUIUtil::HelpMessageBox help;
|
HelpMessageDialog help(NULL);
|
||||||
help.showOrPrint();
|
help.showOrPrint();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
|
|
||||||
#include "bitcoingui.h"
|
#include "bitcoingui.h"
|
||||||
|
|
||||||
#include "aboutdialog.h"
|
|
||||||
#include "bitcoinunits.h"
|
#include "bitcoinunits.h"
|
||||||
#include "clientmodel.h"
|
#include "clientmodel.h"
|
||||||
#include "guiconstants.h"
|
#include "guiconstants.h"
|
||||||
|
@ -14,6 +13,7 @@
|
||||||
#include "optionsdialog.h"
|
#include "optionsdialog.h"
|
||||||
#include "optionsmodel.h"
|
#include "optionsmodel.h"
|
||||||
#include "rpcconsole.h"
|
#include "rpcconsole.h"
|
||||||
|
#include "utilitydialog.h"
|
||||||
#ifdef ENABLE_WALLET
|
#ifdef ENABLE_WALLET
|
||||||
#include "walletframe.h"
|
#include "walletframe.h"
|
||||||
#include "walletmodel.h"
|
#include "walletmodel.h"
|
||||||
|
|
|
@ -160,12 +160,12 @@ This product includes software developed by the OpenSSL Project for use in the O
|
||||||
<slot>accept()</slot>
|
<slot>accept()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>360</x>
|
<x>20</x>
|
||||||
<y>308</y>
|
<y>20</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>157</x>
|
<x>20</x>
|
||||||
<y>274</y>
|
<y>20</y>
|
||||||
</hint>
|
</hint>
|
||||||
</hints>
|
</hints>
|
||||||
</connection>
|
</connection>
|
||||||
|
@ -176,12 +176,12 @@ This product includes software developed by the OpenSSL Project for use in the O
|
||||||
<slot>reject()</slot>
|
<slot>reject()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>428</x>
|
<x>20</x>
|
||||||
<y>308</y>
|
<y>20</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>286</x>
|
<x>20</x>
|
||||||
<y>274</y>
|
<y>20</y>
|
||||||
</hint>
|
</hint>
|
||||||
</hints>
|
</hints>
|
||||||
</connection>
|
</connection>
|
||||||
|
|
128
src/qt/forms/helpmessagedialog.ui
Normal file
128
src/qt/forms/helpmessagedialog.ui
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>HelpMessageDialog</class>
|
||||||
|
<widget class="QDialog" name="HelpMessageDialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>800</width>
|
||||||
|
<height>400</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Bitcoin Core - Command-line options</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="graphic">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Ignored">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="pixmap">
|
||||||
|
<pixmap resource="../bitcoin.qrc">:/images/about</pixmap>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QScrollArea" name="scrollArea">
|
||||||
|
<property name="verticalScrollBarPolicy">
|
||||||
|
<enum>Qt::ScrollBarAlwaysOn</enum>
|
||||||
|
</property>
|
||||||
|
<property name="widgetResizable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>659</width>
|
||||||
|
<height>348</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="helpMessageLabel">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Terminal</family>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="cursor">
|
||||||
|
<cursorShape>IBeamCursor</cursorShape>
|
||||||
|
</property>
|
||||||
|
<property name="textFormat">
|
||||||
|
<enum>Qt::PlainText</enum>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="okButton">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Ok</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources>
|
||||||
|
<include location="../bitcoin.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>okButton</sender>
|
||||||
|
<signal>accepted()</signal>
|
||||||
|
<receiver>HelpMessageDialog</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>20</x>
|
||||||
|
<y>20</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>20</x>
|
||||||
|
<y>20</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>okButton</sender>
|
||||||
|
<signal>rejected()</signal>
|
||||||
|
<receiver>HelpMessageDialog</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>20</x>
|
||||||
|
<y>20</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>20</x>
|
||||||
|
<y>20</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
|
@ -591,47 +591,6 @@ void restoreWindowGeometry(const QString& strSetting, const QSize& defaultSize,
|
||||||
parent->move(pos);
|
parent->move(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
HelpMessageBox::HelpMessageBox(QWidget *parent) :
|
|
||||||
QMessageBox(parent)
|
|
||||||
{
|
|
||||||
header = tr("Bitcoin Core") + " " + tr("version") + " " +
|
|
||||||
QString::fromStdString(FormatFullVersion()) + "\n\n" +
|
|
||||||
tr("Usage:") + "\n" +
|
|
||||||
" bitcoin-qt [" + tr("command-line options") + "] " + "\n";
|
|
||||||
|
|
||||||
coreOptions = QString::fromStdString(HelpMessage(HMM_BITCOIN_QT));
|
|
||||||
|
|
||||||
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" +
|
|
||||||
" -choosedatadir " + tr("Choose data directory on startup (default: 0)") + "\n";
|
|
||||||
|
|
||||||
setWindowTitle(tr("Bitcoin Core"));
|
|
||||||
setTextFormat(Qt::PlainText);
|
|
||||||
// setMinimumWidth is ignored for QMessageBox so put in non-breaking spaces to make it wider.
|
|
||||||
setText(header + QString(QChar(0x2003)).repeated(50));
|
|
||||||
setDetailedText(coreOptions + "\n" + uiOptions);
|
|
||||||
}
|
|
||||||
|
|
||||||
void HelpMessageBox::printToConsole()
|
|
||||||
{
|
|
||||||
// On other operating systems, the expected action is to print the message to the console.
|
|
||||||
QString strUsage = header + "\n" + coreOptions + "\n" + uiOptions;
|
|
||||||
fprintf(stdout, "%s", strUsage.toStdString().c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
void HelpMessageBox::showOrPrint()
|
|
||||||
{
|
|
||||||
#if defined(WIN32)
|
|
||||||
// On Windows, show a message box, as there is no stderr/stdout in windowed applications
|
|
||||||
exec();
|
|
||||||
#else
|
|
||||||
// On other operating systems, print help text to console
|
|
||||||
printToConsole();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void setClipboard(const QString& str)
|
void setClipboard(const QString& str)
|
||||||
{
|
{
|
||||||
QApplication::clipboard()->setText(str, QClipboard::Clipboard);
|
QApplication::clipboard()->setText(str, QClipboard::Clipboard);
|
||||||
|
|
|
@ -123,26 +123,6 @@ namespace GUIUtil
|
||||||
/** Restore window size and position */
|
/** Restore window size and position */
|
||||||
void restoreWindowGeometry(const QString& strSetting, const QSize &defaultSizeIn, QWidget *parent);
|
void restoreWindowGeometry(const QString& strSetting, const QSize &defaultSizeIn, QWidget *parent);
|
||||||
|
|
||||||
/** Help message for Bitcoin-Qt, shown with --help. */
|
|
||||||
class HelpMessageBox : public QMessageBox
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
HelpMessageBox(QWidget *parent = 0);
|
|
||||||
|
|
||||||
/** Show message box or print help message to standard output, based on operating system. */
|
|
||||||
void showOrPrint();
|
|
||||||
|
|
||||||
/** Print help message to console */
|
|
||||||
void printToConsole();
|
|
||||||
|
|
||||||
private:
|
|
||||||
QString header;
|
|
||||||
QString coreOptions;
|
|
||||||
QString uiOptions;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace GUIUtil
|
} // namespace GUIUtil
|
||||||
|
|
||||||
#endif // GUIUTIL_H
|
#endif // GUIUTIL_H
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
#include "clientmodel.h"
|
#include "clientmodel.h"
|
||||||
#include "guiutil.h"
|
#include "guiutil.h"
|
||||||
|
#include "utilitydialog.h"
|
||||||
|
|
||||||
#include "rpcserver.h"
|
#include "rpcserver.h"
|
||||||
#include "rpcclient.h"
|
#include "rpcclient.h"
|
||||||
|
@ -443,8 +444,8 @@ void RPCConsole::scrollToEnd()
|
||||||
|
|
||||||
void RPCConsole::on_showCLOptionsButton_clicked()
|
void RPCConsole::on_showCLOptionsButton_clicked()
|
||||||
{
|
{
|
||||||
GUIUtil::HelpMessageBox help;
|
HelpMessageDialog *help = new HelpMessageDialog(this);
|
||||||
help.exec();
|
help->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RPCConsole::on_sldGraphRange_valueChanged(int value)
|
void RPCConsole::on_sldGraphRange_valueChanged(int value)
|
||||||
|
|
125
src/qt/utilitydialog.cpp
Normal file
125
src/qt/utilitydialog.cpp
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
// Copyright (c) 2011-2014 The Bitcoin developers
|
||||||
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
|
#include "utilitydialog.h"
|
||||||
|
|
||||||
|
#include "ui_aboutdialog.h"
|
||||||
|
#include "ui_helpmessagedialog.h"
|
||||||
|
|
||||||
|
#include "bitcoingui.h"
|
||||||
|
#include "clientmodel.h"
|
||||||
|
#include "guiutil.h"
|
||||||
|
|
||||||
|
#include "clientversion.h"
|
||||||
|
#include "init.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
|
/** "About" dialog box */
|
||||||
|
AboutDialog::AboutDialog(QWidget *parent) :
|
||||||
|
QDialog(parent),
|
||||||
|
ui(new Ui::AboutDialog)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
// Set current copyright year
|
||||||
|
ui->copyrightLabel->setText(tr("Copyright") + QString(" © 2009-%1 ").arg(COPYRIGHT_YEAR) + tr("The Bitcoin Core developers"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void AboutDialog::setModel(ClientModel *model)
|
||||||
|
{
|
||||||
|
if(model)
|
||||||
|
{
|
||||||
|
ui->versionLabel->setText(model->formatFullVersion());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
AboutDialog::~AboutDialog()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AboutDialog::on_buttonBox_accepted()
|
||||||
|
{
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** "Help message" dialog box */
|
||||||
|
HelpMessageDialog::HelpMessageDialog(QWidget *parent) :
|
||||||
|
QDialog(parent),
|
||||||
|
ui(new Ui::HelpMessageDialog)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
GUIUtil::restoreWindowGeometry("nHelpMessageDialogWindow", this->size(), this);
|
||||||
|
|
||||||
|
header = tr("Bitcoin Core") + " " + tr("version") + " " +
|
||||||
|
QString::fromStdString(FormatFullVersion()) + "\n\n" +
|
||||||
|
tr("Usage:") + "\n" +
|
||||||
|
" bitcoin-qt [" + tr("command-line options") + "] " + "\n";
|
||||||
|
|
||||||
|
coreOptions = QString::fromStdString(HelpMessage(HMM_BITCOIN_QT));
|
||||||
|
|
||||||
|
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" +
|
||||||
|
" -choosedatadir " + tr("Choose data directory on startup (default: 0)");
|
||||||
|
|
||||||
|
ui->helpMessageLabel->setFont(GUIUtil::bitcoinAddressFont());
|
||||||
|
|
||||||
|
// Set help message text
|
||||||
|
ui->helpMessageLabel->setText(header + "\n" + coreOptions + "\n" + uiOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
HelpMessageDialog::~HelpMessageDialog()
|
||||||
|
{
|
||||||
|
GUIUtil::saveWindowGeometry("nHelpMessageDialogWindow", this);
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
void HelpMessageDialog::printToConsole()
|
||||||
|
{
|
||||||
|
// On other operating systems, the expected action is to print the message to the console.
|
||||||
|
QString strUsage = header + "\n" + coreOptions + "\n" + uiOptions;
|
||||||
|
fprintf(stdout, "%s", strUsage.toStdString().c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
void HelpMessageDialog::showOrPrint()
|
||||||
|
{
|
||||||
|
#if defined(WIN32)
|
||||||
|
// On Windows, show a message box, as there is no stderr/stdout in windowed applications
|
||||||
|
exec();
|
||||||
|
#else
|
||||||
|
// On other operating systems, print help text to console
|
||||||
|
printToConsole();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void HelpMessageDialog::on_okButton_accepted()
|
||||||
|
{
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** "Shutdown" window */
|
||||||
|
void ShutdownWindow::showShutdownWindow(BitcoinGUI *window)
|
||||||
|
{
|
||||||
|
if (!window)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Show a simple window indicating shutdown status
|
||||||
|
QWidget *shutdownWindow = new QWidget();
|
||||||
|
QVBoxLayout *layout = new QVBoxLayout();
|
||||||
|
layout->addWidget(new QLabel(
|
||||||
|
tr("Bitcoin Core is shutting down...") + "<br /><br />" +
|
||||||
|
tr("Do not shut down the computer until this window disappears.")));
|
||||||
|
shutdownWindow->setLayout(layout);
|
||||||
|
|
||||||
|
// Center shutdown window at where main window was
|
||||||
|
const QPoint global = window->mapToGlobal(window->rect().center());
|
||||||
|
shutdownWindow->move(global.x() - shutdownWindow->width() / 2, global.y() - shutdownWindow->height() / 2);
|
||||||
|
shutdownWindow->show();
|
||||||
|
}
|
69
src/qt/utilitydialog.h
Normal file
69
src/qt/utilitydialog.h
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
// Copyright (c) 2011-2014 The Bitcoin developers
|
||||||
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
|
#ifndef UTILITYDIALOG_H
|
||||||
|
#define UTILITYDIALOG_H
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
class BitcoinGUI;
|
||||||
|
class ClientModel;
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class AboutDialog;
|
||||||
|
class HelpMessageDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** "About" dialog box */
|
||||||
|
class AboutDialog : public QDialog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit AboutDialog(QWidget *parent);
|
||||||
|
~AboutDialog();
|
||||||
|
|
||||||
|
void setModel(ClientModel *model);
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::AboutDialog *ui;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_buttonBox_accepted();
|
||||||
|
};
|
||||||
|
|
||||||
|
/** "Help message" dialog box */
|
||||||
|
class HelpMessageDialog : public QDialog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit HelpMessageDialog(QWidget *parent);
|
||||||
|
~HelpMessageDialog();
|
||||||
|
|
||||||
|
void printToConsole();
|
||||||
|
void showOrPrint();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::HelpMessageDialog *ui;
|
||||||
|
QString header;
|
||||||
|
QString coreOptions;
|
||||||
|
QString uiOptions;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_okButton_accepted();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/** "Shutdown" window */
|
||||||
|
class ShutdownWindow : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
static void showShutdownWindow(BitcoinGUI *window);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // UTILITYDIALOG_H
|
Loading…
Reference in a new issue