diff options
author | Roopesh Chander <roop@forwardbias.in> | 2009-11-16 11:25:26 +0100 |
---|---|---|
committer | Roopesh Chander <roop@forwardbias.in> | 2009-11-16 11:25:26 +0100 |
commit | c85d8aedbc271e6b4bb811d93d9c2b1d2cdd987c (patch) | |
tree | 4da4d7aeb818c7ec8fb778721b751abba81e042d | |
parent | 878022420d356fbb6c6c30b7e88f40a2183a03ef (diff) |
looks like it's the big webview who's the bottle neck. lets cache him during the animation.
-rw-r--r-- | mainwindow.cpp | 4 | ||||
-rw-r--r-- | webview.cpp | 8 | ||||
-rw-r--r-- | webview.h | 2 |
3 files changed, 12 insertions, 2 deletions
diff --git a/mainwindow.cpp b/mainwindow.cpp index de98a56..3d2fccf 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -53,9 +53,9 @@ MainWindow::MainWindow(QWidget *parent) transitionToBrowser->addAnimation(m_scrapsToBrowserAnimation); transitionToScraps->addAnimation(m_browserToScrapsAnimation); transitionToScraps2->addAnimation(m_browserToScrapsAnimation); - connect(browseWeb, SIGNAL(entered()), m_webView, SLOT(show())); connect(browseWeb, SIGNAL(entered()), SLOT(disableScrapSelection())); - connect(m_browserToScrapsAnimation, SIGNAL(finished()), m_webView, SLOT(hide())); + connect(browseWeb, SIGNAL(entered()), m_webView, SLOT(enableCachedMode())); + connect(m_browserToScrapsAnimation, SIGNAL(finished()), m_webView, SLOT(disableCachedMode())); connect(browseWeb, SIGNAL(entered()), SLOT(showBrowserToolbar())); connect(seeScraps, SIGNAL(entered()), SLOT(showScrapsToolbar())); diff --git a/webview.cpp b/webview.cpp index 7fbc411..7d8daa6 100644 --- a/webview.cpp +++ b/webview.cpp @@ -223,3 +223,11 @@ void WebView::show() { void WebView::hide() { QGraphicsWebView::hide(); } + +void WebView::enableCachedMode() { + setCacheMode(QGraphicsItem::DeviceCoordinateCache, QSize(1000, 1000)); +} + +void WebView::disableCachedMode() { + setCacheMode(QGraphicsItem::NoCache); +} @@ -29,6 +29,8 @@ public slots: void hide(); void setScrapRect(QRect rect); void setScrolledScrapRect(QRectF rect); + void enableCachedMode(); + void disableCachedMode(); signals: void scrapAdded(QUrl url, QSize pageSize, QRect scrapRect, QPoint position); |