aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bitcoin.cpp
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2013-12-11 15:00:56 +0100
committerWladimir J. van der Laan <laanwj@gmail.com>2014-01-11 12:36:20 +0100
commitb7f4b6d35da7b63529a728eb9333fe424b2a5c6d (patch)
tree6a0820ae13a8131ce3a0e2e0acf3754089b88ba3 /src/qt/bitcoin.cpp
parentec41342e3dea6e2137a0fc17288e2be77710a631 (diff)
downloadbitcoin-b7f4b6d35da7b63529a728eb9333fe424b2a5c6d.tar.xz
GUI for --disable-wallet compiles and -disablewallet mode
There is not much in the GUI to be done without wallet, though it's possible to change options, watch the sync process, and use the debug console. So embed the debug console in the main window.
Diffstat (limited to 'src/qt/bitcoin.cpp')
-rw-r--r--src/qt/bitcoin.cpp41
1 files changed, 33 insertions, 8 deletions
diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp
index 45551657d7..82d8af77d9 100644
--- a/src/qt/bitcoin.cpp
+++ b/src/qt/bitcoin.cpp
@@ -10,9 +10,11 @@
#include "guiutil.h"
#include "intro.h"
#include "optionsmodel.h"
-#include "paymentserver.h"
#include "splashscreen.h"
+#ifdef ENABLE_WALLET
+#include "paymentserver.h"
#include "walletmodel.h"
+#endif
#include "init.h"
#include "main.h"
@@ -157,8 +159,10 @@ public:
explicit BitcoinApplication(int &argc, char **argv);
~BitcoinApplication();
+#ifdef ENABLE_WALLET
/// Create payment server
void createPaymentServer();
+#endif
/// Create options model
void createOptionsModel();
/// Create main window
@@ -188,12 +192,14 @@ signals:
private:
QThread *coreThread;
- PaymentServer* paymentServer;
OptionsModel *optionsModel;
ClientModel *clientModel;
BitcoinGUI *window;
- WalletModel *walletModel;
QTimer *pollShutdownTimer;
+#ifdef ENABLE_WALLET
+ PaymentServer* paymentServer;
+ WalletModel *walletModel;
+#endif
int returnValue;
void startThread();
@@ -246,12 +252,14 @@ void BitcoinCore::shutdown()
BitcoinApplication::BitcoinApplication(int &argc, char **argv):
QApplication(argc, argv),
coreThread(0),
- paymentServer(0),
optionsModel(0),
clientModel(0),
window(0),
- walletModel(0),
pollShutdownTimer(0),
+#ifdef ENABLE_WALLET
+ paymentServer(0),
+ walletModel(0),
+#endif
returnValue(0)
{
setQuitOnLastWindowClosed(false);
@@ -266,14 +274,21 @@ BitcoinApplication::~BitcoinApplication()
LogPrintf("Stopped thread\n");
delete window;
+ window = 0;
+#ifdef ENABLE_WALLET
delete paymentServer;
+ paymentServer = 0;
+#endif
delete optionsModel;
+ optionsModel = 0;
}
+#ifdef ENABLE_WALLET
void BitcoinApplication::createPaymentServer()
{
paymentServer = new PaymentServer(this);
}
+#endif
void BitcoinApplication::createOptionsModel()
{
@@ -327,11 +342,13 @@ void BitcoinApplication::requestShutdown()
LogPrintf("Requesting shutdown\n");
window->hide();
window->setClientModel(0);
- window->removeAllWallets();
pollShutdownTimer->stop();
+#ifdef ENABLE_WALLET
+ window->removeAllWallets();
delete walletModel;
walletModel = 0;
+#endif
delete clientModel;
clientModel = 0;
@@ -362,14 +379,17 @@ void BitcoinApplication::initializeResult(int retval)
// Miscellaneous initialization after core is initialized
optionsModel->Upgrade(); // Must be done after AppInit2
+#ifdef ENABLE_WALLET
PaymentServer::LoadRootCAs();
paymentServer->setOptionsModel(optionsModel);
+#endif
emit splashFinished(window);
clientModel = new ClientModel(optionsModel);
window->setClientModel(clientModel);
+#ifdef ENABLE_WALLET
if(pwalletMain)
{
walletModel = new WalletModel(pwalletMain, optionsModel);
@@ -380,6 +400,7 @@ void BitcoinApplication::initializeResult(int retval)
connect(walletModel, SIGNAL(coinsSent(CWallet*,SendCoinsRecipient,QByteArray)),
paymentServer, SLOT(fetchPaymentACK(CWallet*,const SendCoinsRecipient&,QByteArray)));
}
+#endif
// If -min option passed, start window minimized.
if(GetBoolArg("-min", false))
@@ -390,7 +411,7 @@ void BitcoinApplication::initializeResult(int retval)
{
window->show();
}
-
+#ifdef ENABLE_WALLET
// Now that initialization/startup is done, process any command-line
// bitcoin: URIs or payment requests:
connect(paymentServer, SIGNAL(receivedPaymentRequest(SendCoinsRecipient)),
@@ -400,7 +421,7 @@ void BitcoinApplication::initializeResult(int retval)
connect(paymentServer, SIGNAL(message(QString,QString,unsigned int)),
window, SLOT(message(QString,QString,unsigned int)));
QTimer::singleShot(100, paymentServer, SLOT(uiReady()));
-
+#endif
} else {
quit(); // Exit main loop
}
@@ -429,9 +450,11 @@ int main(int argc, char *argv[])
if (!SelectParamsFromCommandLine()) {
fSelParFromCLFailed = true;
}
+#ifdef ENABLE_WALLET
// Parse URIs on command line -- this can affect TestNet() / RegTest() mode
if (!PaymentServer::ipcParseCommandLine(argc, argv))
exit(0);
+#endif
bool isaTestNet = TestNet() || RegTest();
@@ -500,6 +523,7 @@ int main(int argc, char *argv[])
}
ReadConfigFile(mapArgs, mapMultiArgs);
+#ifdef ENABLE_WALLET
/// 7. URI IPC sending
// - Do this early as we don't want to bother initializing if we are just calling IPC
// - Do this *after* setting up the data directory, as the data directory hash is used in the name
@@ -512,6 +536,7 @@ int main(int argc, char *argv[])
// Start up the payment server early, too, so impatient users that click on
// bitcoin: links repeatedly have their payment requests routed to this process:
app.createPaymentServer();
+#endif
/// 8. Main GUI initialization
// Install global event filter that makes sure that long tooltips can be word-wrapped