File indexing completed on 2025-02-02 04:11:26

0001 /*
0002  * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best>
0003  *
0004  * SPDX-License-Identifier: GPL-3.0-or-later
0005  */
0006 
0007 #pragma once
0008 
0009 #include <QTreeView>
0010 #include <QMouseEvent>
0011 
0012 namespace glaxnimate::gui {
0013 
0014 /**
0015  * \brief QTreeView but slightly different mouse actions
0016  */
0017 class CustomTreeView : public QTreeView
0018 {
0019 public:
0020     using QTreeView::QTreeView;
0021 
0022 protected:
0023     void mousePressEvent(QMouseEvent * event) override
0024     {
0025         if ( event->button() != Qt::RightButton )
0026             QTreeView::mousePressEvent(event);
0027     }
0028 
0029 
0030     void mouseReleaseEvent(QMouseEvent * event) override
0031     {
0032         if ( event->button() == Qt::RightButton )
0033             Q_EMIT customContextMenuRequested(event->pos());
0034         else
0035             QTreeView::mouseReleaseEvent(event);
0036     }
0037 };
0038 
0039 } // namespace glaxnimate::gui