Mercurial > octave
changeset 29713:7b4b7e2a524d
fix signal connection to grand parent
* file-editor.cc (file_editor_tab_widget): pointer to file editor as new
argument, signal connection directly to file editor unsing new syntax
(construct): create m_tb_widget with pointer to file editor
* file-editor.h: file_editor_tab with pointer to file editor as new arg
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Sat, 29 May 2021 16:12:33 +0200 |
parents | 7a0be7c8b7ca |
children | 6375e8ed2838 |
files | libgui/src/m-editor/file-editor.cc libgui/src/m-editor/file-editor.h |
diffstat | 2 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor.cc Fri May 28 15:20:51 2021 +0200 +++ b/libgui/src/m-editor/file-editor.cc Sat May 29 16:12:33 2021 +0200 @@ -67,14 +67,13 @@ { // Functions of the the reimplemented tab widget - file_editor_tab_widget::file_editor_tab_widget (QWidget *p) + file_editor_tab_widget::file_editor_tab_widget (QWidget *p, file_editor *fe) : QTabWidget (p) { tab_bar *bar = new tab_bar (this); - // FIXME: Making a connection to a grandparent object seems bad. - connect (bar, SIGNAL (close_current_tab_signal (bool)), - p->parent (), SLOT (request_close_file (bool))); + connect (bar, &tab_bar::close_current_tab_signal, + fe, &file_editor::request_close_file); this->setTabBar (bar); @@ -1891,7 +1890,7 @@ m_tool_bar = new QToolBar (editor_widget); m_tool_bar->setMovable (true); - m_tab_widget = new file_editor_tab_widget (editor_widget); + m_tab_widget = new file_editor_tab_widget (editor_widget, this); resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
--- a/libgui/src/m-editor/file-editor.h Fri May 28 15:20:51 2021 +0200 +++ b/libgui/src/m-editor/file-editor.h Sat May 29 16:12:33 2021 +0200 @@ -47,6 +47,7 @@ namespace octave { class base_qobject; + class file_editor; // subclassed QTabWidget for using custom tabbar @@ -56,7 +57,7 @@ public: - file_editor_tab_widget (QWidget *p); + file_editor_tab_widget (QWidget *p, file_editor *fe); ~file_editor_tab_widget (void) = default;