diff options
author | Roopesh Chander <roop@forwardbias.in> | 2009-11-03 16:14:12 +0530 |
---|---|---|
committer | Roopesh Chander <roop@forwardbias.in> | 2009-11-03 16:14:12 +0530 |
commit | 8cbde3b472a43566f8ea0cb253753381a322edfb (patch) | |
tree | e89a17b71052b1d10ccfdf7829817543d172040c /webscrap.cpp | |
parent | 5612b1a18303f7fe81e61e64ae544d48c8b2b43b (diff) |
try an alternative search strategy. works like a charm. :)
Diffstat (limited to 'webscrap.cpp')
-rw-r--r-- | webscrap.cpp | 12 |
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; |