Mercurial > octave-nkf
diff libgui/src/main-window.cc @ 16648:b04413e5a811
improve handling of interrupts, copy and paste shortcuts
* QTerminal.h (QTerminal::report_status_message): New signal.
(QTerminal::QTerminal): Set shortcuts for copy and paste actions.
Add copy and paste actions to QTerminal widget.
Connect settings_changed, report_status_message, copyClipboard_signal,
and pasteClipboard_signal.
* QWinTerminalImpl.cpp (QWinTerminalImpl::copyClipboard): If selection
is set, copy it and report status message. Otherwise, interrupt.
* TerminalView.cpp (TerminalView::copyClipboard): Likewise.
* main-window.cc (main_menu::construct_file_menu): Don't set shortcut
for open action.
(main_window::construct_edit_menu): Delete unimplemented cut, select
all, and delete actions.
Connect copy and paste actions to signals.
(main_window::copyClipboard_signal,
main_window::pasteClipboard_signal): New signals.
(main_window::copyClipboard, main_window::pasteClipboard): New slots.
(main_window::_cut_action): Delete member variable.
* octave-qt-link.cc (octave_qt_link::do_pre_input_event):
Disable input processing by the windows console.
(octave_qt_link::do_post_input_event):
Enable input processing by the windows console.
* terminal-dock-widget.h, terminal-dock-widget.cc:
Delete notice_settings, copyClipboard, and pasteClipboard signals,
slots, and connections.
(terminal_dock_widget::terminal_dock_widget):
Don't connect visibilityChanged signal.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 13 May 2013 07:26:37 -0400 |
parents | e3a0ca9c8836 |
children | de1f8e4b6b9b |
line wrap: on
line diff
--- a/libgui/src/main-window.cc Mon May 13 05:58:12 2013 -0400 +++ b/libgui/src/main-window.cc Mon May 13 07:26:37 2013 -0400 @@ -25,6 +25,7 @@ #include <config.h> #endif +#include <QKeySequence> #include <QApplication> #include <QLabel> #include <QMenuBar> @@ -630,6 +631,18 @@ workspace_window->connect_visibility_changed (); } +void +main_window::copyClipboard (void) +{ + emit copyClipboard_signal (); +} + +void +main_window::pasteClipboard (void) +{ + emit pasteClipboard_signal (); +} + // Connect the signals emitted when the Octave thread wants to create // a dialog box of some sort. Perhaps a better place for this would be // as part of the QUIWidgetCreator class. However, mainWindow currently @@ -946,8 +959,6 @@ _open_action = file_menu->addAction (QIcon (":/actions/icons/fileopen.png"), tr ("Open...")); - _open_action->setShortcut (QKeySequence::Open); - _open_action->setShortcutContext (Qt::ApplicationShortcut); #ifdef HAVE_QSCINTILLA file_menu->addMenu (editor_window->get_mru_menu ()); @@ -1026,27 +1037,16 @@ edit_menu->addSeparator (); - _cut_action - = edit_menu->addAction (QIcon (":/actions/icons/editcut.png"), tr ("Cut")); - _cut_action->setShortcut (ctrl_shift + Qt::Key_X); - _copy_action - = edit_menu->addAction (QIcon (":/actions/icons/editcopy.png"), tr ("Copy")); + = edit_menu->addAction (QIcon (":/actions/icons/editcopy.png"), + tr ("Copy")); _copy_action->setShortcut (ctrl_shift + Qt::Key_C); _paste_action - = edit_menu->addAction (QIcon (":/actions/icons/editpaste.png"), tr ("Paste")); + = edit_menu->addAction (QIcon (":/actions/icons/editpaste.png"), + tr ("Paste")); _paste_action->setShortcut (ctrl_shift + Qt::Key_V); - QAction *select_all_action - = edit_menu->addAction (tr ("Select All")); - select_all_action->setEnabled (false); // TODO: Make this work. - - QAction *delete_action - = edit_menu->addAction (tr ("Delete")); - delete_action->setShortcut (Qt::Key_Delete); - delete_action->setEnabled (false); // TODO: Make this work. - edit_menu->addSeparator (); QAction *find_files_action @@ -1065,10 +1065,10 @@ = edit_menu->addAction (tr ("Clear Workspace")); connect (_copy_action, SIGNAL (triggered()), - command_window, SLOT (copyClipboard ())); + this, SLOT (copyClipboard ())); connect (_paste_action, SIGNAL (triggered()), - command_window, SLOT (pasteClipboard ())); + this, SLOT (pasteClipboard ())); connect (find_files_action, SIGNAL (triggered()), this, SLOT (find_files ())); @@ -1334,7 +1334,6 @@ _main_tool_bar->addSeparator (); - _main_tool_bar->addAction (_cut_action); _main_tool_bar->addAction (_copy_action); _main_tool_bar->addAction (_paste_action); _main_tool_bar->addAction (_undo_action);