File indexing completed on 2025-01-05 03:59:45
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-10-16 0007 * Description : history updater thread for importui 0008 * 0009 * SPDX-FileCopyrightText: 2009-2011 by Andi Clemens <andi dot clemens at gmail dot com> 0010 * SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #ifndef DIGIKAM_CAMERA_HISTORY_UPDATER_H 0017 #define DIGIKAM_CAMERA_HISTORY_UPDATER_H 0018 0019 // Qt includes 0020 0021 #include <QDateTime> 0022 #include <QMultiMap> 0023 #include <QPair> 0024 #include <QThread> 0025 0026 // Local includes 0027 0028 #include "camiteminfo.h" 0029 0030 class QWidget; 0031 0032 namespace Digikam 0033 { 0034 0035 typedef QMultiMap<QDateTime, CamItemInfo> CHUpdateItemMap; 0036 typedef QPair<QByteArray, CHUpdateItemMap> CHUpdateItem; 0037 0038 class CameraHistoryUpdater : public QThread 0039 { 0040 Q_OBJECT 0041 0042 public: 0043 0044 explicit CameraHistoryUpdater(QWidget* const parent); 0045 ~CameraHistoryUpdater(); 0046 0047 void addItems(const QByteArray& id, CHUpdateItemMap& map); 0048 0049 Q_SIGNALS: 0050 0051 void signalBusy(bool val); 0052 void signalHistoryMap(const CHUpdateItemMap&); 0053 0054 public Q_SLOTS: 0055 0056 void slotCancel(); 0057 0058 protected: 0059 0060 void run(); 0061 0062 private: 0063 0064 void proccessMap(const QByteArray& id, CHUpdateItemMap& map); 0065 void sendBusy(bool val); 0066 0067 private: 0068 0069 class Private; 0070 Private* const d; 0071 }; 0072 0073 } // namespace Digikam 0074 0075 #endif // DIGIKAM_CAMERA_HISTORY_UPDATER_H