File indexing completed on 2024-05-05 04:45:45

0001 // SPDX-License-Identifier: BSD-3-Clause
0002 // SPDX-FileCopyrightText: 2016 The Qt Company Ltd. <https://www.qt.io/licensing/>
0003 // SPDX-FileCopyrightText: 2022 Harald Sitter <sitter@kde.org>
0004 
0005 #pragma once
0006 
0007 #include <QLabel>
0008 
0009 class QMimeData;
0010 
0011 class DropArea : public QLabel
0012 {
0013     Q_OBJECT
0014 
0015 public:
0016     explicit DropArea(QWidget *parent = nullptr);
0017 
0018 public Q_SLOTS:
0019     void clear();
0020 
0021 Q_SIGNALS:
0022     void changed(const QMimeData *mimeData = nullptr);
0023 
0024 protected:
0025     void dragEnterEvent(QDragEnterEvent *event) override;
0026     void dragMoveEvent(QDragMoveEvent *event) override;
0027     void dragLeaveEvent(QDragLeaveEvent *event) override;
0028     void dropEvent(QDropEvent *event) override;
0029 
0030 private:
0031     QLabel *label = nullptr;
0032 };