--- 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