Mercurial > octave-nkf
comparison libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp @ 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 | d446e99f89f7 |
children | 1d1f02e0f6b4 |
comparison
equal
deleted
inserted
replaced
16647:d446e99f89f7 | 16648:b04413e5a811 |
---|---|
41 #include <stdarg.h> | 41 #include <stdarg.h> |
42 #define WIN32_LEAN_AND_MEAN | 42 #define WIN32_LEAN_AND_MEAN |
43 #define _WIN32_WINNT 0x0500 | 43 #define _WIN32_WINNT 0x0500 |
44 #include <windows.h> | 44 #include <windows.h> |
45 #include <cstring> | 45 #include <cstring> |
46 #include <csignal> | |
46 #include <limits> | 47 #include <limits> |
47 | 48 |
48 #include "QWinTerminalImpl.h" | 49 #include "QWinTerminalImpl.h" |
49 #include "QTerminalColors.h" | 50 #include "QTerminalColors.h" |
50 | 51 |
1435 | 1436 |
1436 void QWinTerminalImpl::copyClipboard (void) | 1437 void QWinTerminalImpl::copyClipboard (void) |
1437 { | 1438 { |
1438 QClipboard *clipboard = QApplication::clipboard (); | 1439 QClipboard *clipboard = QApplication::clipboard (); |
1439 | 1440 |
1440 clipboard->setText (d->getSelection ()); | 1441 QString selection = d->getSelection (); |
1442 | |
1443 if (selection.isEmpty ()) | |
1444 { | |
1445 ::raise (SIGINT); | |
1446 } | |
1447 else | |
1448 { | |
1449 clipboard->setText (selection); | |
1450 | |
1451 emit report_status_message (tr ("copied selection to clipboard")); | |
1452 } | |
1441 } | 1453 } |
1442 | 1454 |
1443 ////////////////////////////////////////////////////////////////////////////// | 1455 ////////////////////////////////////////////////////////////////////////////// |
1444 | 1456 |
1445 void QWinTerminalImpl::pasteClipboard (void) | 1457 void QWinTerminalImpl::pasteClipboard (void) |