diff options
| -rw-r--r-- | src/websnap.cpp | 19 | ||||
| -rw-r--r-- | 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(); | 
