Mercurial > octave
annotate libgui/src/set-path-dialog.cc @ 27412:da1f59fe04b3
try to use consitent ordering for include files in libgui sources
Use alphabetical ordering for include files in libgui sources. Group
in blocks in teh following order:
standard header files
Qt header files
libgui header files
liboctave header files
libinterp header files
Use forward declarations for Octave classes where possible.
Files affected: color-picker.h, dialog.cc, dialog.h,
documentation-dock-widget.h, documentation.cc, dw-main-window.cc,
dw-main-window.h, external-editor-interface.cc,
external-editor-interface.h, files-dock-widget.cc,
files-dock-widget.h, find-files-dialog.cc, find-files-dialog.h,
find-files-model.h, gui-preferences-mw.h, gui-preferences.h,
history-dock-widget.cc, history-dock-widget.h, interpreter-qobject.cc,
m-editor/file-editor-interface.h, m-editor/file-editor-tab.cc,
m-editor/file-editor-tab.h, m-editor/file-editor.cc,
m-editor/file-editor.h, m-editor/marker.h,
m-editor/octave-qscintilla.cc, m-editor/octave-qscintilla.h,
main-window.cc, main-window.h, octave-dock-widget.cc,
octave-dock-widget.h, octave-qobject.cc, qt-application.cc,
qt-interpreter-events.cc, qt-interpreter-events.h,
resource-manager.cc, resource-manager.h, set-path-dialog.cc,
set-path-dialog.h, set-path-model.cc, set-path-model.h,
settings-dialog.cc, settings-dialog.h, shortcut-manager.cc,
shortcut-manager.h, tab-bar.h, terminal-dock-widget.cc,
terminal-dock-widget.h, variable-editor.cc, variable-editor.h,
welcome-wizard.cc, welcome-wizard.h, workspace-model.cc,
workspace-model.h, workspace-view.cc, and workspace-view.h.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sun, 15 Sep 2019 12:28:23 -0400 |
parents | a329a41cf341 |
children | 3fcc650de22f |
rev | line source |
---|---|
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
1 /* |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
2 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
3 Copyright (C) 2019 JunWang |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
4 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
5 This file is part of Octave. |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
6 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
7 Octave is free software: you can redistribute it and/or modify it |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
8 under the terms of the GNU General Public License as published by |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
9 the Free Software Foundation, either version 3 of the License, or |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
10 (at your option) any later version. |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
11 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
12 Octave is distributed in the hope that it will be useful, but |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
13 WITHOUT ANY WARRANTY; without even the implied warranty of |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
15 GNU General Public License for more details. |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
16 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
18 along with Octave; see the file COPYING. If not, see |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
19 <https://www.gnu.org/licenses/>. |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
20 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
21 */ |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
22 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
23 #if defined (HAVE_CONFIG_H) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
24 # include "config.h" |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
25 #endif |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
26 |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
27 #include <QCheckBox> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
28 #include <QComboBox> |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
29 #include <QDialogButtonBox> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
30 #include <QDirIterator> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
31 #include <QFileDialog> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
32 #include <QFileDialog> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
33 #include <QFileInfo> |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
34 #include <QGridLayout> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
35 #include <QGroupBox> |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
36 #include <QHBoxLayout> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
37 #include <QHeaderView> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
38 #include <QIcon> |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
39 #include <QLabel> |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
40 #include <QLineEdit> |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
41 #include <QListView> |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
42 #include <QMenu> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
43 #include <QPushButton> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
44 #include <QStatusBar> |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
45 #include <QTextStream> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
46 #include <QTimer> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
47 #include <QVBoxLayout> |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
48 |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
49 #include "gui-preferences.h" |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27391
diff
changeset
|
50 #include "resource-manager.h" |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
51 #include "set-path-dialog.h" |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
52 #include "set-path-model.h" |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
53 |
27391
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
54 #include "ovl.h" |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
55 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
56 namespace octave |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
57 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
58 set_path_dialog::set_path_dialog (QWidget *parent) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
59 : QDialog (parent) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
60 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
61 setWindowTitle (tr ("Set Path")); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
62 |
27310
3e0269067954
combine all revert actions of load path dialog in one pulldown button
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
63 set_path_model *model = new set_path_model (this); |
3e0269067954
combine all revert actions of load path dialog in one pulldown button
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
64 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
65 m_info_label = new QLabel (tr ("All changes take effect immediately.")); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
66 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
67 m_add_folder_button = new QPushButton (tr ("Add Folder...")); |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
68 |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
69 QMenu *add_dir_menu = new QMenu (); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
70 m_add_folder_button->setMenu (add_dir_menu); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
71 add_dir_menu->addAction (tr ("Single Folder"), |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
72 this, SLOT (add_dir (void))); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
73 add_dir_menu->addAction (tr ("Folder with Subfolders"), |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
74 this, SLOT (add_dir_subdirs (void))); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
75 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
76 m_move_to_top_button = new QPushButton (tr ("Move to Top")); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
77 m_move_to_bottom_button = new QPushButton (tr ("Move to Bottom")); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
78 m_move_up_button = new QPushButton (tr ("Move Up")); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
79 m_move_down_button = new QPushButton (tr ("Move Down")); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
80 m_remove_button = new QPushButton (tr ("Remove")); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
81 |
27305
d20c31be3160
add a reload button to the gui path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27298
diff
changeset
|
82 m_reload_button = new QPushButton (tr ("Reload")); |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
83 m_save_button = new QPushButton (tr ("Save")); |
27310
3e0269067954
combine all revert actions of load path dialog in one pulldown button
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
84 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
85 m_revert_button = new QPushButton (tr ("Revert")); |
27310
3e0269067954
combine all revert actions of load path dialog in one pulldown button
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
86 |
3e0269067954
combine all revert actions of load path dialog in one pulldown button
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
87 QMenu *revert_menu = new QMenu (); |
3e0269067954
combine all revert actions of load path dialog in one pulldown button
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
88 m_revert_button->setMenu (revert_menu); |
3e0269067954
combine all revert actions of load path dialog in one pulldown button
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
89 revert_menu->addAction (tr ("Revert Last Change"), |
3e0269067954
combine all revert actions of load path dialog in one pulldown button
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
90 model, SLOT (revert_last (void))); |
3e0269067954
combine all revert actions of load path dialog in one pulldown button
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
91 revert_menu->addAction (tr ("Revert All Changes"), |
3e0269067954
combine all revert actions of load path dialog in one pulldown button
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27308
diff
changeset
|
92 model, SLOT (revert (void))); |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
93 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
94 m_save_button->setFocus (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
95 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
96 connect (m_remove_button, SIGNAL (clicked (void)), |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
97 this, SLOT (rm_dir (void))); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
98 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
99 connect (m_move_to_top_button, SIGNAL (clicked (void)), |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
100 this, SLOT (move_dir_top (void))); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
101 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
102 connect (m_move_to_bottom_button, SIGNAL (clicked (void)), |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
103 this, SLOT (move_dir_bottom (void))); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
104 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
105 connect (m_move_up_button, SIGNAL (clicked (void)), |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
106 this, SLOT (move_dir_up (void))); |
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 connect (m_move_down_button, SIGNAL (clicked (void)), |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
109 this, SLOT (move_dir_down (void))); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
110 |
27305
d20c31be3160
add a reload button to the gui path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27298
diff
changeset
|
111 connect (m_reload_button, SIGNAL (clicked (void)), |
d20c31be3160
add a reload button to the gui path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27298
diff
changeset
|
112 model, SLOT (path_to_model (void))); |
d20c31be3160
add a reload button to the gui path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27298
diff
changeset
|
113 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
114 connect (m_save_button, SIGNAL (clicked (void)), |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
115 model, SLOT (save (void))); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
116 |
27391
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
117 // Any interpreter_event signal from a set_path_model object is |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
118 // handled the same as for the parent set_path_dialog object. |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
119 |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
120 connect (model, SIGNAL (interpreter_event (const fcn_callback&)), |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
121 this, SIGNAL (interpreter_event (const fcn_callback&))); |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
122 |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
123 connect (model, SIGNAL (interpreter_event (const meth_callback&)), |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
124 this, SIGNAL (interpreter_event (const meth_callback&))); |
a329a41cf341
use interpreter_event signals in set_path_dialog object
John W. Eaton <jwe@octave.org>
parents:
27312
diff
changeset
|
125 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
126 m_path_list = new QListView (this); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
127 m_path_list->setWordWrap (false); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
128 m_path_list->setModel (model); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
129 m_path_list->setSelectionBehavior (QAbstractItemView::SelectRows); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
130 m_path_list->setSelectionMode (QAbstractItemView::ExtendedSelection); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
131 m_path_list->setAlternatingRowColors (true); |
27305
d20c31be3160
add a reload button to the gui path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27298
diff
changeset
|
132 m_path_list->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
133 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
134 // layout everything |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
135 QDialogButtonBox *button_box = new QDialogButtonBox (Qt::Horizontal); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
136 button_box->addButton (m_save_button, QDialogButtonBox::ActionRole); |
27305
d20c31be3160
add a reload button to the gui path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27298
diff
changeset
|
137 button_box->addButton (m_reload_button, QDialogButtonBox::ActionRole); |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
138 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
139 // add dialog close button |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
140 m_close_button = button_box->addButton (QDialogButtonBox::Close); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
141 connect (button_box, SIGNAL (rejected (void)), this, SLOT (close (void))); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
142 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
143 button_box->addButton (m_revert_button, QDialogButtonBox::ActionRole); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
144 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
145 // path edit options |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
146 QDialogButtonBox *path_edit_layout = new QDialogButtonBox (Qt::Vertical); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
147 path_edit_layout->addButton (m_add_folder_button, QDialogButtonBox::ActionRole); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
148 path_edit_layout->addButton (m_move_to_top_button, QDialogButtonBox::ActionRole); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
149 path_edit_layout->addButton (m_move_up_button, QDialogButtonBox::ActionRole); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
150 path_edit_layout->addButton (m_move_down_button, QDialogButtonBox::ActionRole); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
151 path_edit_layout->addButton (m_move_to_bottom_button, QDialogButtonBox::ActionRole); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
152 path_edit_layout->addButton (m_remove_button, QDialogButtonBox::ActionRole); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
153 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
154 // main layout |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
155 QHBoxLayout *main_hboxlayout = new QHBoxLayout; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
156 main_hboxlayout->addWidget(path_edit_layout); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
157 main_hboxlayout->addWidget(m_path_list); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
158 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
159 QGridLayout *main_layout = new QGridLayout; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
160 main_layout->addWidget (m_info_label, 0, 0); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
161 main_layout->addLayout (main_hboxlayout, 1, 0); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
162 main_layout->addWidget (button_box,2, 0); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
163 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
164 setLayout (main_layout); |
27312
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
165 |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
166 QSettings *settings = resource_manager::get_settings (); |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
167 restoreGeometry ( |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
168 settings->value(path_dialog_geometry.key).toByteArray()); |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
169 } |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
170 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
171 set_path_dialog::~set_path_dialog (void) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
172 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
173 } |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
174 |
27306
82ace1225a9c
update path dialog if path is changed from withtin the file browser
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27305
diff
changeset
|
175 void set_path_dialog::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
|
176 { |
82ace1225a9c
update path dialog if path is changed from withtin the file browser
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27305
diff
changeset
|
177 set_path_model *m = static_cast<set_path_model *> (m_path_list->model ()); |
82ace1225a9c
update path dialog if path is changed from withtin the file browser
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27305
diff
changeset
|
178 m->path_to_model (); |
82ace1225a9c
update path dialog if path is changed from withtin the file browser
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27305
diff
changeset
|
179 } |
82ace1225a9c
update path dialog if path is changed from withtin the file browser
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27305
diff
changeset
|
180 |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
181 void set_path_dialog::add_dir_common (bool subdirs) |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
182 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
183 QString dir |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
184 = QFileDialog::getExistingDirectory (this, tr ("Open Directory"), |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
185 "", |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
186 (QFileDialog::ShowDirsOnly |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
187 | QFileDialog::DontResolveSymlinks)); |
27307
7a7709bfb5af
path dlg: do not add empty dir when dir selection dialog is canceled
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
188 |
7a7709bfb5af
path dlg: do not add empty dir when dir selection dialog is canceled
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
189 if (! dir.isEmpty ()) |
7a7709bfb5af
path dlg: do not add empty dir when dir selection dialog is canceled
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
190 { |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
191 if (subdirs) |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
192 { |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
193 // Use existing method mofifying load path and updating dialog |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
194 // instead of adding string and updating load path |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
195 octave_value_list dirlist = ovl (); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
196 dirlist.append (dir.toStdString ()); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
197 emit modify_path_signal (dirlist, false, true); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
198 } |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
199 else |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
200 { |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
201 set_path_model *m |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
202 = static_cast<set_path_model *> (m_path_list->model ()); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
203 m->add_dir (dir); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
204 } |
27307
7a7709bfb5af
path dlg: do not add empty dir when dir selection dialog is canceled
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27306
diff
changeset
|
205 } |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
206 } |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
207 |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
208 void set_path_dialog::add_dir(void) |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
209 { |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
210 add_dir_common (false); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
211 } |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
212 |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
213 void set_path_dialog::add_dir_subdirs (void) |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
214 { |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
215 add_dir_common (true); |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
216 } |
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27307
diff
changeset
|
217 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
218 void set_path_dialog::rm_dir (void) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
219 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
220 set_path_model *m = static_cast<set_path_model *> (m_path_list->model ()); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
221 QItemSelectionModel *selmodel = m_path_list->selectionModel (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
222 QModelIndexList indexlist = selmodel->selectedIndexes(); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
223 m->rm_dir (indexlist); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
224 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
225 selmodel->clearSelection (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
226 } |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
227 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
228 void set_path_dialog::move_dir_up (void) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
229 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
230 set_path_model *m = static_cast<set_path_model *> (m_path_list->model ()); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
231 QItemSelectionModel *selmodel = m_path_list->selectionModel (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
232 QModelIndexList indexlist = selmodel->selectedIndexes(); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
233 m->move_dir_up (indexlist); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
234 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
235 // Update selection and view |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
236 selmodel->clearSelection (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
237 int min_row = m->rowCount () - 1; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
238 for (int i = 0; i < indexlist.length (); i++) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
239 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
240 int new_row = std::max (indexlist.at (i).row () - 1, 0); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
241 min_row = std::min (min_row, new_row); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
242 selmodel->select (m->index (new_row), QItemSelectionModel::Select); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
243 } |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
244 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
245 m_path_list->scrollTo (m->index (min_row)); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
246 } |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
247 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
248 void set_path_dialog::move_dir_down (void) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
249 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
250 set_path_model *m = static_cast<set_path_model *> (m_path_list->model ()); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
251 QItemSelectionModel *selmodel = m_path_list->selectionModel (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
252 QModelIndexList indexlist = selmodel->selectedIndexes(); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
253 m->move_dir_down (indexlist); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
254 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
255 // Update selection and view |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
256 selmodel->clearSelection (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
257 int max_row = 0; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
258 for (int i = 0; i < indexlist.length (); i++) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
259 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
260 int new_row = std::min (indexlist.at (i).row () + 1, m->rowCount () - 1); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
261 max_row = std::max (max_row, new_row); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
262 selmodel->select (m->index (new_row), QItemSelectionModel::Select); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
263 } |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
264 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
265 m_path_list->scrollTo (m->index (max_row)); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
266 } |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
267 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
268 void set_path_dialog::move_dir_top (void) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
269 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
270 set_path_model *m = static_cast<set_path_model *> (m_path_list->model ()); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
271 QItemSelectionModel *selmodel = m_path_list->selectionModel (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
272 QModelIndexList indexlist = selmodel->selectedIndexes(); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
273 m->move_dir_top (indexlist); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
274 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
275 // Update selection and view |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
276 selmodel->clearSelection (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
277 for (int i = 0; i < indexlist.length (); i++) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
278 selmodel->select (m->index (i), QItemSelectionModel::Select); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
279 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
280 m_path_list->scrollTo (m->index (0)); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
281 } |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
282 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
283 void set_path_dialog::move_dir_bottom (void) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
284 { |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
285 set_path_model *m = static_cast<set_path_model *> (m_path_list->model ()); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
286 QItemSelectionModel *selmodel = m_path_list->selectionModel (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
287 QModelIndexList indexlist = selmodel->selectedIndexes(); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
288 m->move_dir_bottom (indexlist); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
289 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
290 // Update selection and view |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
291 selmodel->clearSelection (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
292 int row_count = m->rowCount (); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
293 for (int i = 0; i < indexlist.length (); i++) |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
294 selmodel->select (m->index (row_count - 1 - i), |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
295 QItemSelectionModel::Select); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
296 |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
297 m_path_list->scrollTo (m->index (row_count - 1)); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
298 } |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
299 |
27312
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
300 void set_path_dialog::save_settings () |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
301 { |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
302 QSettings *settings = resource_manager::get_settings (); |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
303 settings->setValue (path_dialog_geometry.key, saveGeometry ()); |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
304 } |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
305 |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
306 void set_path_dialog::closeEvent (QCloseEvent *e) |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
307 { |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
308 save_settings (); |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
309 |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
310 QWidget::closeEvent (e); |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
311 } |
b9a436b0400e
save and restore last geometry of load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27310
diff
changeset
|
312 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
diff
changeset
|
313 } |