eric6/Debugger/DebugUI.py

changeset 8162
8358c3c95841
parent 8143
2c730d5fd177
child 8163
29fb6d420a25
diff -r 3591a85e4da7 -r 8358c3c95841 eric6/Debugger/DebugUI.py
--- a/eric6/Debugger/DebugUI.py	Sun Mar 14 13:49:55 2021 +0100
+++ b/eric6/Debugger/DebugUI.py	Sun Mar 14 19:59:27 2021 +0100
@@ -110,6 +110,12 @@
         self.multiprocessNoDebugHistory = Preferences.toList(
             Preferences.Prefs.settings.value(
                 'DebugInfo/MultiprocessNoDebugHistory'))
+        self.overrideGlobalConfig = Preferences.toBool(
+            Preferences.Prefs.settings.value(
+                'DebugInfo/OverrideGlobal', False))
+        self.redirectStdinAndStdout = Preferences.toBool(
+            Preferences.Prefs.settings.value(
+                'DebugInfo/RedirectStdinStdout', True))
         
         self.lastDebuggedFile = None
         self.lastStartAction = 0    # 0=None, 1=Script, 2=Project
@@ -1004,6 +1010,12 @@
         Preferences.Prefs.settings.setValue(
             'DebugInfo/MultiprocessNoDebugHistory',
             self.multiprocessNoDebugHistory)
+        Preferences.Prefs.settings.setValue(
+            'DebugInfo/OverrideGlobal',
+            self.overrideGlobalConfig)
+        Preferences.Prefs.settings.setValue(
+            'DebugInfo/RedirectStdinStdout',
+            self.redirectStdinAndStdout)
         
     def shutdownServer(self):
         """
@@ -1965,10 +1977,13 @@
         dlg = StartDialog(
             cap, self.lastUsedVenvName, self.argvHistory, self.wdHistory,
             self.envHistory, self.exceptions, self.ui, 1,
-            autoClearShell=self.autoClearShell)
+            autoClearShell=self.autoClearShell,
+            enableConfigOverride=self.overrideGlobalConfig,
+            enableRedirect=self.redirectStdinAndStdout)
         if dlg.exec() == QDialog.DialogCode.Accepted:
             (lastUsedVenvName, argv, wd, env, exceptions, clearShell,
              console) = dlg.getData()
+            enableConfigOverride, enableRedirect = dlg.getGlobalOverrideData()
             
             if runProject:
                 fn = self.project.getMainScript(True)
@@ -1988,6 +2003,7 @@
                     doNotStart = True
                 
                 # save the info for later use
+                # TODO: add global config override data
                 self.project.setDbgInfo(
                     lastUsedVenvName, argv, wd, env, exceptions, self.excList,
                     self.excIgnoreList, clearShell
@@ -2034,6 +2050,10 @@
             # Save the run in console flag
             self.runInConsole = console
             
+            # Save the global config override data
+            self.overrideGlobalConfig = enableConfigOverride
+            self.redirectStdinAndStdout = enableRedirect
+            
             # Hide all error highlights
             self.viewmanager.unhighlight()
             
@@ -2046,6 +2066,7 @@
                 self.debugViewer.initCallStackViewer(runProject)
                 
                 # Ask the client to open the new program.
+                # TODO: add global config override data
                 self.debugServer.remoteRun(
                     lastUsedVenvName, fn, argv, wd, env,
                     autoClearShell=self.autoClearShell, forProject=runProject,
@@ -2567,3 +2588,15 @@
         @type bool
         """
         self.enableMultiprocess = enableMultiprocess
+    
+    def setEnableGlobalConfigOverride(self, override, redirect):
+        """
+        Public method to initialize the global config override data.
+        
+        @param override flag indicating to enable global config override
+        @type bool
+        @param redirect flag indicating to redirect stdin/stdout/stderr
+        @type bool
+        """
+        self.overrideGlobalConfig = override
+        self.redirectStdinAndStdout = redirect

eric ide

mercurial