diff options
author | Shane Kearns <shane.kearns@sosco.com> | 2009-11-11 12:49:35 (GMT) |
---|---|---|
committer | Shane Kearns <shane.kearns@sosco.com> | 2009-11-11 12:49:35 (GMT) |
commit | b6a8a81ef6b5f7a0270b958b5707da5d7e104bb7 (patch) | |
tree | 48f2edd702fa97ca84d82d49ebc6f22fdb8afef5 /examples | |
parent | a8b5418c70e0e2d3b4f9dc25c1383a78c4da8f22 (diff) | |
parent | 3a492b3bcd3898335dd36b46906a5b9cce5120f3 (diff) | |
download | Qt-b6a8a81ef6b5f7a0270b958b5707da5d7e104bb7.zip Qt-b6a8a81ef6b5f7a0270b958b5707da5d7e104bb7.tar.gz Qt-b6a8a81ef6b5f7a0270b958b5707da5d7e104bb7.tar.bz2 |
Merge commit 'origin/4.6' into 4.6
Overwrite DEF files with the ones I froze against 4.6.0 RC this morning
Conflicts:
src/s60installs/bwins/QtCoreu.def
src/s60installs/bwins/QtGuiu.def
src/s60installs/bwins/QtMultimediau.def
src/s60installs/bwins/QtScriptu.def
src/s60installs/bwins/QtWebKitu.def
src/s60installs/eabi/QtCoreu.def
src/s60installs/eabi/QtGuiu.def
src/s60installs/eabi/QtMultimediau.def
src/s60installs/eabi/QtScriptu.def
src/s60installs/eabi/QtWebKitu.def
Diffstat (limited to 'examples')
-rw-r--r-- | examples/dialogs/findfiles/window.cpp | 2 | ||||
-rw-r--r-- | examples/multitouch/pinchzoom/graphicsview.cpp | 20 | ||||
-rw-r--r-- | examples/multitouch/pinchzoom/graphicsview.h | 3 |
3 files changed, 19 insertions, 6 deletions
diff --git a/examples/dialogs/findfiles/window.cpp b/examples/dialogs/findfiles/window.cpp index f8fc00b..afe6399 100644 --- a/examples/dialogs/findfiles/window.cpp +++ b/examples/dialogs/findfiles/window.cpp @@ -243,7 +243,7 @@ void Window::openFileOfItem(int row, int /* column */) { QTableWidgetItem *item = filesTable->item(row, 0); - QDesktopServices::openUrl(currentDir.absoluteFilePath(item->text())); + QDesktopServices::openUrl(QUrl::fromLocalFile(currentDir.absoluteFilePath(item->text()))); } //! [12] diff --git a/examples/multitouch/pinchzoom/graphicsview.cpp b/examples/multitouch/pinchzoom/graphicsview.cpp index 0c79073..00e620a 100644 --- a/examples/multitouch/pinchzoom/graphicsview.cpp +++ b/examples/multitouch/pinchzoom/graphicsview.cpp @@ -45,7 +45,7 @@ #include <QTouchEvent> GraphicsView::GraphicsView(QGraphicsScene *scene, QWidget *parent) - : QGraphicsView(scene, parent) + : QGraphicsView(scene, parent), totalScaleFactor(1) { viewport()->setAttribute(Qt::WA_AcceptTouchEvents); setDragMode(ScrollHandDrag); @@ -58,14 +58,24 @@ bool GraphicsView::viewportEvent(QEvent *event) case QEvent::TouchUpdate: case QEvent::TouchEnd: { - QList<QTouchEvent::TouchPoint> touchPoints = static_cast<QTouchEvent *>(event)->touchPoints(); + QTouchEvent *touchEvent = static_cast<QTouchEvent *>(event); + QList<QTouchEvent::TouchPoint> touchPoints = touchEvent->touchPoints(); if (touchPoints.count() == 2) { // determine scale factor const QTouchEvent::TouchPoint &touchPoint0 = touchPoints.first(); const QTouchEvent::TouchPoint &touchPoint1 = touchPoints.last(); - const qreal scaleFactor = QLineF(touchPoint0.pos(), touchPoint1.pos()).length() - / QLineF(touchPoint0.startPos(), touchPoint1.startPos()).length(); - setTransform(QTransform().scale(scaleFactor, scaleFactor)); + qreal currentScaleFactor = + QLineF(touchPoint0.pos(), touchPoint1.pos()).length() + / QLineF(touchPoint0.startPos(), touchPoint1.startPos()).length(); + if (touchEvent->touchPointStates() & Qt::TouchPointReleased) { + // if one of the fingers is released, remember the current scale + // factor so that adding another finger later will continue zooming + // by adding new scale factor to the existing remembered value. + totalScaleFactor *= currentScaleFactor; + currentScaleFactor = 1; + } + setTransform(QTransform().scale(totalScaleFactor * currentScaleFactor, + totalScaleFactor * currentScaleFactor)); } return true; } diff --git a/examples/multitouch/pinchzoom/graphicsview.h b/examples/multitouch/pinchzoom/graphicsview.h index c5195cd..81a115d 100644 --- a/examples/multitouch/pinchzoom/graphicsview.h +++ b/examples/multitouch/pinchzoom/graphicsview.h @@ -50,4 +50,7 @@ public: GraphicsView(QGraphicsScene *scene = 0, QWidget *parent = 0); bool viewportEvent(QEvent *event); + +private: + qreal totalScaleFactor; }; |