Mercurial > octave
annotate libgui/src/set-path-dialog.h @ 31647:431f80aba37a
maint: Merge stable to default.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 06 Dec 2022 15:37:43 -0500 |
parents | ca7d58406f82 c6d54dd31a7e |
children | deb553ac2c54 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 // |
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
29782
diff
changeset
|
3 // Copyright (C) 2019-2022 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 // See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 // distribution or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
25 #if ! defined (octave_set_path_dialog_h) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
26 #define octave_set_path_dialog_h 1 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
27 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
28 #include <QDialog> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
29 #include <QFileInfo> |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
30 #include <QModelIndex> |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
31 |
27391
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
32 #include "qt-interpreter-events.h" |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
33 |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
34 class octave_value_list; |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
35 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
36 class QLabel; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
37 class QPushButton; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
38 class QListView; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
39 class QVBoxLayout; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
40 class QHBoxLayout; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
41 |
31646
c6d54dd31a7e
maint: Use macros to begin/end C++ namespaces.
John W. Eaton <jwe@octave.org>
parents:
30564
diff
changeset
|
42 OCTAVE_BEGIN_NAMESPACE(octave) |
c6d54dd31a7e
maint: Use macros to begin/end C++ namespaces.
John W. Eaton <jwe@octave.org>
parents:
30564
diff
changeset
|
43 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
44 class set_path_dialog : public QDialog |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
45 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
46 Q_OBJECT |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
47 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
48 public: |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
49 |
27391
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
50 // You must call update_model to fully initialize the path displayed |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
51 // in the dialog. That may only be done after the intepreter_event |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
52 // signal connections are made to the Octave interpreter. |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
53 |
31639
ca7d58406f82
eliminate unnecessary uses of octave_qobject in GUI classes
John W. Eaton <jwe@octave.org>
parents:
30564
diff
changeset
|
54 set_path_dialog (QWidget *parent); |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
55 |
29550
8dd0fca2a3d9
where possible, use default destructors in GUI classes
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
56 virtual ~set_path_dialog (void) = default; |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
57 |
27312
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
58 void save_settings (void); |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
59 |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
60 signals: |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
61 |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
62 //! Emitted, when the path has to be modified |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
63 |
29782
02461b0ccc00
reduce dependence of files_dock_widget on Octave interpreter
John W. Eaton <jwe@octave.org>
parents:
29550
diff
changeset
|
64 void modify_path_signal (const QStringList& dir_list, bool rm, |
02461b0ccc00
reduce dependence of files_dock_widget on Octave interpreter
John W. Eaton <jwe@octave.org>
parents:
29550
diff
changeset
|
65 bool subdirs); |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
66 |
27391
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
67 void interpreter_event (const fcn_callback& fcn); |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
68 void interpreter_event (const meth_callback& meth); |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
69 |
27306
82ace1225a9c
update path dialog if path is changed from withtin the file browser
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27305
diff
changeset
|
70 public slots: |
82ace1225a9c
update path dialog if path is changed from withtin the file browser
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27305
diff
changeset
|
71 |
82ace1225a9c
update path dialog if path is changed from withtin the file browser
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27305
diff
changeset
|
72 void update_model (void); |
82ace1225a9c
update path dialog if path is changed from withtin the file browser
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27305
diff
changeset
|
73 |
27312
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
74 protected: |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
75 |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
76 void closeEvent (QCloseEvent *e); |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
77 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
78 private slots: |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
79 |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
80 void add_dir (void); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
81 void add_dir_subdirs (void); |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
82 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
83 void rm_dir (void); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
84 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
85 void move_dir_up (void); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
86 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
87 void move_dir_down (void); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
88 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
89 void move_dir_top (void); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
90 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
91 void move_dir_bottom (void); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
92 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
93 private: |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
94 |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
95 void add_dir_common (bool subdirs); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
96 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
97 QLabel *m_info_label; |
27305
d20c31be3160
add a reload button to the gui path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27298
diff
changeset
|
98 QPushButton *m_reload_button; |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
99 QPushButton *m_save_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
100 QPushButton *m_close_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
101 QPushButton *m_revert_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
102 QPushButton *m_revert_last_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
103 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
104 QListView *m_path_list; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
105 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
106 QPushButton *m_add_folder_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
107 QPushButton *m_move_to_top_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
108 QPushButton *m_move_to_bottom_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
109 QPushButton *m_move_up_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
110 QPushButton *m_move_down_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
111 QPushButton *m_remove_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
112 }; |
31646
c6d54dd31a7e
maint: Use macros to begin/end C++ namespaces.
John W. Eaton <jwe@octave.org>
parents:
30564
diff
changeset
|
113 |
c6d54dd31a7e
maint: Use macros to begin/end C++ namespaces.
John W. Eaton <jwe@octave.org>
parents:
30564
diff
changeset
|
114 OCTAVE_END_NAMESPACE(octave) |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
115 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
116 #endif |