File indexing completed on 2024-04-28 15:39:50

0001 // SPDX-FileCopyrightText: 2003-2022 Jesper K. Pedersen <blackie@kde.org>
0002 //
0003 // SPDX-License-Identifier: GPL-2.0-or-later
0004 
0005 #ifndef CATEGORYLISTVIEW_DragableTreeWidget_H
0006 #define CATEGORYLISTVIEW_DragableTreeWidget_H
0007 #include <DB/CategoryPtr.h>
0008 
0009 #include <QTreeWidget>
0010 
0011 namespace CategoryListView
0012 {
0013 class DragableTreeWidget : public QTreeWidget
0014 {
0015     Q_OBJECT
0016 
0017 public:
0018     DragableTreeWidget(const DB::CategoryPtr &category, QWidget *parent);
0019     DB::CategoryPtr category() const;
0020     void emitItemsChanged();
0021 
0022 protected:
0023     QMimeData *mimeData(const QList<QTreeWidgetItem *> items) const override;
0024     QStringList mimeTypes() const override;
0025     bool dropMimeData(QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action) override;
0026     void dragMoveEvent(QDragMoveEvent *event) override;
0027 
0028 Q_SIGNALS:
0029     void itemsChanged();
0030 
0031 private:
0032     const DB::CategoryPtr m_category;
0033 };
0034 
0035 }
0036 
0037 #endif /* CATEGORYLISTVIEW_DragableTreeWidget_H */
0038 // vi:expandtab:tabstop=4 shiftwidth=4: