146 self.vm = vm |
146 self.vm = vm |
147 self.__mainWindow = parent |
147 self.__mainWindow = parent |
148 self.__lastSearch = () |
148 self.__lastSearch = () |
149 self.__windowed = windowedVariant |
149 self.__windowed = windowedVariant |
150 self.__currentVenv = "" |
150 self.__currentVenv = "" |
|
151 self.__currentWorkingDirectory = "" |
151 |
152 |
152 self.linesepRegExp = r"\r\n|\n|\r" |
153 self.linesepRegExp = r"\r\n|\n|\r" |
153 |
154 |
154 self.passive = ((not self.__windowed) and |
155 self.passive = ((not self.__windowed) and |
155 Preferences.getDebugger("PassiveDbgEnabled")) |
156 Preferences.getDebugger("PassiveDbgEnabled")) |
800 |
801 |
801 It requests the interpreter version and platform running on the |
802 It requests the interpreter version and platform running on the |
802 debug client side. |
803 debug client side. |
803 """ |
804 """ |
804 if self.passive: |
805 if self.passive: |
805 self.__writeBanner('', '', '') |
806 self.__writeBanner('', '', '', '') |
806 else: |
807 else: |
807 self.dbs.remoteBanner() |
808 self.dbs.remoteBanner() |
808 |
809 |
809 def __writeBanner(self, version, platform, dbgclient, venvName): |
810 def __writeBanner(self, version, platform, dbgclient, venvName): |
810 """ |
811 """ |
1768 self.dbs.startClient(False) # start default backend |
1769 self.dbs.startClient(False) # start default backend |
1769 else: |
1770 else: |
1770 venvName = cmdList[1] |
1771 venvName = cmdList[1] |
1771 if venvName == self.tr("Project"): |
1772 if venvName == self.tr("Project"): |
1772 if self.__project.isOpen(): |
1773 if self.__project.isOpen(): |
1773 self.dbs.startClient(False, forProject=True) |
1774 self.dbs.startClient( |
|
1775 False, forProject=True, |
|
1776 workingDir=self.__project.getProjectPath()) |
|
1777 self.__currentWorkingDirectory = \ |
|
1778 self.__project.getProjectPath() |
1774 else: |
1779 else: |
1775 self.dbs.startClient( |
1780 self.dbs.startClient( |
1776 False, venvName=self.__currentVenv) |
1781 False, venvName=self.__currentVenv, |
|
1782 workingDir=self.__currentWorkingDirectory) |
1777 # same as reset |
1783 # same as reset |
1778 else: |
1784 else: |
1779 self.dbs.startClient(False, venvName=venvName) |
1785 self.dbs.startClient(False, venvName=venvName) |
|
1786 self.__currentWorkingDirectory = "" |
1780 self.__getBanner() |
1787 self.__getBanner() |
1781 return |
1788 return |
1782 elif cmd == 'clear': |
1789 elif cmd == 'clear': |
1783 # Display the banner. |
1790 # Display the banner. |
1784 self.__getBanner() |
1791 self.__getBanner() |
1785 if not self.passive: |
1792 if not self.passive: |
1786 return |
1793 return |
1787 else: |
1794 else: |
1788 cmd = '' |
1795 cmd = '' |
1789 elif cmd in ['reset', 'restart']: |
1796 elif cmd in ['reset', 'restart']: |
1790 self.dbs.startClient(False, venvName=self.__currentVenv) |
1797 self.dbs.startClient(False, venvName=self.__currentVenv, |
|
1798 workingDir=self.__currentWorkingDirectory) |
1791 if self.passive: |
1799 if self.passive: |
1792 return |
1800 return |
1793 else: |
1801 else: |
1794 cmd = '' |
1802 cmd = '' |
1795 elif cmd in ['envs', 'environments']: |
1803 elif cmd in ['envs', 'environments']: |
1956 |
1964 |
1957 def doRestart(self): |
1965 def doRestart(self): |
1958 """ |
1966 """ |
1959 Public slot to handle the 'restart' context menu entry. |
1967 Public slot to handle the 'restart' context menu entry. |
1960 """ |
1968 """ |
1961 self.dbs.startClient(False, venvName=self.__currentVenv) |
1969 self.dbs.startClient(False, venvName=self.__currentVenv, |
|
1970 workingDir=self.__currentWorkingDirectory) |
1962 |
1971 |
1963 def __startDebugClient(self, action): |
1972 def __startDebugClient(self, action): |
1964 """ |
1973 """ |
1965 Private slot to start a debug client according to the action |
1974 Private slot to start a debug client according to the action |
1966 triggered. |
1975 triggered. |
1967 |
1976 |
1968 @param action context menu action that was triggered (QAction) |
1977 @param action context menu action that was triggered (QAction) |
1969 """ |
1978 """ |
1970 venvName = action.text() |
1979 venvName = action.text() |
1971 if venvName == self.tr("Project"): |
1980 if venvName == self.tr("Project"): |
1972 self.dbs.startClient(False, forProject=True) |
1981 if self.__project.isOpen(): |
|
1982 self.__currentWorkingDirectory = \ |
|
1983 self.__project.getProjectPath() |
|
1984 self.dbs.startClient(False, forProject=True, |
|
1985 workingDir=self.__currentWorkingDirectory) |
1973 else: |
1986 else: |
1974 self.dbs.startClient(False, venvName=venvName) |
1987 self.dbs.startClient(False, venvName=venvName) |
1975 self.__getBanner() |
1988 self.__getBanner() |
1976 |
1989 |
1977 def handlePreferencesChanged(self): |
1990 def handlePreferencesChanged(self): |
2288 def __projectOpened(self): |
2301 def __projectOpened(self): |
2289 """ |
2302 """ |
2290 Private slot to start the shell for the opened project. |
2303 Private slot to start the shell for the opened project. |
2291 """ |
2304 """ |
2292 if Preferences.getProject("RestartShellForProject"): |
2305 if Preferences.getProject("RestartShellForProject"): |
2293 self.dbs.startClient(False, forProject=True) |
2306 self.dbs.startClient(False, forProject=True, |
|
2307 workingDir=self.__project.getProjectPath()) |
|
2308 self.__currentWorkingDirectory = self.__project.getProjectPath() |
2294 self.__getBanner() |
2309 self.__getBanner() |
2295 |
2310 |
2296 def __projectClosed(self): |
2311 def __projectClosed(self): |
2297 """ |
2312 """ |
2298 Private slot to restart the default shell when the project is closed. |
2313 Private slot to restart the default shell when the project is closed. |