VirtualEnv/VirtualenvManagerDialog.py

changeset 6716
1c9d3b369ea8
parent 6680
365c3d913345
--- a/VirtualEnv/VirtualenvManagerDialog.py	Sat Feb 09 14:40:32 2019 +0100
+++ b/VirtualEnv/VirtualenvManagerDialog.py	Sun Feb 10 12:13:10 2019 +0100
@@ -24,7 +24,8 @@
     PythonVariantRole = Qt.UserRole
     IsGlobalRole = Qt.UserRole + 1
     IsCondaRole = Qt.UserRole + 2
-    ExecPathRole = Qt.UserRole + 3
+    IsRemoteRole = Qt.UserRole + 3
+    ExecPathRole = Qt.UserRole + 4
     
     def __init__(self, manager, parent=None):
         """
@@ -56,29 +57,31 @@
         for itm in self.venvList.selectedItems():
             if itm.text(0) != "<default>" and \
                bool(itm.text(1)) and \
-               not itm.data(0, VirtualenvManagerDialog.IsGlobalRole):
+               not itm.data(0, VirtualenvManagerDialog.IsGlobalRole) and \
+               not itm.data(0, VirtualenvManagerDialog.IsRemoteRole):
                 deletableSelectedItemCount += 1
         
         deletableItemCount = 0
         for index in range(topLevelItemCount):
             itm = self.venvList.topLevelItem(index)
-            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.IsRemoteRole):
                 deletableItemCount += 1
         
-        canBeDeleted = (
+        canBeRemoved = (
             selectedItemsCount == 1 and
             self.venvList.selectedItems()[0].text(0) != "<default>"
         )
-        canAllBeDeleted = (
+        canAllBeRemoved = (
             topLevelItemCount == 1 and
             self.venvList.topLevelItem(0).text(0) != "<default>"
         )
         
         self.editButton.setEnabled(selectedItemsCount == 1)
         
-        self.removeButton.setEnabled(selectedItemsCount > 1 or canBeDeleted)
+        self.removeButton.setEnabled(selectedItemsCount > 1 or canBeRemoved)
         self.removeAllButton.setEnabled(
-            topLevelItemCount > 1 or canAllBeDeleted)
+            topLevelItemCount > 1 or canAllBeRemoved)
         
         self.deleteButton.setEnabled(deletableSelectedItemCount)
         self.deleteAllButton.setEnabled(deletableItemCount)
@@ -92,11 +95,11 @@
         dlg = VirtualenvAddEditDialog(self.__manager)
         if dlg.exec_() == QDialog.Accepted:
             (venvName, venvDirectory, venvInterpreter, venvVariant,
-             isGlobal, isConda, execPath) = dlg.getData()
+             isGlobal, isConda, isRemote, execPath) = dlg.getData()
             
-            self.__manager.addVirtualEnv(venvName, venvDirectory,
-                                         venvInterpreter, venvVariant,
-                                         isGlobal, isConda, execPath)
+            self.__manager.addVirtualEnv(
+                venvName, venvDirectory, venvInterpreter, venvVariant,
+                isGlobal, isConda, isRemote, execPath)
     
     @pyqtSlot()
     def on_newButton_clicked(self):
@@ -120,19 +123,20 @@
             selectedItem.data(0, VirtualenvManagerDialog.PythonVariantRole),
             selectedItem.data(0, VirtualenvManagerDialog.IsGlobalRole),
             selectedItem.data(0, VirtualenvManagerDialog.IsCondaRole),
+            selectedItem.data(0, VirtualenvManagerDialog.IsRemoteRole),
             selectedItem.data(0, VirtualenvManagerDialog.ExecPathRole),
         )
         if dlg.exec_() == QDialog.Accepted:
             (venvName, venvDirectory, venvInterpreter, venvVariant,
-             isGlobal, isConda, execPath) = dlg.getData()
+             isGlobal, isConda, isRemote, execPath) = dlg.getData()
             if venvName != oldVenvName:
                 self.__manager.renameVirtualEnv(
                     oldVenvName, venvName, venvDirectory, venvInterpreter,
-                    venvVariant, isGlobal, isConda, execPath)
+                    venvVariant, isGlobal, isConda, isRemote, execPath)
             else:
                 self.__manager.setVirtualEnv(
                     venvName, venvDirectory, venvInterpreter, venvVariant,
-                    isGlobal, isConda, execPath)
+                    isGlobal, isConda, isRemote, execPath)
     
     @pyqtSlot()
     def on_removeButton_clicked(self):
@@ -232,22 +236,33 @@
                         environments[venvName]["is_global"])
             itm.setData(0, VirtualenvManagerDialog.IsCondaRole,
                         environments[venvName]["is_conda"])
+            itm.setData(0, VirtualenvManagerDialog.IsRemoteRole,
+                        environments[venvName]["is_remote"])
             itm.setData(0, VirtualenvManagerDialog.ExecPathRole,
                         environments[venvName]["exec_path"])
             
-            # show global environments with bold font
-            if environments[venvName]["is_global"]:
+            # show remote environments with underlined font
+            if environments[venvName]["is_remote"]:
                 font = itm.font(0)
-                font.setBold(True)
+                font.setUnderline(True)
                 for column in range(itm.columnCount()):
                     itm.setFont(column, font)
-            
-            # show Anaconda environments with italic font
-            if environments[venvName]["is_conda"]:
-                font = itm.font(0)
-                font.setItalic(True)
-                for column in range(itm.columnCount()):
-                    itm.setFont(column, font)
+            else:
+                # local environments
+                
+                # show global environments with bold font
+                if environments[venvName]["is_global"]:
+                    font = itm.font(0)
+                    font.setBold(True)
+                    for column in range(itm.columnCount()):
+                        itm.setFont(column, font)
+                
+                # show Anaconda environments with italic font
+                if environments[venvName]["is_conda"]:
+                    font = itm.font(0)
+                    font.setItalic(True)
+                    for column in range(itm.columnCount()):
+                        itm.setFont(column, font)
         
         self.__resizeSections()
     

eric ide

mercurial