Call node->initError instead of InitError from GUI code
Avoids GUI code calling a node function, and having to live in the same process as g_ui_signals and uiInterface global variables.
This commit is contained in:
parent
fad2502240
commit
fa6f402bde
3 changed files with 8 additions and 4 deletions
|
@ -54,6 +54,7 @@ class NodeImpl : public Node
|
|||
{
|
||||
public:
|
||||
NodeImpl() { m_interfaces.chain = MakeChain(); }
|
||||
void initError(const std::string& message) override { InitError(message); }
|
||||
bool parseParameters(int argc, const char* const argv[], std::string& error) override
|
||||
{
|
||||
return gArgs.ParseParameters(argc, argv, error);
|
||||
|
|
|
@ -38,6 +38,9 @@ class Node
|
|||
public:
|
||||
virtual ~Node() {}
|
||||
|
||||
//! Send init error.
|
||||
virtual void initError(const std::string& message) = 0;
|
||||
|
||||
//! Set command line arguments.
|
||||
virtual bool parseParameters(int argc, const char* const argv[], std::string& error) = 0;
|
||||
|
||||
|
|
|
@ -456,7 +456,7 @@ int GuiMain(int argc, char* argv[])
|
|||
SetupUIArgs();
|
||||
std::string error;
|
||||
if (!node->parseParameters(argc, argv, error)) {
|
||||
InitError(strprintf("Error parsing command line arguments: %s\n", error));
|
||||
node->initError(strprintf("Error parsing command line arguments: %s\n", error));
|
||||
// Create a message box, because the gui has neither been created nor has subscribed to core signals
|
||||
QMessageBox::critical(nullptr, PACKAGE_NAME,
|
||||
// message can not be translated because translations have not been initialized
|
||||
|
@ -496,13 +496,13 @@ int GuiMain(int argc, char* argv[])
|
|||
/// - Do not call GetDataDir(true) before this step finishes
|
||||
if (!fs::is_directory(GetDataDir(false)))
|
||||
{
|
||||
InitError(strprintf("Specified data directory \"%s\" does not exist.\n", gArgs.GetArg("-datadir", "")));
|
||||
node->initError(strprintf("Specified data directory \"%s\" does not exist.\n", gArgs.GetArg("-datadir", "")));
|
||||
QMessageBox::critical(nullptr, PACKAGE_NAME,
|
||||
QObject::tr("Error: Specified data directory \"%1\" does not exist.").arg(QString::fromStdString(gArgs.GetArg("-datadir", ""))));
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (!node->readConfigFiles(error)) {
|
||||
InitError(strprintf("Error reading configuration file: %s\n", error));
|
||||
node->initError(strprintf("Error reading configuration file: %s\n", error));
|
||||
QMessageBox::critical(nullptr, PACKAGE_NAME,
|
||||
QObject::tr("Error: Cannot parse configuration file: %1.").arg(QString::fromStdString(error)));
|
||||
return EXIT_FAILURE;
|
||||
|
@ -518,7 +518,7 @@ int GuiMain(int argc, char* argv[])
|
|||
try {
|
||||
node->selectParams(gArgs.GetChainName());
|
||||
} catch(std::exception &e) {
|
||||
InitError(strprintf("%s\n", e.what()));
|
||||
node->initError(strprintf("%s\n", e.what()));
|
||||
QMessageBox::critical(nullptr, PACKAGE_NAME, QObject::tr("Error: %1").arg(e.what()));
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue