2475 """from the internet.</p>""" |
2475 """from the internet.</p>""" |
2476 )) |
2476 )) |
2477 self.showVersionsAct.triggered.connect( |
2477 self.showVersionsAct.triggered.connect( |
2478 self.showAvailableVersionsInfo) |
2478 self.showAvailableVersionsInfo) |
2479 self.actions.append(self.showVersionsAct) |
2479 self.actions.append(self.showVersionsAct) |
2480 |
2480 |
|
2481 self.upgradePyQtAct = EricAction( |
|
2482 self.tr('Upgrade PyQt6'), |
|
2483 self.tr('Upgrade PyQt6...'), |
|
2484 0, 0, self, 'upgrade_pyqt6') |
|
2485 self.upgradePyQtAct.setStatusTip( |
|
2486 self.tr('Upgrade PyQt6 and restart eric')) |
|
2487 self.upgradePyQtAct.setWhatsThis(self.tr( |
|
2488 """<b>Upgrade PyQt6...</b>""" |
|
2489 """<p>Upgrade the PyQt6 packages eric depends on and restart""" |
|
2490 """ eric.</p>""" |
|
2491 )) |
|
2492 self.upgradePyQtAct.triggered.connect(self.upgradePyQt) |
|
2493 self.actions.append(self.upgradePyQtAct) |
|
2494 |
2481 self.showErrorLogAct = EricAction( |
2495 self.showErrorLogAct = EricAction( |
2482 self.tr('Show Error Log'), |
2496 self.tr('Show Error Log'), |
2483 self.tr('Show Error &Log...'), |
2497 self.tr('Show Error &Log...'), |
2484 0, 0, self, 'show_error_log') |
2498 0, 0, self, 'show_error_log') |
2485 self.showErrorLogAct.setStatusTip(self.tr('Show Error Log')) |
2499 self.showErrorLogAct.setStatusTip(self.tr('Show Error Log')) |
3586 self.__menus["help"].addAction(self.versionAct) |
3600 self.__menus["help"].addAction(self.versionAct) |
3587 self.__menus["help"].addSeparator() |
3601 self.__menus["help"].addSeparator() |
3588 self.__menus["help"].addAction(self.checkUpdateAct) |
3602 self.__menus["help"].addAction(self.checkUpdateAct) |
3589 self.__menus["help"].addAction(self.showVersionsAct) |
3603 self.__menus["help"].addAction(self.showVersionsAct) |
3590 self.__menus["help"].addSeparator() |
3604 self.__menus["help"].addSeparator() |
|
3605 self.__menus["help"].addAction(self.upgradePyQtAct) |
|
3606 self.__menus["help"].addSeparator() |
3591 self.__menus["help"].addAction(self.showInstallInfoAct) |
3607 self.__menus["help"].addAction(self.showInstallInfoAct) |
3592 self.__menus["help"].addSeparator() |
3608 self.__menus["help"].addSeparator() |
3593 self.__menus["help"].addAction(self.showErrorLogAct) |
3609 self.__menus["help"].addAction(self.showErrorLogAct) |
3594 self.__menus["help"].addAction(self.reportBugAct) |
3610 self.__menus["help"].addAction(self.reportBugAct) |
3595 self.__menus["help"].addAction(self.requestFeatureAct) |
3611 self.__menus["help"].addAction(self.requestFeatureAct) |
4084 versionText += ("<tr><td><b>{0}</b></td><td>{1}</td></tr>" |
4102 versionText += ("<tr><td><b>{0}</b></td><td>{1}</td></tr>" |
4085 ).format(self.tr("Session Type"), session) |
4103 ).format(self.tr("Session Type"), session) |
4086 |
4104 |
4087 versionText += self.tr("""</table>""") |
4105 versionText += self.tr("""</table>""") |
4088 |
4106 |
4089 EricMessageBox.about(self, Program, versionText) |
4107 VersionsDialog(self, Program, versionText) |
4090 |
4108 |
4091 def __reportBug(self): |
4109 def __reportBug(self): |
4092 """ |
4110 """ |
4093 Private slot to handle the Report Bug dialog. |
4111 Private slot to handle the Report Bug dialog. |
4094 """ |
4112 """ |
4443 eric7 = os.path.join(getConfig("ericDir"), "eric7.py") |
4461 eric7 = os.path.join(getConfig("ericDir"), "eric7.py") |
4444 args = [eric7] |
4462 args = [eric7] |
4445 args.append("--start-session") |
4463 args.append("--start-session") |
4446 args.extend(self.__restartArgs) |
4464 args.extend(self.__restartArgs) |
4447 QProcess.startDetached(program, args) |
4465 QProcess.startDetached(program, args) |
4448 |
4466 |
|
4467 @pyqtSlot() |
|
4468 def upgradePyQt(self): |
|
4469 """ |
|
4470 Public slot to upgrade the PyQt packages of the eric7 environment. |
|
4471 |
|
4472 @return flag indicating a successful upgrade |
|
4473 @rtype bool |
|
4474 """ |
|
4475 yes = EricMessageBox.yesNo( |
|
4476 self, |
|
4477 self.tr("Upgrade PyQt"), |
|
4478 self.tr("""In order to upgrade PyQt eric needs to be closed. It""" |
|
4479 """ will be restarted once the upgrade process has""" |
|
4480 """ finished. This may take some time.\n\nShall the""" |
|
4481 """ upgrade be done now?""") |
|
4482 ) |
|
4483 |
|
4484 if yes and self.__shutdown(): |
|
4485 self.__performUpgrade("pyqt") |
|
4486 return True |
|
4487 |
|
4488 return False |
|
4489 |
|
4490 def __performUpgrade(self, upgradeType): |
|
4491 """ |
|
4492 Private method to perform the requested upgrade operation. |
|
4493 |
|
4494 This action needs to shut down eric first, start a non-PyQt application |
|
4495 performing the upgrade of the PyQt packages via pip and restart eric |
|
4496 with the passed arguments. The upgrade process is not visible. |
|
4497 |
|
4498 @param upgradeType upgrade operation (one of 'pyqt') |
|
4499 @type str |
|
4500 """ |
|
4501 ericApp().closeAllWindows() |
|
4502 program = sys.executable |
|
4503 ericStartArgs = [ |
|
4504 os.path.join(getConfig("ericDir"), "eric7.py"), |
|
4505 "--start-session", |
|
4506 ] |
|
4507 ericStartArgs.extend(self.__restartArgs) |
|
4508 |
|
4509 upgrader = os.path.join( |
|
4510 os.path.dirname(__file__), "upgrader.py" |
|
4511 ) |
|
4512 upgraderArgs = [upgrader, "--" + upgradeType, "--"] + ericStartArgs |
|
4513 QProcess.startDetached(program, upgraderArgs) |
|
4514 |
4449 def __newWindow(self): |
4515 def __newWindow(self): |
4450 """ |
4516 """ |
4451 Private slot to start a new instance of eric. |
4517 Private slot to start a new instance of eric. |
4452 """ |
4518 """ |
4453 if not Preferences.getUI("SingleApplicationMode"): |
4519 if not Preferences.getUI("SingleApplicationMode"): |