VirtualEnv/VirtualenvManagerDialog.py

changeset 6362
ec32d1d7f525
parent 6349
17b3c75913de
child 6363
30ba1d9bd841
equal deleted inserted replaced
6361:53f6bd7fb238 6362:ec32d1d7f525
20 """ 20 """
21 Class implementing a dialog to manage the list of defined virtual 21 Class implementing a dialog to manage the list of defined virtual
22 environments. 22 environments.
23 """ 23 """
24 PythonVariantRole = Qt.UserRole 24 PythonVariantRole = Qt.UserRole
25 IsGlobalRole = Qt.UserRole + 1
25 26
26 def __init__(self, manager, parent=None): 27 def __init__(self, manager, parent=None):
27 """ 28 """
28 Constructor 29 Constructor
29 30
49 selectedItemsCount = len(self.venvList.selectedItems()) 50 selectedItemsCount = len(self.venvList.selectedItems())
50 topLevelItemCount = self.venvList.topLevelItemCount() 51 topLevelItemCount = self.venvList.topLevelItemCount()
51 52
52 deletableSelectedItemCount = 0 53 deletableSelectedItemCount = 0
53 for itm in self.venvList.selectedItems(): 54 for itm in self.venvList.selectedItems():
54 if itm.text(0) != "<default>" and bool(itm.text(1)): 55 if itm.text(0) != "<default>" and \
56 bool(itm.text(1)) and \
57 not itm.data(0, VirtualenvManagerDialog.IsGlobalRole):
55 deletableSelectedItemCount += 1 58 deletableSelectedItemCount += 1
56 59
57 deletableItemCount = 0 60 deletableItemCount = 0
58 for index in range(topLevelItemCount): 61 for index in range(topLevelItemCount):
59 itm = self.venvList.topLevelItem(index) 62 itm = self.venvList.topLevelItem(index)
84 Private slot to add a new entry. 87 Private slot to add a new entry.
85 """ 88 """
86 from .VirtualenvAddEditDialog import VirtualenvAddEditDialog 89 from .VirtualenvAddEditDialog import VirtualenvAddEditDialog
87 dlg = VirtualenvAddEditDialog(self.__manager) 90 dlg = VirtualenvAddEditDialog(self.__manager)
88 if dlg.exec_() == QDialog.Accepted: 91 if dlg.exec_() == QDialog.Accepted:
89 venvName, venvDirectory, venvInterpreter, venvVariant = \ 92 venvName, venvDirectory, venvInterpreter, venvVariant, \
90 dlg.getData() 93 isGlobal = dlg.getData()
91 94
92 self.__manager.addVirtualEnv(venvName, venvDirectory, 95 self.__manager.addVirtualEnv(venvName, venvDirectory,
93 venvInterpreter, venvVariant) 96 venvInterpreter, venvVariant)
94 97
95 @pyqtSlot() 98 @pyqtSlot()
109 112
110 from .VirtualenvAddEditDialog import VirtualenvAddEditDialog 113 from .VirtualenvAddEditDialog import VirtualenvAddEditDialog
111 dlg = VirtualenvAddEditDialog( 114 dlg = VirtualenvAddEditDialog(
112 self.__manager, selectedItem.text(0), 115 self.__manager, selectedItem.text(0),
113 selectedItem.text(1), selectedItem.text(2), 116 selectedItem.text(1), selectedItem.text(2),
114 selectedItem.data(0, VirtualenvManagerDialog.PythonVariantRole) 117 selectedItem.data(0, VirtualenvManagerDialog.PythonVariantRole),
118 selectedItem.data(0, VirtualenvManagerDialog.IsGlobalRole)
115 ) 119 )
116 if dlg.exec_() == QDialog.Accepted: 120 if dlg.exec_() == QDialog.Accepted:
117 venvName, venvDirectory, venvInterpreter, venvVariant = \ 121 venvName, venvDirectory, venvInterpreter, venvVariant, \
118 dlg.getData() 122 isGlobal = dlg.getData()
119 if venvName != oldVenvName: 123 if venvName != oldVenvName:
120 self.__manager.renameVirtualEnv( 124 self.__manager.renameVirtualEnv(
121 oldVenvName, venvName, venvDirectory, venvInterpreter, 125 oldVenvName, venvName, venvDirectory, venvInterpreter,
122 venvVariant) 126 venvVariant, isGlobal)
123 else: 127 else:
124 self.__manager.setVirtualEnv( 128 self.__manager.setVirtualEnv(
125 venvName, venvDirectory, venvInterpreter, venvVariant) 129 venvName, venvDirectory, venvInterpreter, venvVariant,
130 isGlobal)
126 131
127 @pyqtSlot() 132 @pyqtSlot()
128 def on_removeButton_clicked(self): 133 def on_removeButton_clicked(self):
129 """ 134 """
130 Private slot to remove all selected entries from the list but keep 135 Private slot to remove all selected entries from the list but keep
216 environments[venvName]["path"], 221 environments[venvName]["path"],
217 environments[venvName]["interpreter"], 222 environments[venvName]["interpreter"],
218 ]) 223 ])
219 itm.setData(0, VirtualenvManagerDialog.PythonVariantRole, 224 itm.setData(0, VirtualenvManagerDialog.PythonVariantRole,
220 environments[venvName]["variant"]) 225 environments[venvName]["variant"])
226 itm.setData(0, VirtualenvManagerDialog.IsGlobalRole,
227 environments[venvName]["is_global"])
221 228
222 self.__resizeSections() 229 self.__resizeSections()
223 230
224 def __resizeSections(self): 231 def __resizeSections(self):
225 """ 232 """

eric ide

mercurial