1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
/* This file is part of the KDE project
* SPDX-FileCopyrightText: 2008 Thorsten Zachmann <zachmann@kde.org>
*
* SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "FindDirection_p.h"
#include <KoCanvasResourceManager.h>
#include <QTextCursor>
#include "KoFind_p.h"
#include "KoText.h"
FindDirection::FindDirection(KoCanvasResourceManager *provider)
: m_provider(provider)
{
}
FindDirection::~FindDirection() = default;
FindForward::FindForward(KoCanvasResourceManager *provider)
: FindDirection(provider)
{
}
FindForward::~FindForward() = default;
bool FindForward::positionReached(const QTextCursor ¤tPos, const QTextCursor &endPos)
{
return currentPos > endPos;
}
void FindForward::positionCursor(QTextCursor ¤tPos)
{
currentPos.movePosition(QTextCursor::Start);
}
void FindForward::select(const QTextCursor &cursor)
{
m_provider->setResource(KoText::CurrentTextPosition, cursor.position());
m_provider->setResource(KoText::CurrentTextAnchor, cursor.anchor());
}
void FindForward::nextDocument(QTextDocument *document, KoFindPrivate *findPrivate)
{
findPrivate->findDocumentSetNext(document);
}
FindBackward::FindBackward(KoCanvasResourceManager *provider)
: FindDirection(provider)
{
}
FindBackward::~FindBackward() = default;
bool FindBackward::positionReached(const QTextCursor ¤tPos, const QTextCursor &endPos)
{
return currentPos < endPos;
}
void FindBackward::positionCursor(QTextCursor ¤tPos)
{
currentPos.movePosition(QTextCursor::End);
}
void FindBackward::select(const QTextCursor &cursor)
{
m_provider->setResource(KoText::CurrentTextPosition, cursor.anchor());
m_provider->setResource(KoText::CurrentTextAnchor, cursor.position());
}
void FindBackward::nextDocument(QTextDocument *document, KoFindPrivate *findPrivate)
{
findPrivate->findDocumentSetPrevious(document);
}
|