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) |