diff -r 53f6bd7fb238 -r ec32d1d7f525 VirtualEnv/VirtualenvManagerDialog.py --- a/VirtualEnv/VirtualenvManagerDialog.py Fri Jun 22 18:18:23 2018 +0200 +++ b/VirtualEnv/VirtualenvManagerDialog.py Sat Jun 23 15:14:48 2018 +0200 @@ -22,6 +22,7 @@ environments. """ PythonVariantRole = Qt.UserRole + IsGlobalRole = Qt.UserRole + 1 def __init__(self, manager, parent=None): """ @@ -51,7 +52,9 @@ deletableSelectedItemCount = 0 for itm in self.venvList.selectedItems(): - if itm.text(0) != "<default>" and bool(itm.text(1)): + if itm.text(0) != "<default>" and \ + bool(itm.text(1)) and \ + not itm.data(0, VirtualenvManagerDialog.IsGlobalRole): deletableSelectedItemCount += 1 deletableItemCount = 0 @@ -86,8 +89,8 @@ from .VirtualenvAddEditDialog import VirtualenvAddEditDialog dlg = VirtualenvAddEditDialog(self.__manager) if dlg.exec_() == QDialog.Accepted: - venvName, venvDirectory, venvInterpreter, venvVariant = \ - dlg.getData() + venvName, venvDirectory, venvInterpreter, venvVariant, \ + isGlobal = dlg.getData() self.__manager.addVirtualEnv(venvName, venvDirectory, venvInterpreter, venvVariant) @@ -111,18 +114,20 @@ dlg = VirtualenvAddEditDialog( self.__manager, selectedItem.text(0), selectedItem.text(1), selectedItem.text(2), - selectedItem.data(0, VirtualenvManagerDialog.PythonVariantRole) + selectedItem.data(0, VirtualenvManagerDialog.PythonVariantRole), + selectedItem.data(0, VirtualenvManagerDialog.IsGlobalRole) ) if dlg.exec_() == QDialog.Accepted: - venvName, venvDirectory, venvInterpreter, venvVariant = \ - dlg.getData() + venvName, venvDirectory, venvInterpreter, venvVariant, \ + isGlobal = dlg.getData() if venvName != oldVenvName: self.__manager.renameVirtualEnv( oldVenvName, venvName, venvDirectory, venvInterpreter, - venvVariant) + venvVariant, isGlobal) else: self.__manager.setVirtualEnv( - venvName, venvDirectory, venvInterpreter, venvVariant) + venvName, venvDirectory, venvInterpreter, venvVariant, + isGlobal) @pyqtSlot() def on_removeButton_clicked(self): @@ -218,6 +223,8 @@ ]) itm.setData(0, VirtualenvManagerDialog.PythonVariantRole, environments[venvName]["variant"]) + itm.setData(0, VirtualenvManagerDialog.IsGlobalRole, + environments[venvName]["is_global"]) self.__resizeSections()