Mercurial > octave
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; +}