Mercurial > octave-nkf
comparison libgui/src/terminal-dock-widget.cc @ 16648:b04413e5a811
improve handling of interrupts, copy and paste shortcuts
* QTerminal.h (QTerminal::report_status_message): New signal.
(QTerminal::QTerminal): Set shortcuts for copy and paste actions.
Add copy and paste actions to QTerminal widget.
Connect settings_changed, report_status_message, copyClipboard_signal,
and pasteClipboard_signal.
* QWinTerminalImpl.cpp (QWinTerminalImpl::copyClipboard): If selection
is set, copy it and report status message. Otherwise, interrupt.
* TerminalView.cpp (TerminalView::copyClipboard): Likewise.
* main-window.cc (main_menu::construct_file_menu): Don't set shortcut
for open action.
(main_window::construct_edit_menu): Delete unimplemented cut, select
all, and delete actions.
Connect copy and paste actions to signals.
(main_window::copyClipboard_signal,
main_window::pasteClipboard_signal): New signals.
(main_window::copyClipboard, main_window::pasteClipboard): New slots.
(main_window::_cut_action): Delete member variable.
* octave-qt-link.cc (octave_qt_link::do_pre_input_event):
Disable input processing by the windows console.
(octave_qt_link::do_post_input_event):
Enable input processing by the windows console.
* terminal-dock-widget.h, terminal-dock-widget.cc:
Delete notice_settings, copyClipboard, and pasteClipboard signals,
slots, and connections.
(terminal_dock_widget::terminal_dock_widget):
Don't connect visibilityChanged signal.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 13 May 2013 07:26:37 -0400 |
parents | ba808cd9d86c |
children | d749c9b588e5 |
comparison
equal
deleted
inserted
replaced
16647:d446e99f89f7 | 16648:b04413e5a811 |
---|---|
34 terminal->setFocusPolicy (Qt::StrongFocus); | 34 terminal->setFocusPolicy (Qt::StrongFocus); |
35 | 35 |
36 setObjectName ("TerminalDockWidget"); | 36 setObjectName ("TerminalDockWidget"); |
37 setWindowIcon (QIcon(":/actions/icons/logo.png")); | 37 setWindowIcon (QIcon(":/actions/icons/logo.png")); |
38 setWindowTitle (tr ("Command Window")); | 38 setWindowTitle (tr ("Command Window")); |
39 | |
39 setWidget (terminal); | 40 setWidget (terminal); |
40 | |
41 connect (this, SIGNAL (visibilityChanged (bool)), | |
42 this, SLOT (handle_visibility (bool))); | |
43 | |
44 // Forward signals to QTerminal widget. | |
45 | |
46 connect (this, SIGNAL (notice_settings_signal (const QSettings *)), | |
47 terminal, SLOT (notice_settings (const QSettings *))); | |
48 | |
49 connect (this, SIGNAL (copyClipboard_signal (void)), | |
50 terminal, SLOT (copyClipboard (void))); | |
51 | |
52 connect (this, SIGNAL (pasteClipboard_signal (void)), | |
53 terminal, SLOT (pasteClipboard (void))); | |
54 } | 41 } |
55 | 42 |
56 bool | 43 bool |
57 terminal_dock_widget::has_focus (void) const | 44 terminal_dock_widget::has_focus (void) const |
58 { | 45 { |
59 QWidget *w = widget (); | 46 QWidget *w = widget (); |
60 | 47 |
61 return w->hasFocus (); | 48 return w->hasFocus (); |
62 } | |
63 | |
64 void | |
65 terminal_dock_widget::notice_settings (const QSettings *settings) | |
66 { | |
67 emit notice_settings_signal (settings); | |
68 } | |
69 | |
70 void | |
71 terminal_dock_widget::copyClipboard (void) | |
72 { | |
73 emit copyClipboard_signal (); | |
74 } | |
75 | |
76 void | |
77 terminal_dock_widget::pasteClipboard (void) | |
78 { | |
79 emit pasteClipboard_signal (); | |
80 } | 49 } |
81 | 50 |
82 void | 51 void |
83 terminal_dock_widget::focus (void) | 52 terminal_dock_widget::focus (void) |
84 { | 53 { |