/* This file is part of the KDE project. SPDX-FileCopyrightText: 2001 Martin R. Jones SPDX-FileCopyrightText: 2001 Carsten Pfeiffer SPDX-FileCopyrightText: 2008 Rafael Fernández López SPDX-License-Identifier: LGPL-2.0-only */ #ifndef KIMAGEFILEPREVIEW_H #define KIMAGEFILEPREVIEW_H #include #include #include #include class KFileItem; class KJob; class KImageFilePreviewPrivate; namespace KIO { class PreviewJob; } /** * @class KImageFilePreview kimagefilepreview.h * * Image preview widget for the file dialog. */ class KIOFILEWIDGETS_EXPORT KImageFilePreview : public KPreviewWidgetBase { Q_OBJECT public: /** * Creates a new image file preview. * * @param parent The parent widget. */ explicit KImageFilePreview(QWidget *parent = nullptr); /** * Destroys the image file preview. */ ~KImageFilePreview() override; /** * Returns the size hint for this widget. */ QSize sizeHint() const override; public Q_SLOTS: /** * Shows a preview for the given @p url. */ void showPreview(const QUrl &url) override; /** * Clears the preview. */ void clearPreview() override; protected Q_SLOTS: void showPreview(); void showPreview(const QUrl &url, bool force); virtual void gotPreview(const KFileItem &, const QPixmap &); protected: void resizeEvent(QResizeEvent *event) override; virtual KIO::PreviewJob *createJob(const QUrl &url, int width, int height); private: std::unique_ptr const d; Q_DISABLE_COPY(KImageFilePreview) }; #endif // KIMAGEFILEPREVIEW_H