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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
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
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
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
e76a22bfe406 editor: added bookmark feature
ttl <ttl@justmail.de>
parents: 13562
diff changeset
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
36cd70fc2d63 style fixes for file editor
Torsten <mttl@mailbox.org>
parents: 24679
diff changeset
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
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
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
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16546
diff changeset
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
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16546
diff changeset
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
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16546
diff changeset
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
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
501
20945
9d9270e2f98f eliminate comments after preprocessor conditionals
John W. Eaton <jwe@octave.org>
parents: 20814
diff changeset
502 #endif