File indexing completed on 2024-04-28 04:21:19

0001 // SPDX-FileCopyrightText: 2014-2020 The KPhotoAlbum Development Team
0002 // SPDX-FileCopyrightText: 2022 Johannes Zarl-Zierl <johannes@zarl-zierl.at>
0003 //
0004 // SPDX-License-Identifier: GPL-2.0-or-later
0005 
0006 #ifndef CATEGORIESGROUPSWIDGET_H
0007 #define CATEGORIESGROUPSWIDGET_H
0008 
0009 // Qt includes
0010 #include <QTreeWidget>
0011 
0012 namespace Settings
0013 {
0014 
0015 // Local classes
0016 class TagGroupsPage;
0017 
0018 class CategoriesGroupsWidget : public QTreeWidget
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     explicit CategoriesGroupsWidget(QWidget *parent = nullptr);
0024     ~CategoriesGroupsWidget() override;
0025 
0026 private: // Functions
0027     void mousePressEvent(QMouseEvent *event) override;
0028     void dragMoveEvent(QDragMoveEvent *event) override;
0029     void dropEvent(QDropEvent *event) override;
0030     void updateHighlight(QTreeWidgetItem *target);
0031 
0032 private: // Variables
0033     TagGroupsPage *m_tagGroupsPage = nullptr;
0034     QTreeWidgetItem *m_draggedItem = nullptr;
0035     QString m_draggedItemCategory;
0036     QTreeWidgetItem *m_oldTarget = nullptr;
0037     QBrush m_backgroundNoTarget;
0038     const QBrush m_backgroundHiglightTarget;
0039 };
0040 
0041 }
0042 
0043 #endif // CATEGORIESGROUPSWIDGET_H
0044 
0045 // vi:expandtab:tabstop=4 shiftwidth=4: