Thu, 16 Sep 2021 19:31:00 +0200
Virtual Environments
- integrated the Virtual Environment Manager window into the right side bar
--- a/docs/changelog Thu Sep 16 19:23:07 2021 +0200 +++ b/docs/changelog Thu Sep 16 19:31:00 2021 +0200 @@ -30,6 +30,8 @@ - Viewmanager -- added a 'Start' sub menu to the tabview and listspace view managers context menu +- Virtual Environments + -- integrated the Virtual Environment Manager window into the right side bar - Third Party packages -- upgraded coverage to 5.5.0
--- a/eric7.epj Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7.epj Thu Sep 16 19:31:00 2021 +0200 @@ -637,7 +637,6 @@ "eric7/VirtualEnv/VirtualenvConfigurationDialog.ui", "eric7/VirtualEnv/VirtualenvExecDialog.ui", "eric7/VirtualEnv/VirtualenvInterpreterSelectionDialog.ui", - "eric7/VirtualEnv/VirtualenvManagerDialog.ui", "eric7/VirtualEnv/VirtualenvNameDialog.ui", "eric7/WebBrowser/AdBlock/AdBlockDialog.ui", "eric7/WebBrowser/AdBlock/AdBlockExceptionsDialog.ui", @@ -713,7 +712,8 @@ "eric7/WebBrowser/QtHelp/QtHelpDocumentationConfigurationDialog.ui", "eric7/Preferences/ConfigurationPages/EditorAutoCompletionJediPage.ui", "eric7/Preferences/ConfigurationPages/EditorCallTipsJediPage.ui", - "eric7/Preferences/ConfigurationPages/EditorMouseClickHandlerJediPage.ui" + "eric7/Preferences/ConfigurationPages/EditorMouseClickHandlerJediPage.ui", + "eric7/VirtualEnv/VirtualenvManagerWidget.ui" ], "HASH": "df7daa8781250f7664e6ecaeaf1361fa2efd39ee", "IDLPARAMS": { @@ -1895,7 +1895,6 @@ "eric7/VirtualEnv/VirtualenvExecDialog.py", "eric7/VirtualEnv/VirtualenvInterpreterSelectionDialog.py", "eric7/VirtualEnv/VirtualenvManager.py", - "eric7/VirtualEnv/VirtualenvManagerDialog.py", "eric7/VirtualEnv/VirtualenvNameDialog.py", "eric7/VirtualEnv/__init__.py", "eric7/WebBrowser/AdBlock/AdBlockDialog.py", @@ -2282,7 +2281,8 @@ "eric7/JediInterface/JediServer.py", "eric7/Preferences/ConfigurationPages/EditorAutoCompletionJediPage.py", "eric7/Preferences/ConfigurationPages/EditorCallTipsJediPage.py", - "eric7/Preferences/ConfigurationPages/EditorMouseClickHandlerJediPage.py" + "eric7/Preferences/ConfigurationPages/EditorMouseClickHandlerJediPage.py", + "eric7/VirtualEnv/VirtualenvManagerWidgets.py" ], "SPELLEXCLUDES": "Dictionaries/excludes.dic", "SPELLLANGUAGE": "en_US",
--- a/eric7/APIs/Python3/eric7.api Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/APIs/Python3/eric7.api Thu Sep 16 19:31:00 2021 +0200 @@ -925,14 +925,14 @@ eric7.DocumentationTools.Config.eric7docDefaultColors?7 eric7.DocumentationTools.IndexGenerator.IndexGenerator.remember?4(file, moduleDocument, basename="") eric7.DocumentationTools.IndexGenerator.IndexGenerator.writeIndices?4(basename="", newline=None) -eric7.DocumentationTools.IndexGenerator.IndexGenerator?1(outputDir, colors, stylesheet=None) +eric7.DocumentationTools.IndexGenerator.IndexGenerator?1(outputDir) eric7.DocumentationTools.ModuleDocumentor.ModuleDocument.description?4() eric7.DocumentationTools.ModuleDocumentor.ModuleDocument.genDocument?4() eric7.DocumentationTools.ModuleDocumentor.ModuleDocument.getQtHelpKeywords?4() eric7.DocumentationTools.ModuleDocumentor.ModuleDocument.isEmpty?4() eric7.DocumentationTools.ModuleDocumentor.ModuleDocument.name?4() eric7.DocumentationTools.ModuleDocumentor.ModuleDocument.shortDescription?4() -eric7.DocumentationTools.ModuleDocumentor.ModuleDocument?1(module, colors, stylesheet=None) +eric7.DocumentationTools.ModuleDocumentor.ModuleDocument?1(module) eric7.DocumentationTools.ModuleDocumentor._event?8 eric7.DocumentationTools.ModuleDocumentor._signal?8 eric7.DocumentationTools.QtHelpGenerator.HelpCollection?7 @@ -944,48 +944,10 @@ eric7.DocumentationTools.QtHelpGenerator.QtHelpGenerator.generateFiles?4(basename="", newline=None) eric7.DocumentationTools.QtHelpGenerator.QtHelpGenerator.remember?4(file, moduleDocument, basename="") eric7.DocumentationTools.QtHelpGenerator.QtHelpGenerator?1(htmlDir, outputDir, namespace, virtualFolder, filterName, filterAttributes, title, createCollection) -eric7.DocumentationTools.TemplatesListsStyle.authorInfoTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.classTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.constructorTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.deprecatedTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.eventsListEntryTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.eventsListTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.exceptionsListEntryTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.exceptionsListTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.footerTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.functionTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.headerTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.indexBodyTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.indexListEntryTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.indexListModulesTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.indexListPackagesTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.listEntryDeprecatedTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.listEntryNoneTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.listEntrySimpleTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.listEntryTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.listTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.methodTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.moduleTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.paragraphTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.parameterTypesListEntryTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.parametersListEntryTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.parametersListTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.rbFileTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.rbModuleTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.rbModulesClassTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.returnTypesTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.returnsTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.seeLinkTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.seeListEntryTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.seeListTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.signalsListEntryTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.signalsListTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.sinceInfoTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.yieldTypesTemplate?7 -eric7.DocumentationTools.TemplatesListsStyle.yieldsTemplate?7 eric7.DocumentationTools.TemplatesListsStyleCSS.authorInfoTemplate?7 eric7.DocumentationTools.TemplatesListsStyleCSS.classTemplate?7 eric7.DocumentationTools.TemplatesListsStyleCSS.constructorTemplate?7 +eric7.DocumentationTools.TemplatesListsStyleCSS.cssTemplate?7 eric7.DocumentationTools.TemplatesListsStyleCSS.deprecatedTemplate?7 eric7.DocumentationTools.TemplatesListsStyleCSS.eventsListEntryTemplate?7 eric7.DocumentationTools.TemplatesListsStyleCSS.eventsListTemplate?7 @@ -6584,6 +6546,7 @@ eric7.Preferences.ConfigurationPages.DebuggerGeneralPage.create?4(dlg) eric7.Preferences.ConfigurationPages.DebuggerPython3Page.DebuggerPython3Page.on_refreshButton_clicked?4() eric7.Preferences.ConfigurationPages.DebuggerPython3Page.DebuggerPython3Page.on_venvDlgButton_clicked?4() +eric7.Preferences.ConfigurationPages.DebuggerPython3Page.DebuggerPython3Page.on_venvRefreshButton_clicked?4() eric7.Preferences.ConfigurationPages.DebuggerPython3Page.DebuggerPython3Page.save?4() eric7.Preferences.ConfigurationPages.DebuggerPython3Page.DebuggerPython3Page?1() eric7.Preferences.ConfigurationPages.DebuggerPython3Page.create?4(dlg) @@ -6860,10 +6823,6 @@ eric7.Preferences.ConfigurationPages.PythonPage.PythonPage.save?4() eric7.Preferences.ConfigurationPages.PythonPage.PythonPage?1() eric7.Preferences.ConfigurationPages.PythonPage.create?4(dlg) -eric7.Preferences.ConfigurationPages.QtPage.QtPage.on_pyqt5VenvDlgButton_clicked?4() -eric7.Preferences.ConfigurationPages.QtPage.QtPage.on_pyqt6VenvDlgButton_clicked?4() -eric7.Preferences.ConfigurationPages.QtPage.QtPage.on_pyside2VenvDlgButton_clicked?4() -eric7.Preferences.ConfigurationPages.QtPage.QtPage.on_pyside6VenvDlgButton_clicked?4() eric7.Preferences.ConfigurationPages.QtPage.QtPage.on_qtPostfixEdit_textChanged?4(txt) eric7.Preferences.ConfigurationPages.QtPage.QtPage.on_qtPrefixEdit_textChanged?4(txt) eric7.Preferences.ConfigurationPages.QtPage.QtPage.save?4() @@ -9621,6 +9580,7 @@ eric7.UI.UserInterface.UserInterface.activateCooperationViewer?4() eric7.UI.UserInterface.UserInterface.activateDebugViewer?4() eric7.UI.UserInterface.UserInterface.activatePluginRepositoryViewer?4() +eric7.UI.UserInterface.UserInterface.activateVirtualenvManager?4() eric7.UI.UserInterface.UserInterface.addEricActions?4(actions, actionType) eric7.UI.UserInterface.UserInterface.addSideWidget?4(side, widget, icon, label) eric7.UI.UserInterface.UserInterface.appendStderr?7 @@ -10335,26 +10295,26 @@ eric7.VirtualEnv.VirtualenvManager.VirtualenvManager.setVirtualEnv?4(venvName, venvDirectory, venvInterpreter, isGlobal, isConda, isRemote, execPath) eric7.VirtualEnv.VirtualenvManager.VirtualenvManager.setVirtualEnvironmentsBaseDir?4(baseDir) eric7.VirtualEnv.VirtualenvManager.VirtualenvManager.showVirtualenvManagerDialog?4(modal=False) -eric7.VirtualEnv.VirtualenvManager.VirtualenvManager.shutdown?4() eric7.VirtualEnv.VirtualenvManager.VirtualenvManager.virtualEnvironmentAdded?7 eric7.VirtualEnv.VirtualenvManager.VirtualenvManager.virtualEnvironmentChanged?7 eric7.VirtualEnv.VirtualenvManager.VirtualenvManager.virtualEnvironmentRemoved?7 +eric7.VirtualEnv.VirtualenvManager.VirtualenvManager.virtualEnvironmentsListChanged?7 eric7.VirtualEnv.VirtualenvManager.VirtualenvManager?1(parent=None) -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.ExecPathRole?7 -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.IsCondaRole?7 -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.IsGlobalRole?7 -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.IsRemoteRole?7 -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.closeEvent?4(evt) -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.on_addButton_clicked?4() -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.on_deleteAllButton_clicked?4() -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.on_deleteButton_clicked?4() -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.on_editButton_clicked?4() -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.on_newButton_clicked?4() -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.on_removeAllButton_clicked?4() -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.on_removeButton_clicked?4() -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.on_venvList_itemSelectionChanged?4() -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.refresh?4() -eric7.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog?1(manager, parent=None) +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerDialog?1(manager, parent=None) +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.ExecPathRole?7 +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.IsCondaRole?7 +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.IsGlobalRole?7 +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.IsRemoteRole?7 +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.on_addButton_clicked?4() +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.on_deleteAllButton_clicked?4() +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.on_deleteButton_clicked?4() +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.on_editButton_clicked?4() +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.on_newButton_clicked?4() +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.on_removeAllButton_clicked?4() +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.on_removeButton_clicked?4() +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.on_saveButton_clicked?4() +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget.on_venvList_itemSelectionChanged?4() +eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget?1(manager, parent=None) eric7.VirtualEnv.VirtualenvNameDialog.VirtualenvNameDialog.getName?4() eric7.VirtualEnv.VirtualenvNameDialog.VirtualenvNameDialog.on_nameEdit_textChanged?4(txt) eric7.VirtualEnv.VirtualenvNameDialog.VirtualenvNameDialog?1(environments, currentName, parent=None)
--- a/eric7/APIs/Python3/eric7.bas Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/APIs/Python3/eric7.bas Thu Sep 16 19:31:00 2021 +0200 @@ -1016,7 +1016,8 @@ VirtualenvExecDialog QDialog Ui_VirtualenvExecDialog VirtualenvInterpreterSelectionDialog QDialog Ui_VirtualenvInterpreterSelectionDialog VirtualenvManager QObject -VirtualenvManagerDialog QDialog Ui_VirtualenvManagerDialog +VirtualenvManagerDialog QDialog +VirtualenvManagerWidget QWidget Ui_VirtualenvManagerWidget VirtualenvNameDialog QDialog Ui_VirtualenvNameDialog VirusTotalAPI QObject VirusTotalDomainReportDialog QDialog Ui_VirusTotalDomainReportDialog
--- a/eric7/Documentation/Help/source.qhp Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/Documentation/Help/source.qhp Thu Sep 16 19:31:00 2021 +0200 @@ -1118,7 +1118,7 @@ <section title="eric7.VirtualEnv.VirtualenvExecDialog" ref="eric7.VirtualEnv.VirtualenvExecDialog.html" /> <section title="eric7.VirtualEnv.VirtualenvInterpreterSelectionDialog" ref="eric7.VirtualEnv.VirtualenvInterpreterSelectionDialog.html" /> <section title="eric7.VirtualEnv.VirtualenvManager" ref="eric7.VirtualEnv.VirtualenvManager.html" /> - <section title="eric7.VirtualEnv.VirtualenvManagerDialog" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html" /> + <section title="eric7.VirtualEnv.VirtualenvManagerWidgets" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html" /> <section title="eric7.VirtualEnv.VirtualenvNameDialog" ref="eric7.VirtualEnv.VirtualenvNameDialog.html" /> </section> <section title="eric7.WebBrowser" ref="index-eric7.WebBrowser.html"> @@ -3711,6 +3711,7 @@ <keyword name="DebuggerPython3Page.__populateAndSetVenvComboBox" id="DebuggerPython3Page.__populateAndSetVenvComboBox" ref="eric7.Preferences.ConfigurationPages.DebuggerPython3Page.html#DebuggerPython3Page.__populateAndSetVenvComboBox" /> <keyword name="DebuggerPython3Page.on_refreshButton_clicked" id="DebuggerPython3Page.on_refreshButton_clicked" ref="eric7.Preferences.ConfigurationPages.DebuggerPython3Page.html#DebuggerPython3Page.on_refreshButton_clicked" /> <keyword name="DebuggerPython3Page.on_venvDlgButton_clicked" id="DebuggerPython3Page.on_venvDlgButton_clicked" ref="eric7.Preferences.ConfigurationPages.DebuggerPython3Page.html#DebuggerPython3Page.on_venvDlgButton_clicked" /> + <keyword name="DebuggerPython3Page.on_venvRefreshButton_clicked" id="DebuggerPython3Page.on_venvRefreshButton_clicked" ref="eric7.Preferences.ConfigurationPages.DebuggerPython3Page.html#DebuggerPython3Page.on_venvRefreshButton_clicked" /> <keyword name="DebuggerPython3Page.save" id="DebuggerPython3Page.save" ref="eric7.Preferences.ConfigurationPages.DebuggerPython3Page.html#DebuggerPython3Page.save" /> <keyword name="DeepAssignation" id="DeepAssignation" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.djangoXssVulnerability.html#DeepAssignation" /> <keyword name="DeepAssignation (Constructor)" id="DeepAssignation (Constructor)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.djangoXssVulnerability.html#DeepAssignation.__init__" /> @@ -12632,10 +12633,6 @@ <keyword name="QtPage.__populateAndSetVenvComboBoxes" id="QtPage.__populateAndSetVenvComboBoxes" ref="eric7.Preferences.ConfigurationPages.QtPage.html#QtPage.__populateAndSetVenvComboBoxes" /> <keyword name="QtPage.__showVirtualEnvManager" id="QtPage.__showVirtualEnvManager" ref="eric7.Preferences.ConfigurationPages.QtPage.html#QtPage.__showVirtualEnvManager" /> <keyword name="QtPage.__updateQtSample" id="QtPage.__updateQtSample" ref="eric7.Preferences.ConfigurationPages.QtPage.html#QtPage.__updateQtSample" /> - <keyword name="QtPage.on_pyqt5VenvDlgButton_clicked" id="QtPage.on_pyqt5VenvDlgButton_clicked" ref="eric7.Preferences.ConfigurationPages.QtPage.html#QtPage.on_pyqt5VenvDlgButton_clicked" /> - <keyword name="QtPage.on_pyqt6VenvDlgButton_clicked" id="QtPage.on_pyqt6VenvDlgButton_clicked" ref="eric7.Preferences.ConfigurationPages.QtPage.html#QtPage.on_pyqt6VenvDlgButton_clicked" /> - <keyword name="QtPage.on_pyside2VenvDlgButton_clicked" id="QtPage.on_pyside2VenvDlgButton_clicked" ref="eric7.Preferences.ConfigurationPages.QtPage.html#QtPage.on_pyside2VenvDlgButton_clicked" /> - <keyword name="QtPage.on_pyside6VenvDlgButton_clicked" id="QtPage.on_pyside6VenvDlgButton_clicked" ref="eric7.Preferences.ConfigurationPages.QtPage.html#QtPage.on_pyside6VenvDlgButton_clicked" /> <keyword name="QtPage.on_qtPostfixEdit_textChanged" id="QtPage.on_qtPostfixEdit_textChanged" ref="eric7.Preferences.ConfigurationPages.QtPage.html#QtPage.on_qtPostfixEdit_textChanged" /> <keyword name="QtPage.on_qtPrefixEdit_textChanged" id="QtPage.on_qtPrefixEdit_textChanged" ref="eric7.Preferences.ConfigurationPages.QtPage.html#QtPage.on_qtPrefixEdit_textChanged" /> <keyword name="QtPage.save" id="QtPage.save" ref="eric7.Preferences.ConfigurationPages.QtPage.html#QtPage.save" /> @@ -16008,6 +16005,7 @@ <keyword name="UserInterface.activateCooperationViewer" id="UserInterface.activateCooperationViewer" ref="eric7.UI.UserInterface.html#UserInterface.activateCooperationViewer" /> <keyword name="UserInterface.activateDebugViewer" id="UserInterface.activateDebugViewer" ref="eric7.UI.UserInterface.html#UserInterface.activateDebugViewer" /> <keyword name="UserInterface.activatePluginRepositoryViewer" id="UserInterface.activatePluginRepositoryViewer" ref="eric7.UI.UserInterface.html#UserInterface.activatePluginRepositoryViewer" /> + <keyword name="UserInterface.activateVirtualenvManager" id="UserInterface.activateVirtualenvManager" ref="eric7.UI.UserInterface.html#UserInterface.activateVirtualenvManager" /> <keyword name="UserInterface.addEricActions" id="UserInterface.addEricActions" ref="eric7.UI.UserInterface.html#UserInterface.addEricActions" /> <keyword name="UserInterface.addSideWidget" id="UserInterface.addSideWidget" ref="eric7.UI.UserInterface.html#UserInterface.addSideWidget" /> <keyword name="UserInterface.appendToStderr" id="UserInterface.appendToStderr" ref="eric7.UI.UserInterface.html#UserInterface.appendToStderr" /> @@ -16657,23 +16655,24 @@ <keyword name="VirtualenvManager.setVirtualEnv" id="VirtualenvManager.setVirtualEnv" ref="eric7.VirtualEnv.VirtualenvManager.html#VirtualenvManager.setVirtualEnv" /> <keyword name="VirtualenvManager.setVirtualEnvironmentsBaseDir" id="VirtualenvManager.setVirtualEnvironmentsBaseDir" ref="eric7.VirtualEnv.VirtualenvManager.html#VirtualenvManager.setVirtualEnvironmentsBaseDir" /> <keyword name="VirtualenvManager.showVirtualenvManagerDialog" id="VirtualenvManager.showVirtualenvManagerDialog" ref="eric7.VirtualEnv.VirtualenvManager.html#VirtualenvManager.showVirtualenvManagerDialog" /> - <keyword name="VirtualenvManager.shutdown" id="VirtualenvManager.shutdown" ref="eric7.VirtualEnv.VirtualenvManager.html#VirtualenvManager.shutdown" /> - <keyword name="VirtualenvManagerDialog" id="VirtualenvManagerDialog" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog" /> - <keyword name="VirtualenvManagerDialog (Constructor)" id="VirtualenvManagerDialog (Constructor)" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.__init__" /> - <keyword name="VirtualenvManagerDialog (Module)" id="VirtualenvManagerDialog (Module)" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html" /> - <keyword name="VirtualenvManagerDialog.__populateVenvList" id="VirtualenvManagerDialog.__populateVenvList" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.__populateVenvList" /> - <keyword name="VirtualenvManagerDialog.__resizeSections" id="VirtualenvManagerDialog.__resizeSections" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.__resizeSections" /> - <keyword name="VirtualenvManagerDialog.__updateButtons" id="VirtualenvManagerDialog.__updateButtons" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.__updateButtons" /> - <keyword name="VirtualenvManagerDialog.closeEvent" id="VirtualenvManagerDialog.closeEvent" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.closeEvent" /> - <keyword name="VirtualenvManagerDialog.on_addButton_clicked" id="VirtualenvManagerDialog.on_addButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.on_addButton_clicked" /> - <keyword name="VirtualenvManagerDialog.on_deleteAllButton_clicked" id="VirtualenvManagerDialog.on_deleteAllButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.on_deleteAllButton_clicked" /> - <keyword name="VirtualenvManagerDialog.on_deleteButton_clicked" id="VirtualenvManagerDialog.on_deleteButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.on_deleteButton_clicked" /> - <keyword name="VirtualenvManagerDialog.on_editButton_clicked" id="VirtualenvManagerDialog.on_editButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.on_editButton_clicked" /> - <keyword name="VirtualenvManagerDialog.on_newButton_clicked" id="VirtualenvManagerDialog.on_newButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.on_newButton_clicked" /> - <keyword name="VirtualenvManagerDialog.on_removeAllButton_clicked" id="VirtualenvManagerDialog.on_removeAllButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.on_removeAllButton_clicked" /> - <keyword name="VirtualenvManagerDialog.on_removeButton_clicked" id="VirtualenvManagerDialog.on_removeButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.on_removeButton_clicked" /> - <keyword name="VirtualenvManagerDialog.on_venvList_itemSelectionChanged" id="VirtualenvManagerDialog.on_venvList_itemSelectionChanged" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.on_venvList_itemSelectionChanged" /> - <keyword name="VirtualenvManagerDialog.refresh" id="VirtualenvManagerDialog.refresh" ref="eric7.VirtualEnv.VirtualenvManagerDialog.html#VirtualenvManagerDialog.refresh" /> + <keyword name="VirtualenvManagerDialog" id="VirtualenvManagerDialog" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerDialog" /> + <keyword name="VirtualenvManagerDialog (Constructor)" id="VirtualenvManagerDialog (Constructor)" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerDialog.__init__" /> + <keyword name="VirtualenvManagerWidget" id="VirtualenvManagerWidget" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget" /> + <keyword name="VirtualenvManagerWidget (Constructor)" id="VirtualenvManagerWidget (Constructor)" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.__init__" /> + <keyword name="VirtualenvManagerWidget.__populateVenvList" id="VirtualenvManagerWidget.__populateVenvList" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.__populateVenvList" /> + <keyword name="VirtualenvManagerWidget.__refresh" id="VirtualenvManagerWidget.__refresh" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.__refresh" /> + <keyword name="VirtualenvManagerWidget.__resizeSections" id="VirtualenvManagerWidget.__resizeSections" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.__resizeSections" /> + <keyword name="VirtualenvManagerWidget.__updateButtons" id="VirtualenvManagerWidget.__updateButtons" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.__updateButtons" /> + <keyword name="VirtualenvManagerWidget.on_addButton_clicked" id="VirtualenvManagerWidget.on_addButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.on_addButton_clicked" /> + <keyword name="VirtualenvManagerWidget.on_deleteAllButton_clicked" id="VirtualenvManagerWidget.on_deleteAllButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.on_deleteAllButton_clicked" /> + <keyword name="VirtualenvManagerWidget.on_deleteButton_clicked" id="VirtualenvManagerWidget.on_deleteButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.on_deleteButton_clicked" /> + <keyword name="VirtualenvManagerWidget.on_editButton_clicked" id="VirtualenvManagerWidget.on_editButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.on_editButton_clicked" /> + <keyword name="VirtualenvManagerWidget.on_newButton_clicked" id="VirtualenvManagerWidget.on_newButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.on_newButton_clicked" /> + <keyword name="VirtualenvManagerWidget.on_removeAllButton_clicked" id="VirtualenvManagerWidget.on_removeAllButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.on_removeAllButton_clicked" /> + <keyword name="VirtualenvManagerWidget.on_removeButton_clicked" id="VirtualenvManagerWidget.on_removeButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.on_removeButton_clicked" /> + <keyword name="VirtualenvManagerWidget.on_saveButton_clicked" id="VirtualenvManagerWidget.on_saveButton_clicked" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.on_saveButton_clicked" /> + <keyword name="VirtualenvManagerWidget.on_venvList_itemSelectionChanged" id="VirtualenvManagerWidget.on_venvList_itemSelectionChanged" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html#VirtualenvManagerWidget.on_venvList_itemSelectionChanged" /> + <keyword name="VirtualenvManagerWidgets (Module)" id="VirtualenvManagerWidgets (Module)" ref="eric7.VirtualEnv.VirtualenvManagerWidgets.html" /> <keyword name="VirtualenvNameDialog" id="VirtualenvNameDialog" ref="eric7.VirtualEnv.VirtualenvNameDialog.html#VirtualenvNameDialog" /> <keyword name="VirtualenvNameDialog (Constructor)" id="VirtualenvNameDialog (Constructor)" ref="eric7.VirtualEnv.VirtualenvNameDialog.html#VirtualenvNameDialog.__init__" /> <keyword name="VirtualenvNameDialog (Module)" id="VirtualenvNameDialog (Module)" ref="eric7.VirtualEnv.VirtualenvNameDialog.html" /> @@ -19586,7 +19585,7 @@ <file>eric7.VirtualEnv.VirtualenvExecDialog.html</file> <file>eric7.VirtualEnv.VirtualenvInterpreterSelectionDialog.html</file> <file>eric7.VirtualEnv.VirtualenvManager.html</file> - <file>eric7.VirtualEnv.VirtualenvManagerDialog.html</file> + <file>eric7.VirtualEnv.VirtualenvManagerWidgets.html</file> <file>eric7.VirtualEnv.VirtualenvNameDialog.html</file> <file>eric7.WebBrowser.AdBlock.AdBlockDialog.html</file> <file>eric7.WebBrowser.AdBlock.AdBlockExceptionsDialog.html</file>
--- a/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.DebuggerPython3Page.html Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.DebuggerPython3Page.html Thu Sep 16 19:31:00 2021 +0200 @@ -75,6 +75,10 @@ <td>Private slot to show the virtual environment manager dialog.</td> </tr> <tr> +<td><a href="#DebuggerPython3Page.on_venvRefreshButton_clicked">on_venvRefreshButton_clicked</a></td> +<td>Private slot to reload the list of virtual environments.</td> +</tr> +<tr> <td><a href="#DebuggerPython3Page.save">save</a></td> <td>Public slot to save the Debugger Python configuration.</td> </tr> @@ -113,6 +117,13 @@ <p> Private slot to show the virtual environment manager dialog. </p> +<a NAME="DebuggerPython3Page.on_venvRefreshButton_clicked" ID="DebuggerPython3Page.on_venvRefreshButton_clicked"></a> +<h4>DebuggerPython3Page.on_venvRefreshButton_clicked</h4> +<b>on_venvRefreshButton_clicked</b>(<i></i>) + +<p> + Private slot to reload the list of virtual environments. +</p> <a NAME="DebuggerPython3Page.save" ID="DebuggerPython3Page.save"></a> <h4>DebuggerPython3Page.save</h4> <b>save</b>(<i></i>)
--- a/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.QtPage.html Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.QtPage.html Thu Sep 16 19:31:00 2021 +0200 @@ -79,22 +79,6 @@ <td>Private slot to update the Qt tools sample label.</td> </tr> <tr> -<td><a href="#QtPage.on_pyqt5VenvDlgButton_clicked">on_pyqt5VenvDlgButton_clicked</a></td> -<td>Private slot to show the virtual environment manager dialog.</td> -</tr> -<tr> -<td><a href="#QtPage.on_pyqt6VenvDlgButton_clicked">on_pyqt6VenvDlgButton_clicked</a></td> -<td>Private slot to show the virtual environment manager dialog.</td> -</tr> -<tr> -<td><a href="#QtPage.on_pyside2VenvDlgButton_clicked">on_pyside2VenvDlgButton_clicked</a></td> -<td>Private slot to show the virtual environment manager dialog.</td> -</tr> -<tr> -<td><a href="#QtPage.on_pyside6VenvDlgButton_clicked">on_pyside6VenvDlgButton_clicked</a></td> -<td>Private slot to show the virtual environment manager dialog.</td> -</tr> -<tr> <td><a href="#QtPage.on_qtPostfixEdit_textChanged">on_qtPostfixEdit_textChanged</a></td> <td>Private slot to handle a change in the entered Qt directory.</td> </tr> @@ -170,34 +154,6 @@ <p> Private slot to update the Qt tools sample label. </p> -<a NAME="QtPage.on_pyqt5VenvDlgButton_clicked" ID="QtPage.on_pyqt5VenvDlgButton_clicked"></a> -<h4>QtPage.on_pyqt5VenvDlgButton_clicked</h4> -<b>on_pyqt5VenvDlgButton_clicked</b>(<i></i>) - -<p> - Private slot to show the virtual environment manager dialog. -</p> -<a NAME="QtPage.on_pyqt6VenvDlgButton_clicked" ID="QtPage.on_pyqt6VenvDlgButton_clicked"></a> -<h4>QtPage.on_pyqt6VenvDlgButton_clicked</h4> -<b>on_pyqt6VenvDlgButton_clicked</b>(<i></i>) - -<p> - Private slot to show the virtual environment manager dialog. -</p> -<a NAME="QtPage.on_pyside2VenvDlgButton_clicked" ID="QtPage.on_pyside2VenvDlgButton_clicked"></a> -<h4>QtPage.on_pyside2VenvDlgButton_clicked</h4> -<b>on_pyside2VenvDlgButton_clicked</b>(<i></i>) - -<p> - Private slot to show the virtual environment manager dialog. -</p> -<a NAME="QtPage.on_pyside6VenvDlgButton_clicked" ID="QtPage.on_pyside6VenvDlgButton_clicked"></a> -<h4>QtPage.on_pyside6VenvDlgButton_clicked</h4> -<b>on_pyside6VenvDlgButton_clicked</b>(<i></i>) - -<p> - Private slot to show the virtual environment manager dialog. -</p> <a NAME="QtPage.on_qtPostfixEdit_textChanged" ID="QtPage.on_qtPostfixEdit_textChanged"></a> <h4>QtPage.on_qtPostfixEdit_textChanged</h4> <b>on_qtPostfixEdit_textChanged</b>(<i>txt</i>)
--- a/eric7/Documentation/Source/eric7.UI.UserInterface.html Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/Documentation/Source/eric7.UI.UserInterface.html Thu Sep 16 19:31:00 2021 +0200 @@ -358,7 +358,7 @@ </tr> <tr> <td><a href="#UserInterface.__createObjects">__createObjects</a></td> -<td>Private method to create the various objects of the application.</td> +<td>Private method to create the various application objects.</td> </tr> <tr> <td><a href="#UserInterface.__createSidebarsLayout">__createSidebarsLayout</a></td> @@ -913,6 +913,10 @@ <td>Public slot to activate the plugin repository viewer.</td> </tr> <tr> +<td><a href="#UserInterface.activateVirtualenvManager">activateVirtualenvManager</a></td> +<td>Public slot to activate the virtual environments manager widget.</td> +</tr> +<tr> <td><a href="#UserInterface.addEricActions">addEricActions</a></td> <td>Public method to add actions to the list of actions.</td> </tr> @@ -1522,18 +1526,11 @@ </dl> <a NAME="UserInterface.__createObjects" ID="UserInterface.__createObjects"></a> <h4>UserInterface.__createObjects</h4> -<b>__createObjects</b>(<i>debugServer</i>) +<b>__createObjects</b>(<i></i>) <p> - Private method to create the various objects of the application. + Private method to create the various application objects. </p> -<dl> - -<dt><i>debugServer</i> (DebugServer)</dt> -<dd> -reference to the debug server object -</dd> -</dl> <a NAME="UserInterface.__createSidebarsLayout" ID="UserInterface.__createSidebarsLayout"></a> <h4>UserInterface.__createSidebarsLayout</h4> <b>__createSidebarsLayout</b>(<i></i>) @@ -2963,6 +2960,13 @@ <p> Public slot to activate the plugin repository viewer. </p> +<a NAME="UserInterface.activateVirtualenvManager" ID="UserInterface.activateVirtualenvManager"></a> +<h4>UserInterface.activateVirtualenvManager</h4> +<b>activateVirtualenvManager</b>(<i></i>) + +<p> + Public slot to activate the virtual environments manager widget. +</p> <a NAME="UserInterface.addEricActions" ID="UserInterface.addEricActions"></a> <h4>UserInterface.addEricActions</h4> <b>addEricActions</b>(<i>actions, actionType</i>)
--- a/eric7/Documentation/Source/eric7.VirtualEnv.VirtualenvManager.html Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/Documentation/Source/eric7.VirtualEnv.VirtualenvManager.html Thu Sep 16 19:31:00 2021 +0200 @@ -56,6 +56,11 @@ emitted to indicate the removal and deletion of a virtual environment </dd> +<dt>virtualEnvironmentsListChanged()</dt> +<dd> +emitted to indicate a change of + the list of virtual environments (may be used to refresh the list) +</dd> </dl> <h3>Derived from</h3> QObject @@ -165,10 +170,6 @@ <td><a href="#VirtualenvManager.showVirtualenvManagerDialog">showVirtualenvManagerDialog</a></td> <td>Public slot to show the virtual environment manager dialog.</td> </tr> -<tr> -<td><a href="#VirtualenvManager.shutdown">shutdown</a></td> -<td>Public method to shutdown the manager.</td> -</tr> </table> <h3>Static Methods</h3> @@ -704,13 +705,6 @@ a blocking mode </dd> </dl> -<a NAME="VirtualenvManager.shutdown" ID="VirtualenvManager.shutdown"></a> -<h4>VirtualenvManager.shutdown</h4> -<b>shutdown</b>(<i></i>) - -<p> - Public method to shutdown the manager. -</p> <div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/eric7/Documentation/Source/eric7.VirtualEnv.VirtualenvManagerDialog.html Thu Sep 16 19:23:07 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,243 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric7.VirtualEnv.VirtualenvManagerDialog</title> -<meta charset="UTF-8"> -<link rel="stylesheet" href="styles.css"> -</head> -<body> -<a NAME="top" ID="top"></a> -<h1>eric7.VirtualEnv.VirtualenvManagerDialog</h1> - -<p> -Module implementing a dialog to manage the list of defined virtual -environments. -</p> -<h3>Global Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Classes</h3> - -<table> - -<tr> -<td><a href="#VirtualenvManagerDialog">VirtualenvManagerDialog</a></td> -<td>Class implementing a dialog to manage the list of defined virtual environments.</td> -</tr> -</table> -<h3>Functions</h3> - -<table> -<tr><td>None</td></tr> -</table> -<hr /> -<hr /> -<a NAME="VirtualenvManagerDialog" ID="VirtualenvManagerDialog"></a> -<h2>VirtualenvManagerDialog</h2> - -<p> - Class implementing a dialog to manage the list of defined virtual - environments. -</p> -<h3>Derived from</h3> -QDialog, Ui_VirtualenvManagerDialog -<h3>Class Attributes</h3> - -<table> -<tr><td>ExecPathRole</td></tr><tr><td>IsCondaRole</td></tr><tr><td>IsGlobalRole</td></tr><tr><td>IsRemoteRole</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#VirtualenvManagerDialog.__init__">VirtualenvManagerDialog</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.__populateVenvList">__populateVenvList</a></td> -<td>Private method to populate the list of virtual environments.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.__resizeSections">__resizeSections</a></td> -<td>Private method to resize the sections of the environment list to their contents.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.__updateButtons">__updateButtons</a></td> -<td>Private method to update the enabled state of the various buttons.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.closeEvent">closeEvent</a></td> -<td>Protected method to handle the close event.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.on_addButton_clicked">on_addButton_clicked</a></td> -<td>Private slot to add a new entry.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.on_deleteAllButton_clicked">on_deleteAllButton_clicked</a></td> -<td>Private slot to delete all entries from the list and disk.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.on_deleteButton_clicked">on_deleteButton_clicked</a></td> -<td>Private slot to delete all selected entries from the list and disk.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.on_editButton_clicked">on_editButton_clicked</a></td> -<td>Private slot to edit the selected entry.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.on_newButton_clicked">on_newButton_clicked</a></td> -<td>Private slot to create a new virtual environment.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.on_removeAllButton_clicked">on_removeAllButton_clicked</a></td> -<td>Private slot to remove all entries from the list but keep their directories.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.on_removeButton_clicked">on_removeButton_clicked</a></td> -<td>Private slot to remove all selected entries from the list but keep their directories.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.on_venvList_itemSelectionChanged">on_venvList_itemSelectionChanged</a></td> -<td>Private slot handling a change of the selected items.</td> -</tr> -<tr> -<td><a href="#VirtualenvManagerDialog.refresh">refresh</a></td> -<td>Public slot to refresh the list of shown items.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="VirtualenvManagerDialog.__init__" ID="VirtualenvManagerDialog.__init__"></a> -<h4>VirtualenvManagerDialog (Constructor)</h4> -<b>VirtualenvManagerDialog</b>(<i>manager, parent=None</i>) - -<p> - Constructor -</p> -<dl> - -<dt><i>manager</i> (VirtualenvManager)</dt> -<dd> -reference to the virtual environment manager -</dd> -<dt><i>parent</i> (QWidget)</dt> -<dd> -reference to the parent widget -</dd> -</dl> -<a NAME="VirtualenvManagerDialog.__populateVenvList" ID="VirtualenvManagerDialog.__populateVenvList"></a> -<h4>VirtualenvManagerDialog.__populateVenvList</h4> -<b>__populateVenvList</b>(<i></i>) - -<p> - Private method to populate the list of virtual environments. -</p> -<a NAME="VirtualenvManagerDialog.__resizeSections" ID="VirtualenvManagerDialog.__resizeSections"></a> -<h4>VirtualenvManagerDialog.__resizeSections</h4> -<b>__resizeSections</b>(<i></i>) - -<p> - Private method to resize the sections of the environment list to their - contents. -</p> -<a NAME="VirtualenvManagerDialog.__updateButtons" ID="VirtualenvManagerDialog.__updateButtons"></a> -<h4>VirtualenvManagerDialog.__updateButtons</h4> -<b>__updateButtons</b>(<i></i>) - -<p> - Private method to update the enabled state of the various buttons. -</p> -<a NAME="VirtualenvManagerDialog.closeEvent" ID="VirtualenvManagerDialog.closeEvent"></a> -<h4>VirtualenvManagerDialog.closeEvent</h4> -<b>closeEvent</b>(<i>evt</i>) - -<p> - Protected method to handle the close event. -</p> -<dl> - -<dt><i>evt</i> (QCloseEvent)</dt> -<dd> -reference to the close event -</dd> -</dl> -<a NAME="VirtualenvManagerDialog.on_addButton_clicked" ID="VirtualenvManagerDialog.on_addButton_clicked"></a> -<h4>VirtualenvManagerDialog.on_addButton_clicked</h4> -<b>on_addButton_clicked</b>(<i></i>) - -<p> - Private slot to add a new entry. -</p> -<a NAME="VirtualenvManagerDialog.on_deleteAllButton_clicked" ID="VirtualenvManagerDialog.on_deleteAllButton_clicked"></a> -<h4>VirtualenvManagerDialog.on_deleteAllButton_clicked</h4> -<b>on_deleteAllButton_clicked</b>(<i></i>) - -<p> - Private slot to delete all entries from the list and disk. -</p> -<a NAME="VirtualenvManagerDialog.on_deleteButton_clicked" ID="VirtualenvManagerDialog.on_deleteButton_clicked"></a> -<h4>VirtualenvManagerDialog.on_deleteButton_clicked</h4> -<b>on_deleteButton_clicked</b>(<i></i>) - -<p> - Private slot to delete all selected entries from the list and disk. -</p> -<a NAME="VirtualenvManagerDialog.on_editButton_clicked" ID="VirtualenvManagerDialog.on_editButton_clicked"></a> -<h4>VirtualenvManagerDialog.on_editButton_clicked</h4> -<b>on_editButton_clicked</b>(<i></i>) - -<p> - Private slot to edit the selected entry. -</p> -<a NAME="VirtualenvManagerDialog.on_newButton_clicked" ID="VirtualenvManagerDialog.on_newButton_clicked"></a> -<h4>VirtualenvManagerDialog.on_newButton_clicked</h4> -<b>on_newButton_clicked</b>(<i></i>) - -<p> - Private slot to create a new virtual environment. -</p> -<a NAME="VirtualenvManagerDialog.on_removeAllButton_clicked" ID="VirtualenvManagerDialog.on_removeAllButton_clicked"></a> -<h4>VirtualenvManagerDialog.on_removeAllButton_clicked</h4> -<b>on_removeAllButton_clicked</b>(<i></i>) - -<p> - Private slot to remove all entries from the list but keep their - directories. -</p> -<a NAME="VirtualenvManagerDialog.on_removeButton_clicked" ID="VirtualenvManagerDialog.on_removeButton_clicked"></a> -<h4>VirtualenvManagerDialog.on_removeButton_clicked</h4> -<b>on_removeButton_clicked</b>(<i></i>) - -<p> - Private slot to remove all selected entries from the list but keep - their directories. -</p> -<a NAME="VirtualenvManagerDialog.on_venvList_itemSelectionChanged" ID="VirtualenvManagerDialog.on_venvList_itemSelectionChanged"></a> -<h4>VirtualenvManagerDialog.on_venvList_itemSelectionChanged</h4> -<b>on_venvList_itemSelectionChanged</b>(<i></i>) - -<p> - Private slot handling a change of the selected items. -</p> -<a NAME="VirtualenvManagerDialog.refresh" ID="VirtualenvManagerDialog.refresh"></a> -<h4>VirtualenvManagerDialog.refresh</h4> -<b>refresh</b>(<i></i>) - -<p> - Public slot to refresh the list of shown items. -</p> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric7/Documentation/Source/eric7.VirtualEnv.VirtualenvManagerWidgets.html Thu Sep 16 19:31:00 2021 +0200 @@ -0,0 +1,294 @@ +<!DOCTYPE html> +<html><head> +<title>eric7.VirtualEnv.VirtualenvManagerWidgets</title> +<meta charset="UTF-8"> +<link rel="stylesheet" href="styles.css"> +</head> +<body> +<a NAME="top" ID="top"></a> +<h1>eric7.VirtualEnv.VirtualenvManagerWidgets</h1> + +<p> +Module implementing a dialog to manage the list of defined virtual +environments. +</p> +<h3>Global Attributes</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> + +<table> + +<tr> +<td><a href="#VirtualenvManagerDialog">VirtualenvManagerDialog</a></td> +<td>Class implementing the virtual environments manager dialog variant.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget">VirtualenvManagerWidget</a></td> +<td>Class implementing a widget to manage the list of defined virtual environments.</td> +</tr> +</table> +<h3>Functions</h3> + +<table> +<tr><td>None</td></tr> +</table> +<hr /> +<hr /> +<a NAME="VirtualenvManagerDialog" ID="VirtualenvManagerDialog"></a> +<h2>VirtualenvManagerDialog</h2> + +<p> + Class implementing the virtual environments manager dialog variant. +</p> +<h3>Derived from</h3> +QDialog +<h3>Class Attributes</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> + +<table> + +<tr> +<td><a href="#VirtualenvManagerDialog.__init__">VirtualenvManagerDialog</a></td> +<td>Constructor</td> +</tr> +</table> +<h3>Static Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> + +<a NAME="VirtualenvManagerDialog.__init__" ID="VirtualenvManagerDialog.__init__"></a> +<h4>VirtualenvManagerDialog (Constructor)</h4> +<b>VirtualenvManagerDialog</b>(<i>manager, parent=None</i>) + +<p> + Constructor +</p> +<dl> + +<dt><i>manager</i> (VirtualenvManager)</dt> +<dd> +reference to the virtual environment manager +</dd> +<dt><i>parent</i> (QWidget)</dt> +<dd> +reference to the parent widget +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +<hr /> +<a NAME="VirtualenvManagerWidget" ID="VirtualenvManagerWidget"></a> +<h2>VirtualenvManagerWidget</h2> + +<p> + Class implementing a widget to manage the list of defined virtual + environments. +</p> +<h3>Derived from</h3> +QWidget, Ui_VirtualenvManagerWidget +<h3>Class Attributes</h3> + +<table> +<tr><td>ExecPathRole</td></tr><tr><td>IsCondaRole</td></tr><tr><td>IsGlobalRole</td></tr><tr><td>IsRemoteRole</td></tr> +</table> +<h3>Class Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> + +<table> + +<tr> +<td><a href="#VirtualenvManagerWidget.__init__">VirtualenvManagerWidget</a></td> +<td>Constructor</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.__populateVenvList">__populateVenvList</a></td> +<td>Private method to populate the list of virtual environments.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.__refresh">__refresh</a></td> +<td>Private slot to refresh the list of shown items.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.__resizeSections">__resizeSections</a></td> +<td>Private method to resize the sections of the environment list to their contents.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.__updateButtons">__updateButtons</a></td> +<td>Private method to update the enabled state of the various buttons.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.on_addButton_clicked">on_addButton_clicked</a></td> +<td>Private slot to add a new entry.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.on_deleteAllButton_clicked">on_deleteAllButton_clicked</a></td> +<td>Private slot to delete all entries from the list and disk.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.on_deleteButton_clicked">on_deleteButton_clicked</a></td> +<td>Private slot to delete all selected entries from the list and disk.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.on_editButton_clicked">on_editButton_clicked</a></td> +<td>Private slot to edit the selected entry.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.on_newButton_clicked">on_newButton_clicked</a></td> +<td>Private slot to create a new virtual environment.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.on_removeAllButton_clicked">on_removeAllButton_clicked</a></td> +<td>Private slot to remove all entries from the list but keep their directories.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.on_removeButton_clicked">on_removeButton_clicked</a></td> +<td>Private slot to remove all selected entries from the list but keep their directories.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.on_saveButton_clicked">on_saveButton_clicked</a></td> +<td>Private slot to save the base directory name.</td> +</tr> +<tr> +<td><a href="#VirtualenvManagerWidget.on_venvList_itemSelectionChanged">on_venvList_itemSelectionChanged</a></td> +<td>Private slot handling a change of the selected items.</td> +</tr> +</table> +<h3>Static Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> + +<a NAME="VirtualenvManagerWidget.__init__" ID="VirtualenvManagerWidget.__init__"></a> +<h4>VirtualenvManagerWidget (Constructor)</h4> +<b>VirtualenvManagerWidget</b>(<i>manager, parent=None</i>) + +<p> + Constructor +</p> +<dl> + +<dt><i>manager</i> (VirtualenvManager)</dt> +<dd> +reference to the virtual environment manager +</dd> +<dt><i>parent</i> (QWidget)</dt> +<dd> +reference to the parent widget +</dd> +</dl> +<a NAME="VirtualenvManagerWidget.__populateVenvList" ID="VirtualenvManagerWidget.__populateVenvList"></a> +<h4>VirtualenvManagerWidget.__populateVenvList</h4> +<b>__populateVenvList</b>(<i></i>) + +<p> + Private method to populate the list of virtual environments. +</p> +<a NAME="VirtualenvManagerWidget.__refresh" ID="VirtualenvManagerWidget.__refresh"></a> +<h4>VirtualenvManagerWidget.__refresh</h4> +<b>__refresh</b>(<i></i>) + +<p> + Private slot to refresh the list of shown items. +</p> +<a NAME="VirtualenvManagerWidget.__resizeSections" ID="VirtualenvManagerWidget.__resizeSections"></a> +<h4>VirtualenvManagerWidget.__resizeSections</h4> +<b>__resizeSections</b>(<i></i>) + +<p> + Private method to resize the sections of the environment list to their + contents. +</p> +<a NAME="VirtualenvManagerWidget.__updateButtons" ID="VirtualenvManagerWidget.__updateButtons"></a> +<h4>VirtualenvManagerWidget.__updateButtons</h4> +<b>__updateButtons</b>(<i></i>) + +<p> + Private method to update the enabled state of the various buttons. +</p> +<a NAME="VirtualenvManagerWidget.on_addButton_clicked" ID="VirtualenvManagerWidget.on_addButton_clicked"></a> +<h4>VirtualenvManagerWidget.on_addButton_clicked</h4> +<b>on_addButton_clicked</b>(<i></i>) + +<p> + Private slot to add a new entry. +</p> +<a NAME="VirtualenvManagerWidget.on_deleteAllButton_clicked" ID="VirtualenvManagerWidget.on_deleteAllButton_clicked"></a> +<h4>VirtualenvManagerWidget.on_deleteAllButton_clicked</h4> +<b>on_deleteAllButton_clicked</b>(<i></i>) + +<p> + Private slot to delete all entries from the list and disk. +</p> +<a NAME="VirtualenvManagerWidget.on_deleteButton_clicked" ID="VirtualenvManagerWidget.on_deleteButton_clicked"></a> +<h4>VirtualenvManagerWidget.on_deleteButton_clicked</h4> +<b>on_deleteButton_clicked</b>(<i></i>) + +<p> + Private slot to delete all selected entries from the list and disk. +</p> +<a NAME="VirtualenvManagerWidget.on_editButton_clicked" ID="VirtualenvManagerWidget.on_editButton_clicked"></a> +<h4>VirtualenvManagerWidget.on_editButton_clicked</h4> +<b>on_editButton_clicked</b>(<i></i>) + +<p> + Private slot to edit the selected entry. +</p> +<a NAME="VirtualenvManagerWidget.on_newButton_clicked" ID="VirtualenvManagerWidget.on_newButton_clicked"></a> +<h4>VirtualenvManagerWidget.on_newButton_clicked</h4> +<b>on_newButton_clicked</b>(<i></i>) + +<p> + Private slot to create a new virtual environment. +</p> +<a NAME="VirtualenvManagerWidget.on_removeAllButton_clicked" ID="VirtualenvManagerWidget.on_removeAllButton_clicked"></a> +<h4>VirtualenvManagerWidget.on_removeAllButton_clicked</h4> +<b>on_removeAllButton_clicked</b>(<i></i>) + +<p> + Private slot to remove all entries from the list but keep their + directories. +</p> +<a NAME="VirtualenvManagerWidget.on_removeButton_clicked" ID="VirtualenvManagerWidget.on_removeButton_clicked"></a> +<h4>VirtualenvManagerWidget.on_removeButton_clicked</h4> +<b>on_removeButton_clicked</b>(<i></i>) + +<p> + Private slot to remove all selected entries from the list but keep + their directories. +</p> +<a NAME="VirtualenvManagerWidget.on_saveButton_clicked" ID="VirtualenvManagerWidget.on_saveButton_clicked"></a> +<h4>VirtualenvManagerWidget.on_saveButton_clicked</h4> +<b>on_saveButton_clicked</b>(<i></i>) + +<p> + Private slot to save the base directory name. +</p> +<a NAME="VirtualenvManagerWidget.on_venvList_itemSelectionChanged" ID="VirtualenvManagerWidget.on_venvList_itemSelectionChanged"></a> +<h4>VirtualenvManagerWidget.on_venvList_itemSelectionChanged</h4> +<b>on_venvList_itemSelectionChanged</b>(<i></i>) + +<p> + Private slot handling a change of the selected items. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- a/eric7/Documentation/Source/index-eric7.VirtualEnv.html Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/Documentation/Source/index-eric7.VirtualEnv.html Thu Sep 16 19:31:00 2021 +0200 @@ -36,7 +36,7 @@ <td>Module implementing a class to manage Python virtual environments.</td> </tr> <tr> -<td><a href="eric7.VirtualEnv.VirtualenvManagerDialog.html">VirtualenvManagerDialog</a></td> +<td><a href="eric7.VirtualEnv.VirtualenvManagerWidgets.html">VirtualenvManagerWidgets</a></td> <td>Module implementing a dialog to manage the list of defined virtual environments.</td> </tr> <tr>
--- a/eric7/Preferences/ConfigurationPages/DebuggerPython3Page.py Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/Preferences/ConfigurationPages/DebuggerPython3Page.py Thu Sep 16 19:31:00 2021 +0200 @@ -33,12 +33,18 @@ try: self.__virtualenvManager = ericApp().getObject("VirtualEnvManager") + self.__standalone = False except KeyError: from VirtualEnv.VirtualenvManager import VirtualenvManager self.__virtualenvManager = VirtualenvManager() + self.__standalone = True + self.venvDlgButton.setVisible(self.__standalone) self.venvDlgButton.setIcon(UI.PixmapCache.getIcon("virtualenv")) + self.venvRefreshButton.setVisible(not self.__standalone) + self.venvRefreshButton.setIcon(UI.PixmapCache.getIcon("reload")) + self.debugClientPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) self.debugClientPicker.setToolTip(self.tr( "Press to select the Debug Client via a file selection dialog")) @@ -111,10 +117,18 @@ """ Private slot to show the virtual environment manager dialog. """ - self.__virtualenvManager.showVirtualenvManagerDialog(modal=True) + if self.__standalone: + self.__virtualenvManager.showVirtualenvManagerDialog(modal=True) + self.__populateAndSetVenvComboBox() + self.activateWindow() + self.raise_() + + @pyqtSlot() + def on_venvRefreshButton_clicked(self): + """ + Private slot to reload the list of virtual environments. + """ self.__populateAndSetVenvComboBox() - self.activateWindow() - self.raise_() def create(dlg):
--- a/eric7/Preferences/ConfigurationPages/DebuggerPython3Page.ui Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/Preferences/ConfigurationPages/DebuggerPython3Page.ui Thu Sep 16 19:31:00 2021 +0200 @@ -54,6 +54,16 @@ </property> </widget> </item> + <item> + <widget class="QToolButton" name="venvRefreshButton"> + <property name="toolTip"> + <string>Press to refresh the list of vitual environments</string> + </property> + <property name="text"> + <string notr="true"/> + </property> + </widget> + </item> </layout> </widget> </item> @@ -211,6 +221,7 @@ <tabstops> <tabstop>venvComboBox</tabstop> <tabstop>venvDlgButton</tabstop> + <tabstop>venvRefreshButton</tabstop> <tabstop>standardButton</tabstop> <tabstop>customButton</tabstop> <tabstop>debugClientPicker</tabstop>
--- a/eric7/Preferences/ConfigurationPages/QtPage.py Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/Preferences/ConfigurationPages/QtPage.py Thu Sep 16 19:31:00 2021 +0200 @@ -33,15 +33,27 @@ try: self.__virtualenvManager = ericApp().getObject("VirtualEnvManager") + self.__standalone = False except KeyError: from VirtualEnv.VirtualenvManager import VirtualenvManager self.__virtualenvManager = VirtualenvManager() + self.__standalone = True for button in ( self.pyqt5VenvDlgButton, self.pyqt6VenvDlgButton, self.pyside2VenvDlgButton, self.pyside6VenvDlgButton, ): button.setIcon(UI.PixmapCache.getIcon("virtualenv")) + button.clicked.connect(self.__showVirtualEnvManager) + button.setVisible(self.__standalone) + + for button in ( + self.pyqt5VenvRefreshButton, self.pyqt6VenvRefreshButton, + self.pyside2VenvRefreshButton, self.pyside6VenvRefreshButton, + ): + button.setIcon(UI.PixmapCache.getIcon("reload")) + button.clicked.connect(self.__populateAndSetVenvComboBoxes) + button.setVisible(not self.__standalone) self.qtTransPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) for picker in ( @@ -203,34 +215,6 @@ self.__populateAndSetVenvComboBoxes(False) self.activateWindow() self.raise_() - - @pyqtSlot() - def on_pyqt5VenvDlgButton_clicked(self): - """ - Private slot to show the virtual environment manager dialog. - """ - self.__showVirtualEnvManager() - - @pyqtSlot() - def on_pyqt6VenvDlgButton_clicked(self): - """ - Private slot to show the virtual environment manager dialog. - """ - self.__showVirtualEnvManager() - - @pyqtSlot() - def on_pyside2VenvDlgButton_clicked(self): - """ - Private slot to show the virtual environment manager dialog. - """ - self.__showVirtualEnvManager() - - @pyqtSlot() - def on_pyside6VenvDlgButton_clicked(self): - """ - Private slot to show the virtual environment manager dialog. - """ - self.__showVirtualEnvManager() def create(dlg):
--- a/eric7/Preferences/ConfigurationPages/QtPage.ui Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/Preferences/ConfigurationPages/QtPage.ui Thu Sep 16 19:31:00 2021 +0200 @@ -185,9 +185,9 @@ <property name="title"> <string>PyQt 5</string> </property> - <layout class="QVBoxLayout" name="verticalLayout_4"> + <layout class="QVBoxLayout" name="verticalLayout_7"> <item> - <layout class="QHBoxLayout" name="horizontalLayout_8"> + <layout class="QHBoxLayout" name="horizontalLayout_9"> <item> <widget class="QLabel" name="label"> <property name="text"> @@ -218,6 +218,16 @@ </property> </widget> </item> + <item> + <widget class="QToolButton" name="pyqt5VenvRefreshButton"> + <property name="toolTip"> + <string>Press to refresh the list of vitual environments</string> + </property> + <property name="text"> + <string notr="true"/> + </property> + </widget> + </item> </layout> </item> <item> @@ -322,7 +332,7 @@ </property> <layout class="QVBoxLayout" name="verticalLayout_5"> <item> - <layout class="QHBoxLayout" name="horizontalLayout_7"> + <layout class="QHBoxLayout" name="horizontalLayout_8"> <item> <widget class="QLabel" name="label_10"> <property name="text"> @@ -353,6 +363,16 @@ </property> </widget> </item> + <item> + <widget class="QToolButton" name="pyqt6VenvRefreshButton"> + <property name="toolTip"> + <string>Press to refresh the list of vitual environments</string> + </property> + <property name="text"> + <string notr="true"/> + </property> + </widget> + </item> </layout> </item> <item> @@ -457,9 +477,9 @@ <property name="title"> <string>PySide2</string> </property> - <layout class="QVBoxLayout" name="verticalLayout_3"> + <layout class="QVBoxLayout" name="verticalLayout_4"> <item> - <layout class="QHBoxLayout" name="horizontalLayout_6"> + <layout class="QHBoxLayout" name="horizontalLayout_7"> <item> <widget class="QLabel" name="label_11"> <property name="text"> @@ -490,6 +510,16 @@ </property> </widget> </item> + <item> + <widget class="QToolButton" name="pyside2VenvRefreshButton"> + <property name="toolTip"> + <string>Press to refresh the list of vitual environments</string> + </property> + <property name="text"> + <string notr="true"/> + </property> + </widget> + </item> </layout> </item> <item> @@ -543,9 +573,9 @@ <property name="title"> <string>PySide6</string> </property> - <layout class="QVBoxLayout" name="verticalLayout_7"> + <layout class="QVBoxLayout" name="verticalLayout_3"> <item> - <layout class="QHBoxLayout" name="horizontalLayout_9"> + <layout class="QHBoxLayout" name="horizontalLayout_6"> <item> <widget class="QLabel" name="label_12"> <property name="text"> @@ -576,6 +606,16 @@ </property> </widget> </item> + <item> + <widget class="QToolButton" name="pyside6VenvRefreshButton"> + <property name="toolTip"> + <string>Press to refresh the list of vitual environments</string> + </property> + <property name="text"> + <string notr="true"/> + </property> + </widget> + </item> </layout> </item> <item> @@ -657,21 +697,25 @@ <tabstop>qtPostfixEdit</tabstop> <tabstop>pyqt5VenvComboBox</tabstop> <tabstop>pyqt5VenvDlgButton</tabstop> + <tabstop>pyqt5VenvRefreshButton</tabstop> <tabstop>pyqtToolsDirPicker</tabstop> <tabstop>pyuicIndentSpinBox</tabstop> <tabstop>pyuicImportsCheckBox</tabstop> <tabstop>pyuicExecuteCheckBox</tabstop> <tabstop>pyqt6VenvComboBox</tabstop> <tabstop>pyqt6VenvDlgButton</tabstop> + <tabstop>pyqt6VenvRefreshButton</tabstop> <tabstop>pyqt6ToolsDirPicker</tabstop> <tabstop>pyuic6IndentSpinBox</tabstop> <tabstop>pyuic6ExecuteCheckBox</tabstop> <tabstop>pyside2VenvComboBox</tabstop> <tabstop>pyside2VenvDlgButton</tabstop> + <tabstop>pyside2VenvRefreshButton</tabstop> <tabstop>pyside2ToolsDirPicker</tabstop> <tabstop>pyside2uicImportsCheckBox</tabstop> <tabstop>pyside6VenvComboBox</tabstop> <tabstop>pyside6VenvDlgButton</tabstop> + <tabstop>pyside6VenvRefreshButton</tabstop> <tabstop>pyside6ToolsDirPicker</tabstop> <tabstop>pyside6uicImportsCheckBox</tabstop> </tabstops>
--- a/eric7/UI/UserInterface.py Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/UI/UserInterface.py Thu Sep 16 19:31:00 2021 +0200 @@ -281,8 +281,8 @@ # Generate the debug server object logging.debug("Creating Debug Server...") from Debugger.DebugServer import DebugServer - debugServer = DebugServer(self.__originalPathString, - project=self.project, parent=self) + self.__debugServer = DebugServer( + self.__originalPathString, project=self.project, parent=self) # Create the background service object from Utilities.BackgroundService import BackgroundService @@ -302,7 +302,7 @@ self.__webBrowserSAName = QUuid.createUuid().toString()[1:-1] logging.debug("Creating Application Objects...") - self.__createObjects(debugServer) + self.__createObjects() # Create the main window now so that we can connect QActions to it. logging.debug("Creating Layout...") @@ -313,7 +313,7 @@ # Generate the debugger part of the ui logging.debug("Creating Debugger UI...") from Debugger.DebugUI import DebugUI - self.debuggerUI = DebugUI(self, self.viewmanager, debugServer, + self.debuggerUI = DebugUI(self, self.viewmanager, self.__debugServer, self.debugViewer, self.project) self.debugViewer.setDebugger(self.debuggerUI) self.shell.setDebuggerUI(self.debuggerUI) @@ -453,11 +453,11 @@ self.debuggerUI.executeMake.connect(self.project.executeMake) self.debuggerUI.appendStdout.connect(self.appendToStdout) - debugServer.clientDisassembly.connect( + self.__debugServer.clientDisassembly.connect( self.debugViewer.disassemblyViewer.showDisassembly) - debugServer.clientProcessStdout.connect(self.appendToStdout) - debugServer.clientProcessStderr.connect(self.appendToStderr) - debugServer.appendStdout.connect(self.appendToStdout) + self.__debugServer.clientProcessStdout.connect(self.appendToStdout) + self.__debugServer.clientProcessStderr.connect(self.appendToStderr) + self.__debugServer.appendStdout.connect(self.appendToStdout) self.stdout.appendStdout.connect(self.appendToStdout) self.stderr.appendStderr.connect(self.appendToStderr) @@ -488,7 +488,7 @@ self.preferencesChanged.connect( self.taskViewer.handlePreferencesChanged) self.preferencesChanged.connect(self.pluginManager.preferencesChanged) - self.preferencesChanged.connect(debugServer.preferencesChanged) + self.preferencesChanged.connect(self.__debugServer.preferencesChanged) self.preferencesChanged.connect(self.debugViewer.preferencesChanged) self.preferencesChanged.connect( self.backgroundService.preferencesOrProjectChanged) @@ -521,7 +521,7 @@ self.debuggerUI.debuggingStarted.connect( self.browser.handleProgramChange) - debugServer.clientInterpreterChanged.connect( + self.__debugServer.clientInterpreterChanged.connect( self.browser.handleInterpreterChanged) self.preferencesChanged.connect( @@ -597,7 +597,7 @@ splash.showMessage(self.tr("Registering Objects...")) ericApp().registerObject("UserInterface", self) ericApp().registerObject("DebugUI", self.debuggerUI) - ericApp().registerObject("DebugServer", debugServer) + ericApp().registerObject("DebugServer", self.__debugServer) ericApp().registerObject("BackgroundService", self.backgroundService) ericApp().registerObject("ViewManager", self.viewmanager) ericApp().registerObject("ProjectBrowser", self.projectBrowser) @@ -728,11 +728,11 @@ # environment splash.showMessage(self.tr("Starting Debugger...")) if Preferences.getShell("StartWithMostRecentlyUsedEnvironment"): - debugServer.startClient( + self.__debugServer.startClient( False, venvName=Preferences.getShell("LastVirtualEnvironment") ) else: - debugServer.startClient(False) + self.__debugServer.startClient(False) # attributes for the network objects self.__networkManager = QNetworkAccessManager(self) @@ -779,18 +779,15 @@ """ return self.__networkManager - def __createObjects(self, debugServer): - """ - Private method to create the various objects of the application. - - @param debugServer reference to the debug server object - @type DebugServer + def __createObjects(self): + """ + Private method to create the various application objects. """ # Create the view manager depending on the configuration setting logging.debug("Creating Viewmanager...") import ViewManager self.viewmanager = ViewManager.factory( - self, self, debugServer, self.pluginManager) + self, self, self.__debugServer, self.pluginManager) # Create previewer logging.debug("Creating Previewer...") @@ -831,13 +828,13 @@ # Create the debug viewer logging.debug("Creating Debug Viewer...") from Debugger.DebugViewer import DebugViewer - self.debugViewer = DebugViewer(debugServer) + self.debugViewer = DebugViewer(self.__debugServer) # Create the shell logging.debug("Creating Shell...") from QScintilla.Shell import ShellAssembly self.shellAssembly = ShellAssembly( - debugServer, self.viewmanager, self.project, True) + self.__debugServer, self.viewmanager, self.project, True) self.shell = self.shellAssembly.shell() if Preferences.getUI("ShowTemplateViewer"): @@ -943,6 +940,11 @@ self.pluginManager, integrated=True, parent=self) self.pluginRepositoryViewer.closeAndInstall.connect( self.__installDownloadedPlugins) + + # Create the virtual environments management widget + from VirtualEnv.VirtualenvManagerWidgets import VirtualenvManagerWidget + self.__virtualenvManagerWidget = VirtualenvManagerWidget( + self.virtualenvManager, self) def __createLayout(self): """ @@ -1067,6 +1069,9 @@ UI.PixmapCache.getIcon("pluginRepository"), self.tr("Plugin Repository")) + self.rToolbox.addItem(self.__virtualenvManagerWidget, + UI.PixmapCache.getIcon("virtualenv"), + self.tr("Virtual Environments")) if self.pipWidget: self.rToolbox.addItem(self.pipWidget, UI.PixmapCache.getIcon("pypi"), @@ -1206,6 +1211,11 @@ UI.PixmapCache.getIcon("sbPluginRepository96"), self.tr("Plugin Repository")) + self.rightSidebar.addTab( + self.__virtualenvManagerWidget, + UI.PixmapCache.getIcon("sbVirtenvManager96"), + self.tr("Virtual Environments")) + if self.pipWidget: self.rightSidebar.addTab( self.pipWidget, UI.PixmapCache.getIcon("sbPyPI96"), @@ -2182,6 +2192,25 @@ self.actions.append(self.pluginRepositoryViewerActivateAct) self.addAction(self.pluginRepositoryViewerActivateAct) + self.virtualenvManagerActivateAct = EricAction( + self.tr('Virtual Environments'), + self.tr('Virtual Environments'), + QKeySequence(self.tr("Ctrl+Alt+V")), + 0, self, + 'virtualenv_manager_activate') + self.virtualenvManagerActivateAct.setStatusTip(self.tr( + "Switch the input focus to the Virtual Environments Manager" + " window.")) + self.virtualenvManagerActivateAct.setWhatsThis(self.tr( + """<b>Virtual Environments</b>""" + """<p>This switches the input focus to the Virtual Environments""" + """ Manager window.</p>""" + )) + self.virtualenvManagerActivateAct.triggered.connect( + self.activateVirtualenvManager) + self.actions.append(self.virtualenvManagerActivateAct) + self.addAction(self.virtualenvManagerActivateAct) + self.whatsThisAct = EricAction( self.tr('What\'s This?'), UI.PixmapCache.getIcon("whatsThis"), @@ -2873,41 +2902,6 @@ self.pluginRepoAct.triggered.connect(self.__showPluginsAvailable) self.actions.append(self.pluginRepoAct) - self.virtualenvManagerAct = EricAction( - self.tr('Virtualenv Manager'), - UI.PixmapCache.getIcon("virtualenv"), - self.tr('&Virtualenv Manager...'), - 0, 0, self, - 'virtualenv_manager') - self.virtualenvManagerAct.setStatusTip(self.tr( - 'Virtualenv Manager')) - self.virtualenvManagerAct.setWhatsThis(self.tr( - """<b>Virtualenv Manager</b>""" - """<p>This opens a dialog to manage the defined Python virtual""" - """ environments.</p>""" - )) - self.virtualenvManagerAct.triggered.connect( - self.virtualenvManager.showVirtualenvManagerDialog) - self.actions.append(self.virtualenvManagerAct) - - self.virtualenvConfigAct = EricAction( - self.tr('Virtualenv Configurator'), - UI.PixmapCache.getIcon("virtualenvConfig"), - self.tr('Virtualenv &Configurator...'), - 0, 0, self, - 'virtualenv_configurator') - self.virtualenvConfigAct.setStatusTip(self.tr( - 'Virtualenv Configurator')) - self.virtualenvConfigAct.setWhatsThis(self.tr( - """<b>Virtualenv Configurator</b>""" - """<p>This opens a dialog for entering all the parameters""" - """ needed to create a Python virtual environment using""" - """ virtualenv or pyvenv.</p>""" - )) - self.virtualenvConfigAct.triggered.connect( - self.virtualenvManager.createVirtualEnv) - self.actions.append(self.virtualenvConfigAct) - # initialize viewmanager actions self.viewmanager.initActions() @@ -3190,14 +3184,6 @@ self.__menus["extras"].addSeparator() ############################################################## - ## Extras/VirtualEnv Manager menu entries - ############################################################## - - self.__menus["extras"].addAction(self.virtualenvManagerAct) - self.__menus["extras"].addAction(self.virtualenvConfigAct) - self.__menus["extras"].addSeparator() - - ############################################################## ## Extras/Plugins menu ############################################################## @@ -3327,6 +3313,7 @@ self.__menus["subwindow"].addAction(self.debugViewerActivateAct) self.__menus["subwindow"].addAction( self.pluginRepositoryViewerActivateAct) + self.__menus["subwindow"].addAction(self.virtualenvManagerActivateAct) if self.pipWidget is not None: self.__menus["subwindow"].addAction(self.pipWidgetActivateAct) if self.condaWidget is not None: @@ -3474,9 +3461,6 @@ toolstb.addAction(self.hexEditorAct) toolstb.addAction(self.iconEditorAct) toolstb.addAction(self.snapshotAct) - toolstb.addSeparator() - toolstb.addAction(self.virtualenvManagerAct) - toolstb.addAction(self.virtualenvConfigAct) if self.webBrowserAct: toolstb.addSeparator() toolstb.addAction(self.webBrowserAct) @@ -5016,7 +5000,7 @@ if self.unittestDialog is None: from PyUnit.UnittestDialog import UnittestDialog self.unittestDialog = UnittestDialog( - None, self.debuggerUI.debugServer, self) + None, self.__debugServer, self) self.unittestDialog.unittestFile.connect( self.viewmanager.setFileLine) self.unittestDialog.unittestStopped.connect(self.__unittestStopped) @@ -6507,7 +6491,7 @@ """ from Debugger.DebugClientCapabilities import HasUnittest self.__setWindowCaption(project=self.project.name) - cap = ericApp().getObject("DebugServer").getClientCapabilities( + cap = self.__debugServer.getClientCapabilities( self.project.getProjectLanguage()) self.utProjectAct.setEnabled(cap & HasUnittest) self.utProjectOpen = cap & HasUnittest @@ -6559,7 +6543,7 @@ len(self.__menus["wizards"].actions()) > 0) if fn and str(fn) != "None": - dbs = ericApp().getObject("DebugServer") + dbs = self.__debugServer for language in dbs.getSupportedLanguages(): exts = dbs.getExtensions(language) if fn.endswith(exts): @@ -6582,7 +6566,7 @@ fn = editor.getFileName() if editor else None if fn: - dbs = ericApp().getObject("DebugServer") + dbs = self.__debugServer for language in dbs.getSupportedLanguages(): exts = dbs.getExtensions(language) if fn.endswith(exts): @@ -7106,8 +7090,6 @@ self.pluginManager.doShutdown() - self.virtualenvManager.shutdown() - if self.SAServer is not None: self.SAServer.shutdown() self.SAServer = None @@ -7702,3 +7684,21 @@ # We did not get permission to interact, play it safe and # save all data. self.viewmanager.saveAllEditors() + + ############################################################ + ## Interface to the virtual environment manager widget below + ############################################################ + + @pyqtSlot() + def activateVirtualenvManager(self): + """ + Public slot to activate the virtual environments manager widget. + """ + if self.__layoutType == "Toolboxes": + self.rToolboxDock.show() + self.rToolbox.setCurrentWidget(self.__virtualenvManagerWidget) + elif self.__layoutType == "Sidebars": + self.rightSidebar.show() + self.rightSidebar.setCurrentWidget(self.__virtualenvManagerWidget) + self.__virtualenvManagerWidget.setFocus( + Qt.FocusReason.ActiveWindowFocusReason)
--- a/eric7/VirtualEnv/VirtualenvManager.py Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/VirtualEnv/VirtualenvManager.py Thu Sep 16 19:31:00 2021 +0200 @@ -32,6 +32,8 @@ deletion of a virtual environment @signal virtualEnvironmentChanged(name) emitted to indicate a change of a virtual environment + @signal virtualEnvironmentsListChanged() emitted to indicate a change of + the list of virtual environments (may be used to refresh the list) """ DefaultKey = "<default>" @@ -39,6 +41,8 @@ virtualEnvironmentRemoved = pyqtSignal() virtualEnvironmentChanged = pyqtSignal(str) + virtualEnvironmentsListChanged = pyqtSignal() + def __init__(self, parent=None): """ Constructor @@ -51,8 +55,6 @@ self.__ui = parent self.__loadSettings() - - self.__virtualenvManagerDialog = None def __loadSettings(self): """ @@ -264,8 +266,7 @@ self.__saveSettings() self.virtualEnvironmentAdded.emit() - if self.__virtualenvManagerDialog: - self.__virtualenvManagerDialog.refresh() + self.virtualEnvironmentsListChanged.emit() def setVirtualEnv(self, venvName, venvDirectory, venvInterpreter, isGlobal, isConda, isRemote, execPath): @@ -311,8 +312,7 @@ self.__saveSettings() self.virtualEnvironmentChanged.emit(venvName) - if self.__virtualenvManagerDialog: - self.__virtualenvManagerDialog.refresh() + self.virtualEnvironmentsListChanged.emit() def renameVirtualEnv(self, oldVenvName, venvName, venvDirectory, venvInterpreter, isGlobal, isConda, @@ -397,8 +397,7 @@ self.__saveSettings() self.virtualEnvironmentRemoved.emit() - if self.__virtualenvManagerDialog: - self.__virtualenvManagerDialog.refresh() + self.virtualEnvironmentsListChanged.emit() def __isEnvironmentDeleteable(self, venvName): """ @@ -452,8 +451,7 @@ self.__saveSettings() self.virtualEnvironmentRemoved.emit() - if self.__virtualenvManagerDialog: - self.__virtualenvManagerDialog.refresh() + self.virtualEnvironmentsListChanged.emit() def getEnvironmentEntries(self): """ @@ -474,23 +472,14 @@ @param modal flag indicating that the dialog should be shown in a blocking mode """ - if self.__virtualenvManagerDialog is None: - from .VirtualenvManagerDialog import VirtualenvManagerDialog - self.__virtualenvManagerDialog = VirtualenvManagerDialog( + if modal: + from .VirtualenvManagerWidgets import VirtualenvManagerDialog + virtualenvManagerDialog = VirtualenvManagerDialog( self, self.__ui) - - if modal: - self.__virtualenvManagerDialog.exec() + virtualenvManagerDialog.exec() + self.virtualEnvironmentsListChanged.emit() else: - self.__virtualenvManagerDialog.show() - - def shutdown(self): - """ - Public method to shutdown the manager. - """ - if self.__virtualenvManagerDialog is not None: - self.__virtualenvManagerDialog.close() - self.__virtualenvManagerDialog = None + self.__ui.activateVirtualenvManager() def isUnique(self, venvName): """
--- a/eric7/VirtualEnv/VirtualenvManagerDialog.py Thu Sep 16 19:23:07 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,315 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2018 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing a dialog to manage the list of defined virtual -environments. -""" - -from PyQt6.QtCore import pyqtSlot, Qt -from PyQt6.QtWidgets import QDialog, QTreeWidgetItem, QHeaderView - -from EricWidgets.EricPathPicker import EricPathPickerModes - -from .Ui_VirtualenvManagerDialog import Ui_VirtualenvManagerDialog - -import Utilities -import UI.PixmapCache - - -class VirtualenvManagerDialog(QDialog, Ui_VirtualenvManagerDialog): - """ - Class implementing a dialog to manage the list of defined virtual - environments. - """ - IsGlobalRole = Qt.ItemDataRole.UserRole + 1 - IsCondaRole = Qt.ItemDataRole.UserRole + 2 - IsRemoteRole = Qt.ItemDataRole.UserRole + 3 - ExecPathRole = Qt.ItemDataRole.UserRole + 4 - - def __init__(self, manager, parent=None): - """ - Constructor - - @param manager reference to the virtual environment manager - @type VirtualenvManager - @param parent reference to the parent widget - @type QWidget - """ - super().__init__(parent) - self.setupUi(self) - - self.__manager = manager - - self.addButton.setIcon(UI.PixmapCache.getIcon("plus")) - self.newButton.setIcon(UI.PixmapCache.getIcon("new")) - self.editButton.setIcon(UI.PixmapCache.getIcon("edit")) - self.removeButton.setIcon(UI.PixmapCache.getIcon("minus")) - self.removeAllButton.setIcon(UI.PixmapCache.getIcon("minus_3")) - self.deleteButton.setIcon(UI.PixmapCache.getIcon("fileDelete")) - self.deleteAllButton.setIcon(UI.PixmapCache.getIcon("fileDeleteList")) - - baseDir = self.__manager.getVirtualEnvironmentsBaseDir() - if not baseDir: - baseDir = Utilities.getHomeDir() - - self.envBaseDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) - self.envBaseDirectoryPicker.setWindowTitle( - self.tr("Virtualenv Base Directory")) - self.envBaseDirectoryPicker.setText(baseDir) - - self.__populateVenvList() - self.__updateButtons() - - self.venvList.header().setSortIndicator(0, Qt.SortOrder.AscendingOrder) - - def __updateButtons(self): - """ - Private method to update the enabled state of the various buttons. - """ - selectedItemsCount = len(self.venvList.selectedItems()) - topLevelItemCount = self.venvList.topLevelItemCount() - - deletableSelectedItemCount = 0 - for itm in self.venvList.selectedItems(): - if ( - itm.text(0) != "<default>" and - bool(itm.text(1)) and - not itm.data(0, VirtualenvManagerDialog.IsGlobalRole) and - not itm.data(0, VirtualenvManagerDialog.IsRemoteRole) - ): - deletableSelectedItemCount += 1 - - deletableItemCount = 0 - for index in range(topLevelItemCount): - itm = self.venvList.topLevelItem(index) - if ( - itm.text(0) != "<default>" and - bool(itm.text(1)) and - not itm.data(0, VirtualenvManagerDialog.IsRemoteRole) - ): - deletableItemCount += 1 - - canBeRemoved = ( - selectedItemsCount == 1 and - self.venvList.selectedItems()[0].text(0) != "<default>" - ) - canAllBeRemoved = ( - topLevelItemCount == 1 and - self.venvList.topLevelItem(0).text(0) != "<default>" - ) - - self.editButton.setEnabled(selectedItemsCount == 1) - - self.removeButton.setEnabled(selectedItemsCount > 1 or canBeRemoved) - self.removeAllButton.setEnabled( - topLevelItemCount > 1 or canAllBeRemoved) - - self.deleteButton.setEnabled(deletableSelectedItemCount) - self.deleteAllButton.setEnabled(deletableItemCount) - - @pyqtSlot() - def on_addButton_clicked(self): - """ - Private slot to add a new entry. - """ - from .VirtualenvAddEditDialog import VirtualenvAddEditDialog - dlg = VirtualenvAddEditDialog( - self.__manager, - baseDir=self.envBaseDirectoryPicker.text() - ) - if dlg.exec() == QDialog.DialogCode.Accepted: - (venvName, venvDirectory, venvInterpreter, isGlobal, isConda, - isRemote, execPath) = dlg.getData() - - self.__manager.addVirtualEnv( - venvName, venvDirectory, venvInterpreter, isGlobal, isConda, - isRemote, execPath) - - @pyqtSlot() - def on_newButton_clicked(self): - """ - Private slot to create a new virtual environment. - """ - self.__manager.createVirtualEnv( - baseDir=self.envBaseDirectoryPicker.text()) - - @pyqtSlot() - def on_editButton_clicked(self): - """ - Private slot to edit the selected entry. - """ - selectedItem = self.venvList.selectedItems()[0] - oldVenvName = selectedItem.text(0) - - from .VirtualenvAddEditDialog import VirtualenvAddEditDialog - dlg = VirtualenvAddEditDialog( - self.__manager, selectedItem.text(0), - selectedItem.text(1), selectedItem.text(2), - selectedItem.data(0, VirtualenvManagerDialog.IsGlobalRole), - selectedItem.data(0, VirtualenvManagerDialog.IsCondaRole), - selectedItem.data(0, VirtualenvManagerDialog.IsRemoteRole), - selectedItem.data(0, VirtualenvManagerDialog.ExecPathRole), - baseDir=self.envBaseDirectoryPicker.text() - ) - if dlg.exec() == QDialog.DialogCode.Accepted: - (venvName, venvDirectory, venvInterpreter, isGlobal, isConda, - isRemote, execPath) = dlg.getData() - if venvName != oldVenvName: - self.__manager.renameVirtualEnv( - oldVenvName, venvName, venvDirectory, venvInterpreter, - isGlobal, isConda, isRemote, execPath) - else: - self.__manager.setVirtualEnv( - venvName, venvDirectory, venvInterpreter, isGlobal, - isConda, isRemote, execPath) - - @pyqtSlot() - def on_removeButton_clicked(self): - """ - Private slot to remove all selected entries from the list but keep - their directories. - """ - selectedVenvs = [] - for itm in self.venvList.selectedItems(): - selectedVenvs.append(itm.text(0)) - - if selectedVenvs: - self.__manager.removeVirtualEnvs(selectedVenvs) - - @pyqtSlot() - def on_removeAllButton_clicked(self): - """ - Private slot to remove all entries from the list but keep their - directories. - """ - venvNames = [] - for index in range(self.venvList.topLevelItemCount()): - itm = self.venvList.topLevelItem(index) - venvNames.append(itm.text(0)) - - if venvNames: - self.__manager.removeVirtualEnvs(venvNames) - - @pyqtSlot() - def on_deleteButton_clicked(self): - """ - Private slot to delete all selected entries from the list and disk. - """ - selectedVenvs = [] - for itm in self.venvList.selectedItems(): - selectedVenvs.append(itm.text(0)) - - if selectedVenvs: - self.__manager.deleteVirtualEnvs(selectedVenvs) - - @pyqtSlot() - def on_deleteAllButton_clicked(self): - """ - Private slot to delete all entries from the list and disk. - """ - venvNames = [] - for index in range(self.venvList.topLevelItemCount()): - itm = self.venvList.topLevelItem(index) - venvNames.append(itm.text(0)) - - if venvNames: - self.__manager.deleteVirtualEnvs(venvNames) - - @pyqtSlot() - def on_venvList_itemSelectionChanged(self): - """ - Private slot handling a change of the selected items. - """ - self.__updateButtons() - - @pyqtSlot() - def refresh(self): - """ - Public slot to refresh the list of shown items. - """ - # 1. remember selected entries - selectedVenvs = [] - for itm in self.venvList.selectedItems(): - selectedVenvs.append(itm.text(0)) - - # 2. clear the list - self.venvList.clear() - - # 3. re-populate the list - self.__populateVenvList() - - # 4. re-establish selection - for venvName in selectedVenvs: - itms = self.venvList.findItems( - venvName, Qt.MatchFlag.MatchExactly, 0) - if itms: - itms[0].setSelected(True) - - def __populateVenvList(self): - """ - Private method to populate the list of virtual environments. - """ - environments = self.__manager.getEnvironmentEntries() - for venvName in environments: - itm = QTreeWidgetItem(self.venvList, [ - venvName, - environments[venvName]["path"], - environments[venvName]["interpreter"], - ]) - itm.setData(0, VirtualenvManagerDialog.IsGlobalRole, - environments[venvName]["is_global"]) - itm.setData(0, VirtualenvManagerDialog.IsCondaRole, - environments[venvName]["is_conda"]) - itm.setData(0, VirtualenvManagerDialog.IsRemoteRole, - environments[venvName]["is_remote"]) - itm.setData(0, VirtualenvManagerDialog.ExecPathRole, - environments[venvName]["exec_path"]) - - # show remote environments with underlined font - if environments[venvName]["is_remote"]: - font = itm.font(0) - font.setUnderline(True) - for column in range(itm.columnCount()): - itm.setFont(column, font) - else: - # local environments - - # show global environments with bold font - if environments[venvName]["is_global"]: - font = itm.font(0) - font.setBold(True) - for column in range(itm.columnCount()): - itm.setFont(column, font) - - # show Anaconda environments with italic font - if environments[venvName]["is_conda"]: - font = itm.font(0) - font.setItalic(True) - for column in range(itm.columnCount()): - itm.setFont(column, font) - - self.__resizeSections() - - def __resizeSections(self): - """ - Private method to resize the sections of the environment list to their - contents. - """ - self.venvList.header().resizeSections( - QHeaderView.ResizeMode.ResizeToContents) - self.venvList.header().setStretchLastSection(True) - - def closeEvent(self, evt): - """ - Protected method to handle the close event. - - @param evt reference to the close event - @type QCloseEvent - """ - baseDir = self.envBaseDirectoryPicker.text() - self.__manager.setVirtualEnvironmentsBaseDir(baseDir) - - evt.accept()
--- a/eric7/VirtualEnv/VirtualenvManagerDialog.ui Thu Sep 16 19:23:07 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,270 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>VirtualenvManagerDialog</class> - <widget class="QDialog" name="VirtualenvManagerDialog"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>700</width> - <height>500</height> - </rect> - </property> - <property name="windowTitle"> - <string>Manage Virtual Environments</string> - </property> - <property name="sizeGripEnabled"> - <bool>true</bool> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QTreeWidget" name="venvList"> - <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> - <property name="allColumnsShowFocus"> - <bool>true</bool> - </property> - <column> - <property name="text"> - <string>Name</string> - </property> - </column> - <column> - <property name="text"> - <string>Directory</string> - </property> - </column> - <column> - <property name="text"> - <string>Interpreter</string> - </property> - </column> - </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>28</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QToolButton" name="addButton"> - <property name="toolTip"> - <string>Press to add an existing virtual environment</string> - </property> - <property name="text"> - <string>Add...</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="newButton"> - <property name="toolTip"> - <string>Press to create a new virtual environment</string> - </property> - <property name="text"> - <string>New...</string> - </property> - </widget> - </item> - <item> - <widget class="Line" name="line_6"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="editButton"> - <property name="toolTip"> - <string>Press to edit the selected virtual environment</string> - </property> - <property name="text"> - <string>Edit...</string> - </property> - </widget> - </item> - <item> - <widget class="Line" name="line_3"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="removeButton"> - <property name="toolTip"> - <string>Press to remove the selected virtual environments</string> - </property> - <property name="text"> - <string>Remove</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="removeAllButton"> - <property name="toolTip"> - <string>Press to remove all virtual environments</string> - </property> - <property name="text"> - <string>Remove All</string> - </property> - </widget> - </item> - <item> - <widget class="Line" name="line_4"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="deleteButton"> - <property name="toolTip"> - <string>Press to remove the selected virtual environments and delete them</string> - </property> - <property name="text"> - <string>Delete</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="deleteAllButton"> - <property name="toolTip"> - <string>Press to remove all virtual environments and delete them</string> - </property> - <property name="text"> - <string>Delete All</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> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>Base Directory:</string> - </property> - </widget> - </item> - <item> - <widget class="EricPathPicker" name="envBaseDirectoryPicker" native="true"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="focusPolicy"> - <enum>Qt::WheelFocus</enum> - </property> - <property name="toolTip"> - <string>Enter the base directory of the virtual environments</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QDialogButtonBox" name="buttonBox"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons"> - <set>QDialogButtonBox::Close</set> - </property> - </widget> - </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>EricPathPicker</class> - <extends>QWidget</extends> - <header>EricWidgets/EricPathPicker.h</header> - <container>1</container> - </customwidget> - </customwidgets> - <tabstops> - <tabstop>venvList</tabstop> - <tabstop>addButton</tabstop> - <tabstop>newButton</tabstop> - <tabstop>editButton</tabstop> - <tabstop>removeButton</tabstop> - <tabstop>removeAllButton</tabstop> - <tabstop>deleteButton</tabstop> - <tabstop>deleteAllButton</tabstop> - </tabstops> - <resources/> - <connections> - <connection> - <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>VirtualenvManagerDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel"> - <x>248</x> - <y>254</y> - </hint> - <hint type="destinationlabel"> - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> - <signal>rejected()</signal> - <receiver>VirtualenvManagerDialog</receiver> - <slot>reject()</slot> - <hints> - <hint type="sourcelabel"> - <x>316</x> - <y>260</y> - </hint> - <hint type="destinationlabel"> - <x>286</x> - <y>274</y> - </hint> - </hints> - </connection> - </connections> -</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric7/VirtualEnv/VirtualenvManagerWidget.ui Thu Sep 16 19:31:00 2021 +0200 @@ -0,0 +1,234 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>VirtualenvManagerWidget</class> + <widget class="QWidget" name="VirtualenvManagerWidget"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <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> + <item> + <widget class="QTreeWidget" name="venvList"> + <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> + <property name="allColumnsShowFocus"> + <bool>true</bool> + </property> + <column> + <property name="text"> + <string>Name</string> + </property> + </column> + <column> + <property name="text"> + <string>Directory</string> + </property> + </column> + <column> + <property name="text"> + <string>Interpreter</string> + </property> + </column> + </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>28</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QToolButton" name="addButton"> + <property name="toolTip"> + <string>Press to add an existing virtual environment</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="newButton"> + <property name="toolTip"> + <string>Press to create a new virtual environment</string> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_6"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="editButton"> + <property name="toolTip"> + <string>Press to edit the selected virtual environment</string> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_3"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="removeButton"> + <property name="toolTip"> + <string>Press to remove the selected virtual environments</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="removeAllButton"> + <property name="toolTip"> + <string>Press to remove all virtual environments</string> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_4"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="deleteButton"> + <property name="toolTip"> + <string>Press to remove the selected virtual environments and delete them</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="deleteAllButton"> + <property name="toolTip"> + <string>Press to remove all virtual environments and delete them</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> + </layout> + </item> + <item> + <widget class="Line" name="line"> + <property name="lineWidth"> + <number>1</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Base Directory:</string> + </property> + </widget> + </item> + <item> + <widget class="EricPathPicker" name="envBaseDirectoryPicker" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>Qt::WheelFocus</enum> + </property> + <property name="toolTip"> + <string>Enter the base directory of the virtual environments</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="saveButton"> + <property name="toolTip"> + <string>Press to save the base directory</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>EricPathPicker</class> + <extends>QWidget</extends> + <header>EricWidgets/EricPathPicker.h</header> + <container>1</container> + </customwidget> + </customwidgets> + <tabstops> + <tabstop>venvList</tabstop> + <tabstop>addButton</tabstop> + <tabstop>newButton</tabstop> + <tabstop>editButton</tabstop> + <tabstop>removeButton</tabstop> + <tabstop>removeAllButton</tabstop> + <tabstop>deleteButton</tabstop> + <tabstop>deleteAllButton</tabstop> + <tabstop>envBaseDirectoryPicker</tabstop> + <tabstop>saveButton</tabstop> + </tabstops> + <resources/> + <connections/> +</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric7/VirtualEnv/VirtualenvManagerWidgets.py Thu Sep 16 19:31:00 2021 +0200 @@ -0,0 +1,354 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2018 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a dialog to manage the list of defined virtual +environments. +""" + +from PyQt6.QtCore import pyqtSlot, Qt +from PyQt6.QtWidgets import ( + QWidget, QDialog, QDialogButtonBox, QTreeWidgetItem, QHeaderView, + QVBoxLayout +) + +from EricWidgets.EricPathPicker import EricPathPickerModes + +from .Ui_VirtualenvManagerWidget import Ui_VirtualenvManagerWidget + +import Utilities +import UI.PixmapCache + + +class VirtualenvManagerWidget(QWidget, Ui_VirtualenvManagerWidget): + """ + Class implementing a widget to manage the list of defined virtual + environments. + """ + IsGlobalRole = Qt.ItemDataRole.UserRole + 1 + IsCondaRole = Qt.ItemDataRole.UserRole + 2 + IsRemoteRole = Qt.ItemDataRole.UserRole + 3 + ExecPathRole = Qt.ItemDataRole.UserRole + 4 + + def __init__(self, manager, parent=None): + """ + Constructor + + @param manager reference to the virtual environment manager + @type VirtualenvManager + @param parent reference to the parent widget + @type QWidget + """ + super().__init__(parent) + self.setupUi(self) + + self.__manager = manager + + self.addButton.setIcon(UI.PixmapCache.getIcon("plus")) + self.newButton.setIcon(UI.PixmapCache.getIcon("new")) + self.editButton.setIcon(UI.PixmapCache.getIcon("edit")) + self.removeButton.setIcon(UI.PixmapCache.getIcon("minus")) + self.removeAllButton.setIcon(UI.PixmapCache.getIcon("minus_3")) + self.deleteButton.setIcon(UI.PixmapCache.getIcon("fileDelete")) + self.deleteAllButton.setIcon(UI.PixmapCache.getIcon("fileDeleteList")) + self.saveButton.setIcon(UI.PixmapCache.getIcon("fileSave")) + + baseDir = self.__manager.getVirtualEnvironmentsBaseDir() + if not baseDir: + baseDir = Utilities.getHomeDir() + + self.envBaseDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) + self.envBaseDirectoryPicker.setWindowTitle( + self.tr("Virtualenv Base Directory")) + self.envBaseDirectoryPicker.setText(baseDir) + + self.__populateVenvList() + self.__updateButtons() + + self.venvList.header().setSortIndicator(0, Qt.SortOrder.AscendingOrder) + + self.__manager.virtualEnvironmentsListChanged.connect(self.__refresh) + + def __updateButtons(self): + """ + Private method to update the enabled state of the various buttons. + """ + selectedItemsCount = len(self.venvList.selectedItems()) + topLevelItemCount = self.venvList.topLevelItemCount() + + deletableSelectedItemCount = 0 + for itm in self.venvList.selectedItems(): + if ( + itm.text(0) != "<default>" and + bool(itm.text(1)) and + not itm.data(0, VirtualenvManagerWidget.IsGlobalRole) and + not itm.data(0, VirtualenvManagerWidget.IsRemoteRole) + ): + deletableSelectedItemCount += 1 + + deletableItemCount = 0 + for index in range(topLevelItemCount): + itm = self.venvList.topLevelItem(index) + if ( + itm.text(0) != "<default>" and + bool(itm.text(1)) and + not itm.data(0, VirtualenvManagerWidget.IsRemoteRole) + ): + deletableItemCount += 1 + + canBeRemoved = ( + selectedItemsCount == 1 and + self.venvList.selectedItems()[0].text(0) != "<default>" + ) + canAllBeRemoved = ( + topLevelItemCount == 1 and + self.venvList.topLevelItem(0).text(0) != "<default>" + ) + + self.editButton.setEnabled(selectedItemsCount == 1) + + self.removeButton.setEnabled(selectedItemsCount > 1 or canBeRemoved) + self.removeAllButton.setEnabled( + topLevelItemCount > 1 or canAllBeRemoved) + + self.deleteButton.setEnabled(deletableSelectedItemCount) + self.deleteAllButton.setEnabled(deletableItemCount) + + @pyqtSlot() + def on_addButton_clicked(self): + """ + Private slot to add a new entry. + """ + from .VirtualenvAddEditDialog import VirtualenvAddEditDialog + dlg = VirtualenvAddEditDialog( + self.__manager, + baseDir=self.envBaseDirectoryPicker.text() + ) + if dlg.exec() == QDialog.DialogCode.Accepted: + (venvName, venvDirectory, venvInterpreter, isGlobal, isConda, + isRemote, execPath) = dlg.getData() + + self.__manager.addVirtualEnv( + venvName, venvDirectory, venvInterpreter, isGlobal, isConda, + isRemote, execPath) + + @pyqtSlot() + def on_newButton_clicked(self): + """ + Private slot to create a new virtual environment. + """ + self.__manager.createVirtualEnv( + baseDir=self.envBaseDirectoryPicker.text()) + + @pyqtSlot() + def on_editButton_clicked(self): + """ + Private slot to edit the selected entry. + """ + selectedItem = self.venvList.selectedItems()[0] + oldVenvName = selectedItem.text(0) + + from .VirtualenvAddEditDialog import VirtualenvAddEditDialog + dlg = VirtualenvAddEditDialog( + self.__manager, selectedItem.text(0), + selectedItem.text(1), selectedItem.text(2), + selectedItem.data(0, VirtualenvManagerWidget.IsGlobalRole), + selectedItem.data(0, VirtualenvManagerWidget.IsCondaRole), + selectedItem.data(0, VirtualenvManagerWidget.IsRemoteRole), + selectedItem.data(0, VirtualenvManagerWidget.ExecPathRole), + baseDir=self.envBaseDirectoryPicker.text() + ) + if dlg.exec() == QDialog.DialogCode.Accepted: + (venvName, venvDirectory, venvInterpreter, isGlobal, isConda, + isRemote, execPath) = dlg.getData() + if venvName != oldVenvName: + self.__manager.renameVirtualEnv( + oldVenvName, venvName, venvDirectory, venvInterpreter, + isGlobal, isConda, isRemote, execPath) + else: + self.__manager.setVirtualEnv( + venvName, venvDirectory, venvInterpreter, isGlobal, + isConda, isRemote, execPath) + + @pyqtSlot() + def on_removeButton_clicked(self): + """ + Private slot to remove all selected entries from the list but keep + their directories. + """ + selectedVenvs = [] + for itm in self.venvList.selectedItems(): + selectedVenvs.append(itm.text(0)) + + if selectedVenvs: + self.__manager.removeVirtualEnvs(selectedVenvs) + + @pyqtSlot() + def on_removeAllButton_clicked(self): + """ + Private slot to remove all entries from the list but keep their + directories. + """ + venvNames = [] + for index in range(self.venvList.topLevelItemCount()): + itm = self.venvList.topLevelItem(index) + venvNames.append(itm.text(0)) + + if venvNames: + self.__manager.removeVirtualEnvs(venvNames) + + @pyqtSlot() + def on_deleteButton_clicked(self): + """ + Private slot to delete all selected entries from the list and disk. + """ + selectedVenvs = [] + for itm in self.venvList.selectedItems(): + selectedVenvs.append(itm.text(0)) + + if selectedVenvs: + self.__manager.deleteVirtualEnvs(selectedVenvs) + + @pyqtSlot() + def on_deleteAllButton_clicked(self): + """ + Private slot to delete all entries from the list and disk. + """ + venvNames = [] + for index in range(self.venvList.topLevelItemCount()): + itm = self.venvList.topLevelItem(index) + venvNames.append(itm.text(0)) + + if venvNames: + self.__manager.deleteVirtualEnvs(venvNames) + + @pyqtSlot() + def on_venvList_itemSelectionChanged(self): + """ + Private slot handling a change of the selected items. + """ + self.__updateButtons() + + @pyqtSlot() + def __refresh(self): + """ + Private slot to refresh the list of shown items. + """ + # 1. remember selected entries + selectedVenvs = [] + for itm in self.venvList.selectedItems(): + selectedVenvs.append(itm.text(0)) + + # 2. clear the list + self.venvList.clear() + + # 3. re-populate the list + self.__populateVenvList() + + # 4. re-establish selection + for venvName in selectedVenvs: + itms = self.venvList.findItems( + venvName, Qt.MatchFlag.MatchExactly, 0) + if itms: + itms[0].setSelected(True) + + def __populateVenvList(self): + """ + Private method to populate the list of virtual environments. + """ + environments = self.__manager.getEnvironmentEntries() + for venvName in environments: + itm = QTreeWidgetItem(self.venvList, [ + venvName, + environments[venvName]["path"], + environments[venvName]["interpreter"], + ]) + itm.setData(0, VirtualenvManagerWidget.IsGlobalRole, + environments[venvName]["is_global"]) + itm.setData(0, VirtualenvManagerWidget.IsCondaRole, + environments[venvName]["is_conda"]) + itm.setData(0, VirtualenvManagerWidget.IsRemoteRole, + environments[venvName]["is_remote"]) + itm.setData(0, VirtualenvManagerWidget.ExecPathRole, + environments[venvName]["exec_path"]) + + # show remote environments with underlined font + if environments[venvName]["is_remote"]: + font = itm.font(0) + font.setUnderline(True) + for column in range(itm.columnCount()): + itm.setFont(column, font) + else: + # local environments + + # show global environments with bold font + if environments[venvName]["is_global"]: + font = itm.font(0) + font.setBold(True) + for column in range(itm.columnCount()): + itm.setFont(column, font) + + # show Anaconda environments with italic font + if environments[venvName]["is_conda"]: + font = itm.font(0) + font.setItalic(True) + for column in range(itm.columnCount()): + itm.setFont(column, font) + + self.__resizeSections() + + def __resizeSections(self): + """ + Private method to resize the sections of the environment list to their + contents. + """ + self.venvList.header().resizeSections( + QHeaderView.ResizeMode.ResizeToContents) + self.venvList.header().setStretchLastSection(True) + + @pyqtSlot() + def on_saveButton_clicked(self): + """ + Private slot to save the base directory name. + """ + baseDir = self.envBaseDirectoryPicker.text() + self.__manager.setVirtualEnvironmentsBaseDir(baseDir) + + +class VirtualenvManagerDialog(QDialog): + """ + Class implementing the virtual environments manager dialog variant. + """ + def __init__(self, manager, parent=None): + """ + Constructor + + @param manager reference to the virtual environment manager + @type VirtualenvManager + @param parent reference to the parent widget + @type QWidget + """ + super().__init__(parent) + self.setSizeGripEnabled(True) + + self.__layout = QVBoxLayout(self) + self.setLayout(self.__layout) + + self.cw = VirtualenvManagerWidget(manager, self) + self.__layout.addWidget(self.cw) + + self.buttonBox = QDialogButtonBox( + QDialogButtonBox.StandardButton.Close, + Qt.Orientation.Horizontal, + self) + self.__layout.addWidget(self.buttonBox) + + self.resize(700, 500) + self.setWindowTitle(self.tr("Manage Virtual Environments")) + + self.buttonBox.accepted.connect(self.accept) + self.buttonBox.rejected.connect(self.reject) + +# TODO: add a VirtualenvManagerWindow class and am associated script
--- a/eric7/eric7.py Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/eric7.py Thu Sep 16 19:31:00 2021 +0200 @@ -425,5 +425,4 @@ # TODO: add an embedded help viewer based on QWebEngineView (right side) # TODO: make VCS status an embedded view (left side) # TODO: add a VCS diff view in the central area (view manager) (?) -# TODO: add virtual environment manager as embedded view (right side) # TODO: add file search/replace as embedded view (left side)
--- a/eric7/i18n/eric7_cs.ts Thu Sep 16 19:23:07 2021 +0200 +++ b/eric7/i18n/eric7_cs.ts Thu Sep 16 19:31:00 2021 +0200 @@ -5693,142 +5693,142 @@ <context> <name>CondaPackagesWidget</name> <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="72" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="74" /> <source>Conda Menu</source> <translation type="unfinished" /> </message> <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="125" /> - <source>Clean</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../CondaInterface/CondaPackagesWidget.py" line="127" /> - <source>All</source> - <translation type="unfinished">Vše</translation> + <source>Clean</source> + <translation type="unfinished" /> </message> <message> <location filename="../CondaInterface/CondaPackagesWidget.py" line="129" /> - <source>Cache</source> - <translation type="unfinished" /> + <source>All</source> + <translation type="unfinished">Vše</translation> </message> <message> <location filename="../CondaInterface/CondaPackagesWidget.py" line="131" /> + <source>Cache</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="133" /> <source>Lock Files</source> <translation type="unfinished" /> </message> <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="134" /> - <source>Packages</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../CondaInterface/CondaPackagesWidget.py" line="136" /> + <source>Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="138" /> <source>Tarballs</source> <translation type="unfinished" /> </message> <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="139" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="141" /> <source>About Conda...</source> <translation type="unfinished" /> </message> <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="142" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="144" /> <source>Update Conda</source> <translation type="unfinished" /> </message> <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="583" /> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="563" /> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="145" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="147" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="150" /> - <source>Generate Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="153" /> - <source>Create Environment from Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="623" /> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="156" /> - <source>Clone Environment</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="670" /> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="158" /> - <source>Delete Environment</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="163" /> - <source>Edit User Configuration...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="167" /> - <source>Configure...</source> - <translation type="unfinished">Konfigurovat...</translation> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="223" /> - <source>Getting installed packages...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="237" /> - <source>Getting outdated packages...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="260" /> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="256" /> - <source>{0} (Build: {1})</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="405" /> - <source>Conda Search Package Error</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="564" /> - <source>Package Specifications (separated by whitespace):</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../CondaInterface/CondaPackagesWidget.py" line="585" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="565" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="147" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="149" /> + <source>Install Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="152" /> + <source>Generate Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="155" /> + <source>Create Environment from Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="625" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="158" /> + <source>Clone Environment</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="672" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="160" /> + <source>Delete Environment</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="165" /> + <source>Edit User Configuration...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="169" /> + <source>Configure...</source> + <translation type="unfinished">Konfigurovat...</translation> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="225" /> + <source>Getting installed packages...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="239" /> + <source>Getting outdated packages...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="262" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="258" /> + <source>{0} (Build: {1})</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="407" /> + <source>Conda Search Package Error</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="566" /> + <source>Package Specifications (separated by whitespace):</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="587" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished">Textové soubory (*.txt);;Všechny soubory (*)</translation> </message> <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="647" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="649" /> <source>Create Environment</source> <translation type="unfinished" /> </message> <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="671" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="673" /> <source><p>Shall the environment <b>{0}</b> really be deleted?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="695" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="697" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../CondaInterface/CondaPackagesWidget.py" line="696" /> + <location filename="../CondaInterface/CondaPackagesWidget.py" line="698" /> <source>The configuration file "{0}" does not exist or is not writable.</source> <translation type="unfinished" /> </message> @@ -6038,7 +6038,7 @@ <translation>Grafika</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="450" /> + <location filename="../Preferences/ConfigurationDialog.py" line="448" /> <location filename="../Preferences/ConfigurationDialog.py" line="163" /> <source>Hex Editor</source> <translation type="unfinished" /> @@ -6069,7 +6069,7 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="397" /> + <location filename="../Preferences/ConfigurationDialog.py" line="395" /> <location filename="../Preferences/ConfigurationDialog.py" line="181" /> <source>Network</source> <translation>Síť</translation> @@ -6090,7 +6090,7 @@ <translation>Plugin Manažer</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="400" /> + <location filename="../Preferences/ConfigurationDialog.py" line="398" /> <location filename="../Preferences/ConfigurationDialog.py" line="195" /> <source>Printer</source> <translation>Tiskárna</translation> @@ -6111,7 +6111,7 @@ <translation>Qt</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="403" /> + <location filename="../Preferences/ConfigurationDialog.py" line="401" /> <location filename="../Preferences/ConfigurationDialog.py" line="207" /> <source>Security</source> <translation type="unfinished">Bezpečnost</translation> @@ -6132,7 +6132,7 @@ <translation>Šablony</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="437" /> + <location filename="../Preferences/ConfigurationDialog.py" line="435" /> <location filename="../Preferences/ConfigurationDialog.py" line="219" /> <source>Tray Starter</source> <translation type="unfinished" /> @@ -6184,8 +6184,8 @@ <translation>Vyhledávání</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="423" /> - <location filename="../Preferences/ConfigurationDialog.py" line="376" /> + <location filename="../Preferences/ConfigurationDialog.py" line="421" /> + <location filename="../Preferences/ConfigurationDialog.py" line="374" /> <location filename="../Preferences/ConfigurationDialog.py" line="256" /> <source>Spell checking</source> <translation>Kontrola pravopisu</translation> @@ -6211,148 +6211,148 @@ <translation>Exportery</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="274" /> + <location filename="../Preferences/ConfigurationDialog.py" line="273" /> <source>Autocompletion</source> <translation>Autodoplňování</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="291" /> - <location filename="../Preferences/ConfigurationDialog.py" line="278" /> + <location filename="../Preferences/ConfigurationDialog.py" line="289" /> + <location filename="../Preferences/ConfigurationDialog.py" line="277" /> <source>QScintilla</source> <translation>QScintilla</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="321" /> - <location filename="../Preferences/ConfigurationDialog.py" line="294" /> - <location filename="../Preferences/ConfigurationDialog.py" line="282" /> + <location filename="../Preferences/ConfigurationDialog.py" line="319" /> + <location filename="../Preferences/ConfigurationDialog.py" line="292" /> + <location filename="../Preferences/ConfigurationDialog.py" line="281" /> <source>Jedi</source> <translation type="unfinished" /> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="288" /> + <location filename="../Preferences/ConfigurationDialog.py" line="286" /> <source>Calltips</source> <translation>Rychlé tipy</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="298" /> + <location filename="../Preferences/ConfigurationDialog.py" line="296" /> <source>Highlighters</source> <translation>Zvýrazňovače</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="302" /> + <location filename="../Preferences/ConfigurationDialog.py" line="300" /> <source>Filetype Associations</source> <translation>Asociace typů souborů</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="306" /> + <location filename="../Preferences/ConfigurationDialog.py" line="304" /> <source>Styles</source> <translation>Styly</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="310" /> + <location filename="../Preferences/ConfigurationDialog.py" line="308" /> <source>Keywords</source> <translation>Klíčová slova</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="313" /> + <location filename="../Preferences/ConfigurationDialog.py" line="311" /> <source>Properties</source> <translation>Nastavení</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="317" /> + <location filename="../Preferences/ConfigurationDialog.py" line="315" /> <source>Mouse Click Handlers</source> <translation type="unfinished" /> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="326" /> + <location filename="../Preferences/ConfigurationDialog.py" line="324" /> <source>Help</source> <translation>Nápověda</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="407" /> - <location filename="../Preferences/ConfigurationDialog.py" line="329" /> + <location filename="../Preferences/ConfigurationDialog.py" line="405" /> + <location filename="../Preferences/ConfigurationDialog.py" line="327" /> <source>Help Documentation</source> <translation>Dokumenty nápovědy</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="333" /> + <location filename="../Preferences/ConfigurationDialog.py" line="331" /> <source>Help Viewers</source> <translation>Prohlížeče nápovědy</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="344" /> - <location filename="../Preferences/ConfigurationDialog.py" line="338" /> + <location filename="../Preferences/ConfigurationDialog.py" line="342" /> + <location filename="../Preferences/ConfigurationDialog.py" line="336" /> <source>Project</source> <translation>Projekt</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="341" /> + <location filename="../Preferences/ConfigurationDialog.py" line="339" /> <source>Project Viewer</source> <translation>Prohlížeč projektu</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="347" /> + <location filename="../Preferences/ConfigurationDialog.py" line="345" /> <source>Multiproject</source> <translation>Multiprojekt</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="394" /> - <location filename="../Preferences/ConfigurationDialog.py" line="355" /> - <location filename="../Preferences/ConfigurationDialog.py" line="352" /> + <location filename="../Preferences/ConfigurationDialog.py" line="392" /> + <location filename="../Preferences/ConfigurationDialog.py" line="353" /> + <location filename="../Preferences/ConfigurationDialog.py" line="350" /> <source>Interface</source> <translation>Interface</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="358" /> + <location filename="../Preferences/ConfigurationDialog.py" line="356" /> <source>Viewmanager</source> <translation>Viewmanager</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="364" /> + <location filename="../Preferences/ConfigurationDialog.py" line="362" /> <source>Web Browser</source> <translation type="unfinished" /> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="412" /> - <location filename="../Preferences/ConfigurationDialog.py" line="367" /> + <location filename="../Preferences/ConfigurationDialog.py" line="410" /> + <location filename="../Preferences/ConfigurationDialog.py" line="365" /> <source>Appearance</source> <translation>Vzhled</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="415" /> - <location filename="../Preferences/ConfigurationDialog.py" line="370" /> + <location filename="../Preferences/ConfigurationDialog.py" line="413" /> + <location filename="../Preferences/ConfigurationDialog.py" line="368" /> <source>eric Web Browser</source> <translation type="unfinished" /> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="419" /> - <location filename="../Preferences/ConfigurationDialog.py" line="373" /> + <location filename="../Preferences/ConfigurationDialog.py" line="417" /> + <location filename="../Preferences/ConfigurationDialog.py" line="371" /> <source>VirusTotal Interface</source> <translation type="unfinished" /> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="528" /> + <location filename="../Preferences/ConfigurationDialog.py" line="526" /> <source>Enter search text...</source> <translation type="unfinished" /> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="602" /> + <location filename="../Preferences/ConfigurationDialog.py" line="600" /> <source>Preferences</source> <translation>Předvolby</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="609" /> + <location filename="../Preferences/ConfigurationDialog.py" line="607" /> <source>Please select an entry of the list to display the configuration page.</source> <translation>Pro zobrazení strany s konfigurací vyberte položku ze seznamu.</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="684" /> + <location filename="../Preferences/ConfigurationDialog.py" line="682" /> <source>Configuration Page Error</source> <translation>Chyba na straně konfigurace</translation> </message> <message> - <location filename="../Preferences/ConfigurationDialog.py" line="685" /> + <location filename="../Preferences/ConfigurationDialog.py" line="683" /> <source><p>The configuration page <b>{0}</b> could not be loaded.</p></source> <translation><p>Konfigurační stranu <b>{0}</b> nelze načíst.</p></translation> </message> @@ -8818,6 +8818,11 @@ </message> <message> <location filename="../Preferences/ConfigurationPages/DebuggerPython3Page.ui" line="0" /> + <source>Press to refresh the list of vitual environments</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Preferences/ConfigurationPages/DebuggerPython3Page.ui" line="0" /> <source>Debug Client Type</source> <translation>Typ Debug klienta</translation> </message> @@ -8887,12 +8892,12 @@ <translation>Nenastavovat kódování debug klienta</translation> </message> <message> - <location filename="../Preferences/ConfigurationPages/DebuggerPython3Page.py" line="43" /> + <location filename="../Preferences/ConfigurationPages/DebuggerPython3Page.py" line="49" /> <source>Press to select the Debug Client via a file selection dialog</source> <translation>Stisknout pro výběr klienta debugeru přes dialog výběru souborů</translation> </message> <message> - <location filename="../Preferences/ConfigurationPages/DebuggerPython3Page.py" line="45" /> + <location filename="../Preferences/ConfigurationPages/DebuggerPython3Page.py" line="51" /> <source>Python Files (*.py *.py3)</source> <translation>Python soubory (*.py *.py3)</translation> </message> @@ -18241,59 +18246,59 @@ <context> <name>EricSslInfoWidget</name> <message> - <location filename="../EricNetwork/EricSslInfoWidget.py" line="54" /> + <location filename="../EricNetwork/EricSslInfoWidget.py" line="53" /> <source>Identity</source> <translation type="unfinished" /> </message> <message> - <location filename="../EricNetwork/EricSslInfoWidget.py" line="64" /> + <location filename="../EricNetwork/EricSslInfoWidget.py" line="63" /> <source>Warning: this site is NOT carrying a certificate.</source> <translation type="unfinished" /> </message> <message> - <location filename="../EricNetwork/EricSslInfoWidget.py" line="72" /> + <location filename="../EricNetwork/EricSslInfoWidget.py" line="71" /> <source>The certificate for this site is valid and has been verified by: {0}</source> <translation type="unfinished" /> </message> <message> - <location filename="../EricNetwork/EricSslInfoWidget.py" line="79" /> + <location filename="../EricNetwork/EricSslInfoWidget.py" line="78" /> <source>The certificate for this site is NOT valid.</source> <translation type="unfinished" /> </message> <message> - <location filename="../EricNetwork/EricSslInfoWidget.py" line="90" /> + <location filename="../EricNetwork/EricSslInfoWidget.py" line="89" /> <source>Certificate Information</source> <translation type="unfinished" /> </message> <message> - <location filename="../EricNetwork/EricSslInfoWidget.py" line="103" /> + <location filename="../EricNetwork/EricSslInfoWidget.py" line="102" /> <source>Encryption</source> <translation type="unfinished" /> </message> <message> - <location filename="../EricNetwork/EricSslInfoWidget.py" line="114" /> + <location filename="../EricNetwork/EricSslInfoWidget.py" line="113" /> <source>Your connection to "{0}" is NOT encrypted. </source> <translation type="unfinished" /> </message> <message> - <location filename="../EricNetwork/EricSslInfoWidget.py" line="123" /> + <location filename="../EricNetwork/EricSslInfoWidget.py" line="122" /> <source>Your connection to "{0}" is encrypted.</source> <translation type="unfinished" /> </message> <message> - <location filename="../EricNetwork/EricSslInfoWidget.py" line="154" /> + <location filename="../EricNetwork/EricSslInfoWidget.py" line="153" /> <source>unknown</source> <translation type="unfinished">neznámý</translation> </message> <message> - <location filename="../EricNetwork/EricSslInfoWidget.py" line="161" /> + <location filename="../EricNetwork/EricSslInfoWidget.py" line="160" /> <source>It uses protocol: {0}</source> <translation type="unfinished" /> </message> <message> - <location filename="../EricNetwork/EricSslInfoWidget.py" line="168" /> + <location filename="../EricNetwork/EricSslInfoWidget.py" line="167" /> <source>It is encrypted using {0} at {1} bits, with {2} for message authentication and {3} as key exchange mechanism. </source> @@ -18787,7 +18792,7 @@ </message> <message> <location filename="../Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.py" line="63" /> - <source><?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><head><title></title></head><body style="background-color:{BodyBgColor};color:{BodyColor}"><h1 style="background-color:{Level1HeaderBgColor};color:{Level1HeaderColor}">Level 1 Header</h1><h3 style="background-color:{Level2HeaderBgColor};color:{Level2HeaderColor}">Level 2 Header</h3><h2 style="background-color:{CFBgColor};color:{CFColor}">Class and Function Header</h2>Standard body text with <a style="color:{LinkColor}">some links</a> embedded.</body></html></source> + <source><!DOCTYPE html<html><head><title></title></head><body style="background-color:{BodyBgColor};color:{BodyColor}"><h1 style="background-color:{Level1HeaderBgColor};color:{Level1HeaderColor}">Level 1 Header</h1><h3 style="background-color:{Level2HeaderBgColor};color:{Level2HeaderColor}">Level 2 Header</h3><h2 style="background-color:{CFBgColor};color:{CFColor}">Class and Function Header</h2>Standard body text with <a style="color:{LinkColor}">some links</a> embedded.</body></html></source> <translation type="unfinished" /> </message> <message> @@ -28932,8 +28937,8 @@ <context> <name>HelpDocsInstaller</name> <message> - <location filename="../WebBrowser/QtHelp/HelpDocsInstaller.py" line="243" /> - <location filename="../WebBrowser/QtHelp/HelpDocsInstaller.py" line="179" /> + <location filename="../WebBrowser/QtHelp/HelpDocsInstaller.py" line="240" /> + <location filename="../WebBrowser/QtHelp/HelpDocsInstaller.py" line="176" /> <source><p>The file <b>{0}</b> could not be registered. <br/>Reason: {1}</p></source> <translation type="unfinished" /> </message> @@ -45445,17 +45450,17 @@ <translation type="unfinished" /> </message> <message> - <location filename="../JediInterface/JediServer.py" line="410" /> + <location filename="../JediInterface/JediServer.py" line="387" /> <source>Jedi: No definition found</source> <translation type="unfinished" /> </message> <message> - <location filename="../JediInterface/JediServer.py" line="500" /> + <location filename="../JediInterface/JediServer.py" line="477" /> <source>Jedi: No mouse hover help found</source> <translation type="unfinished" /> </message> <message> - <location filename="../JediInterface/JediServer.py" line="529" /> + <location filename="../JediInterface/JediServer.py" line="506" /> <source>The data received from the Jedi server could not be decoded. Please report this issue with the received data to the eric bugs email address. Error: {0} Data: @@ -45464,7 +45469,7 @@ <translation type="unfinished" /> </message> <message> - <location filename="../JediInterface/JediServer.py" line="538" /> + <location filename="../JediInterface/JediServer.py" line="515" /> <source>An exception happened in the Jedi client. Please report it to the eric bugs email address. Exception: {0} Value: {1} @@ -45473,25 +45478,25 @@ <translation type="unfinished" /> </message> <message> - <location filename="../JediInterface/JediServer.py" line="572" /> + <location filename="../JediInterface/JediServer.py" line="549" /> <source>The jedi and/or parso library is not installed. </source> <translation type="unfinished" /> </message> <message> - <location filename="../JediInterface/JediServer.py" line="576" /> + <location filename="../JediInterface/JediServer.py" line="553" /> <source>'{0}' is not supported because the configured interpreter could not be started. </source> <translation type="unfinished" /> </message> <message> - <location filename="../JediInterface/JediServer.py" line="581" /> + <location filename="../JediInterface/JediServer.py" line="558" /> <source>'{0}' is not supported because no suitable interpreter is configured. </source> <translation type="unfinished" /> </message> <message> - <location filename="../JediInterface/JediServer.py" line="695" /> + <location filename="../JediInterface/JediServer.py" line="672" /> <source>Jedi</source> <translation type="unfinished" /> </message> @@ -49257,17 +49262,17 @@ <context> <name>MicroPythonWidget</name> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="220" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="222" /> <source>MicroPython Menu</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="278" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="280" /> <source><h3>The QtSerialPort package is not available.<br/>MicroPython support is deactivated.</h3></source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../MicroPython/MicroPythonWidget.py" line="320" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="322" /> <source>%n supported device(s) detected.</source> <translation type="unfinished"> <numerusform /> @@ -49276,18 +49281,18 @@ </translation> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="326" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="328" /> <source>{0} - {1} ({2})</source> <comment>board name, description, port name</comment> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="342" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="344" /> <source>No supported devices detected.</source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../MicroPython/MicroPythonWidget.py" line="346" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="348" /> <source> %n unknown device(s) for manual selection.</source> <translation type="unfinished"> @@ -49297,65 +49302,65 @@ </translation> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="352" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="354" /> <source>Manual Selection</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="411" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="386" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="413" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="388" /> <source>Unknown MicroPython Device</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="387" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="389" /> <source><p>Detected these unknown serial devices</p><ul><li>{0}</li></ul><p>Please report them together with the board name and a short description to <a href="mailto:{1}"> the eric bug reporting address</a> if it is a MicroPython board.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="397" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="399" /> <source>{0} (0x{1:04x}/0x{2:04x})</source> <comment>description, VId, PId</comment> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="412" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="414" /> <source>Would you like to add them to the list of manually configured devices?</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="533" /> - <source>Clear</source> - <translation type="unfinished">Vyčistit</translation> - </message> - <message> <location filename="../MicroPython/MicroPythonWidget.py" line="535" /> + <source>Clear</source> + <translation type="unfinished">Vyčistit</translation> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="537" /> <source>Copy</source> <translation type="unfinished">Kopírovat</translation> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="536" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="538" /> <source>Paste</source> <translation type="unfinished">Vložit</translation> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="558" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="560" /> <source>Press to disconnect the current device</source> <translation type="unfinished" /> </message> <message> <location filename="../MicroPython/MicroPythonWidget.ui" line="0" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="563" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="565" /> <source>Press to connect the selected device</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="581" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="583" /> <source>No device attached</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="582" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="584" /> <source>Please ensure the device is plugged into your computer and selected. It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work. @@ -49364,295 +49369,295 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="608" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="610" /> <source>Start REPL</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="609" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="611" /> <source><p>The REPL cannot be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1067" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1069" /> <source>Serial Device Connect</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1068" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1070" /> <source><p>Cannot connect to device at serial port <b>{0}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1112" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1103" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1095" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1114" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1105" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1097" /> <source>Run Script</source> <translation type="unfinished">Spustit skript</translation> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1096" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1098" /> <source>There is no editor open. Abort...</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1104" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1106" /> <source>The current editor does not contain a script. Abort...</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1113" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1115" /> <source><p>Cannot run script.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1136" /> - <source>Open Python File</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/MicroPythonWidget.py" line="1138" /> + <source>Open Python File</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1140" /> <source>Python3 Files (*.py);;All Files (*)</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1181" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1183" /> <source>Start Chart</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1182" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1184" /> <source><p>The Chart cannot be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1194" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1196" /> <source>µPy Chart</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1210" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1212" /> <source>Unsaved Chart Data</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1211" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1213" /> <source>The chart contains unsaved data.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1261" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1263" /> <source>Start File Manager</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1262" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1264" /> <source><p>The File Manager cannot be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1279" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1281" /> <source>µPy Files</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1315" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1317" /> <source>Downloads</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1331" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1333" /> <source>Show Version</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1334" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1336" /> <source>Show Implementation</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1463" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1339" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1465" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1341" /> <source>Synchronize Time</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1342" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1344" /> <source>Show Device Time</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1345" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1347" /> <source>Show Local Time</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1348" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1350" /> <source>Show Time</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1682" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1354" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1684" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1356" /> <source>Compile Python File</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1704" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1697" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1357" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1706" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1699" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1359" /> <source>Compile Current Editor</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1367" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1369" /> <source>Download Firmware</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1374" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1376" /> <source>Show Documentation</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1378" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1380" /> <source>Flash UF2 Device</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1381" /> - <source>Manage Unknown Devices</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/MicroPythonWidget.py" line="1383" /> + <source>Manage Unknown Devices</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1385" /> <source>Ignored Serial Devices</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1386" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1388" /> <source>Configure</source> <translation type="unfinished">Konfigurovat</translation> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1396" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1398" /> <source><h3>Device Version Information</h3></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1405" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1407" /> <source>No version information available.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1409" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1411" /> <source>Device Version Information</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1430" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1426" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1432" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1428" /> <source>unknown</source> <translation type="unfinished">neznámý</translation> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1437" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1439" /> <source>Device Implementation Information</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1438" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1440" /> <source><h3>Device Implementation Information</h3><p>This device contains <b>{0} {1}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1464" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1466" /> <source><p>The time of the connected device was synchronized with the local time.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1484" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1486" /> <source><h3>Device Date and Time</h3><table><tr><td><b>Date</b></td><td>{0}</td></tr><tr><td><b>Time</b></td><td>{1}</td></tr></table></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1492" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1494" /> <source><h3>Device Date and Time</h3><p>{0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1511" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1513" /> <source>Device Date and Time</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1524" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1526" /> <source>Local Date and Time</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1525" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1527" /> <source><h3>Local Date and Time</h3><table><tr><td><b>Date</b></td><td>{0}</td></tr><tr><td><b>Time</b></td><td>{1}</td></tr></table></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1567" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1550" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1569" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1552" /> <source>Date and Time</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1551" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1553" /> <source><table><tr><th></th><th>Local Date and Time</th><th>Device Date and Time</th></tr><tr><td><b>Date</b></td><td align='center'>{0}</td><td align='center'>{2}</td></tr><tr><td><b>Time</b></td><td align='center'>{1}</td><td align='center'>{3}</td></tr></table></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1568" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1570" /> <source><table><tr><th>Local Date and Time</th><th>Device Date and Time</th></tr><tr><td align='center'>{0} {1}</td><td align='center'>{2}</td></tr></table></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1592" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1594" /> <source>Error handling device</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1593" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1595" /> <source><p>There was an error communicating with the connected device.</p><p>Method: {0}</p><p>Message: {1}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1633" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1635" /> <source>The MicroPython cross compiler <b>mpy-cross</b> cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1656" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1658" /> <source>Python Files (*.py);;All Files (*)</source> <translation type="unfinished">Python soubory (*.py);;Všechny soubory (*)</translation> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1665" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1667" /> <source>The Python file <b>{0}</b> does not exist. Aborting...</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1672" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1674" /> <source>'mpy-cross' Output</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1698" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1700" /> <source>The current editor does not contain a Python file. Aborting...</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1791" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1793" /> <source>Add Unknown Devices</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1792" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1794" /> <source>Select the devices to be added:</source> <translation type="unfinished" /> </message> @@ -53249,79 +53254,79 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="354" /> - <location filename="../PipInterface/Pip.py" line="309" /> + <location filename="../PipInterface/Pip.py" line="353" /> + <location filename="../PipInterface/Pip.py" line="308" /> <source>Upgrade Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="310" /> + <location filename="../PipInterface/Pip.py" line="309" /> <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="394" /> + <location filename="../PipInterface/Pip.py" line="393" /> <source>Install Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="423" /> + <location filename="../PipInterface/Pip.py" line="422" /> <source>Install Packages from Requirements</source> <translation type="unfinished" /> </message> <message> + <location filename="../PipInterface/Pip.py" line="485" /> + <location filename="../PipInterface/Pip.py" line="454" /> + <location filename="../PipInterface/Pip.py" line="445" /> + <source>Uninstall Packages</source> + <translation type="unfinished" /> + </message> + <message> <location filename="../PipInterface/Pip.py" line="486" /> - <location filename="../PipInterface/Pip.py" line="455" /> <location filename="../PipInterface/Pip.py" line="446" /> - <source>Uninstall Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/Pip.py" line="487" /> - <location filename="../PipInterface/Pip.py" line="447" /> <source>Do you really want to uninstall these packages?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="498" /> + <location filename="../PipInterface/Pip.py" line="497" /> <source>Uninstall Packages from Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="715" /> + <location filename="../PipInterface/Pip.py" line="714" /> <source>Cache Info</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="740" /> - <location filename="../PipInterface/Pip.py" line="732" /> + <location filename="../PipInterface/Pip.py" line="739" /> + <location filename="../PipInterface/Pip.py" line="731" /> <source>List Cached Files</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="733" /> + <location filename="../PipInterface/Pip.py" line="732" /> <source>Enter a file pattern (empty for all):</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="764" /> - <location filename="../PipInterface/Pip.py" line="758" /> + <location filename="../PipInterface/Pip.py" line="763" /> + <location filename="../PipInterface/Pip.py" line="757" /> <source>Remove Cached Files</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="759" /> + <location filename="../PipInterface/Pip.py" line="758" /> <source>Enter a file pattern:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="787" /> - <location filename="../PipInterface/Pip.py" line="782" /> + <location filename="../PipInterface/Pip.py" line="786" /> + <location filename="../PipInterface/Pip.py" line="781" /> <source>Purge Cache</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="783" /> + <location filename="../PipInterface/Pip.py" line="782" /> <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source> <translation type="unfinished" /> </message> @@ -53961,104 +53966,104 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="167" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="169" /> <source>pip Menu</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="193" /> - <source>Name:</source> - <translation type="unfinished">Jméno:</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="194" /> - <source>Version:</source> - <translation type="unfinished">Verze:</translation> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="195" /> - <source>Location:</source> - <translation type="unfinished" /> + <source>Name:</source> + <translation type="unfinished">Jméno:</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="196" /> - <source>Requires:</source> - <translation type="unfinished" /> + <source>Version:</source> + <translation type="unfinished">Verze:</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="197" /> - <source>Summary:</source> + <source>Location:</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="198" /> - <source>Homepage:</source> + <source>Requires:</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="199" /> - <source>Author:</source> - <translation type="unfinished">Autor:</translation> + <source>Summary:</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="200" /> - <source>Author Email:</source> + <source>Homepage:</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="201" /> - <source>License:</source> - <translation type="unfinished" /> + <source>Author:</source> + <translation type="unfinished">Autor:</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="202" /> - <source>Metadata Version:</source> + <source>Author Email:</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="203" /> - <source>Installer:</source> + <source>License:</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="204" /> - <source>Classifiers:</source> + <source>Metadata Version:</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="205" /> - <source>Entry Points:</source> + <source>Installer:</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="206" /> + <source>Classifiers:</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="207" /> + <source>Entry Points:</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="208" /> <source>Files:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="373" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="375" /> <source>Getting installed packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="388" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="390" /> <source>Getting outdated packages...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="973" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="810" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="788" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="975" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="812" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="790" /> <source>Search PyPI</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="789" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="791" /> <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="803" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="805" /> <source>%n package(s) found.</source> <translation type="unfinished"> <numerusform /> @@ -54067,113 +54072,113 @@ </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="805" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="807" /> <source>Showing first 20 packages found.</source> <translation type="unfinished" /> </message> <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="815" /> <location filename="../PipInterface/PipPackagesWidget.py" line="813" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="811" /> <source><p>There were no results for <b>{0}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="974" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="976" /> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="988" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="990" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="991" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="993" /> <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="994" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="996" /> <source>Repair Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1114" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="998" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1116" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1000" /> <source>Install Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1001" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1003" /> <source>Install Local Package</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1005" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1007" /> <source>Install Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1008" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1010" /> <source>Re-Install Selected Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1011" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1013" /> <source>Uninstall Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1014" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1016" /> <source>Generate Requirements...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1018" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1020" /> <source>Show Cache Info...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1021" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1023" /> <source>Show Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1024" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1026" /> <source>Remove Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1027" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1029" /> <source>Purge Cache...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1032" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1034" /> <source>Edit User Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1035" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1037" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1040" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1042" /> <source>Configure...</source> <translation type="unfinished">Konfigurovat...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1235" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1222" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1211" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1224" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1213" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1236" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1223" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1212" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1238" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1225" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1214" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> @@ -54920,195 +54925,195 @@ <context> <name>PluginRepositoryWidget</name> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="97" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="100" /> <source>Update</source> <translation>Obnovit</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="99" /> - <source>Download</source> - <translation>Download</translation> - </message> - <message> <location filename="../PluginManager/PluginRepositoryDialog.py" line="102" /> + <source>Download</source> + <translation>Download</translation> + </message> + <message> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="105" /> <source>Download && Install</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="106" /> - <source>Cancel</source> - <translation>Zrušit</translation> - </message> - <message> <location filename="../PluginManager/PluginRepositoryDialog.py" line="109" /> + <source>Cancel</source> + <translation>Zrušit</translation> + </message> + <message> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="112" /> <source>Install</source> <translation type="unfinished">Instalovat</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="110" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="113" /> <source>Close && Install</source> <translation>Zavřít && Instalovat</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="115" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="118" /> <source>Close</source> <translation type="unfinished">Zavřít</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="131" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="134" /> <source>Hide</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="133" /> - <source>Hide Selected</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PluginManager/PluginRepositoryDialog.py" line="136" /> - <source>Show All</source> + <source>Hide Selected</source> <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginRepositoryDialog.py" line="139" /> + <source>Show All</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="142" /> <source>Cleanup Downloads</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="193" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="196" /> <source>Internet Reachability Status: Reachable</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="195" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="198" /> <source>Internet Reachability Status: Not Reachable</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="406" /> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="397" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="411" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="402" /> <source>Download Plugin Files</source> <translation>Download plugin soubory</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="407" /> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="398" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="412" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="403" /> <source>The requested plugins were downloaded.</source> <translation>Požadované pluginy byly staženy.</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="456" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="461" /> <source>Plugins Repository URL Changed</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="457" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="462" /> <source>The URL of the Plugins Repository has changed. Select the "Update" button to get the new repository file.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="464" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="469" /> <source>Read plugins repository file</source> <translation>Číst soubor repozitáře pluginů</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="465" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="470" /> <source><p>The plugins repository file <b>{0}</b> could not be read. Select Update</p></source> <translation><p>Soubor repozitáře pluginů <b>{0}</b> nelze přečíst. Vyberte Obnovit</p></translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="472" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="477" /> <source>No plugin repository file available. Select Update.</source> <translation>Soubor repozitáře pluginů není k dispozici. Vyberte Obnovit.</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="477" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="482" /> <source>New: <b>{0}</b></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="479" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="484" /> <source>Local Updates: <b>{0}</b></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="481" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="486" /> <source>Remote Updates: <b>{0}</b></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="548" /> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="514" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="553" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="519" /> <source>Error downloading file</source> <translation>Chyba při stahování souboru</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="549" /> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="515" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="554" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="520" /> <source><p>Could not download the requested file from {0}.</p><p>Error: {1}</p></source> <translation><p>Nelze stáhnout požadovaný soubor z {0}.</p><p>Chyba: {1}</p></translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="518" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="523" /> <source>No connection to Internet.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="630" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="635" /> <source>Stable</source> <translation>Stabilní</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="636" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="641" /> <source>Unstable</source> <translation>Nestabilní</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="642" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="647" /> <source>Obsolete</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="648" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="653" /> <source>Unknown</source> <translation>Neznámý</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="670" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="675" /> <source>up-to-date</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="673" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="678" /> <source>new download available</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="677" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="682" /> <source>update installable</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="681" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="686" /> <source>updated download available</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="685" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="690" /> <source>error determining status</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" /> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="1021" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="1055" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="1026" /> <source>Cleanup of Plugin Downloads</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" /> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="1024" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="1058" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="1029" /> <source><p>The plugin download <b>{0}</b> could not be deleted.</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> @@ -55116,17 +55121,17 @@ <context> <name>PluginRepositoryWindow</name> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="935" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="940" /> <source>Process Generation Error</source> <translation>Chyba v procesu generování</translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="936" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="941" /> <source><p>Could not start the process.<br>Ensure that it is available as <b>{0}</b>.</p></source> <translation><p>Nemohu spustit zveřejnění.<br>Ověřte jestli je dostupný jako <b>{0}</b>.</p></translation> </message> <message> - <location filename="../PluginManager/PluginRepositoryDialog.py" line="940" /> + <location filename="../PluginManager/PluginRepositoryDialog.py" line="945" /> <source>OK</source> <translation>OK</translation> </message> @@ -55531,27 +55536,27 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="465" /> + <location filename="../UI/Previewers/PreviewerHTML.py" line="461" /> <source><p>No preview available for this type of file.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="574" /> + <location filename="../UI/Previewers/PreviewerHTML.py" line="570" /> <source><p>ReStructuredText preview requires the <b>sphinx</b> package.<br/>Install it with your package manager,'pip install Sphinx' or see <a href="http://pypi.python.org/pypi/Sphinx">this page.</a></p><p>Alternatively you may disable Sphinx usage on the Editor, Filehandling configuration page.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="634" /> + <location filename="../UI/Previewers/PreviewerHTML.py" line="630" /> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="649" /> + <location filename="../UI/Previewers/PreviewerHTML.py" line="645" /> <source><p>Docutils returned an error:</p><p>{0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="677" /> + <location filename="../UI/Previewers/PreviewerHTML.py" line="673" /> <source><p>Markdown preview requires the <b>Markdown</b> package.<br/>Install it with your package manager, 'pip install Markdown' or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation type="unfinished" /> </message> @@ -55589,12 +55594,12 @@ <translation type="unfinished" /> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="258" /> + <location filename="../UI/Previewers/PreviewerHTML.py" line="254" /> <source>Preview - {0}</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="260" /> + <location filename="../UI/Previewers/PreviewerHTML.py" line="256" /> <source>Preview</source> <translation type="unfinished" /> </message> @@ -64811,6 +64816,14 @@ </message> <message> <location filename="../Preferences/ConfigurationPages/QtPage.ui" line="0" /> + <location filename="../Preferences/ConfigurationPages/QtPage.ui" line="0" /> + <location filename="../Preferences/ConfigurationPages/QtPage.ui" line="0" /> + <location filename="../Preferences/ConfigurationPages/QtPage.ui" line="0" /> + <source>Press to refresh the list of vitual environments</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Preferences/ConfigurationPages/QtPage.ui" line="0" /> <source>Enter the path of the PyQt 5 tools directory, if they are not found.</source> <translation type="unfinished" /> </message> @@ -64901,7 +64914,7 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Preferences/ConfigurationPages/QtPage.py" line="135" /> + <location filename="../Preferences/ConfigurationPages/QtPage.py" line="147" /> <source>Sample: {0}designer{1}</source> <translation type="unfinished" /> </message> @@ -69560,67 +69573,67 @@ <context> <name>SiteInfoWidget</name> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="46" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="45" /> <source><b>Site {0}</b></source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="66" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="65" /> <source>Your connection to this site <b>may not be secure</b>.</source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="72" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="71" /> <source>Your connection to this site is <b>secure</b>.</source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="77" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="76" /> <source>Your connection to this site is <b>not secure</b>.</source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="92" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="91" /> <source>This is your <b>{0}.</b> visit of this site.</source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="98" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="97" /> <source>You have <b>never</b> visited this site before.</source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="106" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="105" /> <source>first</source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="108" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="107" /> <source>second</source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="110" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="109" /> <source>third</source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="112" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="111" /> <source>This is your <b>{0}</b> visit of this site.</source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="133" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="132" /> <source>Register as <b>{0}</b> links handler.</source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="139" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="138" /> <source>Register</source> <translation type="unfinished" /> </message> <message> - <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="157" /> + <location filename="../WebBrowser/SiteInfo/SiteInfoWidget.py" line="156" /> <source>More...</source> <translation type="unfinished" /> </message> @@ -82906,2393 +82919,2384 @@ <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="1938" /> - <location filename="../UI/UserInterface.py" line="1008" /> + <location filename="../UI/UserInterface.py" line="1948" /> + <location filename="../UI/UserInterface.py" line="1010" /> <source>Left Toolbox</source> <translation type="unfinished" /> </message> <message> + <location filename="../UI/UserInterface.py" line="1973" /> + <location filename="../UI/UserInterface.py" line="1018" /> + <source>Horizontal Toolbox</source> + <translation>Vodorovná nástrojová lišta</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1960" /> + <location filename="../UI/UserInterface.py" line="1026" /> + <source>Right Toolbox</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1806" /> + <location filename="../UI/UserInterface.py" line="1170" /> + <location filename="../UI/UserInterface.py" line="1034" /> + <source>Project-Viewer</source> + <translation>Prohlížeč projektu</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1823" /> + <location filename="../UI/UserInterface.py" line="1175" /> + <location filename="../UI/UserInterface.py" line="1038" /> + <source>Multiproject-Viewer</source> + <translation>Prohlížeč multiprojektu</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1930" /> + <location filename="../UI/UserInterface.py" line="1181" /> + <location filename="../UI/UserInterface.py" line="1043" /> + <source>Template-Viewer</source> + <translation>Prohlížeč šablon</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1876" /> + <location filename="../UI/UserInterface.py" line="1187" /> + <location filename="../UI/UserInterface.py" line="1048" /> + <source>File-Browser</source> + <translation>Browser souborů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1193" /> + <location filename="../UI/UserInterface.py" line="1053" /> + <source>Symbols</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2105" /> + <location filename="../UI/UserInterface.py" line="2104" /> + <location filename="../UI/UserInterface.py" line="1203" /> + <location filename="../UI/UserInterface.py" line="1062" /> + <source>Code Documentation Viewer</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1841" /> + <location filename="../UI/UserInterface.py" line="1207" /> + <location filename="../UI/UserInterface.py" line="1066" /> + <source>Debug-Viewer</source> + <translation>Prohlížeč debugeru</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2891" /> + <location filename="../UI/UserInterface.py" line="2179" /> + <location filename="../UI/UserInterface.py" line="2178" /> + <location filename="../UI/UserInterface.py" line="1212" /> + <location filename="../UI/UserInterface.py" line="1070" /> + <source>Plugin Repository</source> + <translation>Repozitář pluginů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2197" /> + <location filename="../UI/UserInterface.py" line="2196" /> + <location filename="../UI/UserInterface.py" line="1217" /> + <location filename="../UI/UserInterface.py" line="1074" /> + <source>Virtual Environments</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2125" /> + <location filename="../UI/UserInterface.py" line="2124" /> + <location filename="../UI/UserInterface.py" line="1222" /> + <location filename="../UI/UserInterface.py" line="1078" /> + <source>PyPI</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2143" /> + <location filename="../UI/UserInterface.py" line="2142" /> + <location filename="../UI/UserInterface.py" line="1227" /> + <location filename="../UI/UserInterface.py" line="1083" /> + <source>Conda</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1232" /> + <location filename="../UI/UserInterface.py" line="1088" /> + <source>Cooperation</source> + <translation>Spolupráce</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2048" /> + <location filename="../UI/UserInterface.py" line="1237" /> + <location filename="../UI/UserInterface.py" line="1093" /> + <source>IRC</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2161" /> + <location filename="../UI/UserInterface.py" line="2160" /> + <location filename="../UI/UserInterface.py" line="1243" /> + <location filename="../UI/UserInterface.py" line="1098" /> + <source>MicroPython</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1911" /> + <location filename="../UI/UserInterface.py" line="1251" /> + <location filename="../UI/UserInterface.py" line="1106" /> + <source>Task-Viewer</source> + <translation>Prohlížeč úloh</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1893" /> + <location filename="../UI/UserInterface.py" line="1255" /> + <location filename="../UI/UserInterface.py" line="1110" /> + <source>Log-Viewer</source> + <translation>Prohlížeč logu</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1260" /> + <location filename="../UI/UserInterface.py" line="1115" /> + <source>Numbers</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1859" /> + <location filename="../UI/UserInterface.py" line="1275" /> + <location filename="../UI/UserInterface.py" line="1130" /> + <source>Shell</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1660" /> + <source>{0} - Passive Mode</source> + <translation>{0} - Pasivní mód</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1667" /> + <location filename="../UI/UserInterface.py" line="1663" /> + <source>{0} - {1} - Passive Mode</source> + <translation>{0} - {1} - pasivní mód</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1671" /> + <source>{0} - {1} - {2} - Passive Mode</source> + <translation>{0} - {1} - {2} - pasivní mód</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1694" /> + <source>Quit</source> + <translation>Konec</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1696" /> + <source>&Quit</source> + <translation>&Konec</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1697" /> + <source>Ctrl+Q</source> + <comment>File|Quit</comment> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1699" /> + <source>Quit the IDE</source> + <translation>Ukončit IDE</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1700" /> + <source><b>Quit the IDE</b><p>This quits the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.</p></source> + <translation><b>Ukončit IDE</b><p>Ukončí se IDE. Nejdříve by se měly uložit neuložené změny. Python programy běžící v debug procesu budou ukončeny a nastavení budou uložena.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1713" /> + <location filename="../UI/UserInterface.py" line="1711" /> + <source>Restart</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1714" /> + <source>Ctrl+Shift+Q</source> + <comment>File|Quit</comment> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1716" /> + <source>Restart the IDE</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1717" /> + <source><b>Restart the IDE</b><p>This restarts the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1730" /> + <location filename="../UI/UserInterface.py" line="1727" /> + <source>Save session</source> + <translation>Uložit relaci</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1728" /> + <source>Save session...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1731" /> + <source><b>Save session...</b><p>This saves the current session to disk. A dialog is opened to select the file name.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="6727" /> + <location filename="../UI/UserInterface.py" line="1743" /> + <location filename="../UI/UserInterface.py" line="1740" /> + <source>Load session</source> + <translation type="unfinished">Načíst relaci</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1741" /> + <source>Load session...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1744" /> + <source><b>Load session...</b><p>This loads a session saved to disk previously. A dialog is opened to select the file name.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1753" /> + <source>New Window</source> + <translation type="unfinished">Nové okno</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1755" /> + <source>New &Window</source> + <translation type="unfinished">&Nové okno</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1756" /> + <source>Ctrl+Shift+N</source> + <comment>File|New Window</comment> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1758" /> + <source>Open a new eric instance</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1760" /> + <source><b>New Window</b><p>This opens a new instance of the eric IDE.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1774" /> + <location filename="../UI/UserInterface.py" line="1772" /> + <source>Edit Profile</source> + <translation>Editační profil</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1777" /> + <source>Activate the edit view profile</source> + <translation>Aktivovat profil editace</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1779" /> + <source><b>Edit Profile</b><p>Activate the "Edit View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.</p></source> + <translation><b>Editační profil</b><p>Aktivování skupiny 'Editační profil'. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu 'Konfigurace profilu pohledů'.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1791" /> + <location filename="../UI/UserInterface.py" line="1789" /> + <source>Debug Profile</source> + <translation>Debugovací profil</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1795" /> + <source>Activate the debug view profile</source> + <translation>Aktivovat debugovací profil</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1796" /> + <source><b>Debug Profile</b><p>Activate the "Debug View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.</p></source> + <translation><b>Debugovací profil</b><p>Aktivování skupiny 'Debugovací profil'. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu 'Konfigurace profilu pohledů'.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1807" /> + <source>&Project-Viewer</source> + <translation>Prohlížeč &projektu</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1808" /> + <source>Alt+Shift+P</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1811" /> + <source>Switch the input focus to the Project-Viewer window.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1813" /> + <source><b>Activate Project-Viewer</b><p>This switches the input focus to the Project-Viewer window.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1824" /> + <source>&Multiproject-Viewer</source> + <translation>Prohlížeč &multiprojektu</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1825" /> + <source>Alt+Shift+M</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1828" /> + <source>Switch the input focus to the Multiproject-Viewer window.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1830" /> + <source><b>Activate Multiproject-Viewer</b><p>This switches the input focus to the Multiproject-Viewer window.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1842" /> + <source>&Debug-Viewer</source> + <translation>Prohlížeč &debugeru</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1843" /> + <source>Alt+Shift+D</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1846" /> + <source>Switch the input focus to the Debug-Viewer window.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1848" /> + <source><b>Activate Debug-Viewer</b><p>This switches the input focus to the Debug-Viewer window.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1860" /> + <source>&Shell</source> + <translation>&Shell</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1861" /> + <source>Alt+Shift+S</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1864" /> + <source>Switch the input focus to the Shell window.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1866" /> + <source><b>Activate Shell</b><p>This switches the input focus to the Shell window.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1877" /> + <source>&File-Browser</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1878" /> + <source>Alt+Shift+F</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1881" /> + <source>Switch the input focus to the File-Browser window.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1883" /> + <source><b>Activate File-Browser</b><p>This switches the input focus to the File-Browser window.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1894" /> + <source>Lo&g-Viewer</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1895" /> + <source>Alt+Shift+G</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1898" /> + <source>Switch the input focus to the Log-Viewer window.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1900" /> + <source><b>Activate Log-Viewer</b><p>This switches the input focus to the Log-Viewer window.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1912" /> + <source>&Task-Viewer</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1913" /> + <source>Alt+Shift+T</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1916" /> + <source>Switch the input focus to the Task-Viewer window.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1918" /> + <source><b>Activate Task-Viewer</b><p>This switches the input focus to the Task-Viewer window.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1931" /> + <source>Templ&ate-Viewer</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1932" /> + <source>Alt+Shift+A</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1935" /> + <source>Switch the input focus to the Template-Viewer window.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1937" /> + <source><b>Activate Template-Viewer</b><p>This switches the input focus to the Template-Viewer window.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1949" /> + <source>&Left Toolbox</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1950" /> + <source>Toggle the Left Toolbox window</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1951" /> + <source><b>Toggle the Left Toolbox window</b><p>If the Left Toolbox window is hidden then display it. If it is displayed then close it.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1961" /> + <source>&Right Toolbox</source> + <translation type="unfinished" /> + </message> + <message> <location filename="../UI/UserInterface.py" line="1963" /> - <location filename="../UI/UserInterface.py" line="1016" /> - <source>Horizontal Toolbox</source> - <translation>Vodorovná nástrojová lišta</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1950" /> - <location filename="../UI/UserInterface.py" line="1024" /> - <source>Right Toolbox</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1796" /> - <location filename="../UI/UserInterface.py" line="1165" /> - <location filename="../UI/UserInterface.py" line="1032" /> - <source>Project-Viewer</source> - <translation>Prohlížeč projektu</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1813" /> - <location filename="../UI/UserInterface.py" line="1170" /> - <location filename="../UI/UserInterface.py" line="1036" /> - <source>Multiproject-Viewer</source> - <translation>Prohlížeč multiprojektu</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1920" /> - <location filename="../UI/UserInterface.py" line="1176" /> - <location filename="../UI/UserInterface.py" line="1041" /> - <source>Template-Viewer</source> - <translation>Prohlížeč šablon</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1866" /> - <location filename="../UI/UserInterface.py" line="1182" /> - <location filename="../UI/UserInterface.py" line="1046" /> - <source>File-Browser</source> - <translation>Browser souborů</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1188" /> - <location filename="../UI/UserInterface.py" line="1051" /> - <source>Symbols</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2095" /> - <location filename="../UI/UserInterface.py" line="2094" /> - <location filename="../UI/UserInterface.py" line="1198" /> - <location filename="../UI/UserInterface.py" line="1060" /> - <source>Code Documentation Viewer</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1831" /> - <location filename="../UI/UserInterface.py" line="1202" /> - <location filename="../UI/UserInterface.py" line="1064" /> - <source>Debug-Viewer</source> - <translation>Prohlížeč debugeru</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2862" /> - <location filename="../UI/UserInterface.py" line="2169" /> - <location filename="../UI/UserInterface.py" line="2168" /> - <location filename="../UI/UserInterface.py" line="1207" /> - <location filename="../UI/UserInterface.py" line="1068" /> - <source>Plugin Repository</source> - <translation>Repozitář pluginů</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2115" /> - <location filename="../UI/UserInterface.py" line="2114" /> - <location filename="../UI/UserInterface.py" line="1212" /> - <location filename="../UI/UserInterface.py" line="1073" /> - <source>PyPI</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2133" /> - <location filename="../UI/UserInterface.py" line="2132" /> - <location filename="../UI/UserInterface.py" line="1217" /> - <location filename="../UI/UserInterface.py" line="1078" /> - <source>Conda</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1222" /> - <location filename="../UI/UserInterface.py" line="1083" /> - <source>Cooperation</source> - <translation>Spolupráce</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2038" /> - <location filename="../UI/UserInterface.py" line="1227" /> - <location filename="../UI/UserInterface.py" line="1088" /> - <source>IRC</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2151" /> - <location filename="../UI/UserInterface.py" line="2150" /> - <location filename="../UI/UserInterface.py" line="1233" /> - <location filename="../UI/UserInterface.py" line="1093" /> - <source>MicroPython</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1901" /> - <location filename="../UI/UserInterface.py" line="1241" /> - <location filename="../UI/UserInterface.py" line="1101" /> - <source>Task-Viewer</source> - <translation>Prohlížeč úloh</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1883" /> - <location filename="../UI/UserInterface.py" line="1245" /> - <location filename="../UI/UserInterface.py" line="1105" /> - <source>Log-Viewer</source> - <translation>Prohlížeč logu</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1250" /> - <location filename="../UI/UserInterface.py" line="1110" /> - <source>Numbers</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1849" /> - <location filename="../UI/UserInterface.py" line="1265" /> - <location filename="../UI/UserInterface.py" line="1125" /> - <source>Shell</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1650" /> - <source>{0} - Passive Mode</source> - <translation>{0} - Pasivní mód</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1657" /> - <location filename="../UI/UserInterface.py" line="1653" /> - <source>{0} - {1} - Passive Mode</source> - <translation>{0} - {1} - pasivní mód</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1661" /> - <source>{0} - {1} - {2} - Passive Mode</source> - <translation>{0} - {1} - {2} - pasivní mód</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1684" /> - <source>Quit</source> - <translation>Konec</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1686" /> - <source>&Quit</source> - <translation>&Konec</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1687" /> - <source>Ctrl+Q</source> - <comment>File|Quit</comment> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1689" /> - <source>Quit the IDE</source> - <translation>Ukončit IDE</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1690" /> - <source><b>Quit the IDE</b><p>This quits the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.</p></source> - <translation><b>Ukončit IDE</b><p>Ukončí se IDE. Nejdříve by se měly uložit neuložené změny. Python programy běžící v debug procesu budou ukončeny a nastavení budou uložena.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1703" /> - <location filename="../UI/UserInterface.py" line="1701" /> - <source>Restart</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1704" /> - <source>Ctrl+Shift+Q</source> - <comment>File|Quit</comment> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1706" /> - <source>Restart the IDE</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1707" /> - <source><b>Restart the IDE</b><p>This restarts the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1720" /> - <location filename="../UI/UserInterface.py" line="1717" /> - <source>Save session</source> - <translation>Uložit relaci</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1718" /> - <source>Save session...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1721" /> - <source><b>Save session...</b><p>This saves the current session to disk. A dialog is opened to select the file name.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="6743" /> - <location filename="../UI/UserInterface.py" line="1733" /> - <location filename="../UI/UserInterface.py" line="1730" /> - <source>Load session</source> - <translation type="unfinished">Načíst relaci</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1731" /> - <source>Load session...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1734" /> - <source><b>Load session...</b><p>This loads a session saved to disk previously. A dialog is opened to select the file name.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1743" /> - <source>New Window</source> - <translation type="unfinished">Nové okno</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1745" /> - <source>New &Window</source> - <translation type="unfinished">&Nové okno</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1746" /> - <source>Ctrl+Shift+N</source> - <comment>File|New Window</comment> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1748" /> - <source>Open a new eric instance</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1750" /> - <source><b>New Window</b><p>This opens a new instance of the eric IDE.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1764" /> - <location filename="../UI/UserInterface.py" line="1762" /> - <source>Edit Profile</source> - <translation>Editační profil</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1767" /> - <source>Activate the edit view profile</source> - <translation>Aktivovat profil editace</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1769" /> - <source><b>Edit Profile</b><p>Activate the "Edit View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.</p></source> - <translation><b>Editační profil</b><p>Aktivování skupiny 'Editační profil'. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu 'Konfigurace profilu pohledů'.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1781" /> - <location filename="../UI/UserInterface.py" line="1779" /> - <source>Debug Profile</source> - <translation>Debugovací profil</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1785" /> - <source>Activate the debug view profile</source> - <translation>Aktivovat debugovací profil</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1786" /> - <source><b>Debug Profile</b><p>Activate the "Debug View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.</p></source> - <translation><b>Debugovací profil</b><p>Aktivování skupiny 'Debugovací profil'. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu 'Konfigurace profilu pohledů'.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1797" /> - <source>&Project-Viewer</source> - <translation>Prohlížeč &projektu</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1798" /> - <source>Alt+Shift+P</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1801" /> - <source>Switch the input focus to the Project-Viewer window.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1803" /> - <source><b>Activate Project-Viewer</b><p>This switches the input focus to the Project-Viewer window.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1814" /> - <source>&Multiproject-Viewer</source> - <translation>Prohlížeč &multiprojektu</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1815" /> - <source>Alt+Shift+M</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1818" /> - <source>Switch the input focus to the Multiproject-Viewer window.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1820" /> - <source><b>Activate Multiproject-Viewer</b><p>This switches the input focus to the Multiproject-Viewer window.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1832" /> - <source>&Debug-Viewer</source> - <translation>Prohlížeč &debugeru</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1833" /> - <source>Alt+Shift+D</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1836" /> - <source>Switch the input focus to the Debug-Viewer window.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1838" /> - <source><b>Activate Debug-Viewer</b><p>This switches the input focus to the Debug-Viewer window.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1850" /> - <source>&Shell</source> - <translation>&Shell</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1851" /> - <source>Alt+Shift+S</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1854" /> - <source>Switch the input focus to the Shell window.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1856" /> - <source><b>Activate Shell</b><p>This switches the input focus to the Shell window.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1867" /> - <source>&File-Browser</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1868" /> - <source>Alt+Shift+F</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1871" /> - <source>Switch the input focus to the File-Browser window.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1873" /> - <source><b>Activate File-Browser</b><p>This switches the input focus to the File-Browser window.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1884" /> - <source>Lo&g-Viewer</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1885" /> - <source>Alt+Shift+G</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1888" /> - <source>Switch the input focus to the Log-Viewer window.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1890" /> - <source><b>Activate Log-Viewer</b><p>This switches the input focus to the Log-Viewer window.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1902" /> - <source>&Task-Viewer</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1903" /> - <source>Alt+Shift+T</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1906" /> - <source>Switch the input focus to the Task-Viewer window.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1908" /> - <source><b>Activate Task-Viewer</b><p>This switches the input focus to the Task-Viewer window.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1921" /> - <source>Templ&ate-Viewer</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1922" /> - <source>Alt+Shift+A</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1925" /> - <source>Switch the input focus to the Template-Viewer window.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1927" /> - <source><b>Activate Template-Viewer</b><p>This switches the input focus to the Template-Viewer window.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1939" /> - <source>&Left Toolbox</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1940" /> - <source>Toggle the Left Toolbox window</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1941" /> - <source><b>Toggle the Left Toolbox window</b><p>If the Left Toolbox window is hidden then display it. If it is displayed then close it.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1951" /> - <source>&Right Toolbox</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1953" /> <source>Toggle the Right Toolbox window</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="1954" /> - <source><b>Toggle the Right Toolbox window</b><p>If the Right Toolbox window is hidden then display it. If it is displayed then close it.</p></source> - <translation type="unfinished" /> - </message> - <message> <location filename="../UI/UserInterface.py" line="1964" /> + <source><b>Toggle the Right Toolbox window</b><p>If the Right Toolbox window is hidden then display it. If it is displayed then close it.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1974" /> <source>&Horizontal Toolbox</source> <translation>&Horizontální lista nástrojů</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1966" /> + <location filename="../UI/UserInterface.py" line="1976" /> <source>Toggle the Horizontal Toolbox window</source> <translation>Přepnout na vodorovnou lištu nástrojů</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1968" /> - <source><b>Toggle the Horizontal Toolbox window</b><p>If the Horizontal Toolbox window is hidden then display it. If it is displayed then close it.</p></source> - <translation><b>Přepnout vodorovnou nástrojovou lištu</b><p>Pokud je vodorovná nástrojová lišta skryta, tak se zobrazí. Je-li zobrazena, skryje se.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1977" /> - <source>Left Sidebar</source> - <translation>Levé menu</translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="1978" /> + <source><b>Toggle the Horizontal Toolbox window</b><p>If the Horizontal Toolbox window is hidden then display it. If it is displayed then close it.</p></source> + <translation><b>Přepnout vodorovnou nástrojovou lištu</b><p>Pokud je vodorovná nástrojová lišta skryta, tak se zobrazí. Je-li zobrazena, skryje se.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1987" /> + <source>Left Sidebar</source> + <translation>Levé menu</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1988" /> <source>&Left Sidebar</source> <translation>&Levé menu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1980" /> - <source>Toggle the left sidebar window</source> - <translation>Přepnout okno levého menu</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1981" /> - <source><b>Toggle the left sidebar window</b><p>If the left sidebar window is hidden then display it. If it is displayed then close it.</p></source> - <translation><b>Přepnout okno levého menu</b><p>Je-li okno levého menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.</p></translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="1990" /> - <source>Right Sidebar</source> - <translation type="unfinished" /> + <source>Toggle the left sidebar window</source> + <translation>Přepnout okno levého menu</translation> </message> <message> <location filename="../UI/UserInterface.py" line="1991" /> + <source><b>Toggle the left sidebar window</b><p>If the left sidebar window is hidden then display it. If it is displayed then close it.</p></source> + <translation><b>Přepnout okno levého menu</b><p>Je-li okno levého menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2000" /> + <source>Right Sidebar</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2001" /> <source>&Right Sidebar</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="1993" /> + <location filename="../UI/UserInterface.py" line="2003" /> <source>Toggle the right sidebar window</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="1995" /> - <source><b>Toggle the right sidebar window</b><p>If the right sidebar window is hidden then display it. If it is displayed then close it.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2004" /> - <source>Bottom Sidebar</source> - <translation>Dolní menu</translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="2005" /> + <source><b>Toggle the right sidebar window</b><p>If the right sidebar window is hidden then display it. If it is displayed then close it.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2014" /> + <source>Bottom Sidebar</source> + <translation>Dolní menu</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2015" /> <source>&Bottom Sidebar</source> <translation>&Dolní menu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2007" /> + <location filename="../UI/UserInterface.py" line="2017" /> <source>Toggle the bottom sidebar window</source> <translation>Přepnout okno dolního menu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2009" /> - <source><b>Toggle the bottom sidebar window</b><p>If the bottom sidebar window is hidden then display it. If it is displayed then close it.</p></source> - <translation><b>Přepnout okno dolního menu</b><p>Je-li okno dolního menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.</p></translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="2019" /> + <source><b>Toggle the bottom sidebar window</b><p>If the bottom sidebar window is hidden then display it. If it is displayed then close it.</p></source> + <translation><b>Přepnout okno dolního menu</b><p>Je-li okno dolního menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2029" /> <source>Cooperation-Viewer</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2020" /> + <location filename="../UI/UserInterface.py" line="2030" /> <source>Co&operation-Viewer</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2021" /> + <location filename="../UI/UserInterface.py" line="2031" /> <source>Alt+Shift+O</source> <translation /> </message> <message> - <location filename="../UI/UserInterface.py" line="2024" /> + <location filename="../UI/UserInterface.py" line="2034" /> <source>Switch the input focus to the Cooperation-Viewer window.</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2026" /> + <location filename="../UI/UserInterface.py" line="2036" /> <source><b>Activate Cooperation-Viewer</b><p>This switches the input focus to the Cooperation-Viewer window.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2039" /> + <location filename="../UI/UserInterface.py" line="2049" /> <source>&IRC</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2040" /> + <location filename="../UI/UserInterface.py" line="2050" /> <source>Ctrl+Alt+Shift+I</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2043" /> + <location filename="../UI/UserInterface.py" line="2053" /> <source>Switch the input focus to the IRC window.</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2045" /> + <location filename="../UI/UserInterface.py" line="2055" /> <source><b>Activate IRC</b><p>This switches the input focus to the IRC window.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2056" /> + <location filename="../UI/UserInterface.py" line="2066" /> <source>Symbols-Viewer</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2057" /> + <location filename="../UI/UserInterface.py" line="2067" /> <source>S&ymbols-Viewer</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2058" /> + <location filename="../UI/UserInterface.py" line="2068" /> <source>Alt+Shift+Y</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2061" /> + <location filename="../UI/UserInterface.py" line="2071" /> <source>Switch the input focus to the Symbols-Viewer window.</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2063" /> + <location filename="../UI/UserInterface.py" line="2073" /> <source><b>Activate Symbols-Viewer</b><p>This switches the input focus to the Symbols-Viewer window.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2075" /> + <location filename="../UI/UserInterface.py" line="2085" /> <source>Numbers-Viewer</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2076" /> + <location filename="../UI/UserInterface.py" line="2086" /> <source>Num&bers-Viewer</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2077" /> + <location filename="../UI/UserInterface.py" line="2087" /> <source>Alt+Shift+B</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2080" /> + <location filename="../UI/UserInterface.py" line="2090" /> <source>Switch the input focus to the Numbers-Viewer window.</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2082" /> + <location filename="../UI/UserInterface.py" line="2092" /> <source><b>Activate Numbers-Viewer</b><p>This switches the input focus to the Numbers-Viewer window.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2096" /> + <location filename="../UI/UserInterface.py" line="2106" /> <source>Ctrl+Alt+Shift+D</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2099" /> + <location filename="../UI/UserInterface.py" line="2109" /> <source>Switch the input focus to the Code Documentation Viewer window.</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2102" /> + <location filename="../UI/UserInterface.py" line="2112" /> <source><b>Code Documentation Viewer</b><p>This switches the input focus to the Code Documentation Viewer window.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2116" /> + <location filename="../UI/UserInterface.py" line="2126" /> <source>Ctrl+Alt+Shift+P</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2119" /> + <location filename="../UI/UserInterface.py" line="2129" /> <source>Switch the input focus to the PyPI window.</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2121" /> + <location filename="../UI/UserInterface.py" line="2131" /> <source><b>PyPI</b><p>This switches the input focus to the PyPI window.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2134" /> + <location filename="../UI/UserInterface.py" line="2144" /> <source>Ctrl+Alt+Shift+C</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2137" /> + <location filename="../UI/UserInterface.py" line="2147" /> <source>Switch the input focus to the Conda window.</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2139" /> + <location filename="../UI/UserInterface.py" line="2149" /> <source><b>Conda</b><p>This switches the input focus to the Conda window.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2152" /> + <location filename="../UI/UserInterface.py" line="2162" /> <source>Ctrl+Alt+Shift+M</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2155" /> + <location filename="../UI/UserInterface.py" line="2165" /> <source>Switch the input focus to the MicroPython window.</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2157" /> + <location filename="../UI/UserInterface.py" line="2167" /> <source><b>MicroPython</b><p>This switches the input focus to the MicroPython window.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2170" /> + <location filename="../UI/UserInterface.py" line="2180" /> <source>Ctrl+Alt+Shift+R</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2173" /> + <location filename="../UI/UserInterface.py" line="2183" /> <source>Switch the input focus to the Plugin Repository window.</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2175" /> + <location filename="../UI/UserInterface.py" line="2185" /> <source><b>Plugin Repository</b><p>This switches the input focus to the Plugin Repository window.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2186" /> - <source>What's This?</source> - <translation>Co je to?</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2188" /> - <source>&What's This?</source> - <translation>&Co je to?</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2189" /> - <source>Shift+F1</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2191" /> - <source>Context sensitive help</source> - <translation>Kontextově senzitivní nápověda</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2192" /> - <source><b>Display context sensitive help</b><p>In What's This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.</p></source> - <translation><b>Zobrazit kontextově senzitivní nápovědu</b><p>V režimu "Co je to?" se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.</p></translation> + <location filename="../UI/UserInterface.py" line="2198" /> + <source>Ctrl+Alt+V</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2201" /> + <source>Switch the input focus to the Virtual Environments Manager window.</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2204" /> - <source>Helpviewer</source> - <translation>Prohlížeč nápovědy</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2206" /> - <source>&Helpviewer...</source> - <translation>Pro&hlížeč nápovědy...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2207" /> - <source>F1</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2209" /> - <source>Open the helpviewer window</source> - <translation>Otevřít okno prohlížeče nápovědy</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2211" /> - <source><b>Helpviewer</b><p>Display the eric web browser. This window will show HTML help files and help from Qt help collections. It has the capability to navigate to links, set bookmarks, print the displayed help and some more features. You may use it to browse the internet as well</p><p>If called with a word selected, this word is search in the Qt help collection.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2230" /> - <source>Show Versions</source> - <translation>Zobrazit verze</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2231" /> - <source>Show &Versions</source> - <translation>Zobrazit &verze</translation> + <source><b>Virtual Environments</b><p>This switches the input focus to the Virtual Environments Manager window.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2215" /> + <source>What's This?</source> + <translation>Co je to?</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2217" /> + <source>&What's This?</source> + <translation>&Co je to?</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2218" /> + <source>Shift+F1</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2220" /> + <source>Context sensitive help</source> + <translation>Kontextově senzitivní nápověda</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2221" /> + <source><b>Display context sensitive help</b><p>In What's This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.</p></source> + <translation><b>Zobrazit kontextově senzitivní nápovědu</b><p>V režimu "Co je to?" se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2233" /> - <source>Display version information</source> - <translation>Zobrazit informace o verzích</translation> + <source>Helpviewer</source> + <translation>Prohlížeč nápovědy</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2235" /> - <source><b>Show Versions</b><p>Display version information.</p></source> - <translation><b>Zobrazit verze</b><p>Zobrazí informace o verzích.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2245" /> - <location filename="../UI/UserInterface.py" line="2243" /> - <source>Check for Updates</source> - <translation>Zjistit aktualizace</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2244" /> - <source>Check for &Updates...</source> - <translation>Zjistit akt&ualizace...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2246" /> - <source><b>Check for Updates...</b><p>Checks the internet for updates of eric.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2254" /> - <source>Show downloadable versions</source> - <translation>Zobrazit verze ke stažení</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2255" /> - <source>Show &downloadable versions...</source> - <translation>Zobrazit verze pro &download...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2258" /> - <source>Show the versions available for download</source> - <translation>Zobrazit dostupné verze ke stažení</translation> + <source>&Helpviewer...</source> + <translation>Pro&hlížeč nápovědy...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2236" /> + <source>F1</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2238" /> + <source>Open the helpviewer window</source> + <translation>Otevřít okno prohlížeče nápovědy</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2240" /> + <source><b>Helpviewer</b><p>Display the eric web browser. This window will show HTML help files and help from Qt help collections. It has the capability to navigate to links, set bookmarks, print the displayed help and some more features. You may use it to browse the internet as well</p><p>If called with a word selected, this word is search in the Qt help collection.</p></source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2259" /> - <source><b>Show downloadable versions...</b><p>Shows the eric versions available for download from the internet.</p></source> - <translation type="unfinished" /> - </message> - <message> + <source>Show Versions</source> + <translation>Zobrazit verze</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2260" /> + <source>Show &Versions</source> + <translation>Zobrazit &verze</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2262" /> + <source>Display version information</source> + <translation>Zobrazit informace o verzích</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2264" /> + <source><b>Show Versions</b><p>Display version information.</p></source> + <translation><b>Zobrazit verze</b><p>Zobrazí informace o verzích.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2274" /> <location filename="../UI/UserInterface.py" line="2272" /> - <location filename="../UI/UserInterface.py" line="2269" /> - <source>Show Error Log</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2270" /> - <source>Show Error &Log...</source> - <translation type="unfinished" /> + <source>Check for Updates</source> + <translation>Zjistit aktualizace</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2273" /> - <source><b>Show Error Log...</b><p>Opens a dialog showing the most recent error log.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2281" /> - <source>Show Install Info</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2282" /> - <source>Show Install &Info...</source> - <translation type="unfinished" /> + <source>Check for &Updates...</source> + <translation>Zjistit akt&ualizace...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2275" /> + <source><b>Check for Updates...</b><p>Checks the internet for updates of eric.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2283" /> + <source>Show downloadable versions</source> + <translation>Zobrazit verze ke stažení</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2284" /> - <source>Show Installation Information</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2286" /> - <source><b>Show Install Info...</b><p>Opens a dialog showing some information about the installation process.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="3891" /> - <location filename="../UI/UserInterface.py" line="2295" /> - <source>Report Bug</source> - <translation>Reportovat Bugy</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2296" /> - <source>Report &Bug...</source> - <translation>Reportovat &Bugy...</translation> - </message> - <message> + <source>Show &downloadable versions...</source> + <translation>Zobrazit verze pro &download...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2287" /> + <source>Show the versions available for download</source> + <translation>Zobrazit dostupné verze ke stažení</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2288" /> + <source><b>Show downloadable versions...</b><p>Shows the eric versions available for download from the internet.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2301" /> <location filename="../UI/UserInterface.py" line="2298" /> - <source>Report a bug</source> - <translation>Reportovat bug</translation> + <source>Show Error Log</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2299" /> - <source><b>Report Bug...</b><p>Opens a dialog to report a bug.</p></source> - <translation><b>Reportovat bug...</b><p>Otevře se dialog pro reportování bugu.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2307" /> - <source>Request Feature</source> - <translation>Požadavek na vlastnost</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2308" /> - <source>Request &Feature...</source> - <translation>&Požadavek na vlastnost...</translation> + <source>Show Error &Log...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2302" /> + <source><b>Show Error Log...</b><p>Opens a dialog showing the most recent error log.</p></source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2310" /> - <source>Send a feature request</source> - <translation>Poslat požadavek na vlastnost</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2312" /> - <source><b>Request Feature...</b><p>Opens a dialog to send a feature request.</p></source> - <translation><b>Požadavek na vlastnost...</b><p>Otevře dialog pro odeslání požadavku.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="3436" /> - <location filename="../UI/UserInterface.py" line="3413" /> - <location filename="../UI/UserInterface.py" line="2322" /> - <source>Unittest</source> - <translation /> - </message> - <message> + <source>Show Install Info</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2311" /> + <source>Show Install &Info...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2313" /> + <source>Show Installation Information</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2315" /> + <source><b>Show Install Info...</b><p>Opens a dialog showing some information about the installation process.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="3875" /> <location filename="../UI/UserInterface.py" line="2324" /> - <source>&Unittest...</source> - <translation>&Unittest...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2326" /> - <source>Start unittest dialog</source> - <translation>Otevřít dialog unittestu</translation> + <source>Report Bug</source> + <translation>Reportovat Bugy</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2325" /> + <source>Report &Bug...</source> + <translation>Reportovat &Bugy...</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2327" /> - <source><b>Unittest</b><p>Perform unit tests. The dialog gives you the ability to select and run a unittest suite.</p></source> - <translation><b>Unittest</b><p>Provést unittesty. V dialogovém okně se nastaví který test se má provést.</p></translation> + <source>Report a bug</source> + <translation>Reportovat bug</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2328" /> + <source><b>Report Bug...</b><p>Opens a dialog to report a bug.</p></source> + <translation><b>Reportovat bug...</b><p>Otevře se dialog pro reportování bugu.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2336" /> - <source>Unittest Restart</source> - <translation>Restart unittestu</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2338" /> - <source>&Restart Unittest...</source> - <translation>&Restart unittestu...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2340" /> - <source>Restart last unittest</source> - <translation>Restart posledního unittestu</translation> + <source>Request Feature</source> + <translation>Požadavek na vlastnost</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2337" /> + <source>Request &Feature...</source> + <translation>&Požadavek na vlastnost...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2339" /> + <source>Send a feature request</source> + <translation>Poslat požadavek na vlastnost</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2341" /> - <source><b>Restart Unittest</b><p>Restart the unittest performed last.</p></source> - <translation><b>Restart unittestu</b><p>Restartuje se poslední provedený unittest.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2350" /> - <source>Unittest Rerun Failed</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2352" /> - <source>Rerun Failed Tests...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2354" /> - <source>Rerun failed tests of the last run</source> - <translation type="unfinished" /> + <source><b>Request Feature...</b><p>Opens a dialog to send a feature request.</p></source> + <translation><b>Požadavek na vlastnost...</b><p>Otevře dialog pro odeslání požadavku.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="3423" /> + <location filename="../UI/UserInterface.py" line="3400" /> + <location filename="../UI/UserInterface.py" line="2351" /> + <source>Unittest</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2353" /> + <source>&Unittest...</source> + <translation>&Unittest...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2355" /> + <source>Start unittest dialog</source> + <translation>Otevřít dialog unittestu</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2356" /> - <source><b>Rerun Failed Tests</b><p>Rerun all tests that failed during the last unittest run.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2366" /> - <source>Unittest Script</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2368" /> - <source>Unittest &Script...</source> - <translation>Unittest &Script...</translation> + <source><b>Unittest</b><p>Perform unit tests. The dialog gives you the ability to select and run a unittest suite.</p></source> + <translation><b>Unittest</b><p>Provést unittesty. V dialogovém okně se nastaví který test se má provést.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2365" /> + <source>Unittest Restart</source> + <translation>Restart unittestu</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2367" /> + <source>&Restart Unittest...</source> + <translation>&Restart unittestu...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2369" /> + <source>Restart last unittest</source> + <translation>Restart posledního unittestu</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2370" /> - <source>Run unittest with current script</source> - <translation>Spustit unittest s aktuálním skriptem</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2372" /> - <source><b>Unittest Script</b><p>Run unittest with current script.</p></source> - <translation><b>Unittest Script</b><p>Spustit unittest s aktuálním skriptem.</p></translation> + <source><b>Restart Unittest</b><p>Restart the unittest performed last.</p></source> + <translation><b>Restart unittestu</b><p>Restartuje se poslední provedený unittest.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2379" /> + <source>Unittest Rerun Failed</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2381" /> - <source>Unittest Project</source> - <translation>Unittest Projekt</translation> + <source>Rerun Failed Tests...</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2383" /> - <source>Unittest &Project...</source> - <translation>Unittest &Projekt...</translation> + <source>Rerun failed tests of the last run</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2385" /> - <source>Run unittest with current project</source> - <translation>Spustit unittest s aktuálním projektem</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2387" /> - <source><b>Unittest Project</b><p>Run unittest with current project.</p></source> - <translation><b>Unittest projekt</b><p>Spustit unittest s aktuálním projektem.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2408" /> - <source>Qt-Designer</source> - <translation type="unfinished" /> + <source><b>Rerun Failed Tests</b><p>Rerun all tests that failed during the last unittest run.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2395" /> + <source>Unittest Script</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2397" /> + <source>Unittest &Script...</source> + <translation>Unittest &Script...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2399" /> + <source>Run unittest with current script</source> + <translation>Spustit unittest s aktuálním skriptem</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2401" /> + <source><b>Unittest Script</b><p>Run unittest with current script.</p></source> + <translation><b>Unittest Script</b><p>Spustit unittest s aktuálním skriptem.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2410" /> - <source>Qt-&Designer...</source> - <translation type="unfinished" /> + <source>Unittest Project</source> + <translation>Unittest Projekt</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2412" /> - <source>Start Qt-Designer</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2413" /> - <source><b>Qt-Designer</b><p>Start Qt-Designer.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2434" /> - <source>Qt-Linguist</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2436" /> - <source>Qt-&Linguist...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2438" /> - <source>Start Qt-Linguist</source> + <source>Unittest &Project...</source> + <translation>Unittest &Projekt...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2414" /> + <source>Run unittest with current project</source> + <translation>Spustit unittest s aktuálním projektem</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2416" /> + <source><b>Unittest Project</b><p>Run unittest with current project.</p></source> + <translation><b>Unittest projekt</b><p>Spustit unittest s aktuálním projektem.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2437" /> + <source>Qt-Designer</source> <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2439" /> - <source><b>Qt-Linguist</b><p>Start Qt-Linguist.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2449" /> - <source>UI Previewer</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2451" /> - <source>&UI Previewer...</source> - <translation>&UI Previewer...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2453" /> - <source>Start the UI Previewer</source> - <translation>Spustit UI Previewer</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2454" /> - <source><b>UI Previewer</b><p>Start the UI Previewer.</p></source> - <translation><b>UI Previewer</b><p>Spustit UI Previewer.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2462" /> - <source>Translations Previewer</source> - <translation>Náhled překladů</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2464" /> - <source>&Translations Previewer...</source> - <translation>Náhled &překladů...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2466" /> - <source>Start the Translations Previewer</source> - <translation>Spustit Previewer překladů</translation> + <source>Qt-&Designer...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2441" /> + <source>Start Qt-Designer</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2442" /> + <source><b>Qt-Designer</b><p>Start Qt-Designer.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2463" /> + <source>Qt-Linguist</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2465" /> + <source>Qt-&Linguist...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2467" /> + <source>Start Qt-Linguist</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2468" /> - <source><b>Translations Previewer</b><p>Start the Translations Previewer.</p></source> - <translation><b>Previewer překladů</b><p>Spustit Previewer překladů.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2476" /> - <source>Compare Files</source> - <translation>Porovnat soubory</translation> + <source><b>Qt-Linguist</b><p>Start Qt-Linguist.</p></source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2478" /> - <source>&Compare Files...</source> - <translation>&Porovnat soubory...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2493" /> + <source>UI Previewer</source> + <translation /> + </message> + <message> <location filename="../UI/UserInterface.py" line="2480" /> - <source>Compare two files</source> - <translation>Porovnat dva soubory</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2481" /> - <source><b>Compare Files</b><p>Open a dialog to compare two files.</p></source> - <translation><b>Porovnat soubory</b><p>Otevře dialog pro porovnání dvou souborů.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2489" /> - <source>Compare Files side by side</source> - <translation>Porovnat soubory stranu proti straně</translation> + <source>&UI Previewer...</source> + <translation>&UI Previewer...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2482" /> + <source>Start the UI Previewer</source> + <translation>Spustit UI Previewer</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2483" /> + <source><b>UI Previewer</b><p>Start the UI Previewer.</p></source> + <translation><b>UI Previewer</b><p>Spustit UI Previewer.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2491" /> - <source>Compare &Files side by side...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2494" /> - <source><b>Compare Files side by side</b><p>Open a dialog to compare two files and show the result side by side.</p></source> - <translation><b>Porovnat soubory stranu proti straně</b><p>Otevře dialog pro porovnání souborů a zobrazení rozdílů strany proti straně.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2503" /> - <source>SQL Browser</source> - <translation /> + <source>Translations Previewer</source> + <translation>Náhled překladů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2493" /> + <source>&Translations Previewer...</source> + <translation>Náhled &překladů...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2495" /> + <source>Start the Translations Previewer</source> + <translation>Spustit Previewer překladů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2497" /> + <source><b>Translations Previewer</b><p>Start the Translations Previewer.</p></source> + <translation><b>Previewer překladů</b><p>Spustit Previewer překladů.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2505" /> - <source>SQL &Browser...</source> - <translation>SQL &Browser...</translation> + <source>Compare Files</source> + <translation>Porovnat soubory</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2507" /> - <source>Browse a SQL database</source> - <translation>Procházet SQL databázi</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2508" /> - <source><b>SQL Browser</b><p>Browse a SQL database.</p></source> - <translation><b>SQL Browser</b><p>Procházet SQL databázi.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2520" /> - <location filename="../UI/UserInterface.py" line="2516" /> - <source>Mini Editor</source> - <translation /> + <source>&Compare Files...</source> + <translation>&Porovnat soubory...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2522" /> + <location filename="../UI/UserInterface.py" line="2509" /> + <source>Compare two files</source> + <translation>Porovnat dva soubory</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2510" /> + <source><b>Compare Files</b><p>Open a dialog to compare two files.</p></source> + <translation><b>Porovnat soubory</b><p>Otevře dialog pro porovnání dvou souborů.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2518" /> + <source>Compare Files side by side</source> + <translation>Porovnat soubory stranu proti straně</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2520" /> + <source>Compare &Files side by side...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2523" /> + <source><b>Compare Files side by side</b><p>Open a dialog to compare two files and show the result side by side.</p></source> + <translation><b>Porovnat soubory stranu proti straně</b><p>Otevře dialog pro porovnání souborů a zobrazení rozdílů strany proti straně.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2532" /> + <source>SQL Browser</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2534" /> + <source>SQL &Browser...</source> + <translation>SQL &Browser...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2536" /> + <source>Browse a SQL database</source> + <translation>Procházet SQL databázi</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2537" /> + <source><b>SQL Browser</b><p>Browse a SQL database.</p></source> + <translation><b>SQL Browser</b><p>Procházet SQL databázi.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2549" /> + <location filename="../UI/UserInterface.py" line="2545" /> + <source>Mini Editor</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2547" /> <source>Mini &Editor...</source> <translation>Mini &Editor...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2521" /> - <source><b>Mini Editor</b><p>Open a dialog with a simplified editor.</p></source> - <translation><b>Mini editor</b><p>Otevře se okno s jednoduchým editorem</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2529" /> - <source>Hex Editor</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2531" /> - <source>&Hex Editor...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2533" /> - <source>Start the eric Hex Editor</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2535" /> - <source><b>Hex Editor</b><p>Starts the eric Hex Editor for viewing or editing binary files.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2544" /> - <source>eric Web Browser</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2546" /> - <source>eric &Web Browser...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2548" /> - <source>Start the eric Web Browser</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../UI/UserInterface.py" line="2550" /> - <source><b>eric Web Browser</b><p>Browse the Internet with the eric Web Browser.</p></source> - <translation type="unfinished" /> + <source><b>Mini Editor</b><p>Open a dialog with a simplified editor.</p></source> + <translation><b>Mini editor</b><p>Otevře se okno s jednoduchým editorem</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2558" /> - <source>Icon Editor</source> - <translation>Editor ikon</translation> + <source>Hex Editor</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2560" /> - <source>&Icon Editor...</source> - <translation>Editor &ikon...</translation> + <source>&Hex Editor...</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2562" /> - <source>Start the eric Icon Editor</source> + <source>Start the eric Hex Editor</source> <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2564" /> - <source><b>Icon Editor</b><p>Starts the eric Icon Editor for editing simple icons.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2572" /> - <source>Snapshot</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2574" /> - <source>&Snapshot...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2576" /> - <source>Take snapshots of a screen region</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2578" /> - <source><b>Snapshot</b><p>This opens a dialog to take snapshots of a screen region.</p></source> + <source><b>Hex Editor</b><p>Starts the eric Hex Editor for viewing or editing binary files.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2573" /> + <source>eric Web Browser</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2575" /> + <source>eric &Web Browser...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2577" /> + <source>Start the eric Web Browser</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2579" /> + <source><b>eric Web Browser</b><p>Browse the Internet with the eric Web Browser.</p></source> <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2587" /> - <source>Preferences</source> - <translation>Nastavení</translation> + <source>Icon Editor</source> + <translation>Editor ikon</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2589" /> - <source>&Preferences...</source> - <translation>Na&stavení...</translation> + <source>&Icon Editor...</source> + <translation>Editor &ikon...</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2591" /> - <source>Set the prefered configuration</source> - <translation>Nastavení konfigurace</translation> + <source>Start the eric Icon Editor</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2593" /> - <source><b>Preferences</b><p>Set the configuration items of the application with your prefered values.</p></source> - <translation><b>Nastavení</b><p>Upravit konfiguraci aplikace podle požadavků uživatele.</p></translation> + <source><b>Icon Editor</b><p>Starts the eric Icon Editor for editing simple icons.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2601" /> + <source>Snapshot</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2603" /> - <source>Export Preferences</source> - <translation>Exportovat předvolby</translation> + <source>&Snapshot...</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2605" /> - <source>E&xport Preferences...</source> - <translation>E&xportovat předvolby...</translation> + <source>Take snapshots of a screen region</source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2607" /> - <source>Export the current configuration</source> - <translation>Export aktuální konfigurace</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2609" /> - <source><b>Export Preferences</b><p>Export the current configuration to a file.</p></source> - <translation><b>Export předvoleb</b><p>Export aktuální konfigurace do souboru.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2617" /> - <source>Import Preferences</source> - <translation>Import předvoleb</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2619" /> - <source>I&mport Preferences...</source> - <translation>I&mport předvoleb...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2621" /> - <source>Import a previously exported configuration</source> - <translation>Import dříve exportované konfigurace</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2623" /> - <source><b>Import Preferences</b><p>Import a previously exported configuration.</p></source> - <translation><b>Import předvoleb</b><p>Import dříve exportované konfigurace.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2631" /> - <source>Reload APIs</source> - <translation>Obnovit API</translation> + <source><b>Snapshot</b><p>This opens a dialog to take snapshots of a screen region.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2616" /> + <source>Preferences</source> + <translation>Nastavení</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2618" /> + <source>&Preferences...</source> + <translation>Na&stavení...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2620" /> + <source>Set the prefered configuration</source> + <translation>Nastavení konfigurace</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2622" /> + <source><b>Preferences</b><p>Set the configuration items of the application with your prefered values.</p></source> + <translation><b>Nastavení</b><p>Upravit konfiguraci aplikace podle požadavků uživatele.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2632" /> - <source>Reload &APIs</source> - <translation>Obnovit &API</translation> + <source>Export Preferences</source> + <translation>Exportovat předvolby</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2634" /> - <source>Reload the API information</source> - <translation>Obnovit API nastavení</translation> + <source>E&xport Preferences...</source> + <translation>E&xportovat předvolby...</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2636" /> - <source><b>Reload APIs</b><p>Reload the API information.</p></source> - <translation><b>Obnovit API</b><p>Obnovit API nastavení.</p></translation> + <source>Export the current configuration</source> + <translation>Export aktuální konfigurace</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2638" /> + <source><b>Export Preferences</b><p>Export the current configuration to a file.</p></source> + <translation><b>Export předvoleb</b><p>Export aktuální konfigurace do souboru.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2646" /> + <source>Import Preferences</source> + <translation>Import předvoleb</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2648" /> - <location filename="../UI/UserInterface.py" line="2644" /> - <source>Show external tools</source> - <translation>Zobrazit externí nástroje</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2646" /> - <source>Show external &tools</source> - <translation>Zobrazit externí nás&troje</translation> + <source>I&mport Preferences...</source> + <translation>I&mport předvoleb...</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2650" /> - <source><b>Show external tools</b><p>Opens a dialog to show the path and versions of all extenal tools used by eric.</p></source> - <translation type="unfinished" /> + <source>Import a previously exported configuration</source> + <translation>Import dříve exportované konfigurace</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2652" /> + <source><b>Import Preferences</b><p>Import a previously exported configuration.</p></source> + <translation><b>Import předvoleb</b><p>Import dříve exportované konfigurace.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2660" /> - <source>View Profiles</source> - <translation>Profily pohledů</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2662" /> - <source>&View Profiles...</source> - <translation>Profily &pohledů...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2664" /> - <source>Configure view profiles</source> - <translation>Konfigurace profilů pohledů</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2666" /> - <source><b>View Profiles</b><p>Configure the view profiles. With this dialog you may set the visibility of the various windows for the predetermined view profiles.</p></source> - <translation><b>Profily pohledů</b><p>Konfigurace profilu pohledů. V tomto dialogu můžete nastavit zobrazování různých typů pohledů - editačních oken.</p></translation> + <source>Reload APIs</source> + <translation>Obnovit API</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2661" /> + <source>Reload &APIs</source> + <translation>Obnovit &API</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2663" /> + <source>Reload the API information</source> + <translation>Obnovit API nastavení</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2665" /> + <source><b>Reload APIs</b><p>Reload the API information.</p></source> + <translation><b>Obnovit API</b><p>Obnovit API nastavení.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2677" /> - <source>Toolbars</source> - <translation>Lišty nástrojů</translation> + <location filename="../UI/UserInterface.py" line="2673" /> + <source>Show external tools</source> + <translation>Zobrazit externí nástroje</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2675" /> + <source>Show external &tools</source> + <translation>Zobrazit externí nás&troje</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2679" /> + <source><b>Show external tools</b><p>Opens a dialog to show the path and versions of all extenal tools used by eric.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2689" /> + <source>View Profiles</source> + <translation>Profily pohledů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2691" /> + <source>&View Profiles...</source> + <translation>Profily &pohledů...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2693" /> + <source>Configure view profiles</source> + <translation>Konfigurace profilů pohledů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2695" /> + <source><b>View Profiles</b><p>Configure the view profiles. With this dialog you may set the visibility of the various windows for the predetermined view profiles.</p></source> + <translation><b>Profily pohledů</b><p>Konfigurace profilu pohledů. V tomto dialogu můžete nastavit zobrazování různých typů pohledů - editačních oken.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2706" /> + <source>Toolbars</source> + <translation>Lišty nástrojů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2708" /> <source>Tool&bars...</source> <translation>&Lišty nástrojů...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2681" /> + <location filename="../UI/UserInterface.py" line="2710" /> <source>Configure toolbars</source> <translation>Konfigurace lišt nástrojů</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2682" /> - <source><b>Toolbars</b><p>Configure the toolbars. With this dialog you may change the actions shown on the various toolbars and define your own toolbars.</p></source> - <translation><b>Listy nástrojů</b><p>Konfigurace lišt nástrojů. S tímto dialogem můžete změnit akce zobrazené v různých nástrojových lištách nebo definovat své vlastní nástrojové lišty.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2692" /> - <source>Keyboard Shortcuts</source> - <translation>Klávesové zkratky</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2694" /> - <source>Keyboard &Shortcuts...</source> - <translation>Klávesové &zkratky...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2696" /> - <source>Set the keyboard shortcuts</source> - <translation>Nastavení klávesových zkratek</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2698" /> - <source><b>Keyboard Shortcuts</b><p>Set the keyboard shortcuts of the application with your prefered values.</p></source> - <translation><b>Klávesové zkratky</b><p>Nastavení klávesových zkratek aplikace podle zvyklostí uživatele.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="6419" /> - <location filename="../UI/UserInterface.py" line="6401" /> - <location filename="../UI/UserInterface.py" line="2707" /> - <source>Export Keyboard Shortcuts</source> - <translation>Exportovat klávesové zkratky</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2709" /> - <source>&Export Keyboard Shortcuts...</source> - <translation>&Exportovat klávesové zkratky...</translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="2711" /> - <source>Export the keyboard shortcuts</source> - <translation>Export klávesových zkratek</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2713" /> - <source><b>Export Keyboard Shortcuts</b><p>Export the keyboard shortcuts of the application.</p></source> - <translation><b>Export klávesových zkratek</b><p>Exportují se klávesové zkratky z aplikace.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="6436" /> + <source><b>Toolbars</b><p>Configure the toolbars. With this dialog you may change the actions shown on the various toolbars and define your own toolbars.</p></source> + <translation><b>Listy nástrojů</b><p>Konfigurace lišt nástrojů. S tímto dialogem můžete změnit akce zobrazené v různých nástrojových lištách nebo definovat své vlastní nástrojové lišty.</p></translation> + </message> + <message> <location filename="../UI/UserInterface.py" line="2721" /> - <source>Import Keyboard Shortcuts</source> - <translation>Import klávesových zkratek</translation> + <source>Keyboard Shortcuts</source> + <translation>Klávesové zkratky</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2723" /> - <source>&Import Keyboard Shortcuts...</source> - <translation>&Import klávesových zkratek...</translation> + <source>Keyboard &Shortcuts...</source> + <translation>Klávesové &zkratky...</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2725" /> - <source>Import the keyboard shortcuts</source> - <translation>Import klávesových zkratek</translation> + <source>Set the keyboard shortcuts</source> + <translation>Nastavení klávesových zkratek</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2727" /> - <source><b>Import Keyboard Shortcuts</b><p>Import the keyboard shortcuts of the application.</p></source> - <translation><b>Import klávesových zkratek</b><p>Do aplikace se importují klávesové zkratky.</p></translation> - </message> - <message> + <source><b>Keyboard Shortcuts</b><p>Set the keyboard shortcuts of the application with your prefered values.</p></source> + <translation><b>Klávesové zkratky</b><p>Nastavení klávesových zkratek aplikace podle zvyklostí uživatele.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="6403" /> + <location filename="../UI/UserInterface.py" line="6385" /> <location filename="../UI/UserInterface.py" line="2736" /> - <source>Manage SSL Certificates</source> - <translation type="unfinished" /> + <source>Export Keyboard Shortcuts</source> + <translation>Exportovat klávesové zkratky</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2738" /> - <source>Manage SSL Certificates...</source> - <translation type="unfinished" /> + <source>&Export Keyboard Shortcuts...</source> + <translation>&Exportovat klávesové zkratky...</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2740" /> - <source>Manage the saved SSL certificates</source> - <translation type="unfinished" /> + <source>Export the keyboard shortcuts</source> + <translation>Export klávesových zkratek</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2742" /> - <source><b>Manage SSL Certificates...</b><p>Opens a dialog to manage the saved SSL certificates.</p></source> - <translation type="unfinished" /> + <source><b>Export Keyboard Shortcuts</b><p>Export the keyboard shortcuts of the application.</p></source> + <translation><b>Export klávesových zkratek</b><p>Exportují se klávesové zkratky z aplikace.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="6420" /> + <location filename="../UI/UserInterface.py" line="2750" /> + <source>Import Keyboard Shortcuts</source> + <translation>Import klávesových zkratek</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2752" /> - <source>Edit Message Filters</source> - <translation type="unfinished" /> + <source>&Import Keyboard Shortcuts...</source> + <translation>&Import klávesových zkratek...</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2754" /> - <source>Edit Message Filters...</source> - <translation type="unfinished" /> + <source>Import the keyboard shortcuts</source> + <translation>Import klávesových zkratek</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2756" /> + <source><b>Import Keyboard Shortcuts</b><p>Import the keyboard shortcuts of the application.</p></source> + <translation><b>Import klávesových zkratek</b><p>Do aplikace se importují klávesové zkratky.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2765" /> + <source>Manage SSL Certificates</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2767" /> + <source>Manage SSL Certificates...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2769" /> + <source>Manage the saved SSL certificates</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2771" /> + <source><b>Manage SSL Certificates...</b><p>Opens a dialog to manage the saved SSL certificates.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2781" /> + <source>Edit Message Filters</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2783" /> + <source>Edit Message Filters...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2785" /> <source>Edit the message filters used to suppress unwanted messages</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2758" /> - <source><b>Edit Message Filters</b><p>Opens a dialog to edit the message filters used to suppress unwanted messages been shown in an error window.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2774" /> - <location filename="../UI/UserInterface.py" line="2771" /> - <location filename="../UI/UserInterface.py" line="2769" /> - <source>Clear private data</source> - <translation type="unfinished">Smazat soukromá data</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2776" /> - <source><b>Clear private data</b><p>Clears the private data like the various list of recently opened files, projects or multi projects.</p></source> - <translation type="unfinished" /> - </message> - <message> <location filename="../UI/UserInterface.py" line="2787" /> - <location filename="../UI/UserInterface.py" line="2786" /> - <source>Activate current editor</source> - <translation>Aktivovat aktuální editor</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2788" /> - <source>Alt+Shift+E</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2797" /> - <location filename="../UI/UserInterface.py" line="2796" /> - <source>Show next</source> - <translation>Zobrazit další</translation> - </message> - <message> + <source><b>Edit Message Filters</b><p>Opens a dialog to edit the message filters used to suppress unwanted messages been shown in an error window.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2803" /> + <location filename="../UI/UserInterface.py" line="2800" /> <location filename="../UI/UserInterface.py" line="2798" /> - <source>Ctrl+Alt+Tab</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2806" /> + <source>Clear private data</source> + <translation type="unfinished">Smazat soukromá data</translation> + </message> + <message> <location filename="../UI/UserInterface.py" line="2805" /> - <source>Show previous</source> - <translation>Zobrazit předchozí</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2807" /> - <source>Shift+Ctrl+Alt+Tab</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2815" /> - <location filename="../UI/UserInterface.py" line="2814" /> - <source>Switch between tabs</source> - <translation>Přepnout mezi taby</translation> + <source><b>Clear private data</b><p>Clears the private data like the various list of recently opened files, projects or multi projects.</p></source> + <translation type="unfinished" /> </message> <message> <location filename="../UI/UserInterface.py" line="2816" /> - <source>Ctrl+1</source> - <translation /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2823" /> - <source>Plugin Infos</source> - <translation>Plugin Infa</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2825" /> - <source>&Plugin Infos...</source> - <translation>&Plugin Infa...</translation> + <location filename="../UI/UserInterface.py" line="2815" /> + <source>Activate current editor</source> + <translation>Aktivovat aktuální editor</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2817" /> + <source>Alt+Shift+E</source> + <translation /> </message> <message> <location filename="../UI/UserInterface.py" line="2826" /> - <source>Show Plugin Infos</source> - <translation>Zobrazit Plugin infa</translation> + <location filename="../UI/UserInterface.py" line="2825" /> + <source>Show next</source> + <translation>Zobrazit další</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2827" /> - <source><b>Plugin Infos...</b><p>This opens a dialog, that show some information about loaded plugins.</p></source> - <translation><b>Plugin Infa</b><p>Otevře dialog, který zobrazí informace o načtených pluginech.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2840" /> + <source>Ctrl+Alt+Tab</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2835" /> + <location filename="../UI/UserInterface.py" line="2834" /> + <source>Show previous</source> + <translation>Zobrazit předchozí</translation> + </message> + <message> <location filename="../UI/UserInterface.py" line="2836" /> - <source>Install Plugins</source> - <translation>Instalovat pluginy</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2838" /> - <source>&Install Plugins...</source> - <translation>&Instalovat pluginy...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2841" /> - <source><b>Install Plugins...</b><p>This opens a dialog to install or update plugins.</p></source> - <translation><b>Instalovat pluginy...</b><p>Otevře dialog pro instalaci nebo aktualizaci pluginů.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2853" /> - <location filename="../UI/UserInterface.py" line="2849" /> - <source>Uninstall Plugin</source> - <translation>Odinstalovat plugin</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2851" /> - <source>&Uninstall Plugin...</source> - <translation>&Odinstalovat plugin...</translation> + <source>Shift+Ctrl+Alt+Tab</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2844" /> + <location filename="../UI/UserInterface.py" line="2843" /> + <source>Switch between tabs</source> + <translation>Přepnout mezi taby</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2845" /> + <source>Ctrl+1</source> + <translation /> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2852" /> + <source>Plugin Infos</source> + <translation>Plugin Infa</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2854" /> - <source><b>Uninstall Plugin...</b><p>This opens a dialog to uninstall a plugin.</p></source> - <translation><b>Odinstalovat plugin...</b><p>Otevře dialog pro odinstalaci pluginu.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2864" /> - <source>Plugin &Repository...</source> - <translation>&Repozitář pluginů...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2866" /> - <source>Show Plugins available for download</source> - <translation>Zobrazit pluginy dostupné ke stažení</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2868" /> - <source><b>Plugin Repository...</b><p>This opens a dialog, that shows a list of plugins available on the Internet.</p></source> - <translation><b>Repozitář pluginů...</b><p>Otevře se dialog, který zobrazí seznam pluginů dostupných ke stažení přes internet.</p></translation> + <source>&Plugin Infos...</source> + <translation>&Plugin Infa...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2855" /> + <source>Show Plugin Infos</source> + <translation>Zobrazit Plugin infa</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2856" /> + <source><b>Plugin Infos...</b><p>This opens a dialog, that show some information about loaded plugins.</p></source> + <translation><b>Plugin Infa</b><p>Otevře dialog, který zobrazí informace o načtených pluginech.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2869" /> + <location filename="../UI/UserInterface.py" line="2865" /> + <source>Install Plugins</source> + <translation>Instalovat pluginy</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2867" /> + <source>&Install Plugins...</source> + <translation>&Instalovat pluginy...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2870" /> + <source><b>Install Plugins...</b><p>This opens a dialog to install or update plugins.</p></source> + <translation><b>Instalovat pluginy...</b><p>Otevře dialog pro instalaci nebo aktualizaci pluginů.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2882" /> - <location filename="../UI/UserInterface.py" line="2877" /> - <source>Virtualenv Manager</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2879" /> - <source>&Virtualenv Manager...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2884" /> - <source><b>Virtualenv Manager</b><p>This opens a dialog to manage the defined Python virtual environments.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2899" /> - <location filename="../UI/UserInterface.py" line="2894" /> - <source>Virtualenv Configurator</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2896" /> - <source>Virtualenv &Configurator...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2901" /> - <source><b>Virtualenv Configurator</b><p>This opens a dialog for entering all the parameters needed to create a Python virtual environment using virtualenv or pyvenv.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2929" /> - <location filename="../UI/UserInterface.py" line="2928" /> + <location filename="../UI/UserInterface.py" line="2878" /> + <source>Uninstall Plugin</source> + <translation>Odinstalovat plugin</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2880" /> + <source>&Uninstall Plugin...</source> + <translation>&Odinstalovat plugin...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2883" /> + <source><b>Uninstall Plugin...</b><p>This opens a dialog to uninstall a plugin.</p></source> + <translation><b>Odinstalovat plugin...</b><p>Otevře dialog pro odinstalaci pluginu.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2893" /> + <source>Plugin &Repository...</source> + <translation>&Repozitář pluginů...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2895" /> + <source>Show Plugins available for download</source> + <translation>Zobrazit pluginy dostupné ke stažení</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2897" /> + <source><b>Plugin Repository...</b><p>This opens a dialog, that shows a list of plugins available on the Internet.</p></source> + <translation><b>Repozitář pluginů...</b><p>Otevře se dialog, který zobrazí seznam pluginů dostupných ke stažení přes internet.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2923" /> + <location filename="../UI/UserInterface.py" line="2922" /> <source>Qt5 Documentation</source> <translation type="unfinished">Qt4 dokumentace {5 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2931" /> + <location filename="../UI/UserInterface.py" line="2925" /> <source>Open Qt5 Documentation</source> <translation type="unfinished">Otevřít Qt4 dokumentaci {5 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2932" /> + <location filename="../UI/UserInterface.py" line="2926" /> <source><b>Qt5 Documentation</b><p>Display the Qt5 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. </p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2944" /> - <location filename="../UI/UserInterface.py" line="2943" /> + <location filename="../UI/UserInterface.py" line="2938" /> + <location filename="../UI/UserInterface.py" line="2937" /> <source>Qt6 Documentation</source> <translation type="unfinished">Qt4 dokumentace {6 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2946" /> + <location filename="../UI/UserInterface.py" line="2940" /> <source>Open Qt6 Documentation</source> <translation type="unfinished">Otevřít Qt4 dokumentaci {6 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2947" /> + <location filename="../UI/UserInterface.py" line="2941" /> <source><b>Qt6 Documentation</b><p>Display the Qt6 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. </p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2959" /> - <location filename="../UI/UserInterface.py" line="2958" /> + <location filename="../UI/UserInterface.py" line="2953" /> + <location filename="../UI/UserInterface.py" line="2952" /> <source>PyQt5 Documentation</source> <translation type="unfinished">PyQt4 dokumentace {5 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2961" /> + <location filename="../UI/UserInterface.py" line="2955" /> <source>Open PyQt5 Documentation</source> <translation type="unfinished">Otevřít PyQt4 dokumentaci {5 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2963" /> + <location filename="../UI/UserInterface.py" line="2957" /> <source><b>PyQt5 Documentation</b><p>Display the PyQt5 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. </p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2976" /> - <location filename="../UI/UserInterface.py" line="2975" /> + <location filename="../UI/UserInterface.py" line="2970" /> + <location filename="../UI/UserInterface.py" line="2969" /> <source>PyQt6 Documentation</source> <translation type="unfinished">PyQt4 dokumentace {6 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2978" /> + <location filename="../UI/UserInterface.py" line="2972" /> <source>Open PyQt6 Documentation</source> <translation type="unfinished">Otevřít PyQt4 dokumentaci {6 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2980" /> + <location filename="../UI/UserInterface.py" line="2974" /> <source><b>PyQt6 Documentation</b><p>Display the PyQt6 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. </p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="2998" /> - <location filename="../UI/UserInterface.py" line="2997" /> + <location filename="../UI/UserInterface.py" line="2992" /> + <location filename="../UI/UserInterface.py" line="2991" /> <source>Python 3 Documentation</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3000" /> + <location filename="../UI/UserInterface.py" line="2994" /> <source>Open Python 3 Documentation</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3002" /> + <location filename="../UI/UserInterface.py" line="2996" /> <source><b>Python 3 Documentation</b><p>Display the Python 3 documentation. If no documentation directory is configured, the location of the Python 3 documentation is assumed to be the doc directory underneath the location of the Python 3 executable on Windows and <i>/usr/share/doc/packages/python/html</i> on Unix. Set PYTHON3DOCDIR in your environment to override this.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3020" /> - <location filename="../UI/UserInterface.py" line="3019" /> + <location filename="../UI/UserInterface.py" line="3014" /> + <location filename="../UI/UserInterface.py" line="3013" /> <source>Eric API Documentation</source> <translation>Eric API dokumentace</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3022" /> + <location filename="../UI/UserInterface.py" line="3016" /> <source>Open Eric API Documentation</source> <translation>Otevřít Eric API dokumentaci</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3024" /> + <location filename="../UI/UserInterface.py" line="3018" /> <source><b>Eric API Documentation</b><p>Display the Eric API documentation. The location for the documentation is the Documentation/Source subdirectory of the eric installation directory.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3041" /> - <location filename="../UI/UserInterface.py" line="3040" /> + <location filename="../UI/UserInterface.py" line="3035" /> + <location filename="../UI/UserInterface.py" line="3034" /> <source>PySide2 Documentation</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3043" /> + <location filename="../UI/UserInterface.py" line="3037" /> <source>Open PySide2 Documentation</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3045" /> + <location filename="../UI/UserInterface.py" line="3039" /> <source><b>PySide2 Documentation</b><p>Display the PySide2 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. </p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3061" /> - <location filename="../UI/UserInterface.py" line="3060" /> + <location filename="../UI/UserInterface.py" line="3055" /> + <location filename="../UI/UserInterface.py" line="3054" /> <source>PySide6 Documentation</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3063" /> + <location filename="../UI/UserInterface.py" line="3057" /> <source>Open PySide6 Documentation</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3065" /> + <location filename="../UI/UserInterface.py" line="3059" /> <source><b>PySide6 Documentation</b><p>Display the PySide6 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. </p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3167" /> + <location filename="../UI/UserInterface.py" line="3161" /> <source>E&xtras</source> <translation>E&xtra funkce</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3177" /> + <location filename="../UI/UserInterface.py" line="3171" /> <source>Wi&zards</source> <translation>&Průvodci</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3204" /> + <location filename="../UI/UserInterface.py" line="3190" /> <source>P&lugins</source> <translation>P&luginy</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3214" /> + <location filename="../UI/UserInterface.py" line="3200" /> <source>Configure...</source> <translation>Konfigurovat...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3223" /> + <location filename="../UI/UserInterface.py" line="3209" /> <source>&Unittest</source> <translation>&Unittest</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3240" /> + <location filename="../UI/UserInterface.py" line="3226" /> <source>Select Tool Group</source> <translation>Vybrat skupinu nástrojů</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3251" /> + <location filename="../UI/UserInterface.py" line="3237" /> <source>Se&ttings</source> <translation>Nas&tavení</translation> </message> <message> + <location filename="../UI/UserInterface.py" line="3267" /> + <source>&Window</source> + <translation>O&kno</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="3276" /> + <source>&Windows</source> + <translation type="unfinished">&Windows</translation> + </message> + <message> <location filename="../UI/UserInterface.py" line="3281" /> - <source>&Window</source> - <translation>O&kno</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="3290" /> - <source>&Windows</source> - <translation type="unfinished">&Windows</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="3295" /> <source>Central Park</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3299" /> + <location filename="../UI/UserInterface.py" line="3285" /> <source>Left Side</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3312" /> + <location filename="../UI/UserInterface.py" line="3298" /> <source>Bottom Side</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3321" /> + <location filename="../UI/UserInterface.py" line="3307" /> <source>Right Side</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3342" /> + <location filename="../UI/UserInterface.py" line="3329" /> <source>Plug-ins</source> <translation type="unfinished" /> </message> <message> + <location filename="../UI/UserInterface.py" line="3336" /> + <source>&Toolbars</source> + <translation>&Toolbary</translation> + </message> + <message> <location filename="../UI/UserInterface.py" line="3349" /> - <source>&Toolbars</source> - <translation>&Toolbary</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="3362" /> <source>&Help</source> <translation>&Nápověda</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3435" /> - <location filename="../UI/UserInterface.py" line="3412" /> + <location filename="../UI/UserInterface.py" line="3422" /> + <location filename="../UI/UserInterface.py" line="3399" /> <source>Tools</source> <translation>Nástroje</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3437" /> - <location filename="../UI/UserInterface.py" line="3416" /> + <location filename="../UI/UserInterface.py" line="3424" /> + <location filename="../UI/UserInterface.py" line="3403" /> <source>Settings</source> <translation>Nastavení</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5294" /> - <location filename="../UI/UserInterface.py" line="3438" /> - <location filename="../UI/UserInterface.py" line="3417" /> + <location filename="../UI/UserInterface.py" line="5278" /> + <location filename="../UI/UserInterface.py" line="3425" /> + <location filename="../UI/UserInterface.py" line="3404" /> <source>Help</source> <translation>Nápověda</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3439" /> - <location filename="../UI/UserInterface.py" line="3418" /> + <location filename="../UI/UserInterface.py" line="3426" /> + <location filename="../UI/UserInterface.py" line="3405" /> <source>Profiles</source> <translation>Profily</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3440" /> - <location filename="../UI/UserInterface.py" line="3419" /> + <location filename="../UI/UserInterface.py" line="3427" /> + <location filename="../UI/UserInterface.py" line="3406" /> <source>Plugins</source> <translation>Pluginy</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3605" /> + <location filename="../UI/UserInterface.py" line="3589" /> <source><p>This part of the status bar displays the current editors language.</p></source> <translation><p>Tato část status baru zobrazuje aktuální jazyk editoru.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3612" /> + <location filename="../UI/UserInterface.py" line="3596" /> <source><p>This part of the status bar displays the current editors encoding.</p></source> <translation><p>Tato část status baru zobrazuje aktuální kódování editorů.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3619" /> + <location filename="../UI/UserInterface.py" line="3603" /> <source><p>This part of the status bar displays the current editors eol setting.</p></source> <translation><p>Tato část status baru zobrazuje eol nastavení v aktuálním editoru.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3626" /> + <location filename="../UI/UserInterface.py" line="3610" /> <source><p>This part of the status bar displays an indication of the current editors files writability.</p></source> <translation><p>Tato část status baru zobrazuje indikátor práva zápisu editoru do souboru.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3633" /> + <location filename="../UI/UserInterface.py" line="3617" /> <source><p>This part of the status bar displays the line number of the current editor.</p></source> <translation><p>Tato část status baru zobrazuje číslo řádku v aktuálním editoru.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3640" /> + <location filename="../UI/UserInterface.py" line="3624" /> <source><p>This part of the status bar displays the cursor position of the current editor.</p></source> <translation><p>Tato část status baru zobrazuje pozici kurzoru v aktuálním editoru.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3651" /> + <location filename="../UI/UserInterface.py" line="3635" /> <source><p>This part of the status bar allows zooming the current editor or shell.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="3716" /> - <location filename="../UI/UserInterface.py" line="3676" /> + <location filename="../UI/UserInterface.py" line="3700" /> + <location filename="../UI/UserInterface.py" line="3660" /> <source>External Tools/{0}</source> <translation>Externí nástroje/{0}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3822" /> + <location filename="../UI/UserInterface.py" line="3806" /> <source><h2>Version Numbers</h2><table></source> <translation type="unfinished"><h3>Čísla verzí</h3><table> {2>?} {2>?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="7430" /> - <location filename="../UI/UserInterface.py" line="3858" /> + <location filename="../UI/UserInterface.py" line="7412" /> + <location filename="../UI/UserInterface.py" line="3842" /> <source></table></source> <translation></table></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3892" /> + <location filename="../UI/UserInterface.py" line="3876" /> <source>Email address or mail server address is empty. Please configure your Email settings in the Preferences Dialog.</source> <translation>Emailová adresa nebo mail server adresa jsou prázdné. Prosím, nastavte váš email v dialogovém okně Nastavení.</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4203" /> + <location filename="../UI/UserInterface.py" line="4187" /> <source>Restart application</source> <translation>Restartovat aplikaci</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4204" /> + <location filename="../UI/UserInterface.py" line="4188" /> <source>The application needs to be restarted. Do it now?</source> <translation>Aplikace potřebuje restartovat. Má se provést nyní?</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4238" /> + <location filename="../UI/UserInterface.py" line="4222" /> <source>&Builtin Tools</source> <translation>&Vestavěné nástroje</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4255" /> + <location filename="../UI/UserInterface.py" line="4239" /> <source>&Plugin Tools</source> <translation>&Plugin nástroje</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4258" /> + <location filename="../UI/UserInterface.py" line="4242" /> <source>&User Tools</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="4284" /> + <location filename="../UI/UserInterface.py" line="4268" /> <source>Configure Tool Groups ...</source> <translation>Konfigurace Skupin nástrojů...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4288" /> + <location filename="../UI/UserInterface.py" line="4272" /> <source>Configure current Tool Group ...</source> <translation>Konfigurace aktuální skupiny nástrojů...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4329" /> - <location filename="../UI/UserInterface.py" line="4309" /> + <location filename="../UI/UserInterface.py" line="4313" /> + <location filename="../UI/UserInterface.py" line="4293" /> <source>No User Tools Configured</source> <translation type="unfinished" /> </message> <message> - <location filename="../UI/UserInterface.py" line="4402" /> + <location filename="../UI/UserInterface.py" line="4386" /> <source>&Show all</source> <translation>&Zobrazit vše</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4404" /> + <location filename="../UI/UserInterface.py" line="4388" /> <source>&Hide all</source> <translation>&Skrýt vše</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5422" /> - <location filename="../UI/UserInterface.py" line="5412" />