summaryrefslogtreecommitdiff
path: root/src/websnap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/websnap.cpp')
-rw-r--r--src/websnap.cpp60
1 files changed, 30 insertions, 30 deletions
diff --git a/src/websnap.cpp b/src/websnap.cpp
index af52b592..6923e5d8 100644
--- a/src/websnap.cpp
+++ b/src/websnap.cpp
@@ -12,9 +12,9 @@
* published by the Free Software Foundation; either version 2 of
* the License or (at your option) version 3 or any later version
* accepted by the membership of KDE e.V. (or its successor approved
-* by the membership of KDE e.V.), which shall act as a proxy
+* by the membership of KDE e.V.), which shall act as a proxy
* defined in Section 14 of version 3 of the license.
-*
+*
* This program 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
@@ -47,54 +47,54 @@
WebSnap::WebSnap(const KUrl& url, QObject *parent)
- : QObject(parent)
- , m_url(url)
+ : QObject(parent)
+ , m_url(url)
{
// this to not register websnap history
m_page.settings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);
-
+
// this to not let this page open other windows
m_page.settings()->setAttribute(QWebSettings::PluginsEnabled, false);
m_page.settings()->setAttribute(QWebSettings::JavascriptEnabled, false);
connect(&m_page, SIGNAL(loadFinished(bool)), this, SLOT(saveResult(bool)));
-
+
QTimer::singleShot(0, this, SLOT(load()));
}
-
+
void WebSnap::load()
{
m_page.mainFrame()->load(m_url);
}
-// NOTE please, be careful modifying this.
+// NOTE please, be careful modifying this.
// You are playing with fire..
QPixmap WebSnap::renderPreview(const QWebPage &page, int w, int h)
{
// NOTE
// it seems no way to enable/disable scrollbars in new QtWebKit's
// and this is affecting tabbed browsing
-
+
// prepare page
QSize oldSize = page.viewportSize();
// page.mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff);
// page.mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff);
-
+
// find the best size
QSize size;
int width = page.mainFrame()->contentsSize().width();
- if (width < 640)
+ if (width < 640)
{
width = 640;
}
- size = QSize(width,width*((0.0+h)/w));
+ size = QSize(width, width * ((0.0 + h) / w));
page.setViewportSize(size);
-
+
// create the page image
QImage pageImage = QImage(size, QImage::Format_ARGB32_Premultiplied);
pageImage.fill(Qt::transparent);
-
+
// render it
QPainter p(&pageImage);
page.mainFrame()->render(&p);
@@ -105,24 +105,24 @@ QPixmap WebSnap::renderPreview(const QWebPage &page, int w, int h)
// page.mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAsNeeded);
// page.mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAsNeeded);
page.setViewportSize(oldSize);
-
+
QPixmap pm = QPixmap::fromImage(pageImage);
- KUrl url( page.mainFrame()->url() );
+ KUrl url(page.mainFrame()->url());
kDebug() << "saving preview";
-
+
QString path = imagePathFromUrl(url);
- QFile::remove( path );
- pm.save( path );
-
+ QFile::remove(path);
+ pm.save(path);
+
return pm;
}
QString WebSnap::imagePathFromUrl(const KUrl &url)
{
- QUrl temp = QUrl( url.url() );
- QString name = temp.toString( QUrl::RemoveScheme | QUrl::RemoveUserInfo | QUrl::StripTrailingSlash );
-
+ QUrl temp = QUrl(url.url());
+ QString name = temp.toString(QUrl::RemoveScheme | QUrl::RemoveUserInfo | QUrl::StripTrailingSlash);
+
// TODO learn Regular Expressions :)
// and implement something better here..
name.remove('/');
@@ -133,29 +133,29 @@ QString WebSnap::imagePathFromUrl(const KUrl &url)
name.remove('?');
name.remove('=');
name.remove('+');
-
+
return KStandardDirs::locateLocal("cache", QString("thumbs/") + name + ".png", true);
}
void WebSnap::saveResult(bool ok)
{
- if (ok)
+ if (ok)
{
QPixmap image = renderPreview(m_page, WIDTH, HEIGHT);
- QString path = imagePathFromUrl( m_url);
- QFile::remove( path );
- image.save( path );
+ QString path = imagePathFromUrl(m_url);
+ QFile::remove(path);
+ image.save(path);
}
emit snapDone(ok);
kDebug() << "SAVE RESULTS: " << ok << " URL: " << m_url;
-
+
this->deleteLater();
}
bool WebSnap::existsImage(const KUrl &u)
{
- return QFile::exists( imagePathFromUrl(u) );
+ return QFile::exists(imagePathFromUrl(u));
}