/* ============================================================
*
* This file is a part of digiKam project
* https://www.digikam.org
*
* Date : 2009-11-21
* Description : Qt Model for Tags - drag and drop handling
*
* SPDX-FileCopyrightText: 2009 by Johannes Wienke <languitar at semipol dot de>
* SPDX-FileCopyrightText: 2013-2025 by Gilles Caulier <caulier dot gilles at gmail dot com>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*
* ============================================================ */
#pragma once
// Local includes
#include "albummodeldragdrophandler.h"
#include "albummodel.h"
namespace Digikam
{
class TagDragDropHandler : public AlbumModelDragDropHandler
{
Q_OBJECT
public:
explicit TagDragDropHandler(TagModel* const model);
TagModel* model() const;<--- Derived function 'TagDragDropHandler::model'
bool dropEvent(QAbstractItemView* view,
const QDropEvent* e,
const QModelIndex& droppedOn) override;
Qt::DropAction accepts(const QDropEvent* e,
const QModelIndex& dropIndex) override;
QStringList mimeTypes() const override;
QMimeData* createMimeData(const QList<Album*>&) override;
Q_SIGNALS:
void assignTags(const QList<qlonglong>& imageIDs, const QList<int>& tagIDs);
};
} // namespace Digikam