Mercurial > octave
annotate libgui/src/m-editor/file-editor.h @ 31619:ad014fc78bd6
use individual local gui_settings objects
Previously, we created a single gui_settings object (derived from
QSettings) and accessed it from the resource_manager object. That
design is not necessary and is not the way QSettings was designed to
be used. Instead of managing a single object, we should be using
individual QSettings objects where needed. Each individual QSettings
object manages thread-safe access to a single global collection of
settings. The Qt docs say that operations on QSettings are not thread
safe, but that means that you can't create a QSettings object in one
thread and use it in another without some locking. I'm not sure
whether we were doing that correctly, but with this change it no
longer matters. Each QSettings object does perform locking when
reading or writing the underlying global data.
* resource-manager.h, resource-manager.cc
(resource_manager::m_settings): Delete data member.
(resource_manager::get_settings): Delete.
* annotation-dialog.cc, QTerminal.cc, QTerminal.h, command-widget.cc,
command-widget.h, community-news.cc, dialog.cc,
documentation-bookmarks.cc, documentation-bookmarks.h,
documentation-dock-widget.cc, documentation-dock-widget.h,
documentation.cc, documentation.h, dw-main-window.cc,
dw-main-window.h, external-editor-interface.cc, files-dock-widget.cc,
files-dock-widget.h, find-files-dialog.cc, history-dock-widget.cc,
history-dock-widget.h, file-editor-interface.h, file-editor-tab.cc,
file-editor-tab.h, file-editor.cc, file-editor.h, find-dialog.cc,
octave-qscintilla.cc, main-window.cc, main-window.h, news-reader.cc,
octave-dock-widget.cc, octave-dock-widget.h, qt-interpreter-events.cc,
qt-interpreter-events.h, release-notes.cc, resource-manager.cc,
resource-manager.h, set-path-dialog.cc, settings-dialog.cc,
settings-dialog.h, shortcut-manager.cc, shortcut-manager.h,
terminal-dock-widget.cc, terminal-dock-widget.h, variable-editor.cc,
variable-editor.h, welcome-wizard.cc, workspace-model.cc,
workspace-model.h, workspace-view.cc: Use local gui_settings objects
instead of accessing a pointer to a single gui_settings object owned
by the resource_manager object.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 02 Dec 2022 14:23:53 -0500 |
parents | c6c4c6f04170 |
children | 431f80aba37a |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 // |
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
30398
diff
changeset
|
3 // Copyright (C) 2011-2022 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 // See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 // distribution or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
13501 | 25 |
21203
710e700cdd7f
maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents:
21158
diff
changeset
|
26 #if ! defined (octave_file_editor_h) |
710e700cdd7f
maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents:
21158
diff
changeset
|
27 #define octave_file_editor_h 1 |
13501 | 28 |
27633
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27629
diff
changeset
|
29 #include <list> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
30 #include <map> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
31 |
13584 | 32 #include <QAction> |
13524
8c143d6d0330
gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents:
13506
diff
changeset
|
33 #include <QCloseEvent> |
18651
992b6354c8c6
GUI: implement file drag and drop to command and edit window (Bug #41443)
John Donoghue
parents:
18560
diff
changeset
|
34 #include <QDragEnterEvent> |
992b6354c8c6
GUI: implement file drag and drop to command and edit window (Bug #41443)
John Donoghue
parents:
18560
diff
changeset
|
35 #include <QDropEvent> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
36 #include <QMenuBar> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
37 #include <QStackedWidget> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
38 #include <QStatusBar> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
39 #include <QTabWidget> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27400
diff
changeset
|
40 #include <QToolBar> |
16377
8430ea8c1594
open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents:
16375
diff
changeset
|
41 |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15106
diff
changeset
|
42 #include "file-editor-interface.h" |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15106
diff
changeset
|
43 #include "file-editor-tab.h" |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27651
diff
changeset
|
44 #include "find-dialog.h" |
24713 | 45 #include "tab-bar.h" |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15106
diff
changeset
|
46 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
47 namespace octave |
23304
fb495c47e82d
allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents:
23276
diff
changeset
|
48 { |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
49 class base_qobject; |
29713
7b4b7e2a524d
fix signal connection to grand parent
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29698
diff
changeset
|
50 class 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
|
51 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
52 // subclassed QTabWidget for using custom tabbar |
23304
fb495c47e82d
allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents:
23276
diff
changeset
|
53 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
54 class file_editor_tab_widget : public QTabWidget |
22411
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
55 { |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
56 Q_OBJECT |
20796
ed770c16a3e8
also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents:
20793
diff
changeset
|
57 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
58 public: |
22600
dd80fb1ef949
maint: minor style fixes for C++ code.
John W. Eaton <jwe@octave.org>
parents:
22411
diff
changeset
|
59 |
29713
7b4b7e2a524d
fix signal connection to grand parent
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29698
diff
changeset
|
60 file_editor_tab_widget (QWidget *p, file_editor *fe); |
16457
10edb6f1ae98
improve encapsulation of file editor window object
John W. Eaton <jwe@octave.org>
parents:
16452
diff
changeset
|
61 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
62 ~file_editor_tab_widget (void) = default; |
24020
387be1a6c3dc
style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents:
23920
diff
changeset
|
63 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
64 tab_bar * get_tab_bar (void) const; |
27633
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27629
diff
changeset
|
65 |
fd009322dd9f
eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents:
27629
diff
changeset
|
66 std::list<file_editor_tab *> tab_list (void) const; |
22411
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
67 }; |
13501 | 68 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
69 // the class for the file editor |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
70 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
71 class file_editor : public file_editor_interface |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
72 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
73 Q_OBJECT |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
74 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
75 public: |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
76 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
77 // struct that allows to sort with respect to the tab index |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
78 struct session_data |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
79 { |
25293
ae0518976e2b
open files in correct order when restoring editor session (bug #53711)
Torsten <mttl@mailbox.org>
parents:
25103
diff
changeset
|
80 int index; |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25293
diff
changeset
|
81 int line; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
82 QString file_name; |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25293
diff
changeset
|
83 QString new_file_name; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
84 QString encoding; |
31181
c6c4c6f04170
also restore bookmarks when restoring an editor session at startup
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30745
diff
changeset
|
85 QString bookmarks; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
86 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
87 bool operator < (const session_data& other) const |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
88 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
89 return index < other.index; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
90 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
91 }; |
16558 | 92 |
30745
2f6904439d3c
fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
93 struct removed_file_data |
2f6904439d3c
fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
94 { |
2f6904439d3c
fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
95 file_editor_tab *editor_tab; |
2f6904439d3c
fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
96 QString new_file_name; |
2f6904439d3c
fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
97 }; |
2f6904439d3c
fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
98 |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
99 file_editor (QWidget *p, base_qobject& oct_qobj); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
100 |
29550
8dd0fca2a3d9
where possible, use default destructors in GUI classes
John W. Eaton <jwe@octave.org>
parents:
29469
diff
changeset
|
101 ~file_editor (void) = default; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
102 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
103 QMenu * get_mru_menu (void) { return m_mru_file_menu; } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
104 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
105 QMenu * debug_menu (void) { return m_debug_menu; } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
106 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
107 QToolBar * toolbar (void) { return m_tool_bar; } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
108 |
29085
3b29d72645a9
fix alt-key stealing focus from current dock widget in gui
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28798
diff
changeset
|
109 QMenuBar * menubar (void) { return m_menu_bar; } |
3b29d72645a9
fix alt-key stealing focus from current dock widget in gui
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28798
diff
changeset
|
110 |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
29715
diff
changeset
|
111 void insert_global_actions (QList<QAction *>); |
18560
26d15a57f45b
add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
112 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
113 enum shared_actions_idx |
25103
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
114 { |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
115 NEW_SCRIPT_ACTION = 0, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
116 NEW_FUNCTION_ACTION, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
117 OPEN_ACTION, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
118 FIND_FILES_ACTION, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
119 UNDO_ACTION, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
120 COPY_ACTION, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
121 PASTE_ACTION, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
122 SELECTALL_ACTION |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
123 }; |
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
|
124 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
125 void check_actions (void); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
126 void empty_script (bool startup, bool visible); |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
31181
diff
changeset
|
127 void restore_session (void); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
128 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
129 signals: |
13524
8c143d6d0330
gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents:
13506
diff
changeset
|
130 |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
31181
diff
changeset
|
131 void fetab_settings_changed (void); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
132 void fetab_change_request (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
133 // Save is a ping-pong type of communication |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
134 void fetab_save_file (const QWidget *ID, const QString& fileName, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
135 bool remove_on_success); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
136 // No fetab_open, functionality in editor |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
137 // No fetab_new, functionality in editor |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
138 void fetab_context_help (const QWidget *ID, bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
139 void fetab_context_edit (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
140 void fetab_save_file (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
141 void fetab_save_file_as (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
142 void fetab_print_file (const QWidget *ID); |
26873
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26376
diff
changeset
|
143 void fetab_run_file (const QWidget *ID, bool step_into = false); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
144 void fetab_context_run (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
145 void fetab_toggle_bookmark (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
146 void fetab_next_bookmark (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
147 void fetab_previous_bookmark (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
148 void fetab_remove_bookmark (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
149 void fetab_toggle_breakpoint (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
150 void fetab_next_breakpoint (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
151 void fetab_previous_breakpoint (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
152 void fetab_remove_all_breakpoints (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
153 void fetab_comment_selected_text (const QWidget *ID, bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
154 void fetab_uncomment_selected_text (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
155 void fetab_indent_selected_text (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
156 void fetab_unindent_selected_text (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
157 void fetab_smart_indent_line_or_selected_text (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
158 void fetab_convert_eol (const QWidget *ID, QsciScintilla::EolMode eol_mode); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
159 void fetab_goto_line (const QWidget *ID, int line = -1); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
160 void fetab_move_match_brace (const QWidget *ID, bool select); |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
29715
diff
changeset
|
161 void fetab_completion (const QWidget *); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
162 void fetab_insert_debugger_pointer (const QWidget *ID, int line = -1); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
163 void fetab_delete_debugger_pointer (const QWidget *ID, int line = -1); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
164 void fetab_do_breakpoint_marker (bool insert, const QWidget *ID, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
165 int line = -1, const QString& = ""); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
166 void fetab_set_focus (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
167 void fetab_scintilla_command (const QWidget *ID, unsigned int sci_msg); |
14825
eae0e9f2a8c6
Added menus, markers and methods to visualize debugging in the editor and add, remove and navigate breakpoints* .
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14795
diff
changeset
|
168 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
169 void fetab_zoom_in (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
170 void fetab_zoom_out (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
171 void fetab_zoom_normal (const QWidget *ID); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
172 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
173 void fetab_set_directory (const QString& dir); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
174 void fetab_recover_from_exit (void); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
175 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27651
diff
changeset
|
176 void edit_area_changed (octave_qscintilla *edit_area); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27651
diff
changeset
|
177 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
178 void request_settings_dialog (const QString&); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
179 void request_open_file_external (const QString& file_name, int line); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
180 void file_loaded_signal (void); |
18656
1b289f45187f
add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents:
18651
diff
changeset
|
181 |
29439
fe06fafb4cac
fix en-/disabling some editor actions depending on file type (bug #60214)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29374
diff
changeset
|
182 void editor_tabs_changed_signal (bool, bool); |
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
|
183 void request_dbcont_signal (void); |
26873
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26376
diff
changeset
|
184 |
28798
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28382
diff
changeset
|
185 void 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:
28382
diff
changeset
|
186 void 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:
28382
diff
changeset
|
187 |
29597
07591becbc40
eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents:
29550
diff
changeset
|
188 void update_gui_lexer_signal (bool); |
07591becbc40
eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents:
29550
diff
changeset
|
189 void execute_command_in_terminal_signal (const QString&); |
07591becbc40
eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents:
29550
diff
changeset
|
190 void focus_console_after_command_signal (void); |
07591becbc40
eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents:
29550
diff
changeset
|
191 void run_file_signal (const QFileInfo&); |
07591becbc40
eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents:
29550
diff
changeset
|
192 void edit_mfile_request (const QString&, const QString&, const QString&, int); |
07591becbc40
eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents:
29550
diff
changeset
|
193 void debug_quit_signal (void); |
07591becbc40
eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents:
29550
diff
changeset
|
194 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
195 public slots: |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
196 |
27281
0915fec3d3a9
prevent gui from catching focus when its desktop workspace becomes active
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27089
diff
changeset
|
197 void activate (void); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
198 void set_focus (QWidget *fet); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
199 void enable_menu_shortcuts (bool); |
29372
fd1c45b62ba9
fix restoring editor session after having closed all tabs (bug #60051)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29358
diff
changeset
|
200 void save_session (void); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
201 bool check_closing (void); |
27605
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27412
diff
changeset
|
202 void handle_tab_ready_to_close (void); |
18303
106da7544504
gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents:
17903
diff
changeset
|
203 |
28798
82ccc4e69ba3
show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28382
diff
changeset
|
204 void 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:
28382
diff
changeset
|
205 void 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:
28382
diff
changeset
|
206 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
207 void request_new_file (const QString& commands); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
208 void request_close_file (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
209 void request_close_all_files (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
210 void request_close_other_files (bool); |
29469
b4906d3eeb63
provide a tab context menu entry for copying the full path of an editor file
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29439
diff
changeset
|
211 void copy_full_file_path (bool); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
212 void request_mru_open_file (QAction *action); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
213 void request_print_file (bool); |
18303
106da7544504
gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents:
17903
diff
changeset
|
214 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
215 void request_redo (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
216 void request_cut (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
217 void request_context_help (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
218 void request_context_doc (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
219 void request_context_edit (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
220 void request_save_file (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
221 void request_save_file_as (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
222 void request_run_file (bool); |
26873
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26376
diff
changeset
|
223 void request_step_into_file (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
224 void request_context_run (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
225 void request_toggle_bookmark (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
226 void request_next_bookmark (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
227 void request_previous_bookmark (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
228 void request_remove_bookmark (bool); |
16375
f482302d81c9
editor goto line menu item (bug #38590)
John Donoghue <john.donoghue@ieee.org>
parents:
16291
diff
changeset
|
229 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
230 void request_move_match_brace (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
231 void request_sel_match_brace (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
232 void request_toggle_breakpoint (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
233 void request_next_breakpoint (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
234 void request_previous_breakpoint (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
235 void request_remove_breakpoint (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
236 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
237 void request_delete_start_word (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
238 void request_delete_end_word (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
239 void request_delete_start_line (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
240 void request_delete_end_line (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
241 void request_delete_line (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
242 void request_copy_line (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
243 void request_cut_line (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
244 void request_duplicate_selection (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
245 void request_transpose_line (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
246 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
247 void request_comment_selected_text (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
248 void request_uncomment_selected_text (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
249 void request_comment_var_selected_text (bool); |
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
|
250 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
251 void request_upper_case (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
252 void request_lower_case (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
253 void request_indent_selected_text (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
254 void request_unindent_selected_text (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
255 void request_smart_indent_line_or_selected_text (void); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
256 void request_conv_eol_windows (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
257 void request_conv_eol_unix (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
258 void request_conv_eol_mac (bool); |
16558 | 259 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
260 void request_find (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
261 void request_find_next (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
262 void request_find_previous (bool); |
16377
8430ea8c1594
open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents:
16375
diff
changeset
|
263 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
264 void request_goto_line (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
265 void request_completion (bool); |
13524
8c143d6d0330
gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents:
13506
diff
changeset
|
266 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
267 void handle_file_name_changed (const QString& fileName, |
27053
1bdfd2b523c9
use tab icon for indicating a modified editor file (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26875
diff
changeset
|
268 const QString& toolTip, |
1bdfd2b523c9
use tab icon for indicating a modified editor file (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26875
diff
changeset
|
269 bool modified); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
270 void handle_tab_close_request (int index); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
271 void handle_tab_remove_request (void); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
272 void active_tab_changed (int index); |
29698
bbf5d4ea616c
fix enabled state of editor save action depending on modification state
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29597
diff
changeset
|
273 void handle_editor_state_changed (bool enableCopy, bool is_octave_file, |
bbf5d4ea616c
fix enabled state of editor save action depending on modification state
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29597
diff
changeset
|
274 bool is_modified); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
275 void handle_mru_add_file (const QString& file_name, const QString& encoding); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
276 void check_conflict_save (const QString& fileName, bool remove_on_success); |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16881
diff
changeset
|
277 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
278 void handle_insert_debugger_pointer_request (const QString& file, int line); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
279 void handle_delete_debugger_pointer_request (const QString& file, int line); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
280 void handle_update_breakpoint_marker_request (bool insert, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
281 const QString& file, int line, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
282 const QString& cond); |
23204
75515a7b1b4b
add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents:
23177
diff
changeset
|
283 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
284 void handle_edit_file_request (const QString& file); |
16558 | 285 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
286 void handle_file_remove (const QString&, const QString&); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
287 void handle_file_renamed (bool load_new = true); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
288 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
289 // Tells the editor to react on changed settings. |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
31181
diff
changeset
|
290 void notice_settings (void); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
291 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
292 void set_shortcuts (void); |
23379
2a122c3fd80f
Backed out changeset 2cee3976d88f
Torsten <mttl@mailbox.org>
parents:
23378
diff
changeset
|
293 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
294 void handle_visibility (bool visible); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
295 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
296 void update_octave_directory (const QString& dir); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
297 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27651
diff
changeset
|
298 void toplevel_change (bool toplevel); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27651
diff
changeset
|
299 |
28382
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27923
diff
changeset
|
300 void 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:
27923
diff
changeset
|
301 |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
29715
diff
changeset
|
302 file_editor_tab * reset_focus (void); |
28382
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27923
diff
changeset
|
303 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
304 protected slots: |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
305 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
306 void copyClipboard (void); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
307 void pasteClipboard (void); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
308 void selectAll (void); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
309 void do_undo (void); |
18560
26d15a57f45b
add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
310 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
311 private slots: |
20693
7751bd56d0be
added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents:
19945
diff
changeset
|
312 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
313 void request_open_file (const QString& fileName, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
314 const QString& encoding = QString (), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
315 int line = -1, bool debug_pointer = false, |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
316 bool breakpoint_marker = false, bool insert = true, |
31181
c6c4c6f04170
also restore bookmarks when restoring an editor session at startup
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30745
diff
changeset
|
317 const QString& cond = "", int index = -1, |
c6c4c6f04170
also restore bookmarks when restoring an editor session at startup
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30745
diff
changeset
|
318 const QString& bookmarks = QString ()); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
319 void request_preferences (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
320 void request_styles_preferences (bool); |
18651
992b6354c8c6
GUI: implement file drag and drop to command and edit window (Bug #41443)
John Donoghue
parents:
18560
diff
changeset
|
321 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
322 void show_line_numbers (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
323 void show_white_space (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
324 void show_eol_chars (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
325 void show_indent_guides (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
326 void show_long_line (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
327 void show_toolbar (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
328 void show_statusbar (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
329 void show_hscrollbar (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
330 void zoom_in (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
331 void zoom_out (bool); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
332 void zoom_normal (bool); |
19246
62756ba9e4e5
add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents:
18944
diff
changeset
|
333 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
334 void create_context_menu (QMenu *); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
335 void edit_status_update (bool, bool); |
19945
f7a805f02723
link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents:
19803
diff
changeset
|
336 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
337 protected: |
16546
c1e90c7cfd30
try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents:
16457
diff
changeset
|
338 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
339 void closeEvent (QCloseEvent *event); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
340 void dragEnterEvent (QDragEnterEvent *event); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
341 void dropEvent (QDropEvent *event); |
28382
2b52e473b6ef
fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27923
diff
changeset
|
342 void focusInEvent (QFocusEvent *e); |
18944
b2c4d6d461f0
fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents:
18767
diff
changeset
|
343 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
344 private: |
16377
8430ea8c1594
open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents:
16375
diff
changeset
|
345 |
27400
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
346 file_editor_tab * make_file_editor_tab (const QString& directory = ""); |
7cf857166440
connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents:
27330
diff
changeset
|
347 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
348 bool is_editor_console_tabbed (void); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
349 void construct (void); |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25293
diff
changeset
|
350 void add_file_editor_tab (file_editor_tab *f, const QString& fn, |
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25293
diff
changeset
|
351 int index = -1); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
352 void mru_menu_update (void); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
353 bool call_custom_editor (const QString& file_name = QString (), int line = -1); |
14676
35512b788af2
Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14674
diff
changeset
|
354 |
27861
3fada47cc58a
replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
355 void toggle_preference (const gui_pref& preference); |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16881
diff
changeset
|
356 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
357 void handle_dir_remove (const QString& old_name, const QString& new_name); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
358 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
359 bool editor_tab_has_focus (void); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
360 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27651
diff
changeset
|
361 void find_create (void); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27651
diff
changeset
|
362 |
27637
d16336646e18
return pointer to file_editor_tab from file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents:
27633
diff
changeset
|
363 file_editor_tab * find_tab_widget (const QString& openFileName); |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24717
diff
changeset
|
364 QAction * add_action (QMenu *menu, const QString& text, |
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24717
diff
changeset
|
365 const char *member, QWidget *receiver = nullptr); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
366 QAction * add_action (QMenu *menu, const QIcon& icon, const QString& text, |
24731
a01472d4a170
use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents:
24717
diff
changeset
|
367 const char *member, QWidget *receiver = nullptr); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
368 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
369 QMenu * add_menu (QMenuBar *p, QString text); |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
370 |
27605
60cecb3fed04
fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27412
diff
changeset
|
371 int m_number_of_tabs; |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
29715
diff
changeset
|
372 QHash<QMenu *, QStringList> m_hash_menu_text; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
373 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
374 QString m_ced; |
18303
106da7544504
gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents:
17903
diff
changeset
|
375 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
376 QMenuBar *m_menu_bar; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
377 QToolBar *m_tool_bar; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
378 QMenu *m_debug_menu; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
379 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
380 QAction *m_new_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
381 QAction *m_new_function_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
382 QAction *m_open_action; |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16881
diff
changeset
|
383 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
384 QAction *m_upper_case_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
385 QAction *m_lower_case_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
386 QAction *m_comment_selection_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
387 QAction *m_comment_var_selection_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
388 QAction *m_uncomment_selection_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
389 QAction *m_indent_selection_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
390 QAction *m_unindent_selection_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
391 QAction *m_smart_indent_line_or_selection_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
392 QAction *m_conv_eol_windows_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
393 QAction *m_conv_eol_unix_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
394 QAction *m_conv_eol_mac_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
395 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
396 QAction *m_copy_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
397 QAction *m_cut_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
398 QAction *m_paste_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
399 QAction *m_selectall_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
400 QAction *m_context_help_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
401 QAction *m_context_doc_action; |
18560
26d15a57f45b
add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
402 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
403 QAction *m_show_linenum_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
404 QAction *m_show_whitespace_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
405 QAction *m_show_eol_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
406 QAction *m_show_indguide_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
407 QAction *m_show_longline_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
408 QAction *m_show_toolbar_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
409 QAction *m_show_statusbar_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
410 QAction *m_show_hscrollbar_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
411 QAction *m_zoom_in_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
412 QAction *m_zoom_out_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
413 QAction *m_zoom_normal_action; |
18656
1b289f45187f
add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents:
18651
diff
changeset
|
414 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
415 QAction *m_delete_start_word_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
416 QAction *m_delete_end_word_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
417 QAction *m_delete_start_line_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
418 QAction *m_delete_end_line_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
419 QAction *m_delete_line_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
420 QAction *m_copy_line_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
421 QAction *m_cut_line_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
422 QAction *m_duplicate_selection_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
423 QAction *m_transpose_line_action; |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16881
diff
changeset
|
424 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
425 QAction *m_find_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
426 QAction *m_find_next_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
427 QAction *m_find_previous_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
428 QAction *m_find_files_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
429 QAction *m_goto_line_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
430 QAction *m_completion_action; |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16881
diff
changeset
|
431 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
432 QAction *m_move_to_matching_brace; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
433 QAction *m_sel_to_matching_brace; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
434 QAction *m_next_bookmark_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
435 QAction *m_previous_bookmark_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
436 QAction *m_toggle_bookmark_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
437 QAction *m_remove_bookmark_action; |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16881
diff
changeset
|
438 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
439 QAction *m_print_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
440 QAction *m_run_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
441 QAction *m_run_selection_action; |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16881
diff
changeset
|
442 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
443 QAction *m_edit_function_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
444 QAction *m_popdown_mru_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
445 QAction *m_save_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
446 QAction *m_save_as_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
447 QAction *m_close_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
448 QAction *m_close_all_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
449 QAction *m_close_others_action; |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16881
diff
changeset
|
450 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
451 QAction *m_redo_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
452 QAction *m_undo_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
453 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
454 QAction *m_preferences_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
455 QAction *m_styles_preferences_action; |
17676
c060ad097056
add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents:
17635
diff
changeset
|
456 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
457 QAction *m_switch_left_tab_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
458 QAction *m_switch_right_tab_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
459 QAction *m_move_tab_left_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
460 QAction *m_move_tab_right_action; |
27330
e449134870fb
allow to sort editor tabs alphabetically (bug #42602)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27281
diff
changeset
|
461 QAction *m_sort_tabs_action; |
20693
7751bd56d0be
added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents:
19945
diff
changeset
|
462 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
463 QAction *m_toggle_breakpoint_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
464 QAction *m_next_breakpoint_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
465 QAction *m_previous_breakpoint_action; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
466 QAction *m_remove_all_breakpoints_action; |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18656
diff
changeset
|
467 |
27075
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27053
diff
changeset
|
468 bool m_copy_action_enabled; |
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27053
diff
changeset
|
469 bool m_undo_action_enabled; |
29439
fe06fafb4cac
fix en-/disabling some editor actions depending on file type (bug #60214)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29374
diff
changeset
|
470 bool m_is_octave_file; |
29698
bbf5d4ea616c
fix enabled state of editor save action depending on modification state
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29597
diff
changeset
|
471 bool m_current_tab_modified; |
27075
fb427fafd494
fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27053
diff
changeset
|
472 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
473 QMenu *m_edit_menu; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
474 QMenu *m_edit_cmd_menu; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
475 QMenu *m_edit_fmt_menu; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
476 QMenu *m_edit_nav_menu; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
477 QMenu *m_fileMenu; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
478 QMenu *m_view_editor_menu; |
18656
1b289f45187f
add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents:
18651
diff
changeset
|
479 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
480 file_editor_tab_widget *m_tab_widget; |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16881
diff
changeset
|
481 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
482 int m_marker_breakpoint; |
15860
feba9ff6e6a8
editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents:
15848
diff
changeset
|
483 |
27651
c9ebcb9050b4
fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27639
diff
changeset
|
484 bool m_closing_canceled; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
485 bool m_closed; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
486 bool m_no_focus; |
29715
82e45c11da7d
fix auto completion in default empty script of GUI editor (bug #60689)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29713
diff
changeset
|
487 bool m_editor_ready; |
23204
75515a7b1b4b
add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents:
23177
diff
changeset
|
488 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
489 enum { MaxMRUFiles = 10 }; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
490 QMenu *m_mru_file_menu; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
491 QAction *m_mru_file_actions[MaxMRUFiles]; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
492 QStringList m_mru_files; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
493 QStringList m_mru_files_encodings; |
23907
8fa415ff2cb3
reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents:
23892
diff
changeset
|
494 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27651
diff
changeset
|
495 QPointer<find_dialog> m_find_dialog; |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27651
diff
changeset
|
496 |
25743
c2a703df0215
preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents:
25293
diff
changeset
|
497 // List of data on temporarily closed files for later reloading. |
30745
2f6904439d3c
fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
498 QList<removed_file_data> m_tmp_closed_files; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
499 }; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24713
diff
changeset
|
500 } |
13501 | 501 |
20945
9d9270e2f98f
eliminate comments after preprocessor conditionals
John W. Eaton <jwe@octave.org>
parents:
20814
diff
changeset
|
502 #endif |