Mercurial > octave
annotate libgui/src/m-editor/find-dialog.cc @ 31649:deb553ac2c54
maint: Merge stable to default.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 06 Dec 2022 15:45:27 -0500 |
parents | 431f80aba37a 29d734430e5f |
children | 1a1f47f17ed4 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 // Find dialog derived from an example from Qt Toolkit (license below (**)) |
16520
086b5e81245b
find-dialog: find previous button and initial position next to the editor
Torsten <ttl@justmail.de>
parents:
16516
diff
changeset
|
2 |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
3 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
30398
diff
changeset
|
5 // Copyright (C) 2009-2022 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // All rights reserved. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // Contact: Nokia Corporation (qt-info@nokia.com) |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
25 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
26 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
27 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
28 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
29 // ** This file is part of the examples of the Qt Toolkit. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
30 // ** |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
31 // ** $QT_BEGIN_LICENSE:LGPL$ |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
32 // ** Commercial Usage |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
33 // ** Licensees holding valid Qt Commercial licenses may use this file in |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
34 // ** accordance with the Qt Commercial License Agreement provided with the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
35 // ** Software or, alternatively, in accordance with the terms contained in |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
36 // ** a written agreement between you and Nokia. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
37 // ** |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
38 // ** GNU Lesser General Public License Usage |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
39 // ** Alternatively, this file may be used under the terms of the GNU Lesser |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
40 // ** General Public License version 2.1 as published by the Free Software |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
41 // ** Foundation and appearing in the file LICENSE.LGPL included in the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
42 // ** packaging of this file. Please review the following information to |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
43 // ** ensure the GNU Lesser General Public License version 2.1 requirements |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
44 // ** will be met: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
45 // ** |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
46 // ** In addition, as a special exception, Nokia gives you certain additional |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
47 // ** rights. These rights are described in the Nokia Qt LGPL Exception |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
48 // ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
49 // ** |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
50 // ** GNU General Public License Usage |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
51 // ** Alternatively, this file may be used under the terms of the GNU |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
52 // ** General Public License version 3.0 as published by the Free Software |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
53 // ** Foundation and appearing in the file LICENSE.GPL included in the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
54 // ** packaging of this file. Please review the following information to |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
55 // ** ensure the GNU General Public License version 3.0 requirements will be |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
56 // ** met: https://www.gnu.org/copyleft/gpl.html. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
57 // ** |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
58 // ** If you have questions regarding the use of this file, please contact |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
59 // ** Nokia at qt-info@nokia.com. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
60 // ** $QT_END_LICENSE$ |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
61 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
62 //////////////////////////////////////////////////////////////////////// |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
63 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21706
diff
changeset
|
64 #if defined (HAVE_CONFIG_H) |
21301
40de9f8f23a6
Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents:
21203
diff
changeset
|
65 # include "config.h" |
15286
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15257
diff
changeset
|
66 #endif |
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15257
diff
changeset
|
67 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21706
diff
changeset
|
68 #if defined (HAVE_QSCINTILLA) |
15873
7d300b85ee25
allow build to proceed if either Qt or QScintilla is missing
John W. Eaton <jwe@octave.org>
parents:
15368
diff
changeset
|
69 |
28742
6d35c0db5d2f
fix moving editor find dialog (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27957
diff
changeset
|
70 #include <QApplication> |
22250
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22169
diff
changeset
|
71 #include <QCheckBox> |
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22169
diff
changeset
|
72 #include <QCheckBox> |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
73 #include <QCompleter> |
22250
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22169
diff
changeset
|
74 #include <QDialogButtonBox> |
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22169
diff
changeset
|
75 #include <QGridLayout> |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
76 #include <QIcon> |
22250
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22169
diff
changeset
|
77 #include <QLabel> |
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22169
diff
changeset
|
78 #include <QLineEdit> |
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22169
diff
changeset
|
79 #include <QMessageBox> |
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22169
diff
changeset
|
80 #include <QPushButton> |
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22169
diff
changeset
|
81 #include <QVBoxLayout> |
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22169
diff
changeset
|
82 |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
83 #include "find-dialog.h" |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
84 #include "gui-preferences-ed.h" |
30690
e2c8c852399e
replace use of depreciated QDesktopWidget in GUI
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
85 #include "gui-utils.h" |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
86 #include "resource-manager.h" |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
87 |
31646
c6d54dd31a7e
maint: Use macros to begin/end C++ namespaces.
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
88 OCTAVE_BEGIN_NAMESPACE(octave) |
c6d54dd31a7e
maint: Use macros to begin/end C++ namespaces.
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
89 |
31639
ca7d58406f82
eliminate unnecessary uses of octave_qobject in GUI classes
John W. Eaton <jwe@octave.org>
parents:
31619
diff
changeset
|
90 find_dialog::find_dialog (octave_dock_widget *ed, QWidget *p) |
ca7d58406f82
eliminate unnecessary uses of octave_qobject in GUI classes
John W. Eaton <jwe@octave.org>
parents:
31619
diff
changeset
|
91 : QDialog (p), m_editor (ed), m_in_sel (false), |
ca7d58406f82
eliminate unnecessary uses of octave_qobject in GUI classes
John W. Eaton <jwe@octave.org>
parents:
31619
diff
changeset
|
92 m_sel_beg (-1), m_sel_end (-1) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
93 { |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
94 setWindowTitle (tr ("Editor: Find and Replace")); |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
95 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
96 m_search_label = new QLabel (tr ("Find &what:")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
97 m_search_line_edit = new QComboBox (this); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
98 m_search_line_edit->setToolTip (tr ("Enter text to search for")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
99 m_search_line_edit->setEditable (true); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
100 m_search_line_edit->setMaxCount (m_mru_length); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
101 m_search_line_edit->completer ()->setCaseSensitivity (Qt::CaseSensitive); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
102 m_search_label->setBuddy (m_search_line_edit); |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
103 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
104 m_replace_label = new QLabel (tr ("Re&place with:")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
105 m_replace_line_edit = new QComboBox (this); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
106 m_replace_line_edit->setToolTip (tr ("Enter new text replacing search hits")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
107 m_replace_line_edit->setEditable (true); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
108 m_replace_line_edit->setMaxCount (m_mru_length); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
109 m_replace_line_edit->completer ()->setCaseSensitivity (Qt::CaseSensitive); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
110 m_replace_label->setBuddy (m_replace_line_edit); |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
111 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
112 int width = QFontMetrics (m_search_line_edit->font ()).averageCharWidth(); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
113 m_search_line_edit->setFixedWidth (20*width); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
114 m_replace_line_edit->setFixedWidth (20*width); |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
115 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
116 m_case_check_box = new QCheckBox (tr ("Match &case")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
117 m_from_start_check_box = new QCheckBox (tr ("Search from &start")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
118 m_wrap_check_box = new QCheckBox (tr ("&Wrap while searching")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
119 m_wrap_check_box->setChecked (true); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
120 m_find_next_button = new QPushButton (tr ("&Find Next")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
121 m_find_prev_button = new QPushButton (tr ("Find &Previous")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
122 m_replace_button = new QPushButton (tr ("&Replace")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
123 m_replace_all_button = new QPushButton (tr ("Replace &All")); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
124 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
125 m_more_button = new QPushButton (tr ("&More...")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
126 m_more_button->setCheckable (true); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
127 m_more_button->setAutoDefault (false); |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
128 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
129 m_button_box = new QDialogButtonBox (Qt::Vertical); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
130 m_button_box->addButton (m_find_next_button, QDialogButtonBox::ActionRole); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
131 m_button_box->addButton (m_find_prev_button, QDialogButtonBox::ActionRole); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
132 m_button_box->addButton (m_replace_button, QDialogButtonBox::ActionRole); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
133 m_button_box->addButton (m_replace_all_button, QDialogButtonBox::ActionRole); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
134 m_button_box->addButton (m_more_button, QDialogButtonBox::ActionRole); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
135 m_button_box->addButton (QDialogButtonBox::Close); |
18854
0a66861d8069
implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents:
18283
diff
changeset
|
136 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
137 m_extension = new QWidget (this); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
138 m_whole_words_check_box = new QCheckBox (tr ("&Whole words")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
139 m_regex_check_box = new QCheckBox (tr ("Regular E&xpressions")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
140 m_backward_check_box = new QCheckBox (tr ("Search &backward")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
141 m_search_selection_check_box = new QCheckBox (tr ("Search se&lection")); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
142 m_search_selection_check_box->setCheckable (true); |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
143 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
144 connect (m_find_next_button, &QPushButton::clicked, |
29542
3d34b70b5a49
connect many Qt signals and slots without SIGNAL and SLOT macros
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
145 this, &find_dialog::find_next); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
146 connect (m_find_prev_button, &QPushButton::clicked, |
29542
3d34b70b5a49
connect many Qt signals and slots without SIGNAL and SLOT macros
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
147 this, &find_dialog::find_prev); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
148 connect (m_more_button, &QPushButton::toggled, |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
149 m_extension, &QWidget::setVisible); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
150 connect (m_replace_button, &QPushButton::clicked, |
29542
3d34b70b5a49
connect many Qt signals and slots without SIGNAL and SLOT macros
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
151 this, &find_dialog::replace); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
152 connect (m_replace_all_button, &QPushButton::clicked, |
29542
3d34b70b5a49
connect many Qt signals and slots without SIGNAL and SLOT macros
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
153 this, &find_dialog::replace_all); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
154 connect (m_backward_check_box, &QCheckBox::stateChanged, |
29542
3d34b70b5a49
connect many Qt signals and slots without SIGNAL and SLOT macros
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
155 this, &find_dialog::handle_backward_search_changed); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
156 connect (m_button_box, &QDialogButtonBox::rejected, |
29542
3d34b70b5a49
connect many Qt signals and slots without SIGNAL and SLOT macros
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
157 this, &find_dialog::close); |
18854
0a66861d8069
implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents:
18283
diff
changeset
|
158 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
159 connect (m_search_selection_check_box, &QCheckBox::stateChanged, |
29542
3d34b70b5a49
connect many Qt signals and slots without SIGNAL and SLOT macros
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
160 this, &find_dialog::handle_sel_search_changed); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
161 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
162 QVBoxLayout *extension_layout = new QVBoxLayout (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
163 extension_layout->setMargin (0); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
164 extension_layout->addWidget (m_whole_words_check_box); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
165 extension_layout->addWidget (m_backward_check_box); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
166 extension_layout->addWidget (m_search_selection_check_box); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
167 m_extension->setLayout (extension_layout); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
168 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
169 QGridLayout *top_left_layout = new QGridLayout; |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
170 top_left_layout->addWidget (m_search_label, 1, 1); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
171 top_left_layout->addWidget (m_search_line_edit, 1, 2); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
172 top_left_layout->addWidget (m_replace_label, 2, 1); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
173 top_left_layout->addWidget (m_replace_line_edit, 2, 2); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
174 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
175 QVBoxLayout *left_layout = new QVBoxLayout; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
176 left_layout->addLayout (top_left_layout); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
177 left_layout->insertStretch (1, 5); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
178 left_layout->addWidget (m_case_check_box); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
179 left_layout->addWidget (m_from_start_check_box); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
180 left_layout->addWidget (m_wrap_check_box); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
181 left_layout->addWidget (m_regex_check_box); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
182 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
183 QGridLayout *main_layout = new QGridLayout; |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
184 main_layout->setSizeConstraint (QLayout::SetFixedSize); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
185 main_layout->addLayout (left_layout, 0, 0); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
186 main_layout->addWidget (m_button_box, 0, 1); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
187 main_layout->addWidget (m_extension, 1, 0); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
188 setLayout (main_layout); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
189 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
190 m_extension->hide (); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
191 m_find_next_button->setDefault (true); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
192 m_find_result_available = false; |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
193 m_rep_all = 0; |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
194 m_rep_active = false; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
195 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
196 // Connect required external signals |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
197 connect (ed, SIGNAL (edit_area_changed (octave_qscintilla *)), |
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
198 this, SLOT (update_edit_area (octave_qscintilla *))); |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
199 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
200 setWindowModality (Qt::NonModal); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
201 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
202 setAttribute(Qt::WA_ShowWithoutActivating); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
203 setAttribute(Qt::WA_DeleteOnClose); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
204 } |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
205 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
206 // The edit_area has changed: update relevant data of the file dialog |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
207 void find_dialog::update_edit_area (octave_qscintilla *edit_area) |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
208 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
209 m_edit_area = edit_area; |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
210 m_search_selection_check_box->setEnabled (edit_area->hasSelectedText ()); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
211 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
212 connect (m_edit_area, SIGNAL (copyAvailable (bool)), |
29707
81be7e4ddb0f
revert connection of qscintilla signals back to old syntax (bug #60469)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29542
diff
changeset
|
213 this, SLOT (handle_selection_changed (bool)), |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
214 Qt::UniqueConnection); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
215 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
216 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
217 void find_dialog::save_settings () |
27089
9326c2258e60
fix visibility of find dialog when editor is docked/undocked (bug #5)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26454
diff
changeset
|
218 { |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
219 gui_settings settings; |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
220 |
28742
6d35c0db5d2f
fix moving editor find dialog (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27957
diff
changeset
|
221 // Save position |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
222 QPoint dlg_pos = pos (); |
28743
2cb815b72d2f
fix moving find dialog for linux (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28742
diff
changeset
|
223 |
2cb815b72d2f
fix moving find dialog for linux (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28742
diff
changeset
|
224 #if defined (Q_OS_WIN32) |
2cb815b72d2f
fix moving find dialog for linux (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28742
diff
changeset
|
225 int y = dlg_pos.y (); |
2cb815b72d2f
fix moving find dialog for linux (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28742
diff
changeset
|
226 #else |
2cb815b72d2f
fix moving find dialog for linux (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28742
diff
changeset
|
227 int y = dlg_pos.y () - geometry ().height () + frameGeometry ().height (); |
2cb815b72d2f
fix moving find dialog for linux (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28742
diff
changeset
|
228 #endif |
2cb815b72d2f
fix moving find dialog for linux (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28742
diff
changeset
|
229 |
2cb815b72d2f
fix moving find dialog for linux (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28742
diff
changeset
|
230 m_last_position = QPoint (dlg_pos.x (), y); |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
231 |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
232 settings.setValue (ed_fdlg_pos.key, m_last_position); |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
233 |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
234 // Is current search/replace text in the mru list? |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
235 mru_update (m_search_line_edit); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
236 mru_update (m_replace_line_edit); |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
237 |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
238 // Store mru lists |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
239 QStringList mru; |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
240 for (int i = 0; i < m_search_line_edit->count (); i++) |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
241 mru.append (m_search_line_edit->itemText (i)); |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
242 settings.setValue (ed_fdlg_search.key, mru); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
243 |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
244 mru.clear (); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
245 for (int i = 0; i < m_replace_line_edit->count (); i++) |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
246 mru.append (m_replace_line_edit->itemText (i)); |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
247 settings.setValue (ed_fdlg_replace.key, mru); |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
248 |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
249 // Store dialog's options |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
250 int opts = 0 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
251 + m_extension->isVisible () * FIND_DLG_MORE |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
252 + m_case_check_box->isChecked () * FIND_DLG_CASE |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
253 + m_from_start_check_box->isChecked () * FIND_DLG_START |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
254 + m_wrap_check_box->isChecked () * FIND_DLG_WRAP |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
255 + m_regex_check_box->isChecked () * FIND_DLG_REGX |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
256 + m_whole_words_check_box->isChecked () * FIND_DLG_WORDS |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
257 + m_backward_check_box->isChecked () * FIND_DLG_BACK |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
258 + m_search_selection_check_box->isChecked () * FIND_DLG_SEL; |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
259 settings.setValue (ed_fdlg_opts.key, opts); |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
260 |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
261 settings.sync (); |
27089
9326c2258e60
fix visibility of find dialog when editor is docked/undocked (bug #5)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26454
diff
changeset
|
262 } |
9326c2258e60
fix visibility of find dialog when editor is docked/undocked (bug #5)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26454
diff
changeset
|
263 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
264 void find_dialog::restore_settings (QPoint ed_bottom_right) |
27089
9326c2258e60
fix visibility of find dialog when editor is docked/undocked (bug #5)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26454
diff
changeset
|
265 { |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
266 gui_settings settings; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
267 |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
268 // Get mru lists for search and replace text |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
269 QStringList mru = settings.value (ed_fdlg_search.key).toStringList (); |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
270 while (mru.length () > m_mru_length) |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
271 mru.removeLast (); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
272 m_search_line_edit->addItems (mru); |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
273 |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
274 mru = settings.value (ed_fdlg_replace.key).toStringList (); |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
275 while (mru.length () > m_mru_length) |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
276 mru.removeLast (); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
277 m_replace_line_edit->addItems (mru); |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
278 |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
279 // Get the dialog's options |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
280 int opts = settings.value (ed_fdlg_opts.key, ed_fdlg_opts.def).toInt (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
281 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
282 m_extension->setVisible (FIND_DLG_MORE & opts); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
283 m_case_check_box->setChecked (FIND_DLG_CASE & opts); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
284 m_from_start_check_box->setChecked (FIND_DLG_START & opts); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
285 m_wrap_check_box->setChecked (FIND_DLG_WRAP & opts); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
286 m_regex_check_box->setChecked (FIND_DLG_REGX & opts); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
287 m_whole_words_check_box->setChecked (FIND_DLG_WORDS & opts); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
288 m_backward_check_box->setChecked (FIND_DLG_BACK & opts); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
289 m_search_selection_check_box->setChecked (FIND_DLG_SEL & opts); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
290 |
30690
e2c8c852399e
replace use of depreciated QDesktopWidget in GUI
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
291 // Default position: lower right of editor's position |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
292 int xp = ed_bottom_right.x () - sizeHint ().width (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
293 int yp = ed_bottom_right.y () - sizeHint ().height (); |
30690
e2c8c852399e
replace use of depreciated QDesktopWidget in GUI
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
294 QRect default_geometry (xp, yp, sizeHint ().width (), sizeHint ().height ()); |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
295 |
30690
e2c8c852399e
replace use of depreciated QDesktopWidget in GUI
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
296 // Last position from settings |
31619
ad014fc78bd6
use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
297 m_last_position = settings.value (ed_fdlg_pos.key, QPoint (xp, yp)).toPoint (); |
30690
e2c8c852399e
replace use of depreciated QDesktopWidget in GUI
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
298 QRect last_geometry (m_last_position, |
e2c8c852399e
replace use of depreciated QDesktopWidget in GUI
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
299 QSize (sizeHint ().width (), sizeHint ().height ())); |
28742
6d35c0db5d2f
fix moving editor find dialog (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27957
diff
changeset
|
300 |
30690
e2c8c852399e
replace use of depreciated QDesktopWidget in GUI
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
301 // Make sure we are on the screen |
e2c8c852399e
replace use of depreciated QDesktopWidget in GUI
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
302 adjust_to_screen (last_geometry, default_geometry); |
e2c8c852399e
replace use of depreciated QDesktopWidget in GUI
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
303 m_last_position = last_geometry.topLeft (); |
28742
6d35c0db5d2f
fix moving editor find dialog (bug #59047)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27957
diff
changeset
|
304 |
30690
e2c8c852399e
replace use of depreciated QDesktopWidget in GUI
Torsten Lilge <ttl-octave@mailbox.org>
parents:
30564
diff
changeset
|
305 move (m_last_position); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
306 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
307 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
308 // set text of "search from start" depending on backward search |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
309 void find_dialog::handle_backward_search_changed (int backward) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
310 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
311 if (backward) |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
312 m_from_start_check_box->setText (tr ("Search from end")); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
313 else |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
314 m_from_start_check_box->setText (tr ("Search from start")); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
315 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
316 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
317 // search text has changed: reset the search |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
318 void find_dialog::handle_search_text_changed (void) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
319 { |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
320 // Return if nothing has changed |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
321 if (m_search_line_edit->currentText () == m_search_line_edit->itemText (0)) |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
322 return; |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
323 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
324 if (m_search_selection_check_box->isChecked ()) |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
325 m_find_result_available = false; |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
326 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
327 mru_update (m_search_line_edit); |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
328 } |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
329 |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
330 // replaced text has changed: reset the search |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
331 void find_dialog::handle_replace_text_changed (void) |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
332 { |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
333 // Return if nothing has changed |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
334 if (m_replace_line_edit->currentText () == m_replace_line_edit->itemText (0)) |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
335 return; |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
336 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
337 mru_update (m_replace_line_edit); |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
338 } |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
339 |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
340 // Update the mru list |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
341 void find_dialog::mru_update (QComboBox *mru) |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
342 { |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
343 // Remove possible empty entries from the mru list |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
344 int index; |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
345 while ((index = mru->findText (QString ())) >= 0) |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
346 mru->removeItem (index); |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
347 |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
348 // Get current text and return if it is empty |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
349 QString text = mru->currentText (); |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
350 |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
351 if (text.isEmpty ()) |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
352 return; |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
353 |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
354 // Remove occurrences of the current text in the mru list |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
355 while ((index = mru->findText (text)) >= 0) |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
356 mru->removeItem (index); |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
357 |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
358 // Remove the last entry from the end if the list is full |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
359 if (mru->count () == m_mru_length) |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
360 mru->removeItem (m_mru_length -1); |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
361 |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
362 // Insert new item at the beginning and set it as current item |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
363 mru->insertItem (0, text); |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
364 mru->setCurrentIndex (0); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
365 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
366 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
367 void find_dialog::handle_sel_search_changed (int selected) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
368 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
369 m_from_start_check_box->setEnabled (! selected); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
370 m_find_result_available = false; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
371 } |
18854
0a66861d8069
implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents:
18283
diff
changeset
|
372 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
373 void find_dialog::handle_selection_changed (bool has_selected) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
374 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
375 if (m_rep_active) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
376 return; |
18854
0a66861d8069
implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents:
18283
diff
changeset
|
377 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
378 m_search_selection_check_box->setEnabled (has_selected); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
379 m_find_result_available = false; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
380 } |
18854
0a66861d8069
implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents:
18283
diff
changeset
|
381 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
382 // initialize search text with selected text if this is in one single line |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
383 void find_dialog::init_search_text (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
384 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
385 if (m_edit_area && m_edit_area->hasSelectedText ()) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
386 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
387 int lbeg, lend, cbeg, cend; |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
388 m_edit_area->getSelection (&lbeg, &cbeg, &lend, &cend); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
389 if (lbeg == lend) |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
390 m_search_line_edit->setCurrentText (m_edit_area->selectedText ()); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
391 } |
20445
d3f39abe119b
GUI-Find: keep focus on Find What and select all text when dialog opens
Rafael Monteiro <rafaelgomesmonteiro@gmail.com>
parents:
20181
diff
changeset
|
392 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
393 // set focus to "Find what" and select all text |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
394 m_search_line_edit->setFocus (); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
395 m_search_line_edit->lineEdit ()->selectAll (); |
21706
cce4eb3f6f7c
Prevent find dialog defaulting to "replace all" (bug #47561).
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21301
diff
changeset
|
396 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
397 // Default to "find" next time. |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
398 // Otherwise, it defaults to the last action, which may be "replace all". |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
399 m_find_next_button->setDefault (true); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
400 } |
15988
38348a6c3db0
gui: initialize search text in the find dialog with selected text in editor file
Torsten <ttl@justmail.de>
parents:
15873
diff
changeset
|
401 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
402 void find_dialog::find_next (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
403 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
404 find (! m_backward_check_box->isChecked ()); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
405 } |
15988
38348a6c3db0
gui: initialize search text in the find dialog with selected text in editor file
Torsten <ttl@justmail.de>
parents:
15873
diff
changeset
|
406 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
407 void find_dialog::find_prev (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
408 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
409 find (m_backward_check_box->isChecked ()); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
410 } |
16520
086b5e81245b
find-dialog: find previous button and initial position next to the editor
Torsten <ttl@justmail.de>
parents:
16516
diff
changeset
|
411 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
412 void find_dialog::find (bool forward) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
413 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
414 if (! m_edit_area) |
26454
aced09cc1721
fix utilize pointer before verifying in find dialog (bug #55347)
Torsten <mttl@mailbox.org>
parents:
26376
diff
changeset
|
415 return; |
aced09cc1721
fix utilize pointer before verifying in find dialog (bug #55347)
Torsten <mttl@mailbox.org>
parents:
26376
diff
changeset
|
416 |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
417 handle_search_text_changed (); |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
418 |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
419 // line adn col: -1 means search starts at current position |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
420 int line = -1, col = -1; |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
421 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
422 bool do_wrap = m_wrap_check_box->isChecked (); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
423 bool do_forward = forward; |
16511
eee1b78d031f
gui: fix backward search in find dialog
Torsten <ttl@justmail.de>
parents:
15988
diff
changeset
|
424 |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
425 // Initialize the selection begin and end if it is the first search |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
426 if (! m_find_result_available) |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
427 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
428 if (m_search_selection_check_box->isChecked () |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
429 && m_edit_area->hasSelectedText ()) |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
430 { |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
431 int l1, c1, l2, c2; |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
432 m_edit_area->getSelection (&l1, &c1, &l2, &c2); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
433 |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
434 // Store the position of the selection |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
435 m_sel_beg = m_edit_area->positionFromLineIndex (l1, c1); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
436 m_sel_end = m_edit_area->positionFromLineIndex (l2, c2); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
437 m_in_sel = true; |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
438 } |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
439 else |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
440 m_in_sel = false; |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
441 } |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
442 |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
443 // Get the correct line/col for beginning the search |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
444 if (m_rep_all) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
445 { |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
446 // Replace All |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
447 if (m_rep_all == 1) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
448 { |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
449 // Start at the beginning of file/sel if it is the first try |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
450 if (m_in_sel) |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
451 m_edit_area->lineIndexFromPosition (m_sel_beg, &line, &col); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
452 else |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
453 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
454 line = 0; |
18854
0a66861d8069
implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents:
18283
diff
changeset
|
455 col = 0; |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
456 } |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
457 } |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
458 do_wrap = false; // Never wrap when replacing all |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
459 } |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
460 else |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
461 { |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
462 // Normal search (not replace all): calculate start position of |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
463 // search (in file or selection) |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
464 if (m_from_start_check_box->isChecked () |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
465 || (m_in_sel && (! m_find_result_available))) |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
466 { |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
467 // From the beginning or the end of file/sel |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
468 if (do_forward) |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
469 { |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
470 // From the beginning |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
471 if (m_in_sel) |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
472 m_edit_area->lineIndexFromPosition (m_sel_beg, &line, &col); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
473 else |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
474 { |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
475 line = 0; |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
476 col = 0; |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
477 } |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
478 } |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
479 else |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
480 { |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
481 // From the end |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
482 if (m_in_sel) |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
483 m_edit_area->lineIndexFromPosition (m_sel_end, &line, &col); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
484 else |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
485 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
486 line = m_edit_area->lines () - 1; |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
487 col = m_edit_area->text (line).length () - 1; |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
488 if (col == -1) |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
489 col = 0; |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
490 } |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
491 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
492 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
493 else if (! do_forward) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
494 { |
27929
265b386f8b20
maint: Use two spaces between sentences in code comments.
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
495 // Start from where the cursor is. Fix QScintilla's cursor |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
496 // positioning |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
497 m_edit_area->getCursorPosition (&line, &col); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
498 if (m_find_result_available && m_edit_area->hasSelectedText ()) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
499 { |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
500 int currpos = m_edit_area->positionFromLineIndex (line, col); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
501 currpos -= (m_search_line_edit->currentText ().length ()); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
502 if (currpos < 0) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
503 currpos = 0; |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
504 m_edit_area->lineIndexFromPosition (currpos, &line, &col); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
505 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
506 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
507 } |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
508 |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
509 // Do the search |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
510 m_find_result_available |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
511 = m_edit_area->findFirst (m_search_line_edit->currentText (), |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
512 m_regex_check_box->isChecked (), |
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
513 m_case_check_box->isChecked (), |
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
514 m_whole_words_check_box->isChecked (), |
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
515 do_wrap, |
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
516 do_forward, |
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
517 line, col, |
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
518 true |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
519 #if defined (HAVE_QSCI_VERSION_2_6_0) |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
520 , true |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
521 #endif |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
522 ); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
523 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
524 if (m_find_result_available) |
26454
aced09cc1721
fix utilize pointer before verifying in find dialog (bug #55347)
Torsten <mttl@mailbox.org>
parents:
26376
diff
changeset
|
525 { |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
526 // Search successful: reset search-from-start box and check for |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
527 // the current selection |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
528 m_from_start_check_box->setChecked (0); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
529 |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
530 if (m_in_sel) |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
531 { |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
532 m_edit_area->getCursorPosition (&line, &col); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
533 int pos = m_edit_area->positionFromLineIndex (line, col); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
534 |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
535 int l1, c1, l2, c2; |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
536 m_edit_area->lineIndexFromPosition (m_sel_beg, &l1, &c1); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
537 m_edit_area->lineIndexFromPosition (m_sel_end, &l2, &c2); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
538 m_edit_area->show_selection_markers (l1, c1, l2, c2); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
539 |
27956
2310164737b3
fix many spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents:
27455
diff
changeset
|
540 // Check if new start position is still within the selection |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
541 m_find_result_available = pos >= m_sel_beg && pos <= m_sel_end; |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
542 } |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
543 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
544 |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
545 // No more search hits |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
546 if (! m_find_result_available) |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
547 { |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
548 if (m_in_sel) |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
549 { |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
550 // Restore real selection and remove marker for selection |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
551 int l1, c1, l2, c2; |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
552 m_edit_area->lineIndexFromPosition (m_sel_beg, &l1, &c1); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
553 m_edit_area->lineIndexFromPosition (m_sel_end, &l2, &c2); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
554 m_edit_area->setSelection (l1, c1, l2, c2); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
555 m_edit_area->clear_selection_markers (); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
556 } |
26454
aced09cc1721
fix utilize pointer before verifying in find dialog (bug #55347)
Torsten <mttl@mailbox.org>
parents:
26376
diff
changeset
|
557 |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
558 // Display message if not replace all |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
559 if (! m_rep_all) |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
560 no_matches_message (); |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
561 } |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
562 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
563 } |
18854
0a66861d8069
implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents:
18283
diff
changeset
|
564 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
565 void find_dialog::do_replace (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
566 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
567 if (m_edit_area) |
26454
aced09cc1721
fix utilize pointer before verifying in find dialog (bug #55347)
Torsten <mttl@mailbox.org>
parents:
26376
diff
changeset
|
568 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
569 m_rep_active = true; // changes in selection not made by the user |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
570 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
571 m_edit_area->replace (m_replace_line_edit->currentText ()); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
572 if (m_in_sel) |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
573 { |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
574 // Update the length of the selection |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
575 m_sel_end = m_sel_end |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
576 - m_search_line_edit->currentText ().toUtf8 ().size () |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
577 + m_replace_line_edit->currentText ().toUtf8 ().size (); |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
578 } |
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
579 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
580 m_rep_active = false; |
26454
aced09cc1721
fix utilize pointer before verifying in find dialog (bug #55347)
Torsten <mttl@mailbox.org>
parents:
26376
diff
changeset
|
581 } |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
582 } |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
583 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
584 void find_dialog::replace (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
585 { |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
586 if (m_edit_area) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
587 { |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
588 handle_replace_text_changed (); |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
589 |
27455
e92bab9a7f26
fix editors search and replace in selection (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27127
diff
changeset
|
590 // Do the replace if we have selected text |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
591 if (m_find_result_available && m_edit_area->hasSelectedText ()) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
592 do_replace (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
593 |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
594 find_next (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
595 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
596 } |
18854
0a66861d8069
implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents:
18283
diff
changeset
|
597 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
598 void find_dialog::replace_all (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
599 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
600 int line, col; |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
601 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
602 if (m_edit_area) |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
603 { |
27837
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
604 handle_replace_text_changed (); |
6bbff502f89d
add mru lists for search/replace texts in editor find dialog (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27787
diff
changeset
|
605 |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
606 m_edit_area->getCursorPosition (&line, &col); |
15177
d52bac6b9813
find-dialog.{h,cc}: Get rid of DOS newlines
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15105
diff
changeset
|
607 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
608 m_rep_all = 1; |
27956
2310164737b3
fix many spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents:
27455
diff
changeset
|
609 find_next (); // find first occurrence (forward) |
27127
8854d65e3bcc
undo a complete replace all action in the editor (bug #56405)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26454
diff
changeset
|
610 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
611 m_edit_area->beginUndoAction (); |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
612 while (m_find_result_available) // while search string is found |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
613 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
614 do_replace (); |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
615 m_rep_all++; // inc counter |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
616 find_next (); // find next |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
617 } |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
618 m_edit_area->endUndoAction (); |
18184
5f7f58866922
fix search and replace all in find dialog (bug #41051)
Torsten <ttl@justmail.de>
parents:
17790
diff
changeset
|
619 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
620 QMessageBox msg_box (QMessageBox::Information, tr ("Replace Result"), |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
621 tr ("%1 items replaced").arg (m_rep_all-1), |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
622 QMessageBox::Ok, this); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
623 msg_box.exec (); |
18184
5f7f58866922
fix search and replace all in find dialog (bug #41051)
Torsten <ttl@justmail.de>
parents:
17790
diff
changeset
|
624 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
625 m_rep_all = 0; |
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
626 m_find_result_available = false; |
18854
0a66861d8069
implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents:
18283
diff
changeset
|
627 |
30057
c72ddd9fb513
maint: use "m_" prefix for member variables in class find_dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29707
diff
changeset
|
628 if (! m_search_selection_check_box->isChecked ()) |
30398
d4d83344d653
maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30057
diff
changeset
|
629 m_edit_area->setCursorPosition (line, col); |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
630 } |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
631 } |
15873
7d300b85ee25
allow build to proceed if either Qt or QScintilla is missing
John W. Eaton <jwe@octave.org>
parents:
15368
diff
changeset
|
632 |
24716
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
633 void find_dialog::no_matches_message (void) |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
634 { |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
635 QMessageBox msg_box (QMessageBox::Information, tr ("Find Result"), |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
636 tr ("No more matches found"), QMessageBox::Ok, this); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
637 msg_box.exec (); |
2b3e0b570e77
move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
638 } |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
639 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
640 void find_dialog::reject () |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
641 { |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
642 close (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
643 } |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
644 |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
645 void find_dialog::closeEvent (QCloseEvent *e) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
646 { |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
647 save_settings (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
648 e->accept (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
649 } |
16520
086b5e81245b
find-dialog: find previous button and initial position next to the editor
Torsten <ttl@justmail.de>
parents:
16516
diff
changeset
|
650 |
27787
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
651 // Show and hide with (re-)storing position, otherwise there is always |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
652 // a small shift each time the dialog is shown again |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
653 void find_dialog::set_visible (bool visible) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
654 { |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
655 if (visible) |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
656 { |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
657 show (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
658 move (m_last_position); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
659 } |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
660 else |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
661 { |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
662 m_last_position = pos (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
663 hide (); |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
664 } |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
665 } |
5169ed0ff0f0
only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27461
diff
changeset
|
666 |
31646
c6d54dd31a7e
maint: Use macros to begin/end C++ namespaces.
John W. Eaton <jwe@octave.org>
parents:
30964
diff
changeset
|
667 OCTAVE_END_NAMESPACE(octave) |
15873
7d300b85ee25
allow build to proceed if either Qt or QScintilla is missing
John W. Eaton <jwe@octave.org>
parents:
15368
diff
changeset
|
668 #endif |