From c85d8aedbc271e6b4bb811d93d9c2b1d2cdd987c Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Mon, 16 Nov 2009 11:25:26 +0100 Subject: looks like it's the big webview who's the bottle neck. lets cache him during the animation. --- mainwindow.cpp | 4 ++-- webview.cpp | 8 ++++++++ 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); +} diff --git a/webview.h b/webview.h index 756ac1a..8d4b3fd 100644 --- a/webview.h +++ b/webview.h @@ -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); -- cgit v1.2.3