diff libgui/src/octave-dock-widget.cc @ 16881:944ade6e7f66

Make main window copy and paste global for current focused window * libgui/src/workspace-view.h, libgui/src/workspace-view.cc (workspace_view::copyClipboard): New function. * libgui/src/qtinfo/webinfo.h, libgui/src/qtinfo/webinfo.cc (webinfo::pasteClipboard): New function. (webinfo::copyClipboard): New function. * libgui/src/octave-dock-widget.h, libgui/src/octave-dock-widget.cc (octave_dock_widget::copyClipboard): New function. (octave_dock_widget::pasteClipboard): New function. (octave_dock_widget::focusWidget): New function. (octave_dock_widget::octave_dock_widget): Connect copy/paste to main window signals. * libgui/src/main-window.cc (main_window::copyClipboard): process current directory copy if is focused. (main_window::pasteClipboard): process current directory paste if is focused. * libgui/src/m-editor/file-editor.h, libgui/src/m-editor/file-editor.cc (file_editor::copyClipboard): New function. (file_editor::pasteClipboard): New function. * libgui/src/history-dock-widget.h, libgui/src/history-dock-widget.cc (history_dock_widget::pasteClipboard): New function. (history_dock_widget::copyClipboard): New function. * libgui/src/files-dock-widget.h, libgui/src/files-dock-widget.cc (files_dock_widget::copyClipboard): New function. (files_dock_widget::pasteClipboard): New function. * libgui/src/documentation-dock-widget.h, libgui/src/documentation-dock-widget.cc (documentation_dock_widget::copyClipboard): New function. (documentation_dock_widget::pasteClipboard): New function. * libgui/qterminal/libqterminal/win32/QWinTerminalImpl.h, libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cc (QWinTerminalImpl::copyClipboard): dont copy unless is focused widget. (QWinTerminalImpl::pasteClipboard): dont paste unless is focused widget. * libgui/qterminal/libqterminal/unix/TerminalView.h, libgui/qterminal/libqterminal/unix/TerminalView.cc (TerminalView::copyClipboard): only copy is focused widget. (TerminalView::pasteClipboard): only paste is focused widget.
author John Donoghue <john.donoghue@ieee.org>
date Sun, 30 Jun 2013 20:33:20 -0400
parents a86327a7d9fb
children eb6fb224bda5
line wrap: on
line diff
--- a/libgui/src/octave-dock-widget.cc	Sun Jun 30 18:08:29 2013 -0700
+++ b/libgui/src/octave-dock-widget.cc	Sun Jun 30 20:33:20 2013 -0400
@@ -21,7 +21,7 @@
 
 */
 
-
+#include <QApplication>
 #include <QToolBar>
 #include <QToolButton>
 #include <QAction>
@@ -76,6 +76,9 @@
   title_widget->setLayout (h_layout);
   setTitleBarWidget (title_widget);
 
+  // copy & paste handling
+  connect (p, SIGNAL (copyClipboard_signal ()), this, SLOT (copyClipboard ()));
+  connect (p, SIGNAL (pasteClipboard_signal()), this, SLOT (pasteClipboard ()));
 }
 
 octave_dock_widget::~octave_dock_widget ()
@@ -193,3 +196,11 @@
   emit active_changed (false);
 }
 
+// get focus widget
+QWidget *
+octave_dock_widget::focusWidget ()
+{
+    QWidget * w = QApplication::focusWidget ();
+    if(w && w->focusProxy ()) w = w->focusProxy ();
+    return w;
+}