-rw-r--r-- | noncore/apps/opie-write/qrichtext.cpp | 72 |
1 files changed, 23 insertions, 49 deletions
diff --git a/noncore/apps/opie-write/qrichtext.cpp b/noncore/apps/opie-write/qrichtext.cpp index 768da44..b457cd6 100644 --- a/noncore/apps/opie-write/qrichtext.cpp +++ b/noncore/apps/opie-write/qrichtext.cpp @@ -189,12 +189,9 @@ QTextDeleteCommand::~QTextDeleteCommand() QTextCursor *QTextDeleteCommand::execute( QTextCursor *c ) { QTextParagraph *s = doc ? doc->paragAt( id ) : parag; - if ( !s && doc ) { + if ( !s ) { owarn << "can't locate parag at " << id << ", last parag: " << doc->lastParagraph()->paragId() << "" << oendl; return 0; - } else if ( !doc ) { - owarn << "No valid doc" << oendl; - return 0; } cursor.setParagraph( s ); @@ -220,12 +217,9 @@ QTextCursor *QTextDeleteCommand::execute( QTextCursor *c ) QTextCursor *QTextDeleteCommand::unexecute( QTextCursor *c ) { QTextParagraph *s = doc ? doc->paragAt( id ) : parag; - if ( !s && doc ) { + if ( !s ) { owarn << "can't locate parag at " << id << ", last parag: " << doc->lastParagraph()->paragId() << "" << oendl; return 0; - } else if ( !doc ) { - owarn << "No valid doc" << oendl; - return 0; } cursor.setParagraph( s ); @@ -239,9 +233,6 @@ QTextCursor *QTextDeleteCommand::unexecute( QTextCursor *c ) c->setIndex( index ); for ( int i = 0; i < (int)text.size(); ++i ) c->gotoNextLetter(); - } else { - owarn << "No valid cursor" << oendl; - return 0; } if ( !styleInformation.isEmpty() ) { @@ -1401,35 +1392,24 @@ struct Q_EXPORT QTextDocumentTag { }; -#define NEWPAR do { \ - if ( !hasNewPar) { \ - if ( !curpar ) { \ - owarn << "no current paragraph" << oendl; \ - return; \ - } \ - if ( !textEditMode && curpar && curpar->length()>1 && curpar->at( curpar->length()-2)->c == QChar_linesep ) \ - curpar->remove( curpar->length()-2, 1 ); \ - curpar = createParagraph( this, curpar, curpar->next() ); styles.append( vec ); \ - if ( !curpar ) { \ - owarn << "failed in creating a new paragraph" << oendl; \ - return; \ - } \ - vec = 0; \ - } \ - hasNewPar = TRUE; \ - curpar->rtext = TRUE; \ - curpar->align = curtag.alignment; \ - curpar->lstyle = curtag.liststyle; \ - curpar->litem = ( curtag.style->displayMode() == QStyleSheetItem::DisplayListItem ); \ - curpar->str->setDirection( (QChar::Direction)curtag.direction ); \ - space = TRUE; \ - delete vec; \ - vec = new QPtrVector<QStyleSheetItem>( (uint)tags.count() + 1); \ - int i = 0; \ - for ( QValueStack<QTextDocumentTag>::Iterator it = tags.begin(); it != tags.end(); ++it ) \ - vec->insert( i++, (*it).style ); \ - vec->insert( i, curtag.style ); \ - } while ( FALSE ) +#define NEWPAR do{ if ( !hasNewPar) { \ + if ( !textEditMode && curpar && curpar->length()>1 && curpar->at( curpar->length()-2)->c == QChar_linesep ) \ + curpar->remove( curpar->length()-2, 1 ); \ + curpar = createParagraph( this, curpar, curpar->next() ); styles.append( vec ); vec = 0;} \ + hasNewPar = TRUE; \ + curpar->rtext = TRUE; \ + curpar->align = curtag.alignment; \ + curpar->lstyle = curtag.liststyle; \ + curpar->litem = ( curtag.style->displayMode() == QStyleSheetItem::DisplayListItem ); \ + curpar->str->setDirection( (QChar::Direction)curtag.direction ); \ + space = TRUE; \ + delete vec; vec = new QPtrVector<QStyleSheetItem>( (uint)tags.count() + 1); \ + int i = 0; \ + for ( QValueStack<QTextDocumentTag>::Iterator it = tags.begin(); it != tags.end(); ++it ) \ + vec->insert( i++, (*it).style ); \ + vec->insert( i, curtag.style ); \ + }while(FALSE) + void QTextDocument::setRichText( const QString &text, const QString &context ) { @@ -1915,11 +1895,8 @@ void QTextDocument::setRichTextMarginsInternal( QPtrList< QPtrVector<QStyleSheet } int i, mar; - QStyleSheetItem* mainStyle = (*curStyle)[curStyle->size()-1]; - if ( !mainStyle ) - return; - - if ( mainStyle->displayMode() == QStyleSheetItem::DisplayListItem ) + QStyleSheetItem* mainStyle = curStyle->size() ? (*curStyle)[curStyle->size()-1] : 0; + if ( mainStyle && mainStyle->displayMode() == QStyleSheetItem::DisplayListItem ) stylesPar->setListItem( TRUE ); int numLists = 0; for ( i = 0; i < (int)curStyle->size(); ++i ) { @@ -3070,15 +3047,12 @@ QTextParagraph *QTextDocument::draw( QPainter *p, int cx, int cy, int cw, int ch QPixmap *doubleBuffer = 0; QPainter painter; - bool fullWidthSelection = FALSE; while ( parag ) { lastFormatted = parag; if ( !parag->isValid() ) parag->format(); QRect pr = parag->rect(); - if ( fullWidthSelection ) - pr.setWidth( parag->document()->width() ); if ( pr.y() > cy + ch ) goto floating; if ( !pr.intersects( QRect( cx, cy, cw, ch ) ) || ( onlyChanged && !parag->hasChanged() ) ) { @@ -5364,7 +5338,7 @@ int QTextFormatterBreakWords::format( QTextDocument *doc, QTextParagraph *parag, if ( c ) lastChr = c->c; // ### next line should not be needed - if ( c && painter ) + if ( painter ) c->format()->setPainter( painter ); c = &string->at( i ); c->rightToLeft = FALSE; |