Pip Interface: added some performance improvements. eric7

Thu, 24 Mar 2022 19:29:13 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 24 Mar 2022 19:29:13 +0100
branch
eric7
changeset 8999
723f61499a79
parent 8998
4644064d4454
child 9000
bc0b38405b6a

Pip Interface: added some performance improvements.

eric7/APIs/Python3/eric7.api file | annotate | diff | comparison | revisions
eric7/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
eric7/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
eric7/Documentation/Source/eric7.PipInterface.PipPackagesWidget.html file | annotate | diff | comparison | revisions
eric7/PipInterface/PipPackagesWidget.py file | annotate | diff | comparison | revisions
--- a/eric7/APIs/Python3/eric7.api	Thu Mar 24 19:27:29 2022 +0100
+++ b/eric7/APIs/Python3/eric7.api	Thu Mar 24 19:29:13 2022 +0100
@@ -3124,7 +3124,7 @@
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_dependenciesList_itemActivated?4(item, column)
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_dependenciesList_itemPressed?4(item, column)
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_dependenciesList_itemSelectionChanged?4()
-eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_environmentsComboBox_currentIndexChanged?4(index)
+eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_environmentsComboBox_currentTextChanged?4(name)
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_installButton_clicked?4()
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_installUserSiteButton_clicked?4()
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_installedFilesCheckBox_clicked?4(checked)
Binary file eric7/Documentation/Help/source.qch has changed
--- a/eric7/Documentation/Help/source.qhp	Thu Mar 24 19:27:29 2022 +0100
+++ b/eric7/Documentation/Help/source.qhp	Thu Mar 24 19:29:13 2022 +0100
@@ -11428,6 +11428,7 @@
       <keyword name="PipPackagesWidget.__pipConfigure" id="PipPackagesWidget.__pipConfigure" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__pipConfigure" />
       <keyword name="PipPackagesWidget.__populateEnvironments" id="PipPackagesWidget.__populateEnvironments" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__populateEnvironments" />
       <keyword name="PipPackagesWidget.__projectClosed" id="PipPackagesWidget.__projectClosed" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__projectClosed" />
+      <keyword name="PipPackagesWidget.__projectOpened" id="PipPackagesWidget.__projectOpened" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__projectOpened" />
       <keyword name="PipPackagesWidget.__purgeCache" id="PipPackagesWidget.__purgeCache" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__purgeCache" />
       <keyword name="PipPackagesWidget.__refreshDependencyTree" id="PipPackagesWidget.__refreshDependencyTree" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__refreshDependencyTree" />
       <keyword name="PipPackagesWidget.__refreshPackagesList" id="PipPackagesWidget.__refreshPackagesList" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__refreshPackagesList" />
@@ -11457,7 +11458,7 @@
       <keyword name="PipPackagesWidget.on_dependenciesList_itemActivated" id="PipPackagesWidget.on_dependenciesList_itemActivated" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_dependenciesList_itemActivated" />
       <keyword name="PipPackagesWidget.on_dependenciesList_itemPressed" id="PipPackagesWidget.on_dependenciesList_itemPressed" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_dependenciesList_itemPressed" />
       <keyword name="PipPackagesWidget.on_dependenciesList_itemSelectionChanged" id="PipPackagesWidget.on_dependenciesList_itemSelectionChanged" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_dependenciesList_itemSelectionChanged" />
-      <keyword name="PipPackagesWidget.on_environmentsComboBox_currentIndexChanged" id="PipPackagesWidget.on_environmentsComboBox_currentIndexChanged" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_environmentsComboBox_currentIndexChanged" />
+      <keyword name="PipPackagesWidget.on_environmentsComboBox_currentTextChanged" id="PipPackagesWidget.on_environmentsComboBox_currentTextChanged" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_environmentsComboBox_currentTextChanged" />
       <keyword name="PipPackagesWidget.on_installButton_clicked" id="PipPackagesWidget.on_installButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_installButton_clicked" />
       <keyword name="PipPackagesWidget.on_installUserSiteButton_clicked" id="PipPackagesWidget.on_installUserSiteButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_installUserSiteButton_clicked" />
       <keyword name="PipPackagesWidget.on_installedFilesCheckBox_clicked" id="PipPackagesWidget.on_installedFilesCheckBox_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_installedFilesCheckBox_clicked" />
--- a/eric7/Documentation/Source/eric7.PipInterface.PipPackagesWidget.html	Thu Mar 24 19:27:29 2022 +0100
+++ b/eric7/Documentation/Source/eric7.PipInterface.PipPackagesWidget.html	Thu Mar 24 19:29:13 2022 +0100
@@ -143,6 +143,10 @@
 <td>Private slot to handle the projectClosed signal.</td>
 </tr>
 <tr>
+<td><a href="#PipPackagesWidget.__projectOpened">__projectOpened</a></td>
+<td>Private slot to handle the projectOpened signal.</td>
+</tr>
+<tr>
 <td><a href="#PipPackagesWidget.__purgeCache">__purgeCache</a></td>
 <td>Private slot to empty the pip cache.</td>
 </tr>
@@ -259,7 +263,7 @@
 <td>Private slot reacting on a change of selected items of the dependency tree.</td>
 </tr>
 <tr>
-<td><a href="#PipPackagesWidget.on_environmentsComboBox_currentIndexChanged">on_environmentsComboBox_currentIndexChanged</a></td>
+<td><a href="#PipPackagesWidget.on_environmentsComboBox_currentTextChanged">on_environmentsComboBox_currentTextChanged</a></td>
 <td>Private slot handling the selection of a Python environment.</td>
 </tr>
 <tr>
@@ -608,6 +612,13 @@
 flag indicating the IDE shutdown
 </dd>
 </dl>
+<a NAME="PipPackagesWidget.__projectOpened" ID="PipPackagesWidget.__projectOpened"></a>
+<h4>PipPackagesWidget.__projectOpened</h4>
+<b>__projectOpened</b>(<i></i>)
+
+<p>
+        Private slot to handle the projectOpened signal.
+</p>
 <a NAME="PipPackagesWidget.__purgeCache" ID="PipPackagesWidget.__purgeCache"></a>
 <h4>PipPackagesWidget.__purgeCache</h4>
 <b>__purgeCache</b>(<i></i>)
@@ -956,18 +967,18 @@
         Private slot reacting on a change of selected items of the dependency
         tree.
 </p>
-<a NAME="PipPackagesWidget.on_environmentsComboBox_currentIndexChanged" ID="PipPackagesWidget.on_environmentsComboBox_currentIndexChanged"></a>
-<h4>PipPackagesWidget.on_environmentsComboBox_currentIndexChanged</h4>
-<b>on_environmentsComboBox_currentIndexChanged</b>(<i>index</i>)
+<a NAME="PipPackagesWidget.on_environmentsComboBox_currentTextChanged" ID="PipPackagesWidget.on_environmentsComboBox_currentTextChanged"></a>
+<h4>PipPackagesWidget.on_environmentsComboBox_currentTextChanged</h4>
+<b>on_environmentsComboBox_currentTextChanged</b>(<i>name</i>)
 
 <p>
         Private slot handling the selection of a Python environment.
 </p>
 <dl>
 
-<dt><i>index</i> (int)</dt>
+<dt><i>name</i> (str)</dt>
 <dd>
-index of the selected Python environment
+name of the selected Python environment
 </dd>
 </dl>
 <a NAME="PipPackagesWidget.on_installButton_clicked" ID="PipPackagesWidget.on_installButton_clicked"></a>
--- a/eric7/PipInterface/PipPackagesWidget.py	Thu Mar 24 19:27:29 2022 +0100
+++ b/eric7/PipInterface/PipPackagesWidget.py	Thu Mar 24 19:29:13 2022 +0100
@@ -248,10 +248,11 @@
             self.on_refreshButton_clicked)
         venvManager.virtualEnvironmentRemoved.connect(
             self.on_refreshButton_clicked)
+        self.__selectedEnvironment = None
         
         project = ericApp().getObject("Project")
         project.projectOpened.connect(
-            self.on_refreshButton_clicked)
+            self.__projectOpened)
         project.projectClosed.connect(
             self.__projectClosed)
         
@@ -272,6 +273,15 @@
         
         self.viewsStackWidget.setCurrentWidget(self.packagesPage)
     
+    @pyqtSlot()
+    def __projectOpened(self):
+        """
+        Private slot to handle the projectOpened signal.
+        """
+        projectVenv = self.__pip.getProjectEnvironmentString()
+        if projectVenv:
+            self.environmentsComboBox.insertItem(1, projectVenv)
+    
     @pyqtSlot(bool)
     def __projectClosed(self, shutdown):
         """
@@ -281,7 +291,8 @@
         @type bool
         """
         if not shutdown:
-            self.on_refreshButton_clicked()
+            # the project entry is always at index 1
+            self.environmentsComboBox.removeItem(1)
     
     def __populateEnvironments(self):
         """
@@ -465,18 +476,20 @@
         self.__updateSearchActionButtons()
         self.__updateSearchButton()
     
-    @pyqtSlot(int)
-    def on_environmentsComboBox_currentIndexChanged(self, index):
+    @pyqtSlot(str)
+    def on_environmentsComboBox_currentTextChanged(self, name):
         """
         Private slot handling the selection of a Python environment.
         
-        @param index index of the selected Python environment
-        @type int
+        @param name name of the selected Python environment
+        @type str
         """
-        if self.viewToggleButton.isChecked():
-            self.__refreshDependencyTree()
-        else:
-            self.__refreshPackagesList()
+        if name != self.__selectedEnvironment:
+            if self.viewToggleButton.isChecked():
+                self.__refreshDependencyTree()
+            else:
+                self.__refreshPackagesList()
+            self.__selectedEnvironment = name
     
     @pyqtSlot()
     def on_localCheckBox_clicked(self):

eric ide

mercurial