void LinesEditor::printWhiteSpaces( QPainter &p ) { const int contentsY = verticalScrollBar()->value(); const qreal pageBottom = contentsY + viewport()->height(); const QFontMetrics fm = QFontMetrics( currentFont() ); for ( QTextBlock block = document()->begin(); block.isValid(); block = block.next() ) { QTextLayout* layout = block.layout(); const QRectF boundingRect = layout->boundingRect(); QPointF position = layout->position(); if ( position.y() +boundingRect.height() < contentsY ) continue; if ( position.y() > pageBottom ) break; const QString txt = block.text(); const int len = txt.length(); for ( int i=0; i