eric7/WebBrowser/WebBrowserView.py

branch
eric7
changeset 8698
b108ff4d845c
parent 8695
8a5179bced9e
child 8703
3f1f67a9b179
diff -r 936662560d04 -r b108ff4d845c eric7/WebBrowser/WebBrowserView.py
--- a/eric7/WebBrowser/WebBrowserView.py	Sun Oct 17 16:00:54 2021 +0200
+++ b/eric7/WebBrowser/WebBrowserView.py	Mon Oct 18 16:43:02 2021 +0200
@@ -530,8 +530,8 @@
         pos = evt.pos()
         reason = evt.reason()
         QTimer.singleShot(
-            0,
-            lambda: self._contextMenuEvent(QContextMenuEvent(reason, pos)))
+            0, functools.partial(
+                self._contextMenuEvent, QContextMenuEvent(reason, pos)))
         # needs to be done this way because contextMenuEvent is blocking
         # the main loop
     
@@ -561,7 +561,6 @@
             pos = evt.globalPos()
             self.__menu.popup(QPoint(pos.x(), pos.y() + 1))
     
-    # TODO: change all lambda functions to partials to fix an issue
     def __createContextMenu(self, menu, hitTest):
         """
         Private method to populate the context menu.
@@ -645,19 +644,19 @@
             self.tr("Open Link in New Tab\tCtrl+LMB"))
         act.setData(hitTest.linkUrl())
         act.triggered.connect(
-            lambda: self.__openLinkInNewTab(act))
+            functools.partial(self.__openLinkInNewTab, act))
         act = menu.addAction(
             UI.PixmapCache.getIcon("newWindow"),
             self.tr("Open Link in New Window"))
         act.setData(hitTest.linkUrl())
         act.triggered.connect(
-            lambda: self.__openLinkInNewWindow(act))
+            functools.partial(self.__openLinkInNewWindow, act))
         act = menu.addAction(
             UI.PixmapCache.getIcon("privateMode"),
             self.tr("Open Link in New Private Window"))
         act.setData(hitTest.linkUrl())
         act.triggered.connect(
-            lambda: self.__openLinkInNewPrivateWindow(act))
+            functools.partial(self.__openLinkInNewPrivateWindow, act))
         menu.addSeparator()
         menu.addAction(
             UI.PixmapCache.getIcon("download"),
@@ -667,20 +666,20 @@
             self.tr("Bookmark this Link"))
         act.setData(hitTest.linkUrl())
         act.triggered.connect(
-            lambda: self.__bookmarkLink(act))
+            functools.partial(self.__bookmarkLink, act))
         menu.addSeparator()
         act = menu.addAction(
             UI.PixmapCache.getIcon("editCopy"),
             self.tr("Copy Link to Clipboard"))
         act.setData(hitTest.linkUrl())
         act.triggered.connect(
-            lambda: self.__copyLink(act))
+            functools.partial(self.__copyLink, act))
         act = menu.addAction(
             UI.PixmapCache.getIcon("mailSend"),
             self.tr("Send Link"))
         act.setData(hitTest.linkUrl())
         act.triggered.connect(
-            lambda: self.__sendLink(act))
+            functools.partial(self.__sendLink, act))
         if (
             Preferences.getWebBrowser("VirusTotalEnabled") and
             Preferences.getWebBrowser("VirusTotalServiceKey") != ""
@@ -690,7 +689,7 @@
                 self.tr("Scan Link with VirusTotal"))
             act.setData(hitTest.linkUrl())
             act.triggered.connect(
-                lambda: self.__virusTotal(act))
+                functools.partial(self.__virusTotal, act))
         
     def __createImageContextMenu(self, menu, hitTest):
         """
@@ -709,7 +708,7 @@
             self.tr("Open Image in New Tab"))
         act.setData(hitTest.imageUrl())
         act.triggered.connect(
-            lambda: self.__openLinkInNewTab(act))
+            functools.partial(self.__openLinkInNewTab, act))
         menu.addSeparator()
         menu.addAction(
             UI.PixmapCache.getIcon("download"),
@@ -721,13 +720,13 @@
             self.tr("Copy Image Location to Clipboard"))
         act.setData(hitTest.imageUrl())
         act.triggered.connect(
-            lambda: self.__copyLink(act))
+            functools.partial(self.__copyLink, act))
         act = menu.addAction(
             UI.PixmapCache.getIcon("mailSend"),
             self.tr("Send Image Link"))
         act.setData(hitTest.imageUrl())
         act.triggered.connect(
-            lambda: self.__sendLink(act))
+            functools.partial(self.__sendLink, act))
         
         if hitTest.imageUrl().scheme() in ["http", "https"]:
             menu.addSeparator()
@@ -739,7 +738,7 @@
                 self.tr("Search image in {0}").format(searchEngineName))
             act.setData(engine.getSearchQuery(hitTest.imageUrl()))
             act.triggered.connect(
-                lambda: self.__searchImage(act))
+                functools.partial(self.__searchImage, act))
             self.__imageSearchMenu = menu.addMenu(
                 self.tr("Search image with..."))
             for searchEngineName in engine.searchEngineNames():
@@ -758,7 +757,7 @@
             self.tr("Block Image"))
         act.setData(hitTest.imageUrl().toString())
         act.triggered.connect(
-            lambda: self.__blockImage(act))
+            functools.partial(self.__blockImage, act))
         if (
             Preferences.getWebBrowser("VirusTotalEnabled") and
             Preferences.getWebBrowser("VirusTotalServiceKey") != ""
@@ -768,7 +767,7 @@
                 self.tr("Scan Image with VirusTotal"))
             act.setData(hitTest.imageUrl())
             act.triggered.connect(
-                lambda: self.__virusTotal(act))
+                functools.partial(self.__virusTotal, act))
     
     def __createMediaContextMenu(self, menu, hitTest):
         """
@@ -804,13 +803,13 @@
             self.tr("Copy Media Address to Clipboard"))
         act.setData(hitTest.mediaUrl())
         act.triggered.connect(
-            lambda: self.__copyLink(act))
+            functools.partial(self.__copyLink, act))
         act = menu.addAction(
             UI.PixmapCache.getIcon("mailSend"),
             self.tr("Send Media Address"))
         act.setData(hitTest.mediaUrl())
         act.triggered.connect(
-            lambda: self.__sendLink(act))
+            functools.partial(self.__sendLink, act))
         menu.addAction(
             UI.PixmapCache.getIcon("download"),
             self.tr("Save Media"), self.__downloadMedia)
@@ -834,7 +833,7 @@
             self.tr("Send Text"))
         act.setData(self.selectedText())
         act.triggered.connect(
-            lambda: self.__sendLink(act))
+            functools.partial(self.__sendLink, act))
         
         engineName = self.__mw.openSearchManager().currentEngineName()
         if engineName:
@@ -867,29 +866,29 @@
             googleTranslatorUrl = QUrl(
                 "http://translate.google.com/#auto/{0}/{1}".format(
                     langCode, self.selectedText()))
-            act1 = menu.addAction(
+            act = menu.addAction(
                 UI.PixmapCache.getIcon("translate"),
                 self.tr("Google Translate"))
-            act1.setData(googleTranslatorUrl)
-            act1.triggered.connect(
-                lambda: self.__openLinkInNewTab(act1))
+            act.setData(googleTranslatorUrl)
+            act.triggered.connect(
+                functools.partial(self.__openLinkInNewTab, act))
             wiktionaryUrl = QUrl(
                 "http://{0}.wiktionary.org/wiki/Special:Search?search={1}"
                 .format(langCode, self.selectedText()))
-            act2 = menu.addAction(
+            act = menu.addAction(
                 UI.PixmapCache.getIcon("wikipedia"),
                 self.tr("Dictionary"))
-            act2.setData(wiktionaryUrl)
-            act2.triggered.connect(
-                lambda: self.__openLinkInNewTab(act2))
+            act.setData(wiktionaryUrl)
+            act.triggered.connect(
+                functools.partial(self.__openLinkInNewTab, act))
             menu.addSeparator()
         
         guessedUrl = QUrl.fromUserInput(self.selectedText().strip())
         if self.__isUrlValid(guessedUrl):
-            act3 = menu.addAction(self.tr("Go to web address"))
-            act3.setData(guessedUrl)
-            act3.triggered.connect(
-                lambda: self.__openLinkInNewTab(act3))
+            act = menu.addAction(self.tr("Go to web address"))
+            act.setData(guessedUrl)
+            act.triggered.connect(
+                functools.partial(self.__openLinkInNewTab, act))
     
     def __createPageContextMenu(self, menu):
         """
@@ -934,13 +933,13 @@
             self.tr("Copy Page Link"))
         act.setData(self.url())
         act.triggered.connect(
-            lambda: self.__copyLink(act))
+            functools.partial(self.__copyLink, act))
         act = menu.addAction(
             UI.PixmapCache.getIcon("mailSend"),
             self.tr("Send Page Link"))
         act.setData(self.url())
         act.triggered.connect(
-            lambda: self.__sendLink(act))
+            functools.partial(self.__sendLink, act))
         menu.addSeparator()
         
         from .UserAgent.UserAgentMenu import UserAgentMenu
@@ -971,12 +970,12 @@
             w3url = QUrl.fromEncoded(
                 b"http://validator.w3.org/check?uri=" +
                 QUrl.toPercentEncoding(bytes(self.url().toEncoded()).decode()))
-            act1 = menu.addAction(
+            act = menu.addAction(
                 UI.PixmapCache.getIcon("w3"),
                 self.tr("Validate Page"))
-            act1.setData(w3url)
-            act1.triggered.connect(
-                lambda: self.__openLinkInNewTab(act1))
+            act.setData(w3url)
+            act.triggered.connect(
+                functools.partial(self.__openLinkInNewTab, act))
             
             from .WebBrowserLanguagesDialog import WebBrowserLanguagesDialog
             languages = Preferences.toList(
@@ -992,12 +991,12 @@
                     b"&u=" +
                     QUrl.toPercentEncoding(
                         bytes(self.url().toEncoded()).decode()))
-                act2 = menu.addAction(
+                act = menu.addAction(
                     UI.PixmapCache.getIcon("translate"),
                     self.tr("Google Translate"))
-                act2.setData(googleTranslatorUrl)
-                act2.triggered.connect(
-                    lambda: self.__openLinkInNewTab(act2))
+                act.setData(googleTranslatorUrl)
+                act.triggered.connect(
+                    functools.partial(self.__openLinkInNewTab, act))
     
     def __checkForForm(self, act, pos):
         """
@@ -1734,7 +1733,8 @@
         ):
             return
         
-        QTimer.singleShot(0, lambda: self.__showTabCrashPage(status))
+        QTimer.singleShot(0,
+                          functools.partial(self.__showTabCrashPage, status))
     
     def __showTabCrashPage(self, status):
         """

eric ide

mercurial