4
Copyright (c) 2005 by Heiko Schaefer <heiko@rangun.de>
6
Kopete (c) 2002-2007 by the Kopete developers <kopete-devel@kde.org>
8
**************************************************************************
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; version 2, or (at your option) version 3 *
15
**************************************************************************
22
#include <kapplication.h>
23
#include <khtml_part.h>
24
#include <khtmlview.h>
28
#include "urlpicpreviewplugin.h"
29
#include "linkpreview.h"
31
LinkPreview * LinkPreview::m_self = NULL;
33
LinkPreview::LinkPreview() : m_pic(1280, 1024), m_khtml(NULL), m_URLLoading(false) {
37
m_khtml = new KHTMLPart();
39
m_khtml->setJScriptEnabled(false);
40
m_khtml->setJavaEnabled(false);
41
m_khtml->setMetaRefreshEnabled(false);
42
m_khtml->setPluginsEnabled(false);
44
m_khtml->setStatusMessagesEnabled(false);
45
m_khtml->setProgressInfoEnabled(true);
48
LinkPreview::~LinkPreview() {
54
LinkPreview * LinkPreview::self(const URLPicPreviewPlugin * plugin) {
56
m_self = new LinkPreview();
57
connect(plugin, SIGNAL(abortAllOperations()), m_self, SLOT(completed()));
64
\fn LinkPreview::getPreviewPic(const KUrl& url)
66
QPixmap LinkPreview::getPreviewPic(const KUrl& url) {
67
QPainter painter(&m_pic);
72
connect(m_khtml, SIGNAL(completed()), this, SLOT(completed()));
73
connect(m_khtml, SIGNAL(canceled(QString)), this, SLOT(completed()));
75
if(m_khtml->openUrl(url)) {
76
kDebug(14314) << "Creating preview of " << url;
77
m_khtml->view()->resize(1280, 1024);
78
m_khtml->stopAnimations();
79
m_khtml->paint(&painter, QRect(0, 0, 1280, 1024));
82
kapp->processEvents();
86
disconnect(this, SLOT(completed()));
92
\fn LinkPreview::completed()
94
void LinkPreview::completed() {
98
#include "linkpreview.moc"