diff --git a/examples/widgets/doc/images/imagegestures-example.jpg b/examples/widgets/doc/images/imagegestures-example.jpg deleted file mode 100644 index c8484b4a719..00000000000 Binary files a/examples/widgets/doc/images/imagegestures-example.jpg and /dev/null differ diff --git a/examples/widgets/doc/images/imagegestures-example.png b/examples/widgets/doc/images/imagegestures-example.png new file mode 100644 index 00000000000..c83b71574f7 Binary files /dev/null and b/examples/widgets/doc/images/imagegestures-example.png differ diff --git a/examples/widgets/gestures/imagegestures/doc/src/imagegestures.qdoc b/examples/widgets/gestures/imagegestures/doc/src/imagegestures.qdoc index 878da3f8aad..46053566ab9 100644 --- a/examples/widgets/gestures/imagegestures/doc/src/imagegestures.qdoc +++ b/examples/widgets/gestures/imagegestures/doc/src/imagegestures.qdoc @@ -10,7 +10,7 @@ This example shows how to enable gestures for a widget and use gesture input to perform actions. - \image imagegestures-example.jpg + \image imagegestures-example.png We use two classes to create the user interface for the application: \c MainWidget and \c ImageWidget. The \c MainWidget class is simply used as a container for the diff --git a/examples/widgets/gestures/imagegestures/imagewidget.cpp b/examples/widgets/gestures/imagegestures/imagewidget.cpp index 3ee72392fd7..189281cc115 100644 --- a/examples/widgets/gestures/imagegestures/imagewidget.cpp +++ b/examples/widgets/gestures/imagegestures/imagewidget.cpp @@ -41,6 +41,12 @@ void ImageWidget::paintEvent(QPaintEvent*) { QPainter p(this); + if (files.isEmpty() && !path.isEmpty()) { + p.drawText(rect(), Qt::AlignCenter|Qt::TextWordWrap, + tr("No supported image formats found")); + return; + } + const qreal iw = currentImage.width(); const qreal ih = currentImage.height(); const qreal wh = height(); @@ -144,11 +150,15 @@ void ImageWidget::resizeEvent(QResizeEvent*) update(); } -void ImageWidget::openDirectory(const QString &path) +void ImageWidget::openDirectory(const QString &url) { - this->path = path; + path = url; QDir dir(path); - const QStringList nameFilters{"*.jpg", "*.png"}; + + QStringList nameFilters; + const QList supportedFormats = QImageReader::supportedImageFormats(); + for (const QByteArray &format : supportedFormats) + nameFilters.append(QLatin1String("*.") + QString::fromLatin1(format)); files = dir.entryInfoList(nameFilters, QDir::Files|QDir::Readable, QDir::Name); position = 0; diff --git a/examples/widgets/gestures/imagegestures/imagewidget.h b/examples/widgets/gestures/imagegestures/imagewidget.h index b5bbc9ef0f9..1f4010baacc 100644 --- a/examples/widgets/gestures/imagegestures/imagewidget.h +++ b/examples/widgets/gestures/imagegestures/imagewidget.h @@ -25,7 +25,7 @@ class ImageWidget : public QWidget public: ImageWidget(QWidget *parent = nullptr); - void openDirectory(const QString &path); + void openDirectory(const QString &url); void grabGestures(const QList &gestures); protected: