76 ) |
76 ) |
77 entryTemplate = self.tr("<tr><td><b>{0}</b></td><td>{1}</td><td>{2}</td></tr>") |
77 entryTemplate = self.tr("<tr><td><b>{0}</b></td><td>{1}</td><td>{2}</td></tr>") |
78 |
78 |
79 msg = "" |
79 msg = "" |
80 |
80 |
81 pip = ericApp().getObject("Pip") |
81 with EricOverrideCursor(): |
82 venvManager = ericApp().getObject("VirtualEnvManager") |
82 pip = ericApp().getObject("Pip") |
|
83 pyqtUpdateAvailable, pyqtVersionsData = pip.checkPackageOutdated( |
|
84 "pyqt6", "system>", interpreter=sys.executable |
|
85 ) |
|
86 ericUpdateAvailable, ericVersionsData = pip.checkPackageOutdated( |
|
87 "eric-ide", "system>", interpreter=sys.executable |
|
88 ) |
83 |
89 |
84 environmentName = ( |
90 if pyqtUpdateAvailable or ericUpdateAvailable: |
85 venvManager.environmentForInterpreter(sys.executable)[0] |
91 self.buttonBox.removeButton(self.__checkUpdateButton) |
86 # just the name is needed |
92 self.__checkUpdateButton = None |
|
93 else: |
|
94 msg = self.tr("No upgrades available.") |
|
95 |
|
96 if ericUpdateAvailable: |
|
97 self.__upgradeEricButton = self.buttonBox.addButton( |
|
98 upgradeButtonTemplate.format("eric7"), |
|
99 QDialogButtonBox.ButtonRole.ActionRole, |
|
100 ) |
|
101 self.__upgradeEricButton.clicked.connect(self.__ui.upgradeEric) |
|
102 msg += headerTemplate.format("eric7") |
|
103 msg += tableTemplate.format(entryTemplate.format(*ericVersionsData[0])) |
|
104 |
|
105 if pyqtUpdateAvailable: |
|
106 self.__upgradePyQtButton = self.buttonBox.addButton( |
|
107 upgradeButtonTemplate.format("PyQt6"), |
|
108 QDialogButtonBox.ButtonRole.ActionRole, |
|
109 ) |
|
110 self.__upgradePyQtButton.clicked.connect(self.__ui.upgradePyQt) |
|
111 msg += headerTemplate.format("PyQt6") |
|
112 msg += tableTemplate.format( |
|
113 "".join(entryTemplate.format(*v) for v in pyqtVersionsData) |
|
114 ) |
|
115 |
|
116 if ericUpdateAvailable and pyqtUpdateAvailable: |
|
117 self.__upgradeBothButton = self.buttonBox.addButton( |
|
118 upgradeButtonTemplate.format(self.tr("Both")), |
|
119 QDialogButtonBox.ButtonRole.ActionRole, |
|
120 ) |
|
121 self.__upgradeBothButton.clicked.connect(self.__ui.upgradeEricPyQt) |
|
122 |
|
123 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setDefault(True) |
|
124 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setFocus( |
|
125 Qt.FocusReason.OtherFocusReason |
87 ) |
126 ) |
88 |
127 |
89 if environmentName: |
128 EricMessageBox.information(self, self.tr("Check for Upgrades"), msg) |
90 with EricOverrideCursor(): |
|
91 pyqtUpdateAvailable, pyqtVersionsData = pip.checkPackageOutdated( |
|
92 "pyqt6", environmentName |
|
93 ) |
|
94 ericUpdateAvailable, ericVersionsData = pip.checkPackageOutdated( |
|
95 "eric-ide", environmentName |
|
96 ) |
|
97 |
|
98 if pyqtUpdateAvailable or ericUpdateAvailable: |
|
99 self.buttonBox.removeButton(self.__checkUpdateButton) |
|
100 self.__checkUpdateButton = None |
|
101 else: |
|
102 msg = self.tr("No upgrades available.") |
|
103 |
|
104 if ericUpdateAvailable: |
|
105 self.__upgradeEricButton = self.buttonBox.addButton( |
|
106 upgradeButtonTemplate.format("eric7"), |
|
107 QDialogButtonBox.ButtonRole.ActionRole, |
|
108 ) |
|
109 self.__upgradeEricButton.clicked.connect(self.__ui.upgradeEric) |
|
110 msg += headerTemplate.format("eric7") |
|
111 msg += tableTemplate.format(entryTemplate.format(*ericVersionsData[0])) |
|
112 |
|
113 if pyqtUpdateAvailable: |
|
114 self.__upgradePyQtButton = self.buttonBox.addButton( |
|
115 upgradeButtonTemplate.format("PyQt6"), |
|
116 QDialogButtonBox.ButtonRole.ActionRole, |
|
117 ) |
|
118 self.__upgradePyQtButton.clicked.connect(self.__ui.upgradePyQt) |
|
119 msg += headerTemplate.format("PyQt6") |
|
120 msg += tableTemplate.format( |
|
121 "".join(entryTemplate.format(*v) for v in pyqtVersionsData) |
|
122 ) |
|
123 |
|
124 if ericUpdateAvailable and pyqtUpdateAvailable: |
|
125 self.__upgradeBothButton = self.buttonBox.addButton( |
|
126 upgradeButtonTemplate.format(self.tr("Both")), |
|
127 QDialogButtonBox.ButtonRole.ActionRole, |
|
128 ) |
|
129 self.__upgradeBothButton.clicked.connect(self.__ui.upgradeEricPyQt) |
|
130 |
|
131 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setDefault(True) |
|
132 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setFocus( |
|
133 Qt.FocusReason.OtherFocusReason |
|
134 ) |
|
135 |
|
136 EricMessageBox.information(self, self.tr("Check for Upgrades"), msg) |
|