diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -216,7 +216,7 @@ /// Create options model void createOptionsModel(bool resetSettings); /// Create main window - void createWindow(const NetworkStyle *networkStyle); + void createWindow(const Config *, const NetworkStyle *networkStyle); /// Create splash screen void createSplashScreen(const NetworkStyle *networkStyle); @@ -364,8 +364,9 @@ optionsModel = new OptionsModel(nullptr, resetSettings); } -void BitcoinApplication::createWindow(const NetworkStyle *networkStyle) { - window = new BitcoinGUI(platformStyle, networkStyle, 0); +void BitcoinApplication::createWindow(const Config *config, + const NetworkStyle *networkStyle) { + window = new BitcoinGUI(config, platformStyle, networkStyle, 0); pollShutdownTimer = new QTimer(window); connect(pollShutdownTimer, SIGNAL(timeout()), window, @@ -773,7 +774,7 @@ app.createSplashScreen(networkStyle.data()); try { - app.createWindow(networkStyle.data()); + app.createWindow(&config, networkStyle.data()); app.requestInitialize(config); #if defined(Q_OS_WIN) && QT_VERSION >= 0x050000 WinShutdownMonitor::registerShutdownBlockReason( diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -31,6 +31,7 @@ class HelpMessageDialog; class ModalOverlay; +class Config; class CWallet; QT_BEGIN_NAMESPACE @@ -51,7 +52,7 @@ static const QString DEFAULT_WALLET; static const std::string DEFAULT_UIPLATFORM; - explicit BitcoinGUI(const PlatformStyle *platformStyle, + explicit BitcoinGUI(const Config *, const PlatformStyle *platformStyle, const NetworkStyle *networkStyle, QWidget *parent = 0); ~BitcoinGUI(); @@ -130,6 +131,7 @@ int spinnerFrame; const PlatformStyle *platformStyle; + const Config *cfg; /** Create the main UI actions. */ void createActions(); diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -80,7 +80,7 @@ */ const QString BitcoinGUI::DEFAULT_WALLET = "~Default"; -BitcoinGUI::BitcoinGUI(const PlatformStyle *_platformStyle, +BitcoinGUI::BitcoinGUI(const Config *cfg, const PlatformStyle *_platformStyle, const NetworkStyle *networkStyle, QWidget *parent) : QMainWindow(parent), enableWallet(false), clientModel(0), walletFrame(0), unitDisplayControl(0), labelWalletEncryptionIcon(0), @@ -95,7 +95,7 @@ aboutQtAction(0), openRPCConsoleAction(0), openAction(0), showHelpMessageAction(0), trayIcon(0), trayIconMenu(0), notificator(0), rpcConsole(0), helpMessageDialog(0), modalOverlay(0), prevBlocks(0), - spinnerFrame(0), platformStyle(_platformStyle) { + spinnerFrame(0), platformStyle(_platformStyle), cfg(cfg) { GUIUtil::restoreWindowGeometry("nWindow", QSize(850, 550), this); QString windowTitle = tr(PACKAGE_NAME) + " - "; @@ -127,7 +127,7 @@ #ifdef ENABLE_WALLET if (enableWallet) { /** Create wallet frame and make it the central widget */ - walletFrame = new WalletFrame(_platformStyle, this); + walletFrame = new WalletFrame(_platformStyle, cfg, this); setCentralWidget(walletFrame); } else #endif // ENABLE_WALLET @@ -712,7 +712,7 @@ #ifdef ENABLE_WALLET void BitcoinGUI::openClicked() { - OpenURIDialog dlg(this); + OpenURIDialog dlg(cfg, this); if (dlg.exec()) { Q_EMIT receivedURI(dlg.getURI()); } diff --git a/src/qt/openuridialog.h b/src/qt/openuridialog.h --- a/src/qt/openuridialog.h +++ b/src/qt/openuridialog.h @@ -7,6 +7,8 @@ #include +class Config; + namespace Ui { class OpenURIDialog; } @@ -15,7 +17,7 @@ Q_OBJECT public: - explicit OpenURIDialog(QWidget *parent); + explicit OpenURIDialog(const Config *cfg, QWidget *parent); ~OpenURIDialog(); QString getURI(); @@ -28,6 +30,7 @@ private: Ui::OpenURIDialog *ui; + const Config *cfg; }; #endif // BITCOIN_QT_OPENURIDIALOG_H diff --git a/src/qt/openuridialog.cpp b/src/qt/openuridialog.cpp --- a/src/qt/openuridialog.cpp +++ b/src/qt/openuridialog.cpp @@ -10,8 +10,8 @@ #include -OpenURIDialog::OpenURIDialog(QWidget *parent) - : QDialog(parent), ui(new Ui::OpenURIDialog) { +OpenURIDialog::OpenURIDialog(const Config *cfg, QWidget *parent) + : QDialog(parent), ui(new Ui::OpenURIDialog), cfg(cfg) { ui->setupUi(this); #if QT_VERSION >= 0x040700 ui->uriEdit->setPlaceholderText(GUIUtil::URI_SCHEME + ":"); @@ -41,6 +41,6 @@ this, tr("Select payment request file to open"), "", "", nullptr); if (filename.isEmpty()) return; QUrl fileUri = QUrl::fromLocalFile(filename); - ui->uriEdit->setText(GUIUtil::URI_SCHEME + - ":?r=" + QUrl::toPercentEncoding(fileUri.toString())); + ui->uriEdit->setText(GUIUtil::URI_SCHEME + ":?r=" + + QUrl::toPercentEncoding(fileUri.toString())); } diff --git a/src/qt/receivecoinsdialog.h b/src/qt/receivecoinsdialog.h --- a/src/qt/receivecoinsdialog.h +++ b/src/qt/receivecoinsdialog.h @@ -15,6 +15,7 @@ #include #include +class Config; class OptionsModel; class PlatformStyle; class WalletModel; @@ -40,7 +41,7 @@ }; explicit ReceiveCoinsDialog(const PlatformStyle *platformStyle, - QWidget *parent = 0); + const Config *cfg, QWidget *parent = 0); ~ReceiveCoinsDialog(); void setModel(WalletModel *model); @@ -59,6 +60,7 @@ WalletModel *model; QMenu *contextMenu; const PlatformStyle *platformStyle; + const Config *cfg; QModelIndex selectedRow(); void copyColumnToClipboard(int column); diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp --- a/src/qt/receivecoinsdialog.cpp +++ b/src/qt/receivecoinsdialog.cpp @@ -8,6 +8,7 @@ #include "addressbookpage.h" #include "addresstablemodel.h" #include "bitcoinunits.h" +#include "config.h" #include "guiutil.h" #include "optionsmodel.h" #include "platformstyle.h" @@ -23,9 +24,9 @@ #include ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *_platformStyle, - QWidget *parent) + const Config *cfg, QWidget *parent) : QDialog(parent), ui(new Ui::ReceiveCoinsDialog), columnResizingFixer(0), - model(0), platformStyle(_platformStyle) { + model(0), platformStyle(_platformStyle), cfg(cfg) { ui->setupUi(this); if (!_platformStyle->getImagesOnButtons()) { @@ -159,7 +160,7 @@ } SendCoinsRecipient info(address, label, ui->reqAmount->value(), ui->reqMessage->text()); - ReceiveRequestDialog *dialog = new ReceiveRequestDialog(this); + ReceiveRequestDialog *dialog = new ReceiveRequestDialog(cfg, this); dialog->setAttribute(Qt::WA_DeleteOnClose); dialog->setModel(model->getOptionsModel()); dialog->setInfo(info); @@ -174,7 +175,7 @@ const QModelIndex &index) { const RecentRequestsTableModel *submodel = model->getRecentRequestsTableModel(); - ReceiveRequestDialog *dialog = new ReceiveRequestDialog(this); + ReceiveRequestDialog *dialog = new ReceiveRequestDialog(cfg, this); dialog->setModel(model->getOptionsModel()); dialog->setInfo(submodel->entry(index.row()).recipient); dialog->setAttribute(Qt::WA_DeleteOnClose); diff --git a/src/qt/receiverequestdialog.h b/src/qt/receiverequestdialog.h --- a/src/qt/receiverequestdialog.h +++ b/src/qt/receiverequestdialog.h @@ -13,6 +13,7 @@ #include class OptionsModel; +class Config; namespace Ui { class ReceiveRequestDialog; @@ -49,7 +50,7 @@ Q_OBJECT public: - explicit ReceiveRequestDialog(QWidget *parent = 0); + explicit ReceiveRequestDialog(const Config *cfg, QWidget *parent = 0); ~ReceiveRequestDialog(); void setModel(OptionsModel *model); @@ -65,6 +66,7 @@ Ui::ReceiveRequestDialog *ui; OptionsModel *model; SendCoinsRecipient info; + const Config *cfg; }; #endif // BITCOIN_QT_RECEIVEREQUESTDIALOG_H diff --git a/src/qt/receiverequestdialog.cpp b/src/qt/receiverequestdialog.cpp --- a/src/qt/receiverequestdialog.cpp +++ b/src/qt/receiverequestdialog.cpp @@ -77,8 +77,8 @@ contextMenu->exec(event->globalPos()); } -ReceiveRequestDialog::ReceiveRequestDialog(QWidget *parent) - : QDialog(parent), ui(new Ui::ReceiveRequestDialog), model(0) { +ReceiveRequestDialog::ReceiveRequestDialog(const Config *cfg, QWidget *parent) + : QDialog(parent), ui(new Ui::ReceiveRequestDialog), model(0), cfg(cfg) { ui->setupUi(this); #ifndef USE_QRCODE diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h --- a/src/qt/walletframe.h +++ b/src/qt/walletframe.h @@ -14,6 +14,7 @@ class SendCoinsRecipient; class WalletModel; class WalletView; +class Config; QT_BEGIN_NAMESPACE class QStackedWidget; @@ -30,7 +31,7 @@ Q_OBJECT public: - explicit WalletFrame(const PlatformStyle *platformStyle, + explicit WalletFrame(const PlatformStyle *platformStyle, const Config *cfg, BitcoinGUI *_gui = 0); ~WalletFrame(); @@ -59,6 +60,7 @@ bool bOutOfSync; const PlatformStyle *platformStyle; + const Config *cfg; WalletView *currentWalletView(); diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp --- a/src/qt/walletframe.cpp +++ b/src/qt/walletframe.cpp @@ -12,8 +12,9 @@ #include #include -WalletFrame::WalletFrame(const PlatformStyle *_platformStyle, BitcoinGUI *_gui) - : QFrame(_gui), gui(_gui), platformStyle(_platformStyle) { +WalletFrame::WalletFrame(const PlatformStyle *_platformStyle, const Config *cfg, + BitcoinGUI *_gui) + : QFrame(_gui), gui(_gui), platformStyle(_platformStyle), cfg(cfg) { // Leave HBox hook for adding a list view later QHBoxLayout *walletFrameLayout = new QHBoxLayout(this); setContentsMargins(0, 0, 0, 0); @@ -36,7 +37,7 @@ if (!gui || !clientModel || !walletModel || mapWalletViews.count(name) > 0) return false; - WalletView *walletView = new WalletView(platformStyle, this); + WalletView *walletView = new WalletView(platformStyle, cfg, this); walletView->setBitcoinGUI(gui); walletView->setClientModel(clientModel); walletView->setWalletModel(walletModel); diff --git a/src/qt/walletview.h b/src/qt/walletview.h --- a/src/qt/walletview.h +++ b/src/qt/walletview.h @@ -19,6 +19,7 @@ class TransactionView; class WalletModel; class AddressBookPage; +class Config; QT_BEGIN_NAMESPACE class QModelIndex; @@ -37,7 +38,8 @@ Q_OBJECT public: - explicit WalletView(const PlatformStyle *platformStyle, QWidget *parent); + explicit WalletView(const PlatformStyle *platformStyle, const Config *cfg, + QWidget *parent); ~WalletView(); void setBitcoinGUI(BitcoinGUI *gui); diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp --- a/src/qt/walletview.cpp +++ b/src/qt/walletview.cpp @@ -29,7 +29,8 @@ #include #include -WalletView::WalletView(const PlatformStyle *_platformStyle, QWidget *parent) +WalletView::WalletView(const PlatformStyle *_platformStyle, const Config *cfg, + QWidget *parent) : QStackedWidget(parent), clientModel(0), walletModel(0), platformStyle(_platformStyle) { // Create tabs @@ -51,7 +52,7 @@ vbox->addLayout(hbox_buttons); transactionsPage->setLayout(vbox); - receiveCoinsPage = new ReceiveCoinsDialog(platformStyle); + receiveCoinsPage = new ReceiveCoinsDialog(platformStyle, cfg); sendCoinsPage = new SendCoinsDialog(platformStyle); usedSendingAddressesPage =