Mercurial > octave
annotate libgui/src/set-path-dialog.h @ 29550:8dd0fca2a3d9
where possible, use default destructors in GUI classes
In most cases, don't explicitly delete objects that have parents in
the QObject class hierarchy as they will be deleted automatically when
the parent object is deleted. Explicitly declare more destructors as
"default".
Files affected: dialog.cc, dialog.h, documentation-bookmarks.cc,
documentation-bookmarks.h, documentation-dock-widget.cc,
documentation-dock-widget.h, documentation.cc, documentation.h,
m-editor/file-editor.cc, m-editor/file-editor.h, main-window.cc,
main-window.h, set-path-dialog.cc, set-path-dialog.h, tab-bar.cc,
tab-bar.h, terminal-dock-widget.cc, and terminal-dock-widget.h.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 22 Apr 2021 12:52:14 -0400 |
parents | 0a5b15007766 |
children | 02461b0ccc00 |
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 // |
29358
0a5b15007766
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
3 // Copyright (C) 2019-2021 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 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
42 namespace octave |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
43 { |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
44 class base_qobject; |
27620
45bb5bbaf291
don't use singleton pattern for resource manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27412
diff
changeset
|
45 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
46 class set_path_dialog : public QDialog |
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 Q_OBJECT |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
49 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
50 public: |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
51 |
27391
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
52 // 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
|
53 // 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
|
54 // 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
|
55 |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
56 set_path_dialog (QWidget *parent, base_qobject& oct_qobj); |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
57 |
29550
8dd0fca2a3d9
where possible, use default destructors in GUI classes
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
58 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
|
59 |
27312
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
60 void save_settings (void); |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
61 |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
62 signals: |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
63 |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
64 //! 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
|
65 |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
66 void modify_path_signal (const octave_value_list& dir_list, |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
67 bool rm, bool subdirs); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
68 |
27391
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
69 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
|
70 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
|
71 |
27306
82ace1225a9c
update path dialog if path is changed from withtin the file browser
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27305
diff
changeset
|
72 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
|
73 |
82ace1225a9c
update path dialog if path is changed from withtin the file browser
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27305
diff
changeset
|
74 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
|
75 |
27312
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
76 protected: |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
77 |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
78 void closeEvent (QCloseEvent *e); |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
79 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
80 private slots: |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
81 |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
82 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
|
83 void add_dir_subdirs (void); |
27298
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 rm_dir (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_up (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_down (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_top (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 void move_dir_bottom (void); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
94 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
95 private: |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
96 |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
97 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
|
98 |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
99 base_qobject& m_octave_qobj; |
27620
45bb5bbaf291
don't use singleton pattern for resource manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27412
diff
changeset
|
100 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
101 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
|
102 QPushButton *m_reload_button; |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
103 QPushButton *m_save_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
104 QPushButton *m_close_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
105 QPushButton *m_revert_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
106 QPushButton *m_revert_last_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
107 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
108 QListView *m_path_list; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
109 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
110 QPushButton *m_add_folder_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
111 QPushButton *m_move_to_top_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
112 QPushButton *m_move_to_bottom_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
113 QPushButton *m_move_up_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
114 QPushButton *m_move_down_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
115 QPushButton *m_remove_button; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
116 }; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
117 } |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
118 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
119 #endif |