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