diff --git a/examples/widgets/gestures/imagegestures/imagegestures.pro b/examples/widgets/gestures/imagegestures/imagegestures.pro index 0d5b2f2..712bbec 100644 --- a/examples/widgets/gestures/imagegestures/imagegestures.pro +++ b/examples/widgets/gestures/imagegestures/imagegestures.pro @@ -10,3 +10,4 @@ SOURCES = imagewidget.cpp \ target.path = $$[QT_INSTALL_EXAMPLES]/widgets/gestures/imagegestures INSTALLS += target +CONFIG+=console diff --git a/examples/widgets/gestures/imagegestures/imagewidget.cpp b/examples/widgets/gestures/imagegestures/imagewidget.cpp index aad40af..e452329 100644 --- a/examples/widgets/gestures/imagegestures/imagewidget.cpp +++ b/examples/widgets/gestures/imagegestures/imagewidget.cpp @@ -57,9 +57,24 @@ ImageWidget::ImageWidget(QWidget *parent) setMinimumSize(QSize(100,100)); //! [enable gestures] + const QStringList args = QApplication::arguments(); grabGesture(Qt::PanGesture); - grabGesture(Qt::PinchGesture); + if (!args.contains("-p")) { + qDebug("Qt::PinchGesture"); + grabGesture(Qt::PinchGesture); + } grabGesture(Qt::SwipeGesture); + if (args.contains("-t")) { + qDebug("Qt::TapGesture"); + grabGesture(Qt::TapGesture); + } + if (args.contains("-h")) { + qDebug("Qt::TapAndHoldGesture"); + grabGesture(Qt::TapAndHoldGesture); + } + + + //! [enable gestures] } //! [constructor] @@ -103,6 +118,7 @@ void ImageWidget::mouseDoubleClickEvent(QMouseEvent *) //! [gesture event handler] bool ImageWidget::gestureEvent(QGestureEvent *event) { + qDebug() << __FUNCTION__ << event->type() << event->gestures(); if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) swipeTriggered(static_cast(swipe)); else if (QGesture *pan = event->gesture(Qt::PanGesture)) @@ -115,6 +131,7 @@ bool ImageWidget::gestureEvent(QGestureEvent *event) void ImageWidget::panTriggered(QPanGesture *gesture) { + qDebug() << __FUNCTION__ << gesture; #ifndef QT_NO_CURSOR switch (gesture->state()) { case Qt::GestureStarted: @@ -133,10 +150,12 @@ void ImageWidget::panTriggered(QPanGesture *gesture) void ImageWidget::pinchTriggered(QPinchGesture *gesture) { + qDebug() << __FUNCTION__ << gesture; QPinchGesture::ChangeFlags changeFlags = gesture->changeFlags(); if (changeFlags & QPinchGesture::RotationAngleChanged) { qreal value = gesture->property("rotationAngle").toReal(); qreal lastValue = gesture->property("lastRotationAngle").toReal(); + qDebug() << __FUNCTION__ << "ANGLE diff" << value - lastValue; rotationAngle += value - lastValue; } if (changeFlags & QPinchGesture::ScaleFactorChanged) { @@ -147,12 +166,14 @@ void ImageWidget::pinchTriggered(QPinchGesture *gesture) scaleFactor *= currentStepScaleFactor; currentStepScaleFactor = 1; } + qDebug() << __FUNCTION__ << "ANGLE" << rotationAngle << "Factor" << currentStepScaleFactor; update(); } //! [swipe function] void ImageWidget::swipeTriggered(QSwipeGesture *gesture) { + qDebug() << __FUNCTION__ << gesture; if (gesture->state() == Qt::GestureFinished) { if (gesture->horizontalDirection() == QSwipeGesture::Left || gesture->verticalDirection() == QSwipeGesture::Up) @@ -195,6 +216,9 @@ QImage ImageWidget::loadImage(const QString &fileName) qDebug() << fileName << ": corrupted image"; return QImage(); } + if (image.width() > 500) + image = image.scaled(QSize(500, 500), Qt::KeepAspectRatio); + qDebug() << __FUNCTION__ << fileName << image.size(); return image; } @@ -234,6 +258,7 @@ void ImageWidget::goPrevImage() void ImageWidget::goToImage(int index) { + qDebug() << __FUNCTION__ << index << files.size(); if (files.isEmpty()) return; diff --git a/examples/widgets/gestures/imagegestures/main.cpp b/examples/widgets/gestures/imagegestures/main.cpp index aec3214..345e13b 100644 --- a/examples/widgets/gestures/imagegestures/main.cpp +++ b/examples/widgets/gestures/imagegestures/main.cpp @@ -45,14 +45,18 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); + const QStringList args = QApplication::arguments(); + if (args.contains("-n")) { + qDebug("Qt::AA_NativeWindows"); + QApplication::setAttribute(Qt::AA_NativeWindows); + } MainWidget w; + w.move(100, 100); + w.resize(800, 800); w.show(); - if (QApplication::arguments().size() > 1) - w.openDirectory(QApplication::arguments().at(1)); - else - w.openDirectory(QFileDialog::getExistingDirectory(0, "Select image folder")); + w.openDirectory(QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).front()); return app.exec(); }