30 a virtual environment |
30 a virtual environment |
31 @signal virtualEnvironmentRemoved() emitted to indicate the removal and |
31 @signal virtualEnvironmentRemoved() emitted to indicate the removal and |
32 deletion of a virtual environment |
32 deletion of a virtual environment |
33 @signal virtualEnvironmentChanged(name) emitted to indicate a change of |
33 @signal virtualEnvironmentChanged(name) emitted to indicate a change of |
34 a virtual environment |
34 a virtual environment |
|
35 @signal virtualEnvironmentsListChanged() emitted to indicate a change of |
|
36 the list of virtual environments (may be used to refresh the list) |
35 """ |
37 """ |
36 DefaultKey = "<default>" |
38 DefaultKey = "<default>" |
37 |
39 |
38 virtualEnvironmentAdded = pyqtSignal() |
40 virtualEnvironmentAdded = pyqtSignal() |
39 virtualEnvironmentRemoved = pyqtSignal() |
41 virtualEnvironmentRemoved = pyqtSignal() |
40 virtualEnvironmentChanged = pyqtSignal(str) |
42 virtualEnvironmentChanged = pyqtSignal(str) |
41 |
43 |
|
44 virtualEnvironmentsListChanged = pyqtSignal() |
|
45 |
42 def __init__(self, parent=None): |
46 def __init__(self, parent=None): |
43 """ |
47 """ |
44 Constructor |
48 Constructor |
45 |
49 |
46 @param parent reference to the parent object |
50 @param parent reference to the parent object |
262 } |
264 } |
263 |
265 |
264 self.__saveSettings() |
266 self.__saveSettings() |
265 |
267 |
266 self.virtualEnvironmentAdded.emit() |
268 self.virtualEnvironmentAdded.emit() |
267 if self.__virtualenvManagerDialog: |
269 self.virtualEnvironmentsListChanged.emit() |
268 self.__virtualenvManagerDialog.refresh() |
|
269 |
270 |
270 def setVirtualEnv(self, venvName, venvDirectory, venvInterpreter, |
271 def setVirtualEnv(self, venvName, venvDirectory, venvInterpreter, |
271 isGlobal, isConda, isRemote, execPath): |
272 isGlobal, isConda, isRemote, execPath): |
272 """ |
273 """ |
273 Public method to change a virtual environment. |
274 Public method to change a virtual environment. |
309 } |
310 } |
310 |
311 |
311 self.__saveSettings() |
312 self.__saveSettings() |
312 |
313 |
313 self.virtualEnvironmentChanged.emit(venvName) |
314 self.virtualEnvironmentChanged.emit(venvName) |
314 if self.__virtualenvManagerDialog: |
315 self.virtualEnvironmentsListChanged.emit() |
315 self.__virtualenvManagerDialog.refresh() |
|
316 |
316 |
317 def renameVirtualEnv(self, oldVenvName, venvName, venvDirectory, |
317 def renameVirtualEnv(self, oldVenvName, venvName, venvDirectory, |
318 venvInterpreter, isGlobal, isConda, |
318 venvInterpreter, isGlobal, isConda, |
319 isRemote, execPath): |
319 isRemote, execPath): |
320 """ |
320 """ |
395 del self.__virtualEnvironments[venvName] |
395 del self.__virtualEnvironments[venvName] |
396 |
396 |
397 self.__saveSettings() |
397 self.__saveSettings() |
398 |
398 |
399 self.virtualEnvironmentRemoved.emit() |
399 self.virtualEnvironmentRemoved.emit() |
400 if self.__virtualenvManagerDialog: |
400 self.virtualEnvironmentsListChanged.emit() |
401 self.__virtualenvManagerDialog.refresh() |
|
402 |
401 |
403 def __isEnvironmentDeleteable(self, venvName): |
402 def __isEnvironmentDeleteable(self, venvName): |
404 """ |
403 """ |
405 Private method to check, if a virtual environment can be deleted from |
404 Private method to check, if a virtual environment can be deleted from |
406 disk. |
405 disk. |
450 del self.__virtualEnvironments[venvName] |
449 del self.__virtualEnvironments[venvName] |
451 |
450 |
452 self.__saveSettings() |
451 self.__saveSettings() |
453 |
452 |
454 self.virtualEnvironmentRemoved.emit() |
453 self.virtualEnvironmentRemoved.emit() |
455 if self.__virtualenvManagerDialog: |
454 self.virtualEnvironmentsListChanged.emit() |
456 self.__virtualenvManagerDialog.refresh() |
|
457 |
455 |
458 def getEnvironmentEntries(self): |
456 def getEnvironmentEntries(self): |
459 """ |
457 """ |
460 Public method to get a dictionary containing the defined virtual |
458 Public method to get a dictionary containing the defined virtual |
461 environment entries. |
459 environment entries. |
472 Public slot to show the virtual environment manager dialog. |
470 Public slot to show the virtual environment manager dialog. |
473 |
471 |
474 @param modal flag indicating that the dialog should be shown in |
472 @param modal flag indicating that the dialog should be shown in |
475 a blocking mode |
473 a blocking mode |
476 """ |
474 """ |
477 if self.__virtualenvManagerDialog is None: |
475 if modal: |
478 from .VirtualenvManagerDialog import VirtualenvManagerDialog |
476 from .VirtualenvManagerWidgets import VirtualenvManagerDialog |
479 self.__virtualenvManagerDialog = VirtualenvManagerDialog( |
477 virtualenvManagerDialog = VirtualenvManagerDialog( |
480 self, self.__ui) |
478 self, self.__ui) |
481 |
479 virtualenvManagerDialog.exec() |
482 if modal: |
480 self.virtualEnvironmentsListChanged.emit() |
483 self.__virtualenvManagerDialog.exec() |
481 else: |
484 else: |
482 self.__ui.activateVirtualenvManager() |
485 self.__virtualenvManagerDialog.show() |
|
486 |
|
487 def shutdown(self): |
|
488 """ |
|
489 Public method to shutdown the manager. |
|
490 """ |
|
491 if self.__virtualenvManagerDialog is not None: |
|
492 self.__virtualenvManagerDialog.close() |
|
493 self.__virtualenvManagerDialog = None |
|
494 |
483 |
495 def isUnique(self, venvName): |
484 def isUnique(self, venvName): |
496 """ |
485 """ |
497 Public method to check, if the give logical name is unique. |
486 Public method to check, if the give logical name is unique. |
498 |
487 |