Mercurial > octave-nkf
diff libgui/src/main-window.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 | caf3d2a45da0 |
children | 6bd74153c3ae |
line wrap: on
line diff
--- a/libgui/src/main-window.cc Sun Jun 30 18:08:29 2013 -0700 +++ b/libgui/src/main-window.cc Sun Jun 30 20:33:20 2013 -0400 @@ -613,13 +613,34 @@ void main_window::copyClipboard (void) { - emit copyClipboard_signal (); + if (_current_directory_combo_box->hasFocus ()) + { + QLineEdit * edit = _current_directory_combo_box->lineEdit (); + if (edit && edit->hasSelectedText ()) + { + QClipboard *clipboard = QApplication::clipboard (); + clipboard->setText (edit->selectedText ()); + } + } + else + emit copyClipboard_signal (); } void main_window::pasteClipboard (void) { - emit pasteClipboard_signal (); + if (_current_directory_combo_box->hasFocus ()) + { + QLineEdit * edit = _current_directory_combo_box->lineEdit (); + QClipboard *clipboard = QApplication::clipboard (); + QString str = clipboard->text (); + if (edit && str.length () > 0) + { + edit->insert (str); + } + } + else + emit pasteClipboard_signal (); } // Connect the signals emitted when the Octave thread wants to create