diff libgui/src/main-window.cc @ 16539:8ea8df0747e9

make undo button and menu item work for command window * main-window.h, main-window.cc (main_window::handle_undo_request, main_window::command_window_undo_callback): New functions. (main_window::construct_edit_menu): Connect _undo_action::triggered to main_window::handle_undo_request. * cmd-edit.h, cmd-edit.cc (command_window::redisplay, command_window::do_redisplay, command_window::undo, command_window::do_undo, gnu_readline::do_redisplay, gnu_readline::do_undo): New functions. * oct-rl-edit.h, oct-rl-edit.c (octave_rl_do_undo): New function.
author John W. Eaton <jwe@octave.org>
date Thu, 18 Apr 2013 03:19:48 -0400
parents 67d4111d078d
children 6afb29359968
line wrap: on
line diff
--- a/libgui/src/main-window.cc	Thu Apr 18 02:03:16 2013 -0400
+++ b/libgui/src/main-window.cc	Thu Apr 18 03:19:48 2013 -0400
@@ -170,6 +170,12 @@
 }
 
 void
+main_window::handle_undo_request (void)
+{
+  octave_link::post_event (this, &main_window::command_window_undo_callback);
+}
+
+void
 main_window::handle_clear_command_window_request (void)
 {
   octave_link::post_event (this, &main_window::clear_command_window_callback);
@@ -1302,6 +1308,9 @@
 
   connect (current_dir_up, SIGNAL (triggered ()),
            this, SLOT (change_directory_up ()));
+
+  connect (_undo_action, SIGNAL (triggered ()),
+           this, SLOT (handle_undo_request ()));
 }
 
 void
@@ -1337,13 +1346,19 @@
 }
 
 void
+main_window::command_window_undo_callback (void)
+{
+  command_editor::undo ();
+  command_editor::redisplay ();
+}
+
+void
 main_window::clear_command_window_callback (void)
 {
   Fclc ();
   command_editor::interrupt (true);
 }
 
-
 void
 main_window::clear_history_callback (void)
 {