aboutsummaryrefslogtreecommitdiff
path: root/demos/widgetsgallery/imagepage.cpp
diff options
context:
space:
mode:
authorMichal Guminiak <michal.guminiak@teleca.com>2010-04-12 15:25:48 +0200
committerDaniel d'Andrada <daniel.dandrada@nokia.com>2010-04-13 10:09:19 +0300
commit528a869de77fdfa1453b1dee3599981572a799e6 (patch)
tree8a233b748b33b0c02607326e32fb9b230ef72be7 /demos/widgetsgallery/imagepage.cpp
parent08fb2460f54766b6e119e51faa1068339949aa01 (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.cpp20
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);
+
+}