##// END OF EJS Templates
add qt config option to clear_on_kernel_restart...
Paul Ivanov -
Show More
@@ -95,6 +95,9 b' class FrontendWidget(HistoryConsoleWidget, BaseFrontendMixin):'
95 95 enable_calltips = Bool(True, config=True,
96 96 help="Whether to draw information calltips on open-parentheses.")
97 97
98 clear_on_kernel_restart = Bool(True, config=True,
99 help="Whether to clear the console when the kernel is restarted")
100
98 101 # Emitted when a user visible 'execute_request' has been submitted to the
99 102 # kernel from the FrontendWidget. Contains the code to be executed.
100 103 executing = QtCore.Signal(object)
@@ -505,7 +508,7 b' class FrontendWidget(HistoryConsoleWidget, BaseFrontendMixin):'
505 508 time.sleep(0.25) # wait 1/4 sec to reset
506 509 # lest the request for a new prompt
507 510 # goes to the old kernel
508 self.reset()
511 self.reset_on_restart()
509 512 else: # remote kernel, prompt on Kernel shutdown/reset
510 513 title = self.window().windowTitle()
511 514 if not msg['content']['restart']:
@@ -516,6 +519,8 b' class FrontendWidget(HistoryConsoleWidget, BaseFrontendMixin):'
516 519 if reply == QtGui.QMessageBox.Yes:
517 520 self.exit_requested.emit(self)
518 521 else:
522 # XXX: remove message box in favor of using the
523 # clear_on_kernel_restart setting?
519 524 reply = QtGui.QMessageBox.question(self, title,
520 525 "Kernel has been reset. Clear the Console?",
521 526 QtGui.QMessageBox.Yes,QtGui.QMessageBox.No)
@@ -580,6 +585,22 b' class FrontendWidget(HistoryConsoleWidget, BaseFrontendMixin):'
580 585 self._append_before_prompt_pos = self._get_cursor().position()
581 586 self._show_interpreter_prompt()
582 587
588 def reset_on_restart(self):
589 """Resets the widget if ``clear_on_kernel_restart`` is True, otherwise
590 prints a visual indication of the fact that the kernel restarted, but
591 does not clear the traces from previous usage of the kernel before it
592 was restarted.
593 """
594 if self.clear_on_kernel_restart:
595 self.reset()
596 else:
597 self._append_before_prompt_pos = self._get_cursor().position()
598 self._append_plain_text("# restarting kernel...\n#" + "-"*42)
599 # XXX: Reprinting the full banner may be too much, but once #1680 is
600 # addressed, that will mitigate it.
601 #self._append_plain_text(self.banner)
602 self._show_interpreter_prompt()
603
583 604 def restart_kernel(self, message, now=False):
584 605 """ Attempts to restart the running kernel.
585 606 """
@@ -611,7 +632,7 b' class FrontendWidget(HistoryConsoleWidget, BaseFrontendMixin):'
611 632 before_prompt=True
612 633 )
613 634 else:
614 self.reset()
635 self.reset_on_restart()
615 636 else:
616 637 self.kernel_manager.hb_channel.unpause()
617 638
@@ -693,7 +714,7 b' class FrontendWidget(HistoryConsoleWidget, BaseFrontendMixin):'
693 714 self._append_plain_text(traceback)
694 715
695 716 def _process_execute_ok(self, msg):
696 """ Process a reply for a successful execution equest.
717 """ Process a reply for a successful execution request.
697 718 """
698 719 payload = msg['content']['payload']
699 720 for item in payload:
General Comments 0
You need to be logged in to leave comments. Login now