diff -r 999f07b00a49 -r e68f5c568aee eric6/Debugger/DebugViewer.py --- a/eric6/Debugger/DebugViewer.py Sat Dec 26 22:49:27 2020 +0100 +++ b/eric6/Debugger/DebugViewer.py Sun Dec 27 16:44:10 2020 +0100 @@ -131,7 +131,9 @@ index = self.__tabWidget.addTab( self.glvWidget, UI.PixmapCache.getIcon("globalVariables"), '') - self.__tabWidget.setTabToolTip(index, self.globalsViewer.windowTitle()) + self.__tabWidget.setTabToolTip( + index, + self.tr("Shows the list of global variables and their values.")) self.setGlobalsFilterButton.clicked.connect( self.setGlobalsFilter) @@ -185,7 +187,9 @@ index = self.__tabWidget.addTab( self.lvWidget, UI.PixmapCache.getIcon("localVariables"), '') - self.__tabWidget.setTabToolTip(index, self.localsViewer.windowTitle()) + self.__tabWidget.setTabToolTip( + index, + self.tr("Shows the list of local variables and their values.")) self.sourceButton.clicked.connect(self.__showSource) self.stackComboBox.currentIndexChanged[int].connect( @@ -204,7 +208,8 @@ self.callStackViewer, UI.PixmapCache.getIcon("callStack"), "") self.__tabWidget.setTabToolTip( - index, self.callStackViewer.windowTitle()) + index, + self.tr("Shows the current call stack.")) self.callStackViewer.sourceFile.connect(self.sourceFile) self.callStackViewer.frameSelected.connect( self.__callStackFrameSelected) @@ -216,7 +221,8 @@ self.callTraceViewer, UI.PixmapCache.getIcon("callTrace"), "") self.__tabWidget.setTabToolTip( - index, self.callTraceViewer.windowTitle()) + index, + self.tr("Shows a trace of the program flow.")) self.callTraceViewer.sourceFile.connect(self.sourceFile) from .BreakPointViewer import BreakPointViewer @@ -227,7 +233,8 @@ self.breakpointViewer, UI.PixmapCache.getIcon("breakpoints"), '') self.__tabWidget.setTabToolTip( - index, self.breakpointViewer.windowTitle()) + index, + self.tr("Shows a list of defined breakpoints.")) self.breakpointViewer.sourceFile.connect(self.sourceFile) from .WatchPointViewer import WatchPointViewer @@ -238,7 +245,8 @@ self.watchpointViewer, UI.PixmapCache.getIcon("watchpoints"), '') self.__tabWidget.setTabToolTip( - index, self.watchpointViewer.windowTitle()) + index, + self.tr("Shows a list of defined watchpoints.")) from .ExceptionLogger import ExceptionLogger # add the exception logger @@ -247,7 +255,8 @@ self.exceptionLogger, UI.PixmapCache.getIcon("exceptions"), '') self.__tabWidget.setTabToolTip( - index, self.exceptionLogger.windowTitle()) + index, + self.tr("Shows a list of raised exceptions.")) from UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes # add the Python disassembly viewer @@ -257,7 +266,8 @@ self.disassemblyViewer, UI.PixmapCache.getIcon("disassembly"), '') self.__tabWidget.setTabToolTip( - index, self.disassemblyViewer.windowTitle()) + index, + self.tr("Shows a code disassembly in case of an exception.")) self.__tabWidget.setCurrentWidget(self.glvWidget) @@ -484,17 +494,19 @@ @param debuggerId ID of the debugger backend @type str """ - if debuggerId == self.getSelectedDebuggerId(): - # the current client has exited - self.globalsViewer.handleResetUI() - self.localsViewer.handleResetUI() - self.setGlobalsFilter() - self.setLocalsFilter() - self.sourceButton.setEnabled(False) - self.currentStack = None - self.stackComboBox.clear() - self.__threadList.clear() - self.__removeDebugger(debuggerId) + if not self.isOnlyDebugger(): + if debuggerId == self.getSelectedDebuggerId(): + # the current client has exited + self.globalsViewer.handleResetUI() + self.localsViewer.handleResetUI() + self.setGlobalsFilter() + self.setLocalsFilter() + self.sourceButton.setEnabled(False) + self.currentStack = None + self.stackComboBox.clear() + self.__threadList.clear() + + self.__removeDebugger(debuggerId) def __clientSyntaxError(self, message, filename, lineNo, characterNo, debuggerId): @@ -772,6 +784,15 @@ if foundItems: self.__debuggersList.setCurrentItem(foundItems[0]) + def isOnlyDebugger(self): + """ + Public method to test, if only one debugger is connected. + + @return flag indicating that only one debugger is connected + @rtype bool + """ + return self.__debuggersList.topLevelItemCount() == 1 + def getSelectedDebuggerId(self): """ Public method to get the currently selected debugger ID.