Debugger/CallTraceViewer.py

changeset 5150
72a053e1c440
parent 4631
5c1a96925da4
child 5151
0a5906c38bfd
--- a/Debugger/CallTraceViewer.py	Sun Sep 04 17:28:37 2016 +0200
+++ b/Debugger/CallTraceViewer.py	Mon Sep 05 19:47:54 2016 +0200
@@ -64,6 +64,10 @@
         self.__projectMode = False
         self.__project = None
         
+        stopOnExit = Preferences.toBool(
+            Preferences.Prefs.settings.value("CallTrace/StopOnExit", True))
+        self.stopCheckBox.setChecked(stopOnExit)
+        
         self.__callTraceEnabled = Preferences.toBool(
             Preferences.Prefs.settings.value("CallTrace/Enabled", False))
         if self.__callTraceEnabled:
@@ -72,6 +76,7 @@
             self.stopTraceButton.setEnabled(False)
         
         self.__dbs.callTraceInfo.connect(self.__addCallTraceInfo)
+        self.__dbs.clientExit.connect(self.__clientExit)
     
     def __setCallTraceEnabled(self, enabled):
         """
@@ -84,6 +89,20 @@
         self.startTraceButton.setEnabled(not enabled)
         self.__callTraceEnabled = enabled
         Preferences.Prefs.settings.setValue("CallTrace/Enabled", enabled)
+        
+        if not enabled:
+            for column in range(self.callTrace.columnCount()):
+                self.callTrace.resizeColumnToContents(column)
+    
+    @pyqtSlot(bool)
+    def on_stopCheckBox_clicked(self, checked):
+        """
+        Private slot to handle a click on the stop check box.
+        
+        @param checked state of the check box
+        @type bool
+        """
+        Preferences.Prefs.settings.setValue("CallTrace/StopOnExit", checked)
     
     @pyqtSlot()
     def on_startTraceButton_clicked(self):
@@ -254,3 +273,11 @@
         @return flag indicating the state of the call trace function (boolean)
         """
         return self.__callTraceEnabled
+    
+    @pyqtSlot()
+    def __clientExit(self):
+        """
+        Private slot handling a client exiting.
+        """
+        if self.stopCheckBox.isChecked():
+            self.__setCallTraceEnabled(False)

eric ide

mercurial