File indexing completed on 2024-04-28 15:39:06

0001 // SPDX-FileCopyrightText: 2020-2022 Tobias Leupold <tl at stonemx dot de>
0002 //
0003 // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004 
0005 #ifndef IMAGEPREVIEW_H
0006 #define IMAGEPREVIEW_H
0007 
0008 // Qt includes
0009 #include <QLabel>
0010 #include <QImage>
0011 
0012 // Qt classes
0013 class QTimer;
0014 
0015 class ImagePreview : public QLabel
0016 {
0017     Q_OBJECT
0018 
0019 public:
0020     explicit ImagePreview(QWidget *parent = nullptr);
0021     void setImage(const QModelIndex &index);
0022 
0023 protected:
0024     void resizeEvent(QResizeEvent *event) override;
0025 
0026 private Q_SLOTS:
0027     void setScaledPreview();
0028 
0029 private: // Variables
0030     QImage m_currentImage;
0031     QTimer *m_smoothTimer;
0032 
0033 };
0034 
0035 #endif // IMAGEPREVIEW_H