digiKam
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  * Copyright (C) 2017-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
12  * Copyright (C) 2019-2020 by Minh Nghia Duong <minhnghiaduong997 at gmail dot com>
13  *
14  * This program is free software; you can redistribute it
15  * and/or modify it under the terms of the GNU General
16  * Public License as published by the Free Software Foundation;
17  * either version 2, or (at your option)
18  * any later version.
19  *
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23  * GNU General Public License for more details.
24  *
25  * ============================================================ */
26 
27 #ifndef DIGIKAM_DMETA_INFO_IFACE_H
28 #define DIGIKAM_DMETA_INFO_IFACE_H
29 
30 // Local includes
31 
32 #include "digikam_export.h"
33 #include "dinfointerface.h"
34 
35 namespace Digikam
36 {
37 
38 class DIGIKAM_EXPORT DMetaInfoIface : public DInfoInterface
39 {
40  Q_OBJECT
41 
42 public:
43 
44  explicit DMetaInfoIface(QObject* const, const QList<QUrl>&);
45  ~DMetaInfoIface() override;
46 
47  Q_SLOT void slotDateTimeForUrl(const QUrl& url,
48  const QDateTime& dt,
49  bool updModDate) override;
50 
51  Q_SLOT void slotMetadataChangedForUrl(const QUrl& url) override;
52 
53  Q_SIGNAL void signalItemChanged(const QUrl& url);
54 
55 public:
56 
57  QList<QUrl> currentSelectedItems() const override;
58  QList<QUrl> currentAlbumItems() const override;
59  QList<QUrl> allAlbumItems() const override;
60  void parseAlbumItemsRecursive() override;
61 
62  DInfoMap itemInfo(const QUrl&) const override;
63  void setItemInfo(const QUrl&, const DInfoMap&) const override;
64 
65  bool supportAlbums() const override;
66 
67  QWidget* uploadWidget(QWidget* const parent) const override;
68  QUrl uploadUrl() const override;
69 
70  QUrl defaultUploadUrl() const override;
71  void deleteImage(const QUrl& url) override;
72 
73  Q_SIGNAL void signalRemoveImageFromAlbum(const QUrl&);
74 
75 #ifdef HAVE_MARBLE
76 
77  QList<GPSItemContainer*> currentGPSItems() const override;
78 
79 #endif
80 
81 private:
82 
83  class Private;
84  Private* const d;
85 };
86 
87 } // namespace Digikam
88 
89 #endif // DIGIKAM_DMETA_INFO_IFACE_H
Definition: dinfointerface.h:56
QMap< QString, QVariant > DInfoMap
Map of properties name and value.
Definition: dinfointerface.h:62
Definition: dmetainfoiface.h:39
Q_SIGNAL void signalRemoveImageFromAlbum(const QUrl &)
Q_SIGNAL void signalItemChanged(const QUrl &url)
Definition: datefolderview.cpp:43