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

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 "abstractimagelistmodel.h"
0011 
0012 /**
0013  * List images that do not belong to any KPackages.
0014  */
0015 class ImageListModel : public AbstractImageListModel
0016 {
0017     Q_OBJECT
0018 
0019 public:
0020     explicit ImageListModel(const QBindable<QSize> &bindableTargetSize, const QBindable<bool> &bindableUsedInConfig, QObject *parent = nullptr);
0021 
0022     int rowCount(const QModelIndex &parent = QModelIndex()) const override;
0023     QVariant data(const QModelIndex &index, int role) const override;
0024     bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
0025 
0026     int indexOf(const QString &path) const override;
0027 
0028     void load(const QStringList &customPaths = {}) override;
0029 
0030 public Q_SLOTS:
0031     QStringList addBackground(const QString &path) override;
0032     QStringList removeBackground(const QString &path) override;
0033 
0034 protected Q_SLOTS:
0035     void slotHandleImageFound(const QStringList &paths);
0036 
0037 private:
0038     QStringList m_data;
0039 
0040     friend class ImageListModelTest;
0041 };