digiKam
Loading...
Searching...
No Matches
itemdragdrop.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 : 2009-04-16
7 * Description : Qt Model for Items - drag and drop handling
8 *
9 * SPDX-FileCopyrightText: 2009-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 * SPDX-FileCopyrightText: 2002-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QUrl>
21
22// Local includes
23
24#include "iteminfo.h"
26#include "itemalbummodel.h"
27
28namespace Digikam
29{
30
32{
33 Q_OBJECT
34
35public:
36
37 explicit ItemDragDropHandler(ItemModel* const model);
38
39 ItemModel* model() const;
41
47 void setReadOnlyDrop(bool readOnly);
48
49 bool dropEvent(QAbstractItemView* view,
50 const QDropEvent* e,
51 const QModelIndex& droppedOn) override;
52
53 Qt::DropAction accepts(const QDropEvent* e,
54 const QModelIndex& dropIndex) override;
55
56 QStringList mimeTypes() const override;
57 QMimeData* createMimeData(const QList<QModelIndex>&) override;
58
59Q_SIGNALS:
60
61 void itemInfosDropped(const QList<ItemInfo>& infos);
62 void urlsDropped(const QList<QUrl>& urls);
63 void assignTags(const QList<ItemInfo>& list, const QList<int>& tagIDs);
64 void addToGroup(const ItemInfo& pick, const QList<ItemInfo>& infos);
65 void dragDropSort(const ItemInfo& pick, const QList<ItemInfo>& infos);
66
67protected:
68
69 bool m_readOnly = false;
70};
71
72} // namespace Digikam
Definition abstractitemdragdrophandler.h:32
Definition itemalbummodel.h:37
Definition itemdragdrop.h:32
ItemAlbumModel * albumModel() const
Definition itemdragdrop.cpp:269
void assignTags(const QList< ItemInfo > &list, const QList< int > &tagIDs)
bool m_readOnly
Definition itemdragdrop.h:69
void dragDropSort(const ItemInfo &pick, const QList< ItemInfo > &infos)
void setReadOnlyDrop(bool readOnly)
Definition itemdragdrop.cpp:274
QMimeData * createMimeData(const QList< QModelIndex > &) override
Definition itemdragdrop.cpp:872
ItemModel * model() const
Definition itemdragdrop.cpp:264
bool dropEvent(QAbstractItemView *view, const QDropEvent *e, const QModelIndex &droppedOn) override
Definition itemdragdrop.cpp:279
void urlsDropped(const QList< QUrl > &urls)
void itemInfosDropped(const QList< ItemInfo > &infos)
QStringList mimeTypes() const override
Definition itemdragdrop.cpp:859
void addToGroup(const ItemInfo &pick, const QList< ItemInfo > &infos)
Qt::DropAction accepts(const QDropEvent *e, const QModelIndex &dropIndex) override
Definition itemdragdrop.cpp:806
Definition iteminfo.h:68
Definition itemmodel.h:44
Definition datefolderview.cpp:34