Mercurial > hg > octave-lyh
annotate gui/src/m-editor/find-dialog.cc @ 15105:f4ea22ef2beb gui
Incorporated patch that adds replace from Torsten and modified it.
* file-editor.cc: Added replace functionality.
* find-dialog: Added replace functionality and rearranged UI elements.
author | Jacob Dawid <jacob.dawid@gmail.com> |
---|---|
date | Sat, 04 Aug 2012 11:18:20 +0200 |
parents | 093961d9ebed |
children | d52bac6b9813 |
rev | line source |
---|---|
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
1 /**************************************************************************** |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
2 ** |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
4 ** All rights reserved. |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
5 ** Contact: Nokia Corporation (qt-info@nokia.com) |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
6 ** |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
7 ** This file is part of the examples of the Qt Toolkit. |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
8 ** |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
9 ** $QT_BEGIN_LICENSE:LGPL$ |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
10 ** Commercial Usage |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
11 ** Licensees holding valid Qt Commercial licenses may use this file in |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
12 ** accordance with the Qt Commercial License Agreement provided with the |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
13 ** Software or, alternatively, in accordance with the terms contained in |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
14 ** a written agreement between you and Nokia. |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
15 ** |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
16 ** GNU Lesser General Public License Usage |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
17 ** Alternatively, this file may be used under the terms of the GNU Lesser |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
18 ** General Public License version 2.1 as published by the Free Software |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
19 ** Foundation and appearing in the file LICENSE.LGPL included in the |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
20 ** packaging of this file. Please review the following information to |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
21 ** ensure the GNU Lesser General Public License version 2.1 requirements |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
23 ** |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
24 ** In addition, as a special exception, Nokia gives you certain additional |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
25 ** rights. These rights are described in the Nokia Qt LGPL Exception |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
27 ** |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
28 ** GNU General Public License Usage |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
29 ** Alternatively, this file may be used under the terms of the GNU |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
30 ** General Public License version 3.0 as published by the Free Software |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
31 ** Foundation and appearing in the file LICENSE.GPL included in the |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
32 ** packaging of this file. Please review the following information to |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
33 ** ensure the GNU General Public License version 3.0 requirements will be |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
34 ** met: http://www.gnu.org/copyleft/gpl.html. |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
35 ** |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
36 ** If you have questions regarding the use of this file, please contact |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
37 ** Nokia at qt-info@nokia.com. |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
38 ** $QT_END_LICENSE$ |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
39 ** |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
40 ****************************************************************************/ |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
41 |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
42 #include <QtGui> |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
43 #include <QIcon> |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
44 #include "find-dialog.h" |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
45 |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
46 find_dialog::find_dialog (QsciScintilla* edit_area, QWidget *parent) |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
47 : QDialog (parent) |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
48 { |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
49 setWindowTitle ("Find and Replace"); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
50 setWindowIcon (QIcon(":/actions/icons/logo.png")); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
51 |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
52 _search_label = new QLabel (tr ("Find &what:")); |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
53 _search_line_edit = new QLineEdit; |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
54 _search_label->setBuddy (_search_line_edit); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
55 _replace_label = new QLabel (tr ("Re&place with:")); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
56 _replace_line_edit = new QLineEdit; |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
57 _replace_label->setBuddy (_replace_line_edit); |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
58 |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
59 _case_check_box = new QCheckBox (tr ("Match &case")); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
60 _from_start_check_box = new QCheckBox (tr ("Search from &start")); |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
61 _wrap_check_box = new QCheckBox (tr ("&Wrap while searching")); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
62 _wrap_check_box->setChecked(true); |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
63 _find_next_button = new QPushButton (tr ("&Find Next")); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
64 _find_next_button->setDefault (true); |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
65 _replace_button = new QPushButton (tr ("&Replace")); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
66 _replace_all_button = new QPushButton (tr ("Replace &All")); |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
67 |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
68 _more_button = new QPushButton (tr ("&More")); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
69 _more_button->setCheckable (true); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
70 _more_button->setAutoDefault (false); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
71 |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
72 _button_box = new QDialogButtonBox (Qt::Vertical); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
73 _button_box->addButton (_find_next_button, QDialogButtonBox::ActionRole); |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
74 _button_box->addButton (_replace_button, QDialogButtonBox::ActionRole); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
75 _button_box->addButton (_replace_all_button, QDialogButtonBox::ActionRole); |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
76 _button_box->addButton (_more_button, QDialogButtonBox::ActionRole); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
77 |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
78 _extension = new QWidget (this); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
79 _whole_words_check_box = new QCheckBox (tr ("&Whole words")); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
80 _regex_check_box = new QCheckBox (tr ("Regular E&xpressions")); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
81 _backward_check_box = new QCheckBox (tr ("Search &backward")); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
82 _search_selection_check_box = new QCheckBox (tr ("Search se&lection")); |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
83 _search_selection_check_box->setCheckable (false); // TODO: Not implemented. |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
84 _search_selection_check_box->setEnabled (false); |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
85 |
15104
093961d9ebed
Fixed self-assignment bug found by Torsten.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15080
diff
changeset
|
86 _edit_area = edit_area; |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
87 connect (_find_next_button, SIGNAL (clicked ()), |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
88 this, SLOT (search_next ())); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
89 connect (_more_button, SIGNAL (toggled (bool)), |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
90 _extension, SLOT (setVisible (bool))); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
91 connect (_replace_button, SIGNAL (clicked ()), |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
92 this, SLOT (replace ())); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
93 connect (_replace_all_button, SIGNAL (clicked ()), |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
94 this, SLOT (replace_all ())); |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
95 |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
96 QVBoxLayout *extension_layout = new QVBoxLayout (); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
97 extension_layout->setMargin (0); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
98 extension_layout->addWidget (_whole_words_check_box); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
99 extension_layout->addWidget (_backward_check_box); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
100 extension_layout->addWidget (_search_selection_check_box); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
101 _extension->setLayout (extension_layout); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
102 |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
103 QGridLayout *top_left_layout = new QGridLayout; |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
104 top_left_layout->addWidget (_search_label, 1, 1); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
105 top_left_layout->addWidget (_search_line_edit, 1, 2); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
106 top_left_layout->addWidget (_replace_label, 2, 1); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
107 top_left_layout->addWidget (_replace_line_edit, 2, 2); |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
108 |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
109 QVBoxLayout *left_layout = new QVBoxLayout; |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
110 left_layout->addLayout (top_left_layout); |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
111 left_layout->insertStretch (1, 5); |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
112 left_layout->addWidget (_case_check_box); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
113 left_layout->addWidget (_from_start_check_box); |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
114 left_layout->addWidget (_wrap_check_box); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
115 left_layout->addWidget (_regex_check_box); |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
116 |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
117 QGridLayout *main_layout = new QGridLayout; |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
118 main_layout->setSizeConstraint (QLayout::SetFixedSize); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
119 main_layout->addLayout (left_layout, 0, 0); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
120 main_layout->addWidget (_button_box, 0, 1); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
121 main_layout->addWidget (_extension, 1, 0, 1, 2); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
122 setLayout (main_layout); |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
123 |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
124 _extension->hide (); |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
125 } |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
126 |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
127 void |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
128 find_dialog::search_next () |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
129 { |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
130 int line = -1, col = -1; |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
131 |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
132 _find_result_available = false; |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
133 if (_from_start_check_box->isChecked ()) |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
134 { |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
135 line = 1; |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
136 col = 1; |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
137 } |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
138 |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
139 if (_edit_area) |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
140 { |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
141 _find_result_available = _edit_area->findFirst (_search_line_edit->text (), |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
142 _regex_check_box->isChecked (), |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
143 _case_check_box->isChecked (), |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
144 _whole_words_check_box->isChecked (), |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
145 _wrap_check_box->isChecked (), |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
146 !_backward_check_box->isChecked (), |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
147 line,col, |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
148 true, |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
149 true |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
150 ); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
151 } |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
152 } |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
153 |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
154 |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
155 void |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
156 find_dialog::replace () |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
157 { |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
158 if (_edit_area) |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
159 { |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
160 _edit_area->replace (_replace_line_edit->text ()); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
161 _edit_area->findNext(); |
15080
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
162 } |
4c4f2fb07a50
Added find functionality in editor by to.lil.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
diff
changeset
|
163 } |
15105
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
164 |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
165 void |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
166 find_dialog::replace_all () |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
167 { |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
168 int count = 0; |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
169 |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
170 // check whether find & replace srings are different (avoid endless loop!) |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
171 int strDiff; |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
172 Qt::CaseSensitivity cs; |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
173 if (_case_check_box->isChecked()) |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
174 { |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
175 cs = Qt::CaseSensitive; |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
176 } |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
177 else |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
178 { |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
179 cs = Qt::CaseInsensitive; |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
180 } |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
181 strDiff = QString::compare(_search_line_edit->text(),_replace_line_edit->text(),cs); |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
182 |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
183 // replace all if strings are different |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
184 if (_edit_area && strDiff ) |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
185 { |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
186 search_next (); // find first occurence |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
187 while (_find_result_available) // while search string is found |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
188 { |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
189 _edit_area->replace (_replace_line_edit->text ()); // replace |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
190 count++; // inc counter |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
191 _find_result_available = _edit_area->findNext(); // and find next |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
192 } |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
193 } |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
194 // TODO: Show number of replaced strings |
f4ea22ef2beb
Incorporated patch that adds replace from Torsten and modified it.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
15104
diff
changeset
|
195 } |