mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-21 23:09:40 +00:00
two patches for search and replace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3177 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
68f7839db2
commit
b78b32b554
@ -1,3 +1,7 @@
|
||||
2001-12-06 John Levon <moz@compsoc.man.ac.uk>
|
||||
|
||||
* lyxfind.C: place the cursor correctly on failed search
|
||||
|
||||
2001-12-09 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
|
||||
|
||||
* text.C (getLengthMarkerHeight): for small heights, the arrows
|
||||
|
@ -1,3 +1,8 @@
|
||||
2001-12-08 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
|
||||
|
||||
* forms/form_preferences.fd: use the same name for font sizes
|
||||
than the character dialog.
|
||||
|
||||
2001-11-26 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
|
||||
|
||||
* forms/form_search.fd: Added label text to search buttons
|
||||
|
@ -149,10 +149,10 @@ FD_form_screen_fonts * FormPreferences::build_screen_fonts()
|
||||
fdui->input_tiny = obj = fl_add_input(FL_FLOAT_INPUT, 370, 20, 70, 30, _("tiny"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_callback(obj, C_FormBaseDeprecatedInputCB, 0);
|
||||
fdui->input_script = obj = fl_add_input(FL_FLOAT_INPUT, 370, 50, 70, 30, _("script"));
|
||||
fdui->input_script = obj = fl_add_input(FL_FLOAT_INPUT, 370, 50, 70, 30, _("smallest"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_callback(obj, C_FormBaseDeprecatedInputCB, 0);
|
||||
fdui->input_footnote = obj = fl_add_input(FL_FLOAT_INPUT, 370, 80, 70, 30, _("footnote"));
|
||||
fdui->input_footnote = obj = fl_add_input(FL_FLOAT_INPUT, 370, 80, 70, 30, _("smaller"));
|
||||
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
|
||||
fl_set_object_callback(obj, C_FormBaseDeprecatedInputCB, 0);
|
||||
fdui->input_small = obj = fl_add_input(FL_FLOAT_INPUT, 370, 110, 70, 30, _("small"));
|
||||
|
@ -386,7 +386,7 @@ alignment: FL_ALIGN_LEFT
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: script
|
||||
label: smallest
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
@ -404,7 +404,7 @@ alignment: FL_ALIGN_LEFT
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: footnote
|
||||
label: smaller
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include "support/lstrings.h"
|
||||
#include "BufferView.h"
|
||||
#include "buffer.h"
|
||||
#include "debug.h"
|
||||
#include "gettext.h"
|
||||
|
||||
using lyx::pos_type;
|
||||
@ -223,6 +224,8 @@ SearchResult SearchForward(BufferView * bv, LyXText * text, string const & str,
|
||||
{
|
||||
Paragraph * par = text->cursor.par();
|
||||
pos_type pos = text->cursor.pos();
|
||||
Paragraph * prev_par = par;
|
||||
pos_type prev_pos;
|
||||
UpdatableInset * inset;
|
||||
|
||||
while (par && !IsStringInText(par, pos, str, cs, mw)) {
|
||||
@ -237,41 +240,27 @@ SearchResult SearchForward(BufferView * bv, LyXText * text, string const & str,
|
||||
return SR_FOUND_NOUPDATE;
|
||||
text = bv->getLyXText();
|
||||
}
|
||||
if (pos < par->size() - 1)
|
||||
++pos;
|
||||
else {
|
||||
pos = 0;
|
||||
|
||||
++pos;
|
||||
|
||||
if (pos >= par->size()) {
|
||||
prev_par = par;
|
||||
// consider 0-sized empty pars
|
||||
prev_pos = std::min(pos, par->size());
|
||||
par = par->next();
|
||||
pos = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (par) {
|
||||
text->setCursor(bv, par, pos);
|
||||
return SR_FOUND;
|
||||
#if 0
|
||||
} else if (text->inset_owner) {
|
||||
// test if we're inside an inset if yes unlock the inset
|
||||
// and recall us with the outside LyXText!
|
||||
bv->unlockInset((UpdatableInset *)text->inset_owner);
|
||||
if (!bv->theLockingInset()) {
|
||||
text = bv->getLyXText();
|
||||
par = text->cursor.par();
|
||||
pos = text->cursor.pos();
|
||||
if (pos < par->size() - 1)
|
||||
++pos;
|
||||
else {
|
||||
pos = 0;
|
||||
par = par->next();
|
||||
}
|
||||
if (!par)
|
||||
return SR_NOT_FOUND;
|
||||
text->setCursor(bv, par, pos);
|
||||
return SearchForward(bv, text, str, cs, mw);
|
||||
} else {
|
||||
return SR_NOT_FOUND;
|
||||
}
|
||||
#endif
|
||||
} else
|
||||
} else {
|
||||
// make sure we end up at the end of the text,
|
||||
// not the start point of the last search
|
||||
text->setCursor(bv, prev_par, prev_pos);
|
||||
return SR_NOT_FOUND;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -284,11 +273,15 @@ SearchResult SearchBackward(BufferView * bv, LyXText * text,
|
||||
{
|
||||
Paragraph * par = text->cursor.par();
|
||||
pos_type pos = text->cursor.pos();
|
||||
Paragraph * prev_par = par;
|
||||
pos_type prev_pos = pos;
|
||||
|
||||
do {
|
||||
if (pos > 0)
|
||||
--pos;
|
||||
else {
|
||||
prev_pos = pos;
|
||||
prev_par = par;
|
||||
// We skip empty paragraphs (Asger)
|
||||
do {
|
||||
par = par->previous();
|
||||
@ -313,17 +306,10 @@ SearchResult SearchBackward(BufferView * bv, LyXText * text,
|
||||
if (par) {
|
||||
text->setCursor(bv, par, pos);
|
||||
return SR_FOUND;
|
||||
} else {
|
||||
// go to the last part of the unsuccessful search
|
||||
text->setCursor(bv, prev_par, prev_pos);
|
||||
return SR_NOT_FOUND;
|
||||
}
|
||||
#if 0
|
||||
else if (text->inset_owner) {
|
||||
// test if we're inside an inset if yes unlock the inset
|
||||
// and recall us with the outside LyXText!
|
||||
bv->unlockInset((UpdatableInset *)text->inset_owner);
|
||||
if (!bv->theLockingInset()) {
|
||||
return SearchBackward(bv, bv->getLyXText(), str, cs, mw);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return SR_NOT_FOUND;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user