File indexing completed on 2025-03-09 03:58:41
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2003-01-23 0007 * Description : A widget to display a list of camera folders. 0008 * 0009 * SPDX-FileCopyrightText: 2003-2005 by Renchi Raju <renchi dot raju at gmail dot com> 0010 * SPDX-FileCopyrightText: 2006-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_FOLDER_VIEW_H 0017 #define DIGIKAM_CAMERA_FOLDER_VIEW_H 0018 0019 // Qt includes 0020 0021 #include <QString> 0022 #include <QPixmap> 0023 #include <QTreeWidget> 0024 #include <QIcon> 0025 0026 namespace Digikam 0027 { 0028 0029 class CameraFolderItem; 0030 0031 class CameraFolderView : public QTreeWidget 0032 { 0033 Q_OBJECT 0034 0035 public: 0036 0037 explicit CameraFolderView(QWidget* const parent); 0038 ~CameraFolderView() override; 0039 0040 void addVirtualFolder(const QString& name, const QIcon &icon = QIcon::fromTheme(QLatin1String("camera-photo"))); 0041 void addRootFolder(const QString& folder, int nbItems = -1, const QIcon& icon = QIcon::fromTheme(QLatin1String("folder"))); 0042 0043 CameraFolderItem* addFolder(const QString& folder, const QString& subFolder, int nbItems, 0044 const QIcon& icon = QIcon::fromTheme(QLatin1String("folder"))); 0045 0046 CameraFolderItem* findFolder(const QString& folderPath); 0047 0048 CameraFolderItem* virtualFolder() const; 0049 CameraFolderItem* rootFolder() const; 0050 0051 virtual void clear(); 0052 0053 Q_SIGNALS: 0054 0055 void signalFolderChanged(CameraFolderItem*); 0056 void signalCleared(); 0057 0058 private Q_SLOTS: 0059 0060 void slotCurrentChanged(QTreeWidgetItem*, int); 0061 0062 private: 0063 0064 class Private; 0065 Private* const d; 0066 }; 0067 0068 } // namespace Digikam 0069 0070 #endif // DIGIKAM_CAMERA_FOLDER_VIEW_H