UI/UserInterface.py

changeset 6348
d6c0b8ab1fc6
parent 6338
104ee21d765d
child 6364
6a496f0886ad
--- a/UI/UserInterface.py	Fri Jun 15 11:56:58 2018 +0200
+++ b/UI/UserInterface.py	Fri Jun 15 18:49:48 2018 +0200
@@ -238,6 +238,12 @@
         # load the view profiles
         self.profiles = Preferences.getUI("ViewProfiles2")
         
+        # Generate the virtual environment manager
+        from VirtualEnv.VirtualenvManager import VirtualenvManager
+        self.virtualenvManager = VirtualenvManager(self)
+        # register it early because it is needed very soon
+        e5App().registerObject("VirtualEnvManager", self.virtualenvManager)
+        
         # Generate the debug server object
         from Debugger.DebugServer import DebugServer
         debugServer = DebugServer()
@@ -546,9 +552,6 @@
             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)
@@ -571,7 +574,6 @@
         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")
@@ -5084,9 +5086,15 @@
         pythonDocDir = Preferences.getHelp("PythonDocDir")
         if not pythonDocDir:
             if Utilities.isWindowsPlatform():
-                pythonDocDir = Utilities.getEnvironmentEntry(
-                    "PYTHON3DOCDIR",
-                    os.path.join(os.path.dirname(sys.executable), "doc"))
+                venvName = Preferences.getDebugger("Python3VirtualEnv")
+                interpreter = e5App().getObject("VirtualEnvManager")\
+                    .getVirtualenvInterpreter(venvName)
+                if interpreter:
+                    default = os.path.join(os.path.dirname(interpreter), "doc")
+                else:
+                    default = ""
+                pythonDocDir = \
+                    Utilities.getEnvironmentEntry("PYTHON3DOCDIR", default)
             else:
                 pythonDocDir = Utilities.getEnvironmentEntry(
                     "PYTHON3DOCDIR",
@@ -5147,11 +5155,13 @@
         Private slot to show the Python 2 documentation.
         """
         pythonDocDir = Preferences.getHelp("Python2DocDir")
-        executable = Preferences.getDebugger("PythonInterpreter")
         if not pythonDocDir:
             if Utilities.isWindowsPlatform():
-                if executable:
-                    default = os.path.join(os.path.dirname(executable), "doc")
+                venvName = Preferences.getDebugger("Python2VirtualEnv")
+                interpreter = e5App().getObject("VirtualEnvManager")\
+                    .getVirtualenvInterpreter(venvName)
+                if interpreter:
+                    default = os.path.join(os.path.dirname(interpreter), "doc")
                 else:
                     default = ""
                 pythonDocDir = \

eric ide

mercurial