Mercurial > octave-nkf
changeset 20221:ac3746f39fab stable
make action shortcuts available in floating widgets (bug #45078)
* main-window.cc (construct): emit a list of actions which should also
be available in dock widgets
* main-window.h: new signal for the list of actions
* octave-dock-widget.cc (octave_dock_widget): connect new signal with
action list to the related new slot;
(add_actions): new slot for adding main windows actions
* octave-dock-widget.h: new slot
author | Torsten <ttl@justmail.de> |
---|---|
date | Wed, 13 May 2015 22:00:56 +0200 |
parents | 7e01182ee36c |
children | 998881b6cdef |
files | libgui/src/main-window.cc libgui/src/main-window.h libgui/src/octave-dock-widget.cc libgui/src/octave-dock-widget.h |
diffstat | 4 files changed, 23 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/main-window.cc Wed May 13 20:51:41 2015 +0200 +++ b/libgui/src/main-window.cc Wed May 13 22:00:56 2015 +0200 @@ -1430,6 +1430,15 @@ octave_link::post_event (this, &main_window::resize_command_window_callback); configure_shortcuts (); + + // actions that should be available in floating dock widgets, too + QList<QAction *> action_list; + action_list.append (_copy_action); + action_list.append (_paste_action); + action_list.append (_select_all_action); + action_list.append (_undo_action); + emit add_actions_signal (action_list); // signal for adding these actions + } }
--- a/libgui/src/main-window.h Wed May 13 20:51:41 2015 +0200 +++ b/libgui/src/main-window.h Wed May 13 22:00:56 2015 +0200 @@ -105,6 +105,8 @@ void selectAll_signal (void); void undo_signal (void); + void add_actions_signal (QList <QAction *> action_list); + public slots: void focus_changed (QWidget *w_old, QWidget *w_new);
--- a/libgui/src/octave-dock-widget.cc Wed May 13 20:51:41 2015 +0200 +++ b/libgui/src/octave-dock-widget.cc Wed May 13 22:00:56 2015 +0200 @@ -109,6 +109,9 @@ #endif + // adding actions of the main window + connect (p, SIGNAL (add_actions_signal (QList<QAction *>)), + this, SLOT (add_actions (QList<QAction *>))); // copy & paste handling connect (p, SIGNAL (copyClipboard_signal ()), this, SLOT (copyClipboard ())); @@ -477,6 +480,13 @@ } } +// slot for adding actions from the main window +void +octave_dock_widget::add_actions (QList<QAction *> action_list) +{ + if (objectName () != "FileEditor") + addActions (action_list); +} // close event void
--- a/libgui/src/octave-dock-widget.h Wed May 13 20:51:41 2015 +0200 +++ b/libgui/src/octave-dock-widget.h Wed May 13 22:00:56 2015 +0200 @@ -102,6 +102,8 @@ // event filter for double clicks into the window decoration elements bool eventFilter(QObject *obj, QEvent *e); + virtual void add_actions (QList<QAction *> action_list); + private slots: void change_floating (bool);