feat: add notification popup to inform users of malicious ads on megadb

This commit is contained in:
2026-04-10 16:27:53 +02:00
parent 4203969051
commit 14afc821b1
7 changed files with 42 additions and 5 deletions
+22
View File
@@ -1,7 +1,27 @@
from interface.dialogs.notificationpopup import NotificationPopup
from utils.config.settings import save_settings
from PySide6.QtCore import QObject, Signal, Qt
from PySide6.QtWidgets import QMessageBox
from utils.logging.logs import consoleLog
from utils.data.state import state
import webbrowser
import re
class UIBridge(QObject):
show_notification = Signal()
ui_bridge = UIBridge()
def show_megadb_notification():
notification_popup = NotificationPopup("Opened MegaDB link in browser", "Beware of malicious Ads. Make sure to have an adblocker installed.\n" '<br><a href="https://ublockorigin.com">Visit uBlock Origin</a>')
notification_popup.setTextFormat(Qt.TextFormat.RichText)
notification_popup.setTextInteractionFlags(Qt.TextInteractionFlag.TextBrowserInteraction)
notification_popup.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)
notification_popup.setWindowModality(Qt.WindowModality.ApplicationModal)
button = notification_popup.addButton("Don't show again", QMessageBox.ButtonRole.AcceptRole)
button.clicked.connect(lambda: setattr(state, "show_megadb_notification", False))
save_settings(show_megadb_notification=False)
notification_popup.exec()
def scrape_megadb(url):
match = re.search(r"megadb\.net/([a-zA-Z0-9]+)", url)
@@ -11,4 +31,6 @@ def scrape_megadb(url):
consoleLog("MegaDB: Captcha required, launching browser...")
webbrowser.open(url)
if state.show_megadb_notification is True:
ui_bridge.show_notification.emit()
return None