digiKam
Loading...
Searching...
No Matches
importdragdrop.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 : 2012-09-07
7 * Description : Qt Model for ImportUI - drag and drop handling
8 *
9 * SPDX-FileCopyrightText: 2012 by Islam Wazery <wazery at ubuntu dot com>
10 * SPDX-FileCopyrightText: 2013-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 <QMenu>
21
22// Local includes
23
25#include "importimagemodel.h"
26#include "album.h"
27#include "digikam_export.h"
28
29namespace Digikam
30{
31
32class DIGIKAM_GUI_EXPORT ImportDragDropHandler : public AbstractItemDragDropHandler
33{
34 Q_OBJECT
35
36public:
37
38 explicit ImportDragDropHandler(ImportItemModel* const model);
39
40 ImportItemModel* model() const;
41
42 bool dropEvent(QAbstractItemView* view,
43 const QDropEvent* e,
44 const QModelIndex& droppedOn) override;
45
46 Qt::DropAction accepts(const QDropEvent* e,
47 const QModelIndex& dropIndex) override;
48
49 QStringList mimeTypes() const override;
50 QMimeData* createMimeData(const QList<QModelIndex>&) override;
51
52private:
53
54 enum DropAction
55 {
61 };
62
63private:
64
65 QAction* addGroupAction(QMenu* const menu);
66 QAction* addCancelAction(QMenu* const menu);
67 DropAction copyOrMove(const QDropEvent* e,
68 QWidget* const view,
69 bool allowMove = true,
70 bool askForGrouping = false);
71};
72
73} // namespace Digikam
Definition abstractitemdragdrophandler.h:32
Definition importdragdrop.h:33
Definition importimagemodel.h:33
Definition datefolderview.cpp:34
@ CopyAction
Definition itemdragdrop.cpp:52
@ AssignTagAction
Definition itemdragdrop.cpp:57
@ NoAction
Definition itemdragdrop.cpp:51
@ MoveAction
Definition itemdragdrop.cpp:53
GroupAction
Definition fileactionmngr_p.h:37