diff -r 22633c0739e2 -r 2390df6f42ba Debugger/DebugServer.py --- a/Debugger/DebugServer.py Tue Mar 11 18:56:38 2014 +0100 +++ b/Debugger/DebugServer.py Tue Mar 11 20:07:05 2014 +0100 @@ -84,6 +84,8 @@ connected in passive debug mode @signal clientGone(bool) emitted if the client went away (planned or unplanned) + @signal clientInterpreterChanged(str) emitted to signal a change of the + client interpreter @signal utPrepared(nrTests, exc_type, exc_value) emitted after the client has loaded a unittest suite @signal utFinished() emitted after the client signalled the end of the @@ -128,6 +130,7 @@ clientBanner = pyqtSignal(str, str, str) clientCapabilities = pyqtSignal(int, str) clientCompletionList = pyqtSignal(list, str) + clientInterpreterChanged = pyqtSignal(str) utPrepared = pyqtSignal(int, str, str) utStartTest = pyqtSignal(str, str) utStopTest = pyqtSignal() @@ -179,6 +182,7 @@ self.debugging = False self.running = False self.clientProcess = None + self.clientInterpreter = "" self.clientType = \ Preferences.Prefs.settings.value('DebugClient/Type', 'Python3') self.lastClientType = '' @@ -387,15 +391,15 @@ if forProject: project = e5App().getObject("Project") if not project.isDebugPropertiesLoaded(): - self.clientProcess, isNetworked = \ + self.clientProcess, isNetworked, clientInterpreter = \ self.debuggerInterface.startRemote(self.serverPort(), runInConsole) else: - self.clientProcess, isNetworked = \ + self.clientProcess, isNetworked, clientInterpreter = \ self.debuggerInterface.startRemoteForProject( self.serverPort(), runInConsole) else: - self.clientProcess, isNetworked = \ + self.clientProcess, isNetworked, clientInterpreter = \ self.debuggerInterface.startRemote( self.serverPort(), runInConsole) @@ -417,6 +421,11 @@ self.__setClientType(self.lastClientType) else: self.__createDebuggerInterface("None") + clientInterpreter = "" + + if clientInterpreter != self.clientInterpreter: + self.clientInterpreter = clientInterpreter + self.clientInterpreterChanged.emit(clientInterpreter) def __clientProcessOutput(self): """ @@ -623,6 +632,14 @@ except KeyError: return 0 # no capabilities + def getClientInterpreter(self): + """ + Public method to get the interpreter of the debug client. + + @return interpreter of the debug client (string) + """ + return self.clientInterpreter + def __newConnection(self): """ Private slot to handle a new connection.