@@ -109,10 +109,7 @@ BitcoinGUI::BitcoinGUI(interfaces::Node& node, const PlatformStyle *_platformSty
109109 {
110110 /* * Create wallet frame and make it the central widget */
111111 walletFrame = new WalletFrame (_platformStyle, this );
112- connect (walletFrame, &WalletFrame::createWalletButtonClicked, [this ] {
113- auto activity = new CreateWalletActivity (getWalletController (), this );
114- activity->create ();
115- });
112+ connect (walletFrame, &WalletFrame::createWalletButtonClicked, this , &BitcoinGUI::createWallet);
116113 connect (walletFrame, &WalletFrame::message, [this ](const QString& title, const QString& message, unsigned int style) {
117114 this ->message (title, message, style);
118115 });
@@ -453,12 +450,7 @@ void BitcoinGUI::createActions()
453450 connect (m_close_wallet_action, &QAction::triggered, [this ] {
454451 m_wallet_controller->closeWallet (walletFrame->currentWalletModel (), this );
455452 });
456- connect (m_create_wallet_action, &QAction::triggered, [this ] {
457- auto activity = new CreateWalletActivity (m_wallet_controller, this );
458- connect (activity, &CreateWalletActivity::created, this , &BitcoinGUI::setCurrentWallet);
459- connect (activity, &CreateWalletActivity::created, rpcConsole, &RPCConsole::setCurrentWallet);
460- activity->create ();
461- });
453+ connect (m_create_wallet_action, &QAction::triggered, this , &BitcoinGUI::createWallet);
462454 connect (m_close_all_wallets_action, &QAction::triggered, [this ] {
463455 m_wallet_controller->closeAllWallets (this );
464456 });
@@ -1191,6 +1183,21 @@ void BitcoinGUI::setNumBlocks(int count, const QDateTime& blockDate, double nVer
11911183 progressBar->setToolTip (tooltip);
11921184}
11931185
1186+ void BitcoinGUI::createWallet ()
1187+ {
1188+ #ifdef ENABLE_WALLET
1189+ #ifndef USE_SQLITE
1190+ // Compiled without sqlite support (required for descriptor wallets)
1191+ message (tr (" Error creating wallet" ), tr (" Cannot create new wallet, the software was compiled without sqlite support (required for descriptor wallets)" ), CClientUIInterface::MSG_ERROR);
1192+ return ;
1193+ #endif // USE_SQLITE
1194+ auto activity = new CreateWalletActivity (getWalletController (), this );
1195+ connect (activity, &CreateWalletActivity::created, this , &BitcoinGUI::setCurrentWallet);
1196+ connect (activity, &CreateWalletActivity::created, rpcConsole, &RPCConsole::setCurrentWallet);
1197+ activity->create ();
1198+ #endif // ENABLE_WALLET
1199+ }
1200+
11941201void BitcoinGUI::message (const QString& title, QString message, unsigned int style, bool * ret, const QString& detailed_message)
11951202{
11961203 // Default title. On macOS, the window title is ignored (as required by the macOS Guidelines).
0 commit comments