message: wallet: Recognize -disablewallet option early
diff: #ifdef ENABLE_WALLET
  #include <qt/paymentserver.h>
  #include <qt/walletcontroller.h>
  -#endif
  +#include <qt/walletmodel.h>
  +#endif // ENABLE_WALLET
  #include <interfaces/handler.h>
  #include <interfaces/node.h>
  @@ -210,12 +211,6 @@ BitcoinApplication::~BitcoinApplication()
  delete window;
  window = nullptr;
  -#ifdef ENABLE_WALLET
  - delete paymentServer;
  - paymentServer = nullptr;
  - delete m_wallet_controller;
  - m_wallet_controller = nullptr;
  -#endif
  delete optionsModel;
  optionsModel = nullptr;
  delete platformStyle;
  @@ -331,24 +326,21 @@ void BitcoinApplication::initializeResult(bool success)
  {
  // Log this only after AppInitMain finishes, as then logging setup is guaranteed complete
  qInfo() << "Platform customization:" << platformStyle->getName();
  + clientModel = new ClientModel(m_node, optionsModel);
  + window->setClientModel(clientModel);
  #ifdef ENABLE_WALLET
  + if (WalletModel::isWalletEnabled()) {
  m_wallet_controller = new WalletController(m_node, platformStyle, optionsModel, this);
  -#ifdef ENABLE_BIP70
  - PaymentServer::LoadRootCAs();
  -#endif
  + window->setWalletController(m_wallet_controller);
  if (paymentServer) {
  paymentServer->setOptionsModel(optionsModel);
  #ifdef ENABLE_BIP70
  + PaymentServer::LoadRootCAs();
  connect(m_wallet_controller, &WalletController::coinsSent, paymentServer, &PaymentServer::fetchPaymentACK);
  #endif
  }
  -#endif
  -
  - clientModel = new ClientModel(m_node, optionsModel);
  - window->setClientModel(clientModel);
  -#ifdef ENABLE_WALLET
  - window->setWalletController(m_wallet_controller);
  -#endif
  + }
  +#endif // ENABLE_WALLET
  // If -min option passed, start window minimized (iconified) or minimized to tray
  if (!gArgs.GetBoolArg("-min", false)) {
  @@ -546,8 +538,10 @@ int GuiMain(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:
  + if (WalletModel::isWalletEnabled()) {
  app.createPaymentServer();
  -#endif
  + }
  +#endif // ENABLE_WALLET
  /// 9. Main GUI initialization
  // Install global event filter that makes sure that long tooltips can be word-wrapped
  