mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 02:36:34 +01:00
Merge pull request #378 from ariya/efficient-preview
More memory efficient and faster preview generation.
This commit is contained in:
commit
7e778072b6
@ -264,16 +264,21 @@ QPixmap WebTab::renderTabPreview()
|
||||
renderWidth -= verticalScrollBarWidth;
|
||||
renderHeight -= horizontalScrollBarHeight;
|
||||
|
||||
QPixmap pageImage(renderWidth, renderHeight);
|
||||
const int previewWidth = 230;
|
||||
const int previewHeight = 150;
|
||||
qreal scalingFactor = 2 * static_cast<qreal>(previewWidth) / renderWidth;
|
||||
|
||||
QPixmap pageImage(2 * previewWidth, 2 * previewHeight);
|
||||
pageImage.fill(Qt::transparent);
|
||||
|
||||
QPainter p(&pageImage);
|
||||
p.scale(scalingFactor, scalingFactor);
|
||||
m_view->page()->mainFrame()->render(&p, QWebFrame::ContentsLayer);
|
||||
p.end();
|
||||
|
||||
page->setViewportSize(oldSize);
|
||||
|
||||
return pageImage.scaled(230, 150, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
|
||||
return pageImage.scaled(previewWidth, previewHeight, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
|
||||
}
|
||||
|
||||
void WebTab::showNotification(QWidget* notif)
|
||||
|
Loading…
Reference in New Issue
Block a user