summaryrefslogtreecommitdiffstats
path: root/src/pdf/qpdfsearchresult.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2020-02-25 17:49:56 +0100
committerShawn Rutledge <shawn.rutledge@qt.io>2020-02-26 15:40:24 +0100
commit926afcaa6f3ce02b51cd535d82454f4b25e0b7f6 (patch)
tree66773defe3e53fc4a37f3fc10eb2f2649d27f668 /src/pdf/qpdfsearchresult.cpp
parent8091944ae8ccfb4e0b3e7518912802c9c75704d0 (diff)
PdfSearchModel: provide ContextBefore and ContextAfter
...as separate roles, to make alignment easier, and to avoid hard-coding HTML tags in the Context role as it was before. But the strings in these context roles are not always adjacent to the search results in geometric coordinates sometimes, in some PDF files, despite having adjacent character indices. I.e. the "next" character after the search string, or the "previous" character before it, could be anywhere on the page. Change-Id: Ief0a490b64fdb3c3ca98506926650648b609ece1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/pdf/qpdfsearchresult.cpp')
-rw-r--r--src/pdf/qpdfsearchresult.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/pdf/qpdfsearchresult.cpp b/src/pdf/qpdfsearchresult.cpp
index 1164a1d43..53da1c165 100644
--- a/src/pdf/qpdfsearchresult.cpp
+++ b/src/pdf/qpdfsearchresult.cpp
@@ -42,15 +42,20 @@ QT_BEGIN_NAMESPACE
QPdfSearchResult::QPdfSearchResult() :
QPdfSearchResult(new QPdfSearchResultPrivate()) { }
-QPdfSearchResult::QPdfSearchResult(int page, QVector<QRectF> rects, QString context) :
- QPdfSearchResult(new QPdfSearchResultPrivate(page, rects, context)) { }
+QPdfSearchResult::QPdfSearchResult(int page, QVector<QRectF> rects, QString contextBefore, QString contextAfter) :
+ QPdfSearchResult(new QPdfSearchResultPrivate(page, rects, contextBefore, contextAfter)) { }
QPdfSearchResult::QPdfSearchResult(QPdfSearchResultPrivate *d) :
QPdfDestination(static_cast<QPdfDestinationPrivate *>(d)) { }
-QString QPdfSearchResult::context() const
+QString QPdfSearchResult::contextBefore() const
{
- return static_cast<QPdfSearchResultPrivate *>(d.data())->context;
+ return static_cast<QPdfSearchResultPrivate *>(d.data())->contextBefore;
+}
+
+QString QPdfSearchResult::contextAfter() const
+{
+ return static_cast<QPdfSearchResultPrivate *>(d.data())->contextAfter;
}
QVector<QRectF> QPdfSearchResult::rectangles() const
@@ -63,7 +68,8 @@ QDebug operator<<(QDebug dbg, const QPdfSearchResult &searchResult)
QDebugStateSaver saver(dbg);
dbg.nospace();
dbg << "QPdfSearchResult(page=" << searchResult.page()
- << " context=" << searchResult.context()
+ << " contextBefore=" << searchResult.contextBefore()
+ << " contextAfter=" << searchResult.contextAfter()
<< " rects=" << searchResult.rectangles();
dbg << ')';
return dbg;