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                                   */