summaryrefslogtreecommitdiffstats
path: root/webscrap.cpp
diff options
context:
space:
mode:
authorRoopesh Chander <roop@forwardbias.in>2009-11-03 16:14:12 +0530
committerRoopesh Chander <roop@forwardbias.in>2009-11-03 16:14:12 +0530
commit8cbde3b472a43566f8ea0cb253753381a322edfb (patch)
treee89a17b71052b1d10ccfdf7829817543d172040c /webscrap.cpp
parent5612b1a18303f7fe81e61e64ae544d48c8b2b43b (diff)
try an alternative search strategy. works like a charm. :)
Diffstat (limited to 'webscrap.cpp')
-rw-r--r--webscrap.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/webscrap.cpp b/webscrap.cpp
index cefe508..f551e71 100644
--- a/webscrap.cpp
+++ b/webscrap.cpp
@@ -162,14 +162,12 @@ bool WebScrap::highlightText(const QString& text) {
if (text.isEmpty())
return false;
if (page()->findText(text, QWebPage::HighlightAllOccurrences)) {
- QWebElement hitResult = page()->mainFrame()->hitTestContent(m_scrapRect.center()).element();
- QWebElement containedHitResult = hitResult;
- while (m_scrapRect.contains(hitResult.geometry())) {
- containedHitResult = hitResult;
- hitResult = hitResult.parent();
+ foreach (QWebElement element, page()->mainFrame()->findAllElements("*")) {
+ if (element.firstChild().isNull()
+ && element.geometry().intersects(m_scrapRect)
+ && element.toPlainText().contains(text, Qt::CaseInsensitive))
+ return true;
}
- if (containedHitResult.toPlainText().contains(text, Qt::CaseInsensitive))
- return true;
}
if ((url().host() + url().path()).contains(text, Qt::CaseInsensitive))
return true;