diff libgui/src/set-path-dialog.cc @ 27391:a329a41cf341

use interpreter_event signals in set_path_dialog object * set-path-model.h, set-path-model.cc (set_path_modeld::interpreter_event): New signals. (set_path_model::set_path_model): Don't call path_to_model. Initialization must happen after all signals are connected. (set_path_model::model_to_path, set_path_model::path_to_model, set_path_model::save): Use interpreter_event signals instead of accessing event manager and interpreter object directly from the set_path_model object in the GUI thread. * set-path-dialog.h, set-path-dialog.cc (set_path_dialog::interpreter_event): New signals. (set_path_dialog::set_path_dialog): Connect interpreter_event signals from the model to interpreter_event signals in the dialog. * main-window.cc (main_window::handle_set_path_dialog_request): Connect interpreter_event signals from the dialog to interpreter_event signals in the main window. Call update_model for the set_path_dialog object.
author John W. Eaton <jwe@octave.org>
date Wed, 11 Sep 2019 13:38:40 -0400
parents b9a436b0400e
children da1f59fe04b3
line wrap: on
line diff
--- a/libgui/src/set-path-dialog.cc	Thu Sep 12 09:57:34 2019 -0700
+++ b/libgui/src/set-path-dialog.cc	Wed Sep 11 13:38:40 2019 -0400
@@ -51,6 +51,8 @@
 #include "resource-manager.h"
 #include "gui-preferences.h"
 
+#include "ovl.h"
+
 namespace octave
 {
   set_path_dialog::set_path_dialog (QWidget *parent)
@@ -112,6 +114,15 @@
     connect (m_save_button, SIGNAL (clicked (void)),
              model, SLOT (save (void)));
 
+    // Any interpreter_event signal from a set_path_model object is
+    // handled the same as for the parent set_path_dialog object.
+
+    connect (model, SIGNAL (interpreter_event (const fcn_callback&)),
+             this, SIGNAL (interpreter_event (const fcn_callback&)));
+
+    connect (model, SIGNAL (interpreter_event (const meth_callback&)),
+             this, SIGNAL (interpreter_event (const meth_callback&)));
+
     m_path_list = new QListView (this);
     m_path_list->setWordWrap (false);
     m_path_list->setModel (model);