[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.0/kdelibs/khtml
From: Maks Orlovich <maksim () kde ! org>
Date: 2008-04-09 2:16:54
Message-ID: 1207707414.435286.27319.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 794973 by orlovich:
Make searching within textareas work again. Seems like we used to attach their
kids back in the days?
BUG: 160490
M +15 -31 khtml_part.cpp
--- branches/KDE/4.0/kdelibs/khtml/khtml_part.cpp #794972:794973
@@ -3015,7 +3015,6 @@
KFind::Result res = KFind::NoMatch;
khtml::RenderObject* obj = d->m_findNode ? d->m_findNode->renderer() : 0;
khtml::RenderObject* end = d->m_findNodeEnd ? d->m_findNodeEnd->renderer() : 0;
- khtml::RenderTextArea *tmpTextArea=0L;
//kDebug(6050) << "obj=" << obj << " end=" << end;
while( res == KFind::NoMatch )
{
@@ -3038,16 +3037,12 @@
{
// Grab text from render object
QString s;
- bool renderAreaText = obj->parent() && \
(QByteArray(obj->parent()->renderName())== "RenderTextArea");
- bool renderLineText = (QByteArray(obj->renderName())== "RenderLineEdit");
- if ( renderAreaText )
+ if ( obj->renderName() == QLatin1String("RenderTextArea") )
{
- khtml::RenderTextArea *parent= static_cast<khtml::RenderTextArea \
*>(obj->parent());
- s = parent->text();
+ s = static_cast<khtml::RenderTextArea *>(obj)->text();
s = s.replace(0xa0, ' ');
- tmpTextArea = parent;
}
- else if ( renderLineText )
+ else if ( obj->renderName() == QLatin1String("RenderLineEdit") )
{
khtml::RenderLineEdit *parentLine= static_cast<khtml::RenderLineEdit \
*>(obj); if (parentLine->widget()->echoMode() == QLineEdit::Normal)
@@ -3077,7 +3072,7 @@
isLink = true;
}
- if ( isLink && obj->parent()!=tmpTextArea )
+ if ( isLink )
{
s = static_cast<khtml::RenderText *>(obj)->data().string();
s = s.replace(0xa0, ' ');
@@ -3190,25 +3185,20 @@
d->m_startOffset = index - (*prev).index;
khtml::RenderObject* obj = node->renderer();
- khtml::RenderTextArea *parent = 0L;
- khtml::RenderLineEdit *parentLine = 0L;
- bool renderLineText =false;
+ khtml::RenderTextArea *renderTextArea = 0L;
+ khtml::RenderLineEdit *renderLineEdit = 0L;
QRect highlightedRect;
- bool renderAreaText =false;
Q_ASSERT( obj );
if ( obj )
{
int x = 0, y = 0;
- renderAreaText = (QByteArray(obj->parent()->renderName())== "RenderTextArea");
- renderLineText = (QByteArray(obj->renderName())== "RenderLineEdit");
-
- if( renderAreaText )
- parent= static_cast<khtml::RenderTextArea *>(obj->parent());
- if ( renderLineText )
- parentLine= static_cast<khtml::RenderLineEdit *>(obj);
- if ( !renderLineText )
+ if ( obj->renderName() == QLatin1String("RenderTextArea") )
+ renderTextArea = static_cast<khtml::RenderTextArea *>(obj);
+ if ( obj->renderName() == QLatin1String("RenderLineEdit") )
+ renderLineEdit = static_cast<khtml::RenderLineEdit *>(obj);
+ if ( !renderLineEdit && !renderTextArea )
//if (static_cast<khtml::RenderText *>(node->renderer())
// ->posOfChar(d->m_startOffset, x, y))
{
@@ -3272,16 +3262,10 @@
for ( ; it != d->m_stringPortions.end() ; ++it )
kDebug(6050) << " StringPortion: from index=" << (*it).index << " -> node=" << \
(*it).node; #endif
- if( renderAreaText )
- {
- if( parent )
- parent->highLightWord( length, d->m_endOffset-length );
- }
- else if ( renderLineText )
- {
- if( parentLine )
- parentLine->highLightWord( length, d->m_endOffset-length );
- }
+ if ( renderTextArea )
+ renderTextArea->highLightWord( length, d->m_endOffset-length );
+ else if ( renderLineEdit )
+ renderLineEdit->highLightWord( length, d->m_endOffset-length );
else
{
d->m_doc->setSelection( d->m_selectionStart.handle(), d->m_startOffset,
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic