changeset 20152:88233ac3f3ea

fix issue with ctrl-c for copying when editor has focus and is docked * QTerminal.cc (set_global_shortcuts): new slot for en-/disabling interrupt shortcut in terminal depending on terminal focus_out * QTerminal.h: new slot set_global_shortcuts * TerminalView.cpp (TerminalView), for Linux: * QWinTerminalImpl.cpp (QWinTerminalImpl), for windows: connect set_global_shortcuts_signal also to the new slot in QTerminal
author Torsten <ttl@justmail.de>
date Sat, 14 Mar 2015 15:20:51 +0100
parents 526b1a2d04ca
children 941e782d0429
files libgui/qterminal/libqterminal/QTerminal.cc libgui/qterminal/libqterminal/QTerminal.h libgui/qterminal/libqterminal/unix/TerminalView.cpp libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp
diffstat 4 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/qterminal/libqterminal/QTerminal.cc
+++ b/libgui/qterminal/libqterminal/QTerminal.cc
@@ -71,6 +71,17 @@
   return names;
 }
 
+// slot for disabling the interrupt action when terminal loses focus
+void
+QTerminal::set_global_shortcuts (bool focus_out)
+  {
+    if (focus_out)
+      _interrupt_action->setShortcut (QKeySequence ());
+    else
+     _interrupt_action->setShortcut (
+              QKeySequence (Qt::ControlModifier + Qt::Key_C));
+  }
+
 void
 QTerminal::notice_settings (const QSettings *settings)
 {
--- a/libgui/qterminal/libqterminal/QTerminal.h
+++ b/libgui/qterminal/libqterminal/QTerminal.h
@@ -119,6 +119,8 @@
 
   void terminal_interrupt (void) { emit interrupt_signal (); }
 
+  void set_global_shortcuts (bool focus_out);
+
 protected:
 
   QTerminal (QWidget *xparent = 0) : QWidget (xparent)
--- a/libgui/qterminal/libqterminal/unix/TerminalView.cpp
+++ b/libgui/qterminal/libqterminal/unix/TerminalView.cpp
@@ -328,6 +328,8 @@
 
   connect (this, SIGNAL (set_global_shortcuts_signal (bool)),
            parent->parent (), SLOT (set_global_shortcuts (bool)));
+  connect (this, SIGNAL (set_global_shortcuts_signal (bool)),
+           parent, SLOT (set_global_shortcuts (bool)));
 
 }
 
--- a/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp
+++ b/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp
@@ -1426,6 +1426,8 @@
 
     connect (this, SIGNAL (set_global_shortcuts_signal (bool)),
            parent, SLOT (set_global_shortcuts (bool)));
+    connect (this, SIGNAL (set_global_shortcuts_signal (bool)),
+             this, SLOT (set_global_shortcuts (bool)));
 
     connect (this, SIGNAL (set_screen_size_signal (int, int)),
              parent, SLOT (set_screen_size (int, int)));