diff options
-rw-r--r-- | src/qt/bitcoin.cpp | 7 | ||||
-rw-r--r-- | src/qt/guiutil.cpp | 9 | ||||
-rw-r--r-- | src/qt/guiutil.h | 5 |
3 files changed, 20 insertions, 1 deletions
diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index fc6d0febc2..aec63ffaf0 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -45,10 +45,12 @@ #include <QApplication> #include <QDebug> #include <QFontDatabase> +#include <QLatin1String> #include <QLibraryInfo> #include <QLocale> #include <QMessageBox> #include <QSettings> +#include <QStringBuilder> #include <QThread> #include <QTimer> #include <QTranslator> @@ -417,7 +419,10 @@ void BitcoinApplication::shutdownResult() void BitcoinApplication::handleRunawayException(const QString &message) { - QMessageBox::critical(nullptr, "Runaway exception", BitcoinGUI::tr("A fatal error occurred. %1 can no longer continue safely and will quit.").arg(PACKAGE_NAME) + QString("<br><br>") + message); + QMessageBox::critical( + nullptr, tr("Runaway exception"), + tr("A fatal error occurred. %1 can no longer continue safely and will quit.").arg(PACKAGE_NAME) % + QLatin1String("<br><br>") % GUIUtil::MakeHtmlLink(message, PACKAGE_BUGREPORT)); ::exit(EXIT_FAILURE); } diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index b4afdbcc22..36fcc4d361 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -42,6 +42,7 @@ #include <QGuiApplication> #include <QJsonObject> #include <QKeyEvent> +#include <QLatin1String> #include <QLineEdit> #include <QList> #include <QLocale> @@ -54,6 +55,7 @@ #include <QShortcut> #include <QSize> #include <QString> +#include <QStringBuilder> #include <QTextDocument> // for Qt::mightBeRichText #include <QThread> #include <QUrlQuery> @@ -893,4 +895,11 @@ QImage GetImage(const QLabel* label) #endif } +QString MakeHtmlLink(const QString& source, const QString& link) +{ + return QString(source).replace( + link, + QLatin1String("<a href=\"") % link % QLatin1String("\">") % link % QLatin1String("</a>")); +} + } // namespace GUIUtil diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 6395ec6abd..6ab0a71a96 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -327,6 +327,11 @@ namespace GUIUtil QObject::connect(&source, &QObject::destroyed, object, std::forward<Fn>(function), connection); } + /** + * Replaces a plain text link with an HTML tagged one. + */ + QString MakeHtmlLink(const QString& source, const QString& link); + } // namespace GUIUtil #endif // BITCOIN_QT_GUIUTIL_H |