/* This file is part of libkdepim. Copyright (c) 2004 Tobias Koenig This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "htmldiffalgodisplay.h" #include #include using namespace KPIM; static QString textToHTML( const QString &text ) { return Qt::convertFromPlainText( text ); } HTMLDiffAlgoDisplay::HTMLDiffAlgoDisplay( QWidget *parent ) : KTextBrowser( parent ) { setWordWrapMode( QTextOption::WrapAtWordBoundaryOrAnywhere ); setHorizontalScrollBarPolicy ( Qt::ScrollBarAlwaysOff ); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff ); } void HTMLDiffAlgoDisplay::begin() { clear(); mText.clear(); mText.append( QLatin1String("") ); mText.append( QString::fromLatin1( "" ) .arg( KColorScheme( QPalette::Active, KColorScheme::View ).foreground().color().name() ) .arg( KColorScheme( QPalette::Active, KColorScheme::View ).background().color().name() ) ); mText.append( QLatin1String("
") ); mText.append( QString::fromLatin1( "" ) .arg( mLeftTitle ) .arg( mRightTitle ) ); } void HTMLDiffAlgoDisplay::end() { mText.append( QLatin1String("
%1 %2
" "" "") ); setHtml( mText ); } void HTMLDiffAlgoDisplay::setLeftSourceTitle( const QString &title ) { mLeftTitle = title; } void HTMLDiffAlgoDisplay::setRightSourceTitle( const QString &title ) { mRightTitle = title; } void HTMLDiffAlgoDisplay::additionalLeftField( const QString &id, const QString &value ) { mText.append( QString::fromLatin1( "%1:%2" ) .arg( id ) .arg( textToHTML( value ) ) ); } void HTMLDiffAlgoDisplay::additionalRightField( const QString &id, const QString &value ) { mText.append( QString::fromLatin1( "%1:%2" ) .arg( id ) .arg( textToHTML( value ) ) ); } void HTMLDiffAlgoDisplay::conflictField( const QString &id, const QString &leftValue, const QString &rightValue ) { mText.append( QString::fromLatin1( "%1:%2%3" ) .arg( id ) .arg( textToHTML( leftValue ) ) .arg( textToHTML( rightValue ) ) ); }