Mercurial > octave
annotate libgui/src/m-editor/file-editor.cc @ 29199:0b18887bc997
simplify initialization of gui dock widgets
* file-editor.cc (handle_visibility): call common part of this slot
instead of repeating its contents here
* main-window.cc (main_window): do not connect visibility changed
signal from dock widgets since this is done in the dock widget
constructors; instead emit new signal for initialization of the
window menu and setup editor shortcuts
(connect_visibility_changed): removed obsolete method
* main-window.h: new signal init_window_menu, removed method
connect_visibility_changed
* octave-dock-widget.cc (octave_dock_widget): rename slot for
visibilityChanged signal, connect new slot for initialization of
the window menu
(connect_visibility_changed): remove obsolete method;
(init_window_menu_entry): new slot for dis/enabling related menu
window entry;
(handle_visibility): combine contents from former two slots
* octave-dock-widget.h: removed slot connect_visibility_changed,
new signal init_window_menu_entry, removed slot
handle_visibility_changed
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Sat, 19 Dec 2020 10:49:43 +0100 |
parents | 1ac5a76ae91d |
children | 7854d5752dd2 |
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 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
3 // Copyright (C) 2011-2020 The Octave Project Developers |
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 //////////////////////////////////////////////////////////////////////// |
13501 | 25 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21650
diff
changeset
|
26 #if defined (HAVE_CONFIG_H) |
21301
40de9f8f23a6
Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents:
21203
diff
changeset
|
27 # include "config.h" |
15286
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15204
diff
changeset
|
28 #endif |
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15204
diff
changeset
|
29 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21650
diff
changeset
|
30 #if defined (HAVE_QSCINTILLA) |
15873
7d300b85ee25
allow build to proceed if either Qt or QScintilla is missing
John W. Eaton <jwe@octave.org>
parents:
15861
diff
changeset
|
31 |
28836
d0a64e67749e
avoid deprecated qSort function
John W. Eaton <jwe@octave.org>
parents:
28382
diff
changeset
|
32 #include <algorithm> |
d0a64e67749e
avoid deprecated qSort function
John W. Eaton <jwe@octave.org>
parents:
28382
diff
changeset
|
33 |
13501 | 34 #include <QApplication> |
35 #include <QFile> | |
22250
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22179
diff
changeset
|
36 #include <QFileDialog> |
13584 | 37 #include <QFont> |
13501 | 38 #include <QMessageBox> |
22250
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22179
diff
changeset
|
39 #include <QMimeData> |
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22179
diff
changeset
|
40 #include <QProcess> |
25042
ba5af45bbfc4
documentation widget based on qt help engine (bug #53006)
Torsten <mttl@mailbox.org>
parents:
24731
diff
changeset
|
41 #include <QPushButton> |
13501 | 42 #include <QStyle> |
22250
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22179
diff
changeset
|
43 #include <QTabBar> |
13501 | 44 #include <QTextStream> |
22250
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22179
diff
changeset
|
45 #include <QVBoxLayout> |
18656
1b289f45187f
add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents:
18651
diff
changeset
|
46 #include <Qsci/qscicommandset.h> |
13501 | 47 |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27404
diff
changeset
|
48 #include "file-editor.h" |
27560
3fcc650de22f
split gui-preferences.h into one file per widget
John W. Eaton <jwe@octave.org>
parents:
27556
diff
changeset
|
49 #include "gui-preferences-ed.h" |
27818
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
50 #include "gui-preferences-sc.h" |
27560
3fcc650de22f
split gui-preferences.h into one file per widget
John W. Eaton <jwe@octave.org>
parents:
27556
diff
changeset
|
51 #include "gui-preferences-global.h" |
23479
06bf3a0b08bf
maint: Use "" instead of <> for our own include files.
John W. Eaton <jwe@octave.org>
parents:
23457
diff
changeset
|
52 #include "main-window.h" |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
53 #include "octave-qobject.h" |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27404
diff
changeset
|
54 #include "shortcut-manager.h" |
15848
424edeca3c66
Redo portions of file editor to use more signals/slots rather than casting.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
15552
diff
changeset
|
55 |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
56 #include "oct-env.h" |
27404
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
57 |
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
58 #include "event-manager.h" |
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
59 #include "interpreter.h" |
23479
06bf3a0b08bf
maint: Use "" instead of <> for our own include files.
John W. Eaton <jwe@octave.org>
parents:
23457
diff
changeset
|
60 #include "oct-map.h" |
27404
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
61 #include "pt-eval.h" |
16546
c1e90c7cfd30
try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents:
16525
diff
changeset
|
62 #include "utils.h" |
15848
424edeca3c66
Redo portions of file editor to use more signals/slots rather than casting.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
15552
diff
changeset
|
63 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
64 namespace octave |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
65 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
66 // Functions of the the reimplemented tab widget |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
67 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
68 file_editor_tab_widget::file_editor_tab_widget (QWidget *p) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
69 : QTabWidget (p) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
70 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
71 tab_bar *bar = new tab_bar (this); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
72 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
73 connect (bar, SIGNAL (close_current_tab_signal (bool)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
74 p->parent (), SLOT (request_close_file (bool))); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
75 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
76 this->setTabBar (bar); |
24713 | 77 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
78 setTabsClosable (true); |
27054
1e70f1fe7c0e
always use scroll buttons in case of too many tabs (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27053
diff
changeset
|
79 setUsesScrollButtons (true); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
80 setMovable (true); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
81 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
82 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
83 tab_bar * file_editor_tab_widget::get_tab_bar (void) const |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
84 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
85 return qobject_cast<tab_bar *> (tabBar ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
86 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
87 |
27633
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
88 std::list<file_editor_tab *> |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
89 file_editor_tab_widget::tab_list (void) const |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
90 { |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
91 std::list<file_editor_tab *> retval; |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
92 for (int i = 0; i < count (); i++) |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
93 retval.push_back (static_cast<file_editor_tab *> (widget (i))); |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
94 return retval; |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
95 } |
24713 | 96 |
28382
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
97 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
98 // File editor |
24713 | 99 |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
100 file_editor::file_editor (QWidget *p, base_qobject& oct_qobj) |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
101 : file_editor_interface (p, oct_qobj) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
102 { |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
103 // Set current editing directory before construction because loaded |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
104 // files will change ced accordingly. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
105 m_ced = QDir::currentPath (); |
15848
424edeca3c66
Redo portions of file editor to use more signals/slots rather than casting.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
15552
diff
changeset
|
106 |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
107 // Set actions that are later added by the main window to null, |
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
108 // preventing access to them when they are still undefined. |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
109 m_undo_action = nullptr; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
110 m_copy_action = nullptr; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
111 m_paste_action = nullptr; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
112 m_selectall_action = nullptr; |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
113 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
114 m_find_dialog = nullptr; |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
115 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
116 m_closed = false; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
117 m_no_focus = false; |
20986
00835323fb44
prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents:
20955
diff
changeset
|
118 |
27075
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
119 m_copy_action_enabled = false; |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
120 m_undo_action_enabled = false; |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
121 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
122 construct (); |
22169
b3ced5e3cebb
Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents:
22022
diff
changeset
|
123 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
124 setVisible (false); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
125 setAcceptDrops (true); |
28382
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
126 setFocusPolicy (Qt::StrongFocus); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
127 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
128 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
129 file_editor::~file_editor (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
130 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
131 delete m_mru_file_menu; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
132 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
133 |
28382
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
134 void file_editor::focusInEvent (QFocusEvent *e) |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
135 { |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
136 // The focus is transferred to the active tab and its edit |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
137 // area in this focus in event handler. This is to avoid |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
138 // using focus proxies with conflicts in the proxy change |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
139 // presumably introduced by bug |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
140 // https://bugreports.qt.io/browse/QTBUG-61092 |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
141 reset_focus (); // Make sure editor tab with edit area get focus |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
142 |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
143 QDockWidget::focusInEvent (e); |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
144 } |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
145 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
146 // insert global actions, that should also be displayed in the editor window, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
147 // into the editor's menu and/or toolbar |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
148 void file_editor::insert_global_actions (QList<QAction*> shared_actions) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
149 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
150 // actions/menus that have to be added to the toolbar or the menu |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
151 QAction *open_action = shared_actions.at (OPEN_ACTION); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
152 QAction *new_action = shared_actions.at (NEW_SCRIPT_ACTION); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
153 QAction *new_fcn_action = shared_actions.at (NEW_FUNCTION_ACTION); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
154 m_fileMenu->insertAction (m_mru_file_menu->menuAction (), open_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
155 m_fileMenu->insertAction (open_action, new_fcn_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
156 m_fileMenu->insertAction (new_fcn_action, new_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
157 m_tool_bar->insertAction (m_popdown_mru_action, open_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
158 m_tool_bar->insertAction (open_action, new_action); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
159 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
160 // actions that are additionally enabled/disabled later by the editor |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
161 // undo |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
162 m_undo_action = shared_actions.at (UNDO_ACTION); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
163 m_tool_bar->insertAction (m_redo_action,m_undo_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
164 m_edit_menu->insertAction (m_redo_action,m_undo_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
165 // select all |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
166 m_selectall_action = shared_actions.at (SELECTALL_ACTION); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
167 m_edit_menu->insertAction (m_find_action,m_selectall_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
168 m_edit_menu->insertSeparator (m_find_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
169 // paste |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
170 m_paste_action = shared_actions.at (PASTE_ACTION); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
171 m_tool_bar->insertAction (m_find_action,m_paste_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
172 m_edit_menu->insertAction (m_selectall_action,m_paste_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
173 m_edit_menu->insertSeparator (m_selectall_action); |
27074
d302dfa0c572
fix order of cut, copy paste actions in editor menu and toolbar (bug #56230)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27055
diff
changeset
|
174 // copy |
d302dfa0c572
fix order of cut, copy paste actions in editor menu and toolbar (bug #56230)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27055
diff
changeset
|
175 m_copy_action = shared_actions.at (COPY_ACTION); |
d302dfa0c572
fix order of cut, copy paste actions in editor menu and toolbar (bug #56230)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27055
diff
changeset
|
176 m_tool_bar->insertAction (m_paste_action,m_copy_action); |
d302dfa0c572
fix order of cut, copy paste actions in editor menu and toolbar (bug #56230)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27055
diff
changeset
|
177 m_edit_menu->insertAction (m_paste_action,m_copy_action); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
178 // find files |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
179 m_find_files_action = shared_actions.at (FIND_FILES_ACTION); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
180 m_edit_menu->insertAction (m_find_action, m_find_files_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
181 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
182 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
183 void file_editor::handle_enter_debug_mode (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
184 { |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
185 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
186 gui_settings *settings = rmgr.get_settings (); |
27818
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
187 QString sc_run = settings->sc_value (sc_edit_run_run_file); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
188 QString sc_cont = settings->sc_value (sc_main_debug_continue); |
26875
ce972086bfd6
save & run action in editor now also continues in debug mode (bug #44730)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26873
diff
changeset
|
189 |
ce972086bfd6
save & run action in editor now also continues in debug mode (bug #44730)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26873
diff
changeset
|
190 if (sc_run == sc_cont) |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
191 m_run_action->setShortcut (QKeySequence ()); // prevent ambiguous shortcuts |
26875
ce972086bfd6
save & run action in editor now also continues in debug mode (bug #44730)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26873
diff
changeset
|
192 |
ce972086bfd6
save & run action in editor now also continues in debug mode (bug #44730)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26873
diff
changeset
|
193 m_run_action->setToolTip (tr ("Continue")); // update tool tip |
28798
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28788
diff
changeset
|
194 |
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28788
diff
changeset
|
195 emit enter_debug_mode_signal (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
196 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
197 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
198 void file_editor::handle_exit_debug_mode (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
199 { |
27630
262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27629
diff
changeset
|
200 shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); |
27818
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
201 scmgr.set_shortcut (m_run_action, sc_edit_run_run_file); |
26875
ce972086bfd6
save & run action in editor now also continues in debug mode (bug #44730)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26873
diff
changeset
|
202 m_run_action->setToolTip (tr ("Save File and Run")); // update tool tip |
28798
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28788
diff
changeset
|
203 |
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28788
diff
changeset
|
204 emit exit_debug_mode_signal (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
205 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
206 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
207 void file_editor::check_actions (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
208 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
209 bool have_tabs = m_tab_widget->count () > 0; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
210 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
211 m_edit_cmd_menu->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
212 m_edit_fmt_menu->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
213 m_edit_nav_menu->setEnabled (have_tabs); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
214 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
215 m_comment_selection_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
216 m_uncomment_selection_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
217 m_comment_var_selection_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
218 m_indent_selection_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
219 m_unindent_selection_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
220 m_smart_indent_line_or_selection_action->setEnabled (have_tabs); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
221 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
222 m_context_help_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
223 m_context_doc_action->setEnabled (have_tabs); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
224 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
225 m_view_editor_menu->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
226 m_zoom_in_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
227 m_zoom_out_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
228 m_zoom_normal_action->setEnabled (have_tabs); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
229 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
230 m_find_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
231 m_find_next_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
232 m_find_previous_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
233 m_print_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
234 m_run_action->setEnabled (have_tabs); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
235 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
236 m_edit_function_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
237 m_save_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
238 m_save_as_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
239 m_close_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
240 m_close_all_action->setEnabled (have_tabs); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
241 m_close_others_action->setEnabled (have_tabs && m_tab_widget->count () > 1); |
27330
e449134870fb
allow to sort editor tabs alphabetically (bug #42602)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27302
diff
changeset
|
242 m_sort_tabs_action->setEnabled (have_tabs && m_tab_widget->count () > 1); |
26873
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26561
diff
changeset
|
243 |
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26561
diff
changeset
|
244 emit editor_tabs_changed_signal (have_tabs); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
245 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
246 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
247 // empty_script determines whether we have to create an empty script |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
248 // 1. At startup, when the editor has to be (really) visible |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
249 // (Here we can not use the visibility changed signal) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
250 // 2. When the editor becomes visible when octave is running |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
251 void file_editor::empty_script (bool startup, bool visible) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
252 { |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
253 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
254 gui_settings *settings = rmgr.get_settings (); |
27805
dccc551aa83b
replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
255 if (settings->value (global_use_custom_editor.key, |
dccc551aa83b
replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
256 global_use_custom_editor.def).toBool ()) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
257 return; // do not open an empty script in the external editor |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
258 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
259 bool real_visible; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
260 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
261 if (startup) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
262 real_visible = isVisible (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
263 else |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
264 real_visible = visible; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
265 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
266 if (! real_visible || m_tab_widget->count () > 0) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
267 return; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
268 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
269 if (startup && ! isFloating ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
270 { |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
271 // check if editor is really visible or hidden between tabbed widgets |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
272 QList<QTabBar *> tab_list = main_win ()->findChildren<QTabBar *>(); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
273 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
274 bool in_tab = false; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
275 int i = 0; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
276 while ((i < tab_list.count ()) && (! in_tab)) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
277 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
278 QTabBar *tab = tab_list.at (i); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
279 i++; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
280 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
281 int j = 0; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
282 while ((j < tab->count ()) && (! in_tab)) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
283 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
284 // check all tabs for the editor |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
285 if (tab->tabText (j) == windowTitle ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
286 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
287 // editor is in this tab widget |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
288 in_tab = true; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
289 int top = tab->currentIndex (); |
26554
8d2e8d5d617d
fixed dead assignments in libgui (bug #55440)
Torsten <mttl@mailbox.org>
parents:
26524
diff
changeset
|
290 if (! (top > -1 && tab->tabText (top) == windowTitle ())) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
291 return; // not current tab -> not visible |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
292 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
293 j++; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
294 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
295 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
296 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
297 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
298 request_new_file (""); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
299 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
300 |
27611
0495b64288f7
use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents:
27605
diff
changeset
|
301 void file_editor::restore_session (gui_settings *settings) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
302 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
303 //restore previous session |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
304 if (! settings->value (ed_restore_session).toBool ()) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
305 return; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
306 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
307 // get the data from the settings file |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
308 QStringList sessionFileNames |
27672
a36443e94f8a
simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents:
27651
diff
changeset
|
309 = settings->value (ed_session_names).toStringList (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
310 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
311 QStringList session_encodings |
27672
a36443e94f8a
simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents:
27651
diff
changeset
|
312 = settings->value (ed_session_enc).toStringList (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
313 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
314 QStringList session_index |
27672
a36443e94f8a
simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents:
27651
diff
changeset
|
315 = settings->value (ed_session_ind).toStringList (); |
25748
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
316 |
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
317 QStringList session_lines |
27672
a36443e94f8a
simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents:
27651
diff
changeset
|
318 = settings->value (ed_session_lines).toStringList (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
319 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
320 // fill a list of the struct and sort it (depending on index) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
321 QList<session_data> s_data; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
322 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
323 bool do_encoding = (session_encodings.count () == sessionFileNames.count ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
324 bool do_index = (session_index.count () == sessionFileNames.count ()); |
25748
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
325 bool do_lines = (session_lines.count () == sessionFileNames.count ()); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
326 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
327 for (int n = 0; n < sessionFileNames.count (); ++n) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
328 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
329 QFileInfo file = QFileInfo (sessionFileNames.at (n)); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
330 if (! file.exists ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
331 continue; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
332 |
25748
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
333 session_data item = { 0, -1, sessionFileNames.at (n), |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
334 QString (), QString ()}; |
25748
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
335 if (do_lines) |
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
336 item.line = session_lines.at (n).toInt (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
337 if (do_index) |
25293
ae0518976e2b
open files in correct order when restoring editor session (bug #53711)
Torsten <mttl@mailbox.org>
parents:
25274
diff
changeset
|
338 item.index = session_index.at (n).toInt (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
339 if (do_encoding) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
340 item.encoding = session_encodings.at (n); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
341 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
342 s_data << item; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
343 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
344 |
28836
d0a64e67749e
avoid deprecated qSort function
John W. Eaton <jwe@octave.org>
parents:
28382
diff
changeset
|
345 std::sort (s_data.begin (), s_data.end ()); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
346 |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
347 // finally open the files with the desired encoding in the desired order |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
348 for (int n = 0; n < s_data.count (); ++n) |
25748
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
349 request_open_file (s_data.at (n).file_name, s_data.at (n).encoding, |
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
350 s_data.at (n).line); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
351 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
352 |
27281
0915fec3d3a9
prevent gui from catching focus when its desktop workspace becomes active
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27277
diff
changeset
|
353 void file_editor::activate (void) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
354 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
355 if (m_no_focus) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
356 return; // No focus for the editor if external open/close request |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
357 |
27281
0915fec3d3a9
prevent gui from catching focus when its desktop workspace becomes active
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27277
diff
changeset
|
358 octave_dock_widget::activate (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
359 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
360 // set focus to current tab |
28382
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
361 reset_focus (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
362 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
363 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
364 void file_editor::set_focus (QWidget *fet) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
365 { |
27281
0915fec3d3a9
prevent gui from catching focus when its desktop workspace becomes active
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27277
diff
changeset
|
366 setFocus (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
367 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
368 // set focus to desired tab |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
369 if (fet) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
370 m_tab_widget->setCurrentWidget (fet); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
371 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
372 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
373 // function enabling/disabling the menu accelerators depending on the |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
374 // focus of the editor |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
375 void file_editor::enable_menu_shortcuts (bool enable) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
376 { |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
377 // Hide or show the find dialog together with the focus of the |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
378 // editor widget depending on the overall visibility of the find dialog. |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
379 // Do not change internal visibility state. |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
380 if (m_find_dialog) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
381 m_find_dialog->set_visible (enable); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
382 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
383 // Take care of the shortcuts |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
384 QHash<QMenu*, QStringList>::const_iterator i = m_hash_menu_text.constBegin (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
385 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
386 while (i != m_hash_menu_text.constEnd ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
387 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
388 i.key ()->setTitle (i.value ().at (! enable)); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
389 ++i; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
390 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
391 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
392 // when editor loses focus, enable the actions, which are always active |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
393 // in the main window due to missing info on selected text and undo actions |
27075
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
394 if (m_copy_action && m_undo_action) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
395 { |
27075
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
396 if (enable) |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
397 { |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
398 m_copy_action->setEnabled (m_copy_action_enabled); |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
399 m_undo_action->setEnabled (m_undo_action_enabled); |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
400 } |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
401 else |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
402 { |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
403 m_copy_action_enabled = m_copy_action->isEnabled (); |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
404 m_undo_action_enabled = m_undo_action->isEnabled (); |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
405 m_copy_action->setEnabled (true); |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
406 m_undo_action->setEnabled (true); |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
407 } |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
408 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
409 } |
19411
ed0df431631b
allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents:
19314
diff
changeset
|
410 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
411 bool file_editor::check_closing (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
412 { |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
413 // When the application or the editor is closing and the user wants to |
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
414 // close all files, in the latter case all editor tabs are checked whether |
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
415 // they need to be saved. During these checks tabs are not closed since |
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
416 // the user might cancel closing Octave during one of these saving dialogs. |
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
417 // Therefore, saving the session for restoring at next start is not done |
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
418 // before the application is definitely closing. |
27633
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
419 |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
420 std::list<file_editor_tab *> fe_tab_lst = m_tab_widget->tab_list (); |
27651
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
421 m_number_of_tabs = fe_tab_lst.size (); |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
422 |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
423 for (auto fe_tab : fe_tab_lst) |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
424 { |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
425 // Wait for all editor tabs to have saved their files if required |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
426 |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
427 connect (fe_tab, SIGNAL (tab_ready_to_close (void)), |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
428 this, SLOT (handle_tab_ready_to_close (void)), |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
429 Qt::UniqueConnection); |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
430 } |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
431 |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
432 m_closing_canceled = false; |
27633
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
433 |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
434 for (auto fe_tab : fe_tab_lst) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
435 { |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
436 // If there was a cancellation, make the already saved/discarded tabs |
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
437 // recover from the exit by removing the read-only state and by |
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
438 // recovering the debugger breakpoints. Finally return false in order |
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
439 // to cancel closing the application or the editor. |
27633
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
440 |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
441 if (fe_tab->check_file_modified (false) == QMessageBox::Cancel) |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
442 { |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
443 emit fetab_recover_from_exit (); |
27651
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
444 |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
445 m_closing_canceled = true; |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
446 |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
447 for (auto fet : fe_tab_lst) |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
448 disconnect (fet, SIGNAL (tab_ready_to_close (void)), 0, 0 ); |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
449 |
27633
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
450 return false; |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27630
diff
changeset
|
451 } |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
452 } |
21054
221847e5f488
fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents:
21002
diff
changeset
|
453 |
27605
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27560
diff
changeset
|
454 return true; |
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27560
diff
changeset
|
455 } |
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27560
diff
changeset
|
456 |
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27560
diff
changeset
|
457 void file_editor::handle_tab_ready_to_close (void) |
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27560
diff
changeset
|
458 { |
27651
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
459 if (m_closing_canceled) |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
460 return; |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
461 |
27605
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27560
diff
changeset
|
462 m_number_of_tabs--; |
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27560
diff
changeset
|
463 |
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27560
diff
changeset
|
464 if (m_number_of_tabs > 0) |
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27560
diff
changeset
|
465 return; |
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27560
diff
changeset
|
466 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
467 // Here, the application or the editor will be closed -> store the session |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
468 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
469 // Save open files for restoring in next session; this only is possible |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
470 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
471 gui_settings *settings = rmgr.get_settings (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
472 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
473 // save filenames (even if last session will not be restored next time) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
474 // together with encoding and the tab index |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
475 QStringList fetFileNames; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
476 QStringList fet_encodings; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
477 QStringList fet_index; |
25748
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
478 QStringList fet_lines; |
20796
ed770c16a3e8
also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents:
20793
diff
changeset
|
479 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
480 // save all open tabs before they are definitely closed |
27636
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
481 |
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
482 std::list<file_editor_tab *> editor_tab_lst = m_tab_widget->tab_list (); |
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
483 |
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
484 for (auto editor_tab : editor_tab_lst) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
485 { |
27636
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
486 QString file_name = editor_tab->file_name (); |
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
487 |
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
488 // Don't append unnamed files. |
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
489 |
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
490 if (! file_name.isEmpty ()) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
491 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
492 fetFileNames.append (file_name); |
27636
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
493 fet_encodings.append (editor_tab->encoding ()); |
25748
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
494 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
495 QString index; |
27636
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
496 fet_index.append (index.setNum (m_tab_widget->indexOf (editor_tab))); |
25748
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
497 |
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
498 int l, c; |
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
499 editor_tab->qsci_edit_area ()->getCursorPosition (&l, &c); |
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
500 fet_lines.append (index.setNum (l + 1)); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
501 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
502 } |
15993
41471c02d51c
gui: show menu with recently used editor files also in file menu of main window
Torsten <ttl@justmail.de>
parents:
15984
diff
changeset
|
503 |
25748
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
504 settings->setValue (ed_session_names.key, fetFileNames); |
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
505 settings->setValue (ed_session_enc.key, fet_encodings); |
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
506 settings->setValue (ed_session_ind.key, fet_index); |
f3aa4a90b91f
also restore cursor line numbers when restoring previous editor session_data
Torsten <mttl@mailbox.org>
parents:
25743
diff
changeset
|
507 settings->setValue (ed_session_lines.key, fet_lines); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
508 settings->sync (); |
13524
8c143d6d0330
gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents:
13506
diff
changeset
|
509 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
510 // Take care of the find dialog |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
511 if (m_find_dialog) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
512 m_find_dialog->close (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
513 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
514 // Finally close all the tabs and return indication that we can exit |
25357
7aeafec2b102
keep editor hidden at next startup when it was hidden (bug #53830)
Torsten <mttl@mailbox.org>
parents:
25354
diff
changeset
|
515 // the application or close the editor. |
27929
265b386f8b20
maint: Use two spaces between sentences in code comments.
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
516 // Closing and deleting the tabs makes the editor visible. In case it was |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
517 // hidden before, this state has to be restored afterwards. |
25357
7aeafec2b102
keep editor hidden at next startup when it was hidden (bug #53830)
Torsten <mttl@mailbox.org>
parents:
25354
diff
changeset
|
518 bool vis = isVisible (); |
7aeafec2b102
keep editor hidden at next startup when it was hidden (bug #53830)
Torsten <mttl@mailbox.org>
parents:
25354
diff
changeset
|
519 |
27636
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
520 for (auto editor_tab : editor_tab_lst) |
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
521 delete editor_tab; |
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
522 |
dc319e1ea4a3
simplify loop over tabs in file_editor::handle_tab_ready_to_close
John W. Eaton <jwe@octave.org>
parents:
27635
diff
changeset
|
523 m_tab_widget->clear (); |
17903
de8591a19bc6
check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents:
17901
diff
changeset
|
524 |
25357
7aeafec2b102
keep editor hidden at next startup when it was hidden (bug #53830)
Torsten <mttl@mailbox.org>
parents:
25354
diff
changeset
|
525 setVisible (vis); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
526 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
527 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
528 void file_editor::request_new_file (const QString& commands) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
529 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
530 // Custom editor? If yes, we can only call the editor without passing |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
531 // some initial contents and even without being sure a new file is opened |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
532 if (call_custom_editor ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
533 return; |
15848
424edeca3c66
Redo portions of file editor to use more signals/slots rather than casting.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
15552
diff
changeset
|
534 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
535 // New file isn't a file_editor_tab function since the file |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
536 // editor tab has yet to be created and there is no object to |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
537 // pass a signal to. Hence, functionality is here. |
14676
35512b788af2
Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14674
diff
changeset
|
538 |
27400
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
539 file_editor_tab *fileEditorTab = make_file_editor_tab (m_ced); |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
540 add_file_editor_tab (fileEditorTab, ""); // new tab with empty title |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
541 fileEditorTab->new_file (commands); // title is updated here |
27281
0915fec3d3a9
prevent gui from catching focus when its desktop workspace becomes active
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27277
diff
changeset
|
542 activate (); // focus editor and new tab |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
543 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
544 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
545 void file_editor::request_close_file (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
546 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
547 file_editor_tab *editor_tab |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
548 = static_cast<file_editor_tab *> (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
549 editor_tab->conditional_close (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
550 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
551 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
552 void file_editor::request_close_all_files (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
553 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
554 file_editor_tab *editor_tab; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
555 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
556 // loop over all tabs starting from last one otherwise deletion changes index |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
557 for (int index = m_tab_widget->count ()-1; index >= 0; index--) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
558 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
559 editor_tab = static_cast<file_editor_tab *> (m_tab_widget->widget (index)); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
560 editor_tab->conditional_close (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
561 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
562 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
563 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
564 void file_editor::request_close_other_files (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
565 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
566 file_editor_tab *editor_tab; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
567 QWidget *tabID = m_tab_widget->currentWidget (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
568 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
569 // loop over all tabs starting from last one otherwise deletion changes index |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
570 for (int index = m_tab_widget->count ()-1; index >= 0; index--) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
571 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
572 if (tabID != m_tab_widget->widget (index)) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
573 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
574 editor_tab |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
575 = static_cast<file_editor_tab *> (m_tab_widget->widget (index)); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
576 editor_tab->conditional_close (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
577 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
578 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
579 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
580 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
581 // open a file from the mru list |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
582 void file_editor::request_mru_open_file (QAction *action) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
583 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
584 if (action) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
585 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
586 request_open_file (action->data ().toStringList ().at (0), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
587 action->data ().toStringList ().at (1)); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
588 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
589 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
590 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
591 void file_editor::request_print_file (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
592 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
593 emit fetab_print_file (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
594 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
595 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
596 void file_editor::request_redo (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
597 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
598 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
599 QsciScintillaBase::SCI_REDO); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
600 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
601 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
602 void file_editor::request_cut (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
603 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
604 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
605 QsciScintillaBase::SCI_CUT); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
606 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
607 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
608 void file_editor::request_context_help (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
609 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
610 emit fetab_context_help (m_tab_widget->currentWidget (), false); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
611 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
612 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
613 void file_editor::request_context_doc (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
614 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
615 emit fetab_context_help (m_tab_widget->currentWidget (), true); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
616 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
617 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
618 void file_editor::request_context_edit (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
619 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
620 emit fetab_context_edit (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
621 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
622 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
623 void file_editor::request_save_file (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
624 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
625 emit fetab_save_file (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
626 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
627 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
628 void file_editor::request_save_file_as (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
629 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
630 emit fetab_save_file_as (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
631 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
632 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
633 void file_editor::request_run_file (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
634 { |
27404
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
635 emit interpreter_event |
28851
1ac5a76ae91d
use [=] capture default specification where possible
John W. Eaton <jwe@octave.org>
parents:
28847
diff
changeset
|
636 ([=] (interpreter& interp) |
27404
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
637 { |
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
638 // INTERPRETER THREAD |
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
639 |
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
640 tree_evaluator& tw = interp.get_evaluator (); |
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
641 |
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
642 if (tw.in_debug_repl ()) |
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
643 emit request_dbcont_signal (); |
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
644 else |
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
645 emit fetab_run_file (m_tab_widget->currentWidget ()); |
a3ec8c75ece3
avoid possible threading issue when running file from GUI editor
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
646 }); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
647 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
648 |
26873
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26561
diff
changeset
|
649 void file_editor::request_step_into_file () |
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26561
diff
changeset
|
650 { |
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26561
diff
changeset
|
651 emit fetab_run_file (m_tab_widget->currentWidget (), true); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
652 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
653 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
654 void file_editor::request_context_run (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
655 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
656 emit fetab_context_run (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
657 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
658 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
659 void file_editor::request_toggle_bookmark (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
660 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
661 emit fetab_toggle_bookmark (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
662 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
663 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
664 void file_editor::request_next_bookmark (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
665 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
666 emit fetab_next_bookmark (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
667 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
668 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
669 void file_editor::request_previous_bookmark (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
670 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
671 emit fetab_previous_bookmark (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
672 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
673 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
674 void file_editor::request_remove_bookmark (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
675 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
676 emit fetab_remove_bookmark (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
677 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
678 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
679 void file_editor::request_move_match_brace (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
680 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
681 emit fetab_move_match_brace (m_tab_widget->currentWidget (), false); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
682 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
683 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
684 void file_editor::request_sel_match_brace (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
685 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
686 emit fetab_move_match_brace (m_tab_widget->currentWidget (), true); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
687 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
688 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
689 // FIXME: What should this do with conditional breakpoints? |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
690 void file_editor::request_toggle_breakpoint (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
691 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
692 emit fetab_toggle_breakpoint (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
693 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
694 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
695 void file_editor::request_next_breakpoint (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
696 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
697 emit fetab_next_breakpoint (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
698 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
699 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
700 void file_editor::request_previous_breakpoint (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
701 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
702 emit fetab_previous_breakpoint (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
703 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
704 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
705 void file_editor::request_remove_breakpoint (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
706 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
707 emit fetab_remove_all_breakpoints (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
708 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
709 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
710 // slots for Edit->Commands actions |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
711 void file_editor::request_delete_start_word (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
712 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
713 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
714 QsciScintillaBase::SCI_DELWORDLEFT); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
715 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
716 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
717 void file_editor::request_delete_end_word (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
718 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
719 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
720 QsciScintillaBase::SCI_DELWORDRIGHT); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
721 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
722 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
723 void file_editor::request_delete_start_line (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
724 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
725 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
726 QsciScintillaBase::SCI_DELLINELEFT); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
727 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
728 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
729 void file_editor::request_delete_end_line (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
730 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
731 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
732 QsciScintillaBase::SCI_DELLINERIGHT); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
733 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
734 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
735 void file_editor::request_delete_line (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
736 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
737 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
738 QsciScintillaBase::SCI_LINEDELETE); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
739 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
740 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
741 void file_editor::request_copy_line (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
742 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
743 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
744 QsciScintillaBase::SCI_LINECOPY); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
745 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
746 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
747 void file_editor::request_cut_line (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
748 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
749 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
750 QsciScintillaBase::SCI_LINECUT); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
751 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
752 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
753 void file_editor::request_duplicate_selection (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
754 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
755 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
756 QsciScintillaBase::SCI_SELECTIONDUPLICATE); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
757 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
758 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
759 void file_editor::request_transpose_line (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
760 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
761 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
762 QsciScintillaBase::SCI_LINETRANSPOSE); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
763 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
764 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
765 void file_editor::request_comment_selected_text (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
766 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
767 emit fetab_comment_selected_text (m_tab_widget->currentWidget (), false); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
768 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
769 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
770 void file_editor::request_uncomment_selected_text (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
771 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
772 emit fetab_uncomment_selected_text (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
773 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
774 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
775 void file_editor::request_comment_var_selected_text (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
776 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
777 emit fetab_comment_selected_text (m_tab_widget->currentWidget (), true); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
778 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
779 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
780 // slots for Edit->Format actions |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
781 void file_editor::request_upper_case (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
782 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
783 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
784 QsciScintillaBase::SCI_UPPERCASE); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
785 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
786 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
787 void file_editor::request_lower_case (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
788 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
789 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
790 QsciScintillaBase::SCI_LOWERCASE); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
791 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
792 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
793 void file_editor::request_indent_selected_text (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
794 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
795 emit fetab_indent_selected_text (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
796 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
797 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
798 void file_editor::request_unindent_selected_text (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
799 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
800 emit fetab_unindent_selected_text (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
801 } |
24484
abb075ada761
Allow commenting with manually selected comment strings (bug #52695):
Torsten <mttl@mailbox.org>
parents:
24232
diff
changeset
|
802 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
803 void file_editor::request_smart_indent_line_or_selected_text () |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
804 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
805 emit fetab_smart_indent_line_or_selected_text (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
806 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
807 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
808 void file_editor::request_conv_eol_windows (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
809 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
810 emit fetab_convert_eol (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
811 QsciScintilla::EolWindows); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
812 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
813 void |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
814 file_editor::request_conv_eol_unix (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
815 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
816 emit fetab_convert_eol (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
817 QsciScintilla::EolUnix); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
818 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
819 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
820 void file_editor::request_conv_eol_mac (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
821 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
822 emit fetab_convert_eol (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
823 QsciScintilla::EolMac); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
824 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
825 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
826 // Slot for initially creating and showing the find dialog |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
827 void file_editor::request_find (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
828 { |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
829 // Create the dialog |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
830 find_create (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
831 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
832 // Since find_create shows the dialog without activating the widget |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
833 // (which is reuqired in other cases) do this manually here |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
834 m_find_dialog->activateWindow (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
835 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
836 // Initiate search text from possible selection and save the initial |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
837 // data from the dialog on the defined structure |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
838 m_find_dialog->init_search_text (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
839 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
840 |
27971
ec769a7ab9fb
fix more spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents:
27957
diff
changeset
|
841 // This method creates the find dialog. |
ec769a7ab9fb
fix more spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents:
27957
diff
changeset
|
842 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
843 void file_editor::find_create () |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
844 { |
27835
8b514b304be8
fix multiple editor find dialogs
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27818
diff
changeset
|
845 if (m_find_dialog) |
8b514b304be8
fix multiple editor find dialogs
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27818
diff
changeset
|
846 m_find_dialog->close (); |
8b514b304be8
fix multiple editor find dialogs
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27818
diff
changeset
|
847 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
848 if (isFloating ()) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
849 m_find_dialog = new find_dialog (m_octave_qobj, this, this); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
850 else |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
851 m_find_dialog = new find_dialog (m_octave_qobj, this, main_win ()); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
852 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
853 // Add required actions |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
854 m_find_dialog->addAction (m_find_next_action); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
855 m_find_dialog->addAction (m_find_previous_action); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
856 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
857 // Update edit area |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
858 file_editor_tab* fet |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
859 = static_cast<file_editor_tab *> (m_tab_widget->currentWidget ()); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
860 m_find_dialog->update_edit_area (fet->qsci_edit_area ()); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
861 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
862 // Icon is the same as the editor |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
863 m_find_dialog->setWindowIcon (windowIcon ()); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
864 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
865 // Position: lower right of editor's position |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
866 int xp = x () + frameGeometry ().width (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
867 int yp = y () + frameGeometry ().height (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
868 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
869 if (! isFloating ()) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
870 { |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
871 // Fix position if editor is docked |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
872 xp = xp + main_win ()->x(); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
873 yp = yp + main_win ()->y(); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
874 } |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
875 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
876 if (yp < 0) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
877 yp = 0; |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
878 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
879 // The size of the find dialog is considered in restore_settings |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
880 // since its size might change depending on the options |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
881 m_find_dialog->restore_settings (QPoint (xp, yp)); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
882 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
883 // Set visible |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
884 m_find_dialog->set_visible (true); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
885 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
886 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
887 void file_editor::request_find_next (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
888 { |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
889 if (m_find_dialog) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
890 m_find_dialog->find_next (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
891 } |
24232
e0bcd17ac070
smart indentation for selections or current line in code editor
John W. Eaton <jwe@octave.org>
parents:
24130
diff
changeset
|
892 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
893 void file_editor::request_find_previous (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
894 { |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
895 if (m_find_dialog) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
896 m_find_dialog->find_prev (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
897 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
898 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
899 void file_editor::request_goto_line (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
900 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
901 emit fetab_goto_line (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
902 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
903 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
904 void file_editor::request_completion (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
905 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
906 emit fetab_completion (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
907 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
908 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
909 void file_editor::handle_file_name_changed (const QString& fname, |
27053
1bdfd2b523c9
use tab icon for indicating a modified editor file (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27051
diff
changeset
|
910 const QString& tip, |
1bdfd2b523c9
use tab icon for indicating a modified editor file (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27051
diff
changeset
|
911 bool modified) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
912 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
913 QObject *fileEditorTab = sender (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
914 if (fileEditorTab) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
915 { |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
916 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
917 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
918 for (int i = 0; i < m_tab_widget->count (); i++) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
919 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
920 if (m_tab_widget->widget (i) == fileEditorTab) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
921 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
922 m_tab_widget->setTabText (i, fname); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
923 m_tab_widget->setTabToolTip (i, tip); |
27053
1bdfd2b523c9
use tab icon for indicating a modified editor file (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27051
diff
changeset
|
924 if (modified) |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
925 m_tab_widget->setTabIcon (i, rmgr.icon ("document-save")); |
27053
1bdfd2b523c9
use tab icon for indicating a modified editor file (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27051
diff
changeset
|
926 else |
1bdfd2b523c9
use tab icon for indicating a modified editor file (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27051
diff
changeset
|
927 m_tab_widget->setTabIcon (i, QIcon ()); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
928 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
929 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
930 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
931 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
932 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
933 void file_editor::handle_tab_close_request (int index) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
934 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
935 file_editor_tab *editor_tab |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
936 = static_cast<file_editor_tab *> (m_tab_widget->widget (index)); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
937 editor_tab->conditional_close (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
938 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
939 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
940 void |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
941 file_editor::handle_tab_remove_request (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
942 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
943 QObject *fileEditorTab = sender (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
944 if (fileEditorTab) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
945 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
946 for (int i = 0; i < m_tab_widget->count (); i++) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
947 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
948 if (m_tab_widget->widget (i) == fileEditorTab) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
949 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
950 m_tab_widget->removeTab (i); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
951 // Deleting sender is dodgy, but works because the signal |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
952 // is the last item in the sender's routines. |
27640
2a03fa568feb
* file-editor-tab.cc: Comment.
John W. Eaton <jwe@octave.org>
parents:
27639
diff
changeset
|
953 // FIXME: can we use deleteLater here? |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
954 delete fileEditorTab; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
955 break; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
956 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
957 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
958 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
959 check_actions (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
960 |
27281
0915fec3d3a9
prevent gui from catching focus when its desktop workspace becomes active
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27277
diff
changeset
|
961 activate (); // focus stays in editor when tab is closed |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
962 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
963 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
964 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
965 // context menu of edit area |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
966 void file_editor::active_tab_changed (int index) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
967 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
968 emit fetab_change_request (m_tab_widget->widget (index)); |
27281
0915fec3d3a9
prevent gui from catching focus when its desktop workspace becomes active
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27277
diff
changeset
|
969 activate (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
970 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
971 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
972 void file_editor::handle_editor_state_changed (bool copy_available, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
973 bool is_octave_file) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
974 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
975 // In case there is some scenario where traffic could be coming from |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
976 // all the file editor tabs, just process info from the current active tab. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
977 if (sender () == m_tab_widget->currentWidget ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
978 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
979 if (m_copy_action) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
980 m_copy_action->setEnabled (copy_available); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
981 m_cut_action->setEnabled (copy_available); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
982 m_run_selection_action->setEnabled (copy_available); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
983 m_run_action->setEnabled (is_octave_file); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
984 } |
27075
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
985 |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
986 m_copy_action_enabled = m_copy_action->isEnabled (); |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27074
diff
changeset
|
987 m_undo_action_enabled = m_undo_action->isEnabled (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
988 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
989 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
990 void file_editor::handle_mru_add_file (const QString& file_name, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
991 const QString& encoding) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
992 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
993 int index; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
994 while ((index = m_mru_files.indexOf (file_name)) >= 0) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
995 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
996 m_mru_files.removeAt (index); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
997 m_mru_files_encodings.removeAt (index); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
998 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
999 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1000 m_mru_files.prepend (file_name); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1001 m_mru_files_encodings.prepend (encoding); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1002 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1003 mru_menu_update (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1004 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1005 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1006 void file_editor::check_conflict_save (const QString& saveFileName, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1007 bool remove_on_success) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1008 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1009 // Check whether this file is already open in the editor. |
27637
d16336646e18
return pointer to file_editor_tab from file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27636
diff
changeset
|
1010 file_editor_tab *tab = find_tab_widget (saveFileName); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1011 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1012 if (tab) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1013 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1014 // Note: to overwrite the contents of some other file editor tab |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1015 // with the same name requires identifying which file editor tab |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
1016 // that is (not too difficult) then closing that tab. Of course, |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1017 // that could trigger another dialog box if the file editor tab |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1018 // with the same name has modifications in it. This could become |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1019 // somewhat confusing to the user. For now, opt to do nothing. |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1020 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1021 // Create a NonModal message about error. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1022 QMessageBox *msgBox |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1023 = new QMessageBox (QMessageBox::Critical, tr ("Octave Editor"), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1024 tr ("File not saved! A file with the selected name\n%1\n" |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1025 "is already open in the editor"). |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1026 arg (saveFileName), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1027 QMessageBox::Ok, nullptr); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1028 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1029 msgBox->setWindowModality (Qt::NonModal); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1030 msgBox->setAttribute (Qt::WA_DeleteOnClose); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1031 msgBox->show (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1032 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1033 return; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1034 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1035 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1036 QObject *saveFileObject = sender (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1037 QWidget *saveFileWidget = nullptr; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1038 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1039 for (int i = 0; i < m_tab_widget->count (); i++) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1040 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1041 if (m_tab_widget->widget (i) == saveFileObject) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1042 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1043 saveFileWidget = m_tab_widget->widget (i); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1044 break; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1045 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1046 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1047 if (! saveFileWidget) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1048 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1049 // Create a NonModal message about error. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1050 QMessageBox *msgBox |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1051 = new QMessageBox (QMessageBox::Critical, tr ("Octave Editor"), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1052 tr ("The associated file editor tab has disappeared."), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1053 QMessageBox::Ok, nullptr); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1054 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1055 msgBox->setWindowModality (Qt::NonModal); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1056 msgBox->setAttribute (Qt::WA_DeleteOnClose); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1057 msgBox->show (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1058 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1059 return; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1060 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1061 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1062 // Can save without conflict, have the file editor tab do so. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1063 emit fetab_save_file (saveFileWidget, saveFileName, remove_on_success); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1064 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1065 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1066 void file_editor::handle_insert_debugger_pointer_request (const QString& file, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1067 int line) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1068 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1069 request_open_file (file, QString (), line, true); // default encoding |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1070 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1071 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1072 void file_editor::handle_delete_debugger_pointer_request (const QString& file, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1073 int line) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1074 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1075 if (! file.isEmpty ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1076 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1077 // Check whether this file is already open in the editor. |
27637
d16336646e18
return pointer to file_editor_tab from file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27636
diff
changeset
|
1078 file_editor_tab *tab = find_tab_widget (file); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1079 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1080 if (tab) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1081 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1082 m_tab_widget->setCurrentWidget (tab); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1083 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1084 if (line > 0) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1085 emit fetab_delete_debugger_pointer (tab, line); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1086 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1087 emit fetab_set_focus (tab); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1088 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1089 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1090 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1091 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1092 void file_editor::handle_update_breakpoint_marker_request (bool insert, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1093 const QString& file, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1094 int line, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1095 const QString& cond) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1096 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1097 request_open_file (file, QString (), line, false, true, insert, cond); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1098 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1099 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1100 void file_editor::handle_edit_file_request (const QString& file) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1101 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1102 request_open_file (file); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1103 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1104 |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
1105 // Slot used for signals indicating that a file was changed/renamed or |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1106 // is going to be deleted/renamed |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1107 void file_editor::handle_file_remove (const QString& old_name, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1108 const QString& new_name) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1109 { |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1110 // Clear old list of file data and declare a structure for file data |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1111 m_tmp_closed_files.clear (); |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1112 session_data f_data; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1113 |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1114 // Preprocessing old name(s) |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1115 QString old_name_clean = old_name.trimmed (); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1116 int s = old_name_clean.size (); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1117 |
27277
db687716fed6
style fixes: generally aim to break long lines before operators, not after
John W. Eaton <jwe@octave.org>
parents:
27276
diff
changeset
|
1118 if (old_name_clean.at (0) == QChar ('\"') |
db687716fed6
style fixes: generally aim to break long lines before operators, not after
John W. Eaton <jwe@octave.org>
parents:
27276
diff
changeset
|
1119 && old_name_clean.at (s - 1) == QChar ('\"')) |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1120 old_name_clean = old_name_clean.mid (1, s - 2); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1121 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1122 QStringList old_names = old_name_clean.split ("\" \""); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1123 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1124 // Check if new name is a file or directory |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1125 QFileInfo newf (new_name); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1126 bool new_is_dir = newf.isDir (); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1127 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1128 // Now loop over all old files/dirs (several files by movefile ()) |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1129 for (int i = 0; i < old_names.count (); i++) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1130 { |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1131 // Check if old name is a file or directory |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1132 QFileInfo old (old_names.at (i)); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1133 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1134 if (old.isDir ()) |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1135 { |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1136 // Call the function which handles directories and return |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1137 handle_dir_remove (old_names.at (i), new_name); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1138 } |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1139 else |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1140 { |
27929
265b386f8b20
maint: Use two spaces between sentences in code comments.
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
1141 // It is a single file. Is it open? |
27637
d16336646e18
return pointer to file_editor_tab from file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27636
diff
changeset
|
1142 file_editor_tab *editor_tab = find_tab_widget (old_names.at (i)); |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1143 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1144 if (editor_tab) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1145 { |
27638
95534a0ad14c
eliminate redundant loop over tabs in file_editor::handle_file_remove
John W. Eaton <jwe@octave.org>
parents:
27637
diff
changeset
|
1146 // Get index and line. |
95534a0ad14c
eliminate redundant loop over tabs in file_editor::handle_file_remove
John W. Eaton <jwe@octave.org>
parents:
27637
diff
changeset
|
1147 |
95534a0ad14c
eliminate redundant loop over tabs in file_editor::handle_file_remove
John W. Eaton <jwe@octave.org>
parents:
27637
diff
changeset
|
1148 f_data.encoding = editor_tab->encoding (); |
95534a0ad14c
eliminate redundant loop over tabs in file_editor::handle_file_remove
John W. Eaton <jwe@octave.org>
parents:
27637
diff
changeset
|
1149 f_data.index = m_tab_widget->indexOf (editor_tab); |
95534a0ad14c
eliminate redundant loop over tabs in file_editor::handle_file_remove
John W. Eaton <jwe@octave.org>
parents:
27637
diff
changeset
|
1150 int l, c; |
95534a0ad14c
eliminate redundant loop over tabs in file_editor::handle_file_remove
John W. Eaton <jwe@octave.org>
parents:
27637
diff
changeset
|
1151 editor_tab->qsci_edit_area ()->getCursorPosition (&l, &c); |
95534a0ad14c
eliminate redundant loop over tabs in file_editor::handle_file_remove
John W. Eaton <jwe@octave.org>
parents:
27637
diff
changeset
|
1152 f_data.line = l + 1; |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1153 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1154 // Close it silently |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1155 m_no_focus = true; // Remember for not focussing editor |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1156 editor_tab->file_has_changed (QString (), true); // Close the tab |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1157 m_no_focus = false; // Back to normal |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1158 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1159 // For reloading old file if error while removing |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1160 f_data.file_name = old_names.at (i); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1161 // For reloading new file (if new_file is not empty) |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1162 if (new_is_dir) |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1163 { |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1164 std::string ndir = new_name.toStdString (); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1165 std::string ofile = old.fileName ().toStdString (); |
27276
7455523fdf01
style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
1166 f_data.new_file_name |
7455523fdf01
style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
1167 = QString::fromStdString (sys::env::make_absolute (ofile, ndir)); |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1168 } |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1169 else |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1170 f_data.new_file_name = new_name; |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1171 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1172 // Add file data to list |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
1173 m_tmp_closed_files << f_data; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1174 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1175 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1176 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1177 } |
24082
0052d47ddc3e
Backed out changeset ba164db1c4a4
Torsten <mttl@mailbox.org>
parents:
24048
diff
changeset
|
1178 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1179 // Slot for signal indicating that a file was renamed |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1180 void file_editor::handle_file_renamed (bool load_new) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1181 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1182 m_no_focus = true; // Remember for not focussing editor |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1183 |
27929
265b386f8b20
maint: Use two spaces between sentences in code comments.
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
1184 // Loop over all files that have to be reloaded. Start at the end of the |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
1185 // list, otherwise the stored indexes are not correct. |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1186 for (int i = m_tmp_closed_files.count () - 1; i >= 0; i--) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1187 { |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1188 // Load old or new file |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1189 if (load_new) |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1190 { |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1191 if (! m_tmp_closed_files.at (i).new_file_name.isEmpty ()) |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1192 request_open_file (m_tmp_closed_files.at (i).new_file_name, |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1193 m_tmp_closed_files.at (i).encoding, |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1194 m_tmp_closed_files.at (i).line, |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1195 false, false, true, "", |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1196 m_tmp_closed_files.at (i).index); |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1197 } |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1198 else |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1199 { |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1200 request_open_file (m_tmp_closed_files.at (i).file_name, |
27935
f1844e33f621
maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents:
27929
diff
changeset
|
1201 m_tmp_closed_files.at (i).encoding, |
f1844e33f621
maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents:
27929
diff
changeset
|
1202 m_tmp_closed_files.at (i).line, |
f1844e33f621
maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents:
27929
diff
changeset
|
1203 false, false, true, "", |
f1844e33f621
maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents:
27929
diff
changeset
|
1204 m_tmp_closed_files.at (i).index); |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1205 } |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1206 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1207 } |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1208 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1209 m_no_focus = false; // Back to normal focus |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1210 |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1211 // Clear the list of file data |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1212 m_tmp_closed_files.clear (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1213 } |
24082
0052d47ddc3e
Backed out changeset ba164db1c4a4
Torsten <mttl@mailbox.org>
parents:
24048
diff
changeset
|
1214 |
27611
0495b64288f7
use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents:
27605
diff
changeset
|
1215 void file_editor::notice_settings (const gui_settings *settings) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1216 { |
27672
a36443e94f8a
simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents:
27651
diff
changeset
|
1217 int size_idx = settings->value (global_icon_size).toInt (); |
26058
ecd86b8b8979
use constants for icon size preferences instead of hard coded numbers
Torsten <mttl@mailbox.org>
parents:
25923
diff
changeset
|
1218 size_idx = (size_idx > 0) - (size_idx < 0) + 1; // Make valid index from 0 to 2 |
ecd86b8b8979
use constants for icon size preferences instead of hard coded numbers
Torsten <mttl@mailbox.org>
parents:
25923
diff
changeset
|
1219 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1220 QStyle *st = style (); |
26058
ecd86b8b8979
use constants for icon size preferences instead of hard coded numbers
Torsten <mttl@mailbox.org>
parents:
25923
diff
changeset
|
1221 int icon_size = st->pixelMetric (global_icon_sizes[size_idx]); |
ecd86b8b8979
use constants for icon size preferences instead of hard coded numbers
Torsten <mttl@mailbox.org>
parents:
25923
diff
changeset
|
1222 m_tool_bar->setIconSize (QSize (icon_size, icon_size)); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1223 |
27090
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1224 // Tab position |
27276
7455523fdf01
style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
1225 QTabWidget::TabPosition pos |
27672
a36443e94f8a
simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents:
27651
diff
changeset
|
1226 = static_cast<QTabWidget::TabPosition> (settings->value (ed_tab_position).toInt ()); |
27276
7455523fdf01
style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
1227 |
27090
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1228 m_tab_widget->setTabPosition (pos); |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1229 |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1230 // Update style sheet properties depending on position |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1231 QString width_str ("width"); |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1232 QString height_str ("height"); |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1233 if (pos == QTabWidget::West || pos == QTabWidget::East) |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1234 { |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1235 width_str = QString ("height"); |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1236 height_str = QString ("width"); |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1237 } |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1238 |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1239 // Min and max width for full path titles |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1240 int tab_width_min = settings->value (ed_notebook_tab_width_min) |
25042
ba5af45bbfc4
documentation widget based on qt help engine (bug #53006)
Torsten <mttl@mailbox.org>
parents:
24731
diff
changeset
|
1241 .toInt (); |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1242 int tab_width_max = settings->value (ed_notebook_tab_width_max) |
25042
ba5af45bbfc4
documentation widget based on qt help engine (bug #53006)
Torsten <mttl@mailbox.org>
parents:
24731
diff
changeset
|
1243 .toInt (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1244 |
27090
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1245 // Get suitable height of a tab related to font and icon size |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1246 int height = 1.5*QFontMetrics (m_tab_widget->font ()).height (); |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1247 int is = 1.5*m_tab_widget->iconSize ().height (); |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1248 if (is > height) |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1249 height = is; |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1250 |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1251 // Style sheet for tab height |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1252 QString style_sheet = QString ("QTabBar::tab {max-" + height_str + ": %1px;}") |
27935
f1844e33f621
maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents:
27929
diff
changeset
|
1253 .arg (height); |
27090
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1254 |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1255 // Style sheet for tab height together with width |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1256 if (settings->value (ed_long_window_title).toBool ()) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1257 { |
27090
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1258 style_sheet = QString ("QTabBar::tab " |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1259 " {max-" + height_str + ": %1px;" |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1260 " min-" + width_str + ": %2px;" |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1261 " max-" + width_str + ": %3px;}") |
27935
f1844e33f621
maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents:
27929
diff
changeset
|
1262 .arg (height).arg (tab_width_min).arg (tab_width_max); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1263 m_tab_widget->setElideMode (Qt::ElideLeft); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1264 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1265 else |
27090
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1266 { |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1267 m_tab_widget->setElideMode (Qt::ElideNone); |
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1268 } |
27120
c2a8365c73fc
add workaround for missing editor tab close buttons on macos (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27102
diff
changeset
|
1269 |
c2a8365c73fc
add workaround for missing editor tab close buttons on macos (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27102
diff
changeset
|
1270 #if defined (Q_OS_MAC) |
c2a8365c73fc
add workaround for missing editor tab close buttons on macos (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27102
diff
changeset
|
1271 // FIXME: This is a workaround for missing tab close buttons on MacOS |
c2a8365c73fc
add workaround for missing editor tab close buttons on macos (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27102
diff
changeset
|
1272 // in several Qt versions (https://bugreports.qt.io/browse/QTBUG-61092) |
27276
7455523fdf01
style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
1273 QString close_button_css |
7455523fdf01
style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
1274 ("QTabBar::close-button" |
7455523fdf01
style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
1275 " { width: 6px; image: url(:/actions/icons/widget-close.png);}\n" |
7455523fdf01
style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
1276 "QTabBar::close-button:hover" |
7455523fdf01
style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
1277 " { background-color: #cccccc; }"); |
7455523fdf01
style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
1278 |
27120
c2a8365c73fc
add workaround for missing editor tab close buttons on macos (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27102
diff
changeset
|
1279 style_sheet = style_sheet + close_button_css; |
c2a8365c73fc
add workaround for missing editor tab close buttons on macos (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27102
diff
changeset
|
1280 #endif |
c2a8365c73fc
add workaround for missing editor tab close buttons on macos (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27102
diff
changeset
|
1281 |
27090
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
1282 m_tab_widget->setStyleSheet (style_sheet); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1283 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1284 bool show_it; |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1285 show_it = settings->value (ed_show_line_numbers).toBool (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1286 m_show_linenum_action->setChecked (show_it); |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1287 show_it = settings->value (ed_show_white_space).toBool (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1288 m_show_whitespace_action->setChecked (show_it); |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1289 show_it = settings->value (ed_show_eol_chars).toBool (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1290 m_show_eol_action->setChecked (show_it); |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1291 show_it = settings->value (ed_show_indent_guides).toBool (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1292 m_show_indguide_action->setChecked (show_it); |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1293 show_it = settings->value (ed_long_line_marker).toBool (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1294 m_show_longline_action->setChecked (show_it); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1295 |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1296 show_it = settings->value (ed_show_toolbar).toBool (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1297 m_show_toolbar_action->setChecked (show_it); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1298 m_tool_bar->setVisible (show_it); |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1299 show_it = settings->value (ed_show_edit_status_bar).toBool (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1300 m_show_statusbar_action->setChecked (show_it); |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1301 show_it = settings->value (ed_show_hscroll_bar).toBool (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1302 m_show_hscrollbar_action->setChecked (show_it); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1303 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1304 set_shortcuts (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1305 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1306 // Find dialog with the same icon as the editor |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1307 if (m_find_dialog) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1308 m_find_dialog->setWindowIcon (windowIcon ()); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1309 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1310 // Relay signal to file editor tabs. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1311 emit fetab_settings_changed (settings); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1312 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1313 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1314 void file_editor::set_shortcuts (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1315 { |
27956
2310164737b3
fix many spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents:
27047
diff
changeset
|
1316 // Shortcuts also available in the main window, as well as the related |
2310164737b3
fix many spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents:
27047
diff
changeset
|
1317 // shortcuts, are defined in main_window and added to the editor |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1318 |
27630
262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27629
diff
changeset
|
1319 shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); |
262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27629
diff
changeset
|
1320 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1321 // File menu |
27818
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1322 scmgr.set_shortcut (m_edit_function_action, sc_edit_file_edit_function); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1323 scmgr.set_shortcut (m_save_action, sc_edit_file_save); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1324 scmgr.set_shortcut (m_save_as_action, sc_edit_file_save_as); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1325 scmgr.set_shortcut (m_close_action, sc_edit_file_close); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1326 scmgr.set_shortcut (m_close_all_action, sc_edit_file_close_all); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1327 scmgr.set_shortcut (m_close_others_action, sc_edit_file_close_other); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1328 scmgr.set_shortcut (m_print_action, sc_edit_file_print); |
17903
de8591a19bc6
check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents:
17901
diff
changeset
|
1329 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1330 // Edit menu |
27818
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1331 scmgr.set_shortcut (m_redo_action, sc_edit_edit_redo); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1332 scmgr.set_shortcut (m_cut_action, sc_edit_edit_cut); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1333 scmgr.set_shortcut (m_find_action, sc_edit_edit_find_replace); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1334 scmgr.set_shortcut (m_find_next_action, sc_edit_edit_find_next); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1335 scmgr.set_shortcut (m_find_previous_action, sc_edit_edit_find_previous); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1336 |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1337 scmgr.set_shortcut (m_delete_start_word_action, sc_edit_edit_delete_start_word); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1338 scmgr.set_shortcut (m_delete_end_word_action, sc_edit_edit_delete_end_word); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1339 scmgr.set_shortcut (m_delete_start_line_action, sc_edit_edit_delete_start_line); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1340 scmgr.set_shortcut (m_delete_end_line_action, sc_edit_edit_delete_end_line); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1341 scmgr.set_shortcut (m_delete_line_action, sc_edit_edit_delete_line); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1342 scmgr.set_shortcut (m_copy_line_action, sc_edit_edit_copy_line); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1343 scmgr.set_shortcut (m_cut_line_action, sc_edit_edit_cut_line); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1344 scmgr.set_shortcut (m_duplicate_selection_action, sc_edit_edit_duplicate_selection); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1345 scmgr.set_shortcut (m_transpose_line_action, sc_edit_edit_transpose_line); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1346 scmgr.set_shortcut (m_comment_selection_action, sc_edit_edit_comment_selection); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1347 scmgr.set_shortcut (m_uncomment_selection_action, sc_edit_edit_uncomment_selection); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1348 scmgr.set_shortcut (m_comment_var_selection_action, sc_edit_edit_comment_var_selection); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1349 |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1350 scmgr.set_shortcut (m_upper_case_action, sc_edit_edit_upper_case); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1351 scmgr.set_shortcut (m_lower_case_action, sc_edit_edit_lower_case); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1352 scmgr.set_shortcut (m_indent_selection_action, sc_edit_edit_indent_selection); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1353 scmgr.set_shortcut (m_unindent_selection_action, sc_edit_edit_unindent_selection); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1354 scmgr.set_shortcut (m_smart_indent_line_or_selection_action, sc_edit_edit_smart_indent_line_or_selection); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1355 scmgr.set_shortcut (m_completion_action, sc_edit_edit_completion_list); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1356 scmgr.set_shortcut (m_goto_line_action, sc_edit_edit_goto_line); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1357 scmgr.set_shortcut (m_move_to_matching_brace, sc_edit_edit_move_to_brace); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1358 scmgr.set_shortcut (m_sel_to_matching_brace, sc_edit_edit_select_to_brace); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1359 scmgr.set_shortcut (m_toggle_bookmark_action, sc_edit_edit_toggle_bookmark); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1360 scmgr.set_shortcut (m_next_bookmark_action, sc_edit_edit_next_bookmark); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1361 scmgr.set_shortcut (m_previous_bookmark_action, sc_edit_edit_previous_bookmark); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1362 scmgr.set_shortcut (m_remove_bookmark_action, sc_edit_edit_remove_bookmark); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1363 scmgr.set_shortcut (m_preferences_action, sc_edit_edit_preferences); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1364 scmgr.set_shortcut (m_styles_preferences_action, sc_edit_edit_styles_preferences); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1365 |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1366 scmgr.set_shortcut (m_conv_eol_windows_action, sc_edit_edit_conv_eol_winows); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1367 scmgr.set_shortcut (m_conv_eol_unix_action, sc_edit_edit_conv_eol_unix); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1368 scmgr.set_shortcut (m_conv_eol_mac_action, sc_edit_edit_conv_eol_mac); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1369 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1370 // View menu |
27818
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1371 scmgr.set_shortcut (m_show_linenum_action, sc_edit_view_show_line_numbers); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1372 scmgr.set_shortcut (m_show_whitespace_action, sc_edit_view_show_white_spaces); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1373 scmgr.set_shortcut (m_show_eol_action, sc_edit_view_show_eol_chars); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1374 scmgr.set_shortcut (m_show_indguide_action, sc_edit_view_show_ind_guides); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1375 scmgr.set_shortcut (m_show_longline_action, sc_edit_view_show_long_line); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1376 scmgr.set_shortcut (m_show_toolbar_action, sc_edit_view_show_toolbar); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1377 scmgr.set_shortcut (m_show_statusbar_action, sc_edit_view_show_statusbar); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1378 scmgr.set_shortcut (m_show_hscrollbar_action, sc_edit_view_show_hscrollbar); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1379 scmgr.set_shortcut (m_zoom_in_action, sc_edit_view_zoom_in); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1380 scmgr.set_shortcut (m_zoom_out_action, sc_edit_view_zoom_out); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1381 scmgr.set_shortcut (m_zoom_normal_action, sc_edit_view_zoom_normal); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1382 scmgr.set_shortcut (m_sort_tabs_action, sc_edit_view_sort_tabs); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1383 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1384 // Debug menu |
27818
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1385 scmgr.set_shortcut (m_toggle_breakpoint_action, sc_edit_debug_toggle_breakpoint); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1386 scmgr.set_shortcut (m_next_breakpoint_action, sc_edit_debug_next_breakpoint); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1387 scmgr.set_shortcut (m_previous_breakpoint_action, sc_edit_debug_previous_breakpoint); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1388 scmgr.set_shortcut (m_remove_all_breakpoints_action, sc_edit_debug_remove_breakpoints); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1389 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1390 // Run menu |
27818
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1391 scmgr.set_shortcut (m_run_action, sc_edit_run_run_file); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1392 scmgr.set_shortcut (m_run_selection_action, sc_edit_run_run_selection); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1393 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1394 // Help menu |
27818
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1395 scmgr.set_shortcut (m_context_help_action, sc_edit_help_help_keyword); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1396 scmgr.set_shortcut (m_context_doc_action, sc_edit_help_doc_keyword); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1397 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1398 // Tab navigation without menu entries |
27818
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1399 scmgr.set_shortcut (m_switch_left_tab_action, sc_edit_tabs_switch_left_tab); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1400 scmgr.set_shortcut (m_switch_right_tab_action, sc_edit_tabs_switch_right_tab); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1401 scmgr.set_shortcut (m_move_tab_left_action, sc_edit_tabs_move_tab_left); |
fa0582694fda
replace literal strings by symbolic constants for shortcut preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27805
diff
changeset
|
1402 scmgr.set_shortcut (m_move_tab_right_action, sc_edit_tabs_move_tab_right); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1403 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1404 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1405 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1406 // This slot is a reimplementation of the virtual slot in octave_dock_widget. |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
1407 // We need this for creating an empty script when the editor has no open |
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
1408 // files and is made visible. |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1409 void file_editor::handle_visibility (bool visible) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1410 { |
29199
0b18887bc997
simplify initialization of gui dock widgets
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28851
diff
changeset
|
1411 octave_dock_widget::handle_visibility (visible); |
0b18887bc997
simplify initialization of gui dock widgets
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28851
diff
changeset
|
1412 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1413 if (m_closed && visible) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1414 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1415 m_closed = false; |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1416 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1417 gui_settings *settings = rmgr.get_settings (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1418 restore_session (settings); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1419 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1420 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1421 empty_script (false, visible); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1422 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1423 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1424 // This slot is a reimplementation of the virtual slot in octave_dock_widget. |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1425 // We need this for updating the parent of the find dialog |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1426 void file_editor::toplevel_change (bool) |
27089
9326c2258e60
fix visibility of find dialog when editor is docked/undocked (bug #5)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27075
diff
changeset
|
1427 { |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1428 if (m_find_dialog) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1429 { |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1430 // close current dialog |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1431 m_find_dialog->close (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1432 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1433 // re-create dialog with the new parent (editor or main-win) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1434 find_create (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1435 m_find_dialog->activateWindow (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
1436 } |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1437 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1438 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1439 void file_editor::update_octave_directory (const QString& dir) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1440 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1441 m_ced = dir; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1442 emit fetab_set_directory (m_ced); // for save dialog |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1443 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1444 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1445 void file_editor::copyClipboard (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1446 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1447 if (editor_tab_has_focus ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1448 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1449 QsciScintillaBase::SCI_COPY); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1450 } |
18545
17baa684892c
fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents:
18472
diff
changeset
|
1451 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1452 void file_editor::pasteClipboard (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1453 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1454 if (editor_tab_has_focus ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1455 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1456 QsciScintillaBase::SCI_PASTE); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1457 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1458 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1459 void file_editor::selectAll (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1460 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1461 if (editor_tab_has_focus ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1462 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1463 QsciScintillaBase::SCI_SELECTALL); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1464 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1465 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1466 void file_editor::do_undo (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1467 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1468 if (editor_tab_has_focus ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1469 emit fetab_scintilla_command (m_tab_widget->currentWidget (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1470 QsciScintillaBase::SCI_UNDO); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1471 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1472 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1473 // Open a file, if not already open, and mark the current execution location |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1474 // and/or a breakpoint with condition cond. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1475 void file_editor::request_open_file (const QString& openFileName, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1476 const QString& encoding, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1477 int line, bool debug_pointer, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1478 bool breakpoint_marker, bool insert, |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
1479 const QString& cond, int index) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1480 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1481 if (call_custom_editor (openFileName, line)) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1482 return; // custom editor called |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1483 |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1484 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1485 gui_settings *settings = rmgr.get_settings (); |
25622
a7ee69d23f32
add a gui preference for opening files when debugging in console (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
1486 bool show_dbg_file |
27672
a36443e94f8a
simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents:
27651
diff
changeset
|
1487 = settings->value (ed_show_dbg_file).toBool (); |
25622
a7ee69d23f32
add a gui preference for opening files when debugging in console (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
1488 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1489 if (openFileName.isEmpty ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1490 { |
27956
2310164737b3
fix many spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents:
27047
diff
changeset
|
1491 // This happens if edit is called without an argument |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
1492 // Open editor with empty edit area instead (as new file would do) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1493 request_new_file (""); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1494 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1495 else |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1496 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1497 // Check whether this file is already open in the editor. |
27637
d16336646e18
return pointer to file_editor_tab from file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27636
diff
changeset
|
1498 file_editor_tab *tab = find_tab_widget (openFileName); |
18545
17baa684892c
fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents:
18472
diff
changeset
|
1499 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1500 if (tab) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1501 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1502 m_tab_widget->setCurrentWidget (tab); |
16407
4d438dffbfac
gui: call external editor when opening a file and custom editor is selected
Torsten <ttl@justmail.de>
parents:
16399
diff
changeset
|
1503 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1504 if (line > 0) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1505 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1506 if (insert) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1507 emit fetab_goto_line (tab, line); |
16546
c1e90c7cfd30
try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents:
16525
diff
changeset
|
1508 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1509 if (debug_pointer) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1510 emit fetab_insert_debugger_pointer (tab, line); |
16377
8430ea8c1594
open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents:
16375
diff
changeset
|
1511 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1512 if (breakpoint_marker) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1513 emit fetab_do_breakpoint_marker (insert, tab, line, cond); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1514 } |
16377
8430ea8c1594
open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents:
16375
diff
changeset
|
1515 |
27935
f1844e33f621
maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents:
27929
diff
changeset
|
1516 if (show_dbg_file && ! ((breakpoint_marker || debug_pointer) |
f1844e33f621
maint: Use Octave coding conventions in libgui/ directory.
Rik <rik@octave.org>
parents:
27929
diff
changeset
|
1517 && is_editor_console_tabbed ())) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1518 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1519 emit fetab_set_focus (tab); |
27281
0915fec3d3a9
prevent gui from catching focus when its desktop workspace becomes active
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27277
diff
changeset
|
1520 activate (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1521 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1522 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1523 else |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1524 { |
25622
a7ee69d23f32
add a gui preference for opening files when debugging in console (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
1525 if (! show_dbg_file && (breakpoint_marker || debug_pointer)) |
a7ee69d23f32
add a gui preference for opening files when debugging in console (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
1526 return; // Do not open a file for showing dbg markers |
a7ee69d23f32
add a gui preference for opening files when debugging in console (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
1527 |
a7ee69d23f32
add a gui preference for opening files when debugging in console (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
1528 if (breakpoint_marker && ! insert) |
a7ee69d23f32
add a gui preference for opening files when debugging in console (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
1529 return; // Never open a file when removing breakpoints |
a7ee69d23f32
add a gui preference for opening files when debugging in console (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
1530 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1531 file_editor_tab *fileEditorTab = nullptr; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1532 // Reuse <unnamed> tab if it hasn't yet been modified. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1533 bool reusing = false; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1534 tab = find_tab_widget (""); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1535 if (tab) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1536 { |
27637
d16336646e18
return pointer to file_editor_tab from file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27636
diff
changeset
|
1537 fileEditorTab = tab; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1538 if (fileEditorTab->qsci_edit_area ()->isModified ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1539 fileEditorTab = nullptr; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1540 else |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1541 reusing = true; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1542 } |
21565
08baf0ebc9a9
Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21562
diff
changeset
|
1543 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1544 // If <unnamed> was absent or modified, create a new tab. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1545 if (! fileEditorTab) |
27400
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
1546 fileEditorTab = make_file_editor_tab (); |
21565
08baf0ebc9a9
Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21562
diff
changeset
|
1547 |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1548 fileEditorTab->set_encoding (encoding); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1549 QString result = fileEditorTab->load_file (openFileName); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1550 if (result == "") |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1551 { |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1552 // Supply empty title then have the file_editor_tab update |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1553 // with full or short name. |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1554 if (! reusing) |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1555 add_file_editor_tab (fileEditorTab, "", index); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1556 fileEditorTab->update_window_title (false); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1557 // file already loaded, add file to mru list here |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1558 QFileInfo file_info = QFileInfo (openFileName); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1559 handle_mru_add_file (file_info.canonicalFilePath (), |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1560 encoding); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1561 |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1562 if (line > 0) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1563 { |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1564 if (insert) |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1565 emit fetab_goto_line (fileEditorTab, line); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1566 |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1567 if (debug_pointer) |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1568 emit fetab_insert_debugger_pointer (fileEditorTab, |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1569 line); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1570 if (breakpoint_marker) |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1571 emit fetab_do_breakpoint_marker (insert, fileEditorTab, |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1572 line, cond); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1573 } |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1574 } |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1575 else |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1576 { |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1577 delete fileEditorTab; |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1578 fileEditorTab = nullptr; |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1579 |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1580 if (QFile::exists (openFileName)) |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1581 { |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1582 // File not readable: |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1583 // create a NonModal message about error. |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1584 QMessageBox *msgBox |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1585 = new QMessageBox (QMessageBox::Critical, |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1586 tr ("Octave Editor"), |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1587 tr ("Could not open file\n%1\nfor read: %2."). |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1588 arg (openFileName).arg (result), |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1589 QMessageBox::Ok, this); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1590 |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1591 msgBox->setWindowModality (Qt::NonModal); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1592 msgBox->setAttribute (Qt::WA_DeleteOnClose); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1593 msgBox->show (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1594 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1595 else |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1596 { |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1597 // File does not exist, should it be created? |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1598 bool create_file = true; |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1599 QMessageBox *msgBox; |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1600 |
27849
28d7ec92bae6
replace prefs literals by symbolic constant in main window
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27835
diff
changeset
|
1601 if (! settings->value (ed_create_new_file).toBool ()) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1602 { |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1603 msgBox = new QMessageBox (QMessageBox::Question, |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1604 tr ("Octave Editor"), |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1605 tr ("File\n%1\ndoes not exist. " |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1606 "Do you want to create it?").arg (openFileName), |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1607 QMessageBox::NoButton,nullptr); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1608 QPushButton *create_button = |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1609 msgBox->addButton (tr ("Create"), QMessageBox::YesRole); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1610 msgBox->addButton (tr ("Cancel"), QMessageBox::RejectRole); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1611 msgBox->setDefaultButton (create_button); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1612 msgBox->exec (); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1613 |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1614 QAbstractButton *clicked_button = msgBox->clickedButton (); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1615 if (clicked_button != create_button) |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1616 create_file = false; |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1617 |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1618 delete msgBox; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1619 } |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1620 |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1621 if (create_file) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1622 { |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1623 // create the file and call the editor again |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1624 QFile file (openFileName); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1625 if (! file.open (QIODevice::WriteOnly)) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1626 { |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1627 // error opening the file |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1628 msgBox = new QMessageBox (QMessageBox::Critical, |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1629 tr ("Octave Editor"), |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1630 tr ("Could not open file\n%1\nfor write: %2."). |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1631 arg (openFileName).arg (file.errorString ()), |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1632 QMessageBox::Ok, this); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1633 |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1634 msgBox->setWindowModality (Qt::NonModal); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1635 msgBox->setAttribute (Qt::WA_DeleteOnClose); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1636 msgBox->show (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1637 } |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1638 else |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1639 { |
26369
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1640 file.close (); |
0249ba4c9589
Fix static analyzer detected V668 issues (bug #55347).
Andreas Weber <octave@josoansi.de>
parents:
26109
diff
changeset
|
1641 request_open_file (openFileName); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1642 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1643 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1644 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1645 } |
16377
8430ea8c1594
open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents:
16375
diff
changeset
|
1646 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1647 if (! ((breakpoint_marker || debug_pointer) && is_editor_console_tabbed ())) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1648 { |
25923
a7511a1489b8
call octave functions with return value from GUI (bug #47585)
Torsten <mttl@mailbox.org>
parents:
25914
diff
changeset
|
1649 // update breakpoint pointers, really show editor |
a7511a1489b8
call octave functions with return value from GUI (bug #47585)
Torsten <mttl@mailbox.org>
parents:
25914
diff
changeset
|
1650 // and the current editor tab |
26080
13d11afc8122
fix crash after editor dialog about creation of non-existing file
Torsten <mttl@mailbox.org>
parents:
26058
diff
changeset
|
1651 if (fileEditorTab) |
13d11afc8122
fix crash after editor dialog about creation of non-existing file
Torsten <mttl@mailbox.org>
parents:
26058
diff
changeset
|
1652 fileEditorTab->update_breakpoints (); |
27281
0915fec3d3a9
prevent gui from catching focus when its desktop workspace becomes active
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27277
diff
changeset
|
1653 activate (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1654 emit file_loaded_signal (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1655 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1656 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1657 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1658 } |
14676
35512b788af2
Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14674
diff
changeset
|
1659 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1660 void file_editor::request_preferences (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1661 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1662 emit request_settings_dialog ("editor"); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1663 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1664 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1665 void file_editor::request_styles_preferences (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1666 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1667 emit request_settings_dialog ("editor_styles"); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1668 } |
17676
c060ad097056
add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents:
17639
diff
changeset
|
1669 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1670 void file_editor::show_line_numbers (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1671 { |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1672 toggle_preference (ed_show_line_numbers); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1673 } |
17676
c060ad097056
add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents:
17639
diff
changeset
|
1674 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1675 void file_editor::show_white_space (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1676 { |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1677 toggle_preference (ed_show_white_space); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1678 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1679 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1680 void file_editor::show_eol_chars (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1681 { |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1682 toggle_preference (ed_show_eol_chars); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1683 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1684 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1685 void file_editor::show_indent_guides (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1686 { |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1687 toggle_preference (ed_show_indent_guides); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1688 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1689 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1690 void file_editor::show_long_line (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1691 { |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1692 toggle_preference (ed_long_line_marker); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1693 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1694 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1695 void file_editor::show_toolbar (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1696 { |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1697 toggle_preference (ed_show_toolbar); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1698 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1699 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1700 void file_editor::show_statusbar (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1701 { |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1702 toggle_preference (ed_show_edit_status_bar); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1703 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1704 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1705 void file_editor::show_hscrollbar (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1706 { |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1707 toggle_preference (ed_show_hscroll_bar); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1708 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1709 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1710 void file_editor::zoom_in (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1711 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1712 emit fetab_zoom_in (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1713 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1714 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1715 void file_editor::zoom_out (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1716 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1717 emit fetab_zoom_out (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1718 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1719 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1720 void file_editor::zoom_normal (bool) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1721 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1722 emit fetab_zoom_normal (m_tab_widget->currentWidget ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1723 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1724 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1725 void file_editor::create_context_menu (QMenu *menu) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1726 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1727 // remove all standard actions from scintilla |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1728 QList<QAction *> all_actions = menu->actions (); |
27676
ea7d36e9f197
use standard C++ range-based for loops instead of Qt foreach macro
John W. Eaton <jwe@octave.org>
parents:
27672
diff
changeset
|
1729 |
ea7d36e9f197
use standard C++ range-based for loops instead of Qt foreach macro
John W. Eaton <jwe@octave.org>
parents:
27672
diff
changeset
|
1730 for (auto *a : all_actions) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1731 menu->removeAction (a); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1732 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1733 // add editor's actions with icons and customized shortcuts |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1734 menu->addAction (m_cut_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1735 menu->addAction (m_copy_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1736 menu->addAction (m_paste_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1737 menu->addSeparator (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1738 menu->addAction (m_selectall_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1739 menu->addSeparator (); |
25274
1f1e1e72e958
make file editor context menu more like menu bar edit menu
John W. Eaton <jwe@octave.org>
parents:
25064
diff
changeset
|
1740 menu->addAction (m_find_files_action); |
1f1e1e72e958
make file editor context menu more like menu bar edit menu
John W. Eaton <jwe@octave.org>
parents:
25064
diff
changeset
|
1741 menu->addAction (m_find_action); |
1f1e1e72e958
make file editor context menu more like menu bar edit menu
John W. Eaton <jwe@octave.org>
parents:
25064
diff
changeset
|
1742 menu->addAction (m_find_next_action); |
1f1e1e72e958
make file editor context menu more like menu bar edit menu
John W. Eaton <jwe@octave.org>
parents:
25064
diff
changeset
|
1743 menu->addAction (m_find_previous_action); |
1f1e1e72e958
make file editor context menu more like menu bar edit menu
John W. Eaton <jwe@octave.org>
parents:
25064
diff
changeset
|
1744 menu->addSeparator (); |
1f1e1e72e958
make file editor context menu more like menu bar edit menu
John W. Eaton <jwe@octave.org>
parents:
25064
diff
changeset
|
1745 menu->addMenu (m_edit_cmd_menu); |
1f1e1e72e958
make file editor context menu more like menu bar edit menu
John W. Eaton <jwe@octave.org>
parents:
25064
diff
changeset
|
1746 menu->addMenu (m_edit_fmt_menu); |
1f1e1e72e958
make file editor context menu more like menu bar edit menu
John W. Eaton <jwe@octave.org>
parents:
25064
diff
changeset
|
1747 menu->addMenu (m_edit_nav_menu); |
1f1e1e72e958
make file editor context menu more like menu bar edit menu
John W. Eaton <jwe@octave.org>
parents:
25064
diff
changeset
|
1748 menu->addSeparator (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1749 menu->addAction (m_run_selection_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1750 } |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
1751 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1752 void file_editor::edit_status_update (bool undo, bool redo) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1753 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1754 if (m_undo_action) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1755 m_undo_action->setEnabled (undo); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1756 m_redo_action->setEnabled (redo); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1757 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1758 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1759 // handler for the close event |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1760 void file_editor::closeEvent (QCloseEvent *e) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1761 { |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1762 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1763 gui_settings *settings = rmgr.get_settings (); |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1764 if (settings->value (ed_hiding_closes_files).toBool ()) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1765 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1766 if (check_closing ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1767 { |
27651
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
1768 // All tabs are closed without cancelling, |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
1769 // store closing state for restoring session when shown again. |
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27640
diff
changeset
|
1770 // Editor is closing when session data is stored in preferences |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1771 m_closed = true; |
27605
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27560
diff
changeset
|
1772 e->ignore (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1773 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1774 else |
25623
331f46b9ee6c
fix close events of some main dock widgets (bug #54185)
Torsten <mttl@mailbox.org>
parents:
25622
diff
changeset
|
1775 { |
331f46b9ee6c
fix close events of some main dock widgets (bug #54185)
Torsten <mttl@mailbox.org>
parents:
25622
diff
changeset
|
1776 e->ignore (); |
331f46b9ee6c
fix close events of some main dock widgets (bug #54185)
Torsten <mttl@mailbox.org>
parents:
25622
diff
changeset
|
1777 return; |
331f46b9ee6c
fix close events of some main dock widgets (bug #54185)
Torsten <mttl@mailbox.org>
parents:
25622
diff
changeset
|
1778 } |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1779 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1780 else |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1781 e->accept (); |
25623
331f46b9ee6c
fix close events of some main dock widgets (bug #54185)
Torsten <mttl@mailbox.org>
parents:
25622
diff
changeset
|
1782 |
331f46b9ee6c
fix close events of some main dock widgets (bug #54185)
Torsten <mttl@mailbox.org>
parents:
25622
diff
changeset
|
1783 octave_dock_widget::closeEvent (e); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1784 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1785 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1786 void file_editor::dragEnterEvent (QDragEnterEvent *e) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1787 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1788 if (e->mimeData ()->hasUrls ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1789 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1790 e->acceptProposedAction (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1791 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1792 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1793 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1794 void file_editor::dropEvent (QDropEvent *e) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1795 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1796 if (e->mimeData ()->hasUrls ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1797 { |
27676
ea7d36e9f197
use standard C++ range-based for loops instead of Qt foreach macro
John W. Eaton <jwe@octave.org>
parents:
27672
diff
changeset
|
1798 for (const auto& url : e->mimeData ()->urls ()) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1799 request_open_file (url.toLocalFile ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1800 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1801 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1802 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1803 bool file_editor::is_editor_console_tabbed (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1804 { |
25336
389757b7b6af
eliminate redundant octave:: namespace tags
John W. Eaton <jwe@octave.org>
parents:
25293
diff
changeset
|
1805 main_window *w = static_cast<main_window *>(main_win ()); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1806 QList<QDockWidget *> w_list = w->tabifiedDockWidgets (this); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1807 QDockWidget *console = |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1808 static_cast<QDockWidget *> (w->get_dock_widget_list ().at (0)); |
18944
b2c4d6d461f0
fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents:
18767
diff
changeset
|
1809 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1810 for (int i = 0; i < w_list.count (); i++) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1811 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1812 if (w_list.at (i) == console) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1813 return true; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1814 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1815 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1816 return false; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1817 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1818 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1819 void file_editor::construct (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1820 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1821 QWidget *editor_widget = new QWidget (this); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1822 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1823 // FIXME: what was the intended purpose of this unused variable? |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1824 // QStyle *editor_style = QApplication::style (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1825 |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
1826 // Menu bar: do not set it native, required in macOS and Ubuntu Unity (Qt5) |
27929
265b386f8b20
maint: Use two spaces between sentences in code comments.
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
1827 // for a visible menu bar in the editor widget. This property is ignored |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1828 // on other platforms. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1829 m_menu_bar = new QMenuBar (editor_widget); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1830 m_menu_bar->setNativeMenuBar (false); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1831 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1832 m_tool_bar = new QToolBar (editor_widget); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1833 m_tool_bar->setMovable (true); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1834 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1835 m_tab_widget = new file_editor_tab_widget (editor_widget); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1836 |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1837 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1838 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1839 // the mru-list and an empty array of actions |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1840 gui_settings *settings = rmgr.get_settings (); |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1841 m_mru_files = settings->value (ed_mru_file_list).toStringList (); |
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
1842 m_mru_files_encodings = settings->value (ed_mru_file_encodings) |
25042
ba5af45bbfc4
documentation widget based on qt help engine (bug #53006)
Torsten <mttl@mailbox.org>
parents:
24731
diff
changeset
|
1843 .toStringList (); |
18944
b2c4d6d461f0
fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents:
18767
diff
changeset
|
1844 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1845 if (m_mru_files_encodings.count () != m_mru_files.count ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1846 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1847 // encodings don't have the same count -> do not use them! |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1848 m_mru_files_encodings = QStringList (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1849 for (int i = 0; i < m_mru_files.count (); i++) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1850 m_mru_files_encodings << QString (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1851 } |
24130
6fdbdb66d7cb
set editor menu bar as non-native menu bar on all platforms
Torsten <mttl@mailbox.org>
parents:
24123
diff
changeset
|
1852 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1853 for (int i = 0; i < MaxMRUFiles; ++i) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1854 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1855 m_mru_file_actions[i] = new QAction (this); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1856 m_mru_file_actions[i]->setVisible (false); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1857 } |
24130
6fdbdb66d7cb
set editor menu bar as non-native menu bar on all platforms
Torsten <mttl@mailbox.org>
parents:
24123
diff
changeset
|
1858 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1859 // menu bar |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1860 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1861 // file menu |
13562
a89aa9e05e19
editor: menu bar, run editor file in octave
ttl <ttl@justmail.de>
parents:
13558
diff
changeset
|
1862 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1863 m_fileMenu = add_menu (m_menu_bar, tr ("&File")); |
20814
2da4058d65c7
store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents:
20796
diff
changeset
|
1864 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1865 // new and open menus are inserted later by the main window |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1866 m_mru_file_menu = new QMenu (tr ("&Recent Editor Files"), m_fileMenu); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1867 for (int i = 0; i < MaxMRUFiles; ++i) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1868 m_mru_file_menu->addAction (m_mru_file_actions[i]); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1869 m_fileMenu->addMenu (m_mru_file_menu); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1870 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1871 m_fileMenu->addSeparator (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1872 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1873 m_edit_function_action |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1874 = add_action (m_fileMenu, |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1875 tr ("&Edit Function"), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1876 SLOT (request_context_edit (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1877 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1878 m_fileMenu->addSeparator (); |
20814
2da4058d65c7
store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents:
20796
diff
changeset
|
1879 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1880 m_save_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1881 = add_action (m_fileMenu, rmgr.icon ("document-save"), |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1882 tr ("&Save File"), SLOT (request_save_file (bool))); |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1883 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1884 m_save_as_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1885 = add_action (m_fileMenu, rmgr.icon ("document-save-as"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1886 tr ("Save File &As..."), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1887 SLOT (request_save_file_as (bool))); |
15860
feba9ff6e6a8
editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents:
15848
diff
changeset
|
1888 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1889 m_fileMenu->addSeparator (); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
1890 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1891 m_close_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1892 = add_action (m_fileMenu, rmgr.icon ("window-close",false), |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1893 tr ("&Close"), SLOT (request_close_file (bool))); |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1894 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1895 m_close_all_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1896 = add_action (m_fileMenu, rmgr.icon ("window-close",false), |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1897 tr ("Close All"), SLOT (request_close_all_files (bool))); |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1898 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1899 m_close_others_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1900 = add_action (m_fileMenu, rmgr.icon ("window-close",false), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1901 tr ("Close Other Files"), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1902 SLOT (request_close_other_files (bool))); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
1903 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1904 m_fileMenu->addSeparator (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1905 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1906 m_print_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1907 = add_action (m_fileMenu, rmgr.icon ("document-print"), |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1908 tr ("Print..."), SLOT (request_print_file (bool))); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1909 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1910 // edit menu (undo, copy, paste and select all later via main window) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1911 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1912 m_edit_menu = add_menu (m_menu_bar, tr ("&Edit")); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
1913 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1914 m_redo_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1915 = add_action (m_edit_menu, rmgr.icon ("edit-redo"), |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1916 tr ("&Redo"), SLOT (request_redo (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1917 m_redo_action->setEnabled (false); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1918 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1919 m_edit_menu->addSeparator (); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
1920 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1921 m_cut_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1922 = add_action (m_edit_menu, rmgr.icon ("edit-cut"), |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1923 tr ("Cu&t"), SLOT (request_cut (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1924 m_cut_action->setEnabled (false); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1925 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1926 m_find_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1927 = add_action (m_edit_menu, rmgr.icon ("edit-find-replace"), |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1928 tr ("&Find and Replace..."), SLOT (request_find (bool))); |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1929 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1930 m_find_next_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1931 = add_action (m_edit_menu, tr ("Find &Next..."), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1932 SLOT (request_find_next (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1933 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1934 m_find_previous_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1935 = add_action (m_edit_menu, tr ("Find &Previous..."), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1936 SLOT (request_find_previous (bool))); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1937 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1938 m_edit_menu->addSeparator (); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
1939 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1940 m_edit_cmd_menu = m_edit_menu->addMenu (tr ("&Commands")); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1941 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1942 m_delete_line_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1943 = add_action (m_edit_cmd_menu, tr ("Delete Line"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1944 SLOT (request_delete_line (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1945 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1946 m_copy_line_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1947 = add_action (m_edit_cmd_menu, tr ("Copy Line"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1948 SLOT (request_copy_line (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1949 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1950 m_cut_line_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1951 = add_action (m_edit_cmd_menu, tr ("Cut Line"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1952 SLOT (request_cut_line (bool))); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1953 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1954 m_edit_cmd_menu->addSeparator (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1955 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1956 m_delete_start_word_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1957 = add_action (m_edit_cmd_menu, tr ("Delete to Start of Word"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1958 SLOT (request_delete_start_word (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1959 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1960 m_delete_end_word_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1961 = add_action (m_edit_cmd_menu, tr ("Delete to End of Word"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1962 SLOT (request_delete_end_word (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1963 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1964 m_delete_start_line_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1965 = add_action (m_edit_cmd_menu, tr ("Delete to Start of Line"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1966 SLOT (request_delete_start_line (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1967 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1968 m_delete_end_line_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1969 = add_action (m_edit_cmd_menu, tr ("Delete to End of Line"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1970 SLOT (request_delete_end_line (bool))); |
22169
b3ced5e3cebb
Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents:
22022
diff
changeset
|
1971 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1972 m_edit_cmd_menu->addSeparator (); |
22169
b3ced5e3cebb
Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents:
22022
diff
changeset
|
1973 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1974 m_duplicate_selection_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1975 = add_action (m_edit_cmd_menu, tr ("Duplicate Selection/Line"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1976 SLOT (request_duplicate_selection (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1977 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1978 m_transpose_line_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1979 = add_action (m_edit_cmd_menu, tr ("Transpose Line"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1980 SLOT (request_transpose_line (bool))); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1981 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1982 m_edit_cmd_menu->addSeparator (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1983 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1984 m_completion_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1985 = add_action (m_edit_cmd_menu, tr ("&Show Completion List"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1986 SLOT (request_completion (bool))); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
1987 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1988 m_edit_fmt_menu = m_edit_menu->addMenu (tr ("&Format")); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
1989 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1990 m_upper_case_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1991 = add_action (m_edit_fmt_menu, tr ("&Uppercase Selection"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1992 SLOT (request_upper_case (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1993 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1994 m_lower_case_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
1995 = add_action (m_edit_fmt_menu, tr ("&Lowercase Selection"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
1996 SLOT (request_lower_case (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1997 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
1998 m_edit_fmt_menu->addSeparator (); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
1999 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2000 m_comment_selection_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2001 = add_action (m_edit_fmt_menu, tr ("&Comment"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2002 SLOT (request_comment_selected_text (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2003 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2004 m_uncomment_selection_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2005 = add_action (m_edit_fmt_menu, tr ("&Uncomment"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2006 SLOT (request_uncomment_selected_text (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2007 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2008 m_comment_var_selection_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2009 = add_action (m_edit_fmt_menu, tr ("Comment (Choosing String)"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2010 SLOT (request_comment_var_selected_text (bool))); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
2011 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2012 m_edit_fmt_menu->addSeparator (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2013 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2014 m_indent_selection_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2015 = add_action (m_edit_fmt_menu, tr ("&Indent Selection Rigidly"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2016 SLOT (request_indent_selected_text (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2017 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2018 m_unindent_selection_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2019 = add_action (m_edit_fmt_menu, tr ("&Unindent Selection Rigidly"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2020 SLOT (request_unindent_selected_text (bool))); |
19247
9582fad68730
add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents:
19246
diff
changeset
|
2021 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2022 m_smart_indent_line_or_selection_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2023 = add_action (m_edit_fmt_menu, tr ("Indent Code"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2024 SLOT (request_smart_indent_line_or_selected_text (void))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2025 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2026 m_edit_fmt_menu->addSeparator (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2027 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2028 m_conv_eol_windows_action |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2029 = add_action (m_edit_fmt_menu, |
25064
27ade14df345
Some minor string changes (bug #53526).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25062
diff
changeset
|
2030 tr ("Convert Line Endings to &Windows (CRLF)"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2031 SLOT (request_conv_eol_windows (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2032 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2033 m_conv_eol_unix_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2034 = add_action (m_edit_fmt_menu, tr ("Convert Line Endings to &Unix (LF)"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2035 SLOT (request_conv_eol_unix (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2036 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2037 m_conv_eol_mac_action |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2038 = add_action (m_edit_fmt_menu, |
26524
027f3c884763
Change EOL format label from "Mac (CR)" to "Legacy Mac (CR)" in GUI
Andrew Janke <andrew@apjanke.net>
parents:
26376
diff
changeset
|
2039 tr ("Convert Line Endings to Legacy &Mac (CR)"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2040 SLOT (request_conv_eol_mac (bool))); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2041 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2042 m_edit_nav_menu = m_edit_menu->addMenu (tr ("Navi&gation")); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2043 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2044 m_goto_line_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2045 = add_action (m_edit_nav_menu, tr ("Go &to Line..."), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2046 SLOT (request_goto_line (bool))); |
24232
e0bcd17ac070
smart indentation for selections or current line in code editor
John W. Eaton <jwe@octave.org>
parents:
24130
diff
changeset
|
2047 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2048 m_edit_cmd_menu->addSeparator (); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
2049 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2050 m_move_to_matching_brace |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2051 = add_action (m_edit_nav_menu, tr ("Move to Matching Brace"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2052 SLOT (request_move_match_brace (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2053 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2054 m_sel_to_matching_brace |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2055 = add_action (m_edit_nav_menu, tr ("Select to Matching Brace"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2056 SLOT (request_sel_match_brace (bool))); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2057 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2058 m_edit_nav_menu->addSeparator (); |
19247
9582fad68730
add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents:
19246
diff
changeset
|
2059 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2060 m_next_bookmark_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2061 = add_action (m_edit_nav_menu, tr ("&Next Bookmark"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2062 SLOT (request_next_bookmark (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2063 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2064 m_previous_bookmark_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2065 = add_action (m_edit_nav_menu, tr ("Pre&vious Bookmark"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2066 SLOT (request_previous_bookmark (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2067 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2068 m_toggle_bookmark_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2069 = add_action (m_edit_nav_menu, tr ("Toggle &Bookmark"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2070 SLOT (request_toggle_bookmark (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2071 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2072 m_remove_bookmark_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2073 = add_action (m_edit_nav_menu, tr ("&Remove All Bookmarks"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2074 SLOT (request_remove_bookmark (bool))); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2075 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2076 m_edit_menu->addSeparator (); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
2077 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2078 m_preferences_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2079 = add_action (m_edit_menu, rmgr.icon ("preferences-system"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2080 tr ("&Preferences..."), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2081 SLOT (request_preferences (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2082 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2083 m_styles_preferences_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2084 = add_action (m_edit_menu, rmgr.icon ("preferences-system"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2085 tr ("&Styles Preferences..."), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2086 SLOT (request_styles_preferences (bool))); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2087 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2088 // view menu |
19629
8ef79bc61d8a
add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents:
19608
diff
changeset
|
2089 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2090 QMenu *view_menu = add_menu (m_menu_bar, tr ("&View")); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2091 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2092 m_view_editor_menu = view_menu->addMenu (tr ("&Editor")); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2093 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2094 m_show_linenum_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2095 = add_action (m_view_editor_menu, tr ("Show &Line Numbers"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2096 SLOT (show_line_numbers (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2097 m_show_linenum_action->setCheckable (true); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
2098 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2099 m_show_whitespace_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2100 = add_action (m_view_editor_menu, tr ("Show &Whitespace Characters"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2101 SLOT (show_white_space (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2102 m_show_whitespace_action->setCheckable (true); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2103 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2104 m_show_eol_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2105 = add_action (m_view_editor_menu, tr ("Show Line &Endings"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2106 SLOT (show_eol_chars (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2107 m_show_eol_action->setCheckable (true); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
2108 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2109 m_show_indguide_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2110 = add_action (m_view_editor_menu, tr ("Show &Indentation Guides"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2111 SLOT (show_indent_guides (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2112 m_show_indguide_action->setCheckable (true); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2113 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2114 m_show_longline_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2115 = add_action (m_view_editor_menu, tr ("Show Long Line &Marker"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2116 SLOT (show_long_line (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2117 m_show_longline_action->setCheckable (true); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2118 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2119 m_view_editor_menu->addSeparator (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2120 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2121 m_show_toolbar_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2122 = add_action (m_view_editor_menu, tr ("Show &Toolbar"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2123 SLOT (show_toolbar (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2124 m_show_toolbar_action->setCheckable (true); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2125 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2126 m_show_statusbar_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2127 = add_action (m_view_editor_menu, tr ("Show &Statusbar"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2128 SLOT (show_statusbar (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2129 m_show_statusbar_action->setCheckable (true); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2130 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2131 m_show_hscrollbar_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2132 = add_action (m_view_editor_menu, tr ("Show &Horizontal Scrollbar"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2133 SLOT (show_hscrollbar (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2134 m_show_hscrollbar_action->setCheckable (true); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2135 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2136 view_menu->addSeparator (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2137 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2138 m_zoom_in_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2139 = add_action (view_menu, rmgr.icon ("zoom-in"), tr ("Zoom &In"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2140 SLOT (zoom_in (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2141 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2142 m_zoom_out_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2143 = add_action (view_menu, rmgr.icon ("zoom-out"), tr ("Zoom &Out"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2144 SLOT (zoom_out (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2145 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2146 m_zoom_normal_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2147 = add_action (view_menu, tr ("&Normal Size"), SLOT (zoom_normal (bool))); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2148 |
27330
e449134870fb
allow to sort editor tabs alphabetically (bug #42602)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27302
diff
changeset
|
2149 view_menu->addSeparator (); |
e449134870fb
allow to sort editor tabs alphabetically (bug #42602)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27302
diff
changeset
|
2150 |
e449134870fb
allow to sort editor tabs alphabetically (bug #42602)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27302
diff
changeset
|
2151 m_sort_tabs_action |
e449134870fb
allow to sort editor tabs alphabetically (bug #42602)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27302
diff
changeset
|
2152 = add_action (view_menu, tr ("&Sort Tabs Alphabetically"), |
e449134870fb
allow to sort editor tabs alphabetically (bug #42602)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27302
diff
changeset
|
2153 SLOT (sort_tabs_alph (void)), |
e449134870fb
allow to sort editor tabs alphabetically (bug #42602)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27302
diff
changeset
|
2154 m_tab_widget->get_tab_bar ()); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2155 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2156 m_menu_bar->addMenu (view_menu); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2157 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2158 // debug menu |
21002
314245afff3a
add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents:
21001
diff
changeset
|
2159 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2160 m_debug_menu = add_menu (m_menu_bar, tr ("&Debug")); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
2161 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2162 m_toggle_breakpoint_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2163 = add_action (m_debug_menu, rmgr.icon ("bp-toggle"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2164 tr ("Toggle &Breakpoint"), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2165 SLOT (request_toggle_breakpoint (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2166 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2167 m_next_breakpoint_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2168 = add_action (m_debug_menu, rmgr.icon ("bp-next"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2169 tr ("&Next Breakpoint"), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2170 SLOT (request_next_breakpoint (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2171 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2172 m_previous_breakpoint_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2173 = add_action (m_debug_menu, rmgr.icon ("bp-prev"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2174 tr ("Pre&vious Breakpoint"), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2175 SLOT (request_previous_breakpoint (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2176 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2177 m_remove_all_breakpoints_action |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2178 = add_action (m_debug_menu, rmgr.icon ("bp-rm-all"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2179 tr ("&Remove All Breakpoints"), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2180 SLOT (request_remove_breakpoint (bool))); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2181 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2182 m_debug_menu->addSeparator (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2183 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2184 // The other debug actions will be added by the main window. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2185 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2186 // run menu |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2187 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2188 QMenu *_run_menu = add_menu (m_menu_bar, tr ("&Run")); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
2189 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2190 m_run_action |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2191 = add_action (_run_menu, |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2192 rmgr.icon ("system-run"), |
26875
ce972086bfd6
save & run action in editor now also continues in debug mode (bug #44730)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26873
diff
changeset
|
2193 tr ("Save File and Run / Continue"), |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2194 SLOT (request_run_file (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2195 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2196 m_run_selection_action |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2197 = add_action (_run_menu, |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2198 tr ("Run &Selection"), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2199 SLOT (request_context_run (bool))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2200 m_run_selection_action->setEnabled (false); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2201 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2202 // help menu |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
2203 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2204 QMenu *_help_menu = add_menu (m_menu_bar, tr ("&Help")); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2205 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2206 m_context_help_action |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2207 = add_action (_help_menu, |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2208 tr ("&Help on Keyword"), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2209 SLOT (request_context_help (bool))); |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2210 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2211 m_context_doc_action |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2212 = add_action (_help_menu, |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2213 tr ("&Documentation on Keyword"), |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2214 SLOT (request_context_doc (bool))); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
2215 |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2216 // tab navigation (no menu, only actions; slots in tab_bar) |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2217 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2218 m_switch_left_tab_action |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2219 = add_action (nullptr, "", SLOT (switch_left_tab (void)), |
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2220 m_tab_widget->get_tab_bar ()); |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2221 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2222 m_switch_right_tab_action |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2223 = add_action (nullptr, "", SLOT (switch_right_tab (void)), |
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2224 m_tab_widget->get_tab_bar ()); |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2225 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2226 m_move_tab_left_action |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2227 = add_action (nullptr, "", SLOT (move_tab_left (void)), |
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2228 m_tab_widget->get_tab_bar ()); |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2229 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2230 m_move_tab_right_action |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2231 = add_action (nullptr, "", SLOT (move_tab_right (void)), |
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2232 m_tab_widget->get_tab_bar ()); |
20693
7751bd56d0be
added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents:
20630
diff
changeset
|
2233 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2234 // toolbar |
20693
7751bd56d0be
added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents:
20630
diff
changeset
|
2235 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2236 // popdown menu with mru files |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2237 QToolButton *popdown_button = new QToolButton (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2238 popdown_button->setToolTip (tr ("Recent Files")); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2239 popdown_button->setMenu (m_mru_file_menu); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2240 popdown_button->setPopupMode (QToolButton::InstantPopup); |
26108
ed2339e64a57
Place down-arrow icon on most-recently-used popdown menu in editor (bug #55032).
Rik <rik@octave.org>
parents:
25293
diff
changeset
|
2241 popdown_button->setArrowType (Qt::DownArrow); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2242 popdown_button->setToolButtonStyle (Qt::ToolButtonTextOnly); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
2243 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2244 // new and open actions are inserted later from main window |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2245 m_popdown_mru_action = m_tool_bar->addWidget (popdown_button); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2246 m_tool_bar->addAction (m_save_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2247 m_tool_bar->addAction (m_save_as_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2248 m_tool_bar->addAction (m_print_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2249 m_tool_bar->addSeparator (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2250 // m_undo_action: later via main window |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2251 m_tool_bar->addAction (m_redo_action); |
25813
d98d7df9fd15
updated context menus in editor and console window (bug #46884)
Torsten <mttl@mailbox.org>
parents:
25790
diff
changeset
|
2252 m_tool_bar->addSeparator (); |
27074
d302dfa0c572
fix order of cut, copy paste actions in editor menu and toolbar (bug #56230)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27055
diff
changeset
|
2253 m_tool_bar->addAction (m_cut_action); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2254 // m_copy_action: later via the main window |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2255 // m_paste_action: later via the main window |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2256 m_tool_bar->addAction (m_find_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2257 //m_tool_bar->addAction (m_find_next_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2258 //m_tool_bar->addAction (m_find_previous_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2259 m_tool_bar->addSeparator (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2260 m_tool_bar->addAction (m_run_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2261 m_tool_bar->addSeparator (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2262 m_tool_bar->addAction (m_toggle_breakpoint_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2263 m_tool_bar->addAction (m_previous_breakpoint_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2264 m_tool_bar->addAction (m_next_breakpoint_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2265 m_tool_bar->addAction (m_remove_all_breakpoints_action); |
20754
e6ccc8ae9e41
add list of mru files to the toolbar of the editor
Torsten <ttl@justmail.de>
parents:
20720
diff
changeset
|
2266 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2267 // layout |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2268 QVBoxLayout *vbox_layout = new QVBoxLayout (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2269 vbox_layout->addWidget (m_menu_bar); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2270 vbox_layout->addWidget (m_tool_bar); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2271 vbox_layout->addWidget (m_tab_widget); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2272 vbox_layout->setMargin (0); |
27090
e83d3161b256
make editor toolbar, tabs and statusbar more comapct (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
2273 vbox_layout->setSpacing (0); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2274 editor_widget->setLayout (vbox_layout); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2275 setWidget (editor_widget); |
16981
e86df0d43309
make ctrl-w available for readline in the gui terminal
Torsten <ttl@justmail.de>
parents:
16970
diff
changeset
|
2276 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2277 // create the context menu of the tab bar |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2278 tab_bar *bar = m_tab_widget->get_tab_bar (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2279 QMenu *ctx_men = bar->get_context_menu (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2280 ctx_men->addAction (m_close_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2281 ctx_men->addAction (m_close_all_action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2282 ctx_men->addAction (m_close_others_action); |
27330
e449134870fb
allow to sort editor tabs alphabetically (bug #42602)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27302
diff
changeset
|
2283 ctx_men->addSeparator (); |
e449134870fb
allow to sort editor tabs alphabetically (bug #42602)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27302
diff
changeset
|
2284 ctx_men->addAction (m_sort_tabs_action); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2285 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2286 // signals |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2287 connect (this, SIGNAL (request_settings_dialog (const QString&)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2288 main_win (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2289 SLOT (process_settings_dialog_request (const QString&))); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2290 |
26875
ce972086bfd6
save & run action in editor now also continues in debug mode (bug #44730)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26873
diff
changeset
|
2291 connect (this, SIGNAL (request_dbcont_signal (void)), |
ce972086bfd6
save & run action in editor now also continues in debug mode (bug #44730)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26873
diff
changeset
|
2292 main_win (), SLOT (debug_continue (void))); |
ce972086bfd6
save & run action in editor now also continues in debug mode (bug #44730)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26873
diff
changeset
|
2293 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2294 connect (m_mru_file_menu, SIGNAL (triggered (QAction *)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2295 this, SLOT (request_mru_open_file (QAction *))); |
23321
ac4d0a72927a
provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents:
23304
diff
changeset
|
2296 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2297 mru_menu_update (); |
23150
d133d90b495a
connect execute command signal in editor constructor (bug #50171)
Torsten <mttl@mailbox.org>
parents:
23146
diff
changeset
|
2298 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2299 connect (m_tab_widget, SIGNAL (tabCloseRequested (int)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2300 this, SLOT (handle_tab_close_request (int))); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2301 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2302 connect (m_tab_widget, SIGNAL (currentChanged (int)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2303 this, SLOT (active_tab_changed (int))); |
17676
c060ad097056
add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents:
17639
diff
changeset
|
2304 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2305 resize (500, 400); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2306 setWindowIcon (QIcon (":/actions/icons/logo.png")); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2307 set_title (tr ("Editor")); |
16558 | 2308 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2309 check_actions (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2310 } |
16558 | 2311 |
28382
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2312 // Slot when autocompletion list was cancelled |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2313 void file_editor::handle_autoc_cancelled (void) |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2314 { |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2315 // List was cancelled but somehow still active and blocking the |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2316 // edit area from accepting shortcuts. Only after another keypress |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2317 // shortcuts and lists are working againnas expected. This is |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2318 // probably caused by qt bug https://bugreports.qt.io/browse/QTBUG-83720 |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2319 // Hack: Accept the list, which is hidden but still active |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2320 // and undo the text insertion, if any |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2321 |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2322 file_editor_tab *f = reset_focus (); |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2323 octave_qscintilla *qsci = f->qsci_edit_area (); |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2324 |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2325 int line, col; |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2326 qsci->getCursorPosition (&line, &col); |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2327 int l1 = qsci->lineLength (line); // Current line length |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2328 |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2329 // Accept autocompletion |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2330 qsci->SendScintilla (QsciScintillaBase::SCI_AUTOCCOMPLETE); |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2331 |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2332 // Was text inserted? If yes, undo |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2333 if (qsci->text (line).length () - l1) |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2334 qsci->undo (); |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2335 } |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2336 |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2337 file_editor_tab* file_editor::reset_focus (void) |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2338 { |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2339 // Reset the focus of the tab and the related edit area |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2340 file_editor_tab *f |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2341 = static_cast<file_editor_tab *> (m_tab_widget->currentWidget ()); |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2342 emit fetab_set_focus (f); |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2343 return f; |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2344 } |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2345 |
27400
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2346 file_editor_tab * |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2347 file_editor::make_file_editor_tab (const QString& directory) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2348 { |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2349 file_editor_tab *f = new file_editor_tab (m_octave_qobj, directory); |
14676
35512b788af2
Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14674
diff
changeset
|
2350 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2351 // signals from the qscintilla edit area |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2352 connect (f->qsci_edit_area (), SIGNAL (status_update (bool, bool)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2353 this, SLOT (edit_status_update (bool, bool))); |
15356
842ab161c10a
GUI: new setting to restore tabs from previous session; allow silent load file
Thorsten Liebig <Thorsten.Liebig@gmx.de>
parents:
15321
diff
changeset
|
2354 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2355 connect (f->qsci_edit_area (), SIGNAL (show_doc_signal (const QString&)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2356 main_win (), SLOT (handle_show_doc (const QString&))); |
20796
ed770c16a3e8
also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents:
20793
diff
changeset
|
2357 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2358 connect (f->qsci_edit_area (), SIGNAL (create_context_menu_signal (QMenu *)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2359 this, SLOT (create_context_menu (QMenu *))); |
15848
424edeca3c66
Redo portions of file editor to use more signals/slots rather than casting.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
15552
diff
changeset
|
2360 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2361 connect (f->qsci_edit_area (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2362 SIGNAL (execute_command_in_terminal_signal (const QString&)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2363 main_win (), SLOT (execute_command_in_terminal (const QString&))); |
18689
fac35875f6eb
update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents:
18688
diff
changeset
|
2364 |
27556
410622ac120f
improve run selection from editor (bug #42705)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27467
diff
changeset
|
2365 connect (f->qsci_edit_area (), |
410622ac120f
improve run selection from editor (bug #42705)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27467
diff
changeset
|
2366 SIGNAL (focus_console_after_command_signal (void)), |
410622ac120f
improve run selection from editor (bug #42705)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27467
diff
changeset
|
2367 main_win (), SLOT (focus_console_after_command (void))); |
410622ac120f
improve run selection from editor (bug #42705)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27467
diff
changeset
|
2368 |
28382
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2369 connect (f->qsci_edit_area (), |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2370 SIGNAL (SCN_AUTOCCOMPLETED (const char*, int, int, int)), |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2371 this, SLOT (reset_focus (void))); |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2372 |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2373 connect (f->qsci_edit_area (), SIGNAL (SCN_AUTOCCANCELLED (void)), |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2374 this, SLOT (handle_autoc_cancelled (void))); |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2375 |
28798
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28788
diff
changeset
|
2376 // signals from the qscintilla edit area |
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28788
diff
changeset
|
2377 connect (this, SIGNAL (enter_debug_mode_signal (void)), |
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28788
diff
changeset
|
2378 f->qsci_edit_area (), SLOT (handle_enter_debug_mode (void))); |
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28788
diff
changeset
|
2379 |
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28788
diff
changeset
|
2380 connect (this, SIGNAL (exit_debug_mode_signal (void)), |
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28788
diff
changeset
|
2381 f->qsci_edit_area (), SLOT (handle_exit_debug_mode (void))); |
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28788
diff
changeset
|
2382 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2383 // Signals from the file editor_tab |
28382
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2384 connect (f, SIGNAL (autoc_closed (void)), |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2385 this, SLOT (reset_focus (void))); |
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27971
diff
changeset
|
2386 |
27053
1bdfd2b523c9
use tab icon for indicating a modified editor file (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27051
diff
changeset
|
2387 connect (f, SIGNAL (file_name_changed (const QString&, const QString&, bool)), |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2388 this, SLOT (handle_file_name_changed (const QString&, |
27053
1bdfd2b523c9
use tab icon for indicating a modified editor file (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27051
diff
changeset
|
2389 const QString&, bool))); |
19606
3156773fcc80
open a doc page from editor directly without command window
Torsten <ttl@justmail.de>
parents:
19605
diff
changeset
|
2390 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2391 connect (f, SIGNAL (editor_state_changed (bool, bool)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2392 this, SLOT (handle_editor_state_changed (bool, bool))); |
19608
4b980842edba
clean up some signal-slot combinations in the editor
Torsten <ttl@justmail.de>
parents:
19606
diff
changeset
|
2393 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2394 connect (f, SIGNAL (tab_remove_request ()), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2395 this, SLOT (handle_tab_remove_request ())); |
19608
4b980842edba
clean up some signal-slot combinations in the editor
Torsten <ttl@justmail.de>
parents:
19606
diff
changeset
|
2396 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2397 connect (f, SIGNAL (editor_check_conflict_save (const QString&, bool)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2398 this, SLOT (check_conflict_save (const QString&, bool))); |
16558 | 2399 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2400 connect (f, SIGNAL (mru_add_file (const QString&, const QString&)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2401 this, SLOT (handle_mru_add_file (const QString&, const QString&))); |
16558 | 2402 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2403 connect (f, SIGNAL (run_file_signal (const QFileInfo&)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2404 main_win (), SLOT (run_file_in_terminal (const QFileInfo&))); |
16558 | 2405 |
25895
bb0c58796275
allow to change the encoding when editor detects decoding errors (bug #54607)
Torsten <mttl@mailbox.org>
parents:
25813
diff
changeset
|
2406 connect (f, SIGNAL (request_open_file (const QString&, const QString&)), |
bb0c58796275
allow to change the encoding when editor detects decoding errors (bug #54607)
Torsten <mttl@mailbox.org>
parents:
25813
diff
changeset
|
2407 this, SLOT (request_open_file (const QString&, const QString&))); |
16558 | 2408 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2409 connect (f, SIGNAL (edit_mfile_request (const QString&, const QString&, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2410 const QString&, int)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2411 main_win (), SLOT (handle_edit_mfile_request (const QString&, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2412 const QString&, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2413 const QString&, int))); |
19605
d258070914ef
open file directly without edit command when editing a function from editor
Torsten <ttl@justmail.de>
parents:
19599
diff
changeset
|
2414 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
2415 connect (f, SIGNAL (edit_area_changed (octave_qscintilla*)), |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
2416 this, SIGNAL (edit_area_changed (octave_qscintilla*))); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27691
diff
changeset
|
2417 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2418 connect (f, SIGNAL (set_focus_editor_signal (QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2419 this, SLOT (set_focus (QWidget*))); |
20995
aab7a3c7168e
edit a file from an error message in the terminal (bug #35619)
Torsten <ttl@justmail.de>
parents:
20992
diff
changeset
|
2420 |
28788
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28567
diff
changeset
|
2421 // Signals from the file_editor or main-win non-trivial operations |
27611
0495b64288f7
use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents:
27605
diff
changeset
|
2422 connect (this, SIGNAL (fetab_settings_changed (const gui_settings *)), |
0495b64288f7
use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents:
27605
diff
changeset
|
2423 f, SLOT (notice_settings (const gui_settings *))); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2424 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2425 connect (this, SIGNAL (fetab_change_request (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2426 f, SLOT (change_editor_state (const QWidget*))); |
23177
0b59e37dd83e
unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents:
23152
diff
changeset
|
2427 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2428 connect (this, SIGNAL (fetab_save_file (const QWidget*, const QString&, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2429 bool)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2430 f, SLOT (save_file (const QWidget*, const QString&, bool))); |
16558 | 2431 |
28788
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28567
diff
changeset
|
2432 connect (main_win (), SIGNAL (update_gui_lexer_signal (bool)), |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28567
diff
changeset
|
2433 f, SLOT (update_lexer_settings (bool))); |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28567
diff
changeset
|
2434 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2435 // Signals from the file_editor trivial operations |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2436 connect (this, SIGNAL (fetab_recover_from_exit (void)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2437 f, SLOT (recover_from_exit (void))); |
19714
21015ca26566
Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
19697
diff
changeset
|
2438 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2439 connect (this, SIGNAL (fetab_set_directory (const QString&)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2440 f, SLOT (set_current_directory (const QString&))); |
21158
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21148
diff
changeset
|
2441 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2442 connect (this, SIGNAL (fetab_zoom_in (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2443 f, SLOT (zoom_in (const QWidget*))); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2444 connect (this, SIGNAL (fetab_zoom_out (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2445 f, SLOT (zoom_out (const QWidget*))); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2446 connect (this, SIGNAL (fetab_zoom_normal (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2447 f, SLOT (zoom_normal (const QWidget*))); |
19803
415864f5b85f
communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents:
19739
diff
changeset
|
2448 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2449 connect (this, SIGNAL (fetab_context_help (const QWidget*, bool)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2450 f, SLOT (context_help (const QWidget*, bool))); |
18560
26d15a57f45b
add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
2451 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2452 connect (this, SIGNAL (fetab_context_edit (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2453 f, SLOT (context_edit (const QWidget*))); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2454 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2455 connect (this, SIGNAL (fetab_save_file (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2456 f, SLOT (save_file (const QWidget*))); |
17627
811019b9ef57
Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents:
17009
diff
changeset
|
2457 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2458 connect (this, SIGNAL (fetab_save_file_as (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2459 f, SLOT (save_file_as (const QWidget*))); |
17628
99ffa521ecec
Add possibility to edit the function related to the actual keyword in editor
Torsten <ttl@justmail.de>
parents:
17627
diff
changeset
|
2460 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2461 connect (this, SIGNAL (fetab_print_file (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2462 f, SLOT (print_file (const QWidget*))); |
16558 | 2463 |
26873
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26561
diff
changeset
|
2464 connect (this, SIGNAL (fetab_run_file (const QWidget*, bool)), |
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26561
diff
changeset
|
2465 f, SLOT (run_file (const QWidget*, bool))); |
16558 | 2466 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2467 connect (this, SIGNAL (fetab_context_run (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2468 f, SLOT (context_run (const QWidget*))); |
16558 | 2469 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2470 connect (this, SIGNAL (fetab_toggle_bookmark (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2471 f, SLOT (toggle_bookmark (const QWidget*))); |
16558 | 2472 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2473 connect (this, SIGNAL (fetab_next_bookmark (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2474 f, SLOT (next_bookmark (const QWidget*))); |
17635
7945344506ae
Add possibility to run selected text of the editor in the terminal
Torsten <ttl@justmail.de>
parents:
17628
diff
changeset
|
2475 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2476 connect (this, SIGNAL (fetab_previous_bookmark (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2477 f, SLOT (previous_bookmark (const QWidget*))); |
16558 | 2478 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2479 connect (this, SIGNAL (fetab_remove_bookmark (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2480 f, SLOT (remove_bookmark (const QWidget*))); |
16558 | 2481 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2482 connect (this, SIGNAL (fetab_toggle_breakpoint (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2483 f, SLOT (toggle_breakpoint (const QWidget*))); |
16558 | 2484 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2485 connect (this, SIGNAL (fetab_next_breakpoint (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2486 f, SLOT (next_breakpoint (const QWidget*))); |
16558 | 2487 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2488 connect (this, SIGNAL (fetab_previous_breakpoint (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2489 f, SLOT (previous_breakpoint (const QWidget*))); |
16558 | 2490 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2491 connect (this, SIGNAL (fetab_remove_all_breakpoints (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2492 f, SLOT (remove_all_breakpoints (const QWidget*))); |
16558 | 2493 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2494 connect (this, SIGNAL (fetab_scintilla_command (const QWidget *, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2495 unsigned int)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2496 f, SLOT (scintilla_command (const QWidget *, unsigned int))); |
16558 | 2497 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2498 connect (this, SIGNAL (fetab_comment_selected_text (const QWidget*, bool)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2499 f, SLOT (comment_selected_text (const QWidget*, bool))); |
16558 | 2500 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2501 connect (this, SIGNAL (fetab_uncomment_selected_text (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2502 f, SLOT (uncomment_selected_text (const QWidget*))); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2503 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2504 connect (this, SIGNAL (fetab_indent_selected_text (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2505 f, SLOT (indent_selected_text (const QWidget*))); |
18656
1b289f45187f
add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents:
18651
diff
changeset
|
2506 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2507 connect (this, SIGNAL (fetab_unindent_selected_text (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2508 f, SLOT (unindent_selected_text (const QWidget*))); |
16558 | 2509 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2510 connect (this, SIGNAL (fetab_smart_indent_line_or_selected_text (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2511 f, SLOT (smart_indent_line_or_selected_text (const QWidget*))); |
18303
106da7544504
gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents:
18294
diff
changeset
|
2512 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2513 connect (this, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2514 SIGNAL (fetab_convert_eol (const QWidget*, QsciScintilla::EolMode)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2515 f, SLOT (convert_eol (const QWidget*, QsciScintilla::EolMode))); |
18303
106da7544504
gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents:
18294
diff
changeset
|
2516 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2517 connect (this, SIGNAL (fetab_goto_line (const QWidget*, int)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2518 f, SLOT (goto_line (const QWidget*, int))); |
22169
b3ced5e3cebb
Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents:
22022
diff
changeset
|
2519 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2520 connect (this, SIGNAL (fetab_move_match_brace (const QWidget*, bool)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2521 f, SLOT (move_match_brace (const QWidget*, bool))); |
16558 | 2522 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2523 connect (this, SIGNAL (fetab_completion (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2524 f, SLOT (show_auto_completion (const QWidget*))); |
16558 | 2525 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2526 connect (this, SIGNAL (fetab_set_focus (const QWidget*)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2527 f, SLOT (set_focus (const QWidget*))); |
19629
8ef79bc61d8a
add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents:
19608
diff
changeset
|
2528 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2529 connect (this, SIGNAL (fetab_insert_debugger_pointer (const QWidget*, int)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2530 f, SLOT (insert_debugger_pointer (const QWidget*, int))); |
18482
3a509de8e791
automatic completion list as user preference (bug #41469)
Torsten <ttl@justmail.de>
parents:
18460
diff
changeset
|
2531 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2532 connect (this, SIGNAL (fetab_delete_debugger_pointer (const QWidget*, int)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2533 f, SLOT (delete_debugger_pointer (const QWidget*, int))); |
16558 | 2534 |
27255
420611c61298
eliminate octave_cmd classes
John W. Eaton <jwe@octave.org>
parents:
27120
diff
changeset
|
2535 connect (f, SIGNAL (debug_quit_signal (void)), |
420611c61298
eliminate octave_cmd classes
John W. Eaton <jwe@octave.org>
parents:
27120
diff
changeset
|
2536 main_win (), SLOT (debug_quit (void))); |
420611c61298
eliminate octave_cmd classes
John W. Eaton <jwe@octave.org>
parents:
27120
diff
changeset
|
2537 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2538 connect (this, SIGNAL (fetab_do_breakpoint_marker (bool, const QWidget*, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2539 int, const QString&)), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2540 f, SLOT (do_breakpoint_marker (bool, const QWidget*, int, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2541 const QString&))); |
16558 | 2542 |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27281
diff
changeset
|
2543 // Any interpreter_event signal from a file_editor_tab_widget is |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27281
diff
changeset
|
2544 // handled the same as for the parent main_window object. |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27281
diff
changeset
|
2545 |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27281
diff
changeset
|
2546 connect (f, SIGNAL (interpreter_event (const fcn_callback&)), |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27281
diff
changeset
|
2547 this, SIGNAL (interpreter_event (const fcn_callback&))); |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27281
diff
changeset
|
2548 |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27281
diff
changeset
|
2549 connect (f, SIGNAL (interpreter_event (const meth_callback&)), |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27281
diff
changeset
|
2550 this, SIGNAL (interpreter_event (const meth_callback&))); |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27281
diff
changeset
|
2551 |
27400
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2552 return f; |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2553 } |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2554 |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2555 void file_editor::add_file_editor_tab (file_editor_tab *f, const QString& fn, |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2556 int index) |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2557 { |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2558 if (index == -1) |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2559 m_tab_widget->addTab (f, fn); |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2560 else |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2561 m_tab_widget->insertTab (index, f, fn); |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
2562 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2563 m_tab_widget->setCurrentWidget (f); |
16558 | 2564 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2565 check_actions (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2566 } |
15848
424edeca3c66
Redo portions of file editor to use more signals/slots rather than casting.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
15552
diff
changeset
|
2567 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2568 void file_editor::mru_menu_update (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2569 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2570 int num_files = qMin (m_mru_files.size (), int (MaxMRUFiles)); |
15873
7d300b85ee25
allow build to proceed if either Qt or QScintilla is missing
John W. Eaton <jwe@octave.org>
parents:
15861
diff
changeset
|
2571 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2572 // configure and show active actions of mru-menu |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2573 for (int i = 0; i < num_files; ++i) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2574 { |
25062 | 2575 QString text = QString ("&%1 %2"). |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2576 arg ((i+1) % int (MaxMRUFiles)).arg (m_mru_files.at (i)); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2577 m_mru_file_actions[i]->setText (text); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2578 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2579 QStringList action_data; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2580 action_data << m_mru_files.at (i) << m_mru_files_encodings.at (i); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2581 m_mru_file_actions[i]->setData (action_data); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2582 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2583 m_mru_file_actions[i]->setVisible (true); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2584 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2585 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2586 // hide unused mru-menu entries |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2587 for (int j = num_files; j < MaxMRUFiles; ++j) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2588 m_mru_file_actions[j]->setVisible (false); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2589 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2590 // delete entries in string-list beyond MaxMRUFiles |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2591 while (m_mru_files.size () > MaxMRUFiles) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2592 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2593 m_mru_files.removeLast (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2594 m_mru_files_encodings.removeLast (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2595 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2596 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2597 // save actual mru-list in settings |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2598 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2599 gui_settings *settings = rmgr.get_settings (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2600 |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
2601 settings->setValue (ed_mru_file_list.key, m_mru_files); |
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
2602 settings->setValue (ed_mru_file_encodings.key, m_mru_files_encodings); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2603 settings->sync (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2604 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2605 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2606 bool file_editor::call_custom_editor (const QString& file_name, int line) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2607 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2608 // Check if the user wants to use a custom file editor. |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2609 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2610 gui_settings *settings = rmgr.get_settings (); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2611 |
27805
dccc551aa83b
replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
2612 if (settings->value (global_use_custom_editor.key, |
dccc551aa83b
replace literal strings by symbolic constants for global preferences
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
2613 global_use_custom_editor.def).toBool ()) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2614 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2615 // use the external editor interface for handling the call |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2616 emit request_open_file_external (file_name, line); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2617 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2618 if (line < 0 && ! file_name.isEmpty ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2619 handle_mru_add_file (QFileInfo (file_name).canonicalFilePath (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2620 QString ()); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2621 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2622 return true; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2623 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2624 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2625 return false; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2626 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2627 |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
2628 void file_editor::toggle_preference (const gui_pref& preference) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2629 { |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2630 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
2631 gui_settings *settings = rmgr.get_settings (); |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
2632 |
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
2633 bool old = settings->value (preference).toBool (); |
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27849
diff
changeset
|
2634 settings->setValue (preference.key, ! old); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2635 notice_settings (settings); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2636 } |
19945
f7a805f02723
link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents:
19930
diff
changeset
|
2637 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2638 // Function for closing the files in a removed directory |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2639 void file_editor::handle_dir_remove (const QString& old_name, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2640 const QString& new_name) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2641 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2642 QDir old_dir (old_name); |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2643 session_data f_data; |
20693
7751bd56d0be
added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents:
20630
diff
changeset
|
2644 |
27635
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2645 std::list<file_editor_tab *> editor_tab_lst = m_tab_widget->tab_list (); |
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2646 |
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2647 for (auto editor_tab : editor_tab_lst) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2648 { |
27635
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2649 QString file_name = editor_tab->file_name (); |
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2650 |
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2651 if (file_name.isEmpty ()) |
26928
3e6aa7c7bbbb
prevent unnamed editor tab from being closed by rmdir (bug #55888)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26554
diff
changeset
|
2652 continue; // Nothing to do, no valid file name |
3e6aa7c7bbbb
prevent unnamed editor tab from being closed by rmdir (bug #55888)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26554
diff
changeset
|
2653 |
27047
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2654 // Get abs. file path and its path relative to the removed directory |
27635
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2655 QString rel_path_to_file = old_dir.relativeFilePath (file_name); |
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2656 QString abs_path_to_file = old_dir.absoluteFilePath (file_name); |
27047
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2657 |
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2658 // Test whether the file is located within the directory that will |
27929
265b386f8b20
maint: Use two spaces between sentences in code comments.
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
2659 // be removed. For this, two conditions must be met: |
27047
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2660 // 1. The path of the file rel. to the dir is not equal to the |
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2661 // its absolute one. |
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2662 // If both are equal, then there is no relative path and removed |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27861
diff
changeset
|
2663 // directory and file are on different drives (e.g. on windows) |
27047
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2664 // 2. The (real) relative path does not start with "../", i.e., |
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2665 // the file can be reached from the directory by descending only |
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2666 if ((rel_path_to_file != abs_path_to_file) |
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2667 && (rel_path_to_file.left (3) != QString ("../"))) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2668 { |
27047
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2669 // The currently considered file is included in the |
66fa9ebb0c3e
prevent editor from closing files that are not affected by rmdir (bug #55823)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26928
diff
changeset
|
2670 // removed/renamed diectory: Delete it. |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2671 m_no_focus = true; // Remember for not focussing editor |
27635
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2672 |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2673 if (editor_tab) |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2674 { |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2675 // Get index and line |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2676 int l, c; |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2677 editor_tab->qsci_edit_area ()->getCursorPosition (&l, &c); |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2678 f_data.line = l + 1; |
27635
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2679 f_data.index = m_tab_widget->indexOf (editor_tab); |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2680 // Close |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2681 editor_tab->file_has_changed (QString (), true); |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2682 } |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2683 m_no_focus = false; // Back to normal |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2684 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2685 // Store file for possible later reload |
27635
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2686 f_data.file_name = file_name; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2687 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2688 // Add the new file path and the encoding for later reloading |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2689 // if new_name is given |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2690 if (! new_name.isEmpty ()) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2691 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2692 QDir new_dir (new_name); |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2693 QString append_to_new_dir; |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2694 if (new_dir.exists ()) |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2695 { |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2696 // The new directory already exists (movefile was used). |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2697 // This means, we have to add the name (not the path) |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2698 // of the old dir and the relative path to the file |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2699 // to new dir. |
27635
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2700 append_to_new_dir |
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2701 = old_dir.dirName () + "/" + rel_path_to_file; |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2702 } |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2703 else |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2704 append_to_new_dir = rel_path_to_file; |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2705 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25748
diff
changeset
|
2706 f_data.new_file_name |
27635
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2707 = new_dir.absoluteFilePath (append_to_new_dir); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2708 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2709 else |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2710 f_data.new_file_name = ""; // no new name, just removing this file |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2711 |
27635
a10b3e56d678
simplify loop over tabs in file_editor::handle_dir_remove
John W. Eaton <jwe@octave.org>
parents:
27634
diff
changeset
|
2712 f_data.encoding = editor_tab->encoding (); // store the encoding |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2713 |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2714 // Store data in list for later reloading |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25742
diff
changeset
|
2715 m_tmp_closed_files << f_data; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2716 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2717 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2718 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2719 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2720 bool file_editor::editor_tab_has_focus (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2721 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2722 QWidget *foc_w = focusWidget (); |
24730
05c9f42512cb
* file-editor.cc: fix broken copy/cut/past/undo actions
Torsten <mttl@mailbox.org>
parents:
24717
diff
changeset
|
2723 if (foc_w && foc_w->inherits ("octave::octave_qscintilla")) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2724 return true; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2725 return false; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2726 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2727 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2728 // Check whether this file is already open in the editor. |
27637
d16336646e18
return pointer to file_editor_tab from file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27636
diff
changeset
|
2729 file_editor_tab * file_editor::find_tab_widget (const QString& file) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2730 { |
27634
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2731 std::string std_file = file.toStdString (); |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2732 |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2733 std::list<file_editor_tab *> fe_tab_lst = m_tab_widget->tab_list (); |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2734 |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2735 for (auto fe_tab : fe_tab_lst) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2736 { |
27634
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2737 QString tab_file = fe_tab->file_name (); |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2738 |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2739 // We check file == tab_file because |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2740 // |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2741 // same_file ("", "") |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2742 // |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2743 // is false |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2744 |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2745 if (same_file (std_file, tab_file.toStdString ()) || file == tab_file) |
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2746 return fe_tab; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2747 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2748 |
27634
57b9cf9d8796
simplify loop over tabs in file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
2749 return nullptr; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2750 } |
23321
ac4d0a72927a
provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents:
23304
diff
changeset
|
2751 |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2752 QAction * file_editor::add_action (QMenu *menu, const QString& text, |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2753 const char *member, |
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2754 QWidget *receiver) |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2755 { |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2756 return add_action (menu, QIcon (), text, member, receiver); |
24717
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2757 } |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2758 |
63b5ac6a5ee7
* file-editor.cc: More style fixes.
John W. Eaton <jwe@octave.org>
parents:
24716
diff
changeset
|
2759 QAction * file_editor::add_action (QMenu *menu, const QIcon& icon, |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2760 const QString& text, const char *member, |
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2761 QWidget *receiver) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2762 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2763 QAction *a; |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2764 QWidget *r = this; |
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2765 |
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2766 if (receiver != nullptr) |
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2767 r = receiver; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2768 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2769 if (menu) |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2770 a = menu->addAction (icon, text, r, member); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2771 else |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2772 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2773 a = new QAction (this); |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24730
diff
changeset
|
2774 connect (a, SIGNAL (triggered ()), r, member); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2775 } |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2776 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2777 addAction (a); // important for shortcut context |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2778 a->setShortcutContext (Qt::WidgetWithChildrenShortcut); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2779 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2780 return a; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2781 } |
23276
ea143f4f76a5
Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents:
23223
diff
changeset
|
2782 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2783 QMenu* file_editor::add_menu (QMenuBar *p, QString name) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2784 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2785 QMenu *menu = p->addMenu (name); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2786 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2787 QString base_name = name; // get a copy |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2788 // replace intended '&' ("&&") by a temp. string |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2789 base_name.replace ("&&", "___octave_amp_replacement___"); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2790 // remove single '&' (shortcut) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2791 base_name.remove ("&"); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2792 // restore intended '&' |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2793 base_name.replace ("___octave_amp_replacement___", "&&"); |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2794 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2795 // remember names with and without shortcut |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2796 m_hash_menu_text[menu] = QStringList () << name << base_name; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
2797 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2798 return menu; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
2799 } |
23304
fb495c47e82d
allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents:
23300
diff
changeset
|
2800 } |
fb495c47e82d
allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents:
23300
diff
changeset
|
2801 |
15873
7d300b85ee25
allow build to proceed if either Qt or QScintilla is missing
John W. Eaton <jwe@octave.org>
parents:
15861
diff
changeset
|
2802 #endif |