UI/UserInterface.py

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

eric ide

mercurial