summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoopesh Chander <roop@forwardbias.in>2009-11-16 11:25:26 +0100
committerRoopesh Chander <roop@forwardbias.in>2009-11-16 11:25:26 +0100
commitc85d8aedbc271e6b4bb811d93d9c2b1d2cdd987c (patch)
tree4da4d7aeb818c7ec8fb778721b751abba81e042d
parent878022420d356fbb6c6c30b7e88f40a2183a03ef (diff)
looks like it's the big webview who's the bottle neck. lets cache him during the animation.
-rw-r--r--mainwindow.cpp4
-rw-r--r--webview.cpp8
-rw-r--r--webview.h2
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);