Mercurial > octave-nkf
diff libgui/qterminal/libqterminal/unix/TerminalView.cpp @ 19724:bd1369a2a651
add extra action for interrupting with Ctrl-C (bug #44204)
* QTerminal.cc (notice_settings): check if copy-shortcut is Ctrl-C and set flag
for slots and enable/disable new interrupt-action accordingly
* QTerminal.h: new function setting flag (purely virtual);
(constructor): new interrupt-action with shortcut Ctrl-C
* QUnixTerminalImpl.cpp (copyClipboard): call internal function with flag;
(has_extra_interrupt): new function for setting flag for copy-/interrupt-
slots
* QUnixTerminalImpl.h new flag for slots and function setting flag
* TerminalView.cpp (copyClipboard): gets flag as parameter, only interrupts
if Ctrl-C is shortcut for copy
* TerminalView.h: copyClipboard with boolean parameter
* QWinTerminalImpl.cpp (copyClipboard): only interrupts if Ctrl-C is shortcut
for copy;
(has_extra_interrupt): function for setting flag for copy-/interrupts-slots
* QWinTerminalImpl.h: new flag and function setting the flag
author | Torsten <ttl@justmail.de> |
---|---|
date | Mon, 09 Feb 2015 09:56:25 +0100 |
parents | 0e1f5a750d00 |
children | 4197fc428c7d |
line wrap: on
line diff
--- a/libgui/qterminal/libqterminal/unix/TerminalView.cpp Tue Feb 10 09:21:54 2015 -0800 +++ b/libgui/qterminal/libqterminal/unix/TerminalView.cpp Mon Feb 09 09:56:25 2015 +0100 @@ -2272,14 +2272,14 @@ QApplication::clipboard()->setText(t, QClipboard::Selection); } -void TerminalView::copyClipboard() +void TerminalView::copyClipboard(bool extra_interrupt) { if ( !_screenWindow || !hasFocus()) return; QString text = _screenWindow->selectedText(_preserveLineBreaks); - if (text.isEmpty ()) + if (text.isEmpty () && ! extra_interrupt) emit interrupt_signal (); else QApplication::clipboard()->setText(text); @@ -2312,6 +2312,7 @@ emitSelection(true,false); } + /* ------------------------------------------------------------------------- */ /* */ /* Keyboard */