File indexing completed on 2025-01-05 03:53:48
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2012-01-24 0007 * Description : album parser progress indicator 0008 * 0009 * SPDX-FileCopyrightText: 2012-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * SPDX-FileCopyrightText: 2019-2020 by Minh Nghia Duong <minhnghiaduong997 at gmail dot com> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #ifndef DIGIKAM_ALBUM_PARSER_H 0017 #define DIGIKAM_ALBUM_PARSER_H 0018 0019 // Local includes 0020 0021 #include "iteminfo.h" 0022 #include "progressmanager.h" 0023 0024 namespace Digikam 0025 { 0026 class Album; 0027 0028 class DIGIKAM_GUI_EXPORT AlbumParser : public ProgressItem 0029 { 0030 Q_OBJECT 0031 0032 public: 0033 0034 /** 0035 * Constructor to work on image list 0036 */ 0037 explicit AlbumParser(const ItemInfoList& infoList); 0038 0039 /** 0040 * Constructor to work on recursive mode from album 0041 */ 0042 explicit AlbumParser(Album* const album); 0043 0044 ~AlbumParser() override; 0045 0046 void run(); 0047 0048 Q_SIGNALS: 0049 0050 void signalComplete(const QList<QUrl>&); 0051 0052 private Q_SLOTS: 0053 0054 void slotRun(); 0055 void slotCancel(); 0056 void slotParseItemInfoList(const ItemInfoList& list); 0057 0058 private: 0059 0060 // Disable 0061 AlbumParser(QObject*) = delete; 0062 0063 class Private; 0064 Private* const d; 0065 }; 0066 0067 } // namespace Digikam 0068 0069 #endif // DIGIKAM_ALBUM_PARSER_H