VirtualEnv/VirtualenvManagerDialog.py

changeset 6362
ec32d1d7f525
parent 6349
17b3c75913de
child 6363
30ba1d9bd841
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()
     

eric ide

mercurial