Merge fc037c8c83 into merged_master (Bitcoin PR bitcoin/bitcoin#27150)

This commit is contained in:
Tom Trevethan 2025-04-09 17:42:19 +00:00
commit 0ab95ded19
16 changed files with 221 additions and 153 deletions

View file

@ -4,6 +4,7 @@
#include <node/interface_ui.h>
#include <util/string.h>
#include <util/translation.h>
#include <boost/signals2/optional_last_value.hpp>
@ -62,6 +63,18 @@ bool InitError(const bilingual_str& str)
return false;
}
bool InitError(const bilingual_str& str, const std::vector<std::string>& details)
{
// For now just flatten the list of error details into a string to pass to
// the base InitError overload. In the future, if more init code provides
// error details, the details could be passed separately from the main
// message for rich display in the GUI. But currently the only init
// functions which provide error details are ones that run during early init
// before the GUI uiInterface is registered, so there's no point passing
// main messages and details separately to uiInterface yet.
return InitError(details.empty() ? str : strprintf(Untranslated("%s:\n%s"), str, MakeUnorderedList(details)));
}
void InitWarning(const bilingual_str& str)
{
uiInterface.ThreadSafeMessageBox(str, "", CClientUIInterface::MSG_WARNING);

View file

@ -117,7 +117,7 @@ void InitWarning(const bilingual_str& str);
/** Show error message **/
bool InitError(const bilingual_str& str);
constexpr auto AbortError = InitError;
bool InitError(const bilingual_str& str, const std::vector<std::string>& details);
extern CClientUIInterface uiInterface;