UI/UserInterface.py

branch
maintenance
changeset 6166
bace7fb85a01
parent 6050
25a4ddb25ca4
parent 6118
da9e08920e7c
child 6206
a02b03b7bfec
equal deleted inserted replaced
6114:0c976706e8c1 6166:bace7fb85a01
483 self.viewmanager.editorOpened.connect(self.__writeCrashSession) 483 self.viewmanager.editorOpened.connect(self.__writeCrashSession)
484 self.viewmanager.editorClosed.connect(self.__writeCrashSession) 484 self.viewmanager.editorClosed.connect(self.__writeCrashSession)
485 self.viewmanager.editorRenamed.connect(self.__writeCrashSession) 485 self.viewmanager.editorRenamed.connect(self.__writeCrashSession)
486 self.viewmanager.editorChanged.connect(self.__writeCrashSession) 486 self.viewmanager.editorChanged.connect(self.__writeCrashSession)
487 487
488 self.shell.zoomValueChanged.connect(self.viewmanager.zoomValueChanged) 488 self.shell.zoomValueChanged.connect(
489 lambda v: self.viewmanager.zoomValueChanged(v, self.shell))
489 490
490 self.cooperation.shareEditor.connect(self.viewmanager.shareEditor) 491 self.cooperation.shareEditor.connect(self.viewmanager.shareEditor)
491 self.cooperation.startEdit.connect(self.viewmanager.startSharedEdit) 492 self.cooperation.startEdit.connect(self.viewmanager.startSharedEdit)
492 self.cooperation.sendEdit.connect(self.viewmanager.sendSharedEdit) 493 self.cooperation.sendEdit.connect(self.viewmanager.sendSharedEdit)
493 self.cooperation.cancelEdit.connect(self.viewmanager.cancelSharedEdit) 494 self.cooperation.cancelEdit.connect(self.viewmanager.cancelSharedEdit)
3018 if tool['menutext'] != '--': 3019 if tool['menutext'] != '--':
3019 act = QAction(UI.PixmapCache.getIcon(tool['icon']), 3020 act = QAction(UI.PixmapCache.getIcon(tool['icon']),
3020 tool['menutext'], self) 3021 tool['menutext'], self)
3021 act.setObjectName("{0}@@{1}".format(toolGroup[0], 3022 act.setObjectName("{0}@@{1}".format(toolGroup[0],
3022 tool['menutext'])) 3023 tool['menutext']))
3023 act.triggered.connect(self.__toolActionTriggered) 3024 act.triggered.connect(
3025 lambda: self.__toolActionTriggered(act))
3024 self.toolGroupActions[act.objectName()] = act 3026 self.toolGroupActions[act.objectName()] = act
3025 3027
3026 self.toolbarManager.addAction(act, category) 3028 self.toolbarManager.addAction(act, category)
3027 3029
3028 def __updateExternalToolsActions(self): 3030 def __updateExternalToolsActions(self):
3046 3048
3047 # step 3: remove all actions not configured any more 3049 # step 3: remove all actions not configured any more
3048 for key in groupActionKeys: 3050 for key in groupActionKeys:
3049 if key not in ckeys: 3051 if key not in ckeys:
3050 self.toolbarManager.removeAction(self.toolGroupActions[key]) 3052 self.toolbarManager.removeAction(self.toolGroupActions[key])
3051 self.toolGroupActions[key].triggered.disconnect( 3053 self.toolGroupActions[key].triggered.disconnect()
3052 self.__toolActionTriggered)
3053 del self.toolGroupActions[key] 3054 del self.toolGroupActions[key]
3054 3055
3055 # step 4: add all newly configured tools 3056 # step 4: add all newly configured tools
3056 category = self.tr("External Tools/{0}").format(toolGroup[0]) 3057 category = self.tr("External Tools/{0}").format(toolGroup[0])
3057 for tool in toolGroup[1]: 3058 for tool in toolGroup[1]:
3059 key = "{0}@@{1}".format(toolGroup[0], tool['menutext']) 3060 key = "{0}@@{1}".format(toolGroup[0], tool['menutext'])
3060 if key not in groupActionKeys: 3061 if key not in groupActionKeys:
3061 act = QAction(UI.PixmapCache.getIcon(tool['icon']), 3062 act = QAction(UI.PixmapCache.getIcon(tool['icon']),
3062 tool['menutext'], self) 3063 tool['menutext'], self)
3063 act.setObjectName(key) 3064 act.setObjectName(key)
3064 act.triggered.connect(self.__toolActionTriggered) 3065 act.triggered.connect(
3066 lambda: self.__toolActionTriggered(act))
3065 self.toolGroupActions[key] = act 3067 self.toolGroupActions[key] = act
3066 3068
3067 self.toolbarManager.addAction(act, category) 3069 self.toolbarManager.addAction(act, category)
3068 3070
3069 def __showFileMenu(self): 3071 def __showFileMenu(self):
4819 self.tr( 4821 self.tr(
4820 '<p>Could not start Snapshot tool.<br>' 4822 '<p>Could not start Snapshot tool.<br>'
4821 'Ensure that it is available as <b>{0}</b>.</p>' 4823 'Ensure that it is available as <b>{0}</b>.</p>'
4822 ).format(snap)) 4824 ).format(snap))
4823 4825
4824 def __toolActionTriggered(self): 4826 def __toolActionTriggered(self, act):
4825 """ 4827 """
4826 Private slot called by external tools toolbar actions. 4828 Private slot called by external tools toolbar actions.
4827 """ 4829
4828 act = self.sender() 4830 @param act reference to the action that triggered the slot
4831 @type QAction
4832 """
4829 toolGroupName, toolMenuText = act.objectName().split('@@', 1) 4833 toolGroupName, toolMenuText = act.objectName().split('@@', 1)
4830 for toolGroup in self.toolGroups: 4834 for toolGroup in self.toolGroups:
4831 if toolGroup[0] == toolGroupName: 4835 if toolGroup[0] == toolGroupName:
4832 for tool in toolGroup[1]: 4836 for tool in toolGroup[1]:
4833 if tool['menutext'] == toolMenuText: 4837 if tool['menutext'] == toolMenuText:
6460 self.__versionCheckProgress.setValue(alternative) 6464 self.__versionCheckProgress.setValue(alternative)
6461 request = QNetworkRequest(url) 6465 request = QNetworkRequest(url)
6462 request.setAttribute(QNetworkRequest.CacheLoadControlAttribute, 6466 request.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
6463 QNetworkRequest.AlwaysNetwork) 6467 QNetworkRequest.AlwaysNetwork)
6464 reply = self.__networkManager.get(request) 6468 reply = self.__networkManager.get(request)
6465 reply.finished.connect(self.__versionsDownloadDone) 6469 reply.finished.connect(lambda: self.__versionsDownloadDone(reply))
6466 self.__replies.append(reply) 6470 self.__replies.append(reply)
6467 else: 6471 else:
6468 if manual: 6472 if manual:
6469 E5MessageBox.warning( 6473 E5MessageBox.warning(
6470 self, 6474 self,
6472 self.tr("""The versions information cannot not be""" 6476 self.tr("""The versions information cannot not be"""
6473 """ downloaded because you are <b>offline</b>.""" 6477 """ downloaded because you are <b>offline</b>."""
6474 """ Please go online and try again.""")) 6478 """ Please go online and try again."""))
6475 6479
6476 @pyqtSlot() 6480 @pyqtSlot()
6477 def __versionsDownloadDone(self): 6481 def __versionsDownloadDone(self, reply):
6478 """ 6482 """
6479 Private slot called, after the versions file has been downloaded 6483 Private slot called, after the versions file has been downloaded
6480 from the internet. 6484 from the internet.
6485
6486 @param reply reference to the network reply
6487 @type QNetworkReply
6481 """ 6488 """
6482 if self.__versionCheckCanceled: 6489 if self.__versionCheckCanceled:
6483 self.__inVersionCheck = False 6490 self.__inVersionCheck = False
6484 if self.__versionCheckProgress is not None: 6491 if self.__versionCheckProgress is not None:
6485 self.__versionCheckProgress.reset() 6492 self.__versionCheckProgress.reset()
6486 self.__versionCheckProgress = None 6493 self.__versionCheckProgress = None
6487 return
6488
6489 reply = self.sender()
6490
6491 # This is a hack because sometimes reply is not a QNetworkReply
6492 if not isinstance(reply, QNetworkReply):
6493 if reply in self.__replies:
6494 self.__replies.remove(reply)
6495 return 6494 return
6496 6495
6497 reply.deleteLater() 6496 reply.deleteLater()
6498 if reply in self.__replies: 6497 if reply in self.__replies:
6499 self.__replies.remove(reply) 6498 self.__replies.remove(reply)

eric ide

mercurial