--- a/UI/UserInterface.py Sat Jun 09 12:09:21 2018 +0200 +++ b/UI/UserInterface.py Sat Jun 09 17:19:37 2018 +0200 @@ -546,6 +546,9 @@ QDesktopServices.setUrlHandler("http", self.handleUrl) QDesktopServices.setUrlHandler("https", self.handleUrl) + from VirtualEnv.VirtualenvManager import VirtualenvManager + self.virtualenvManager = VirtualenvManager(self) + # register all relevant objects splash.showMessage(self.tr("Registering Objects...")) e5App().registerObject("UserInterface", self) @@ -568,6 +571,7 @@ e5App().registerObject("Symbols", self.symbolsViewer) e5App().registerObject("Numbers", self.numbersViewer) e5App().registerObject("DocuViewer", self.codeDocumentationViewer) + e5App().registerObject("VirtualEnvManager", self.virtualenvManager) # list of web addresses serving the versions file self.__httpAlternatives = Preferences.getUI("VersionsUrls6") @@ -2414,6 +2418,24 @@ self.pluginRepoAct.triggered.connect(self.showPluginsAvailable) self.actions.append(self.pluginRepoAct) + self.virtualenvConfigAct = E5Action( + self.tr('Virtualenv Configurator'), + UI.PixmapCache.getIcon("virtualenv.png"), + 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() @@ -2671,6 +2693,8 @@ self.wizardsMenuAct.setEnabled(False) self.__menus["macros"] = self.viewmanager.initMacroMenu() self.__menus["extras"].addMenu(self.__menus["macros"]) + self.__menus["extras"].addSeparator() + self.__menus["extras"].addAction(self.virtualenvConfigAct) self.toolGroupsMenu = QMenu(self.tr("Select Tool Group"), self) self.toolGroupsMenu.aboutToShow.connect(self.__showToolGroupsMenu) self.toolGroupsMenu.triggered.connect(self.__toolGroupSelected) @@ -2870,6 +2894,8 @@ toolstb.addAction(self.hexEditorAct) toolstb.addAction(self.iconEditorAct) toolstb.addAction(self.snapshotAct) + toolstb.addSeparator() + toolstb.addAction(self.virtualenvConfigAct) if self.webBrowserAct: toolstb.addSeparator() toolstb.addAction(self.webBrowserAct)