File indexing completed on 2025-01-05 03:56:42

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2010-07-12
0007  * Description : tab for displaying item versions
0008  *
0009  * SPDX-FileCopyrightText: 2010-2012 by Martin Klapetek <martin dot klapetek at gmail dot com>
0010  *
0011  * SPDX-License-Identifier: GPL-2.0-or-later
0012  *
0013  * ============================================================ */
0014 
0015 #ifndef DIGIKAM_ITEM_PROPERTIES_VERSIONS_TAB_H
0016 #define DIGIKAM_ITEM_PROPERTIES_VERSIONS_TAB_H
0017 
0018 // Qt includes
0019 
0020 #include <QWidget>
0021 #include <QModelIndex>
0022 #include <QPoint>
0023 #include <QTabWidget>
0024 #include <QUrl>
0025 
0026 // Local includes
0027 
0028 #include "digikam_export.h"
0029 #include "dimagehistory.h"
0030 
0031 class KConfigGroup;
0032 
0033 namespace Digikam
0034 {
0035 
0036 class FiltersHistoryWidget;
0037 class ItemInfo;
0038 class ItemModel;
0039 class VersionsWidget;
0040 
0041 class ItemPropertiesVersionsTab : public QTabWidget
0042 {
0043     Q_OBJECT
0044 
0045 public:
0046 
0047     explicit ItemPropertiesVersionsTab(QWidget* const parent);
0048     ~ItemPropertiesVersionsTab() override;
0049 
0050     void readSettings(KConfigGroup& group);
0051     void writeSettings(KConfigGroup& group);
0052 
0053     void clear();
0054     void setItem(const ItemInfo& info, const DImageHistory& history);
0055 
0056     VersionsWidget* versionsWidget()             const;
0057     FiltersHistoryWidget* filtersHistoryWidget() const;
0058 
0059     void addShowHideOverlay();
0060     void addOpenImageAction();
0061     void addOpenAlbumAction(const ItemModel* referenceModel);
0062 
0063 public Q_SLOTS:
0064 
0065     void setEnabledHistorySteps(int count);
0066 
0067 Q_SIGNALS:
0068 
0069     void imageSelected(const ItemInfo& info);
0070     void actionTriggered(const ItemInfo& info);
0071 
0072 private:
0073 
0074     class Private;
0075     Private* const d;
0076 };
0077 
0078 } // namespace Digikam
0079 
0080 #endif // DIGIKAM_ITEM_PROPERTIES_VERSIONS_TAB_H