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