digiKam
Loading...
Searching...
No Matches
ddragobjects.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 : 2008-02-29
7 * Description : Drag object info containers.
8 *
9 * SPDX-FileCopyrightText: 2008-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QMimeData>
20#include <QList>
21#include <QStringList>
22#include <QUrl>
23
24// Local includes
25
26#include "cameratype.h"
27
28class QWidget;
29
30namespace Digikam
31{
32
41class DItemDrag : public QMimeData
42{
43 Q_OBJECT
44
45public:
46
47 DItemDrag(const QList<QUrl>& urls,
48 const QList<int>& albumIDs,
49 const QList<qlonglong>& imageIDs);
50
51 static bool canDecode(const QMimeData* e);
52 static QStringList mimeTypes();
53 static bool decode(const QMimeData* e,
54 QList<QUrl>& urls,
55 QList<int>& albumIDs,
56 QList<qlonglong>& imageIDs);
57
58private:
59
60 // Disable
61 explicit DItemDrag(QObject*) = delete;
62};
63
64// ------------------------------------------------------------------------
65
72class DAlbumDrag : public QMimeData
73{
74 Q_OBJECT
75
76public:
77
78 DAlbumDrag(const QUrl& databaseUrl, int albumid, const QUrl& fileUrl = QUrl());
79 static QStringList mimeTypes();
80 static bool canDecode(const QMimeData* e);
81 static bool decode(const QMimeData* e, QList<QUrl>& urls, int& albumID);
82
83private:
84
85 // Disable
86 explicit DAlbumDrag(QObject*) = delete;
87};
88
89// ------------------------------------------------------------------------
90
97class DTagListDrag : public QMimeData
98{
99 Q_OBJECT
100
101public:
102
103 explicit DTagListDrag(const QList<int>& tagIDs);
104 static QStringList mimeTypes();
105 static bool canDecode(const QMimeData* e);
106 static bool decode(const QMimeData* e, QList<int>& tagIDs);
107
108private:
109
110 // Disable
111 explicit DTagListDrag(QObject*) = delete;
112};
113
114// ------------------------------------------------------------------------
115
122class DCameraItemListDrag : public QMimeData
123{
124 Q_OBJECT
125
126public:
127
128 explicit DCameraItemListDrag(const QStringList& cameraItemPaths);
129 static QStringList mimeTypes();
130 static bool canDecode(const QMimeData* e);
131 static bool decode(const QMimeData* e, QStringList& cameraItemPaths);
132
133private:
134
135 // Disable
136 explicit DCameraItemListDrag(QObject*) = delete;
137};
138
139// ------------------------------------------------------------------------
140
147class DCameraDragObject : public QMimeData
148{
149 Q_OBJECT
150
151public:
152
153 explicit DCameraDragObject(const CameraType& ctype);
154 static QStringList mimeTypes();
155 static bool canDecode(const QMimeData* e);
156 static bool decode(const QMimeData* e, CameraType& ctype);
157
158private:
159
160 // Disable
161 explicit DCameraDragObject(QObject*) = delete;
162};
163
164} // namespace Digikam
Definition cameratype.h:31
Definition ddragobjects.h:73
static bool decode(const QMimeData *e, QList< QUrl > &urls, int &albumID)
Definition ddragobjects.cpp:217
static QStringList mimeTypes()
Definition ddragobjects.cpp:191
static bool canDecode(const QMimeData *e)
Definition ddragobjects.cpp:197
Definition ddragobjects.h:148
static bool decode(const QMimeData *e, CameraType &ctype)
Definition ddragobjects.cpp:356
static bool canDecode(const QMimeData *e)
Definition ddragobjects.cpp:351
static QStringList mimeTypes()
Definition ddragobjects.cpp:346
Definition ddragobjects.h:123
static bool decode(const QMimeData *e, QStringList &cameraItemPaths)
Definition ddragobjects.cpp:310
static bool canDecode(const QMimeData *e)
Definition ddragobjects.cpp:305
static QStringList mimeTypes()
Definition ddragobjects.cpp:300
Definition ddragobjects.h:42
static QStringList mimeTypes()
Definition ddragobjects.cpp:94
static bool decode(const QMimeData *e, QList< QUrl > &urls, QList< int > &albumIDs, QList< qlonglong > &imageIDs)
Definition ddragobjects.cpp:119
static bool canDecode(const QMimeData *e)
Definition ddragobjects.cpp:104
Definition ddragobjects.h:98
static QStringList mimeTypes()
Definition ddragobjects.cpp:258
static bool canDecode(const QMimeData *e)
Definition ddragobjects.cpp:263
static bool decode(const QMimeData *e, QList< int > &tagIDs)
Definition ddragobjects.cpp:268
Definition datefolderview.cpp:34