src/eric7/VirtualEnv/VirtualenvManagerWidgets.py

branch
eric7
changeset 9434
ef86a77942f2
parent 9413
80c06d472826
child 9438
313f1a809a2b
equal deleted inserted replaced
9433:6df1aeaa4529 9434:ef86a77942f2
37 37
38 IsGlobalRole = Qt.ItemDataRole.UserRole + 1 38 IsGlobalRole = Qt.ItemDataRole.UserRole + 1
39 IsCondaRole = Qt.ItemDataRole.UserRole + 2 39 IsCondaRole = Qt.ItemDataRole.UserRole + 2
40 IsRemoteRole = Qt.ItemDataRole.UserRole + 3 40 IsRemoteRole = Qt.ItemDataRole.UserRole + 3
41 ExecPathRole = Qt.ItemDataRole.UserRole + 4 41 ExecPathRole = Qt.ItemDataRole.UserRole + 4
42 DescriptionRole = Qt.ItemDataRole.UserRole + 5
42 43
43 def __init__(self, manager, parent=None): 44 def __init__(self, manager, parent=None):
44 """ 45 """
45 Constructor 46 Constructor
46 47
158 venvInterpreter, 159 venvInterpreter,
159 isGlobal, 160 isGlobal,
160 isConda, 161 isConda,
161 isRemote, 162 isRemote,
162 execPath, 163 execPath,
164 description,
163 ) = dlg.getData() 165 ) = dlg.getData()
164 166
165 self.__manager.addVirtualEnv( 167 self.__manager.addVirtualEnv(
166 venvName, 168 venvName,
167 venvDirectory, 169 venvDirectory,
168 venvInterpreter, 170 venvInterpreter,
169 isGlobal, 171 isGlobal,
170 isConda, 172 isConda,
171 isRemote, 173 isRemote,
172 execPath, 174 execPath,
175 description,
173 ) 176 )
174 177
175 @pyqtSlot() 178 @pyqtSlot()
176 def on_newButton_clicked(self): 179 def on_newButton_clicked(self):
177 """ 180 """
196 selectedItem.text(2), 199 selectedItem.text(2),
197 selectedItem.data(0, VirtualenvManagerWidget.IsGlobalRole), 200 selectedItem.data(0, VirtualenvManagerWidget.IsGlobalRole),
198 selectedItem.data(0, VirtualenvManagerWidget.IsCondaRole), 201 selectedItem.data(0, VirtualenvManagerWidget.IsCondaRole),
199 selectedItem.data(0, VirtualenvManagerWidget.IsRemoteRole), 202 selectedItem.data(0, VirtualenvManagerWidget.IsRemoteRole),
200 selectedItem.data(0, VirtualenvManagerWidget.ExecPathRole), 203 selectedItem.data(0, VirtualenvManagerWidget.ExecPathRole),
204 selectedItem.data(0, VirtualenvManagerWidget.DescriptionRole),
201 baseDir=self.envBaseDirectoryPicker.text(), 205 baseDir=self.envBaseDirectoryPicker.text(),
202 ) 206 )
203 if dlg.exec() == QDialog.DialogCode.Accepted: 207 if dlg.exec() == QDialog.DialogCode.Accepted:
204 ( 208 (
205 venvName, 209 venvName,
207 venvInterpreter, 211 venvInterpreter,
208 isGlobal, 212 isGlobal,
209 isConda, 213 isConda,
210 isRemote, 214 isRemote,
211 execPath, 215 execPath,
216 description,
212 ) = dlg.getData() 217 ) = dlg.getData()
213 if venvName != oldVenvName: 218 if venvName != oldVenvName:
214 self.__manager.renameVirtualEnv( 219 self.__manager.renameVirtualEnv(
215 oldVenvName, 220 oldVenvName,
216 venvName, 221 venvName,
218 venvInterpreter, 223 venvInterpreter,
219 isGlobal, 224 isGlobal,
220 isConda, 225 isConda,
221 isRemote, 226 isRemote,
222 execPath, 227 execPath,
228 description,
223 ) 229 )
224 else: 230 else:
225 self.__manager.setVirtualEnv( 231 self.__manager.setVirtualEnv(
226 venvName, 232 venvName,
227 venvDirectory, 233 venvDirectory,
228 venvInterpreter, 234 venvInterpreter,
229 isGlobal, 235 isGlobal,
230 isConda, 236 isConda,
231 isRemote, 237 isRemote,
232 execPath, 238 execPath,
239 description,
233 ) 240 )
234 241
235 @pyqtSlot() 242 @pyqtSlot()
236 def on_upgradeButton_clicked(self): 243 def on_upgradeButton_clicked(self):
237 """ 244 """
295 def on_venvList_itemSelectionChanged(self): 302 def on_venvList_itemSelectionChanged(self):
296 """ 303 """
297 Private slot handling a change of the selected items. 304 Private slot handling a change of the selected items.
298 """ 305 """
299 self.__updateButtons() 306 self.__updateButtons()
307
308 selectedItems = self.venvList.selectedItems()
309 if len(selectedItems) == 1:
310 self.descriptionEdit.setPlainText(
311 selectedItems[0].data(0, VirtualenvManagerWidget.DescriptionRole)
312 )
313 else:
314 self.descriptionEdit.clear()
300 315
301 @pyqtSlot() 316 @pyqtSlot()
302 def __refresh(self): 317 def __refresh(self):
303 """ 318 """
304 Private slot to refresh the list of shown items. 319 Private slot to refresh the list of shown items.
352 itm.setData( 367 itm.setData(
353 0, 368 0,
354 VirtualenvManagerWidget.ExecPathRole, 369 VirtualenvManagerWidget.ExecPathRole,
355 environments[venvName]["exec_path"], 370 environments[venvName]["exec_path"],
356 ) 371 )
372 itm.setData(
373 0,
374 VirtualenvManagerWidget.DescriptionRole,
375 environments[venvName]["description"],
376 )
357 377
358 # show remote environments with underlined font 378 # show remote environments with underlined font
359 if environments[venvName]["is_remote"]: 379 if environments[venvName]["is_remote"]:
360 font = itm.font(0) 380 font = itm.font(0)
361 font.setUnderline(True) 381 font.setUnderline(True)

eric ide

mercurial