annotate libgui/src/m-editor/file-editor.cc @ 23920:0b971884080c

reload editor files when removing was not successful (bug #43922) * files-dock-widget.cc (contextmenu_rename): emit the signal for reloading the files from their new location with the state of the renaming allowing to reload the files from the old locations, (contextmenu_delete): emit the signal for reloading files if the removing was not successful allowing to reload the not removed files, * files-dock-widget.h: signal file_renamed_signal with boolean parameter * file-editor.cc (handle_file_remove): clear list of temporary closed files right at the beginning of this method, if an editor file is going to be removed or renamed, store the old file name at first in the file list, then the new file name (or an empty string) and finally the encoding; (handle_dir_remove): clear the closed file list at the beginning, store name of old file, new file (or empty string) and encoding into the list is a file is affected by renaming or removing the directory; (handle_file_renamed): new boolean parameter, which decides whether the old or the new file is loaded into the editor * file-editor.h: boolean parameter for handle_file_renamed; list of temporarily closed files contains old name, new name, and encoding * main-window.cc (construct): update signal connection due to new boolean parameter
author Torsten <mttl@mailbox.org>
date Tue, 15 Aug 2017 22:00:06 +0200
parents 1e54d9aba433
children 387be1a6c3dc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15204
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
1 /*
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
2
23219
3ac9f9ecfae5 maint: Update copyright dates.
John W. Eaton <jwe@octave.org>
parents: 23178
diff changeset
3 Copyright (C) 2011-2017 Jacob Dawid
15204
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
4
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
5 This file is part of Octave.
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
6
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22737
diff changeset
8 under the terms of the GNU General Public License as published by
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22737
diff changeset
9 the Free Software Foundation; either version 3 of the License, or
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22737
diff changeset
10 (at your option) any later version.
15204
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
11
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22737
diff changeset
12 Octave is distributed in the hope that it will be useful, but
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22737
diff changeset
13 WITHOUT ANY WARRANTY; without even the implied warranty of
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22737
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22737
diff changeset
15 GNU General Public License for more details.
15204
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
16
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
17 You should have received a copy of the GNU General Public License
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
18 along with Octave; see the file COPYING. If not, see
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
19 <http://www.gnu.org/licenses/>.
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
20
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
21 */
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
22
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21650
diff changeset
23 #if defined (HAVE_CONFIG_H)
21301
40de9f8f23a6 Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents: 21203
diff changeset
24 # include "config.h"
15286
ae9079bbc627 Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents: 15204
diff changeset
25 #endif
ae9079bbc627 Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents: 15204
diff changeset
26
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21650
diff changeset
27 #if defined (HAVE_QSCINTILLA)
15873
7d300b85ee25 allow build to proceed if either Qt or QScintilla is missing
John W. Eaton <jwe@octave.org>
parents: 15861
diff changeset
28
14707
674740c44c09 Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14703
diff changeset
29 #include "file-editor.h"
15356
842ab161c10a GUI: new setting to restore tabs from previous session; allow silent load file
Thorsten Liebig <Thorsten.Liebig@gmx.de>
parents: 15321
diff changeset
30 #include "resource-manager.h"
18611
086093fbdc1a first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents: 18575
diff changeset
31 #include "shortcut-manager.h"
086093fbdc1a first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents: 18575
diff changeset
32
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
33 #include <QApplication>
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
34 #include <QFile>
22250
2fd4f1a3f4a8 allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents: 22179
diff changeset
35 #include <QFileDialog>
13584
e76a22bfe406 editor: added bookmark feature
ttl <ttl@justmail.de>
parents: 13566
diff changeset
36 #include <QFont>
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
37 #include <QMessageBox>
22250
2fd4f1a3f4a8 allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents: 22179
diff changeset
38 #include <QMimeData>
2fd4f1a3f4a8 allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents: 22179
diff changeset
39 #include <QProcess>
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
40 #include <QStyle>
22250
2fd4f1a3f4a8 allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents: 22179
diff changeset
41 #include <QTabBar>
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
42 #include <QTextStream>
22250
2fd4f1a3f4a8 allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents: 22179
diff changeset
43 #include <QVBoxLayout>
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
44 #include <Qsci/qscicommandset.h>
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
45
23479
06bf3a0b08bf maint: Use "" instead of <> for our own include files.
John W. Eaton <jwe@octave.org>
parents: 23457
diff changeset
46 #include "main-window.h"
06bf3a0b08bf maint: Use "" instead of <> for our own include files.
John W. Eaton <jwe@octave.org>
parents: 23457
diff changeset
47 #include "oct-map.h"
15848
424edeca3c66 Redo portions of file editor to use more signals/slots rather than casting.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 15552
diff changeset
48 #include "octave-link.h"
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
49 #include "utils.h"
15848
424edeca3c66 Redo portions of file editor to use more signals/slots rather than casting.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 15552
diff changeset
50
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
51 file_editor::file_editor (QWidget *p)
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
52 : file_editor_interface (p)
13506
c70511cf64ee Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13504
diff changeset
53 {
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
54 // Set current editing directory before construct because loaded
424edeca3c66 Redo portions of file editor to use more signals/slots rather than casting.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 15552
diff changeset
55 // files will change ced accordingly.
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
56 ced = QDir::currentPath ();
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
57
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
58 // set action that are later added by the main window to null,
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
59 // preventing access to them when they are still undefined
23795
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
60 _undo_action = nullptr;
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
61 _copy_action = nullptr;
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
62 _paste_action = nullptr;
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
63 _selectall_action = nullptr;
23204
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
64 _closed = false;
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
65 _no_focus = false;
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
66
13506
c70511cf64ee Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13504
diff changeset
67 construct ();
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
68
22169
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
69 // actions that should also be available in the find dialog
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
70 _fetab_actions << _find_next_action;
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
71 _fetab_actions << _find_previous_action;
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
72
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
73 setVisible (false);
23070
bef714f45999 maint: Use space after function name/before parenthesis in libgui.
Rik <rik@octave.org>
parents: 22755
diff changeset
74 setAcceptDrops (true);
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
75 }
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
76
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
77 file_editor::~file_editor (void)
13506
c70511cf64ee Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13504
diff changeset
78 {
19411
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
79 if (_mru_file_menu)
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
80 delete _mru_file_menu;
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
81 }
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
82
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
83 bool
19714
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
84 file_editor::check_closing (void)
19411
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
85 {
23204
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
86 // When the application or the editor is closing and the user wants to close
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
87 // all files in the latter case all editor tabs are checked whether
21054
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
88 // they need to be saved. During these ckecked the tabs are not closed
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
89 // since the user might cancel closing octave during one of these saving
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
90 // dialogs. Therefore, saving the session for restoring at next start
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
91 // is not done before the application is definitely closing
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
92
20713
2469d78a1d8b Consistently use 'filename' rather than 'file name' throughout code base.
Rik <rik@octave.org>
parents: 20705
diff changeset
93 // Have all file editor tabs signal what their filenames are.
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
94 editor_tab_map.clear ();
23795
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
95 emit fetab_file_name_query (nullptr);
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
96
21054
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
97 // Save all tabs with confirmation.
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
98 file_editor_tab::reset_cancel ();
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
99 emit fetab_check_modified_file ();
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
100
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
101 // If there was a cancellation, make the already saved/discarded tabs
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
102 // recovering from the exit by removing the read-only state and by
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
103 // recovering the debugger breakpoints. Finally return false in order to
23204
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
104 // cancel closing the application or the editor
21054
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
105 if (file_editor_tab::was_cancelled ())
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
106 {
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
107 emit fetab_recover_from_exit ();
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
108 return false;
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
109 }
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
110
23204
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
111 // Here, the application or the editor will be closed -> store the session
21054
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
112
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
113 // Save open files for restoring in next session; this only is possible
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
114 QSettings *settings = resource_manager::get_settings ();
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
115
20713
2469d78a1d8b Consistently use 'filename' rather than 'file name' throughout code base.
Rik <rik@octave.org>
parents: 20705
diff changeset
116 // save filenames (even if last session will not be restored next time)
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
117 // together with encoding and the tab index
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
118 QStringList fetFileNames;
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
119 QStringList fet_encodings;
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
120 QStringList fet_index;
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
121
21054
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
122 // save all open tabs before they are definitely closed
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
123 for (editor_tab_map_const_iterator p = editor_tab_map.begin ();
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
124 p != editor_tab_map.end (); p++)
16740
cfefcc2a4dae do not save unnamed files for restoring the editor session at next start up
Torsten <ttl@justmail.de>
parents: 16739
diff changeset
125 {
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
126 QString file_name = p->first; // get file name of tab
20955
77f5591878bf maint: Use '! expr' rather than '!expr' to conform to coding guidelines.
Rik <rik@octave.org>
parents: 20814
diff changeset
127 if (! file_name.isEmpty ()) // do not append unnamed files
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
128 {
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
129 fetFileNames.append (file_name);
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
130 fet_encodings.append (editor_tab_map[file_name].encoding);
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
131 QString index;
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
132 fet_index.append (index.setNum
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
133 (_tab_widget->indexOf (editor_tab_map[file_name].fet_ID)));
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
134 }
16740
cfefcc2a4dae do not save unnamed files for restoring the editor session at next start up
Torsten <ttl@justmail.de>
parents: 16739
diff changeset
135 }
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
136
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
137 settings->setValue ("editor/savedSessionTabs", fetFileNames);
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
138 settings->setValue ("editor/saved_session_encodings", fet_encodings);
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
139 settings->setValue ("editor/saved_session_tab_index", fet_index);
15356
842ab161c10a GUI: new setting to restore tabs from previous session; allow silent load file
Thorsten Liebig <Thorsten.Liebig@gmx.de>
parents: 15321
diff changeset
140 settings->sync ();
15993
41471c02d51c gui: show menu with recently used editor files also in file menu of main window
Torsten <ttl@justmail.de>
parents: 15984
diff changeset
141
21054
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
142 // Finally close all the tabs and return indication that we can exit
23204
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
143 // the application or close the editor
23199
cbefc3f49439 fix removing editor tabs on application exit
Torsten <mttl@mailbox.org>
parents: 23180
diff changeset
144 for (int i = _tab_widget->count () - 1; i >= 0; i--)
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
145 {
23199
cbefc3f49439 fix removing editor tabs on application exit
Torsten <mttl@mailbox.org>
parents: 23180
diff changeset
146 // backwards loop since _tab_widget->count () changes during the loop
19714
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
147 delete _tab_widget->widget (i);
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
148 _tab_widget->removeTab (i);
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
149 }
16638
3c2e457eeb72 ask for saving modified editor files if octave is closed (bug #38689)
Torsten <ttl@justmail.de>
parents: 16637
diff changeset
150
19411
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
151 return true;
13524
8c143d6d0330 gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents: 13506
diff changeset
152 }
8c143d6d0330 gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents: 13506
diff changeset
153
16457
10edb6f1ae98 improve encapsulation of file editor window object
John W. Eaton <jwe@octave.org>
parents: 16455
diff changeset
154 void
10edb6f1ae98 improve encapsulation of file editor window object
John W. Eaton <jwe@octave.org>
parents: 16455
diff changeset
155 file_editor::focus (void)
10edb6f1ae98 improve encapsulation of file editor window object
John W. Eaton <jwe@octave.org>
parents: 16455
diff changeset
156 {
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
157 if (_no_focus)
23892
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
158 return; // No focus for the editor if external open/close request
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
159
19427
3c038da18218 cleanup of focus function in gui editor
Torsten <ttl@justmail.de>
parents: 19411
diff changeset
160 octave_dock_widget::focus ();
16457
10edb6f1ae98 improve encapsulation of file editor window object
John W. Eaton <jwe@octave.org>
parents: 16455
diff changeset
161
19714
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
162 // set focus to current tab
15980
6c0fce0632a4 gui: set keyboard focus when switching between dock widgets (bug #36957)
Torsten <ttl@justmail.de>
parents: 15901
diff changeset
163 QWidget *fileEditorTab = _tab_widget->currentWidget ();
6c0fce0632a4 gui: set keyboard focus when switching between dock widgets (bug #36957)
Torsten <ttl@justmail.de>
parents: 15901
diff changeset
164 if (fileEditorTab)
6c0fce0632a4 gui: set keyboard focus when switching between dock widgets (bug #36957)
Torsten <ttl@justmail.de>
parents: 15901
diff changeset
165 emit fetab_set_focus (fileEditorTab);
6c0fce0632a4 gui: set keyboard focus when switching between dock widgets (bug #36957)
Torsten <ttl@justmail.de>
parents: 15901
diff changeset
166 }
6c0fce0632a4 gui: set keyboard focus when switching between dock widgets (bug #36957)
Torsten <ttl@justmail.de>
parents: 15901
diff changeset
167
19803
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
168 void
23177
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
169 file_editor::set_focus (QWidget *fet)
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
170 {
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
171 octave_dock_widget::focus ();
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
172
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
173 // set focus to desired tab
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
174 if (fet)
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
175 _tab_widget->setCurrentWidget (fet);
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
176 }
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
177
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
178 void
19803
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
179 file_editor::update_octave_directory (const QString& dir)
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
180 {
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
181 ced = dir;
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
182 emit fetab_set_directory (ced); // for save dialog
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
183 }
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
184
14795
e3ae0850b105 Fixed integrating debug menu in the editor window.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14788
diff changeset
185 QMenu *
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
186 file_editor::debug_menu (void)
14795
e3ae0850b105 Fixed integrating debug menu in the editor window.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14788
diff changeset
187 {
e3ae0850b105 Fixed integrating debug menu in the editor window.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14788
diff changeset
188 return _debug_menu;
e3ae0850b105 Fixed integrating debug menu in the editor window.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14788
diff changeset
189 }
e3ae0850b105 Fixed integrating debug menu in the editor window.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14788
diff changeset
190
15106
59175df7dcf6 Created and added debug action icons.
Jacob Dawid <jacob.dawid@gmail.com>
parents: 15105
diff changeset
191 QToolBar *
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
192 file_editor::toolbar (void)
15106
59175df7dcf6 Created and added debug action icons.
Jacob Dawid <jacob.dawid@gmail.com>
parents: 15105
diff changeset
193 {
59175df7dcf6 Created and added debug action icons.
Jacob Dawid <jacob.dawid@gmail.com>
parents: 15105
diff changeset
194 return _tool_bar;
59175df7dcf6 Created and added debug action icons.
Jacob Dawid <jacob.dawid@gmail.com>
parents: 15105
diff changeset
195 }
59175df7dcf6 Created and added debug action icons.
Jacob Dawid <jacob.dawid@gmail.com>
parents: 15105
diff changeset
196
13524
8c143d6d0330 gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents: 13506
diff changeset
197 void
16438
a971d8bdaadc use signals instead of event queue for entering/leaving debug mode
John W. Eaton <jwe@octave.org>
parents: 16413
diff changeset
198 file_editor::handle_enter_debug_mode (void)
14830
41b86dc61306 Removed run command, instead cding into the script directory and executing script directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14829
diff changeset
199 {
41b86dc61306 Removed run command, instead cding into the script directory and executing script directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14829
diff changeset
200 _run_action->setEnabled (false);
19822
448ca112a5af prevent conflicts between run-file and debug-continue action in gui
Torsten <ttl@justmail.de>
parents: 19804
diff changeset
201 _run_action->setShortcut (QKeySequence ());
14830
41b86dc61306 Removed run command, instead cding into the script directory and executing script directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14829
diff changeset
202 }
41b86dc61306 Removed run command, instead cding into the script directory and executing script directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14829
diff changeset
203
41b86dc61306 Removed run command, instead cding into the script directory and executing script directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14829
diff changeset
204 void
16438
a971d8bdaadc use signals instead of event queue for entering/leaving debug mode
John W. Eaton <jwe@octave.org>
parents: 16413
diff changeset
205 file_editor::handle_exit_debug_mode (void)
14830
41b86dc61306 Removed run command, instead cding into the script directory and executing script directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14829
diff changeset
206 {
41b86dc61306 Removed run command, instead cding into the script directory and executing script directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14829
diff changeset
207 _run_action->setEnabled (true);
19822
448ca112a5af prevent conflicts between run-file and debug-continue action in gui
Torsten <ttl@justmail.de>
parents: 19804
diff changeset
208 shortcut_manager::set_shortcut (_run_action, "editor_run:run_file");
14830
41b86dc61306 Removed run command, instead cding into the script directory and executing script directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14829
diff changeset
209 }
41b86dc61306 Removed run command, instead cding into the script directory and executing script directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14829
diff changeset
210
41b86dc61306 Removed run command, instead cding into the script directory and executing script directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14829
diff changeset
211 void
16452
744ff2fe11ce add create script context menu to history window
John Donoghue <john.donoghue@ieee.org>
parents: 16443
diff changeset
212 file_editor::request_new_file (const QString& commands)
13524
8c143d6d0330 gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents: 13506
diff changeset
213 {
17903
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
214 // Custom editor? If yes, we can only call the editor without passing
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
215 // some initial contents and even without being sure a new file is opened
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
216 if (call_custom_editor ())
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
217 return;
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
218
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
219 // New file isn't a file_editor_tab function since the file
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
220 // editor tab has yet to be created and there is no object to
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
221 // pass a signal to. Hence, functionality is here.
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
222
21310
fc6a9bd59094 backout changeset e8c3590da9ff
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21301
diff changeset
223 file_editor_tab *fileEditorTab = new file_editor_tab (ced);
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
224 if (fileEditorTab)
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
225 {
15982
131d40cd805b gui: cleanup some string constants for translations
Torsten <ttl@justmail.de>
parents: 15980
diff changeset
226 add_file_editor_tab (fileEditorTab, ""); // new tab with empty title
16452
744ff2fe11ce add create script context menu to history window
John Donoghue <john.donoghue@ieee.org>
parents: 16443
diff changeset
227 fileEditorTab->new_file (commands); // title is updated here
19427
3c038da18218 cleanup of focus function in gui editor
Torsten <ttl@justmail.de>
parents: 19411
diff changeset
228 focus (); // focus editor and new tab
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
229 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
230 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
231
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
232 // Check whether this file is already open in the editor.
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
233 QWidget *
23870
a5ec1fc3d9a5 editor: use function instead several occurrences of identical code
Torsten <mttl@mailbox.org>
parents: 23807
diff changeset
234 file_editor::find_tab_widget (const QString& file)
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
235 {
23870
a5ec1fc3d9a5 editor: use function instead several occurrences of identical code
Torsten <mttl@mailbox.org>
parents: 23807
diff changeset
236 // Have all file editor tabs signal what their filenames are.
a5ec1fc3d9a5 editor: use function instead several occurrences of identical code
Torsten <mttl@mailbox.org>
parents: 23807
diff changeset
237 editor_tab_map.clear ();
a5ec1fc3d9a5 editor: use function instead several occurrences of identical code
Torsten <mttl@mailbox.org>
parents: 23807
diff changeset
238 emit fetab_file_name_query (nullptr);
a5ec1fc3d9a5 editor: use function instead several occurrences of identical code
Torsten <mttl@mailbox.org>
parents: 23807
diff changeset
239
a5ec1fc3d9a5 editor: use function instead several occurrences of identical code
Torsten <mttl@mailbox.org>
parents: 23807
diff changeset
240 // Check all tabs for the given file name
23457
21baad6b35c4 maint: Use C++11 nullptr rather than 0 or NULL when possible.
Rik <rik@octave.org>
parents: 23449
diff changeset
241 QWidget *retval = nullptr;
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
242
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
243 for (editor_tab_map_const_iterator p = editor_tab_map.begin ();
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
244 p != editor_tab_map.end (); p++)
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
245 {
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
246 QString tab_file = p->first;
21565
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
247 if (same_file (file.toStdString (), tab_file.toStdString ())
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
248 || file == tab_file) // needed as same_file ("","") is false.
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
249 {
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
250 retval = p->second.fet_ID;
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
251 break;
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
252 }
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
253 }
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
254
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
255 return retval;
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
256 }
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
257
17903
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
258 bool
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
259 file_editor::call_custom_editor (const QString& file_name, int line)
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
260 {
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
261 // Check if the user wants to use a custom file editor.
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
262 QSettings *settings = resource_manager::get_settings ();
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
263
19916
6049bdfa8d56 make notepad++ the custom default editor in windows
Torsten <ttl@justmail.de>
parents: 19899
diff changeset
264 if (settings->value ("useCustomFileEditor",false).toBool ())
17903
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
265 {
23385
41639665aa34 improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents: 23380
diff changeset
266 // use the external editor interface for handling the call
41639665aa34 improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents: 23380
diff changeset
267 emit request_open_file_external (file_name, line);
17903
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
268
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
269 if (line < 0 && ! file_name.isEmpty ())
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
270 handle_mru_add_file (QFileInfo (file_name).canonicalFilePath (),
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
271 QString ());
17903
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
272
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
273 return true;
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
274 }
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
275
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
276 return false;
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
277 }
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
278
18545
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
279 bool
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
280 file_editor::is_editor_console_tabbed ()
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
281 {
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
282 main_window *w = static_cast<main_window *>(main_win ());
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
283 QList<QDockWidget *> w_list = w->tabifiedDockWidgets (this);
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
284 QDockWidget *console =
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
285 static_cast<QDockWidget *> (w->get_dock_widget_list ().at (0));
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
286
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
287 for (int i = 0; i < w_list.count (); i++)
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
288 {
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
289 if (w_list.at (i) == console)
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
290 return true;
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
291 }
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
292
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
293 return false;
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
294 }
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
295
21158
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
296 // Open a file, if not already open, and mark the current execution location
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
297 // and/or a breakpoint with condition cond.
18521
713193ffc8c4 allow to select mutliple files in the editors open file dialog (bug #41664)
Torsten <ttl@justmail.de>
parents: 18486
diff changeset
298 void
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
299 file_editor::request_open_file (const QString& openFileName,
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
300 const QString& encoding,
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
301 int line, bool debug_pointer,
21158
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
302 bool breakpoint_marker, bool insert,
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
303 const QString& cond)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
304 {
17903
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
305 if (call_custom_editor (openFileName, line))
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
306 return; // custom editor called
16407
4d438dffbfac gui: call external editor when opening a file and custom editor is selected
Torsten <ttl@justmail.de>
parents: 16399
diff changeset
307
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
308 if (openFileName.isEmpty ())
14690
ca733a66be7a Fixed bug with not opening the editor when clicking a file from the file browser. Implemented watching the file on disk.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14681
diff changeset
309 {
17941
9799a996b2c1 * file-editor.cc (request_open_file): new edit tab when file name is empty
Torsten <ttl@justmail.de>
parents: 17935
diff changeset
310 // This happens if edit is calles without an argument
9799a996b2c1 * file-editor.cc (request_open_file): new edit tab when file name is empty
Torsten <ttl@justmail.de>
parents: 17935
diff changeset
311 // Open eitor with empty edit area instead (as new file would do)
9799a996b2c1 * file-editor.cc (request_open_file): new edit tab when file name is empty
Torsten <ttl@justmail.de>
parents: 17935
diff changeset
312 request_new_file ("");
14690
ca733a66be7a Fixed bug with not opening the editor when clicking a file from the file browser. Implemented watching the file on disk.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14681
diff changeset
313 }
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
314 else
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
315 {
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
316 // Check whether this file is already open in the editor.
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
317 QWidget *tab = find_tab_widget (openFileName);
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
318
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
319 if (tab)
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
320 {
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
321 _tab_widget->setCurrentWidget (tab);
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
322
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
323 if (line > 0)
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
324 {
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
325 emit fetab_goto_line (tab, line);
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
326
16386
4902484f9181 callbacks to set markers in editor using command line dbstop function
John W. Eaton <jwe@octave.org>
parents: 16383
diff changeset
327 if (debug_pointer)
16547
3cd80afc3509 improve debugging with the GUI
John W. Eaton <jwe@octave.org>
parents: 16546
diff changeset
328 emit fetab_insert_debugger_pointer (tab, line);
16386
4902484f9181 callbacks to set markers in editor using command line dbstop function
John W. Eaton <jwe@octave.org>
parents: 16383
diff changeset
329
16443
7a2ee6ea7800 rename dbstop -> breakpoint in GUI interface functions
John W. Eaton <jwe@octave.org>
parents: 16440
diff changeset
330 if (breakpoint_marker)
21158
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
331 emit fetab_do_breakpoint_marker (insert, tab, line, cond);
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
332 }
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
333
18545
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
334 if (! ((breakpoint_marker || debug_pointer) && is_editor_console_tabbed ()))
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
335 {
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
336 emit fetab_set_focus (tab);
19427
3c038da18218 cleanup of focus function in gui editor
Torsten <ttl@justmail.de>
parents: 19411
diff changeset
337 focus ();
18545
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
338 }
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
339 }
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
340 else
15356
842ab161c10a GUI: new setting to restore tabs from previous session; allow silent load file
Thorsten Liebig <Thorsten.Liebig@gmx.de>
parents: 15321
diff changeset
341 {
23457
21baad6b35c4 maint: Use C++11 nullptr rather than 0 or NULL when possible.
Rik <rik@octave.org>
parents: 23449
diff changeset
342 file_editor_tab *fileEditorTab = nullptr;
21565
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
343 // Reuse <unnamed> tab if it hasn't yet been modified.
21650
7c0595c722ca Remove duplicate menu actions after replacing <unnamed> edit tab (bug #47692).
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21578
diff changeset
344 bool reusing = false;
21565
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
345 tab = find_tab_widget ("");
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
346 if (tab)
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
347 {
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
348 fileEditorTab = static_cast<file_editor_tab *>(tab);
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
349 if (fileEditorTab->qsci_edit_area ()->isModified ())
23795
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
350 fileEditorTab = nullptr;
21650
7c0595c722ca Remove duplicate menu actions after replacing <unnamed> edit tab (bug #47692).
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21578
diff changeset
351 else
7c0595c722ca Remove duplicate menu actions after replacing <unnamed> edit tab (bug #47692).
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21578
diff changeset
352 reusing = true;
21565
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
353 }
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
354
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
355 // If <unnamed> was absent or modified, create a new tab.
22737
7abc25e6206a maint: Clean up code base to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 22411
diff changeset
356 if (! fileEditorTab)
21565
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
357 fileEditorTab = new file_editor_tab ();
08baf0ebc9a9 Reappropriate <unnamed> editor tab when opening a new file (bug #47529)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21562
diff changeset
358
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
359 if (fileEditorTab)
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
360 {
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
361 fileEditorTab->set_encoding (encoding);
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
362 QString result = fileEditorTab->load_file (openFileName);
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
363 if (result == "")
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
364 {
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
365 // Supply empty title then have the file_editor_tab update
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
366 // with full or short name.
22737
7abc25e6206a maint: Clean up code base to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 22411
diff changeset
367 if (! reusing)
21650
7c0595c722ca Remove duplicate menu actions after replacing <unnamed> edit tab (bug #47692).
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21578
diff changeset
368 add_file_editor_tab (fileEditorTab, "");
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
369 fileEditorTab->update_window_title (false);
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
370 // file already loaded, add file to mru list here
17706
97ed9dd479ab make sure all entries in the editor's mru-menu have an absolute path
Torsten <ttl@justmail.de>
parents: 17676
diff changeset
371 QFileInfo file_info = QFileInfo (openFileName);
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
372 handle_mru_add_file (file_info.canonicalFilePath (),
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
373 encoding);
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
374
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
375 if (line > 0)
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
376 {
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
377 emit fetab_goto_line (fileEditorTab, line);
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
378
16386
4902484f9181 callbacks to set markers in editor using command line dbstop function
John W. Eaton <jwe@octave.org>
parents: 16383
diff changeset
379 if (debug_pointer)
16547
3cd80afc3509 improve debugging with the GUI
John W. Eaton <jwe@octave.org>
parents: 16546
diff changeset
380 emit fetab_insert_debugger_pointer (fileEditorTab,
3cd80afc3509 improve debugging with the GUI
John W. Eaton <jwe@octave.org>
parents: 16546
diff changeset
381 line);
16443
7a2ee6ea7800 rename dbstop -> breakpoint in GUI interface functions
John W. Eaton <jwe@octave.org>
parents: 16440
diff changeset
382 if (breakpoint_marker)
16547
3cd80afc3509 improve debugging with the GUI
John W. Eaton <jwe@octave.org>
parents: 16546
diff changeset
383 emit fetab_do_breakpoint_marker (insert, fileEditorTab,
21158
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
384 line, cond);
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
385 }
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
386 }
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
387 else
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
388 {
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
389 delete fileEditorTab;
17736
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
390
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
391 if (QFile::exists (openFileName))
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
392 {
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
393 // File not readable:
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
394 // create a NonModal message about error.
17736
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
395 QMessageBox *msgBox
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
396 = new QMessageBox (QMessageBox::Critical,
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
397 tr ("Octave Editor"),
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
398 tr ("Could not open file\n%1\nfor read: %2.").
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
399 arg (openFileName).arg (result),
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
400 QMessageBox::Ok, this);
17736
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
401
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
402 msgBox->setWindowModality (Qt::NonModal);
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
403 msgBox->setAttribute (Qt::WA_DeleteOnClose);
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
404 msgBox->show ();
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
405 }
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
406 else
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
407 {
19714
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
408 // File does not exist, should it be created?
19314
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
409 bool create_file = true;
17740
e6ed77b75aec new preference in settings: editor creates nonexisting files wihtout prompt
Torsten <ttl@justmail.de>
parents: 17736
diff changeset
410 QMessageBox *msgBox;
17903
de8591a19bc6 check for custom editor when opening a new file from the gui (bug #40496)
Torsten <ttl@justmail.de>
parents: 17901
diff changeset
411 QSettings *settings = resource_manager::get_settings ();
19314
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
412
20955
77f5591878bf maint: Use '! expr' rather than '!expr' to conform to coding guidelines.
Rik <rik@octave.org>
parents: 20814
diff changeset
413 if (! settings->value ("editor/create_new_file", false).toBool ())
17740
e6ed77b75aec new preference in settings: editor creates nonexisting files wihtout prompt
Torsten <ttl@justmail.de>
parents: 17736
diff changeset
414 {
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
415 msgBox = new QMessageBox (QMessageBox::Question,
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
416 tr ("Octave Editor"),
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
417 tr ("File\n%1\ndoes not exist. "
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
418 "Do you want to create it?").arg (openFileName),
23795
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
419 QMessageBox::NoButton,nullptr);
19314
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
420 QPushButton *create_button =
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
421 msgBox->addButton (tr ("Create"), QMessageBox::YesRole);
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
422 msgBox->addButton (tr ("Cancel"), QMessageBox::RejectRole);
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
423 msgBox->setDefaultButton (create_button);
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
424 msgBox->exec ();
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
425
19314
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
426 QAbstractButton *clicked_button = msgBox->clickedButton ();
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
427 if (clicked_button != create_button)
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
428 create_file = false;
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
429
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
430 delete msgBox;
17740
e6ed77b75aec new preference in settings: editor creates nonexisting files wihtout prompt
Torsten <ttl@justmail.de>
parents: 17736
diff changeset
431 }
17736
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
432
19314
2b708273548d button order in dialog for creating a non-existing file (bug #43537)
Torsten <ttl@justmail.de>
parents: 19247
diff changeset
433 if (create_file)
17736
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
434 {
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
435 // create the file and call the editor again
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
436 QFile file (openFileName);
20955
77f5591878bf maint: Use '! expr' rather than '!expr' to conform to coding guidelines.
Rik <rik@octave.org>
parents: 20814
diff changeset
437 if (! file.open (QIODevice::WriteOnly))
17736
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
438 {
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
439 // error opening the file
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
440 msgBox = new QMessageBox (QMessageBox::Critical,
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
441 tr ("Octave Editor"),
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
442 tr ("Could not open file\n%1\nfor write: %2.").
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
443 arg (openFileName).arg (file.errorString ()),
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
444 QMessageBox::Ok, this);
17736
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
445
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
446 msgBox->setWindowModality (Qt::NonModal);
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
447 msgBox->setAttribute (Qt::WA_DeleteOnClose);
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
448 msgBox->show ();
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
449 }
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
450 else
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
451 {
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
452 file.close ();
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
453 request_open_file (openFileName);
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
454 }
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
455 }
6a2e483125dd editor asks if a new file should be created when called from edit (bug #40351)
Torsten <ttl@justmail.de>
parents: 17706
diff changeset
456 }
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
457 }
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
458 }
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
459
18545
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
460 if (! ((breakpoint_marker || debug_pointer) && is_editor_console_tabbed ()))
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
461 {
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
462 // really show editor and the current editor tab
19427
3c038da18218 cleanup of focus function in gui editor
Torsten <ttl@justmail.de>
parents: 19411
diff changeset
463 focus ();
18545
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
464 emit file_loaded_signal ();
17baa684892c fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents: 18472
diff changeset
465 }
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
466 }
13524
8c143d6d0330 gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents: 13506
diff changeset
467 }
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
468 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
469
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
470 // open a file from the mru list
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
471 void
16614
49653ed9561b Use menu triggered signal instead of action triggered signal to rid cast.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16611
diff changeset
472 file_editor::request_mru_open_file (QAction *action)
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
473 {
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
474 if (action)
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
475 {
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
476 request_open_file (action->data ().toStringList ().at (0),
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
477 action->data ().toStringList ().at (1));
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
478 }
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
479 }
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
480
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
481 void
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
482 file_editor::check_conflict_save (const QString& saveFileName,
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
483 bool remove_on_success)
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
484 {
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
485 // Check whether this file is already open in the editor.
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
486 QWidget *tab = find_tab_widget (saveFileName);
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
487
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
488 if (tab)
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
489 {
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
490 // Note: to overwrite the contents of some other file editor tab
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
491 // with the same name requires identifying which file editor tab
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
492 // that is (not too difficult) then close that tab. Of course,
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
493 // that could trigger another dialog box if the file editor tab
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
494 // with the same name has modifications in it. This could become
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
495 // somewhat confusing to the user. For now, opt to do nothing.
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
496
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
497 // Create a NonModal message about error.
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
498 QMessageBox *msgBox
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
499 = new QMessageBox (QMessageBox::Critical, tr ("Octave Editor"),
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
500 tr ("File not saved! A file with the selected name\n%1\n"
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
501 "is already open in the editor").
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
502 arg (saveFileName),
23795
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
503 QMessageBox::Ok, nullptr);
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
504
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
505 msgBox->setWindowModality (Qt::NonModal);
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
506 msgBox->setAttribute (Qt::WA_DeleteOnClose);
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
507 msgBox->show ();
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
508
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
509 return;
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
510 }
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
511
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
512 QObject *saveFileObject = sender ();
23457
21baad6b35c4 maint: Use C++11 nullptr rather than 0 or NULL when possible.
Rik <rik@octave.org>
parents: 23449
diff changeset
513 QWidget *saveFileWidget = nullptr;
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
514
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
515 for (int i = 0; i < _tab_widget->count (); i++)
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
516 {
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
517 if (_tab_widget->widget (i) == saveFileObject)
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
518 {
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
519 saveFileWidget = _tab_widget->widget (i);
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
520 break;
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
521 }
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
522 }
20955
77f5591878bf maint: Use '! expr' rather than '!expr' to conform to coding guidelines.
Rik <rik@octave.org>
parents: 20814
diff changeset
523 if (! saveFileWidget)
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
524 {
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
525 // Create a NonModal message about error.
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
526 QMessageBox *msgBox
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
527 = new QMessageBox (QMessageBox::Critical, tr ("Octave Editor"),
18257
cae24b7cfaf4 minor fix of text strings and related translations (part of bug #41201)
Torsten <ttl@justmail.de>
parents: 17988
diff changeset
528 tr ("The associated file editor tab has disappeared."),
23795
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
529 QMessageBox::Ok, nullptr);
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
530
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
531 msgBox->setWindowModality (Qt::NonModal);
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
532 msgBox->setAttribute (Qt::WA_DeleteOnClose);
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
533 msgBox->show ();
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
534
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
535 return;
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
536 }
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
537
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
538 // Can save without conflict, have the file editor tab do so.
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
539 emit fetab_save_file (saveFileWidget, saveFileName, remove_on_success);
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
540 }
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
541
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
542 void
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
543 file_editor::handle_insert_debugger_pointer_request (const QString& file,
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
544 int line)
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
545 {
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
546 request_open_file (file, QString (), line, true); // default encoding
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
547 }
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
548
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
549 void
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
550 file_editor::handle_delete_debugger_pointer_request (const QString& file,
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
551 int line)
16395
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
552 {
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
553 if (! file.isEmpty ())
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
554 {
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
555 // Check whether this file is already open in the editor.
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
556 QWidget *tab = find_tab_widget (file);
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
557
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
558 if (tab)
16395
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
559 {
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
560 _tab_widget->setCurrentWidget (tab);
16395
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
561
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
562 if (line > 0)
16547
3cd80afc3509 improve debugging with the GUI
John W. Eaton <jwe@octave.org>
parents: 16546
diff changeset
563 emit fetab_delete_debugger_pointer (tab, line);
16395
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
564
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16525
diff changeset
565 emit fetab_set_focus (tab);
16395
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
566 }
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
567 }
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
568 }
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
569
fc491da603f6 also provide a hook for exiting debugger
John W. Eaton <jwe@octave.org>
parents: 16389
diff changeset
570 void
16443
7a2ee6ea7800 rename dbstop -> breakpoint in GUI interface functions
John W. Eaton <jwe@octave.org>
parents: 16440
diff changeset
571 file_editor::handle_update_breakpoint_marker_request (bool insert,
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
572 const QString& file,
21158
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
573 int line,
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
574 const QString& cond)
16386
4902484f9181 callbacks to set markers in editor using command line dbstop function
John W. Eaton <jwe@octave.org>
parents: 16383
diff changeset
575 {
21158
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
576 request_open_file (file, QString (), line, false, true, insert, cond);
16386
4902484f9181 callbacks to set markers in editor using command line dbstop function
John W. Eaton <jwe@octave.org>
parents: 16383
diff changeset
577 }
4902484f9181 callbacks to set markers in editor using command line dbstop function
John W. Eaton <jwe@octave.org>
parents: 16383
diff changeset
578
4902484f9181 callbacks to set markers in editor using command line dbstop function
John W. Eaton <jwe@octave.org>
parents: 16383
diff changeset
579 void
16399
f9a737fd8829 allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents: 16395
diff changeset
580 file_editor::handle_edit_file_request (const QString& file)
f9a737fd8829 allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents: 16395
diff changeset
581 {
f9a737fd8829 allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents: 16395
diff changeset
582 request_open_file (file);
f9a737fd8829 allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents: 16395
diff changeset
583 }
f9a737fd8829 allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents: 16395
diff changeset
584
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
585
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
586 // Slot used for signals indicating that a file was changed/rename or
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
587 // is going to be deleted/renamed
16399
f9a737fd8829 allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents: 16395
diff changeset
588 void
23892
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
589 file_editor::handle_file_remove (const QString& old_name,
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
590 const QString& new_name)
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
591 {
23920
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
592 // Clear old lsit of files to reload
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
593 _tmp_closed_files.clear ();
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
594
23908
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
595 // Check if old name is a file or directory
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
596 QFileInfo old (old_name);
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
597 if (old.isDir ())
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
598 {
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
599 // Call the function which handles directories and return
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
600 handle_dir_remove (old_name, new_name);
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
601 return;
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
602 }
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
603
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
604 // Is old file open?
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
605 file_editor_tab *editor_tab
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
606 = static_cast<file_editor_tab *> (find_tab_widget (old_name));
23892
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
607
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
608 if (editor_tab)
23892
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
609 {
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
610 // Yes, close it silently
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
611 _no_focus = true; // Remember for not focussing editor
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
612 editor_tab->file_has_changed (QString (), true); // Close the tab
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
613 _no_focus = false; // Back to normal
23892
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
614
23920
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
615 _tmp_closed_files << old_name; // for reloading if error removing
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
616
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
617 if (! new_name.isEmpty ())
23920
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
618 _tmp_closed_files << new_name; // store new name
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
619 else
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
620 _tmp_closed_files << ""; // no new name, just removing this file
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
621
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
622 // Get and store the related encoding
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
623 for (editor_tab_map_const_iterator p = editor_tab_map.begin ();
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
624 p != editor_tab_map.end (); p++)
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
625 {
23920
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
626 if (editor_tab == p->second.fet_ID)
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
627 {
23920
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
628 _tmp_closed_files << p->second.encoding;
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
629 break;
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
630 }
23892
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
631 }
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
632 }
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
633 }
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
634
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
635
23908
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
636 // Function for closing the files in a removed directory
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
637 void
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
638 file_editor::handle_dir_remove (const QString& old_name,
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
639 const QString& new_name)
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
640 {
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
641 QDir old_dir (old_name);
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
642
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
643 // Have all file editor tabs signal what their filenames are.
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
644 editor_tab_map.clear ();
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
645 emit fetab_file_name_query (nullptr);
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
646
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
647 // Loop over all open files and pick those within old_dir
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
648 for (editor_tab_map_const_iterator p = editor_tab_map.begin ();
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
649 p != editor_tab_map.end (); p++)
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
650 {
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
651 QString rel_path_to_file = old_dir.relativeFilePath (p->first);
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
652 if (rel_path_to_file.left (3) != QString ("../"))
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
653 {
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
654 // We directly go down from old_dir to reach our file: Our
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
655 // file is included in the removed/renamed diectory.
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
656 // Thus delete it.
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
657 _no_focus = true; // Remember for not focussing editor
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
658 file_editor_tab *editor_tab
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
659 = static_cast<file_editor_tab *> (p->second.fet_ID);
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
660 editor_tab->file_has_changed (QString (), true); // Close
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
661 _no_focus = false; // Back to normal
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
662
23920
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
663 // Store file for possible later reload
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
664 _tmp_closed_files << p->first;
23908
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
665
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
666 // Add the new file path and the encoding for later reloading
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
667 // if new_name is given
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
668 if (! new_name.isEmpty ())
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
669 {
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
670 QDir new_dir (new_name);
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
671 _tmp_closed_files << new_dir.absoluteFilePath (rel_path_to_file);
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
672 }
23920
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
673 else
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
674 _tmp_closed_files << ""; // no new name, just removing this file
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
675
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
676 _tmp_closed_files << p->second.encoding; // store the encoding
23908
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
677 }
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
678 }
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
679 }
1e54d9aba433 reload editor tabs when the path is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23907
diff changeset
680
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
681 // Slot for signal indicating that a file was renamed
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
682 void
23920
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
683 file_editor::handle_file_renamed (bool load_new)
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
684 {
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
685 _no_focus = true; // Remember for not focussing editor
23920
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
686 for (int i = 0; i < _tmp_closed_files.count (); i = i + 3)
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
687 {
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
688 if (! _tmp_closed_files.at (i + load_new).isEmpty ())
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
689 request_open_file (_tmp_closed_files.at (i + load_new),
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
690 _tmp_closed_files.at (i+2));
0b971884080c reload editor files when removing was not successful (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23908
diff changeset
691 }
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
692 _no_focus = false; // Back to normal focus
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
693 }
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
694
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23905
diff changeset
695
23892
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
696 void
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
697 file_editor::do_undo ()
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
698 {
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
699 if (editor_tab_has_focus ())
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
700 emit fetab_scintilla_command (_tab_widget->currentWidget (),
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
701 QsciScintillaBase::SCI_UNDO);
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
702 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
703
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
704 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
705 file_editor::request_redo (bool)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
706 {
18686
74ef7fed8b9a simplify some code by using scintilla internal commands
Torsten <ttl@justmail.de>
parents: 18685
diff changeset
707 emit fetab_scintilla_command (_tab_widget->currentWidget (),
74ef7fed8b9a simplify some code by using scintilla internal commands
Torsten <ttl@justmail.de>
parents: 18685
diff changeset
708 QsciScintillaBase::SCI_REDO);
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
709 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
710
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
711 void
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
712 file_editor::copyClipboard ()
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
713 {
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
714 if (editor_tab_has_focus ())
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
715 emit fetab_scintilla_command (_tab_widget->currentWidget (),
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
716 QsciScintillaBase::SCI_COPY);
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
717 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
718
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
719 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
720 file_editor::request_cut (bool)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
721 {
18686
74ef7fed8b9a simplify some code by using scintilla internal commands
Torsten <ttl@justmail.de>
parents: 18685
diff changeset
722 emit fetab_scintilla_command (_tab_widget->currentWidget (),
74ef7fed8b9a simplify some code by using scintilla internal commands
Torsten <ttl@justmail.de>
parents: 18685
diff changeset
723 QsciScintillaBase::SCI_CUT);
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
724 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
725
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
726 void
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
727 file_editor::pasteClipboard ()
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
728 {
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
729 if (editor_tab_has_focus ())
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
730 emit fetab_scintilla_command (_tab_widget->currentWidget (),
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
731 QsciScintillaBase::SCI_PASTE);
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
732 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
733
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
734 void
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
735 file_editor::selectAll ()
18555
2d5d0d86432e gui: Add select all menu (Bug #41797)
John Donoghue <john.donoghue@ieee.org>
parents: 18551
diff changeset
736 {
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
737 if (editor_tab_has_focus ())
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
738 emit fetab_scintilla_command (_tab_widget->currentWidget (),
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
739 QsciScintillaBase::SCI_SELECTALL);
18555
2d5d0d86432e gui: Add select all menu (Bug #41797)
John Donoghue <john.donoghue@ieee.org>
parents: 18551
diff changeset
740 }
2d5d0d86432e gui: Add select all menu (Bug #41797)
John Donoghue <john.donoghue@ieee.org>
parents: 18551
diff changeset
741
2d5d0d86432e gui: Add select all menu (Bug #41797)
John Donoghue <john.donoghue@ieee.org>
parents: 18551
diff changeset
742 void
17627
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
743 file_editor::request_context_help (bool)
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
744 {
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
745 emit fetab_context_help (_tab_widget->currentWidget (), false);
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
746 }
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
747 void
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
748 file_editor::request_context_doc (bool)
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
749 {
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
750 emit fetab_context_help (_tab_widget->currentWidget (), true);
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
751 }
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
752
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
753 void
17628
99ffa521ecec Add possibility to edit the function related to the actual keyword in editor
Torsten <ttl@justmail.de>
parents: 17627
diff changeset
754 file_editor::request_context_edit (bool)
99ffa521ecec Add possibility to edit the function related to the actual keyword in editor
Torsten <ttl@justmail.de>
parents: 17627
diff changeset
755 {
99ffa521ecec Add possibility to edit the function related to the actual keyword in editor
Torsten <ttl@justmail.de>
parents: 17627
diff changeset
756 emit fetab_context_edit (_tab_widget->currentWidget ());
99ffa521ecec Add possibility to edit the function related to the actual keyword in editor
Torsten <ttl@justmail.de>
parents: 17627
diff changeset
757 }
99ffa521ecec Add possibility to edit the function related to the actual keyword in editor
Torsten <ttl@justmail.de>
parents: 17627
diff changeset
758
99ffa521ecec Add possibility to edit the function related to the actual keyword in editor
Torsten <ttl@justmail.de>
parents: 17627
diff changeset
759 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
760 file_editor::request_save_file (bool)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
761 {
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
762 emit fetab_save_file (_tab_widget->currentWidget ());
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
763 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
764
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
765 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
766 file_editor::request_save_file_as (bool)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
767 {
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
768 emit fetab_save_file_as (_tab_widget->currentWidget ());
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
769 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
770
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
771 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
772 file_editor::request_print_file (bool)
16440
aaf024ac8015 Add editor print menu/toolbutton implementation
John Donoghue <john.donoghue@ieee.org>
parents: 16438
diff changeset
773 {
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
774 emit fetab_print_file (_tab_widget->currentWidget ());
16440
aaf024ac8015 Add editor print menu/toolbutton implementation
John Donoghue <john.donoghue@ieee.org>
parents: 16438
diff changeset
775 }
aaf024ac8015 Add editor print menu/toolbutton implementation
John Donoghue <john.donoghue@ieee.org>
parents: 16438
diff changeset
776
aaf024ac8015 Add editor print menu/toolbutton implementation
John Donoghue <john.donoghue@ieee.org>
parents: 16438
diff changeset
777 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
778 file_editor::request_run_file (bool)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
779 {
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
780 emit fetab_run_file (_tab_widget->currentWidget ());
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
781 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
782
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
783 void
17635
7945344506ae Add possibility to run selected text of the editor in the terminal
Torsten <ttl@justmail.de>
parents: 17628
diff changeset
784 file_editor::request_context_run (bool)
7945344506ae Add possibility to run selected text of the editor in the terminal
Torsten <ttl@justmail.de>
parents: 17628
diff changeset
785 {
7945344506ae Add possibility to run selected text of the editor in the terminal
Torsten <ttl@justmail.de>
parents: 17628
diff changeset
786 emit fetab_context_run (_tab_widget->currentWidget ());
7945344506ae Add possibility to run selected text of the editor in the terminal
Torsten <ttl@justmail.de>
parents: 17628
diff changeset
787 }
7945344506ae Add possibility to run selected text of the editor in the terminal
Torsten <ttl@justmail.de>
parents: 17628
diff changeset
788
7945344506ae Add possibility to run selected text of the editor in the terminal
Torsten <ttl@justmail.de>
parents: 17628
diff changeset
789 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
790 file_editor::request_toggle_bookmark (bool)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
791 {
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
792 emit fetab_toggle_bookmark (_tab_widget->currentWidget ());
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
793 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
794
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
795 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
796 file_editor::request_next_bookmark (bool)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
797 {
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
798 emit fetab_next_bookmark (_tab_widget->currentWidget ());
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
799 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
800
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
801 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
802 file_editor::request_previous_bookmark (bool)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
803 {
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
804 emit fetab_previous_bookmark (_tab_widget->currentWidget ());
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
805 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
806
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
807 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
808 file_editor::request_remove_bookmark (bool)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
809 {
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
810 emit fetab_remove_bookmark (_tab_widget->currentWidget ());
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
811 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
812
21578
683a1beee538 maint: Use "FIXME:" for all code blocks needing further attention.
Rik <rik@octave.org>
parents: 21568
diff changeset
813 // FIXME: What should this do with conditional breakpoints?
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
814 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
815 file_editor::request_toggle_breakpoint (bool)
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: 14812
diff changeset
816 {
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
817 emit fetab_toggle_breakpoint (_tab_widget->currentWidget ());
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: 14812
diff changeset
818 }
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: 14812
diff changeset
819
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: 14812
diff changeset
820 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
821 file_editor::request_next_breakpoint (bool)
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: 14812
diff changeset
822 {
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
823 emit fetab_next_breakpoint (_tab_widget->currentWidget ());
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: 14812
diff changeset
824 }
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: 14812
diff changeset
825
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: 14812
diff changeset
826 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
827 file_editor::request_previous_breakpoint (bool)
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: 14812
diff changeset
828 {
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
829 emit fetab_previous_breakpoint (_tab_widget->currentWidget ());
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: 14812
diff changeset
830 }
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: 14812
diff changeset
831
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: 14812
diff changeset
832 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
833 file_editor::request_remove_breakpoint (bool)
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: 14812
diff changeset
834 {
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
835 emit fetab_remove_all_breakpoints (_tab_widget->currentWidget ());
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: 14812
diff changeset
836 }
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: 14812
diff changeset
837
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
838 // slots for Edit->Commands actions
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
839 void
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
840 file_editor::request_delete_start_word (bool)
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
841 {
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
842 emit fetab_scintilla_command (_tab_widget->currentWidget (),
18675
c199304dfb2a handling qscintilla internal shortcuts and commands depending on qsci version
Torsten <ttl@justmail.de>
parents: 18665
diff changeset
843 QsciScintillaBase::SCI_DELWORDLEFT);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
844 }
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
845 void
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
846 file_editor::request_delete_end_word (bool)
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
847 {
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
848 emit fetab_scintilla_command (_tab_widget->currentWidget (),
18675
c199304dfb2a handling qscintilla internal shortcuts and commands depending on qsci version
Torsten <ttl@justmail.de>
parents: 18665
diff changeset
849 QsciScintillaBase::SCI_DELWORDRIGHT);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
850 }
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
851 void
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
852 file_editor::request_delete_start_line (bool)
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
853 {
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
854 emit fetab_scintilla_command (_tab_widget->currentWidget (),
18675
c199304dfb2a handling qscintilla internal shortcuts and commands depending on qsci version
Torsten <ttl@justmail.de>
parents: 18665
diff changeset
855 QsciScintillaBase::SCI_DELLINELEFT);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
856 }
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
857 void
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
858 file_editor::request_delete_end_line (bool)
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
859 {
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
860 emit fetab_scintilla_command (_tab_widget->currentWidget (),
18675
c199304dfb2a handling qscintilla internal shortcuts and commands depending on qsci version
Torsten <ttl@justmail.de>
parents: 18665
diff changeset
861 QsciScintillaBase::SCI_DELLINERIGHT);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
862 }
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
863 void
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
864 file_editor::request_delete_line (bool)
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
865 {
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
866 emit fetab_scintilla_command (_tab_widget->currentWidget (),
18675
c199304dfb2a handling qscintilla internal shortcuts and commands depending on qsci version
Torsten <ttl@justmail.de>
parents: 18665
diff changeset
867 QsciScintillaBase::SCI_LINEDELETE);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
868 }
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
869 void
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
870 file_editor::request_copy_line (bool)
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
871 {
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
872 emit fetab_scintilla_command (_tab_widget->currentWidget (),
18675
c199304dfb2a handling qscintilla internal shortcuts and commands depending on qsci version
Torsten <ttl@justmail.de>
parents: 18665
diff changeset
873 QsciScintillaBase::SCI_LINECOPY);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
874 }
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
875 void
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
876 file_editor::request_cut_line (bool)
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
877 {
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
878 emit fetab_scintilla_command (_tab_widget->currentWidget (),
18675
c199304dfb2a handling qscintilla internal shortcuts and commands depending on qsci version
Torsten <ttl@justmail.de>
parents: 18665
diff changeset
879 QsciScintillaBase::SCI_LINECUT);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
880 }
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
881 void
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
882 file_editor::request_duplicate_selection (bool)
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
883 {
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
884 emit fetab_scintilla_command (_tab_widget->currentWidget (),
18675
c199304dfb2a handling qscintilla internal shortcuts and commands depending on qsci version
Torsten <ttl@justmail.de>
parents: 18665
diff changeset
885 QsciScintillaBase::SCI_SELECTIONDUPLICATE);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
886 }
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
887 void
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
888 file_editor::request_transpose_line (bool)
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
889 {
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
890 emit fetab_scintilla_command (_tab_widget->currentWidget (),
18675
c199304dfb2a handling qscintilla internal shortcuts and commands depending on qsci version
Torsten <ttl@justmail.de>
parents: 18665
diff changeset
891 QsciScintillaBase::SCI_LINETRANSPOSE);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
892 }
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: 14812
diff changeset
893 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
894 file_editor::request_comment_selected_text (bool)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
895 {
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
896 emit fetab_comment_selected_text (_tab_widget->currentWidget ());
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
897 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
898 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
899 file_editor::request_uncomment_selected_text (bool)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
900 {
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
901 emit fetab_uncomment_selected_text (_tab_widget->currentWidget ());
15080
4c4f2fb07a50 Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents: 15045
diff changeset
902 }
4c4f2fb07a50 Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents: 15045
diff changeset
903
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
904 // slots for Edit->Format actions
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
905 void
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
906 file_editor::request_upper_case (bool)
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
907 {
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
908 emit fetab_scintilla_command (_tab_widget->currentWidget (),
18675
c199304dfb2a handling qscintilla internal shortcuts and commands depending on qsci version
Torsten <ttl@justmail.de>
parents: 18665
diff changeset
909 QsciScintillaBase::SCI_UPPERCASE);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
910 }
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
911 void
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
912 file_editor::request_lower_case (bool)
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
913 {
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
914 emit fetab_scintilla_command (_tab_widget->currentWidget (),
18675
c199304dfb2a handling qscintilla internal shortcuts and commands depending on qsci version
Torsten <ttl@justmail.de>
parents: 18665
diff changeset
915 QsciScintillaBase::SCI_LOWERCASE);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
916 }
15080
4c4f2fb07a50 Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents: 15045
diff changeset
917 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
918 file_editor::request_indent_selected_text (bool)
18303
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
919 {
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
920 emit fetab_indent_selected_text (_tab_widget->currentWidget ());
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
921 }
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
922
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
923 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
924 file_editor::request_unindent_selected_text (bool)
18303
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
925 {
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
926 emit fetab_unindent_selected_text (_tab_widget->currentWidget ());
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
927 }
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
928
19247
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
929 void
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
930 file_editor::request_conv_eol_windows (bool)
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
931 {
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
932 emit fetab_convert_eol (_tab_widget->currentWidget (),
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
933 QsciScintilla::EolWindows);
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
934 }
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
935 void
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
936 file_editor::request_conv_eol_unix (bool)
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
937 {
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
938 emit fetab_convert_eol (_tab_widget->currentWidget (),
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
939 QsciScintilla::EolUnix);
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
940 }
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
941 void
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
942 file_editor::request_conv_eol_mac (bool)
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
943 {
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
944 emit fetab_convert_eol (_tab_widget->currentWidget (),
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
945 QsciScintilla::EolMac);
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
946 }
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
947
18303
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
948 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
949 file_editor::request_find (bool)
15080
4c4f2fb07a50 Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents: 15045
diff changeset
950 {
22169
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
951 emit fetab_find (_tab_widget->currentWidget (), _fetab_actions);
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
952 }
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
953
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
954 void
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
955 file_editor::request_find_next (bool)
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
956 {
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
957 emit fetab_find_next (_tab_widget->currentWidget ());
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
958 }
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
959
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
960 void
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
961 file_editor::request_find_previous (bool)
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
962 {
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
963 emit fetab_find_previous (_tab_widget->currentWidget ());
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
964 }
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
965
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
966 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
967 file_editor::request_goto_line (bool)
16375
f482302d81c9 editor goto line menu item (bug #38590)
John Donoghue <john.donoghue@ieee.org>
parents: 16307
diff changeset
968 {
f482302d81c9 editor goto line menu item (bug #38590)
John Donoghue <john.donoghue@ieee.org>
parents: 16307
diff changeset
969 emit fetab_goto_line (_tab_widget->currentWidget ());
f482302d81c9 editor goto line menu item (bug #38590)
John Donoghue <john.donoghue@ieee.org>
parents: 16307
diff changeset
970 }
f482302d81c9 editor goto line menu item (bug #38590)
John Donoghue <john.donoghue@ieee.org>
parents: 16307
diff changeset
971
19629
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
972 void
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
973 file_editor::request_move_match_brace (bool)
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
974 {
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
975 emit fetab_move_match_brace (_tab_widget->currentWidget (), false);
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
976 }
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
977
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
978 void
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
979 file_editor::request_sel_match_brace (bool)
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
980 {
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
981 emit fetab_move_match_brace (_tab_widget->currentWidget (), true);
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
982 }
16375
f482302d81c9 editor goto line menu item (bug #38590)
John Donoghue <john.donoghue@ieee.org>
parents: 16307
diff changeset
983
f482302d81c9 editor goto line menu item (bug #38590)
John Donoghue <john.donoghue@ieee.org>
parents: 16307
diff changeset
984 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
985 file_editor::request_completion (bool)
18482
3a509de8e791 automatic completion list as user preference (bug #41469)
Torsten <ttl@justmail.de>
parents: 18460
diff changeset
986 {
3a509de8e791 automatic completion list as user preference (bug #41469)
Torsten <ttl@justmail.de>
parents: 18460
diff changeset
987 emit fetab_completion (_tab_widget->currentWidget ());
3a509de8e791 automatic completion list as user preference (bug #41469)
Torsten <ttl@justmail.de>
parents: 18460
diff changeset
988 }
3a509de8e791 automatic completion list as user preference (bug #41469)
Torsten <ttl@justmail.de>
parents: 18460
diff changeset
989
3a509de8e791 automatic completion list as user preference (bug #41469)
Torsten <ttl@justmail.de>
parents: 18460
diff changeset
990 void
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
991 file_editor::handle_mru_add_file (const QString& file_name,
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
992 const QString& encoding)
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
993 {
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
994 int index;
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
995 while ((index = _mru_files.indexOf (file_name)) >= 0)
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
996 {
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
997 _mru_files.removeAt (index);
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
998 _mru_files_encodings.removeAt (index);
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
999 }
18969
12462638ab20 do not change editors mru list if first entry is actual file (bug #42867)
Torsten <ttl@justmail.de>
parents: 18944
diff changeset
1000
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1001 _mru_files.prepend (file_name);
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1002 _mru_files_encodings.prepend (encoding);
18969
12462638ab20 do not change editors mru list if first entry is actual file (bug #42867)
Torsten <ttl@justmail.de>
parents: 18944
diff changeset
1003
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1004 mru_menu_update ();
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1005 }
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1006
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1007 void
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1008 file_editor::mru_menu_update (void)
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1009 {
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1010 int num_files = qMin (_mru_files.size (), int (MaxMRUFiles));
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1011
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1012 // configure and show active actions of mru-menu
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1013 for (int i = 0; i < num_files; ++i)
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1014 {
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1015 QString text = tr ("&%1 %2").
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1016 arg ((i+1) % int (MaxMRUFiles)).arg (_mru_files.at (i));
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1017 _mru_file_actions[i]->setText (text);
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1018
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1019 QStringList action_data;
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1020 action_data << _mru_files.at (i) << _mru_files_encodings.at (i);
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1021 _mru_file_actions[i]->setData (action_data);
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1022
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1023 _mru_file_actions[i]->setVisible (true);
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1024 }
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1025
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1026 // hide unused mru-menu entries
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1027 for (int j = num_files; j < MaxMRUFiles; ++j)
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1028 _mru_file_actions[j]->setVisible (false);
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1029
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1030 // delete entries in string-list beyond MaxMRUFiles
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1031 while (_mru_files.size () > MaxMRUFiles)
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1032 {
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1033 _mru_files.removeLast ();
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1034 _mru_files_encodings.removeLast ();
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1035 }
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1036
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1037 // save actual mru-list in settings
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1038 QSettings *settings = resource_manager::get_settings ();
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1039
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1040 settings->setValue ("editor/mru_file_list", _mru_files);
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1041 settings->setValue ("editor/mru_file_encodings", _mru_files_encodings);
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1042 settings->sync ();
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1043 }
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1044
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1045 void
16307
f299079ed03a avoid shadowed variable warning from GCC
John W. Eaton <jwe@octave.org>
parents: 16176
diff changeset
1046 file_editor::handle_file_name_changed (const QString& fname,
f299079ed03a avoid shadowed variable warning from GCC
John W. Eaton <jwe@octave.org>
parents: 16176
diff changeset
1047 const QString& tip)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
1048 {
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1049 QObject *fileEditorTab = sender ();
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
1050 if (fileEditorTab)
13524
8c143d6d0330 gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents: 13506
diff changeset
1051 {
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1052 for (int i = 0; i < _tab_widget->count (); i++)
14602
c8453a013000 Cleaned up code. Fixed bug that causes the GUI to freeze when launching another editor.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14599
diff changeset
1053 {
14715
b4db843b1f26 Done some extra method renaming to fit the overall octave coding style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14712
diff changeset
1054 if (_tab_widget->widget (i) == fileEditorTab)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
1055 {
16307
f299079ed03a avoid shadowed variable warning from GCC
John W. Eaton <jwe@octave.org>
parents: 16176
diff changeset
1056 _tab_widget->setTabText (i, fname);
f299079ed03a avoid shadowed variable warning from GCC
John W. Eaton <jwe@octave.org>
parents: 16176
diff changeset
1057 _tab_widget->setTabToolTip (i, tip);
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
1058 }
14602
c8453a013000 Cleaned up code. Fixed bug that causes the GUI to freeze when launching another editor.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14599
diff changeset
1059 }
13524
8c143d6d0330 gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents: 13506
diff changeset
1060 }
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
1061 }
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
1062
13506
c70511cf64ee Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13504
diff changeset
1063 void
16615
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1064 file_editor::request_close_file (bool)
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1065 {
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1066 file_editor_tab *editor_tab
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1067 = static_cast<file_editor_tab *> (_tab_widget->currentWidget ());
19714
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
1068 editor_tab->conditional_close ();
16615
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1069 }
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1070
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1071 void
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1072 file_editor::request_close_all_files (bool)
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1073 {
19411
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
1074 file_editor_tab *editor_tab;
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
1075
16637
b3f4bdd7e5f4 fix endless loop when closing all files in the editor and files are modified
Torsten <ttl@justmail.de>
parents: 16635
diff changeset
1076 // loop over all tabs starting from last one otherwise deletion changes index
b3f4bdd7e5f4 fix endless loop when closing all files in the editor and files are modified
Torsten <ttl@justmail.de>
parents: 16635
diff changeset
1077 for (int index = _tab_widget->count ()-1; index >= 0; index--)
19411
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
1078 {
19739
3fa35defe495 Adjust spacing of static_cast<> calls to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19714
diff changeset
1079 editor_tab = static_cast<file_editor_tab *> (_tab_widget->widget (index));
19714
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
1080 editor_tab->conditional_close ();
19411
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
1081 }
16615
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1082 }
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1083
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1084 void
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1085 file_editor::request_close_other_files (bool)
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1086 {
19411
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
1087 file_editor_tab *editor_tab;
16615
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1088 QWidget *tabID = _tab_widget->currentWidget ();
19411
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
1089
16637
b3f4bdd7e5f4 fix endless loop when closing all files in the editor and files are modified
Torsten <ttl@justmail.de>
parents: 16635
diff changeset
1090 // loop over all tabs starting from last one otherwise deletion changes index
b3f4bdd7e5f4 fix endless loop when closing all files in the editor and files are modified
Torsten <ttl@justmail.de>
parents: 16635
diff changeset
1091 for (int index = _tab_widget->count ()-1; index >= 0; index--)
16615
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1092 {
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1093 if (tabID != _tab_widget->widget (index))
19411
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
1094 {
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1095 editor_tab
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1096 = static_cast<file_editor_tab *> (_tab_widget->widget (index));
19714
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
1097 editor_tab->conditional_close ();
19411
ed0df431631b allow to cancel exiting if editor tabs are modified and exit is requested in gui
Torsten <ttl@justmail.de>
parents: 19314
diff changeset
1098 }
16615
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1099 }
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1100 }
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1101
cb09eecbd84e add close actions to the file menu of the editor
Torsten <ttl@justmail.de>
parents: 16614
diff changeset
1102 void
14715
b4db843b1f26 Done some extra method renaming to fit the overall octave coding style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14712
diff changeset
1103 file_editor::handle_tab_close_request (int index)
13529
8e87f3ba3beb gui-editor: enabled 'Save File As'
ttl <ttl@justmail.de>
parents: 13524
diff changeset
1104 {
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1105 file_editor_tab *editor_tab
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1106 = static_cast<file_editor_tab *> (_tab_widget->widget (index));
19714
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
1107 editor_tab->conditional_close ();
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
1108 }
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
1109
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
1110 void
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1111 file_editor::handle_tab_remove_request (void)
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
1112 {
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1113 QObject *fileEditorTab = sender ();
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
1114 if (fileEditorTab)
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
1115 {
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1116 for (int i = 0; i < _tab_widget->count (); i++)
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
1117 {
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
1118 if (_tab_widget->widget (i) == fileEditorTab)
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
1119 {
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
1120 _tab_widget->removeTab (i);
19714
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
1121 // Deleting sender is dodgy, but works because the signal
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
1122 // is the last item in the sender's routines.
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
1123 delete fileEditorTab;
17914
46da2c323ad6 Remove unnecessary loop in file_editor::handle_tab_remove_request.
PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
parents: 17903
diff changeset
1124 break;
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
1125 }
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
1126 }
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
1127 }
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1128 check_actions ();
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1129
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1130 focus (); // focus stays in editor when tab is closed
23892
ba46a8015b26 close editor tab when related file is deleted in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23870
diff changeset
1131
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
1132 }
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
1133
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
1134 void
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1135 file_editor::handle_add_filename_to_list (const QString& fileName,
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1136 const QString& encoding, QWidget *ID)
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
1137 {
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
1138 // Should we allow multiple tabs for a single file?
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1139 editor_tab_map[fileName].fet_ID = ID;
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1140 editor_tab_map[fileName].encoding = encoding;
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
1141 }
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
1142
18687
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1143 // context menu of edit area
13506
c70511cf64ee Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13504
diff changeset
1144 void
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
1145 file_editor::active_tab_changed (int index)
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
1146 {
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
1147 emit fetab_change_request (_tab_widget->widget (index));
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
1148 }
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
1149
18687
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1150 void file_editor::create_context_menu (QMenu *menu)
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1151 {
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1152 // remove all standard actions from scintilla
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1153 QList<QAction *> all_actions = menu->actions ();
23449
c763214a8260 maint: Use convention 'int *x' for naming pointers.
Rik <rik@octave.org>
parents: 23433
diff changeset
1154 QAction *a;
18687
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1155
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1156 foreach (a, all_actions)
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1157 menu->removeAction (a);
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1158
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1159 // add editor's actions with icons and customized shortcuts
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1160 menu->addAction (_undo_action);
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1161 menu->addAction (_redo_action);
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1162 menu->addSeparator ();
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1163 menu->addAction (_cut_action);
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1164 menu->addAction (_copy_action);
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1165 menu->addAction (_paste_action);
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1166 menu->addSeparator ();
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1167 menu->addAction (_selectall_action);
18767
095fdef3d67c use editors run selection action for the context menu
Torsten <ttl@justmail.de>
parents: 18748
diff changeset
1168 menu->addSeparator ();
095fdef3d67c use editors run selection action for the context menu
Torsten <ttl@justmail.de>
parents: 18748
diff changeset
1169 menu->addAction (_run_selection_action);
18687
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1170 }
99e26cb0f87f use the actions from the editor for the context menu
Torsten <ttl@justmail.de>
parents: 18686
diff changeset
1171
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
1172 void
19246
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1173 file_editor::toggle_preference (const QString& preference, bool def)
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1174 {
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1175 QSettings *settings = resource_manager::get_settings ();
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1176 bool old = settings->value (preference,def).toBool ();
20955
77f5591878bf maint: Use '! expr' rather than '!expr' to conform to coding guidelines.
Rik <rik@octave.org>
parents: 20814
diff changeset
1177 settings->setValue (preference,! old);
19246
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1178 notice_settings (settings);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1179 }
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1180
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1181 void
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1182 file_editor::show_line_numbers (bool)
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1183 {
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1184 toggle_preference ("editor/showLineNumbers",true);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1185 }
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1186 void
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1187 file_editor::show_white_space (bool)
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1188 {
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1189 toggle_preference ("editor/show_white_space",false);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1190 }
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1191 void
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1192 file_editor::show_eol_chars (bool)
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1193 {
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1194 toggle_preference ("editor/show_eol_chars",false);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1195 }
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1196 void
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1197 file_editor::show_indent_guides (bool)
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1198 {
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1199 toggle_preference ("editor/show_indent_guides",false);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1200 }
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1201 void
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1202 file_editor::show_long_line (bool)
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1203 {
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1204 toggle_preference ("editor/long_line_marker",true);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1205 }
20992
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1206 void
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1207 file_editor::show_toolbar (bool)
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1208 {
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1209 toggle_preference ("editor/show_toolbar",true);
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1210 }
21001
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1211 void
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1212 file_editor::show_statusbar (bool)
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1213 {
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1214 toggle_preference ("editor/show_edit_status_bar",true);
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1215 }
21002
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
1216 void
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
1217 file_editor::show_hscrollbar (bool)
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
1218 {
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
1219 toggle_preference ("editor/show_hscroll_bar",true);
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
1220 }
19246
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1221
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1222 void
18560
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1223 file_editor::zoom_in (bool)
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1224 {
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1225 emit fetab_zoom_in (_tab_widget->currentWidget ());
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1226 }
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1227
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1228 void
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1229 file_editor::zoom_out (bool)
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1230 {
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1231 emit fetab_zoom_out (_tab_widget->currentWidget ());
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1232 }
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1233
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1234 void
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1235 file_editor::zoom_normal (bool)
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1236 {
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1237 emit fetab_zoom_normal (_tab_widget->currentWidget ());
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1238 }
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1239
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1240 void
18689
fac35875f6eb update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents: 18688
diff changeset
1241 file_editor::edit_status_update (bool undo, bool redo)
fac35875f6eb update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents: 18688
diff changeset
1242 {
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1243 if (_undo_action)
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1244 _undo_action->setEnabled (undo);
18689
fac35875f6eb update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents: 18688
diff changeset
1245 _redo_action->setEnabled (redo);
fac35875f6eb update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents: 18688
diff changeset
1246 }
fac35875f6eb update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents: 18688
diff changeset
1247
fac35875f6eb update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents: 18688
diff changeset
1248 void
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1249 file_editor::handle_editor_state_changed (bool copy_available,
18767
095fdef3d67c use editors run selection action for the context menu
Torsten <ttl@justmail.de>
parents: 18748
diff changeset
1250 bool is_octave_file)
14690
ca733a66be7a Fixed bug with not opening the editor when clicking a file from the file browser. Implemented watching the file on disk.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14681
diff changeset
1251 {
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
1252 // In case there is some scenario where traffic could be coming from
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
1253 // all the file editor tabs, just process info from the current active tab.
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1254 if (sender () == _tab_widget->currentWidget ())
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
1255 {
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1256 if (_copy_action)
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1257 _copy_action->setEnabled (copy_available);
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
1258 _cut_action->setEnabled (copy_available);
19085
63c5f95afeb3 Allow run selection for all editor file types (bug #43195)
Torsten <ttl@justmail.de>
parents: 19009
diff changeset
1259 _run_selection_action->setEnabled (copy_available);
18767
095fdef3d67c use editors run selection action for the context menu
Torsten <ttl@justmail.de>
parents: 18748
diff changeset
1260 _run_action->setEnabled (is_octave_file);
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1261
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
1262 setFocusProxy (_tab_widget->currentWidget ());
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
1263 }
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
1264 }
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
1265
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
1266 void
16413
28136851099a remove _terminal pointer from main_window, it is contained by other Qt object
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16407
diff changeset
1267 file_editor::notice_settings (const QSettings *settings)
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
1268 {
19847
597fc0fd8e54 make size of toolbar icons depending on scaling of display
Torsten <ttl@justmail.de>
parents: 19822
diff changeset
1269 int icon_size_settings = settings->value ("toolbar_icon_size",0).toInt ();
597fc0fd8e54 make size of toolbar icons depending on scaling of display
Torsten <ttl@justmail.de>
parents: 19822
diff changeset
1270 QStyle *st = style ();
597fc0fd8e54 make size of toolbar icons depending on scaling of display
Torsten <ttl@justmail.de>
parents: 19822
diff changeset
1271 int icon_size = st->pixelMetric (QStyle::PM_ToolBarIconSize);
597fc0fd8e54 make size of toolbar icons depending on scaling of display
Torsten <ttl@justmail.de>
parents: 19822
diff changeset
1272
597fc0fd8e54 make size of toolbar icons depending on scaling of display
Torsten <ttl@justmail.de>
parents: 19822
diff changeset
1273 if (icon_size_settings == 1)
597fc0fd8e54 make size of toolbar icons depending on scaling of display
Torsten <ttl@justmail.de>
parents: 19822
diff changeset
1274 icon_size = st->pixelMetric (QStyle::PM_LargeIconSize);
597fc0fd8e54 make size of toolbar icons depending on scaling of display
Torsten <ttl@justmail.de>
parents: 19822
diff changeset
1275 else if (icon_size_settings == -1)
597fc0fd8e54 make size of toolbar icons depending on scaling of display
Torsten <ttl@justmail.de>
parents: 19822
diff changeset
1276 icon_size = st->pixelMetric (QStyle::PM_SmallIconSize);
597fc0fd8e54 make size of toolbar icons depending on scaling of display
Torsten <ttl@justmail.de>
parents: 19822
diff changeset
1277
597fc0fd8e54 make size of toolbar icons depending on scaling of display
Torsten <ttl@justmail.de>
parents: 19822
diff changeset
1278 _tool_bar->setIconSize (QSize (icon_size,icon_size));
18281
4dadae02bd4c max. width of editor tabs limited and configurable
Torsten <ttl@justmail.de>
parents: 18269
diff changeset
1279
18343
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1280 int tab_width_min = settings->value ("editor/notebook_tab_width_min", 160)
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1281 .toInt ();
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1282 int tab_width_max = settings->value ("editor/notebook_tab_width_max", 300)
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1283 .toInt ();
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1284
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1285 if (settings->value ("editor/longWindowTitle", false).toBool ())
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1286 {
18690
834f6e604dc3 use defaults size for tab heights in editor and doc widget (bug #42144)
Torsten <ttl@justmail.de>
parents: 18689
diff changeset
1287 QString style_sheet = QString ("QTabBar::tab "
834f6e604dc3 use defaults size for tab heights in editor and doc widget (bug #42144)
Torsten <ttl@justmail.de>
parents: 18689
diff changeset
1288 "{min-width: %1px; max-width: %2px;}")
18343
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1289 .arg (tab_width_min).arg (tab_width_max);
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1290 _tab_widget->setElideMode (Qt::ElideLeft);
18690
834f6e604dc3 use defaults size for tab heights in editor and doc widget (bug #42144)
Torsten <ttl@justmail.de>
parents: 18689
diff changeset
1291 _tab_widget->setStyleSheet (style_sheet);
18343
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1292 }
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1293 else
18690
834f6e604dc3 use defaults size for tab heights in editor and doc widget (bug #42144)
Torsten <ttl@justmail.de>
parents: 18689
diff changeset
1294 _tab_widget->setElideMode (Qt::ElideNone);
18343
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1295
3df71e1d3b24 improve width of editor tabs when showing complete file path
Torsten <ttl@justmail.de>
parents: 18303
diff changeset
1296 _tab_widget->setUsesScrollButtons (true);
18281
4dadae02bd4c max. width of editor tabs limited and configurable
Torsten <ttl@justmail.de>
parents: 18269
diff changeset
1297
19246
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1298 bool show_it;
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1299 show_it = settings->value ("editor/showLineNumbers",true).toBool ();
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1300 _show_linenum_action->setChecked (show_it);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1301 show_it = settings->value ("editor/show_white_space",false).toBool ();
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1302 _show_whitespace_action->setChecked (show_it);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1303 show_it = settings->value ("editor/show_eol_chars",false).toBool ();
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1304 _show_eol_action->setChecked (show_it);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1305 show_it = settings->value ("editor/show_indent_guides",false).toBool ();
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1306 _show_indguide_action->setChecked (show_it);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1307 show_it = settings->value ("editor/long_line_marker",true).toBool ();
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1308 _show_longline_action->setChecked (show_it);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1309
20992
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1310 show_it = settings->value ("editor/show_toolbar",true).toBool ();
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1311 _show_toolbar_action->setChecked (show_it);
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1312 _tool_bar->setVisible (show_it);
21001
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1313 show_it = settings->value ("editor/show_edit_status_bar",true).toBool ();
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1314 _show_statusbar_action->setChecked (show_it);
21002
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
1315 show_it = settings->value ("editor/show_hscroll_bar",true).toBool ();
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
1316 _show_hscrollbar_action->setChecked (show_it);
20992
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1317
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1318 set_shortcuts ();
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1319
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
1320 // Relay signal to file editor tabs.
16413
28136851099a remove _terminal pointer from main_window, it is contained by other Qt object
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16407
diff changeset
1321 emit fetab_settings_changed (settings);
14690
ca733a66be7a Fixed bug with not opening the editor when clicking a file from the file browser. Implemented watching the file on disk.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14681
diff changeset
1322 }
ca733a66be7a Fixed bug with not opening the editor when clicking a file from the file browser. Implemented watching the file on disk.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14681
diff changeset
1323
ca733a66be7a Fixed bug with not opening the editor when clicking a file from the file browser. Implemented watching the file on disk.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14681
diff changeset
1324 void
17676
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1325 file_editor::request_preferences (bool)
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1326 {
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1327 emit request_settings_dialog ("editor");
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1328 }
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1329
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1330 void
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1331 file_editor::request_styles_preferences (bool)
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1332 {
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1333 emit request_settings_dialog ("editor_styles");
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1334 }
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1335
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1336 // insert global actions, that should also be displayed in the editor window,
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1337 // into the editor's menu and/or toolbar
17676
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1338 void
20989
98e75f952a36 add find files action also to the editor menu
Torsten <ttl@justmail.de>
parents: 20986
diff changeset
1339 file_editor::insert_global_actions (QList<QAction*> shared_actions)
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1340 {
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1341 // actions/menus that have to be added to the toolbar or the menu
20989
98e75f952a36 add find files action also to the editor menu
Torsten <ttl@justmail.de>
parents: 20986
diff changeset
1342 QAction *open_action = shared_actions.at (OPEN_ACTION);
98e75f952a36 add find files action also to the editor menu
Torsten <ttl@justmail.de>
parents: 20986
diff changeset
1343 QAction *new_action = shared_actions.at (NEW_SCRIPT_ACTION);
98e75f952a36 add find files action also to the editor menu
Torsten <ttl@justmail.de>
parents: 20986
diff changeset
1344 QAction *new_fcn_action = shared_actions.at (NEW_FUNCTION_ACTION);
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1345 _fileMenu->insertAction (_mru_file_menu->menuAction (), open_action);
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1346 _fileMenu->insertAction (open_action, new_fcn_action);
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1347 _fileMenu->insertAction (new_fcn_action, new_action);
20754
e6ccc8ae9e41 add list of mru files to the toolbar of the editor
Torsten <ttl@justmail.de>
parents: 20720
diff changeset
1348 _tool_bar->insertAction (_popdown_mru_action, open_action);
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1349 _tool_bar->insertAction (open_action, new_action);
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1350
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1351 // actions that are additionally enabled/disabled later by the editor
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1352 // undo
20989
98e75f952a36 add find files action also to the editor menu
Torsten <ttl@justmail.de>
parents: 20986
diff changeset
1353 _undo_action = shared_actions.at (UNDO_ACTION);
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1354 _tool_bar->insertAction (_redo_action,_undo_action);
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1355 _edit_menu->insertAction (_redo_action,_undo_action);
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1356 // copy
20989
98e75f952a36 add find files action also to the editor menu
Torsten <ttl@justmail.de>
parents: 20986
diff changeset
1357 _copy_action = shared_actions.at (COPY_ACTION);
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1358 _tool_bar->insertAction (_cut_action,_copy_action);
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1359 _edit_menu->insertAction (_cut_action,_copy_action);
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1360 // select all
20989
98e75f952a36 add find files action also to the editor menu
Torsten <ttl@justmail.de>
parents: 20986
diff changeset
1361 _selectall_action = shared_actions.at (SELECTALL_ACTION);
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1362 _edit_menu->insertAction (_find_action,_selectall_action);
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1363 _edit_menu->insertSeparator (_find_action);
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1364 // paste
20989
98e75f952a36 add find files action also to the editor menu
Torsten <ttl@justmail.de>
parents: 20986
diff changeset
1365 _paste_action = shared_actions.at (PASTE_ACTION);
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1366 _tool_bar->insertAction (_find_action,_paste_action);
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1367 _edit_menu->insertAction (_selectall_action,_paste_action);
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1368 _edit_menu->insertSeparator (_selectall_action);
20989
98e75f952a36 add find files action also to the editor menu
Torsten <ttl@justmail.de>
parents: 20986
diff changeset
1369 // find files
98e75f952a36 add find files action also to the editor menu
Torsten <ttl@justmail.de>
parents: 20986
diff changeset
1370 _find_files_action = shared_actions.at (FIND_FILES_ACTION);
98e75f952a36 add find files action also to the editor menu
Torsten <ttl@justmail.de>
parents: 20986
diff changeset
1371 _edit_menu->insertAction (_find_action, _find_files_action);
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1372 }
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1373
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1374 QAction*
23433
c9fab0bc983e maint: Use convention 'int& x' for naming references.
Rik <rik@octave.org>
parents: 23432
diff changeset
1375 file_editor::add_action (QMenu *menu, const QIcon& icon, const 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
1376 const char *member)
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1377 {
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1378 QAction *a;
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1379
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1380 if (menu)
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1381 a = menu->addAction (icon, text, this, member);
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1382 else
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1383 {
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1384 a = new QAction (this);
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1385 connect (a, SIGNAL (triggered ()), this, member);
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1386 }
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1387
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1388 addAction (a); // important for shortcut context
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1389 a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1390
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1391 return a;
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1392 }
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1393
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1394 // function enabling/disabling the menu accelerators depending on the
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1395 // focus of the editor
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1396 void
18944
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1397 file_editor::enable_menu_shortcuts (bool enable)
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1398 {
23070
bef714f45999 maint: Use space after function name/before parenthesis in libgui.
Rik <rik@octave.org>
parents: 22755
diff changeset
1399 QHash<QMenu*, QStringList>::const_iterator i = _hash_menu_text.constBegin ();
18944
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1400
23070
bef714f45999 maint: Use space after function name/before parenthesis in libgui.
Rik <rik@octave.org>
parents: 22755
diff changeset
1401 while (i != _hash_menu_text.constEnd ())
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1402 {
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1403 i.key ()->setTitle (i.value ().at (! enable));
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1404 ++i;
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1405 }
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1406
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1407 // when editor loses focus, enable the actions, which are always active
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1408 // in the main window due to missing info on selected text and undo actions
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1409 if (! enable && _copy_action && _undo_action)
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1410 {
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1411 _copy_action->setEnabled (true);
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1412 _undo_action->setEnabled (true);
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1413 }
18944
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1414 }
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1415
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1416 QMenu*
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1417 file_editor::m_add_menu (QMenuBar *p, QString name)
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1418 {
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1419 QMenu *menu = p->addMenu (name);
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1420
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1421 QString base_name = name; // get a copy
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1422 // replace intended '&' ("&&") by a temp. string
23807
336f89b6208b Use character literals 'c' rather than string literals "c" when possible.
Rik <rik@octave.org>
parents: 23795
diff changeset
1423 base_name.replace ("&&", "___octave_amp_replacement___");
18944
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1424 // remove single '&' (shortcut)
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1425 base_name.remove ("&");
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1426 // restore intended '&'
23807
336f89b6208b Use character literals 'c' rather than string literals "c" when possible.
Rik <rik@octave.org>
parents: 23795
diff changeset
1427 base_name.replace ("___octave_amp_replacement___", "&&");
18944
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1428
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1429 // remember names with and without shortcut
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1430 _hash_menu_text[menu] = QStringList () << name << base_name;
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1431
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1432 return menu;
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1433 }
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1434
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1435 void
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1436 file_editor::construct (void)
13506
c70511cf64ee Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13504
diff changeset
1437 {
15368
36ececf69385 avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents: 15367
diff changeset
1438 QWidget *editor_widget = new QWidget (this);
15894
9cd14e53e906 eliminate some compiler warnings for GUI code
John W. Eaton <jwe@octave.org>
parents: 15873
diff changeset
1439
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1440 // FIXME: what was the intended purpose of this unused variable?
15894
9cd14e53e906 eliminate some compiler warnings for GUI code
John W. Eaton <jwe@octave.org>
parents: 15873
diff changeset
1441 // QStyle *editor_style = QApplication::style ();
15368
36ececf69385 avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents: 15367
diff changeset
1442 _menu_bar = new QMenuBar (editor_widget);
18554
bfb735b70978 Force non-native menu bar for the editor on mac (bug #41823)
pantxo <pantxo.diribarne@gmail.com>
parents: 18545
diff changeset
1443 #if defined (Q_OS_MAC)
bfb735b70978 Force non-native menu bar for the editor on mac (bug #41823)
pantxo <pantxo.diribarne@gmail.com>
parents: 18545
diff changeset
1444 _menu_bar->setNativeMenuBar (false);
bfb735b70978 Force non-native menu bar for the editor on mac (bug #41823)
pantxo <pantxo.diribarne@gmail.com>
parents: 18545
diff changeset
1445 #endif
15368
36ececf69385 avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents: 15367
diff changeset
1446 _tool_bar = new QToolBar (editor_widget);
17988
d62570cfbab9 reduce default icon size to 16 pixel for larger working areas in the widgets
Torsten <ttl@justmail.de>
parents: 17941
diff changeset
1447 _tool_bar->setMovable (true);
23276
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
1448
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
1449 _tab_widget = new file_editor_tab_widget (editor_widget);
14715
b4db843b1f26 Done some extra method renaming to fit the overall octave coding style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14712
diff changeset
1450 _tab_widget->setTabsClosable (true);
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21650
diff changeset
1451 #if defined (HAVE_QTABWIDGET_SETMOVABLE)
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 17988
diff changeset
1452 _tab_widget->setMovable (true);
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 17988
diff changeset
1453 #endif
13562
a89aa9e05e19 editor: menu bar, run editor file in octave
ttl <ttl@justmail.de>
parents: 13558
diff changeset
1454
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1455 // the mru-list and an empty array of actions
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1456 QSettings *settings = resource_manager::get_settings ();
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1457 _mru_files = settings->value ("editor/mru_file_list").toStringList ();
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1458 _mru_files_encodings = settings->value ("editor/mru_file_encodings")
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1459 .toStringList ();
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1460
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1461 if (_mru_files_encodings.count () != _mru_files.count ())
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1462 {
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1463 // encodings don't have the same count -> do not use them!
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1464 _mru_files_encodings = QStringList ();
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1465 for (int i = 0; i < _mru_files.count (); i++)
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1466 _mru_files_encodings << QString ();
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1467 }
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1468
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1469 for (int i = 0; i < MaxMRUFiles; ++i)
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1470 {
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1471 _mru_file_actions[i] = new QAction (this);
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1472 _mru_file_actions[i]->setVisible (false);
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1473 }
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1474
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1475 // menu bar
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1476
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1477 // file menu
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1478
18944
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1479 _fileMenu = m_add_menu (_menu_bar, tr ("&File"));
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1480
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1481 // new and open menus are inserted later by the main window
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1482 _mru_file_menu = new QMenu (tr ("&Recent Editor Files"), _fileMenu);
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1483 for (int i = 0; i < MaxMRUFiles; ++i)
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1484 _mru_file_menu->addAction (_mru_file_actions[i]);
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1485 _fileMenu->addMenu (_mru_file_menu);
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1486
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1487 _fileMenu->addSeparator ();
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1488
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1489 _edit_function_action = add_action (_fileMenu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1490 tr ("&Edit Function"), SLOT (request_context_edit (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1491
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1492 _fileMenu->addSeparator ();
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1493
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1494 _save_action = add_action (_fileMenu, resource_manager::icon ("document-save"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1495 tr ("&Save File"), SLOT (request_save_file (bool)));
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1496 _save_as_action = add_action (_fileMenu, resource_manager::icon ("document-save-as"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1497 tr ("Save File &As..."), SLOT (request_save_file_as (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1498
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1499 _fileMenu->addSeparator ();
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1500
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1501 _close_action = add_action (_fileMenu, resource_manager::icon ("window-close",false),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1502 tr ("&Close"), SLOT (request_close_file (bool)));
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1503 _close_all_action = add_action (_fileMenu, resource_manager::icon ("window-close",false),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1504 tr ("Close All"), SLOT (request_close_all_files (bool)));
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1505 _close_others_action = add_action (_fileMenu, resource_manager::icon ("window-close",false),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1506 tr ("Close Other Files"), SLOT (request_close_other_files (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1507
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1508 _fileMenu->addSeparator ();
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1509
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1510 _print_action = add_action (_fileMenu, resource_manager::icon ("document-print"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1511 tr ("Print..."), SLOT (request_print_file (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1512
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1513 // edit menu (undo, copy, paste and select all later via main window)
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1514
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1515 _edit_menu = m_add_menu (_menu_bar, tr ("&Edit"));
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1516
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1517 _redo_action = add_action (_edit_menu, resource_manager::icon ("edit-redo"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1518 tr ("&Redo"), SLOT (request_redo (bool)));
18689
fac35875f6eb update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents: 18688
diff changeset
1519 _redo_action->setEnabled (false);
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16912
diff changeset
1520
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1521 _edit_menu->addSeparator ();
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1522
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1523 _cut_action = add_action (_edit_menu, resource_manager::icon ("edit-cut"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1524 tr ("Cu&t"), SLOT (request_cut (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1525 _cut_action->setEnabled (false);
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1526
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1527 _find_action = add_action (_edit_menu, resource_manager::icon ("edit-find-replace"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1528 tr ("&Find and Replace..."), SLOT (request_find (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1529
22169
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
1530 _find_next_action = add_action (_edit_menu, QIcon (),
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
1531 tr ("Find &Next..."), SLOT (request_find_next (bool)));
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
1532
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
1533 _find_previous_action = add_action (_edit_menu, QIcon (),
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
1534 tr ("Find &Previous..."), SLOT (request_find_previous (bool)));
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
1535
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1536 _edit_menu->addSeparator ();
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1537
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1538 _edit_cmd_menu = _edit_menu->addMenu (tr ("&Commands"));
16440
aaf024ac8015 Add editor print menu/toolbutton implementation
John Donoghue <john.donoghue@ieee.org>
parents: 16438
diff changeset
1539
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1540 _delete_line_action = add_action (_edit_cmd_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1541 tr ("Delete Line"), SLOT (request_delete_line (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1542 _copy_line_action = add_action (_edit_cmd_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1543 tr ("Copy Line"), SLOT (request_copy_line (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1544 _cut_line_action = add_action (_edit_cmd_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1545 tr ("Cut Line"), SLOT (request_cut_line (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1546
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1547 _edit_cmd_menu->addSeparator ();
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1548
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1549 _delete_start_word_action = add_action (_edit_cmd_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1550 tr ("Delete to Start of Word"), SLOT (request_delete_start_word (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1551 _delete_end_word_action = add_action (_edit_cmd_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1552 tr ("Delete to End of Word"), SLOT (request_delete_end_word (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1553 _delete_start_line_action = add_action (_edit_cmd_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1554 tr ("Delete to Start of Line"), SLOT (request_delete_start_line (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1555 _delete_end_line_action = add_action (_edit_cmd_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1556 tr ("Delete to End of Line"), SLOT (request_delete_end_line (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1557
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1558 _edit_cmd_menu->addSeparator ();
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1559
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1560 _duplicate_selection_action = add_action (_edit_cmd_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1561 tr ("Duplicate Selection/Line"), SLOT (request_duplicate_selection (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1562 _transpose_line_action = add_action (_edit_cmd_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1563 tr ("Transpose Line"), SLOT (request_transpose_line (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1564
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1565 _edit_cmd_menu->addSeparator ();
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16912
diff changeset
1566
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1567 _completion_action = add_action (_edit_cmd_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1568 tr ("&Show Completion List"), SLOT (request_completion (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1569
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1570 _edit_fmt_menu = _edit_menu->addMenu (tr ("&Format"));
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1571
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1572 _upper_case_action = add_action (_edit_fmt_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1573 tr ("&Uppercase Selection"), SLOT (request_upper_case (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1574 _lower_case_action = add_action (_edit_fmt_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1575 tr ("&Lowercase Selection"), SLOT (request_lower_case (bool)));
19247
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1576
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1577 _edit_fmt_menu->addSeparator ();
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1578
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1579 _comment_selection_action = add_action (_edit_fmt_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1580 tr ("&Comment"), SLOT (request_comment_selected_text (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1581 _uncomment_selection_action = add_action (_edit_fmt_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1582 tr ("&Uncomment"), SLOT (request_uncomment_selected_text (bool)));
19247
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1583
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1584 _edit_fmt_menu->addSeparator ();
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1585
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1586 _indent_selection_action = add_action (_edit_fmt_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1587 tr ("&Indent"), SLOT (request_indent_selected_text (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1588 _unindent_selection_action = add_action (_edit_fmt_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1589 tr ("&Unindent"), SLOT (request_unindent_selected_text (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1590
19247
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1591 _edit_fmt_menu->addSeparator ();
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1592
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1593 _conv_eol_windows_action = add_action (_edit_fmt_menu, QIcon (),
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1594 tr ("Convert Line Endings to &Windows (CRLF)"),
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1595 SLOT (request_conv_eol_windows (bool)));
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1596 _conv_eol_unix_action = add_action (_edit_fmt_menu, QIcon (),
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1597 tr ("Convert Line Endings to &Unix (LF)"),
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1598 SLOT (request_conv_eol_unix (bool)));
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1599 _conv_eol_mac_action = add_action (_edit_fmt_menu, QIcon (),
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1600 tr ("Convert Line Endings to &Mac (CR)"),
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1601 SLOT (request_conv_eol_mac (bool)));
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
1602
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1603 _edit_nav_menu = _edit_menu->addMenu (tr ("Navi&gation"));
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1604
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1605 _goto_line_action = add_action (_edit_nav_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1606 tr ("Go &to Line..."), SLOT (request_goto_line (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1607
19629
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
1608 _edit_cmd_menu->addSeparator ();
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
1609
21568
3d60ed163b70 maint: Eliminate bad spacing around '='.
Rik <rik@octave.org>
parents: 21565
diff changeset
1610 _move_to_matching_brace = add_action (_edit_nav_menu, QIcon (),
19629
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
1611 tr ("Move to Matching Brace"), SLOT (request_move_match_brace (bool)));
21568
3d60ed163b70 maint: Eliminate bad spacing around '='.
Rik <rik@octave.org>
parents: 21565
diff changeset
1612 _sel_to_matching_brace = add_action (_edit_nav_menu, QIcon (),
19629
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
1613 tr ("Select to Matching Brace"), SLOT (request_sel_match_brace (bool)));
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
1614
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1615 _edit_nav_menu->addSeparator ();
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1616
22179
603f0d752de2 Wrap search for "next bookmark" and "prev bookmark" (bug #48044)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22169
diff changeset
1617 _next_bookmark_action = add_action (_edit_nav_menu, QIcon (),
603f0d752de2 Wrap search for "next bookmark" and "prev bookmark" (bug #48044)
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22169
diff changeset
1618 tr ("&Next Bookmark"), SLOT (request_next_bookmark (bool)));
21568
3d60ed163b70 maint: Eliminate bad spacing around '='.
Rik <rik@octave.org>
parents: 21565
diff changeset
1619 _previous_bookmark_action = add_action (_edit_nav_menu, QIcon (),
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1620 tr ("Pre&vious Bookmark"), SLOT (request_previous_bookmark (bool)));
21568
3d60ed163b70 maint: Eliminate bad spacing around '='.
Rik <rik@octave.org>
parents: 21565
diff changeset
1621 _toggle_bookmark_action = add_action (_edit_nav_menu, QIcon (),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1622 tr ("Toggle &Bookmark"), SLOT (request_toggle_bookmark (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1623 _remove_bookmark_action = add_action (_edit_nav_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1624 tr ("&Remove All Bookmarks"), SLOT (request_remove_bookmark (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1625
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1626 _edit_menu->addSeparator ();
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1627
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1628 _preferences_action = add_action (_edit_menu, resource_manager::icon ("preferences-system"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1629 tr ("&Preferences..."), SLOT (request_preferences (bool)));
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1630 _styles_preferences_action = add_action (_edit_menu, resource_manager::icon ("preferences-system"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1631 tr ("&Styles Preferences..."), SLOT (request_styles_preferences (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1632
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1633 // view menu
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1634
18944
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1635 QMenu *view_menu = m_add_menu (_menu_bar, tr ("&View"));
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1636
19246
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1637 _view_editor_menu = view_menu->addMenu (tr ("&Editor"));
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1638
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1639 _show_linenum_action = add_action (_view_editor_menu, QIcon (),
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1640 tr ("Show &Line Numbers"), SLOT (show_line_numbers (bool)));
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1641 _show_linenum_action->setCheckable (true);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1642
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1643 _show_whitespace_action = add_action (_view_editor_menu, QIcon (),
20002
17d79913f065 Fix several typos in GUI strings (bug #44681).
Rik <rik@octave.org>
parents: 20001
diff changeset
1644 tr ("Show &Whitespace Characters"), SLOT (show_white_space (bool)));
19246
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1645 _show_whitespace_action->setCheckable (true);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1646
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1647 _show_eol_action = add_action (_view_editor_menu, QIcon (),
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1648 tr ("Show Line &Endings"), SLOT (show_eol_chars (bool)));
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1649 _show_eol_action->setCheckable (true);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1650
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1651 _show_indguide_action = add_action (_view_editor_menu, QIcon (),
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1652 tr ("Show &Indentation Guides"), SLOT (show_indent_guides (bool)));
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1653 _show_indguide_action->setCheckable (true);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1654
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1655 _show_longline_action = add_action (_view_editor_menu, QIcon (),
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1656 tr ("Show Long Line &Marker"), SLOT (show_long_line (bool)));
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1657 _show_longline_action->setCheckable (true);
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1658
21001
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1659 _view_editor_menu->addSeparator ();
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1660
20992
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1661 _show_toolbar_action = add_action (_view_editor_menu, QIcon (),
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1662 tr ("Show &Toolbar"), SLOT (show_toolbar (bool)));
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1663 _show_toolbar_action->setCheckable (true);
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
1664
21001
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1665 _show_statusbar_action = add_action (_view_editor_menu, QIcon (),
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1666 tr ("Show &Statusbar"), SLOT (show_statusbar (bool)));
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1667 _show_statusbar_action->setCheckable (true);
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
1668
21002
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
1669 _show_hscrollbar_action = add_action (_view_editor_menu, QIcon (),
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
1670 tr ("Show &Horizontal Scrollbar"), SLOT (show_hscrollbar (bool)));
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
1671 _show_hscrollbar_action->setCheckable (true);
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
1672
19246
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1673 view_menu->addSeparator ();
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
1674
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1675 _zoom_in_action = add_action (view_menu, resource_manager::icon ("zoom-in"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1676 tr ("Zoom &In"), SLOT (zoom_in (bool)));
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1677 _zoom_out_action = add_action (view_menu, resource_manager::icon ("zoom-out"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1678 tr ("Zoom &Out"), SLOT (zoom_out (bool)));
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1679 _zoom_normal_action = add_action (view_menu, QIcon (),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1680 tr ("&Normal Size"), SLOT (zoom_normal (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1681
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1682 _menu_bar->addMenu (view_menu);
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1683
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1684 // debug menu
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1685
18944
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1686 _debug_menu = m_add_menu (_menu_bar, tr ("&Debug"));
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1687
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1688 _toggle_breakpoint_action = add_action (_debug_menu,
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1689 resource_manager::icon ("bp-toggle"), tr ("Toggle &Breakpoint"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1690 SLOT (request_toggle_breakpoint (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1691 _next_breakpoint_action = add_action (_debug_menu,
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1692 resource_manager::icon ("bp-next"), tr ("&Next Breakpoint"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1693 SLOT (request_next_breakpoint (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1694 _previous_breakpoint_action = add_action (_debug_menu,
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1695 resource_manager::icon ("bp-prev"), tr ("Pre&vious Breakpoint"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1696 SLOT (request_previous_breakpoint (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1697 _remove_all_breakpoints_action = add_action (_debug_menu,
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1698 resource_manager::icon ("bp-rm-all"), tr ("&Remove All Breakpoints"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1699 SLOT (request_remove_breakpoint (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1700
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1701 _debug_menu->addSeparator ();
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1702
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1703 // The other debug actions will be added by the main window.
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1704
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1705 // run menu
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1706
18944
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1707 QMenu *_run_menu = m_add_menu (_menu_bar, tr ("&Run"));
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1708
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1709 _run_action = add_action (_run_menu, resource_manager::icon ("system-run"),
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1710 tr ("Save File and Run"), SLOT (request_run_file (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1711 _run_selection_action = add_action (_run_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1712 tr ("Run &Selection"), SLOT (request_context_run (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1713 _run_selection_action->setEnabled (false);
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1714
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1715 // help menu
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1716
18944
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
1717 QMenu *_help_menu = m_add_menu (_menu_bar, tr ("&Help"));
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1718
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1719 _context_help_action = add_action (_help_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1720 tr ("&Help on Keyword"), SLOT (request_context_help (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1721 _context_doc_action = add_action (_help_menu, QIcon (),
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1722 tr ("&Documentation on Keyword"), SLOT (request_context_doc (bool)));
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1723
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1724 // tab navigation (no menu, only actions)
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1725
23795
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
1726 _switch_left_tab_action = add_action (nullptr, QIcon (), "",
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1727 SLOT (switch_left_tab ()));
23795
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
1728 _switch_right_tab_action = add_action (nullptr, QIcon (), "",
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1729 SLOT (switch_right_tab ()));
23795
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
1730 _move_tab_left_action = add_action (nullptr, QIcon (), "",
20705
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
1731 SLOT (move_tab_left ()));
23795
980f39c3ab90 Use C++11 nullptr rather than 0 in code (bug #51565).
Rik <rik@octave.org>
parents: 23531
diff changeset
1732 _move_tab_right_action = add_action (nullptr, QIcon (), "",
20705
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
1733 SLOT (move_tab_right ()));
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
1734
13562
a89aa9e05e19 editor: menu bar, run editor file in octave
ttl <ttl@justmail.de>
parents: 13558
diff changeset
1735 // toolbar
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1736
20754
e6ccc8ae9e41 add list of mru files to the toolbar of the editor
Torsten <ttl@justmail.de>
parents: 20720
diff changeset
1737 // popdown menu with mru files
e6ccc8ae9e41 add list of mru files to the toolbar of the editor
Torsten <ttl@justmail.de>
parents: 20720
diff changeset
1738 QToolButton *popdown_button = new QToolButton ();
e6ccc8ae9e41 add list of mru files to the toolbar of the editor
Torsten <ttl@justmail.de>
parents: 20720
diff changeset
1739 popdown_button->setToolTip (tr ("Recent Files"));
e6ccc8ae9e41 add list of mru files to the toolbar of the editor
Torsten <ttl@justmail.de>
parents: 20720
diff changeset
1740 popdown_button->setMenu (_mru_file_menu);
e6ccc8ae9e41 add list of mru files to the toolbar of the editor
Torsten <ttl@justmail.de>
parents: 20720
diff changeset
1741 popdown_button->setPopupMode (QToolButton::InstantPopup);
e6ccc8ae9e41 add list of mru files to the toolbar of the editor
Torsten <ttl@justmail.de>
parents: 20720
diff changeset
1742 popdown_button->setToolButtonStyle (Qt::ToolButtonTextOnly);
e6ccc8ae9e41 add list of mru files to the toolbar of the editor
Torsten <ttl@justmail.de>
parents: 20720
diff changeset
1743
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1744 // new and open actions are inserted later from main window
20754
e6ccc8ae9e41 add list of mru files to the toolbar of the editor
Torsten <ttl@justmail.de>
parents: 20720
diff changeset
1745 _popdown_mru_action = _tool_bar->addWidget (popdown_button);
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16912
diff changeset
1746 _tool_bar->addAction (_save_action);
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16912
diff changeset
1747 _tool_bar->addAction (_save_as_action);
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16912
diff changeset
1748 _tool_bar->addAction (_print_action);
16440
aaf024ac8015 Add editor print menu/toolbutton implementation
John Donoghue <john.donoghue@ieee.org>
parents: 16438
diff changeset
1749 _tool_bar->addSeparator ();
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1750 // _undo_action: later via main window
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16912
diff changeset
1751 _tool_bar->addAction (_redo_action);
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1752 // _copy_action: later via the main window
14715
b4db843b1f26 Done some extra method renaming to fit the overall octave coding style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14712
diff changeset
1753 _tool_bar->addAction (_cut_action);
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1754 // _paste_action: later via the main window
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
1755 _tool_bar->addAction (_find_action);
22169
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
1756 //_tool_bar->addAction (_find_next_action);
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
1757 //_tool_bar->addAction (_find_previous_action);
15080
4c4f2fb07a50 Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents: 15045
diff changeset
1758 _tool_bar->addSeparator ();
14830
41b86dc61306 Removed run command, instead cding into the script directory and executing script directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14829
diff changeset
1759 _tool_bar->addAction (_run_action);
15106
59175df7dcf6 Created and added debug action icons.
Jacob Dawid <jacob.dawid@gmail.com>
parents: 15105
diff changeset
1760 _tool_bar->addSeparator ();
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1761 _tool_bar->addAction (_toggle_breakpoint_action);
19899
a8a5415b05cb new gui icons
Torsten <ttl@justmail.de>
parents: 19847
diff changeset
1762 _tool_bar->addAction (_previous_breakpoint_action);
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1763 _tool_bar->addAction (_next_breakpoint_action);
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
1764 _tool_bar->addAction (_remove_all_breakpoints_action);
16981
e86df0d43309 make ctrl-w available for readline in the gui terminal
Torsten <ttl@justmail.de>
parents: 16970
diff changeset
1765
e86df0d43309 make ctrl-w available for readline in the gui terminal
Torsten <ttl@justmail.de>
parents: 16970
diff changeset
1766 // layout
15368
36ececf69385 avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents: 15367
diff changeset
1767 QVBoxLayout *vbox_layout = new QVBoxLayout ();
36ececf69385 avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents: 15367
diff changeset
1768 vbox_layout->addWidget (_menu_bar);
36ececf69385 avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents: 15367
diff changeset
1769 vbox_layout->addWidget (_tool_bar);
36ececf69385 avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents: 15367
diff changeset
1770 vbox_layout->addWidget (_tab_widget);
36ececf69385 avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents: 15367
diff changeset
1771 vbox_layout->setMargin (0);
36ececf69385 avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents: 15367
diff changeset
1772 editor_widget->setLayout (vbox_layout);
36ececf69385 avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents: 15367
diff changeset
1773 setWidget (editor_widget);
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
1774
23321
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
1775 // create the context menu of the tab bar
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
1776 file_editor_tab_bar *bar
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
1777 = static_cast<file_editor_tab_bar *>(_tab_widget->tabBar ());
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
1778 QList<QAction *> tab_bar_actions;
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
1779 tab_bar_actions.append (_close_action);
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
1780 tab_bar_actions.append (_close_all_action);
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
1781 tab_bar_actions.append (_close_others_action);
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
1782 bar->create_context_menu (&tab_bar_actions);
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
1783
16981
e86df0d43309 make ctrl-w available for readline in the gui terminal
Torsten <ttl@justmail.de>
parents: 16970
diff changeset
1784 // signals
23150
d133d90b495a connect execute command signal in editor constructor (bug #50171)
Torsten <mttl@mailbox.org>
parents: 23146
diff changeset
1785 connect (this, SIGNAL (execute_command_in_terminal_signal (const QString&)),
d133d90b495a connect execute command signal in editor constructor (bug #50171)
Torsten <mttl@mailbox.org>
parents: 23146
diff changeset
1786 main_win (), SLOT (execute_command_in_terminal (const QString&)));
d133d90b495a connect execute command signal in editor constructor (bug #50171)
Torsten <mttl@mailbox.org>
parents: 23146
diff changeset
1787
17676
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1788 connect (this, SIGNAL (request_settings_dialog (const QString&)),
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1789 main_win (),
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1790 SLOT (process_settings_dialog_request (const QString&)));
17676
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17639
diff changeset
1791
16614
49653ed9561b Use menu triggered signal instead of action triggered signal to rid cast.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16611
diff changeset
1792 connect (_mru_file_menu, SIGNAL (triggered (QAction *)),
49653ed9561b Use menu triggered signal instead of action triggered signal to rid cast.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16611
diff changeset
1793 this, SLOT (request_mru_open_file (QAction *)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1794
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
1795 mru_menu_update ();
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1796
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1797 connect (_tab_widget, SIGNAL (tabCloseRequested (int)),
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1798 this, SLOT (handle_tab_close_request (int)));
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1799
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1800 connect (_tab_widget, SIGNAL (currentChanged (int)),
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1801 this, SLOT (active_tab_changed (int)));
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
1802
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
1803 resize (500, 400);
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1804 setWindowIcon (QIcon (":/actions/icons/logo.png"));
20001
97b37077a2d3 Add missing translation call to GUI "Editor" tab.
Rik <rik@octave.org>
parents: 19945
diff changeset
1805 set_title (tr ("Editor"));
15356
842ab161c10a GUI: new setting to restore tabs from previous session; allow silent load file
Thorsten Liebig <Thorsten.Liebig@gmx.de>
parents: 15321
diff changeset
1806
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1807 check_actions ();
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1808 }
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1809
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1810 void
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1811 file_editor::restore_session (QSettings *settings)
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1812 {
15356
842ab161c10a GUI: new setting to restore tabs from previous session; allow silent load file
Thorsten Liebig <Thorsten.Liebig@gmx.de>
parents: 15321
diff changeset
1813 //restore previous session
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1814 if (! settings->value ("editor/restoreSession", true).toBool ())
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1815 return;
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1816
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1817 // get the data from the settings file
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1818 QStringList sessionFileNames = settings->value ("editor/savedSessionTabs",
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1819 QStringList ()).toStringList ();
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1820 QStringList session_encodings = settings->value ("editor/saved_session_encodings",
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1821 QStringList ()).toStringList ();
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1822 QStringList session_index = settings->value ("editor/saved_session_tab_index",
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1823 QStringList ()).toStringList ();
15356
842ab161c10a GUI: new setting to restore tabs from previous session; allow silent load file
Thorsten Liebig <Thorsten.Liebig@gmx.de>
parents: 15321
diff changeset
1824
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1825 // fill a list of the struct and sort it (depending on index)
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1826 QList<session_data> s_data;
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1827
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1828 bool do_encoding = (session_encodings.count () == sessionFileNames.count ());
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1829 bool do_index = (session_index.count () == sessionFileNames.count ());
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1830
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1831 for (int n = 0; n < sessionFileNames.count (); ++n)
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1832 {
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1833 QFileInfo file = QFileInfo (sessionFileNames.at (n));
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1834 if (! file.exists ())
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1835 continue;
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1836
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1837 session_data item = { QString (), sessionFileNames.at (n), QString ()};
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1838 if (do_index)
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1839 item.index = session_index.at (n);
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1840 if (do_encoding)
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1841 item.encoding = session_encodings.at (n);
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1842
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1843 s_data << item;
15367
501a9cc2c68f maint: whitespace cleanup in GUI code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 15365
diff changeset
1844 }
17009
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
1845
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1846 qSort (s_data);
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1847
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1848 // finally open the file with the desired encoding in the desired order
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1849 for (int n = 0; n < s_data.count (); ++n)
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1850 request_open_file (s_data.at (n).file_name, s_data.at (n).encoding);
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
1851 }
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
1852
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
1853 void
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1854 file_editor::add_file_editor_tab (file_editor_tab *f, const QString& fn)
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
1855 {
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
1856 _tab_widget->addTab (f, fn);
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
1857
18689
fac35875f6eb update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents: 18688
diff changeset
1858 // signals from the qscintilla edit area
fac35875f6eb update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents: 18688
diff changeset
1859 connect (f->qsci_edit_area (), SIGNAL (status_update (bool, bool)),
fac35875f6eb update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents: 18688
diff changeset
1860 this, SLOT (edit_status_update (bool, bool)));
fac35875f6eb update enabled status of undo/redo actions in the editor
Torsten <ttl@justmail.de>
parents: 18688
diff changeset
1861
19606
3156773fcc80 open a doc page from editor directly without command window
Torsten <ttl@justmail.de>
parents: 19605
diff changeset
1862 connect (f->qsci_edit_area (), SIGNAL (show_doc_signal (const QString&)),
3156773fcc80 open a doc page from editor directly without command window
Torsten <ttl@justmail.de>
parents: 19605
diff changeset
1863 main_win (), SLOT (handle_show_doc (const QString&)));
3156773fcc80 open a doc page from editor directly without command window
Torsten <ttl@justmail.de>
parents: 19605
diff changeset
1864
19608
4b980842edba clean up some signal-slot combinations in the editor
Torsten <ttl@justmail.de>
parents: 19606
diff changeset
1865 connect (f->qsci_edit_area (), SIGNAL (create_context_menu_signal (QMenu *)),
4b980842edba clean up some signal-slot combinations in the editor
Torsten <ttl@justmail.de>
parents: 19606
diff changeset
1866 this, SLOT (create_context_menu (QMenu *)));
4b980842edba clean up some signal-slot combinations in the editor
Torsten <ttl@justmail.de>
parents: 19606
diff changeset
1867
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1868 connect (f->qsci_edit_area (),
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1869 SIGNAL (execute_command_in_terminal_signal (const QString&)),
19608
4b980842edba clean up some signal-slot combinations in the editor
Torsten <ttl@justmail.de>
parents: 19606
diff changeset
1870 main_win (), SLOT (execute_command_in_terminal (const QString&)));
4b980842edba clean up some signal-slot combinations in the editor
Torsten <ttl@justmail.de>
parents: 19606
diff changeset
1871
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
1872 // Signals from the file editor_tab
15984
1eb3c67139f6 Add full-length-name tool tip to editor file tab when name is not full length.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 15982
diff changeset
1873 connect (f, SIGNAL (file_name_changed (const QString&, const QString&)),
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1874 this, SLOT (handle_file_name_changed (const QString&,
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1875 const QString&)));
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1876
19803
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
1877 connect (f, SIGNAL (editor_state_changed (bool, bool)),
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
1878 this, SLOT (handle_editor_state_changed (bool, bool)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1879
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
1880 connect (f, SIGNAL (tab_remove_request ()),
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
1881 this, SLOT (handle_tab_remove_request ()));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1882
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1883 connect (f, SIGNAL (add_filename_to_list (const QString&,
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1884 const QString&, QWidget*)),
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
1885 this, SLOT (handle_add_filename_to_list (const QString&,
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1886 const QString&,
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1887 QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1888
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
1889 connect (f, SIGNAL (editor_check_conflict_save (const QString&, bool)),
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
1890 this, SLOT (check_conflict_save (const QString&, bool)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1891
20814
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1892 connect (f, SIGNAL (mru_add_file (const QString&, const QString&)),
2da4058d65c7 store the encoding of recent editor files in the mru list
Torsten <ttl@justmail.de>
parents: 20796
diff changeset
1893 this, SLOT (handle_mru_add_file (const QString&, const QString&)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1894
16635
25e418d23a4b fix running files from file browser's context menu
Torsten <ttl@justmail.de>
parents: 16615
diff changeset
1895 connect (f, SIGNAL (run_file_signal (const QFileInfo&)),
16798
d749c9b588e5 make stand-alone windows from dock widgets when floating (bug #38785)
Torsten <ttl@justmail.de>
parents: 16740
diff changeset
1896 main_win (), SLOT (run_file_in_terminal (const QFileInfo&)));
17790
86c6ae5f969e Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents: 17744
diff changeset
1897
19605
d258070914ef open file directly without edit command when editing a function from editor
Torsten <ttl@justmail.de>
parents: 19599
diff changeset
1898 connect (f, SIGNAL (request_open_file (const QString&)),
d258070914ef open file directly without edit command when editing a function from editor
Torsten <ttl@justmail.de>
parents: 19599
diff changeset
1899 this, SLOT (request_open_file (const QString&)));
d258070914ef open file directly without edit command when editing a function from editor
Torsten <ttl@justmail.de>
parents: 19599
diff changeset
1900
20995
aab7a3c7168e edit a file from an error message in the terminal (bug #35619)
Torsten <ttl@justmail.de>
parents: 20992
diff changeset
1901 connect (f, SIGNAL (edit_mfile_request (const QString&, const QString&,
aab7a3c7168e edit a file from an error message in the terminal (bug #35619)
Torsten <ttl@justmail.de>
parents: 20992
diff changeset
1902 const QString&, int)),
23385
41639665aa34 improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents: 23380
diff changeset
1903 main_win (), SLOT (handle_edit_mfile_request (const QString&,
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1904 const QString&,
21352
043ec02115b8 fix edit function related to current word in editor (bug #47255)
Torsten <ttl@justmail.de>
parents: 21310
diff changeset
1905 const QString&, int)));
20995
aab7a3c7168e edit a file from an error message in the terminal (bug #35619)
Torsten <ttl@justmail.de>
parents: 20992
diff changeset
1906
23177
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
1907 connect (f, SIGNAL (set_focus_editor_signal (QWidget*)),
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
1908 this, SLOT (set_focus (QWidget*)));
0b59e37dd83e unhide editor when a file was changed by an external application (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23152
diff changeset
1909
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
1910 // Signals from the file_editor non-trivial operations
16413
28136851099a remove _terminal pointer from main_window, it is contained by other Qt object
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16407
diff changeset
1911 connect (this, SIGNAL (fetab_settings_changed (const QSettings *)),
23178
6da3526ccf33 fix settings update for existing editor tabs (regression from b3ced5e3cebb)
Torsten <mttl@mailbox.org>
parents: 23150
diff changeset
1912 f, SLOT (notice_settings (const QSettings *)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1913
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
1914 connect (this, SIGNAL (fetab_change_request (const QWidget*)),
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
1915 f, SLOT (change_editor_state (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1916
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
1917 connect (this, SIGNAL (fetab_file_name_query (const QWidget*)),
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
1918 f, SLOT (file_name_query (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1919
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1920 connect (this, SIGNAL (fetab_save_file (const QWidget*, const QString&,
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1921 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
1922 f, SLOT (save_file (const QWidget*, const QString&, bool)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1923
19714
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
1924 connect (this, SIGNAL (fetab_check_modified_file (void)),
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
1925 f, SLOT (check_modified_file (void)));
21015ca26566 Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 19697
diff changeset
1926
21158
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
1927 connect (f, SIGNAL (execute_command_in_terminal_signal (const QString&)),
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
1928 main_win (), SLOT (execute_command_in_terminal (const QString&)));
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
1929
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
1930 // Signals from the file_editor trivial operations
21054
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
1931 connect (this, SIGNAL (fetab_recover_from_exit (void)),
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
1932 f, SLOT (recover_from_exit (void)));
221847e5f488 fix issues when restoring breakpoints and closing tabs or whole application
Torsten <ttl@justmail.de>
parents: 21002
diff changeset
1933
19803
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
1934 connect (this, SIGNAL (fetab_set_directory (const QString&)),
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
1935 f, SLOT (set_current_directory (const QString&)));
415864f5b85f communicating actual working directory to the editor (#44298)
Torsten <ttl@justmail.de>
parents: 19739
diff changeset
1936
18560
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1937 connect (this, SIGNAL (fetab_zoom_in (const QWidget*)),
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1938 f, SLOT (zoom_in (const QWidget*)));
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1939 connect (this, SIGNAL (fetab_zoom_out (const QWidget*)),
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1940 f, SLOT (zoom_out (const QWidget*)));
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1941 connect (this, SIGNAL (fetab_zoom_normal (const QWidget*)),
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1942 f, SLOT (zoom_normal (const QWidget*)));
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
1943
17627
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
1944 connect (this, SIGNAL (fetab_context_help (const QWidget*, bool)),
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
1945 f, SLOT (context_help (const QWidget*, bool)));
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
1946
17628
99ffa521ecec Add possibility to edit the function related to the actual keyword in editor
Torsten <ttl@justmail.de>
parents: 17627
diff changeset
1947 connect (this, SIGNAL (fetab_context_edit (const QWidget*)),
99ffa521ecec Add possibility to edit the function related to the actual keyword in editor
Torsten <ttl@justmail.de>
parents: 17627
diff changeset
1948 f, SLOT (context_edit (const QWidget*)));
99ffa521ecec Add possibility to edit the function related to the actual keyword in editor
Torsten <ttl@justmail.de>
parents: 17627
diff changeset
1949
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
1950 connect (this, SIGNAL (fetab_save_file (const QWidget*)),
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
1951 f, SLOT (save_file (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1952
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
1953 connect (this, SIGNAL (fetab_save_file_as (const QWidget*)),
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
1954 f, SLOT (save_file_as (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1955
16440
aaf024ac8015 Add editor print menu/toolbutton implementation
John Donoghue <john.donoghue@ieee.org>
parents: 16438
diff changeset
1956 connect (this, SIGNAL (fetab_print_file (const QWidget*)),
aaf024ac8015 Add editor print menu/toolbutton implementation
John Donoghue <john.donoghue@ieee.org>
parents: 16438
diff changeset
1957 f, SLOT (print_file (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1958
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
1959 connect (this, SIGNAL (fetab_run_file (const QWidget*)),
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
1960 f, SLOT (run_file (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1961
17635
7945344506ae Add possibility to run selected text of the editor in the terminal
Torsten <ttl@justmail.de>
parents: 17628
diff changeset
1962 connect (this, SIGNAL (fetab_context_run (const QWidget*)),
7945344506ae Add possibility to run selected text of the editor in the terminal
Torsten <ttl@justmail.de>
parents: 17628
diff changeset
1963 f, SLOT (context_run (const QWidget*)));
7945344506ae Add possibility to run selected text of the editor in the terminal
Torsten <ttl@justmail.de>
parents: 17628
diff changeset
1964
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
1965 connect (this, SIGNAL (fetab_toggle_bookmark (const QWidget*)),
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
1966 f, SLOT (toggle_bookmark (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1967
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
1968 connect (this, SIGNAL (fetab_next_bookmark (const QWidget*)),
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
1969 f, SLOT (next_bookmark (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1970
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
1971 connect (this, SIGNAL (fetab_previous_bookmark (const QWidget*)),
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
1972 f, SLOT (previous_bookmark (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1973
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
1974 connect (this, SIGNAL (fetab_remove_bookmark (const QWidget*)),
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
1975 f, SLOT (remove_bookmark (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1976
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
1977 connect (this, SIGNAL (fetab_toggle_breakpoint (const QWidget*)),
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
1978 f, SLOT (toggle_breakpoint (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1979
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
1980 connect (this, SIGNAL (fetab_next_breakpoint (const QWidget*)),
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
1981 f, SLOT (next_breakpoint (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1982
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
1983 connect (this, SIGNAL (fetab_previous_breakpoint (const QWidget*)),
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
1984 f, SLOT (previous_breakpoint (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1985
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
1986 connect (this, SIGNAL (fetab_remove_all_breakpoints (const QWidget*)),
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
1987 f, SLOT (remove_all_breakpoints (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1988
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1989 connect (this, SIGNAL (fetab_scintilla_command (const QWidget *,
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
1990 unsigned int)),
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
1991 f, SLOT (scintilla_command (const QWidget *, unsigned int)));
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
1992
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
1993 connect (this, SIGNAL (fetab_comment_selected_text (const QWidget*)),
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
1994 f, SLOT (comment_selected_text (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1995
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
1996 connect (this, SIGNAL (fetab_uncomment_selected_text (const QWidget*)),
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
1997 f, SLOT (uncomment_selected_text (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
1998
18303
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
1999 connect (this, SIGNAL (fetab_indent_selected_text (const QWidget*)),
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
2000 f, SLOT (indent_selected_text (const QWidget*)));
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
2001
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
2002 connect (this, SIGNAL (fetab_unindent_selected_text (const QWidget*)),
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
2003 f, SLOT (unindent_selected_text (const QWidget*)));
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
2004
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2005 connect (this,
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2006 SIGNAL (fetab_convert_eol (const QWidget*, QsciScintilla::EolMode)),
19247
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
2007 f, SLOT (convert_eol (const QWidget*, QsciScintilla::EolMode)));
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
2008
22169
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2009 connect (this, SIGNAL (fetab_find (const QWidget*, QList<QAction *>)),
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2010 f, SLOT (find (const QWidget*, QList<QAction *>)));
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2011
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2012 connect (this, SIGNAL (fetab_find_next (const QWidget*)),
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2013 f, SLOT (find_next (const QWidget*)));
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2014
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2015 connect (this, SIGNAL (fetab_find_previous (const QWidget*)),
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2016 f, SLOT (find_previous (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2017
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2018 connect (this, SIGNAL (fetab_goto_line (const QWidget*, int)),
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2019 f, SLOT (goto_line (const QWidget*, int)));
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2020
19629
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
2021 connect (this, SIGNAL (fetab_move_match_brace (const QWidget*, bool)),
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
2022 f, SLOT (move_match_brace (const QWidget*, bool)));
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
2023
18482
3a509de8e791 automatic completion list as user preference (bug #41469)
Torsten <ttl@justmail.de>
parents: 18460
diff changeset
2024 connect (this, SIGNAL (fetab_completion (const QWidget*)),
3a509de8e791 automatic completion list as user preference (bug #41469)
Torsten <ttl@justmail.de>
parents: 18460
diff changeset
2025 f, SLOT (show_auto_completion (const QWidget*)));
3a509de8e791 automatic completion list as user preference (bug #41469)
Torsten <ttl@justmail.de>
parents: 18460
diff changeset
2026
15980
6c0fce0632a4 gui: set keyboard focus when switching between dock widgets (bug #36957)
Torsten <ttl@justmail.de>
parents: 15901
diff changeset
2027 connect (this, SIGNAL (fetab_set_focus (const QWidget*)),
6c0fce0632a4 gui: set keyboard focus when switching between dock widgets (bug #36957)
Torsten <ttl@justmail.de>
parents: 15901
diff changeset
2028 f, SLOT (set_focus (const QWidget*)));
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2029
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2030 connect (this, SIGNAL (fetab_insert_debugger_pointer (const QWidget*, int)),
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2031 f, SLOT (insert_debugger_pointer (const QWidget*, int)));
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2032
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2033 connect (this, SIGNAL (fetab_delete_debugger_pointer (const QWidget*, int)),
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2034 f, SLOT (delete_debugger_pointer (const QWidget*, int)));
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2035
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16547
diff changeset
2036 connect (this, SIGNAL (fetab_do_breakpoint_marker (bool, const QWidget*,
21158
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
2037 int, const QString&)),
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
2038 f, SLOT (do_breakpoint_marker (bool, const QWidget*, int,
65827e9cccb8 Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents: 21148
diff changeset
2039 const QString&)));
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
2040
14715
b4db843b1f26 Done some extra method renaming to fit the overall octave coding style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14712
diff changeset
2041 _tab_widget->setCurrentWidget (f);
17009
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2042
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2043 check_actions ();
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
2044 }
15873
7d300b85ee25 allow build to proceed if either Qt or QScintilla is missing
John W. Eaton <jwe@octave.org>
parents: 15861
diff changeset
2045
19945
f7a805f02723 link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents: 19930
diff changeset
2046 bool
f7a805f02723 link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents: 19930
diff changeset
2047 file_editor::editor_tab_has_focus ()
f7a805f02723 link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents: 19930
diff changeset
2048 {
23432
e35a5c1233d0 maint: Use convention 'int *x' for naming pointers.
Rik <rik@octave.org>
parents: 23385
diff changeset
2049 QWidget *foc_w = focusWidget ();
19945
f7a805f02723 link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents: 19930
diff changeset
2050 if (foc_w && foc_w->inherits ("octave_qscintilla"))
f7a805f02723 link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents: 19930
diff changeset
2051 return true;
f7a805f02723 link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents: 19930
diff changeset
2052 return false;
f7a805f02723 link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents: 19930
diff changeset
2053 }
f7a805f02723 link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents: 19930
diff changeset
2054
16881
944ade6e7f66 Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents: 16809
diff changeset
2055 void
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2056 file_editor::set_shortcuts ()
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16912
diff changeset
2057 {
20986
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
2058 // Shortcuts also available in the main window, as well as the realted
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
2059 // ahotcuts, are defined in main_window and added to the editor
00835323fb44 prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents: 20955
diff changeset
2060
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2061 // File menu
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2062 shortcut_manager::set_shortcut (_edit_function_action, "editor_file:edit_function");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2063 shortcut_manager::set_shortcut (_save_action, "editor_file:save");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2064 shortcut_manager::set_shortcut (_save_as_action, "editor_file:save_as");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2065 shortcut_manager::set_shortcut (_close_action, "editor_file:close");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2066 shortcut_manager::set_shortcut (_close_all_action, "editor_file:close_all");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2067 shortcut_manager::set_shortcut (_close_others_action, "editor_file:close_other");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2068 shortcut_manager::set_shortcut (_print_action, "editor_file:print");
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
2069
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2070 // Edit menu
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2071 shortcut_manager::set_shortcut (_redo_action, "editor_edit:redo");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2072 shortcut_manager::set_shortcut (_cut_action, "editor_edit:cut");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2073 shortcut_manager::set_shortcut (_find_action, "editor_edit:find_replace");
22169
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2074 shortcut_manager::set_shortcut (_find_next_action, "editor_edit:find_next");
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2075 shortcut_manager::set_shortcut (_find_previous_action, "editor_edit:find_previous");
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
2076
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2077 shortcut_manager::set_shortcut (_delete_start_word_action, "editor_edit:delete_start_word");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2078 shortcut_manager::set_shortcut (_delete_end_word_action, "editor_edit:delete_end_word");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2079 shortcut_manager::set_shortcut (_delete_start_line_action, "editor_edit:delete_start_line");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2080 shortcut_manager::set_shortcut (_delete_end_line_action, "editor_edit:delete_end_line");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2081 shortcut_manager::set_shortcut (_delete_line_action, "editor_edit:delete_line");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2082 shortcut_manager::set_shortcut (_copy_line_action, "editor_edit:copy_line");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2083 shortcut_manager::set_shortcut (_cut_line_action, "editor_edit:cut_line");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2084 shortcut_manager::set_shortcut (_duplicate_selection_action, "editor_edit:duplicate_selection");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2085 shortcut_manager::set_shortcut (_transpose_line_action, "editor_edit:transpose_line");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2086 shortcut_manager::set_shortcut (_comment_selection_action, "editor_edit:comment_selection");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2087 shortcut_manager::set_shortcut (_uncomment_selection_action, "editor_edit:uncomment_selection");
18611
086093fbdc1a first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents: 18575
diff changeset
2088
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2089 shortcut_manager::set_shortcut (_upper_case_action, "editor_edit:upper_case");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2090 shortcut_manager::set_shortcut (_lower_case_action, "editor_edit:lower_case");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2091 shortcut_manager::set_shortcut (_indent_selection_action, "editor_edit:indent_selection");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2092 shortcut_manager::set_shortcut (_unindent_selection_action, "editor_edit:unindent_selection");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2093 shortcut_manager::set_shortcut (_completion_action, "editor_edit:completion_list");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2094 shortcut_manager::set_shortcut (_goto_line_action, "editor_edit:goto_line");
19629
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
2095 shortcut_manager::set_shortcut (_move_to_matching_brace, "editor_edit:move_to_brace");
8ef79bc61d8a add actions for moving/selecting to matching brace
Torsten <ttl@justmail.de>
parents: 19608
diff changeset
2096 shortcut_manager::set_shortcut (_sel_to_matching_brace, "editor_edit:select_to_brace");
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2097 shortcut_manager::set_shortcut (_toggle_bookmark_action, "editor_edit:toggle_bookmark");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2098 shortcut_manager::set_shortcut (_next_bookmark_action, "editor_edit:next_bookmark");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2099 shortcut_manager::set_shortcut (_previous_bookmark_action, "editor_edit:previous_bookmark");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2100 shortcut_manager::set_shortcut (_remove_bookmark_action, "editor_edit:remove_bookmark");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2101 shortcut_manager::set_shortcut (_preferences_action, "editor_edit:preferences");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2102 shortcut_manager::set_shortcut (_styles_preferences_action, "editor_edit:styles_preferences");
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
2103
19247
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
2104 shortcut_manager::set_shortcut (_conv_eol_windows_action, "editor_edit:conv_eol_winows");
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
2105 shortcut_manager::set_shortcut (_conv_eol_unix_action, "editor_edit:conv_eol_unix");
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
2106 shortcut_manager::set_shortcut (_conv_eol_mac_action, "editor_edit:conv_eol_mac");
9582fad68730 add actions for converting the eol characters of the editor file
Torsten <ttl@justmail.de>
parents: 19246
diff changeset
2107
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2108 // View menu
19246
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
2109 shortcut_manager::set_shortcut (_show_linenum_action, "editor_view:show_line_numbers");
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
2110 shortcut_manager::set_shortcut (_show_whitespace_action, "editor_view:show_white_spaces");
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
2111 shortcut_manager::set_shortcut (_show_eol_action, "editor_view:show_eol_chars");
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
2112 shortcut_manager::set_shortcut (_show_indguide_action, "editor_view:show_ind_guides");
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
2113 shortcut_manager::set_shortcut (_show_longline_action, "editor_view:show_long_line");
20992
73e92fca3c78 GUI: add editor toolbar display option (Bug #46705)
John Donoghue <john.donoghue@ieee.org>
parents: 20989
diff changeset
2114 shortcut_manager::set_shortcut (_show_toolbar_action, "editor_view:show_toolbar");
21001
1c91ff4cf9ec add a menu entry for showing/hiding the editor status bar
Torsten <ttl@justmail.de>
parents: 20995
diff changeset
2115 shortcut_manager::set_shortcut (_show_statusbar_action, "editor_view:show_statusbar");
21002
314245afff3a add a menu entry for showing/hiding the editor horizontal scrollbar
Torsten <ttl@justmail.de>
parents: 21001
diff changeset
2116 shortcut_manager::set_shortcut (_show_hscrollbar_action, "editor_view:show_hscrollbar");
18685
03edfcd943db fix setting shortcuts for the view menu in the editor
Torsten <ttl@justmail.de>
parents: 18684
diff changeset
2117 shortcut_manager::set_shortcut (_zoom_in_action, "editor_view:zoom_in");
03edfcd943db fix setting shortcuts for the view menu in the editor
Torsten <ttl@justmail.de>
parents: 18684
diff changeset
2118 shortcut_manager::set_shortcut (_zoom_out_action, "editor_view:zoom_out");
03edfcd943db fix setting shortcuts for the view menu in the editor
Torsten <ttl@justmail.de>
parents: 18684
diff changeset
2119 shortcut_manager::set_shortcut (_zoom_normal_action, "editor_view:zoom_normal");
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
2120
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2121 // Debug menu
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2122 shortcut_manager::set_shortcut (_toggle_breakpoint_action, "editor_debug:toggle_breakpoint");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2123 shortcut_manager::set_shortcut (_next_breakpoint_action, "editor_debug:next_breakpoint");
19930
3c414ad460d5 fix shortcut for previous bookmark (bug #44505)
Torsten <ttl@justmail.de>
parents: 19916
diff changeset
2124 shortcut_manager::set_shortcut (_previous_breakpoint_action, "editor_debug:previous_breakpoint");
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2125 shortcut_manager::set_shortcut (_remove_all_breakpoints_action, "editor_debug:remove_breakpoints");
18624
a827fc5fe59d handle actions from the editors file and edit menu via the shortcut manager
Torsten <ttl@justmail.de>
parents: 18611
diff changeset
2126
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2127 // Run menu
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2128 shortcut_manager::set_shortcut (_run_action, "editor_run:run_file");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2129 shortcut_manager::set_shortcut (_run_selection_action, "editor_run:run_selection");
18560
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
2130
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2131 // Help menu
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2132 shortcut_manager::set_shortcut (_context_help_action, "editor_help:help_keyword");
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2133 shortcut_manager::set_shortcut (_context_doc_action, "editor_help:doc_keyword");
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16912
diff changeset
2134
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2135 // Tab navigation without menu entries
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2136 shortcut_manager::set_shortcut (_switch_left_tab_action, "editor_tabs:switch_left_tab");
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2137 shortcut_manager::set_shortcut (_switch_right_tab_action, "editor_tabs:switch_right_tab");
20705
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2138 shortcut_manager::set_shortcut (_move_tab_left_action, "editor_tabs:move_tab_left");
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2139 shortcut_manager::set_shortcut (_move_tab_right_action, "editor_tabs:move_tab_right");
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2140
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16912
diff changeset
2141 }
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16912
diff changeset
2142
17009
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2143 void
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2144 file_editor::check_actions ()
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2145 {
21562
6c2fd62db1f7 maint: Eliminate accidental double spaces in code.
Rik <rik@octave.org>
parents: 21352
diff changeset
2146 bool have_tabs = _tab_widget->count () > 0;
17009
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2147
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
2148 _edit_cmd_menu->setEnabled (have_tabs);
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
2149 _edit_fmt_menu->setEnabled (have_tabs);
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2150 _edit_nav_menu->setEnabled (have_tabs);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
2151
17009
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2152 _comment_selection_action->setEnabled (have_tabs);
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2153 _uncomment_selection_action->setEnabled (have_tabs);
18303
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
2154 _indent_selection_action->setEnabled (have_tabs);
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
2155 _unindent_selection_action->setEnabled (have_tabs);
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 18294
diff changeset
2156
17627
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
2157 _context_help_action->setEnabled (have_tabs);
811019b9ef57 Add help and documentation on actual keyword to the editor menu
Torsten <ttl@justmail.de>
parents: 17009
diff changeset
2158 _context_doc_action->setEnabled (have_tabs);
17009
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2159
19246
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 19085
diff changeset
2160 _view_editor_menu->setEnabled (have_tabs);
18560
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
2161 _zoom_in_action->setEnabled (have_tabs);
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
2162 _zoom_out_action->setEnabled (have_tabs);
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
2163 _zoom_normal_action->setEnabled (have_tabs);
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
2164
17009
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2165 _find_action->setEnabled (have_tabs);
22169
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2166 _find_next_action->setEnabled (have_tabs);
b3ced5e3cebb Enable shortcuts for find next / find previous
Lachlan Andrew <lachlanbis@gmail.com>
parents: 22022
diff changeset
2167 _find_previous_action->setEnabled (have_tabs);
17009
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2168 _print_action->setEnabled (have_tabs);
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2169 _run_action->setEnabled (have_tabs);
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2170
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
2171 _edit_function_action->setEnabled (have_tabs);
17009
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2172 _save_action->setEnabled (have_tabs);
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2173 _save_as_action->setEnabled (have_tabs);
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2174 _close_action->setEnabled (have_tabs);
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2175 _close_all_action->setEnabled (have_tabs);
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2176 _close_others_action->setEnabled (have_tabs && _tab_widget->count () > 1);
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2177 }
adf06e03fbdd Enable/disable editor actions based on available editor windows
John Donoghue <john.donoghue@ieee.org>
parents: 16981
diff changeset
2178
18399
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2179 // empty_script determines whether we have to create an empty script
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2180 // 1. At startup, when the editor has to be (really) visible
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2181 // (Here we can not use the visibility changed signal)
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2182 // 2. When the editor becomes visible when octave is running
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2183 void
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2184 file_editor::empty_script (bool startup, bool visible)
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2185 {
20086
23fb65b45d8c do not call custom editor at startup and when debugging (bug #44701)
Torsten <ttl@justmail.de>
parents: 20002
diff changeset
2186 QSettings *settings = resource_manager::get_settings ();
23fb65b45d8c do not call custom editor at startup and when debugging (bug #44701)
Torsten <ttl@justmail.de>
parents: 20002
diff changeset
2187 if (settings->value ("useCustomFileEditor",false).toBool ())
23fb65b45d8c do not call custom editor at startup and when debugging (bug #44701)
Torsten <ttl@justmail.de>
parents: 20002
diff changeset
2188 return; // do not open an empty script in the external editor
23fb65b45d8c do not call custom editor at startup and when debugging (bug #44701)
Torsten <ttl@justmail.de>
parents: 20002
diff changeset
2189
18399
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2190 bool real_visible;
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2191
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2192 if (startup)
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2193 real_visible = isVisible ();
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2194 else
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2195 real_visible = visible;
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2196
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2197 if (! real_visible || _tab_widget->count () > 0)
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2198 return;
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2199
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2200 if (startup && ! isFloating ())
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2201 {
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2202 // check is editor is really visible or hidden between tabbed widgets
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2203 QList<QTabBar *> tab_list = main_win ()->findChildren<QTabBar *>();
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2204
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2205 bool in_tab = false;
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2206 int i = 0;
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2207 while ((i < tab_list.count ()) && (! in_tab))
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2208 {
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2209 QTabBar *tab = tab_list.at (i);
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2210 i++;
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2211
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2212 int j = 0;
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2213 while ((j < tab->count ()) && (! in_tab))
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2214 {
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2215 // check all tabs for the editor
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2216 if (tab->tabText (j) == windowTitle ())
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2217 {
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2218 // editor is in this tab widget
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2219 in_tab = true;
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2220 int top = tab->currentIndex ();
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2221 if (top > -1 && tab->tabText (top) == windowTitle ())
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2222 real_visible = true; // and is the current tab
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2223 else
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2224 return; // not current tab -> not visible
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2225 }
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2226 j++;
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2227 }
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2228 }
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2229 }
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2230
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2231 request_new_file ("");
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2232 }
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2233
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2234 // This slot is a reimplementation of the virtual slot in octave_dock_widget.
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2235 // We need this for creating an empty script when the editor has no open files
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2236 // and is made visible
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2237 void
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2238 file_editor::handle_visibility (bool visible)
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2239 {
23204
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2240 if (_closed && visible)
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2241 {
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2242 _closed = false;
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2243 QSettings *settings = resource_manager::get_settings ();
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2244 restore_session (settings);
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2245 }
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2246
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2247 empty_script (false, visible);
18399
2ea741d22554 create empty script when editor becomes visible without open files (bug #41347)
Torsten <ttl@justmail.de>
parents: 18345
diff changeset
2248
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2249 if (visible && ! isFloating ())
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2250 focus ();
23204
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2251
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2252 }
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16912
diff changeset
2253
19595
be7ac98fab43 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 19427
diff changeset
2254 void
18688
02b75b57ed80 clean up some compiler warnings
Torsten <ttl@justmail.de>
parents: 18687
diff changeset
2255 file_editor::dragEnterEvent (QDragEnterEvent *e)
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2256 {
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2257 if (e->mimeData ()->hasUrls ())
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2258 {
23070
bef714f45999 maint: Use space after function name/before parenthesis in libgui.
Rik <rik@octave.org>
parents: 22755
diff changeset
2259 e->acceptProposedAction ();
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2260 }
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2261 }
18651
992b6354c8c6 GUI: implement file drag and drop to command and edit window (Bug #41443)
John Donoghue
parents: 18624
diff changeset
2262
992b6354c8c6 GUI: implement file drag and drop to command and edit window (Bug #41443)
John Donoghue
parents: 18624
diff changeset
2263 void
18688
02b75b57ed80 clean up some compiler warnings
Torsten <ttl@justmail.de>
parents: 18687
diff changeset
2264 file_editor::dropEvent (QDropEvent *e)
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2265 {
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2266 if (e->mimeData ()->hasUrls ())
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2267 {
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2268 foreach (QUrl url, e->mimeData ()->urls ())
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2269 request_open_file (url.toLocalFile ());
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2270 }
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
2271 }
18651
992b6354c8c6 GUI: implement file drag and drop to command and edit window (Bug #41443)
John Donoghue
parents: 18624
diff changeset
2272
23204
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2273 // handler for the close event
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2274 void
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2275 file_editor::closeEvent (QCloseEvent *e)
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2276 {
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2277 QSettings *settings = resource_manager::get_settings ();
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2278 if (settings->value ("editor/hiding_closes_files",false).toBool ())
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2279 {
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2280 if (check_closing ())
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2281 {
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2282 // all tabs are closed without cancelling,
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2283 // store closing state for restoring session when shown again
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2284 _closed = true;
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2285 e->accept ();
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2286 }
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2287 else
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2288 e->ignore ();
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2289 }
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2290 else
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2291 e->accept ();
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2292 }
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23199
diff changeset
2293
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2294 // slots for tab navigation
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2295 void
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2296 file_editor::switch_left_tab ()
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2297 {
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2298 switch_tab (-1);
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2299 }
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2300 void
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2301 file_editor::switch_right_tab ()
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2302 {
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2303 switch_tab (1);
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2304 }
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2305 void
20705
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2306 file_editor::move_tab_left ()
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2307 {
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21650
diff changeset
2308 #if defined (HAVE_QTABWIDGET_SETMOVABLE)
20705
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2309 switch_tab (-1, true);
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2310 #endif
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2311 }
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2312 void
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2313 file_editor::move_tab_right ()
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2314 {
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21650
diff changeset
2315 #if defined (HAVE_QTABWIDGET_SETMOVABLE)
20705
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2316 switch_tab (1, true);
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2317 #endif
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2318 }
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2319 void
20720
7c21b151b8b4 build: Fix warning messages from compiler.
Rik <rik@octave.org>
parents: 20713
diff changeset
2320 file_editor::switch_tab (int direction, bool movetab)
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2321 {
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2322 int tabs = _tab_widget->count ();
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2323
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2324 if (tabs < 2)
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2325 return;
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2326
20705
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2327 int old_pos = _tab_widget->currentIndex ();
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2328 int new_pos = _tab_widget->currentIndex () + direction;
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2329
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2330 if (new_pos < 0 || new_pos >= tabs)
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2331 new_pos = new_pos - direction*tabs;
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2332
20720
7c21b151b8b4 build: Fix warning messages from compiler.
Rik <rik@octave.org>
parents: 20713
diff changeset
2333 if (movetab)
20705
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2334 {
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21650
diff changeset
2335 #if defined (HAVE_QTABWIDGET_SETMOVABLE)
20720
7c21b151b8b4 build: Fix warning messages from compiler.
Rik <rik@octave.org>
parents: 20713
diff changeset
2336 _tab_widget->tabBar ()->moveTab (old_pos, new_pos);
20705
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2337 _tab_widget->setCurrentIndex (old_pos);
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2338 _tab_widget->setCurrentIndex (new_pos);
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2339 focus ();
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2340 #endif
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2341 }
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2342 else
632683d6396f provide actions for moving the editor tabs by shortscuts
Torsten <ttl@justmail.de>
parents: 20697
diff changeset
2343 _tab_widget->setCurrentIndex (new_pos);
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2344 }
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 20630
diff changeset
2345
23304
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2346
23276
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2347 //
23304
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2348 // Functions of the the reimplemented tab bar
23276
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2349 //
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2350
23304
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2351 file_editor_tab_bar::file_editor_tab_bar (QWidget *p)
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2352 : QTabBar (p)
23321
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2353 {
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2354 _context_menu = new QMenu (this);
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2355 }
23304
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2356
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2357 file_editor_tab_bar::~file_editor_tab_bar ()
23321
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2358 {
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2359 delete _context_menu;
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2360 }
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2361
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2362 // Create the context menu and fill it with actions from the editor
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2363 void
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2364 file_editor_tab_bar::create_context_menu (QList<QAction*> *actions)
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2365 {
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2366 for (int i = 0; i < actions->count (); i++)
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2367 _context_menu->addAction (actions->at (i));
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2368 }
23304
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2369
23276
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2370 // Reimplement mouse event for filtering out the desired mouse clicks
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2371 void
23304
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2372 file_editor_tab_bar::mousePressEvent (QMouseEvent *me)
23276
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2373 {
23321
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2374 QPoint click_pos;
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2375 int clicked_idx = -1;
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2376
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2377 // detect the tab where the click occured
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2378 for (int i = 0; i < count (); i++)
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2379 {
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2380 click_pos = mapToGlobal (me->pos ());
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2381 if (tabRect (i).contains (mapFromGlobal (click_pos)))
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2382 {
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2383 clicked_idx = i;
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2384 break;
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2385 }
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2386 }
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2387
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2388 // If a tab was clicked
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2389 if (clicked_idx >= 0)
23276
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2390 {
23321
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2391 int current_idx = currentIndex ();
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2392 // detect the mouse click
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2393 if ((me->type () == QEvent::MouseButtonDblClick &&
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2394 me->button() == Qt::LeftButton) ||
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2395 (me->type () != QEvent::MouseButtonDblClick &&
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2396 me->button() == Qt::MidButton))
23276
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2397 {
23321
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2398 // Middle click or double click -> close the tab
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2399 // Make the clicked tab the current one and close it
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2400 setCurrentIndex (clicked_idx);
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2401 emit close_current_tab_signal (true);
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2402 // Was the closed tab before or after the previously current tab?
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2403 // According to the result, use previous index or reduce it by one
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2404 if (current_idx - clicked_idx > 0)
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2405 setCurrentIndex (current_idx - 1);
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2406 else if (current_idx - clicked_idx < 0)
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2407 setCurrentIndex (current_idx);
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2408 }
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2409 else if (me->type () != QEvent::MouseButtonDblClick &&
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2410 me->button() == Qt::RightButton)
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2411 {
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2412 // Right click, show context menu
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2413 setCurrentIndex (clicked_idx);
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2414 if (! _context_menu->exec (click_pos))
23276
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2415 {
23321
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2416 // No action selected, back to previous tab
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2417 setCurrentIndex (current_idx);
23276
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2418 }
23321
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2419 else
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2420 {
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2421 // Was the possibly only closed tab before or after the
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2422 // previously current tab? According to the result, use previous
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2423 // index or reduce it by one. Also prevent using a too large
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2424 // if other or all files were closed.
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2425 int new_idx = count () - 1;
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2426 if (new_idx > 0)
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2427 {
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2428 if (current_idx - clicked_idx > 0)
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2429 new_idx = current_idx - 1;
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2430 else if (current_idx - clicked_idx < 0)
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2431 new_idx = current_idx;
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2432 }
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2433 if (new_idx >= 0)
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2434 setCurrentIndex (new_idx);
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2435 }
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2436 }
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2437 else
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2438 {
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2439 // regular handling of the mouse event
ac4d0a72927a provide a context menu for the tab bar of the editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23304
diff changeset
2440 QTabBar::mousePressEvent (me);
23276
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2441 }
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2442 }
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2443 else
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2444 {
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2445 // regular handling of the mouse event
23304
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2446 QTabBar::mousePressEvent (me);
23276
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2447 }
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2448 }
ea143f4f76a5 Allow to close an editor tab with the middle mouse button (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23223
diff changeset
2449
23304
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2450
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2451
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2452 //
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2453 // Functions of the the reimplemented tab widget
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2454 //
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2455
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2456 file_editor_tab_widget::file_editor_tab_widget (QWidget *p)
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2457 : QTabWidget (p)
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2458 {
23449
c763214a8260 maint: Use convention 'int *x' for naming pointers.
Rik <rik@octave.org>
parents: 23433
diff changeset
2459 file_editor_tab_bar *bar;
23304
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2460 bar = new file_editor_tab_bar (this);
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2461
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2462 connect (bar, SIGNAL (close_current_tab_signal (bool)),
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2463 p->parent (), SLOT (request_close_file (bool)));
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2464
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2465 this->setTabBar(bar);
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2466 }
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2467
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2468 file_editor_tab_widget::~file_editor_tab_widget ()
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2469 { }
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2470
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2471 QTabBar*
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2472 file_editor_tab_widget::tabBar () const
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2473 {
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2474 return (QTabWidget::tabBar ());
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2475 }
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2476
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23300
diff changeset
2477
15873
7d300b85ee25 allow build to proceed if either Qt or QScintilla is missing
John W. Eaton <jwe@octave.org>
parents: 15861
diff changeset
2478 #endif