Browse Source
- 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 utilitydialog0.10
Philip Kaufmann
11 years ago
13 changed files with 343 additions and 162 deletions
@ -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
|
|
@ -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> |
@ -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(); |
||||||
|
} |
@ -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 new issue