Mercurial > octave
changeset 29782:02461b0ccc00
reduce dependence of files_dock_widget on Octave interpreter
* files-dock-widget.h, files-dock-widget.cc:
Don't include interpreter.h or load-save.h.
(files_dock_widget::modify_path_signal): Use QStringList to pass list
of directory names, not octave_value_list. Change all uses.
* main-window.h, main-window.cc (main_window::modify_path): Use
QStringList to pass list of directory names, not octave_value_list.
Change all uses.
* set-path-dialog.h, set-path-dialog.cc
(set_path_dialog::modify_path_signal): Use QStringList to pass list of
directory names, not octave_value_list. Change all uses.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 18 Jun 2021 01:20:46 -0400 |
parents | 6cbd169e391b |
children | 5154c91e0d98 |
files | libgui/src/files-dock-widget.cc libgui/src/files-dock-widget.h libgui/src/main-window.cc libgui/src/main-window.h libgui/src/set-path-dialog.cc libgui/src/set-path-dialog.h |
diffstat | 6 files changed, 19 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/files-dock-widget.cc Fri Jun 18 22:50:59 2021 +0200 +++ b/libgui/src/files-dock-widget.cc Fri Jun 18 01:20:46 2021 -0400 @@ -51,8 +51,6 @@ #include "octave-qtutils.h" #include "qt-interpreter-events.h" -#include "interpreter.h" -#include "load-save.h" #include "oct-env.h" namespace octave @@ -861,10 +859,10 @@ { QList<QFileInfo> infos = get_selected_items_info (true); - octave_value_list dir_list = ovl (); + QStringList dir_list; for (int i = 0; i < infos.length (); i++) - dir_list.append (infos.at (i).absoluteFilePath ().toStdString ()); + dir_list.append (infos.at (i).absoluteFilePath ()); if (infos.length () > 0) emit modify_path_signal (dir_list, rm, subdirs);
--- a/libgui/src/files-dock-widget.h Fri Jun 18 22:50:59 2021 +0200 +++ b/libgui/src/files-dock-widget.h Fri Jun 18 01:20:46 2021 -0400 @@ -44,8 +44,6 @@ #include "octave-dock-widget.h" -class octave_value_list; - namespace octave { class base_qobject; @@ -98,8 +96,8 @@ //! Emitted, when the path has to be modified - void modify_path_signal (const octave_value_list& dir_list, - bool rm, bool subdirs); + void modify_path_signal (const QStringList& dir_list, bool rm, + bool subdirs); public slots:
--- a/libgui/src/main-window.cc Fri Jun 18 22:50:59 2021 +0200 +++ b/libgui/src/main-window.cc Fri Jun 18 01:20:46 2021 -0400 @@ -647,7 +647,7 @@ emit undo_signal (); } - void main_window::modify_path (const octave_value_list& dir_list, + void main_window::modify_path (const QStringList& dir_list, bool rm, bool subdirs) { emit interpreter_event @@ -655,16 +655,18 @@ { // INTERPRETER THREAD - octave_value_list paths = ovl (); - - if (subdirs) + octave_value_list paths; + + // Loop over all directories in order to get all subdirs + for (octave_idx_type i = 0; i < dir_list.length (); i++) { - // Loop over all directories in order to get all subdirs - for (octave_idx_type i = 0; i < dir_list.length (); i++) - paths.append (Fgenpath (dir_list(i))); + std::string dir = dir_list.at(i).toStdString (); + + if (subdirs) + paths.append (Fgenpath (ovl (dir))); + else + paths.append (dir); } - else - paths = dir_list; if (rm) Frmpath (interp, paths);
--- a/libgui/src/main-window.h Fri Jun 18 22:50:59 2021 +0200 +++ b/libgui/src/main-window.h Fri Jun 18 01:20:46 2021 -0400 @@ -143,7 +143,7 @@ void handle_clear_command_window_request (void); void handle_clear_history_request (void); void handle_undo_request (void); - void modify_path (const octave_value_list& dir_list, bool rm, bool subdirs); + void modify_path (const QStringList& dir_list, bool rm, bool subdirs); void edit_mfile (const QString&, int); void file_remove_proxy (const QString& o, const QString& n); void open_online_documentation_page (void);
--- a/libgui/src/set-path-dialog.cc Fri Jun 18 22:50:59 2021 +0200 +++ b/libgui/src/set-path-dialog.cc Fri Jun 18 01:20:46 2021 -0400 @@ -194,9 +194,7 @@ { // Use existing method mofifying load path and updating dialog // instead of adding string and updating load path - octave_value_list dirlist = ovl (); - dirlist.append (dir.toStdString ()); - emit modify_path_signal (dirlist, false, true); + emit modify_path_signal (QStringList (dir), false, true); } else {
--- a/libgui/src/set-path-dialog.h Fri Jun 18 22:50:59 2021 +0200 +++ b/libgui/src/set-path-dialog.h Fri Jun 18 01:20:46 2021 -0400 @@ -63,8 +63,8 @@ //! Emitted, when the path has to be modified - void modify_path_signal (const octave_value_list& dir_list, - bool rm, bool subdirs); + void modify_path_signal (const QStringList& dir_list, bool rm, + bool subdirs); void interpreter_event (const fcn_callback& fcn); void interpreter_event (const meth_callback& meth);