File indexing completed on 2024-04-28 17:06:21
0001 /* 0002 SPDX-FileCopyrightText: 2009 Jan Lepper <krusader@users.sourceforge.net> 0003 SPDX-FileCopyrightText: 2009-2022 Krusader Krew <https://krusader.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef KRPREVIEWJOB_H 0009 #define KRPREVIEWJOB_H 0010 0011 // QtCore 0012 #include <QHash> 0013 #include <QTimer> 0014 #include <QVector> 0015 // QtGui 0016 #include <QPixmap> 0017 0018 #include <KIO/PreviewJob> 0019 #include <KIOCore/KFileItem> 0020 0021 class KrViewItem; 0022 class KrPreviews; 0023 0024 class KrPreviewJob : public KJob 0025 { 0026 friend class KrPreviews; 0027 Q_OBJECT 0028 public: 0029 void start() override 0030 { 0031 } 0032 0033 protected slots: 0034 void slotStartJob(); 0035 void slotJobResult(KJob *job); 0036 void slotGotPreview(const KFileItem &item, const QPixmap &preview); 0037 void slotFailed(const KFileItem &item); 0038 0039 protected: 0040 QList<KrViewItem *> _scheduled; 0041 QHash<const KFileItem, KrViewItem *> _hash; 0042 KIO::PreviewJob *_job; 0043 QTimer _timer; 0044 KrPreviews *_parent; 0045 0046 explicit KrPreviewJob(KrPreviews *parent); 0047 ~KrPreviewJob() override; 0048 void scheduleItem(KrViewItem *item); 0049 void removeItem(KrViewItem *item); 0050 0051 void sort(); 0052 bool doKill() override; 0053 }; 0054 0055 #endif // __krpreviewjob__