From 65385989ddf7850634e0f43148c5fcc42a5bf62f Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Wed, 21 Oct 2009 11:18:54 +0200 Subject: Me stupid.. fixing tab previews! --- src/websnap.cpp | 19 +++++++++++-------- src/websnap.h | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/websnap.cpp b/src/websnap.cpp index 5727bc6f..bb2baf49 100644 --- a/src/websnap.cpp +++ b/src/websnap.cpp @@ -74,7 +74,7 @@ void WebSnap::load() } -QPixmap WebSnap::renderPreview(const QWebPage &page,int w, int h) +QPixmap WebSnap::renderPreview(const QWebPage &page,int w, int h, bool border) { // prepare page page.mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff); // Why it doesn't work with one setScrollBarPolicy? @@ -105,6 +105,15 @@ QPixmap WebSnap::renderPreview(const QWebPage &page,int w, int h) p.end(); pageImage = pageImage.scaled(w, h, Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation); + // restore page settings + page.mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAsNeeded); + page.mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAsNeeded); + page.mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAsNeeded); + page.mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAsNeeded); + + if(!border) + return QPixmap::fromImage(pageImage); + // background image QSize fixedSize(w + 30, h + 26); QImage backImage = QImage(fixedSize, QImage::Format_ARGB32_Premultiplied); @@ -126,12 +135,6 @@ QPixmap WebSnap::renderPreview(const QWebPage &page,int w, int h) pt.fillRect(resultImage.rect(), Qt::transparent); pt.end(); - // restore page settings - page.mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAsNeeded); - page.mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAsNeeded); - page.mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAsNeeded); - page.mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAsNeeded); - return QPixmap::fromImage(resultImage); } @@ -145,7 +148,7 @@ void WebSnap::saveResult(bool ok) return; } - m_image = renderPreview(m_page, WIDTH, HEIGHT); + m_image = renderPreview(m_page, WIDTH, HEIGHT, true); emit finished(); } diff --git a/src/websnap.h b/src/websnap.h index 6c5b4af9..026c236c 100644 --- a/src/websnap.h +++ b/src/websnap.h @@ -52,7 +52,7 @@ public: ~WebSnap(); QPixmap previewImage(); - static QPixmap renderPreview(const QWebPage &page, int w, int h); + static QPixmap renderPreview(const QWebPage &page, int w, int h, bool border = false); QString snapTitle(); QUrl snapUrl(); -- cgit v1.2.1