فهرست منبع

check link before open

Le Tan 1 سال پیش
والد
کامیت
3477469b66
1فایلهای تغییر یافته به همراه15 افزوده شده و 0 حذف شده
  1. 15 0
      src/utils/widgetutils.cpp

+ 15 - 0
src/utils/widgetutils.cpp

@@ -27,6 +27,8 @@
 #include <QFormLayout>
 
 #include <core/global.h>
+#include <widgets/messageboxhelper.h>
+#include <widgets/mainwindow.h>
 
 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);
 }