mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-27 06:19:36 +00:00
Fix bug #2213 (part 5): GuiChanges lacks "Previous Change" button.
Make sure we jump to the next or previous change when we switch search direction. Without this patch, the same Change will be found and only the cursor is moved from the end (or begin) to the begin (or end) of the selection. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29115 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
a97b097768
commit
326a035a5b
@ -426,6 +426,12 @@ void Cursor::resetAnchor()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Cursor::setCursorToAnchor()
|
||||||
|
{
|
||||||
|
if (selection())
|
||||||
|
setCursor(anchor_);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Cursor::posBackward()
|
bool Cursor::posBackward()
|
||||||
{
|
{
|
||||||
|
@ -63,6 +63,8 @@ public:
|
|||||||
void leaveInset(Inset const & inset);
|
void leaveInset(Inset const & inset);
|
||||||
/// sets cursor part
|
/// sets cursor part
|
||||||
void setCursor(DocIterator const & it);
|
void setCursor(DocIterator const & it);
|
||||||
|
/// sets the cursor to the anchor
|
||||||
|
void setCursorToAnchor();
|
||||||
|
|
||||||
///
|
///
|
||||||
void setCurrentFont();
|
void setCurrentFont();
|
||||||
|
@ -352,6 +352,13 @@ bool findPreviousChange(BufferView * bv)
|
|||||||
|
|
||||||
bool findChange(BufferView * bv, bool next)
|
bool findChange(BufferView * bv, bool next)
|
||||||
{
|
{
|
||||||
|
if (bv->cursor().selection()) {
|
||||||
|
// set the cursor at the beginning or at the end of the selection
|
||||||
|
// before searching. Otherwise, the current change will be found.
|
||||||
|
if (next != bv->cursor().top() > bv->cursor().anchor())
|
||||||
|
bv->cursor().setCursorToAnchor();
|
||||||
|
}
|
||||||
|
|
||||||
DocIterator cur = bv->cursor();
|
DocIterator cur = bv->cursor();
|
||||||
if (!findChange(cur, next))
|
if (!findChange(cur, next))
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user