UI/UserInterface.py

branch
maintenance
changeset 6166
bace7fb85a01
parent 6050
25a4ddb25ca4
parent 6118
da9e08920e7c
child 6206
a02b03b7bfec
--- a/UI/UserInterface.py	Sun Feb 04 10:56:30 2018 +0100
+++ b/UI/UserInterface.py	Fri Mar 02 19:35:16 2018 +0100
@@ -485,7 +485,8 @@
         self.viewmanager.editorRenamed.connect(self.__writeCrashSession)
         self.viewmanager.editorChanged.connect(self.__writeCrashSession)
         
-        self.shell.zoomValueChanged.connect(self.viewmanager.zoomValueChanged)
+        self.shell.zoomValueChanged.connect(
+            lambda v: self.viewmanager.zoomValueChanged(v, self.shell))
         
         self.cooperation.shareEditor.connect(self.viewmanager.shareEditor)
         self.cooperation.startEdit.connect(self.viewmanager.startSharedEdit)
@@ -3020,7 +3021,8 @@
                                   tool['menutext'], self)
                     act.setObjectName("{0}@@{1}".format(toolGroup[0],
                                       tool['menutext']))
-                    act.triggered.connect(self.__toolActionTriggered)
+                    act.triggered.connect(
+                        lambda: self.__toolActionTriggered(act))
                     self.toolGroupActions[act.objectName()] = act
                     
                     self.toolbarManager.addAction(act, category)
@@ -3048,8 +3050,7 @@
         for key in groupActionKeys:
             if key not in ckeys:
                 self.toolbarManager.removeAction(self.toolGroupActions[key])
-                self.toolGroupActions[key].triggered.disconnect(
-                    self.__toolActionTriggered)
+                self.toolGroupActions[key].triggered.disconnect()
                 del self.toolGroupActions[key]
         
         # step 4: add all newly configured tools
@@ -3061,7 +3062,8 @@
                     act = QAction(UI.PixmapCache.getIcon(tool['icon']),
                                   tool['menutext'], self)
                     act.setObjectName(key)
-                    act.triggered.connect(self.__toolActionTriggered)
+                    act.triggered.connect(
+                        lambda: self.__toolActionTriggered(act))
                     self.toolGroupActions[key] = act
                     
                     self.toolbarManager.addAction(act, category)
@@ -4821,11 +4823,13 @@
                     'Ensure that it is available as <b>{0}</b>.</p>'
                 ).format(snap))
         
-    def __toolActionTriggered(self):
+    def __toolActionTriggered(self, act):
         """
         Private slot called by external tools toolbar actions.
-        """
-        act = self.sender()
+        
+        @param act reference to the action that triggered the slot
+        @type QAction
+        """
         toolGroupName, toolMenuText = act.objectName().split('@@', 1)
         for toolGroup in self.toolGroups:
             if toolGroup[0] == toolGroupName:
@@ -6462,7 +6466,7 @@
             request.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
                                  QNetworkRequest.AlwaysNetwork)
             reply = self.__networkManager.get(request)
-            reply.finished.connect(self.__versionsDownloadDone)
+            reply.finished.connect(lambda: self.__versionsDownloadDone(reply))
             self.__replies.append(reply)
         else:
             if manual:
@@ -6474,10 +6478,13 @@
                             """ Please go online and try again."""))
         
     @pyqtSlot()
-    def __versionsDownloadDone(self):
+    def __versionsDownloadDone(self, reply):
         """
         Private slot called, after the versions file has been downloaded
         from the internet.
+        
+        @param reply reference to the network reply
+        @type QNetworkReply
         """
         if self.__versionCheckCanceled:
             self.__inVersionCheck = False
@@ -6486,14 +6493,6 @@
                 self.__versionCheckProgress = None
             return
         
-        reply = self.sender()
-        
-        # This is a hack because sometimes reply is not a QNetworkReply
-        if not isinstance(reply, QNetworkReply):
-            if reply in self.__replies:
-                self.__replies.remove(reply)
-            return
-        
         reply.deleteLater()
         if reply in self.__replies:
             self.__replies.remove(reply)

eric ide

mercurial