//
// C++ Implementation: remoteimagesourcedocument
//
// Description: 
//
//
// Author: Ian Reinhart Geiser <igeiser@devonit.com>, (C) 2008
//
// Copyright: See COPYING file that comes with this distribution
//
//
#include "remoteimagesourcedocument.h"
#include "urlfetch.h"
#include "textutils.h"

#include <QVariant>
#include <QImage>

RemoteImageSourceDocument::RemoteImageSourceDocument(QObject *parent)
 : QTextDocument(parent)
{
}


RemoteImageSourceDocument::~RemoteImageSourceDocument()
{
}

void RemoteImageSourceDocument::loadImages(const QString & html, const QString & baseUrl)
{
	foreach( QString image, TextUtils::imageUrls( html ) )
	{
		qDebug("Try to load %s", qPrintable( image ) );
		
		QByteArray imageBlob = URLFetch::fetch( image, baseUrl );
		
		if( !imageBlob.isEmpty() )
		{
			QImage imageFile = QImage::fromData( imageBlob );
			addResource(QTextDocument::ImageResource, QUrl(image), QVariant(imageFile));
		}
		else
			qDebug("Failed to load %s", qPrintable( image ) );
	}
}




