diff --git a/src/utils/widgetutils.cpp b/src/utils/widgetutils.cpp index b9974b1e8b..e88a7e6b37 100644 --- a/src/utils/widgetutils.cpp +++ b/src/utils/widgetutils.cpp @@ -27,6 +27,8 @@ #include #include +#include +#include using namespace vnotex; @@ -75,6 +77,19 @@ QSize WidgetUtils::availableScreenSize(QWidget *p_widget) void WidgetUtils::openUrlByDesktop(const QUrl &p_url) { + const auto scheme = p_url.scheme(); + if (scheme != "http" && scheme != "https") { + // Prompt for user. + int ret = MessageBoxHelper::questionYesNo(MessageBoxHelper::Warning, + MainWindow::tr("Are you sure to open link (%1)?").arg(p_url.toString()), + MainWindow::tr("Malicious link might do harm to your device."), + QString(), + nullptr); + if (ret == QMessageBox::No) { + return; + } + } + QDesktopServices::openUrl(p_url); }