diff options
author | Michal Guminiak <michal.guminiak@teleca.com> | 2010-04-12 15:25:48 +0200 |
---|---|---|
committer | Daniel d'Andrada <daniel.dandrada@nokia.com> | 2010-04-13 10:09:19 +0300 |
commit | 528a869de77fdfa1453b1dee3599981572a799e6 (patch) | |
tree | 8a233b748b33b0c02607326e32fb9b230ef72be7 /demos/widgetsgallery/imagepage.cpp | |
parent | 08fb2460f54766b6e119e51faa1068339949aa01 (diff) |
New: Pinching in the widgetsgallery image page
RevBy: Daniel d'Andrada
Details: Image page in widgetsgallery will now support pinching.
Diffstat (limited to 'demos/widgetsgallery/imagepage.cpp')
-rw-r--r-- | demos/widgetsgallery/imagepage.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/demos/widgetsgallery/imagepage.cpp b/demos/widgetsgallery/imagepage.cpp index f39965d7..05af36d2 100644 --- a/demos/widgetsgallery/imagepage.cpp +++ b/demos/widgetsgallery/imagepage.cpp @@ -31,6 +31,8 @@ #include <MLinearLayoutPolicy> #include <MDebug> #include <QGraphicsGridLayout> +#include <QPinchGesture> +#include <QGestureEvent> #include "utils.h" @@ -48,6 +50,9 @@ ImagePage::ImagePage() : sliderValues[ImageZoom] = 10; sliderValues[ImageTransparency] = 0; sliderValues[ImageCrop] = 0; + + setAcceptTouchEvents(true); + grabGesture(Qt::PinchGesture); } ImagePage::~ImagePage() @@ -142,7 +147,8 @@ void ImagePage::retranslateUi() //% "Image allows the placement of images onto the UI. " //% "Images are generally non-interactive elements. " //% "Various single and multiple touch interactions can be added to an " - //% "Image component if desired." + //% "Image component if desired. As an example, pinch gesture can be " + //% "used in this page to zoom the image." infoLabel->setText("<a></a>" + qtTrId("xx_image_page_info")); } @@ -203,3 +209,15 @@ void ImagePage::setImageCrop(float width, float height) // FIXME: why is this needed ? image->update(); } + +void ImagePage::pinchGestureEvent(QGestureEvent *event, QPinchGesture *gesture) +{ + if (gesture->state() == Qt::GestureStarted) { + propertiesComboBox->setCurrentIndex(0); + } + + slider->setValue(gesture->totalScaleFactor()/2); + + event->accept(gesture); + +} |