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: