47 |
47 |
48 self.__plugin = plugin |
48 self.__plugin = plugin |
49 self.__ui = parent |
49 self.__ui = parent |
50 |
50 |
51 self.__virtualenvManager = e5App().getObject("VirtualEnvManager") |
51 self.__virtualenvManager = e5App().getObject("VirtualEnvManager") |
|
52 self.__project = e5App().getObject("Project") |
52 |
53 |
53 self.__menus = {} # dictionary with references to menus |
54 self.__menus = {} # dictionary with references to menus |
54 |
55 |
55 self.__plugin.currentEnvironmentChanged.connect( |
56 self.__plugin.currentEnvironmentChanged.connect( |
56 self.__handleTearOffMenu) |
57 self.__handleTearOffMenu) |
559 Public method to get the string for the default environment. |
560 Public method to get the string for the default environment. |
560 |
561 |
561 @return string for the default environment |
562 @return string for the default environment |
562 @rtype str |
563 @rtype str |
563 """ |
564 """ |
564 return self.tr("<default>") |
565 return self.tr("<standard>") |
|
566 |
|
567 def getProjectEnvironmentString(self): |
|
568 """ |
|
569 Public method to get the string for the project environment. |
|
570 |
|
571 @return string for the project environment |
|
572 @rtype str |
|
573 """ |
|
574 if self.__project.isOpen(): |
|
575 return self.tr("<project>") |
|
576 else: |
|
577 return "" |
565 |
578 |
566 def getVirtualenvInterpreter(self, venvName): |
579 def getVirtualenvInterpreter(self, venvName): |
567 """ |
580 """ |
568 Public method to get the interpreter for a virtual environment. |
581 Public method to get the interpreter for a virtual environment. |
569 |
582 |
572 @return interpreter path |
585 @return interpreter path |
573 @rtype str |
586 @rtype str |
574 """ |
587 """ |
575 if venvName == self.getDefaultEnvironmentString(): |
588 if venvName == self.getDefaultEnvironmentString(): |
576 venvName = self.__plugin.getPreferences("CurrentEnvironment") |
589 venvName = self.__plugin.getPreferences("CurrentEnvironment") |
|
590 elif venvName == self.getProjectEnvironmentString(): |
|
591 venvName = self.__project.getDebugProperty("VIRTUALENV") |
|
592 if not venvName: |
|
593 # fall back to standard if not defined |
|
594 venvName = self.__plugin.getPreferences("CurrentEnvironment") |
577 |
595 |
578 interpreter = self.__virtualenvManager.getVirtualenvInterpreter( |
596 interpreter = self.__virtualenvManager.getVirtualenvInterpreter( |
579 venvName) |
597 venvName) |
580 if not interpreter: |
598 if not interpreter: |
581 E5MessageBox.critical( |
599 E5MessageBox.critical( |