[poppler] qt4/src
Albert Astals Cid
aacid at kemper.freedesktop.org
Mon Mar 22 13:29:59 PDT 2010
qt4/src/poppler-page.cc | 22 +++++++++++++++-------
qt4/src/poppler-qt4.h | 16 ++++++++++++++--
2 files changed, 29 insertions(+), 9 deletions(-)
New commits:
commit 92738ebb8a9c7cfc879aae59c2cbdf3159f03cd3
Author: Albert Astals Cid <aacid at kde.org>
Date: Mon Mar 22 20:28:15 2010 +0000
Add a search overload that takes doubles
QRectF is evil and is float in some arch and causes search to loop
infinitely because of double->float conversion
diff --git a/qt4/src/poppler-page.cc b/qt4/src/poppler-page.cc
index 5a90a4b..4a3690a 100644
--- a/qt4/src/poppler-page.cc
+++ b/qt4/src/poppler-page.cc
@@ -1,7 +1,7 @@
/* poppler-page.cc: qt interface to poppler
* Copyright (C) 2005, Net Integration Technologies, Inc.
* Copyright (C) 2005, Brad Hards <bradh at frogmouth.net>
- * Copyright (C) 2005-2009, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2005-2010, Albert Astals Cid <aacid at kde.org>
* Copyright (C) 2005, Stefan Kebekus <stefan.kebekus at math.uni-koeln.de>
* Copyright (C) 2006-2009, Pino Toscano <pino at kde.org>
* Copyright (C) 2008 Carlos Garcia Campos <carlosgc at gnome.org>
@@ -319,7 +319,7 @@ QString Page::text(const QRectF &r) const
return result;
}
-bool Page::search(const QString &text, QRectF &rect, SearchDirection direction, SearchMode caseSensitive, Rotation rotate) const
+bool Page::search(const QString &text, double &sLeft, double &sTop, double &sRight, double &sBottom, SearchDirection direction, SearchMode caseSensitive, Rotation rotate) const
{
const QChar * str = text.unicode();
int len = text.length();
@@ -331,11 +331,6 @@ bool Page::search(const QString &text, QRectF &rect, SearchDirection direction,
else sCase = gFalse;
bool found = false;
- double sLeft, sTop, sRight, sBottom;
- sLeft = rect.left();
- sTop = rect.top();
- sRight = rect.right();
- sBottom = rect.bottom();
int rotation = (int)rotate * 90;
@@ -356,6 +351,19 @@ bool Page::search(const QString &text, QRectF &rect, SearchDirection direction,
textPage->decRefCnt();
+ return found;
+}
+
+bool Page::search(const QString &text, QRectF &rect, SearchDirection direction, SearchMode caseSensitive, Rotation rotate) const
+{
+ double sLeft, sTop, sRight, sBottom;
+ sLeft = rect.left();
+ sTop = rect.top();
+ sRight = rect.right();
+ sBottom = rect.bottom();
+
+ bool found = search(text, sLeft, sTop, sRight, sBottom, direction, caseSensitive, rotate);
+
rect.setLeft( sLeft );
rect.setTop( sTop );
rect.setRight( sRight );
diff --git a/qt4/src/poppler-qt4.h b/qt4/src/poppler-qt4.h
index 2f5521f..117dc43 100644
--- a/qt4/src/poppler-qt4.h
+++ b/qt4/src/poppler-qt4.h
@@ -1,7 +1,7 @@
/* poppler-qt.h: qt interface to poppler
* Copyright (C) 2005, Net Integration Technologies, Inc.
* Copyright (C) 2005, 2007, Brad Hards <bradh at frogmouth.net>
- * Copyright (C) 2005-2009, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2005-2010, Albert Astals Cid <aacid at kde.org>
* Copyright (C) 2005, Stefan Kebekus <stefan.kebekus at math.uni-koeln.de>
* Copyright (C) 2006-2009, Pino Toscano <pino at kde.org>
* Copyright (C) 2009 Shawn Rutledge <shawn.t.rutledge at gmail.com>
@@ -472,8 +472,20 @@ delete it;
\param caseSensitive be case sensitive?
\param rotate the rotation to apply for the search order
**/
- bool search(const QString &text, QRectF &rect, SearchDirection direction, SearchMode caseSensitive, Rotation rotate = Rotate0) const;
+ Q_DECL_DEPRECATED bool search(const QString &text, QRectF &rect, SearchDirection direction, SearchMode caseSensitive, Rotation rotate = Rotate0) const;
+ /**
+ Returns true if the specified text was found.
+
+ \param text the text the search
+ \param rectXXX in all directions is used to return where the text was found, for NextResult and PreviousResult
+ indicates where to continue searching for
+ \param direction in which direction do the search
+ \param caseSensitive be case sensitive?
+ \param rotate the rotation to apply for the search order
+ \since 0.14
+ **/
+ bool search(const QString &text, double &rectLeft, double &rectTop, double &rectRight, double &rectBottom, SearchDirection direction, SearchMode caseSensitive, Rotation rotate = Rotate0) const;
/**
Returns a list of text of the page
More information about the poppler
mailing list