File indexing completed on 2024-06-23 05:32:15

0001 /*
0002     SPDX-FileCopyrightText: 2007 Paolo Capriotti <p.capriotti@gmail.com>
0003     SPDX-FileCopyrightText: 2022 Fushan Wen <qydwhotmail@gmail.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include <QObject>
0011 #include <QRunnable>
0012 #include <QSize>
0013 
0014 #include <KPackage/Package>
0015 
0016 /**
0017  * A runnable that finds KPackage wallpapers.
0018  */
0019 class PackageFinder : public QObject, public QRunnable
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     PackageFinder(const QStringList &paths, const QSize &targetSize, QObject *parent = nullptr);
0025 
0026     void run() override;
0027 
0028     static void findPreferredImageInPackage(KPackage::Package &package, const QSize &targetSize);
0029     static QString packageDisplayName(const KPackage::Package &b);
0030 
0031 Q_SIGNALS:
0032     void packageFound(const QList<KPackage::Package> &packages);
0033 
0034 private:
0035     QStringList m_paths;
0036     QSize m_targetSize;
0037 };