Wed, 23 Mar 2022 20:21:42 +0100
pip Interface
- added a widget to show a package dependency tree
diff -r 62bd225b489f -r d8946c2a22b5 docs/changelog --- a/docs/changelog Tue Mar 22 19:31:29 2022 +0100 +++ b/docs/changelog Wed Mar 23 20:21:42 2022 +0100 @@ -7,6 +7,7 @@ -- added capability to upgrade eric from within eric - pip Interface -- added a vulnerability check for installed packages based on "Safety DB" + -- added a widget to show a package dependency tree - Third Party packages -- upgraded coverage to 6.3.2 -- upgraded mccabe to version 0.7.0
diff -r 62bd225b489f -r d8946c2a22b5 eric7/APIs/Python3/eric7.api --- a/eric7/APIs/Python3/eric7.api Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/APIs/Python3/eric7.api Wed Mar 23 20:21:42 2022 +0100 @@ -3048,6 +3048,7 @@ eric7.PipInterface.Pip.Pip.cachePurge?4(venvName) eric7.PipInterface.Pip.Pip.cacheRemove?4(venvName) eric7.PipInterface.Pip.Pip.checkPackageOutdated?4(packageStart, envName) +eric7.PipInterface.Pip.Pip.getDependecyTree?4(envName, localPackages=True, usersite=False, reverse=False) eric7.PipInterface.Pip.Pip.getFrozenPackages?4(envName, localPackages=True, usersite=False, requirement=None) eric7.PipInterface.Pip.Pip.getIndexUrl?4() eric7.PipInterface.Pip.Pip.getIndexUrlPypi?4() @@ -3104,6 +3105,9 @@ eric7.PipInterface.PipPackagesInputDialog.PipPackagesInputDialog.on_packagesEdit_textChanged?4(txt) eric7.PipInterface.PipPackagesInputDialog.PipPackagesInputDialog?1(pip, title, install=True, parent=None) eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.AvailableVersionColumn?7 +eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.DepInstalledVersionColumn?7 +eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.DepPackageColumn?7 +eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.DepRequiredVersionColumn?7 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.InstalledVersionColumn?7 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.PackageColumn?7 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.SearchVersionRole?7 @@ -3117,29 +3121,38 @@ eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.executeUninstallPackages?4(packages) eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.executeUpgradePackages?4(packages) eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.getPip?4() +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_installButton_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_installUserSiteButton_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_installedFilesCheckBox_clicked?4(checked) eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_localCheckBox_clicked?4() +eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_localDepCheckBox_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_notRequiredCheckBox_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_packagesList_itemActivated?4(item, column) eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_packagesList_itemPressed?4(item, column) eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_packagesList_itemSelectionChanged?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_refreshButton_clicked?4() +eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_refreshDependenciesButton_clicked?4() +eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_requiresButton_toggled?4(checked) eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchButton_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchEditName_returnPressed?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchEditName_textChanged?4(txt) eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchResultList_itemActivated?4(item, column) eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchResultList_itemSelectionChanged?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchToggleButton_toggled?4(checked) +eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_showDepPackageDetailsButton_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_showDetailsButton_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_showPackageDetailsButton_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_uninstallButton_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_upgradeAllButton_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_upgradeButton_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_userCheckBox_clicked?4() +eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_userDepCheckBox_clicked?4() eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_verboseCheckBox_clicked?4(checked) +eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_viewToggleButton_toggled?4(checked) eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_vulnerabilityCheckBox_clicked?4(checked) eric7.PipInterface.PipPackagesWidget.PipPackagesWidget?1(pip, parent=None) eric7.PipInterface.PipPackagesWidget.PypiSearchResultsParser.ClassPrefix?7
diff -r 62bd225b489f -r d8946c2a22b5 eric7/Documentation/Help/source.qch Binary file eric7/Documentation/Help/source.qch has changed
diff -r 62bd225b489f -r d8946c2a22b5 eric7/Documentation/Help/source.qhp --- a/eric7/Documentation/Help/source.qhp Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/Documentation/Help/source.qhp Wed Mar 23 20:21:42 2022 +0100 @@ -11327,6 +11327,7 @@ <keyword name="Pip.cachePurge" id="Pip.cachePurge" ref="eric7.PipInterface.Pip.html#Pip.cachePurge" /> <keyword name="Pip.cacheRemove" id="Pip.cacheRemove" ref="eric7.PipInterface.Pip.html#Pip.cacheRemove" /> <keyword name="Pip.checkPackageOutdated" id="Pip.checkPackageOutdated" ref="eric7.PipInterface.Pip.html#Pip.checkPackageOutdated" /> + <keyword name="Pip.getDependecyTree" id="Pip.getDependecyTree" ref="eric7.PipInterface.Pip.html#Pip.getDependecyTree" /> <keyword name="Pip.getFrozenPackages" id="Pip.getFrozenPackages" ref="eric7.PipInterface.Pip.html#Pip.getFrozenPackages" /> <keyword name="Pip.getIndexUrl" id="Pip.getIndexUrl" ref="eric7.PipInterface.Pip.html#Pip.getIndexUrl" /> <keyword name="Pip.getIndexUrlPypi" id="Pip.getIndexUrlPypi" ref="eric7.PipInterface.Pip.html#Pip.getIndexUrlPypi" /> @@ -11408,6 +11409,7 @@ <keyword name="PipPackagesWidget (Constructor)" id="PipPackagesWidget (Constructor)" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__init__" /> <keyword name="PipPackagesWidget (Module)" id="PipPackagesWidget (Module)" ref="eric7.PipInterface.PipPackagesWidget.html" /> <keyword name="PipPackagesWidget.__aboutToShowPipMenu" id="PipPackagesWidget.__aboutToShowPipMenu" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__aboutToShowPipMenu" /> + <keyword name="PipPackagesWidget.__addDependency" id="PipPackagesWidget.__addDependency" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__addDependency" /> <keyword name="PipPackagesWidget.__allUpdateableItems" id="PipPackagesWidget.__allUpdateableItems" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__allUpdateableItems" /> <keyword name="PipPackagesWidget.__availablePipVersion" id="PipPackagesWidget.__availablePipVersion" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__availablePipVersion" /> <keyword name="PipPackagesWidget.__clearVulnerabilityInfo" id="PipPackagesWidget.__clearVulnerabilityInfo" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__clearVulnerabilityInfo" /> @@ -11427,6 +11429,7 @@ <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.__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" /> <keyword name="PipPackagesWidget.__reinstallPackages" id="PipPackagesWidget.__reinstallPackages" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__reinstallPackages" /> <keyword name="PipPackagesWidget.__removeCachedFiles" id="PipPackagesWidget.__removeCachedFiles" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__removeCachedFiles" /> @@ -11442,6 +11445,7 @@ <keyword name="PipPackagesWidget.__showVulnerabilityInformation" id="PipPackagesWidget.__showVulnerabilityInformation" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__showVulnerabilityInformation" /> <keyword name="PipPackagesWidget.__uninstallRequirements" id="PipPackagesWidget.__uninstallRequirements" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__uninstallRequirements" /> <keyword name="PipPackagesWidget.__updateActionButtons" id="PipPackagesWidget.__updateActionButtons" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__updateActionButtons" /> + <keyword name="PipPackagesWidget.__updateDepActionButtons" id="PipPackagesWidget.__updateDepActionButtons" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__updateDepActionButtons" /> <keyword name="PipPackagesWidget.__updateSearchActionButtons" id="PipPackagesWidget.__updateSearchActionButtons" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__updateSearchActionButtons" /> <keyword name="PipPackagesWidget.__updateSearchButton" id="PipPackagesWidget.__updateSearchButton" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__updateSearchButton" /> <keyword name="PipPackagesWidget.__updateVulnerabilityData" id="PipPackagesWidget.__updateVulnerabilityData" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__updateVulnerabilityData" /> @@ -11450,29 +11454,38 @@ <keyword name="PipPackagesWidget.executeUninstallPackages" id="PipPackagesWidget.executeUninstallPackages" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.executeUninstallPackages" /> <keyword name="PipPackagesWidget.executeUpgradePackages" id="PipPackagesWidget.executeUpgradePackages" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.executeUpgradePackages" /> <keyword name="PipPackagesWidget.getPip" id="PipPackagesWidget.getPip" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.getPip" /> + <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_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" /> <keyword name="PipPackagesWidget.on_localCheckBox_clicked" id="PipPackagesWidget.on_localCheckBox_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_localCheckBox_clicked" /> + <keyword name="PipPackagesWidget.on_localDepCheckBox_clicked" id="PipPackagesWidget.on_localDepCheckBox_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_localDepCheckBox_clicked" /> <keyword name="PipPackagesWidget.on_notRequiredCheckBox_clicked" id="PipPackagesWidget.on_notRequiredCheckBox_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_notRequiredCheckBox_clicked" /> <keyword name="PipPackagesWidget.on_packagesList_itemActivated" id="PipPackagesWidget.on_packagesList_itemActivated" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_packagesList_itemActivated" /> <keyword name="PipPackagesWidget.on_packagesList_itemPressed" id="PipPackagesWidget.on_packagesList_itemPressed" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_packagesList_itemPressed" /> <keyword name="PipPackagesWidget.on_packagesList_itemSelectionChanged" id="PipPackagesWidget.on_packagesList_itemSelectionChanged" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_packagesList_itemSelectionChanged" /> <keyword name="PipPackagesWidget.on_refreshButton_clicked" id="PipPackagesWidget.on_refreshButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_refreshButton_clicked" /> + <keyword name="PipPackagesWidget.on_refreshDependenciesButton_clicked" id="PipPackagesWidget.on_refreshDependenciesButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_refreshDependenciesButton_clicked" /> + <keyword name="PipPackagesWidget.on_requiresButton_toggled" id="PipPackagesWidget.on_requiresButton_toggled" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_requiresButton_toggled" /> <keyword name="PipPackagesWidget.on_searchButton_clicked" id="PipPackagesWidget.on_searchButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchButton_clicked" /> <keyword name="PipPackagesWidget.on_searchEditName_returnPressed" id="PipPackagesWidget.on_searchEditName_returnPressed" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchEditName_returnPressed" /> <keyword name="PipPackagesWidget.on_searchEditName_textChanged" id="PipPackagesWidget.on_searchEditName_textChanged" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchEditName_textChanged" /> <keyword name="PipPackagesWidget.on_searchResultList_itemActivated" id="PipPackagesWidget.on_searchResultList_itemActivated" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchResultList_itemActivated" /> <keyword name="PipPackagesWidget.on_searchResultList_itemSelectionChanged" id="PipPackagesWidget.on_searchResultList_itemSelectionChanged" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchResultList_itemSelectionChanged" /> <keyword name="PipPackagesWidget.on_searchToggleButton_toggled" id="PipPackagesWidget.on_searchToggleButton_toggled" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchToggleButton_toggled" /> + <keyword name="PipPackagesWidget.on_showDepPackageDetailsButton_clicked" id="PipPackagesWidget.on_showDepPackageDetailsButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_showDepPackageDetailsButton_clicked" /> <keyword name="PipPackagesWidget.on_showDetailsButton_clicked" id="PipPackagesWidget.on_showDetailsButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_showDetailsButton_clicked" /> <keyword name="PipPackagesWidget.on_showPackageDetailsButton_clicked" id="PipPackagesWidget.on_showPackageDetailsButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_showPackageDetailsButton_clicked" /> <keyword name="PipPackagesWidget.on_uninstallButton_clicked" id="PipPackagesWidget.on_uninstallButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_uninstallButton_clicked" /> <keyword name="PipPackagesWidget.on_upgradeAllButton_clicked" id="PipPackagesWidget.on_upgradeAllButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_upgradeAllButton_clicked" /> <keyword name="PipPackagesWidget.on_upgradeButton_clicked" id="PipPackagesWidget.on_upgradeButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_upgradeButton_clicked" /> <keyword name="PipPackagesWidget.on_userCheckBox_clicked" id="PipPackagesWidget.on_userCheckBox_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_userCheckBox_clicked" /> + <keyword name="PipPackagesWidget.on_userDepCheckBox_clicked" id="PipPackagesWidget.on_userDepCheckBox_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_userDepCheckBox_clicked" /> <keyword name="PipPackagesWidget.on_verboseCheckBox_clicked" id="PipPackagesWidget.on_verboseCheckBox_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_verboseCheckBox_clicked" /> + <keyword name="PipPackagesWidget.on_viewToggleButton_toggled" id="PipPackagesWidget.on_viewToggleButton_toggled" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_viewToggleButton_toggled" /> <keyword name="PipPackagesWidget.on_vulnerabilityCheckBox_clicked" id="PipPackagesWidget.on_vulnerabilityCheckBox_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_vulnerabilityCheckBox_clicked" /> <keyword name="PipPage" id="PipPage" ref="eric7.Preferences.ConfigurationPages.PipPage.html#PipPage" /> <keyword name="PipPage (Constructor)" id="PipPage (Constructor)" ref="eric7.Preferences.ConfigurationPages.PipPage.html#PipPage.__init__" />
diff -r 62bd225b489f -r d8946c2a22b5 eric7/Documentation/Source/eric7.PipInterface.Pip.html --- a/eric7/Documentation/Source/eric7.PipInterface.Pip.html Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/Documentation/Source/eric7.PipInterface.Pip.html Wed Mar 23 20:21:42 2022 +0100 @@ -83,6 +83,10 @@ <td>Public method to check, if a group of packages is outdated.</td> </tr> <tr> +<td><a href="#Pip.getDependecyTree">getDependecyTree</a></td> +<td>Public method to get the dependency tree of installed packages.</td> +</tr> +<tr> <td><a href="#Pip.getFrozenPackages">getFrozenPackages</a></td> <td>Public method to get the list of package specifiers to freeze them.</td> </tr> @@ -327,6 +331,48 @@ tuple of (bool, (str, str, str)) </dd> </dl> +<a NAME="Pip.getDependecyTree" ID="Pip.getDependecyTree"></a> +<h4>Pip.getDependecyTree</h4> +<b>getDependecyTree</b>(<i>envName, localPackages=True, usersite=False, reverse=False</i>) + +<p> + Public method to get the dependency tree of installed packages. +</p> +<dl> + +<dt><i>envName</i> (str)</dt> +<dd> +name of the environment to get the packages for +</dd> +<dt><i>localPackages</i> (bool)</dt> +<dd> +flag indicating to get the tree for local + packages only +</dd> +<dt><i>usersite</i> (bool)</dt> +<dd> +flag indicating to get the tree for packages + installed in user-site directory only +</dd> +<dt><i>reverse</i> (bool)</dt> +<dd> +flag indicating to get the dependency tree in + reverse order (i.e. list packages needed by other) +</dd> +</dl> +<dl> +<dt>Return:</dt> +<dd> +list of nested dictionaries resembling the requested + dependency tree +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +list of dict +</dd> +</dl> <a NAME="Pip.getFrozenPackages" ID="Pip.getFrozenPackages"></a> <h4>Pip.getFrozenPackages</h4> <b>getFrozenPackages</b>(<i>envName, localPackages=True, usersite=False, requirement=None</i>)
diff -r 62bd225b489f -r d8946c2a22b5 eric7/Documentation/Source/eric7.PipInterface.PipPackagesWidget.html --- a/eric7/Documentation/Source/eric7.PipInterface.PipPackagesWidget.html Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/Documentation/Source/eric7.PipInterface.PipPackagesWidget.html Wed Mar 23 20:21:42 2022 +0100 @@ -47,7 +47,7 @@ <h3>Class Attributes</h3> <table> -<tr><td>AvailableVersionColumn</td></tr><tr><td>InstalledVersionColumn</td></tr><tr><td>PackageColumn</td></tr><tr><td>SearchVersionRole</td></tr><tr><td>ShowProcessClassifiersMode</td></tr><tr><td>ShowProcessEntryPointsMode</td></tr><tr><td>ShowProcessFilesListMode</td></tr><tr><td>ShowProcessGeneralMode</td></tr><tr><td>VulnerabilityColumn</td></tr><tr><td>VulnerabilityRole</td></tr> +<tr><td>AvailableVersionColumn</td></tr><tr><td>DepInstalledVersionColumn</td></tr><tr><td>DepPackageColumn</td></tr><tr><td>DepRequiredVersionColumn</td></tr><tr><td>InstalledVersionColumn</td></tr><tr><td>PackageColumn</td></tr><tr><td>SearchVersionRole</td></tr><tr><td>ShowProcessClassifiersMode</td></tr><tr><td>ShowProcessEntryPointsMode</td></tr><tr><td>ShowProcessFilesListMode</td></tr><tr><td>ShowProcessGeneralMode</td></tr><tr><td>VulnerabilityColumn</td></tr><tr><td>VulnerabilityRole</td></tr> </table> <h3>Class Methods</h3> @@ -67,6 +67,10 @@ <td>Private slot to set the action enabled status.</td> </tr> <tr> +<td><a href="#PipPackagesWidget.__addDependency">__addDependency</a></td> +<td>Private method to add a dependency branch to a given parent.</td> +</tr> +<tr> <td><a href="#PipPackagesWidget.__allUpdateableItems">__allUpdateableItems</a></td> <td>Private method to get a list of all items that can be updated.</td> </tr> @@ -143,8 +147,12 @@ <td>Private slot to empty the pip cache.</td> </tr> <tr> +<td><a href="#PipPackagesWidget.__refreshDependencyTree">__refreshDependencyTree</a></td> +<td>Private method to refresh the dependency tree.</td> +</tr> +<tr> <td><a href="#PipPackagesWidget.__refreshPackagesList">__refreshPackagesList</a></td> -<td>Private method to referesh the packages list.</td> +<td>Private method to refresh the packages list.</td> </tr> <tr> <td><a href="#PipPackagesWidget.__reinstallPackages">__reinstallPackages</a></td> @@ -203,6 +211,10 @@ <td>Private method to set the state of the action buttons.</td> </tr> <tr> +<td><a href="#PipPackagesWidget.__updateDepActionButtons">__updateDepActionButtons</a></td> +<td>Private method to set the state of the dependency page action buttons.</td> +</tr> +<tr> <td><a href="#PipPackagesWidget.__updateSearchActionButtons">__updateSearchActionButtons</a></td> <td>Private method to update the action button states of the search widget.</td> </tr> @@ -235,6 +247,18 @@ <td>Public method to get a reference to the pip interface object.</td> </tr> <tr> +<td><a href="#PipPackagesWidget.on_dependenciesList_itemActivated">on_dependenciesList_itemActivated</a></td> +<td>Private slot reacting on a package item of the dependency tree being activated.</td> +</tr> +<tr> +<td><a href="#PipPackagesWidget.on_dependenciesList_itemPressed">on_dependenciesList_itemPressed</a></td> +<td>Private slot reacting on a package item of the dependency tree being pressed.</td> +</tr> +<tr> +<td><a href="#PipPackagesWidget.on_dependenciesList_itemSelectionChanged">on_dependenciesList_itemSelectionChanged</a></td> +<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>Private slot handling the selection of a Python environment.</td> </tr> @@ -255,6 +279,10 @@ <td>Private slot handling the switching of the local mode.</td> </tr> <tr> +<td><a href="#PipPackagesWidget.on_localDepCheckBox_clicked">on_localDepCheckBox_clicked</a></td> +<td>Private slot handling the switching of the local mode.</td> +</tr> +<tr> <td><a href="#PipPackagesWidget.on_notRequiredCheckBox_clicked">on_notRequiredCheckBox_clicked</a></td> <td>Private slot handling the switching of the 'not required' mode.</td> </tr> @@ -275,6 +303,14 @@ <td>Private slot to refresh the display.</td> </tr> <tr> +<td><a href="#PipPackagesWidget.on_refreshDependenciesButton_clicked">on_refreshDependenciesButton_clicked</a></td> +<td>Private slot to refresh the dependency tree.</td> +</tr> +<tr> +<td><a href="#PipPackagesWidget.on_requiresButton_toggled">on_requiresButton_toggled</a></td> +<td>Private slot handling the selection of the view type.</td> +</tr> +<tr> <td><a href="#PipPackagesWidget.on_searchButton_clicked">on_searchButton_clicked</a></td> <td>Private slot handling a press of the search button.</td> </tr> @@ -299,6 +335,10 @@ <td>Private slot to togle the search widget.</td> </tr> <tr> +<td><a href="#PipPackagesWidget.on_showDepPackageDetailsButton_clicked">on_showDepPackageDetailsButton_clicked</a></td> +<td>Private slot to show information for the selected package of the dependency tree.</td> +</tr> +<tr> <td><a href="#PipPackagesWidget.on_showDetailsButton_clicked">on_showDetailsButton_clicked</a></td> <td>Private slot to handle pressing the Show Details button.</td> </tr> @@ -323,10 +363,18 @@ <td>Private slot handling the switching of the 'user-site' mode.</td> </tr> <tr> +<td><a href="#PipPackagesWidget.on_userDepCheckBox_clicked">on_userDepCheckBox_clicked</a></td> +<td>Private slot handling the switching of the 'user-site' mode.</td> +</tr> +<tr> <td><a href="#PipPackagesWidget.on_verboseCheckBox_clicked">on_verboseCheckBox_clicked</a></td> <td>Private slot to handle a change of the verbose package information checkbox.</td> </tr> <tr> +<td><a href="#PipPackagesWidget.on_viewToggleButton_toggled">on_viewToggleButton_toggled</a></td> +<td>Private slot handling the view selection.</td> +</tr> +<tr> <td><a href="#PipPackagesWidget.on_vulnerabilityCheckBox_clicked">on_vulnerabilityCheckBox_clicked</a></td> <td>Private slot handling a change of the automatic vulnerability checks.</td> </tr> @@ -362,6 +410,24 @@ <p> Private slot to set the action enabled status. </p> +<a NAME="PipPackagesWidget.__addDependency" ID="PipPackagesWidget.__addDependency"></a> +<h4>PipPackagesWidget.__addDependency</h4> +<b>__addDependency</b>(<i>dependency, parent</i>) + +<p> + Private method to add a dependency branch to a given parent. +</p> +<dl> + +<dt><i>dependency</i> (dict)</dt> +<dd> +dependency to be added +</dd> +<dt><i>parent</i> (QTreeWidget or QTreeWidgetItem)</dt> +<dd> +reference to the parent item +</dd> +</dl> <a NAME="PipPackagesWidget.__allUpdateableItems" ID="PipPackagesWidget.__allUpdateableItems"></a> <h4>PipPackagesWidget.__allUpdateableItems</h4> <b>__allUpdateableItems</b>(<i></i>) @@ -549,12 +615,19 @@ <p> Private slot to empty the pip cache. </p> +<a NAME="PipPackagesWidget.__refreshDependencyTree" ID="PipPackagesWidget.__refreshDependencyTree"></a> +<h4>PipPackagesWidget.__refreshDependencyTree</h4> +<b>__refreshDependencyTree</b>(<i></i>) + +<p> + Private method to refresh the dependency tree. +</p> <a NAME="PipPackagesWidget.__refreshPackagesList" ID="PipPackagesWidget.__refreshPackagesList"></a> <h4>PipPackagesWidget.__refreshPackagesList</h4> <b>__refreshPackagesList</b>(<i></i>) <p> - Private method to referesh the packages list. + Private method to refresh the packages list. </p> <a NAME="PipPackagesWidget.__reinstallPackages" ID="PipPackagesWidget.__reinstallPackages"></a> <h4>PipPackagesWidget.__reinstallPackages</h4> @@ -662,7 +735,7 @@ </dl> <a NAME="PipPackagesWidget.__showPackageInformation" ID="PipPackagesWidget.__showPackageInformation"></a> <h4>PipPackagesWidget.__showPackageInformation</h4> -<b>__showPackageInformation</b>(<i>packageName</i>) +<b>__showPackageInformation</b>(<i>packageName, infoWidget</i>) <p> Private method to show information for a package. @@ -673,6 +746,10 @@ <dd> name of the package </dd> +<dt><i>infoWidget</i> (QTreeWidget)</dt> +<dd> +reference to the widget to contain the information +</dd> </dl> <a NAME="PipPackagesWidget.__showSearchedDetails" ID="PipPackagesWidget.__showSearchedDetails"></a> <h4>PipPackagesWidget.__showSearchedDetails</h4> @@ -724,6 +801,13 @@ <p> Private method to set the state of the action buttons. </p> +<a NAME="PipPackagesWidget.__updateDepActionButtons" ID="PipPackagesWidget.__updateDepActionButtons"></a> +<h4>PipPackagesWidget.__updateDepActionButtons</h4> +<b>__updateDepActionButtons</b>(<i></i>) + +<p> + Private method to set the state of the dependency page action buttons. +</p> <a NAME="PipPackagesWidget.__updateSearchActionButtons" ID="PipPackagesWidget.__updateSearchActionButtons"></a> <h4>PipPackagesWidget.__updateSearchActionButtons</h4> <b>__updateSearchActionButtons</b>(<i></i>) @@ -826,6 +910,52 @@ Pip </dd> </dl> +<a NAME="PipPackagesWidget.on_dependenciesList_itemActivated" ID="PipPackagesWidget.on_dependenciesList_itemActivated"></a> +<h4>PipPackagesWidget.on_dependenciesList_itemActivated</h4> +<b>on_dependenciesList_itemActivated</b>(<i>item, column</i>) + +<p> + Private slot reacting on a package item of the dependency tree being + activated. +</p> +<dl> + +<dt><i>item</i> (QTreeWidgetItem)</dt> +<dd> +reference to the activated item +</dd> +<dt><i>column</i> (int)</dt> +<dd> +activated column +</dd> +</dl> +<a NAME="PipPackagesWidget.on_dependenciesList_itemPressed" ID="PipPackagesWidget.on_dependenciesList_itemPressed"></a> +<h4>PipPackagesWidget.on_dependenciesList_itemPressed</h4> +<b>on_dependenciesList_itemPressed</b>(<i>item, column</i>) + +<p> + Private slot reacting on a package item of the dependency tree being + pressed. +</p> +<dl> + +<dt><i>item</i> (QTreeWidgetItem)</dt> +<dd> +reference to the pressed item +</dd> +<dt><i>column</i> (int)</dt> +<dd> +pressed column +</dd> +</dl> +<a NAME="PipPackagesWidget.on_dependenciesList_itemSelectionChanged" ID="PipPackagesWidget.on_dependenciesList_itemSelectionChanged"></a> +<h4>PipPackagesWidget.on_dependenciesList_itemSelectionChanged</h4> +<b>on_dependenciesList_itemSelectionChanged</b>(<i></i>) + +<p> + 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>) @@ -876,6 +1006,13 @@ <p> Private slot handling the switching of the local mode. </p> +<a NAME="PipPackagesWidget.on_localDepCheckBox_clicked" ID="PipPackagesWidget.on_localDepCheckBox_clicked"></a> +<h4>PipPackagesWidget.on_localDepCheckBox_clicked</h4> +<b>on_localDepCheckBox_clicked</b>(<i></i>) + +<p> + Private slot handling the switching of the local mode. +</p> <a NAME="PipPackagesWidget.on_notRequiredCheckBox_clicked" ID="PipPackagesWidget.on_notRequiredCheckBox_clicked"></a> <h4>PipPackagesWidget.on_notRequiredCheckBox_clicked</h4> <b>on_notRequiredCheckBox_clicked</b>(<i></i>) @@ -933,6 +1070,27 @@ <p> Private slot to refresh the display. </p> +<a NAME="PipPackagesWidget.on_refreshDependenciesButton_clicked" ID="PipPackagesWidget.on_refreshDependenciesButton_clicked"></a> +<h4>PipPackagesWidget.on_refreshDependenciesButton_clicked</h4> +<b>on_refreshDependenciesButton_clicked</b>(<i></i>) + +<p> + Private slot to refresh the dependency tree. +</p> +<a NAME="PipPackagesWidget.on_requiresButton_toggled" ID="PipPackagesWidget.on_requiresButton_toggled"></a> +<h4>PipPackagesWidget.on_requiresButton_toggled</h4> +<b>on_requiresButton_toggled</b>(<i>checked</i>) + +<p> + Private slot handling the selection of the view type. +</p> +<dl> + +<dt><i>checked</i> (bool)</dt> +<dd> +state of the radio button (unused) +</dd> +</dl> <a NAME="PipPackagesWidget.on_searchButton_clicked" ID="PipPackagesWidget.on_searchButton_clicked"></a> <h4>PipPackagesWidget.on_searchButton_clicked</h4> <b>on_searchButton_clicked</b>(<i></i>) @@ -1000,6 +1158,14 @@ state of the search widget button </dd> </dl> +<a NAME="PipPackagesWidget.on_showDepPackageDetailsButton_clicked" ID="PipPackagesWidget.on_showDepPackageDetailsButton_clicked"></a> +<h4>PipPackagesWidget.on_showDepPackageDetailsButton_clicked</h4> +<b>on_showDepPackageDetailsButton_clicked</b>(<i></i>) + +<p> + Private slot to show information for the selected package of the + dependency tree. +</p> <a NAME="PipPackagesWidget.on_showDetailsButton_clicked" ID="PipPackagesWidget.on_showDetailsButton_clicked"></a> <h4>PipPackagesWidget.on_showDetailsButton_clicked</h4> <b>on_showDetailsButton_clicked</b>(<i></i>) @@ -1042,6 +1208,13 @@ <p> Private slot handling the switching of the 'user-site' mode. </p> +<a NAME="PipPackagesWidget.on_userDepCheckBox_clicked" ID="PipPackagesWidget.on_userDepCheckBox_clicked"></a> +<h4>PipPackagesWidget.on_userDepCheckBox_clicked</h4> +<b>on_userDepCheckBox_clicked</b>(<i></i>) + +<p> + Private slot handling the switching of the 'user-site' mode. +</p> <a NAME="PipPackagesWidget.on_verboseCheckBox_clicked" ID="PipPackagesWidget.on_verboseCheckBox_clicked"></a> <h4>PipPackagesWidget.on_verboseCheckBox_clicked</h4> <b>on_verboseCheckBox_clicked</b>(<i>checked</i>) @@ -1057,6 +1230,20 @@ state of the checkbox </dd> </dl> +<a NAME="PipPackagesWidget.on_viewToggleButton_toggled" ID="PipPackagesWidget.on_viewToggleButton_toggled"></a> +<h4>PipPackagesWidget.on_viewToggleButton_toggled</h4> +<b>on_viewToggleButton_toggled</b>(<i>checked</i>) + +<p> + Private slot handling the view selection. +</p> +<dl> + +<dt><i>checked</i> (bool)</dt> +<dd> +state of the toggle button +</dd> +</dl> <a NAME="PipPackagesWidget.on_vulnerabilityCheckBox_clicked" ID="PipPackagesWidget.on_vulnerabilityCheckBox_clicked"></a> <h4>PipPackagesWidget.on_vulnerabilityCheckBox_clicked</h4> <b>on_vulnerabilityCheckBox_clicked</b>(<i>checked</i>)
diff -r 62bd225b489f -r d8946c2a22b5 eric7/PipInterface/Pip.py --- a/eric7/PipInterface/Pip.py Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/PipInterface/Pip.py Wed Mar 23 20:21:42 2022 +0100 @@ -918,3 +918,55 @@ showArgs=False) if res: dia.exec() + + ####################################################################### + ## Dependency tree handling methods below + ####################################################################### + + def getDependecyTree(self, envName, localPackages=True, usersite=False, + reverse=False): + """ + Public method to get the dependency tree of installed packages. + + @param envName name of the environment to get the packages for + @type str + @param localPackages flag indicating to get the tree for local + packages only + @type bool + @param usersite flag indicating to get the tree for packages + installed in user-site directory only + @type bool + @param reverse flag indicating to get the dependency tree in + reverse order (i.e. list packages needed by other) + @type bool + @return list of nested dictionaries resembling the requested + dependency tree + @rtype list of dict + """ + dependencies = [] + + if envName: + interpreter = self.getVirtualenvInterpreter(envName) + if interpreter: + args = [ + "-m", "pipdeptree", + "--json-tree", + "--python", interpreter, + ] + if localPackages: + args.append("--local-only") + if usersite: + args.append("--user-only") + if reverse: + args.append("--reverse") + + proc = QProcess() + proc.start(sys.executable, args) + if proc.waitForStarted(15000) and proc.waitForFinished(30000): + output = str(proc.readAllStandardOutput(), + Preferences.getSystem("IOEncoding"), + 'replace').strip() + with contextlib.suppress(json.JSONDecodeError): + dependencies = json.loads(output) + + return dependencies
diff -r 62bd225b489f -r d8946c2a22b5 eric7/PipInterface/PipPackagesWidget.py --- a/eric7/PipInterface/PipPackagesWidget.py Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/PipInterface/PipPackagesWidget.py Wed Mar 23 20:21:42 2022 +0100 @@ -12,6 +12,8 @@ import html.parser import contextlib +from packaging.specifiers import SpecifierSet + from PyQt6.QtCore import pyqtSlot, Qt, QUrl, QUrlQuery from PyQt6.QtGui import QIcon from PyQt6.QtNetwork import QNetworkReply, QNetworkRequest @@ -157,6 +159,10 @@ AvailableVersionColumn = 2 VulnerabilityColumn = 3 + DepPackageColumn = 0 + DepInstalledVersionColumn = 1 + DepRequiredVersionColumn = 2 + def __init__(self, pip, parent=None): """ Constructor @@ -171,6 +177,8 @@ self.layout().setContentsMargins(0, 3, 0, 0) + self.viewToggleButton.setIcon(UI.PixmapCache.getIcon("viewListTree")) + self.pipMenuButton.setObjectName( "pip_supermenu_button") self.pipMenuButton.setIcon(UI.PixmapCache.getIcon("superMenu")) @@ -183,21 +191,38 @@ self.pipMenuButton.setAutoRaise(True) self.pipMenuButton.setShowMenuInside(True) - self.refreshButton.setIcon(UI.PixmapCache.getIcon("reload")) - self.upgradeButton.setIcon(UI.PixmapCache.getIcon("1uparrow")) - self.upgradeAllButton.setIcon(UI.PixmapCache.getIcon("2uparrow")) - self.uninstallButton.setIcon(UI.PixmapCache.getIcon("minus")) - self.showPackageDetailsButton.setIcon(UI.PixmapCache.getIcon("info")) - self.searchToggleButton.setIcon(UI.PixmapCache.getIcon("find")) - self.searchButton.setIcon(UI.PixmapCache.getIcon("findNext")) - self.installButton.setIcon(UI.PixmapCache.getIcon("plus")) - self.installUserSiteButton.setIcon(UI.PixmapCache.getIcon("addUser")) - self.showDetailsButton.setIcon(UI.PixmapCache.getIcon("info")) + self.refreshButton.setIcon( + UI.PixmapCache.getIcon("reload")) + self.upgradeButton.setIcon( + UI.PixmapCache.getIcon("1uparrow")) + self.upgradeAllButton.setIcon( + UI.PixmapCache.getIcon("2uparrow")) + self.uninstallButton.setIcon( + UI.PixmapCache.getIcon("minus")) + self.showPackageDetailsButton.setIcon( + UI.PixmapCache.getIcon("info")) + self.searchToggleButton.setIcon( + UI.PixmapCache.getIcon("find")) + self.searchButton.setIcon( + UI.PixmapCache.getIcon("findNext")) + self.installButton.setIcon( + UI.PixmapCache.getIcon("plus")) + self.installUserSiteButton.setIcon( + UI.PixmapCache.getIcon("addUser")) + self.showDetailsButton.setIcon( + UI.PixmapCache.getIcon("info")) + + self.refreshDependenciesButton.setIcon( + UI.PixmapCache.getIcon("reload")) + self.showDepPackageDetailsButton.setIcon( + UI.PixmapCache.getIcon("info")) self.__pip = pip self.packagesList.header().setSortIndicator( PipPackagesWidget.PackageColumn, Qt.SortOrder.AscendingOrder) + self.dependenciesList.header().setSortIndicator( + PipPackagesWidget.DepPackageColumn, Qt.SortOrder.AscendingOrder) self.__infoLabels = { "name": self.tr("Name:"), @@ -216,6 +241,7 @@ "files": self.tr("Files:"), } self.infoWidget.setHeaderLabels(["Key", "Value"]) + self.dependencyInfoWidget.setHeaderLabels(["Key", "Value"]) venvManager = ericApp().getObject("VirtualEnvManager") venvManager.virtualEnvironmentAdded.connect( @@ -232,6 +258,7 @@ self.__initPipMenu() self.__populateEnvironments() self.__updateActionButtons() + self.__updateDepActionButtons() self.statusLabel.hide() self.searchWidget.hide() @@ -242,6 +269,8 @@ self.__replies = [] self.__packageDetailsDialog = None + + self.viewsStackWidget.setCurrentWidget(self.packagesPage) @pyqtSlot(bool) def __projectClosed(self, shutdown): @@ -372,7 +401,7 @@ def __refreshPackagesList(self): """ - Private method to referesh the packages list. + Private method to refresh the packages list. """ self.packagesList.clear() venvName = self.environmentsComboBox.currentText() @@ -444,7 +473,10 @@ @param index index of the selected Python environment @type int """ - self.__refreshPackagesList() + if self.viewToggleButton.isChecked(): + self.__refreshDependencyTree() + else: + self.__refreshPackagesList() @pyqtSlot() def on_localCheckBox_clicked(self): @@ -467,12 +499,14 @@ """ self.__refreshPackagesList() - def __showPackageInformation(self, packageName): + def __showPackageInformation(self, packageName, infoWidget): """ Private method to show information for a package. @param packageName name of the package @type str + @param infoWidget reference to the widget to contain the information + @type QTreeWidget """ environment = self.environmentsComboBox.currentText() interpreter = self.__pip.getVirtualenvInterpreter(environment) @@ -497,7 +531,7 @@ if mode != self.ShowProcessGeneralMode: if line[0] == " ": QTreeWidgetItem( - self.infoWidget, + infoWidget, [" ", line.strip()]) else: mode = self.ShowProcessGeneralMode @@ -510,7 +544,7 @@ label = label.lower() if label in self.__infoLabels: QTreeWidgetItem( - self.infoWidget, + infoWidget, [self.__infoLabels[label], info]) if label == "files": mode = self.ShowProcessFilesListMode @@ -518,9 +552,9 @@ mode = self.ShowProcessClassifiersMode elif label == "entry-points": mode = self.ShowProcessEntryPointsMode - self.infoWidget.scrollToTop() + infoWidget.scrollToTop() - header = self.infoWidget.header() + header = infoWidget.header() header.setStretchLastSection(False) header.resizeSections(QHeaderView.ResizeMode.ResizeToContents) if ( @@ -562,7 +596,8 @@ ) else: self.__showPackageInformation( - item.text(PipPackagesWidget.PackageColumn) + item.text(PipPackagesWidget.PackageColumn), + self.infoWidget ) self.__updateActionButtons() @@ -1488,3 +1523,204 @@ header = self.infoWidget.header() header.setStretchLastSection(True) + + ####################################################################### + ## Dependency tree related methods below + ####################################################################### + + @pyqtSlot(bool) + def on_viewToggleButton_toggled(self, checked): + """ + Private slot handling the view selection. + + @param checked state of the toggle button + @type bool + """ + if checked: + self.viewsStackWidget.setCurrentWidget( + self.dependenciesPage) + self.__refreshDependencyTree() + else: + self.viewsStackWidget.setCurrentWidget( + self.packagesPage) + self.__refreshPackagesList() + + @pyqtSlot(bool) + def on_requiresButton_toggled(self, checked): + """ + Private slot handling the selection of the view type. + + @param checked state of the radio button (unused) + @type bool + """ + self.__refreshDependencyTree() + + @pyqtSlot() + def on_localDepCheckBox_clicked(self): + """ + Private slot handling the switching of the local mode. + """ + self.__refreshDependencyTree() + + @pyqtSlot() + def on_userDepCheckBox_clicked(self): + """ + Private slot handling the switching of the 'user-site' mode. + """ + self.__refreshDependencyTree() + + def __refreshDependencyTree(self): + """ + Private method to refresh the dependency tree. + """ + self.dependenciesList.clear() + venvName = self.environmentsComboBox.currentText() + if venvName: + interpreter = self.__pip.getVirtualenvInterpreter(venvName) + if interpreter: + with EricOverrideCursor(): + dependencies = self.__pip.getDependecyTree( + venvName, + localPackages=self.localDepCheckBox.isChecked(), + usersite=self.userDepCheckBox.isChecked(), + reverse = self.requiredByButton.isChecked(), + ) + + self.dependenciesList.setUpdatesEnabled(False) + for dependency in dependencies: + self.__addDependency(dependency, self.dependenciesList) + + self.dependenciesList.sortItems( + PipPackagesWidget.DepPackageColumn, + Qt.SortOrder.AscendingOrder) + for col in range(self.dependenciesList.columnCount()): + self.dependenciesList.resizeColumnToContents(col) + self.dependenciesList.setUpdatesEnabled(True) + + self.__updateDepActionButtons() + + def __addDependency(self, dependency, parent): + """ + Private method to add a dependency branch to a given parent. + + @param dependency dependency to be added + @type dict + @param parent reference to the parent item + @type QTreeWidget or QTreeWidgetItem + """ + itm = QTreeWidgetItem(parent, [ + dependency["package_name"], + dependency["installed_version"], + dependency["required_version"], + ]) + itm.setExpanded(True) + + if dependency["required_version"].lower() != "any": + spec = ( + "=={0}".format(dependency["required_version"]) + if dependency["required_version"][0] in "0123456789" else + dependency["required_version"] + ) + specifierSet = SpecifierSet(specifiers=spec) + if not specifierSet.contains(dependency["installed_version"]): + itm.setIcon(PipPackagesWidget.DepRequiredVersionColumn, + UI.PixmapCache.getIcon("warning")) + + if dependency["required_version"].lower() == "any": + itm.setText(PipPackagesWidget.DepRequiredVersionColumn, + self.tr("any")) + + # recursively add sub-dependencies + for dep in dependency["dependencies"]: + self.__addDependency(dep, itm) + + @pyqtSlot(QTreeWidgetItem, int) + def on_dependenciesList_itemActivated(self, item, column): + """ + Private slot reacting on a package item of the dependency tree being + activated. + + @param item reference to the activated item + @type QTreeWidgetItem + @param column activated column + @type int + """ + packageName = item.text(PipPackagesWidget.DepPackageColumn) + packageVersion = item.text( + PipPackagesWidget.DepInstalledVersionColumn) + + self.__showPackageDetails(packageName, packageVersion) + + @pyqtSlot() + def on_dependenciesList_itemSelectionChanged(self): + """ + Private slot reacting on a change of selected items of the dependency + tree. + """ + if len(self.dependenciesList.selectedItems()) == 0: + self.dependencyInfoWidget.clear() + + @pyqtSlot(QTreeWidgetItem, int) + def on_dependenciesList_itemPressed(self, item, column): + """ + Private slot reacting on a package item of the dependency tree being + pressed. + + @param item reference to the pressed item + @type QTreeWidgetItem + @param column pressed column + @type int + """ + self.dependencyInfoWidget.clear() + + if item is not None: + self.__showPackageInformation( + item.text(PipPackagesWidget.DepPackageColumn), + self.dependencyInfoWidget + ) + + self.__updateDepActionButtons() + + @pyqtSlot() + def on_refreshDependenciesButton_clicked(self): + """ + Private slot to refresh the dependency tree. + """ + currentEnvironment = self.environmentsComboBox.currentText() + self.environmentsComboBox.clear() + self.dependenciesList.clear() + + with EricOverrideCursor(): + self.__populateEnvironments() + + index = self.environmentsComboBox.findText( + currentEnvironment, + Qt.MatchFlag.MatchExactly | Qt.MatchFlag.MatchCaseSensitive + ) + if index != -1: + self.environmentsComboBox.setCurrentIndex(index) + + self.__updateDepActionButtons() + + @pyqtSlot() + def on_showDepPackageDetailsButton_clicked(self): + """ + Private slot to show information for the selected package of the + dependency tree. + """ + item = self.dependenciesList.selectedItems()[0] + if item: + packageName = item.text(PipPackagesWidget.DepPackageColumn) + packageVersion = item.text( + PipPackagesWidget.DepInstalledVersionColumn) + + self.__showPackageDetails(packageName, packageVersion) + + def __updateDepActionButtons(self): + """ + Private method to set the state of the dependency page action buttons. + """ + self.showDepPackageDetailsButton.setEnabled( + len(self.dependenciesList.selectedItems()) == 1 and + self.__isPipAvailable() + )
diff -r 62bd225b489f -r d8946c2a22b5 eric7/PipInterface/PipPackagesWidget.ui --- a/eric7/PipInterface/PipPackagesWidget.ui Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/PipInterface/PipPackagesWidget.ui Wed Mar 23 20:21:42 2022 +0100 @@ -7,147 +7,64 @@ <x>0</x> <y>0</y> <width>503</width> - <height>700</height> + <height>1180</height> </rect> </property> - <layout class="QVBoxLayout" name="verticalLayout_5"> + <layout class="QVBoxLayout" name="verticalLayout_6"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>3</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> <item> - <widget class="QWidget" name="baseWidget" native="true"> - <layout class="QVBoxLayout" name="verticalLayout_4"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QComboBox" name="environmentsComboBox"/> - </item> - <item> - <widget class="EricToolButton" name="pipMenuButton"/> - </item> - </layout> - </item> - <item> - <layout class="QGridLayout" name="gridLayout_2"> - <item row="0" column="0"> - <widget class="QCheckBox" name="localCheckBox"> - <property name="toolTip"> - <string>Select to show only locally-installed packages</string> - </property> - <property name="text"> - <string>Local packages only</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QCheckBox" name="notRequiredCheckBox"> - <property name="toolTip"> - <string>Select to list packages that are not dependencies of installed packages</string> - </property> - <property name="text"> - <string>Not required Packages</string> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QCheckBox" name="userCheckBox"> - <property name="toolTip"> - <string>Select to show only packages installed to the user-site</string> - </property> - <property name="text"> - <string>User-Site only</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QCheckBox" name="vulnerabilityCheckBox"> - <property name="toolTip"> - <string>Perform vulnerability checks based on "Safety DB".</string> - </property> - <property name="text"> - <string>Vulnerability Check</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QLabel" name="statusLabel"/> - </item> - <item> - <widget class="QSplitter" name="splitter"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <widget class="QTreeWidget" name="packagesList"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>3</verstretch> - </sizepolicy> - </property> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="selectionMode"> - <enum>QAbstractItemView::ExtendedSelection</enum> - </property> - <property name="rootIsDecorated"> - <bool>false</bool> - </property> - <property name="itemsExpandable"> - <bool>false</bool> - </property> - <property name="sortingEnabled"> - <bool>true</bool> - </property> - <attribute name="headerDefaultSectionSize"> - <number>150</number> - </attribute> - <column> - <property name="text"> - <string>Package</string> - </property> - </column> - <column> - <property name="text"> - <string>Installed Version</string> - </property> - </column> - <column> - <property name="text"> - <string>Available Version</string> - </property> - </column> - <column> - <property name="text"> - <string>Affected Version</string> - </property> - </column> - </widget> - <widget class="QWidget" name="widget" native="true"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>1</verstretch> - </sizepolicy> - </property> - <layout class="QVBoxLayout" name="verticalLayout_3"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QToolButton" name="viewToggleButton"> + <property name="toolTip"> + <string>Toggle to show or hide the dependency tree view</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="environmentsComboBox"/> + </item> + <item> + <widget class="EricToolButton" name="pipMenuButton"/> + </item> + </layout> + </item> + <item> + <widget class="QStackedWidget" name="viewsStackWidget"> + <property name="currentIndex"> + <number>1</number> + </property> + <widget class="QWidget" name="packagesPage"> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QWidget" name="baseWidget" native="true"> + <layout class="QVBoxLayout" name="verticalLayout_4"> <property name="leftMargin"> <number>0</number> </property> @@ -161,40 +78,351 @@ <number>0</number> </property> <item> - <layout class="QHBoxLayout" name="horizontalLayout_7"> - <item> - <widget class="QCheckBox" name="verboseCheckBox"> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0"> + <widget class="QCheckBox" name="localCheckBox"> <property name="toolTip"> - <string>Select to show verbose package information</string> + <string>Select to show only locally-installed packages</string> </property> <property name="text"> - <string>Verbose Information</string> + <string>Local packages only</string> + </property> + <property name="checked"> + <bool>true</bool> </property> </widget> </item> - <item> - <widget class="QCheckBox" name="installedFilesCheckBox"> + <item row="0" column="1"> + <widget class="QCheckBox" name="notRequiredCheckBox"> <property name="toolTip"> - <string>Select to show information about installed files</string> + <string>Select to list packages that are not dependencies of installed packages</string> </property> <property name="text"> - <string>Installed Files</string> + <string>Not required Packages</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QCheckBox" name="userCheckBox"> + <property name="toolTip"> + <string>Select to show only packages installed to the user-site</string> + </property> + <property name="text"> + <string>User-Site only</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QCheckBox" name="vulnerabilityCheckBox"> + <property name="toolTip"> + <string>Perform vulnerability checks based on "Safety DB".</string> + </property> + <property name="text"> + <string>Vulnerability Check</string> + </property> + <property name="checked"> + <bool>true</bool> </property> </widget> </item> </layout> </item> <item> - <widget class="QTreeWidget" name="infoWidget"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>1</verstretch> - </sizepolicy> + <widget class="QLabel" name="statusLabel"/> + </item> + <item> + <widget class="QSplitter" name="splitter"> + <property name="orientation"> + <enum>Qt::Vertical</enum> </property> + <widget class="QTreeWidget" name="packagesList"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>3</verstretch> + </sizepolicy> + </property> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="selectionMode"> + <enum>QAbstractItemView::ExtendedSelection</enum> + </property> + <property name="rootIsDecorated"> + <bool>false</bool> + </property> + <property name="itemsExpandable"> + <bool>false</bool> + </property> + <property name="sortingEnabled"> + <bool>true</bool> + </property> + <attribute name="headerDefaultSectionSize"> + <number>150</number> + </attribute> + <column> + <property name="text"> + <string>Package</string> + </property> + </column> + <column> + <property name="text"> + <string>Installed Version</string> + </property> + </column> + <column> + <property name="text"> + <string>Available Version</string> + </property> + </column> + <column> + <property name="text"> + <string>Affected Version</string> + </property> + </column> + </widget> + <widget class="QWidget" name="widget" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>1</verstretch> + </sizepolicy> + </property> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_7"> + <item> + <widget class="QCheckBox" name="verboseCheckBox"> + <property name="toolTip"> + <string>Select to show verbose package information</string> + </property> + <property name="text"> + <string>Verbose Information</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="installedFilesCheckBox"> + <property name="toolTip"> + <string>Select to show information about installed files</string> + </property> + <property name="text"> + <string>Installed Files</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QTreeWidget" name="infoWidget"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>1</verstretch> + </sizepolicy> + </property> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="rootIsDecorated"> + <bool>false</bool> + </property> + <property name="itemsExpandable"> + <bool>false</bool> + </property> + <property name="allColumnsShowFocus"> + <bool>true</bool> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + <property name="columnCount"> + <number>2</number> + </property> + <attribute name="headerVisible"> + <bool>false</bool> + </attribute> + <attribute name="headerStretchLastSection"> + <bool>false</bool> + </attribute> + <column> + <property name="text"> + <string notr="true">1</string> + </property> + </column> + <column> + <property name="text"> + <string notr="true">2</string> + </property> + </column> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QToolButton" name="refreshButton"> + <property name="toolTip"> + <string>Press to refresh the lists</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="upgradeButton"> + <property name="toolTip"> + <string>Press to upgrade the selected packages</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="upgradeAllButton"> + <property name="toolTip"> + <string>Press to upgrade all listed packages</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="uninstallButton"> + <property name="toolTip"> + <string>Press to uninstall the selected package</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="showPackageDetailsButton"> + <property name="toolTip"> + <string>Press to show details for the selected entry</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QToolButton" name="searchToggleButton"> + <property name="toolTip"> + <string>Toggle to show or hide the search window</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QWidget" name="searchWidget" native="true"> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="2" rowspan="2"> + <widget class="QToolButton" name="searchButton"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="toolTip"> + <string>Press to start the search</string> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Package</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="searchEditName"> + <property name="toolTip"> + <string>Enter the search term for the package name</string> + </property> + <property name="placeholderText"> + <string>Enter search term</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QWidget" name="searchOptionsWidget" native="true"> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + </layout> + </widget> + </item> + <item> + <widget class="QTreeWidget" name="searchResultList"> <property name="alternatingRowColors"> <bool>true</bool> </property> + <property name="selectionMode"> + <enum>QAbstractItemView::ExtendedSelection</enum> + </property> <property name="rootIsDecorated"> <bool>false</bool> </property> @@ -207,270 +435,278 @@ <property name="wordWrap"> <bool>true</bool> </property> - <property name="columnCount"> - <number>2</number> - </property> - <attribute name="headerVisible"> - <bool>false</bool> - </attribute> - <attribute name="headerStretchLastSection"> - <bool>false</bool> - </attribute> + <column> + <property name="text"> + <string>Package</string> + </property> + </column> <column> <property name="text"> - <string notr="true">1</string> + <string>Version</string> + </property> + </column> + <column> + <property name="text"> + <string>Released</string> </property> </column> <column> <property name="text"> - <string notr="true">2</string> + <string>Description</string> </property> </column> </widget> </item> + <item> + <widget class="QLabel" name="searchInfoLabel"/> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <spacer name="horizontalSpacer_3"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QToolButton" name="installButton"> + <property name="toolTip"> + <string>Press to install the selected package</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="installUserSiteButton"> + <property name="toolTip"> + <string>Press to install the selected package to the user site</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="showDetailsButton"> + <property name="toolTip"> + <string>Press to show details for the selected entry</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_4"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="dependenciesPage"> + <layout class="QVBoxLayout" name="verticalLayout_8"> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>View Type</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_5"> + <item> + <widget class="QRadioButton" name="requiresButton"> + <property name="toolTip"> + <string>Select to show which package requires other packages</string> + </property> + <property name="text"> + <string>Requires</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QRadioButton" name="requiredByButton"> + <property name="toolTip"> + <string>Select to show which package is required by others</string> + </property> + <property name="text"> + <string>Required By</string> + </property> + </widget> + </item> </layout> </widget> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QToolButton" name="refreshButton"> - <property name="toolTip"> - <string>Press to refresh the lists</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="upgradeButton"> - <property name="toolTip"> - <string>Press to upgrade the selected packages</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="upgradeAllButton"> - <property name="toolTip"> - <string>Press to upgrade all listed packages</string> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <widget class="QCheckBox" name="localDepCheckBox"> + <property name="toolTip"> + <string>Select to show only dependencies of locally installed packages</string> + </property> + <property name="text"> + <string>Local packages only</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="userDepCheckBox"> + <property name="toolTip"> + <string>Select to show only dependencies of packages installed to the user-site</string> + </property> + <property name="text"> + <string>User-Site only</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QSplitter" name="splitter_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <widget class="QTreeWidget" name="dependenciesList"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>3</verstretch> + </sizepolicy> </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="uninstallButton"> - <property name="toolTip"> - <string>Press to uninstall the selected package</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="showPackageDetailsButton"> - <property name="toolTip"> - <string>Press to show details for the selected entry</string> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_2"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QToolButton" name="searchToggleButton"> - <property name="toolTip"> - <string>Toggle to show or hide the search window</string> - </property> - <property name="checkable"> + <property name="alternatingRowColors"> <bool>true</bool> </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QWidget" name="searchWidget" native="true"> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <item> - <layout class="QGridLayout" name="gridLayout"> - <item row="0" column="2" rowspan="2"> - <widget class="QToolButton" name="searchButton"> - <property name="enabled"> + <property name="sortingEnabled"> + <bool>true</bool> + </property> + <property name="expandsOnDoubleClick"> <bool>false</bool> </property> - <property name="toolTip"> - <string>Press to start the search</string> - </property> + <attribute name="headerDefaultSectionSize"> + <number>150</number> + </attribute> + <column> + <property name="text"> + <string>Package</string> + </property> + </column> + <column> + <property name="text"> + <string>Installed Version</string> + </property> + </column> + <column> + <property name="text"> + <string>Required Version</string> + </property> + </column> </widget> - </item> - <item row="0" column="0"> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Package</string> + <widget class="QTreeWidget" name="dependencyInfoWidget"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>1</verstretch> + </sizepolicy> </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QLineEdit" name="searchEditName"> - <property name="toolTip"> - <string>Enter the search term for the package name</string> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="rootIsDecorated"> + <bool>false</bool> + </property> + <property name="itemsExpandable"> + <bool>false</bool> </property> - <property name="placeholderText"> - <string>Enter search term</string> + <property name="allColumnsShowFocus"> + <bool>true</bool> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + <property name="columnCount"> + <number>2</number> </property> + <attribute name="headerVisible"> + <bool>false</bool> + </attribute> + <attribute name="headerStretchLastSection"> + <bool>false</bool> + </attribute> + <column> + <property name="text"> + <string notr="true">1</string> + </property> + </column> + <column> + <property name="text"> + <string notr="true">2</string> + </property> + </column> </widget> - </item> - </layout> - </item> - <item> - <widget class="QWidget" name="searchOptionsWidget" native="true"> - <layout class="QVBoxLayout" name="verticalLayout"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_6"> + <item> + <spacer name="horizontalSpacer_5"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QToolButton" name="refreshDependenciesButton"> + <property name="toolTip"> + <string>Press to refresh the dependency tree</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="showDepPackageDetailsButton"> + <property name="toolTip"> + <string>Press to show details for the selected entry</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_6"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> </layout> - </widget> - </item> - <item> - <widget class="QTreeWidget" name="searchResultList"> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="selectionMode"> - <enum>QAbstractItemView::ExtendedSelection</enum> - </property> - <property name="rootIsDecorated"> - <bool>false</bool> - </property> - <property name="itemsExpandable"> - <bool>false</bool> - </property> - <property name="allColumnsShowFocus"> - <bool>true</bool> - </property> - <property name="wordWrap"> - <bool>true</bool> - </property> - <column> - <property name="text"> - <string>Package</string> - </property> - </column> - <column> - <property name="text"> - <string>Version</string> - </property> - </column> - <column> - <property name="text"> - <string>Released</string> - </property> - </column> - <column> - <property name="text"> - <string>Description</string> - </property> - </column> - </widget> - </item> - <item> - <widget class="QLabel" name="searchInfoLabel"/> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <spacer name="horizontalSpacer_3"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QToolButton" name="installButton"> - <property name="toolTip"> - <string>Press to install the selected package</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="installUserSiteButton"> - <property name="toolTip"> - <string>Press to install the selected package to the user site</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="showDetailsButton"> - <property name="toolTip"> - <string>Press to show details for the selected entry</string> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_4"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> + </item> + </layout> + </widget> </widget> </item> </layout> @@ -483,6 +719,7 @@ </customwidget> </customwidgets> <tabstops> + <tabstop>viewToggleButton</tabstop> <tabstop>environmentsComboBox</tabstop> <tabstop>pipMenuButton</tabstop> <tabstop>localCheckBox</tabstop> @@ -505,6 +742,14 @@ <tabstop>installButton</tabstop> <tabstop>installUserSiteButton</tabstop> <tabstop>showDetailsButton</tabstop> + <tabstop>requiresButton</tabstop> + <tabstop>requiredByButton</tabstop> + <tabstop>localDepCheckBox</tabstop> + <tabstop>userDepCheckBox</tabstop> + <tabstop>dependenciesList</tabstop> + <tabstop>dependencyInfoWidget</tabstop> + <tabstop>refreshDependenciesButton</tabstop> + <tabstop>showDepPackageDetailsButton</tabstop> </tabstops> <resources/> <connections/>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_cs.ts --- a/eric7/i18n/eric7_cs.ts Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/i18n/eric7_cs.ts Wed Mar 23 20:21:42 2022 +0100 @@ -55439,11 +55439,17 @@ <name>PipPackagesWidget</name> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Toggle to show or hide the dependency tree view</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Select to show only locally-installed packages</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Local packages only</source> <translation type="unfinished" /> </message> @@ -55464,6 +55470,7 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>User-Site only</source> <translation type="unfinished" /> </message> @@ -55481,11 +55488,13 @@ <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Installed Version</source> <translation type="unfinished" /> </message> @@ -55542,6 +55551,7 @@ <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Press to show details for the selected entry</source> <translation type="unfinished" /> </message> @@ -55591,104 +55601,149 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="177" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>View Type</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package requires other packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Requires</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package is required by others</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required By</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of locally installed packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of packages installed to the user-site</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Press to refresh the dependency tree</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="185" /> <source>pip Menu</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="228" /> <source>Name:</source> <translation type="unfinished">Jméno:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="229" /> <source>Version:</source> <translation type="unfinished">Verze:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="230" /> <source>Location:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="231" /> <source>Requires:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="232" /> <source>Summary:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="233" /> <source>Homepage:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="209" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="234" /> <source>Author:</source> <translation type="unfinished">Autor:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="235" /> <source>Author Email:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="236" /> <source>License:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="237" /> <source>Metadata Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="238" /> <source>Installer:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="239" /> <source>Classifiers:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="215" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="240" /> <source>Entry Points:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="216" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="241" /> <source>Files:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="384" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="413" /> <source>Getting installed packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="400" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="429" /> <source>Getting outdated packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1028" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="865" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="843" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="900" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="878" /> <source>Search PyPI</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="844" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="879" /> <source><p>Received an error while searching for <b>{0}</b>.</p><p>Error: {1}</p></source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../PipInterface/PipPackagesWidget.py" line="858" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="893" /> <source>%n package(s) found.</source> <translation type="unfinished"> <numerusform /> @@ -55697,143 +55752,148 @@ </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="860" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="895" /> <source>Showing first 20 packages found.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="868" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="866" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="903" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="901" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1064" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1043" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1078" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046" /> - <source>Install Pip to User-Site</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1049" /> - <source>Repair Pip</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1179" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1053" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1056" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1060" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> - <source>Re-Install Selected Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1066" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1069" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1073" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1077" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1081" /> - <source>Show Cache Info...</source> + <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1084" /> - <source>Show Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1087" /> - <source>Remove Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1090" /> - <source>Purge Cache...</source> + <source>Repair Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1088" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1091" /> + <source>Install Local Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1095" /> - <source>Edit User Configuration...</source> + <source>Install Requirements</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1098" /> + <source>Re-Install Selected Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1101" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1104" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1108" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1112" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <source>Show Cache Info...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1119" /> + <source>Show Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1122" /> + <source>Remove Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1125" /> + <source>Purge Cache...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1130" /> + <source>Edit User Configuration...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1133" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1103" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1138" /> <source>Configure...</source> <translation type="unfinished">Konfigurovat...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1301" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1288" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1277" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1336" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1323" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1312" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1302" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1289" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1278" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1337" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1324" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1313" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1456" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1491" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1478" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1513" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1481" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1516" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1631" /> + <source>any</source> + <translation type="unfinished" /> + </message> + <message> <source>Error: {0}</source> <translation type="vanished">Chyby: {0}</translation> </message>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_de.qm Binary file eric7/i18n/eric7_de.qm has changed
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_de.ts --- a/eric7/i18n/eric7_de.ts Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/i18n/eric7_de.ts Wed Mar 23 20:21:42 2022 +0100 @@ -51877,11 +51877,17 @@ <name>PipPackagesWidget</name> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Toggle to show or hide the dependency tree view</source> + <translation>Umschalten, um den Abhängigkeitsbaum anzuzeigen bzw. auszublenden</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Select to show only locally-installed packages</source> <translation>Auswählen, um nur lokal installierte Pakete anzuzeigen</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Local packages only</source> <translation>Nur lokale Pakete</translation> </message> @@ -51902,6 +51908,7 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>User-Site only</source> <translation>Nur Nutzerverzeichnis</translation> </message> @@ -51919,11 +51926,13 @@ <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Package</source> <translation>Paket</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Installed Version</source> <translation>Installierte Version</translation> </message> @@ -51980,6 +51989,7 @@ <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Press to show details for the selected entry</source> <translation>Drücken, um Details für den ausgewählten Eintrag anzuzeigen</translation> </message> @@ -52029,104 +52039,149 @@ <translation>Drücken, um die ausgewählten Pakete in das Python Nutzerverzeichnis zu installieren</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="177" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>View Type</source> + <translation>Ansichtstyp</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package requires other packages</source> + <translation>Auswählen, um anzuzeigen, welches Paket andere Pakete erwartet</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Requires</source> + <translation>Erfordert</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package is required by others</source> + <translation>Auswählen, um anzuzeigen, welches Paket von anderen Paketen erwartet wird</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required By</source> + <translation>Erfordert Von</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of locally installed packages</source> + <translation>Auswählen, um nur die Abhängigkeiten für lokal installierte Packete anzuzeigen</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of packages installed to the user-site</source> + <translation>Auswählen, um nur die Abhängigkeiten für im Nutzerverzeichnis installierte Packete anzuzeigen</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required Version</source> + <translation>Erwartete Version</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Press to refresh the dependency tree</source> + <translation>Drücken, um den Abhängigkeitsbaum zu erneuern</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="185" /> <source>pip Menu</source> <translation>pip Menü</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="228" /> <source>Name:</source> <translation>Name:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="229" /> <source>Version:</source> <translation>Version:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="230" /> <source>Location:</source> <translation>Speicherort:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="231" /> <source>Requires:</source> <translation>Erfordert:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="232" /> <source>Summary:</source> <translation>Kurzbeschreibung:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="233" /> <source>Homepage:</source> <translation>Homepage:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="209" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="234" /> <source>Author:</source> <translation>Autor:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="235" /> <source>Author Email:</source> <translation>Autor Email:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="236" /> <source>License:</source> <translation>Lizenz:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="237" /> <source>Metadata Version:</source> <translation>Metadaten Version:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="238" /> <source>Installer:</source> <translation>Installer:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="239" /> <source>Classifiers:</source> <translation>Klassifizierungen:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="215" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="240" /> <source>Entry Points:</source> <translation>Einsprungpunkte:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="216" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="241" /> <source>Files:</source> <translation>Dateien:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="384" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="413" /> <source>Getting installed packages...</source> <translation>Ermittle installierte Pakete...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="400" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="429" /> <source>Getting outdated packages...</source> <translation>Ermittle veraltete Pakete...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1028" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="865" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="843" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="900" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="878" /> <source>Search PyPI</source> <translation>PyPI durchsuchen</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="844" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="879" /> <source><p>Received an error while searching for <b>{0}</b>.</p><p>Error: {1}</p></source> <translation><p>Fehler während der Suche nach <b>{0}</b> empfangen.</p><p>Fehler: {1}</p></translation> </message> <message numerus="yes"> - <location filename="../PipInterface/PipPackagesWidget.py" line="858" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="893" /> <source>%n package(s) found.</source> <translation> <numerusform>%n Paket gefunden.</numerusform> @@ -52134,142 +52189,147 @@ </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="860" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="895" /> <source>Showing first 20 packages found.</source> <translation>Zeige die ersten 20 gefundenen Pakete.</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="868" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="866" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="903" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="901" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation><p>Es gab keine Ergebnisse für <b>{0}</b>.</p></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1064" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation><p>Keine detaillierten Paketinformationen für <b>{0}</b> verfügbar.</p></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1043" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1078" /> <source>Install Pip</source> <translation>Pip installieren</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046" /> - <source>Install Pip to User-Site</source> - <translation>Pip in Nutzerverzeichnis installieren</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1049" /> - <source>Repair Pip</source> - <translation>Pip reparieren</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1179" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1053" /> - <source>Install Packages</source> - <translation>Pakete installieren</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1056" /> - <source>Install Local Package</source> - <translation>Lokales Paket installieren</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1060" /> - <source>Install Requirements</source> - <translation>Paketanforderungen installieren</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> - <source>Re-Install Selected Packages</source> - <translation>Ausgewählte Pakete neu installieren</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1066" /> - <source>Uninstall Requirements</source> - <translation>Paketanforderungen deinstallieren</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1069" /> - <source>Generate Requirements...</source> - <translation>Anforderungen erzeugen...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1073" /> - <source>Check Vulnerabilities</source> - <translation>Verwundbarkeiten prüfen</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1077" /> - <source>Update Vulnerability Database</source> - <translation>Verwundbarkeitsdatenbank aktualisieren</translation> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1081" /> - <source>Show Cache Info...</source> - <translation>Zwischenspeicherinfo...</translation> + <source>Install Pip to User-Site</source> + <translation>Pip in Nutzerverzeichnis installieren</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1084" /> - <source>Show Cached Files...</source> - <translation>Zwischengespeicherte Dateien...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1087" /> - <source>Remove Cached Files...</source> - <translation>Zwischengespeicherte Dateien löschen...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1090" /> - <source>Purge Cache...</source> - <translation>Zwischenspeicher leeren...</translation> + <source>Repair Pip</source> + <translation>Pip reparieren</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1088" /> + <source>Install Packages</source> + <translation>Pakete installieren</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1091" /> + <source>Install Local Package</source> + <translation>Lokales Paket installieren</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1095" /> - <source>Edit User Configuration...</source> - <translation>Nutzerkonfiguration bearbeiten...</translation> + <source>Install Requirements</source> + <translation>Paketanforderungen installieren</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1098" /> + <source>Re-Install Selected Packages</source> + <translation>Ausgewählte Pakete neu installieren</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1101" /> + <source>Uninstall Requirements</source> + <translation>Paketanforderungen deinstallieren</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1104" /> + <source>Generate Requirements...</source> + <translation>Anforderungen erzeugen...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1108" /> + <source>Check Vulnerabilities</source> + <translation>Verwundbarkeiten prüfen</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1112" /> + <source>Update Vulnerability Database</source> + <translation>Verwundbarkeitsdatenbank aktualisieren</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <source>Show Cache Info...</source> + <translation>Zwischenspeicherinfo...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1119" /> + <source>Show Cached Files...</source> + <translation>Zwischengespeicherte Dateien...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1122" /> + <source>Remove Cached Files...</source> + <translation>Zwischengespeicherte Dateien löschen...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1125" /> + <source>Purge Cache...</source> + <translation>Zwischenspeicher leeren...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1130" /> + <source>Edit User Configuration...</source> + <translation>Nutzerkonfiguration bearbeiten...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1133" /> <source>Edit Environment Configuration...</source> <translation>Umgebungskonfiguration bearbeiten...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1103" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1138" /> <source>Configure...</source> <translation>Einstellungen...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1301" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1288" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1277" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1336" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1323" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1312" /> <source>Edit Configuration</source> <translation>Konfiguration bearbeiten</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1302" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1289" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1278" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1337" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1324" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1313" /> <source>No valid configuration path determined. Aborting</source> <translation>Es konnte kein gültiger Konfigurationspfad ermittelt werden. Abbruch</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1456" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1491" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation>{0} {1}</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1478" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1513" /> <source>Affected Version:</source> <translation>Betroffene Version:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1481" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1516" /> <source>Advisory:</source> <translation>Advisory:</translation> </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1631" /> + <source>any</source> + <translation>beliebig</translation> + </message> </context> <context> <name>PipPage</name>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_empty.ts --- a/eric7/i18n/eric7_empty.ts Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/i18n/eric7_empty.ts Wed Mar 23 20:21:42 2022 +0100 @@ -51619,11 +51619,17 @@ <name>PipPackagesWidget</name> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Toggle to show or hide the dependency tree view</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Select to show only locally-installed packages</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Local packages only</source> <translation type="unfinished" /> </message> @@ -51644,6 +51650,7 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>User-Site only</source> <translation type="unfinished" /> </message> @@ -51661,11 +51668,13 @@ <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Installed Version</source> <translation type="unfinished" /> </message> @@ -51722,6 +51731,7 @@ <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Press to show details for the selected entry</source> <translation type="unfinished" /> </message> @@ -51771,246 +51781,296 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="177" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>View Type</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package requires other packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Requires</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package is required by others</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required By</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of locally installed packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of packages installed to the user-site</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Press to refresh the dependency tree</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="185" /> <source>pip Menu</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="228" /> <source>Name:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="229" /> <source>Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="230" /> <source>Location:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="231" /> <source>Requires:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="232" /> <source>Summary:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="233" /> <source>Homepage:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="209" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="234" /> <source>Author:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="235" /> <source>Author Email:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="236" /> <source>License:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="237" /> <source>Metadata Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="238" /> <source>Installer:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="239" /> <source>Classifiers:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="215" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="240" /> <source>Entry Points:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="216" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="241" /> <source>Files:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="384" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="413" /> <source>Getting installed packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="400" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="429" /> <source>Getting outdated packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1028" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="865" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="843" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="900" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="878" /> <source>Search PyPI</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="844" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="879" /> <source><p>Received an error while searching for <b>{0}</b>.</p><p>Error: {1}</p></source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../PipInterface/PipPackagesWidget.py" line="858" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="893" /> <source>%n package(s) found.</source> <translation type="unfinished"> <numerusform /> </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="860" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="895" /> <source>Showing first 20 packages found.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="868" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="866" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="903" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="901" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1064" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1043" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1078" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046" /> - <source>Install Pip to User-Site</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1049" /> - <source>Repair Pip</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1179" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1053" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1056" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1060" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> - <source>Re-Install Selected Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1066" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1069" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1073" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1077" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1081" /> - <source>Show Cache Info...</source> + <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1084" /> - <source>Show Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1087" /> - <source>Remove Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1090" /> - <source>Purge Cache...</source> + <source>Repair Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1088" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1091" /> + <source>Install Local Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1095" /> - <source>Edit User Configuration...</source> + <source>Install Requirements</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1098" /> + <source>Re-Install Selected Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1101" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1104" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1108" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1112" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <source>Show Cache Info...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1119" /> + <source>Show Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1122" /> + <source>Remove Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1125" /> + <source>Purge Cache...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1130" /> + <source>Edit User Configuration...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1133" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1103" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1138" /> <source>Configure...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1301" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1288" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1277" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1336" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1323" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1312" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1302" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1289" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1278" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1337" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1324" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1313" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1456" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1491" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1478" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1513" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1481" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1516" /> <source>Advisory:</source> <translation type="unfinished" /> </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1631" /> + <source>any</source> + <translation type="unfinished" /> + </message> </context> <context> <name>PipPage</name>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_en.ts --- a/eric7/i18n/eric7_en.ts Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/i18n/eric7_en.ts Wed Mar 23 20:21:42 2022 +0100 @@ -51664,11 +51664,17 @@ <name>PipPackagesWidget</name> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Toggle to show or hide the dependency tree view</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Select to show only locally-installed packages</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Local packages only</source> <translation type="unfinished" /> </message> @@ -51689,6 +51695,7 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>User-Site only</source> <translation type="unfinished" /> </message> @@ -51706,11 +51713,13 @@ <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Installed Version</source> <translation type="unfinished" /> </message> @@ -51767,6 +51776,7 @@ <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Press to show details for the selected entry</source> <translation type="unfinished" /> </message> @@ -51816,104 +51826,149 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="177" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>View Type</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package requires other packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Requires</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package is required by others</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required By</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of locally installed packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of packages installed to the user-site</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Press to refresh the dependency tree</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="185" /> <source>pip Menu</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="228" /> <source>Name:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="229" /> <source>Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="230" /> <source>Location:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="231" /> <source>Requires:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="232" /> <source>Summary:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="233" /> <source>Homepage:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="209" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="234" /> <source>Author:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="235" /> <source>Author Email:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="236" /> <source>License:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="237" /> <source>Metadata Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="238" /> <source>Installer:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="239" /> <source>Classifiers:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="215" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="240" /> <source>Entry Points:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="216" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="241" /> <source>Files:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="384" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="413" /> <source>Getting installed packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="400" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="429" /> <source>Getting outdated packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1028" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="865" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="843" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="900" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="878" /> <source>Search PyPI</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="844" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="879" /> <source><p>Received an error while searching for <b>{0}</b>.</p><p>Error: {1}</p></source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../PipInterface/PipPackagesWidget.py" line="858" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="893" /> <source>%n package(s) found.</source> <translation> <numerusform>%n package found.</numerusform> @@ -51921,142 +51976,147 @@ </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="860" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="895" /> <source>Showing first 20 packages found.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="868" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="866" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="903" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="901" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1064" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1043" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1078" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046" /> - <source>Install Pip to User-Site</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1049" /> - <source>Repair Pip</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1179" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1053" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1056" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1060" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> - <source>Re-Install Selected Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1066" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1069" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1073" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1077" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1081" /> - <source>Show Cache Info...</source> + <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1084" /> - <source>Show Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1087" /> - <source>Remove Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1090" /> - <source>Purge Cache...</source> + <source>Repair Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1088" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1091" /> + <source>Install Local Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1095" /> - <source>Edit User Configuration...</source> + <source>Install Requirements</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1098" /> + <source>Re-Install Selected Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1101" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1104" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1108" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1112" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <source>Show Cache Info...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1119" /> + <source>Show Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1122" /> + <source>Remove Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1125" /> + <source>Purge Cache...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1130" /> + <source>Edit User Configuration...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1133" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1103" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1138" /> <source>Configure...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1301" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1288" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1277" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1336" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1323" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1312" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1302" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1289" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1278" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1337" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1324" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1313" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1456" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1491" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1478" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1513" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1481" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1516" /> <source>Advisory:</source> <translation type="unfinished" /> </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1631" /> + <source>any</source> + <translation type="unfinished" /> + </message> </context> <context> <name>PipPage</name>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_es.ts --- a/eric7/i18n/eric7_es.ts Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/i18n/eric7_es.ts Wed Mar 23 20:21:42 2022 +0100 @@ -51887,11 +51887,17 @@ <name>PipPackagesWidget</name> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Toggle to show or hide the dependency tree view</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Select to show only locally-installed packages</source> <translation>Seleccionar para mostrar solo packages instalados localmente</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Local packages only</source> <translation>Packages locales solo</translation> </message> @@ -51912,6 +51918,7 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>User-Site only</source> <translation>Solo Site de Usuario</translation> </message> @@ -51929,11 +51936,13 @@ <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Package</source> <translation>Package</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Installed Version</source> <translation>Versión Instalada</translation> </message> @@ -51990,6 +51999,7 @@ <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Press to show details for the selected entry</source> <translation>Pulsar para mostrar detalles para la entrada seleccionada</translation> </message> @@ -52039,104 +52049,149 @@ <translation>Seleccionar para instalar el package seleccionado en el site de usuario</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="177" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>View Type</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package requires other packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Requires</source> + <translation type="unfinished">Requires</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package is required by others</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required By</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of locally installed packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of packages installed to the user-site</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Press to refresh the dependency tree</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="185" /> <source>pip Menu</source> <translation>Menu pip</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="228" /> <source>Name:</source> <translation>Nombre:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="229" /> <source>Version:</source> <translation>Versión:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="230" /> <source>Location:</source> <translation>Ubicación:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="231" /> <source>Requires:</source> <translation>Requiere:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="232" /> <source>Summary:</source> <translation>Resumen:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="233" /> <source>Homepage:</source> <translation>Página Home:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="209" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="234" /> <source>Author:</source> <translation>Autor:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="235" /> <source>Author Email:</source> <translation>Correo electrónico del Autor:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="236" /> <source>License:</source> <translation>Licencia:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="237" /> <source>Metadata Version:</source> <translation>Versión de Metadatos:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="238" /> <source>Installer:</source> <translation>Instalador:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="239" /> <source>Classifiers:</source> <translation>Clasificadores:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="215" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="240" /> <source>Entry Points:</source> <translation>Puntos de Entrada:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="216" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="241" /> <source>Files:</source> <translation>Archivos:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="384" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="413" /> <source>Getting installed packages...</source> <translation>Obteniendo packages instalados...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="400" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="429" /> <source>Getting outdated packages...</source> <translation>Obteniendo packages antiguos...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1028" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="865" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="843" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="900" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="878" /> <source>Search PyPI</source> <translation>Buscar PyPI</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="844" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="879" /> <source><p>Received an error while searching for <b>{0}</b>.</p><p>Error: {1}</p></source> <translation><p>Recibido error mientras se buscaba <b>{0}</b>.</p><p>Error: {1}</p></translation> </message> <message numerus="yes"> - <location filename="../PipInterface/PipPackagesWidget.py" line="858" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="893" /> <source>%n package(s) found.</source> <translation> <numerusform>%n package encontrado.</numerusform> @@ -52144,142 +52199,147 @@ </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="860" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="895" /> <source>Showing first 20 packages found.</source> <translation>Mostrando los primeros 20 packages encontrados.</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="868" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="866" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="903" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="901" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation><p>Sin resultados para <b>{0}</b>.</p></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1064" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation><p>No hay info de detalles de package disponible para <b>{0}</b>.</p></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1043" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1078" /> <source>Install Pip</source> <translation>Instalar Pip</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046" /> - <source>Install Pip to User-Site</source> - <translation>Instalar Pip en el Sitio de Usuario</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1049" /> - <source>Repair Pip</source> - <translation>Reparar Pip</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1179" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1053" /> - <source>Install Packages</source> - <translation>Instalar Packages</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1056" /> - <source>Install Local Package</source> - <translation>Instalar Package Local</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1060" /> - <source>Install Requirements</source> - <translation>Instalar Requisitos</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> - <source>Re-Install Selected Packages</source> - <translation>Reinstalar los Packages Seleccionados</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1066" /> - <source>Uninstall Requirements</source> - <translation>Desinstalar Requisitos</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1069" /> - <source>Generate Requirements...</source> - <translation>Generar Requisitos...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1073" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1077" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1081" /> - <source>Show Cache Info...</source> - <translation>Mostrar info de Cache...</translation> + <source>Install Pip to User-Site</source> + <translation>Instalar Pip en el Sitio de Usuario</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1084" /> - <source>Show Cached Files...</source> - <translation>Mostrar Archivos en Cache...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1087" /> - <source>Remove Cached Files...</source> - <translation>Eliminar Archivos en Cache...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1090" /> - <source>Purge Cache...</source> - <translation>Purgar Cache...</translation> + <source>Repair Pip</source> + <translation>Reparar Pip</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1088" /> + <source>Install Packages</source> + <translation>Instalar Packages</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1091" /> + <source>Install Local Package</source> + <translation>Instalar Package Local</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1095" /> - <source>Edit User Configuration...</source> - <translation>Editar Configuración de Usuario...</translation> + <source>Install Requirements</source> + <translation>Instalar Requisitos</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1098" /> + <source>Re-Install Selected Packages</source> + <translation>Reinstalar los Packages Seleccionados</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1101" /> + <source>Uninstall Requirements</source> + <translation>Desinstalar Requisitos</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1104" /> + <source>Generate Requirements...</source> + <translation>Generar Requisitos...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1108" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1112" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <source>Show Cache Info...</source> + <translation>Mostrar info de Cache...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1119" /> + <source>Show Cached Files...</source> + <translation>Mostrar Archivos en Cache...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1122" /> + <source>Remove Cached Files...</source> + <translation>Eliminar Archivos en Cache...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1125" /> + <source>Purge Cache...</source> + <translation>Purgar Cache...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1130" /> + <source>Edit User Configuration...</source> + <translation>Editar Configuración de Usuario...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1133" /> <source>Edit Environment Configuration...</source> <translation>Editar Configuración de Entorno...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1103" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1138" /> <source>Configure...</source> <translation>Configurar...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1301" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1288" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1277" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1336" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1323" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1312" /> <source>Edit Configuration</source> <translation>Editar Configuración</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1302" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1289" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1278" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1337" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1324" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1313" /> <source>No valid configuration path determined. Aborting</source> <translation>No hay una ruta válida de configuración determinada. Abortando</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1456" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1491" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1478" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1513" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1481" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1516" /> <source>Advisory:</source> <translation type="unfinished" /> </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1631" /> + <source>any</source> + <translation type="unfinished">cualquiera</translation> + </message> </context> <context> <name>PipPage</name>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_fr.ts --- a/eric7/i18n/eric7_fr.ts Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/i18n/eric7_fr.ts Wed Mar 23 20:21:42 2022 +0100 @@ -55738,11 +55738,17 @@ <name>PipPackagesWidget</name> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Toggle to show or hide the dependency tree view</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Select to show only locally-installed packages</source> <translation>Cocher pour montrer uniquement les packages installés localement</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Local packages only</source> <translation>Packages locaux uniquement</translation> </message> @@ -55763,6 +55769,7 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>User-Site only</source> <translation type="unfinished" /> </message> @@ -55780,11 +55787,13 @@ <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Package</source> <translation>Package</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Installed Version</source> <translation>Version installée</translation> </message> @@ -55841,6 +55850,7 @@ <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Press to show details for the selected entry</source> <translation>Cliquer pour montrer les détails de l'entrée sélectionnée</translation> </message> @@ -55890,104 +55900,149 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="177" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>View Type</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package requires other packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Requires</source> + <translation type="unfinished">Nécessitent</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package is required by others</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required By</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of locally installed packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of packages installed to the user-site</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Press to refresh the dependency tree</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="185" /> <source>pip Menu</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="228" /> <source>Name:</source> <translation>Nom :</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="229" /> <source>Version:</source> <translation>Version :</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="230" /> <source>Location:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="231" /> <source>Requires:</source> <translation>Nécessite :</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="232" /> <source>Summary:</source> <translation>Bilan :</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="233" /> <source>Homepage:</source> <translation>Page d'accueil :</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="209" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="234" /> <source>Author:</source> <translation>Auteur :</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="235" /> <source>Author Email:</source> <translation>Courreil de l'auteur :</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="236" /> <source>License:</source> <translation>Licence :</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="237" /> <source>Metadata Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="238" /> <source>Installer:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="239" /> <source>Classifiers:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="215" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="240" /> <source>Entry Points:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="216" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="241" /> <source>Files:</source> <translation>Fichiers :</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="384" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="413" /> <source>Getting installed packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="400" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="429" /> <source>Getting outdated packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1028" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="865" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="843" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="900" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="878" /> <source>Search PyPI</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="844" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="879" /> <source><p>Received an error while searching for <b>{0}</b>.</p><p>Error: {1}</p></source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../PipInterface/PipPackagesWidget.py" line="858" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="893" /> <source>%n package(s) found.</source> <translation> <numerusform>%n package trouvé.</numerusform> @@ -55995,143 +56050,148 @@ </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="860" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="895" /> <source>Showing first 20 packages found.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="868" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="866" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="903" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="901" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1064" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1043" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1078" /> <source>Install Pip</source> <translation>Installer pip</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046" /> - <source>Install Pip to User-Site</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1049" /> - <source>Repair Pip</source> - <translation>Réparer Pip</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1179" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1053" /> - <source>Install Packages</source> - <translation>Installer des packages</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1056" /> - <source>Install Local Package</source> - <translation>Installer un package local</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1060" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> - <source>Re-Install Selected Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1066" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1069" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1073" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1077" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1081" /> - <source>Show Cache Info...</source> + <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1084" /> - <source>Show Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1087" /> - <source>Remove Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1090" /> - <source>Purge Cache...</source> - <translation type="unfinished" /> + <source>Repair Pip</source> + <translation>Réparer Pip</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1088" /> + <source>Install Packages</source> + <translation>Installer des packages</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1091" /> + <source>Install Local Package</source> + <translation>Installer un package local</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1095" /> - <source>Edit User Configuration...</source> - <translation>Éditer la configuration utilisateur...</translation> + <source>Install Requirements</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1098" /> + <source>Re-Install Selected Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1101" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1104" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1108" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1112" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <source>Show Cache Info...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1119" /> + <source>Show Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1122" /> + <source>Remove Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1125" /> + <source>Purge Cache...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1130" /> + <source>Edit User Configuration...</source> + <translation>Éditer la configuration utilisateur...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1133" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1103" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1138" /> <source>Configure...</source> <translation>Configuration...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1301" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1288" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1277" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1336" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1323" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1312" /> <source>Edit Configuration</source> <translation>Éditer la configuration</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1302" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1289" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1278" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1337" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1324" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1313" /> <source>No valid configuration path determined. Aborting</source> <translation>Pas de chemin de configuration déterminé. Annulation</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1456" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1491" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1478" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1513" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1481" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1516" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1631" /> + <source>any</source> + <translation type="unfinished" /> + </message> + <message> <source><p>The package search did not return anything.</p></source> <translation type="vanished"><p>La recherche de package n'a rien retourné.</p></translation> </message>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_it.ts --- a/eric7/i18n/eric7_it.ts Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/i18n/eric7_it.ts Wed Mar 23 20:21:42 2022 +0100 @@ -57548,11 +57548,17 @@ <name>PipPackagesWidget</name> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Toggle to show or hide the dependency tree view</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Select to show only locally-installed packages</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Local packages only</source> <translation type="unfinished" /> </message> @@ -57573,6 +57579,7 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>User-Site only</source> <translation type="unfinished" /> </message> @@ -57590,11 +57597,13 @@ <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Installed Version</source> <translation type="unfinished" /> </message> @@ -57651,6 +57660,7 @@ <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Press to show details for the selected entry</source> <translation type="unfinished" /> </message> @@ -57700,104 +57710,149 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="177" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>View Type</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package requires other packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Requires</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package is required by others</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required By</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of locally installed packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of packages installed to the user-site</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Press to refresh the dependency tree</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="185" /> <source>pip Menu</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="228" /> <source>Name:</source> <translation type="unfinished">Nome:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="229" /> <source>Version:</source> <translation type="unfinished">Versione:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="230" /> <source>Location:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="231" /> <source>Requires:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="232" /> <source>Summary:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="233" /> <source>Homepage:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="209" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="234" /> <source>Author:</source> <translation type="unfinished">Autore:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="235" /> <source>Author Email:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="236" /> <source>License:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="237" /> <source>Metadata Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="238" /> <source>Installer:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="239" /> <source>Classifiers:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="215" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="240" /> <source>Entry Points:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="216" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="241" /> <source>Files:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="384" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="413" /> <source>Getting installed packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="400" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="429" /> <source>Getting outdated packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1028" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="865" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="843" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="900" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="878" /> <source>Search PyPI</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="844" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="879" /> <source><p>Received an error while searching for <b>{0}</b>.</p><p>Error: {1}</p></source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../PipInterface/PipPackagesWidget.py" line="858" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="893" /> <source>%n package(s) found.</source> <translation type="unfinished"> <numerusform /> @@ -57805,142 +57860,147 @@ </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="860" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="895" /> <source>Showing first 20 packages found.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="868" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="866" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="903" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="901" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1064" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1043" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1078" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046" /> - <source>Install Pip to User-Site</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1049" /> - <source>Repair Pip</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1179" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1053" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1056" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1060" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> - <source>Re-Install Selected Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1066" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1069" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1073" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1077" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1081" /> - <source>Show Cache Info...</source> + <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1084" /> - <source>Show Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1087" /> - <source>Remove Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1090" /> - <source>Purge Cache...</source> + <source>Repair Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1088" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1091" /> + <source>Install Local Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1095" /> - <source>Edit User Configuration...</source> + <source>Install Requirements</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1098" /> + <source>Re-Install Selected Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1101" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1104" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1108" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1112" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <source>Show Cache Info...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1119" /> + <source>Show Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1122" /> + <source>Remove Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1125" /> + <source>Purge Cache...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1130" /> + <source>Edit User Configuration...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1133" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1103" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1138" /> <source>Configure...</source> <translation type="unfinished">Configura...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1301" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1288" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1277" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1336" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1323" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1312" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1302" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1289" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1278" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1337" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1324" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1313" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1456" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1491" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished">{0} {1}</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1478" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1513" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1481" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1516" /> <source>Advisory:</source> <translation type="unfinished" /> </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1631" /> + <source>any</source> + <translation type="unfinished" /> + </message> </context> <context> <name>PipPage</name>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_pt.ts --- a/eric7/i18n/eric7_pt.ts Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/i18n/eric7_pt.ts Wed Mar 23 20:21:42 2022 +0100 @@ -57045,11 +57045,17 @@ <name>PipPackagesWidget</name> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Toggle to show or hide the dependency tree view</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Select to show only locally-installed packages</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Local packages only</source> <translation type="unfinished" /> </message> @@ -57070,6 +57076,7 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>User-Site only</source> <translation type="unfinished" /> </message> @@ -57087,11 +57094,13 @@ <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Installed Version</source> <translation type="unfinished" /> </message> @@ -57148,6 +57157,7 @@ <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Press to show details for the selected entry</source> <translation type="unfinished" /> </message> @@ -57197,104 +57207,149 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="177" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>View Type</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package requires other packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Requires</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package is required by others</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required By</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of locally installed packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of packages installed to the user-site</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Press to refresh the dependency tree</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="185" /> <source>pip Menu</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="228" /> <source>Name:</source> <translation type="unfinished">Nome:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="229" /> <source>Version:</source> <translation type="unfinished">Versão:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="230" /> <source>Location:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="231" /> <source>Requires:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="232" /> <source>Summary:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="233" /> <source>Homepage:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="209" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="234" /> <source>Author:</source> <translation type="unfinished">Autor:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="235" /> <source>Author Email:</source> <translation type="unfinished">Correio Eletrónico do Autor:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="236" /> <source>License:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="237" /> <source>Metadata Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="238" /> <source>Installer:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="239" /> <source>Classifiers:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="215" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="240" /> <source>Entry Points:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="216" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="241" /> <source>Files:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="384" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="413" /> <source>Getting installed packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="400" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="429" /> <source>Getting outdated packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1028" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="865" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="843" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="900" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="878" /> <source>Search PyPI</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="844" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="879" /> <source><p>Received an error while searching for <b>{0}</b>.</p><p>Error: {1}</p></source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../PipInterface/PipPackagesWidget.py" line="858" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="893" /> <source>%n package(s) found.</source> <translation type="unfinished"> <numerusform /> @@ -57302,143 +57357,148 @@ </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="860" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="895" /> <source>Showing first 20 packages found.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="868" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="866" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="903" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="901" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1064" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1043" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1078" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046" /> - <source>Install Pip to User-Site</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1049" /> - <source>Repair Pip</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1179" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1053" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1056" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1060" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> - <source>Re-Install Selected Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1066" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1069" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1073" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1077" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1081" /> - <source>Show Cache Info...</source> + <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1084" /> - <source>Show Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1087" /> - <source>Remove Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1090" /> - <source>Purge Cache...</source> + <source>Repair Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1088" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1091" /> + <source>Install Local Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1095" /> - <source>Edit User Configuration...</source> + <source>Install Requirements</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1098" /> + <source>Re-Install Selected Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1101" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1104" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1108" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1112" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <source>Show Cache Info...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1119" /> + <source>Show Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1122" /> + <source>Remove Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1125" /> + <source>Purge Cache...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1130" /> + <source>Edit User Configuration...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1133" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1103" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1138" /> <source>Configure...</source> <translation type="unfinished">Configurar...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1301" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1288" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1277" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1336" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1323" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1312" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1302" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1289" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1278" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1337" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1324" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1313" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1456" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1491" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1478" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1513" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1481" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1516" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1631" /> + <source>any</source> + <translation type="unfinished" /> + </message> + <message> <source>Error: {0}</source> <translation type="vanished">Erro: {0}</translation> </message>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_ru.ts --- a/eric7/i18n/eric7_ru.ts Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/i18n/eric7_ru.ts Wed Mar 23 20:21:42 2022 +0100 @@ -51967,11 +51967,17 @@ <name>PipPackagesWidget</name> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Toggle to show or hide the dependency tree view</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Select to show only locally-installed packages</source> <translation>Разрешить отображать только локально установленные пакеты</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Local packages only</source> <translation>Только локальные пакеты</translation> </message> @@ -51992,6 +51998,7 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>User-Site only</source> <translation>Только в user-site</translation> </message> @@ -52009,11 +52016,13 @@ <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Package</source> <translation>Пакет</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Installed Version</source> <translation>Установленная версия</translation> </message> @@ -52070,6 +52079,7 @@ <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Press to show details for the selected entry</source> <translation>Показать информацию для выбранной записи</translation> </message> @@ -52119,104 +52129,149 @@ <translation>Установить выбранный пакет в user site</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="177" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>View Type</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package requires other packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Requires</source> + <translation type="unfinished">Зависимости</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package is required by others</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required By</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of locally installed packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of packages installed to the user-site</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Press to refresh the dependency tree</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="185" /> <source>pip Menu</source> <translation>Меню pip</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="228" /> <source>Name:</source> <translation>Имя:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="229" /> <source>Version:</source> <translation>Версия:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="230" /> <source>Location:</source> <translation>Расположение:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="231" /> <source>Requires:</source> <translation>Зависимости:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="232" /> <source>Summary:</source> <translation>Аннотация:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="233" /> <source>Homepage:</source> <translation>Домашняя страница:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="209" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="234" /> <source>Author:</source> <translation>Автор:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="235" /> <source>Author Email:</source> <translation>Email автора:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="236" /> <source>License:</source> <translation>Лицензия:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="237" /> <source>Metadata Version:</source> <translation>Версия Metadata:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="238" /> <source>Installer:</source> <translation>Установщик:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="239" /> <source>Classifiers:</source> <translation>Классификаторы:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="215" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="240" /> <source>Entry Points:</source> <translation>Точки входа:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="216" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="241" /> <source>Files:</source> <translation>Файлы:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="384" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="413" /> <source>Getting installed packages...</source> <translation>Получение списка установленных пакетов...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="400" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="429" /> <source>Getting outdated packages...</source> <translation>Получение списка обновленных пакетов...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1028" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="865" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="843" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="900" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="878" /> <source>Search PyPI</source> <translation>Поиск в PyPI</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="844" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="879" /> <source><p>Received an error while searching for <b>{0}</b>.</p><p>Error: {1}</p></source> <translation><p>Получена ошибка при поиске <b>{0}</b>.</p><p>Ошибка: {1}</p></translation> </message> <message numerus="yes"> - <location filename="../PipInterface/PipPackagesWidget.py" line="858" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="893" /> <source>%n package(s) found.</source> <translation> <numerusform>Найден %n пакет.</numerusform> @@ -52225,142 +52280,147 @@ </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="860" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="895" /> <source>Showing first 20 packages found.</source> <translation>Показаны первые 20 найденных пакетов.</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="868" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="866" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="903" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="901" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation><p>Нет результатов по запросу <b>{0}</b>.</p></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1064" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation><p>Недоступна подробная информация о пакете <b>{0}</b>.</p></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1043" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1078" /> <source>Install Pip</source> <translation>Инсталировать Pip</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046" /> - <source>Install Pip to User-Site</source> - <translation>Инсталировать Pip в User-Site</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1049" /> - <source>Repair Pip</source> - <translation>Восстановить Pip</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1179" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1053" /> - <source>Install Packages</source> - <translation>Установить пакеты</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1056" /> - <source>Install Local Package</source> - <translation>Установить локальный пакет</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1060" /> - <source>Install Requirements</source> - <translation>Установить зависимости</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> - <source>Re-Install Selected Packages</source> - <translation>Переинсталировать выбранные пакеты</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1066" /> - <source>Uninstall Requirements</source> - <translation>Деинсталировать зависимости</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1069" /> - <source>Generate Requirements...</source> - <translation>Генерация зависимостей...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1073" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1077" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1081" /> - <source>Show Cache Info...</source> - <translation>Показать информацию о кэше...</translation> + <source>Install Pip to User-Site</source> + <translation>Инсталировать Pip в User-Site</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1084" /> - <source>Show Cached Files...</source> - <translation>Показать кэшированные файлы...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1087" /> - <source>Remove Cached Files...</source> - <translation>Удалить кэшированные файлы...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1090" /> - <source>Purge Cache...</source> - <translation>Очистить кэш...</translation> + <source>Repair Pip</source> + <translation>Восстановить Pip</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1088" /> + <source>Install Packages</source> + <translation>Установить пакеты</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1091" /> + <source>Install Local Package</source> + <translation>Установить локальный пакет</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1095" /> - <source>Edit User Configuration...</source> - <translation>Правка конфигурации пользователя...</translation> + <source>Install Requirements</source> + <translation>Установить зависимости</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1098" /> + <source>Re-Install Selected Packages</source> + <translation>Переинсталировать выбранные пакеты</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1101" /> + <source>Uninstall Requirements</source> + <translation>Деинсталировать зависимости</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1104" /> + <source>Generate Requirements...</source> + <translation>Генерация зависимостей...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1108" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1112" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <source>Show Cache Info...</source> + <translation>Показать информацию о кэше...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1119" /> + <source>Show Cached Files...</source> + <translation>Показать кэшированные файлы...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1122" /> + <source>Remove Cached Files...</source> + <translation>Удалить кэшированные файлы...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1125" /> + <source>Purge Cache...</source> + <translation>Очистить кэш...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1130" /> + <source>Edit User Configuration...</source> + <translation>Правка конфигурации пользователя...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1133" /> <source>Edit Environment Configuration...</source> <translation>Правка конфигурации среды окружения...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1103" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1138" /> <source>Configure...</source> <translation>Настроить...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1301" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1288" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1277" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1336" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1323" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1312" /> <source>Edit Configuration</source> <translation>Правка конфигурации</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1302" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1289" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1278" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1337" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1324" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1313" /> <source>No valid configuration path determined. Aborting</source> <translation>Не определен допустимый путь конфигурации. Прерывание</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1456" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1491" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1478" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1513" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1481" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1516" /> <source>Advisory:</source> <translation type="unfinished" /> </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1631" /> + <source>any</source> + <translation type="unfinished">любой</translation> + </message> </context> <context> <name>PipPage</name>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_tr.ts --- a/eric7/i18n/eric7_tr.ts Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/i18n/eric7_tr.ts Wed Mar 23 20:21:42 2022 +0100 @@ -55749,11 +55749,17 @@ <name>PipPackagesWidget</name> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Toggle to show or hide the dependency tree view</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Select to show only locally-installed packages</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Local packages only</source> <translation type="unfinished" /> </message> @@ -55774,6 +55780,7 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>User-Site only</source> <translation type="unfinished" /> </message> @@ -55791,11 +55798,13 @@ <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Installed Version</source> <translation type="unfinished" /> </message> @@ -55852,6 +55861,7 @@ <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Press to show details for the selected entry</source> <translation type="unfinished" /> </message> @@ -55901,104 +55911,149 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="177" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>View Type</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package requires other packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Requires</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package is required by others</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required By</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of locally installed packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of packages installed to the user-site</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Press to refresh the dependency tree</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="185" /> <source>pip Menu</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="228" /> <source>Name:</source> <translation type="unfinished">Adı:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="229" /> <source>Version:</source> <translation type="unfinished">Sürüm:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="230" /> <source>Location:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="231" /> <source>Requires:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="232" /> <source>Summary:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="233" /> <source>Homepage:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="209" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="234" /> <source>Author:</source> <translation type="unfinished">Yazar:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="235" /> <source>Author Email:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="236" /> <source>License:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="237" /> <source>Metadata Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="238" /> <source>Installer:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="239" /> <source>Classifiers:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="215" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="240" /> <source>Entry Points:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="216" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="241" /> <source>Files:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="384" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="413" /> <source>Getting installed packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="400" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="429" /> <source>Getting outdated packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1028" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="865" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="843" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="900" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="878" /> <source>Search PyPI</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="844" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="879" /> <source><p>Received an error while searching for <b>{0}</b>.</p><p>Error: {1}</p></source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../PipInterface/PipPackagesWidget.py" line="858" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="893" /> <source>%n package(s) found.</source> <translation type="unfinished"> <numerusform /> @@ -56006,143 +56061,148 @@ </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="860" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="895" /> <source>Showing first 20 packages found.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="868" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="866" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="903" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="901" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1064" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1043" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1078" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046" /> - <source>Install Pip to User-Site</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1049" /> - <source>Repair Pip</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1179" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1053" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1056" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1060" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> - <source>Re-Install Selected Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1066" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1069" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1073" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1077" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1081" /> - <source>Show Cache Info...</source> + <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1084" /> - <source>Show Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1087" /> - <source>Remove Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1090" /> - <source>Purge Cache...</source> + <source>Repair Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1088" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1091" /> + <source>Install Local Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1095" /> - <source>Edit User Configuration...</source> + <source>Install Requirements</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1098" /> + <source>Re-Install Selected Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1101" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1104" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1108" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1112" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <source>Show Cache Info...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1119" /> + <source>Show Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1122" /> + <source>Remove Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1125" /> + <source>Purge Cache...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1130" /> + <source>Edit User Configuration...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1133" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1103" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1138" /> <source>Configure...</source> <translation type="unfinished">Ayarlanıyor...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1301" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1288" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1277" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1336" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1323" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1312" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1302" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1289" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1278" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1337" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1324" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1313" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1456" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1491" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1478" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1513" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1481" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1516" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1631" /> + <source>any</source> + <translation type="unfinished" /> + </message> + <message> <source>Error: {0}</source> <translation type="vanished">Hata: {0}</translation> </message>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/i18n/eric7_zh_CN.ts --- a/eric7/i18n/eric7_zh_CN.ts Tue Mar 22 19:31:29 2022 +0100 +++ b/eric7/i18n/eric7_zh_CN.ts Wed Mar 23 20:21:42 2022 +0100 @@ -56622,11 +56622,17 @@ <name>PipPackagesWidget</name> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Toggle to show or hide the dependency tree view</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Select to show only locally-installed packages</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Local packages only</source> <translation type="unfinished" /> </message> @@ -56647,6 +56653,7 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>User-Site only</source> <translation type="unfinished" /> </message> @@ -56664,11 +56671,13 @@ <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Installed Version</source> <translation type="unfinished" /> </message> @@ -56725,6 +56734,7 @@ <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>Press to show details for the selected entry</source> <translation type="unfinished" /> </message> @@ -56774,247 +56784,297 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="177" /> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>View Type</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package requires other packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Requires</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show which package is required by others</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required By</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of locally installed packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Select to show only dependencies of packages installed to the user-site</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Required Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Press to refresh the dependency tree</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="185" /> <source>pip Menu</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="228" /> <source>Name:</source> <translation type="unfinished">名称:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="229" /> <source>Version:</source> <translation type="unfinished">版本:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="230" /> <source>Location:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="231" /> <source>Requires:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="232" /> <source>Summary:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="233" /> <source>Homepage:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="209" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="234" /> <source>Author:</source> <translation type="unfinished">作者:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="235" /> <source>Author Email:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="236" /> <source>License:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="237" /> <source>Metadata Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="238" /> <source>Installer:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="239" /> <source>Classifiers:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="215" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="240" /> <source>Entry Points:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="216" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="241" /> <source>Files:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="384" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="413" /> <source>Getting installed packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="400" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="429" /> <source>Getting outdated packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1028" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="865" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="843" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="900" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="878" /> <source>Search PyPI</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="844" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="879" /> <source><p>Received an error while searching for <b>{0}</b>.</p><p>Error: {1}</p></source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../PipInterface/PipPackagesWidget.py" line="858" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="893" /> <source>%n package(s) found.</source> <translation type="unfinished"> <numerusform /> </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="860" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="895" /> <source>Showing first 20 packages found.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="868" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="866" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="903" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="901" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1064" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1043" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1078" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046" /> - <source>Install Pip to User-Site</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1049" /> - <source>Repair Pip</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1179" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1053" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1056" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1060" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1063" /> - <source>Re-Install Selected Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1066" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1069" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1073" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1077" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1081" /> - <source>Show Cache Info...</source> + <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1084" /> - <source>Show Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1087" /> - <source>Remove Cached Files...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1090" /> - <source>Purge Cache...</source> + <source>Repair Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1088" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1091" /> + <source>Install Local Package</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1095" /> - <source>Edit User Configuration...</source> + <source>Install Requirements</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1098" /> + <source>Re-Install Selected Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1101" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1104" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1108" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1112" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <source>Show Cache Info...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1119" /> + <source>Show Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1122" /> + <source>Remove Cached Files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1125" /> + <source>Purge Cache...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1130" /> + <source>Edit User Configuration...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1133" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1103" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1138" /> <source>Configure...</source> <translation type="unfinished">配置…</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1301" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1288" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1277" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1336" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1323" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1312" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1302" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1289" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1278" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1337" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1324" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1313" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1456" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1491" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished">{0} {1}</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1478" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1513" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1481" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1516" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1631" /> + <source>any</source> + <translation type="unfinished" /> + </message> + <message> <source>Error: {0}</source> <translation type="vanished">错误:{0}</translation> </message>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/icons/breeze-dark/viewListTree.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric7/icons/breeze-dark/viewListTree.svg Wed Mar 23 20:21:42 2022 +0100 @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + viewBox="0 0 22 22" + version="1.1" + id="svg6" + sodipodi:docname="viewListTree.svg" + inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview8" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + showgrid="false" + inkscape:zoom="28.636364" + inkscape:cx="11" + inkscape:cy="11" + inkscape:window-width="2580" + inkscape:window-height="1080" + inkscape:window-x="-4" + inkscape:window-y="293" + inkscape:window-maximized="0" + inkscape:current-layer="svg6" /> + <defs + id="defs3051"> + <style + type="text/css" + id="current-color-scheme"> + .ColorScheme-Text { + color:#232629; + } + </style> + </defs> + <path + style="fill:#eff0f1;fill-opacity:1;stroke:none;stroke-width:1.25" + d="m 1,1 v 8.75 h 7.5 v 7.5 h 1.25 2.5 V 21 H 21 V 12.25 H 12.25 V 16 H 9.75 V 9.75 6 h 2.5 V 9.75 H 21 V 1 H 12.25 V 4.75 H 9.75 V 1 Z M 2.25,2.25 H 8.5 V 8.5 H 2.25 Z m 11.25,0 h 6.25 V 8.5 H 13.5 Z" + class="ColorScheme-Text" + id="path4" /> +</svg>
diff -r 62bd225b489f -r d8946c2a22b5 eric7/icons/breeze-light/viewListTree.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric7/icons/breeze-light/viewListTree.svg Wed Mar 23 20:21:42 2022 +0100 @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"> + <defs id="defs3051"> + <style type="text/css" id="current-color-scheme"> + .ColorScheme-Text { + color:#232629; + } + </style> + </defs> + <path + style="fill:currentColor;fill-opacity:1;stroke:none" + d="M 3 3 L 3 10 L 9 10 L 9 16 L 10 16 L 12 16 L 12 19 L 19 19 L 19 12 L 12 12 L 12 15 L 10 15 L 10 10 L 10 7 L 12 7 L 12 10 L 19 10 L 19 3 L 12 3 L 12 6 L 10 6 L 10 3 L 3 3 z M 4 4 L 9 4 L 9 9 L 4 9 L 4 4 z M 13 4 L 18 4 L 18 9 L 13 9 L 13 4 z " + class="ColorScheme-Text" + /> +</svg>