File indexing completed on 2025-03-09 03:55:01

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam
0004  *
0005  * Date        : 2013-05-18
0006  * Description : Wrapper class for face recognition
0007  *
0008  * SPDX-FileCopyrightText:      2013 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
0009  * SPDX-FileCopyrightText: 2014-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0010  *
0011  * SPDX-License-Identifier: GPL-2.0-or-later
0012  *
0013  * ============================================================ */
0014 
0015 #include "dataproviders.h"
0016 
0017 namespace Digikam
0018 {
0019 
0020 QListImageListProvider::QListImageListProvider()
0021     : it(list.constBegin())
0022 {
0023 }
0024 
0025 QListImageListProvider::~QListImageListProvider()
0026 {
0027     QList<QImage*>::iterator img = list.begin();
0028 
0029     while (img != list.end())
0030     {
0031         delete *img;
0032         img = list.erase(img);
0033     }
0034 }
0035 
0036 int  QListImageListProvider::size()  const
0037 {
0038     return list.size();
0039 }
0040 
0041 bool QListImageListProvider::atEnd() const
0042 {
0043     return (it == list.constEnd());
0044 }
0045 
0046 void QListImageListProvider::proceed(int steps)
0047 {
0048     it += steps;
0049 }
0050 
0051 void QListImageListProvider::reset()
0052 {
0053     it = list.constBegin();
0054 }
0055 
0056 QImage* QListImageListProvider::image()
0057 {
0058     return *it;
0059 }
0060 
0061 QList<QImage*> QListImageListProvider::images()
0062 {
0063     return list;
0064 }
0065 
0066 void QListImageListProvider::setImages(const QList<QImage*>& lst)
0067 {
0068     list = lst;
0069     it   = list.constBegin();
0070 }
0071 
0072 // ----------------------------------------------------------------------------------------
0073 
0074 int  EmptyImageListProvider::size()  const
0075 {
0076     return 0;
0077 }
0078 
0079 bool EmptyImageListProvider::atEnd() const
0080 {
0081     return true;
0082 }
0083 
0084 void EmptyImageListProvider::proceed(int steps)
0085 {
0086     Q_UNUSED(steps)
0087 }
0088 
0089 QImage* EmptyImageListProvider::image()
0090 {
0091     return nullptr;
0092 }
0093 
0094 QList<QImage*> EmptyImageListProvider::images()
0095 {
0096     return QList<QImage*>();
0097 }
0098 
0099 void EmptyImageListProvider::setImages(const QList<QImage*>&)
0100 {
0101 }
0102 
0103 } // namespace Digikam