digiKam
Loading...
Searching...
No Matches
dmetainfoiface.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2017-05-06
7 * Description : interface to item information for shared tools
8 * based on DMetadata. This interface is used in all cases
9 * where no database is available (aka Showfoto).
10 *
11 * SPDX-FileCopyrightText: 2017-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
12 * SPDX-FileCopyrightText: 2019-2020 by Minh Nghia Duong <minhnghiaduong997 at gmail dot com>
13 *
14 * SPDX-License-Identifier: GPL-2.0-or-later
15 *
16 * ============================================================ */
17
18#pragma once
19
20// Local includes
21
22#include "digikam_export.h"
23#include "dinfointerface.h"
24
25namespace Digikam
26{
27
28class DIGIKAM_EXPORT DMetaInfoIface : public DInfoInterface
29{
30 Q_OBJECT
31
32public:
33
34 explicit DMetaInfoIface(QObject* const parent,
35 const QList<QUrl>& lst,
36 const QUrl& currentActive);
37 ~DMetaInfoIface() override;
38
39 Q_SLOT void slotDateTimeForUrl(const QUrl& url,
40 const QDateTime& dt,
41 bool updModDate) override;
42
43 Q_SLOT void slotMetadataChangedForUrl(const QUrl& url) override;
44
45 Q_SIGNAL void signalItemChanged(const QUrl& url);
46
47public:
48
49 QList<QUrl> currentSelectedItems() const override;
50 QList<QUrl> currentAlbumItems() const override;
51 QUrl currentActiveItem() const override;
52 QList<QUrl> allAlbumItems() const override;
53 void parseAlbumItemsRecursive() override;
54
55 DInfoMap itemInfo(const QUrl&) const override;
56 void setItemInfo(const QUrl&, const DInfoMap&) override;
57
58 bool supportAlbums() const override;
59
60 QWidget* uploadWidget(QWidget* const parent) const override;
61 QUrl uploadUrl() const override;
62
63 QUrl defaultUploadUrl() const override;
64 void deleteImage(const QUrl& url) override;
65
66 Q_SIGNAL void signalRemoveImageFromAlbum(const QUrl&);
67
68#ifdef HAVE_GEOLOCATION
69
70 QList<GPSItemContainer*> currentGPSItems() const override;
71
72#endif
73
74private:
75
76 class Private;
77 Private* const d = nullptr;
78};
79
80} // namespace Digikam
Definition dinfointerface.h:48
QMap< QString, QVariant > DInfoMap
Map of properties name and value.
Definition dinfointerface.h:53
Definition dmetainfoiface.h:29
Q_SIGNAL void signalRemoveImageFromAlbum(const QUrl &)
Q_SIGNAL void signalItemChanged(const QUrl &url)
Definition datefolderview.cpp:34